The present technology is generally related to capturing and rendering light fields for head-mounted displays. In particular, several embodiments are directed to light-field capture systems such as an array of cameras and an associated head-mounted display for providing enhanced mediated-reality visualization.
Traditional loupes (e.g., surgical loupes) suffer from a number of drawbacks. For example, traditional loupes are customized for each individual, based on the user's corrective vision requirements and interpupillary distance, and so cannot be shared among users. Traditional loupes are also restricted to a single level of magnification, forcing the user to adapt all of her actions to that level of magnification, or to frequently look “outside” the loupes at odd angles to perform actions where magnification is unhelpful or even detrimental. Traditional loupes provide a sharp image only within a very shallow depth of field, while also offering a relatively narrow field of view. Blind spots are another problem, due to the bulky construction of traditional surgical loupes.
One solution involves streaming raw video obtained from two cameras to a head-mounted display (HMD). However, because image capture and image display are inextricably coupled, there are certain limitations in the image data that can be displayed via the HMD. Accordingly, there is a need for improved systems and methods for capturing and rendering stereoscopic image data to a user via a head-mounted display.
The present technology is directed to systems and methods for capturing and rendering light fields for enhanced mediated-reality visualization. In one embodiment, for example, a light-field capture device that is spaced apart from a user obtains image data that is then processed and presented to a user stereoscopically via a head-mounted display. As used herein, the term “mediated-reality” refers to the ability to add to, subtract from, or otherwise manipulate the perception of reality through the use of a wearable display. “Mediated reality” display includes at least “virtual reality” as well as “augmented reality” type displays.
Use of relative directional language like top, bottom, front, rear, upper, lower, up, down, upright, upwards, downwards, and others are relative and are not restricted to absolute directions or orientations defined with respect to the surface of the earth.
Specific details of several embodiments of the present technology are described below with reference to
For ease of reference, throughout this disclosure identical reference numbers are used to identify similar or analogous components or features, but the use of the same reference number does not imply that the parts should be construed to be identical. Indeed, in many examples described herein, the identically numbered parts are distinct in structure and/or function.
Selected Embodiments of Mediated-Reality Visualization Systems
As described in more detail below, information collected by the imaging assembly 100 can be displayed in a head mounted display assembly 200 (
The individual imaging devices 101 can be, for example, digital video cameras such as CCD or CMOS image sensor and associated optics. The imaging devices 101 are mounted to a frame 103 and arranged in a semispherical array with the imaging devices 101 directed towards and focused on a common point. However, in other embodiments the imaging devices 101 can be arranged in different configurations, for example a flat array in which the devices do not converge toward a focal point, or even diverge from one another.
The plurality of light sources 105 are disposed around the frame 103 and configured to illuminate the field of view of the imaging assembly 100. The light sources 105 can be, for example, LEDs, fluorescent lamps, or any other suitable illumination source. As described in more detail below, the light sources 105 can be used for photometric geometry estimation and specularity analysis.
The projector 107 can also be attached to the frame 103 and configured to project an image into the field of view of the imaging assembly 100. In one embodiment, the projector 107 is a standard commercially available projector with resolution of 1280×800. In other embodiments, the projector 107 can be any suitable device capable of projecting an image into the field of view of the imaging assembly 100 with a desired resolution. As described in more detail below, the projector 107 can be used to acquire scene geometry information. In some embodiments, the projector 107 can be replaced with one or more light sources and mask optics configured to project fixed texture patterns, which may cost less than the fully dynamic patterns provided by the projector 107.
Although 10 imaging devices 101 are shown, the number of devices used can vary widely. In some embodiments, a single plenoptic camera can be used in place of the array of imaging devices 101. For example, the imaging assembly 100 can include a single image sensor with a lenslet array between the image sensor and the main lens. This lenslet array allows capture of light fields, from which images with different focus planes and different viewpoints (parallax) can be computed. Using light field parallax adjustment techniques, differences in image point of view between the various cameras can be compensated away, so that as the zoom level changes, the point of view does not. The imaging devices 101 can be connected over USB3 or other such connector format to support the high bandwidth data they produce. In one particular embodiment, each imaging device 101 is configured to capture images at 964×964 pixels, at up to 30 frames per second.
As described in more detail below, light-field data captured from the imaging assembly 100 can be rendered to a user stereoscopically, for example via a head-mounted display. In some embodiments, the data captured from the imaging assembly 100 is used to render two “virtual cameras,” one positioned at each eye of the user. These virtual cameras can be positioned according to the user's pose based on tracking of the head-mounted display assembly, so that from the user's perspective, she is not wearing a display device at all.
The array of imaging devices 101 allows capture of light-field data such that the imaging assembly 100 can function as a plenoptic camera. Capturing light field data via the imaging assembly 100 and processing the captured light fields is expected to provide several benefits over streaming of direct video or image capture via conventional cameras. For example, light-field rendering enables visual effects that are impossible with physical cameras, such as multiple focal planes (even nonplanar focal surfaces), synthetic apertures, and “seeing through” partial obscuration. And while not impossible for physical cameras, light-field rendering effortlessly enables other useful effects, such as apparently shrinking or growing the user by simultaneously changing the virtual inter-pupillary distance and the distance of the virtual cameras from a scene, which takes advantage of the scale ambiguity in projective geometry. It is through the dynamic scale changes that zoom functionality can be implemented. However, instead of just magnifying an image, the effect can be as though the user is actually shrinking (or the world is growing bigger) with the ability to look around the same scene, but at a closer vantage point.
In the illustrated embodiment, the frame 203 is formed generally similar to standard eyewear, with orbitals joined by a bridge and temple arms extending rearwardly to engage a wearer's ears. In other embodiments, however, the frame 203 can assume other forms; for example, a strap can replace the temple arms or, in some embodiments, a partial helmet can be used to mount the display assembly 200 to a wearer's head.
The frame 203 includes a right-eye portion 204a and a left-eye portion 204b. When worn by a user, the right-eye portion 204a is configured to generally be positioned over a user's right eye, while the left-eye portion 204b is configured to generally be positioned over a user's left eye. The display assembly 200 can generally be opaque, such that a user wearing the display assembly 200 will be unable to see through the frame 203. In other embodiments, however, the display assembly 200 can be transparent or semitransparent, so that a user can see through the frame 203 while wearing the display assembly 200. The display assembly 200 can be configured to be worn over a user's standard eyeglasses. The display assembly 200 can include tempered glass or other sufficiently sturdy material to meet OSHA regulations for eye protection in the surgical operating room, for example.
The display assembly 200 can include first and second control electronics 215a-b, respectively. The control electronics 215a-b can be configured to provide wired or wireless communication over a network with other components, such as the imaging assembly 100, as described in more detail below with respect to
A fiducial marker 217 can be disposed over the forward surface 205 of the frame 203. The fiducial marker 217 can be used for motion tracking of the display assembly 200. In some embodiments, for example, the fiducial marker 217 can be one or more infrared light sources that are detected by an infrared-light camera system. In other embodiments, the fiducial marker 217 can be a magnetic or electromagnetic probe, a reflective element, or any other component that can be used to track the position of the display assembly 200 in space. The fiducial marker 217 can include or be coupled to an internal compass and/or accelerometer for tracking movement and orientation of the display assembly 200.
On the rearward surface 207 of the frame 203, a display device 209 is disposed and faces rearwardly. As best seen in
The first and second displays 219a-b can be electrically coupled to the first and second control electronics 215a-b, respectively. The control electronics 215a-b can be configured to provide input to and to control operation of the displays 219a-b. The control electronics 215a-b can be configured to provide a display input to the displays 219a-b, for example, processed image data that has been obtained from the imaging assembly 100. For example, in one embodiment image data from the imaging assembly 100 is communicated to the first display 219a via the first control electronics 215a, and similarly, image data from the imaging assembly 100 is communicated to the second display 219b via the second control electronics 215b. Depending on the position and configuration of the imaging assembly 100 and the displays 219a-b, the user can be presented with a stereoscopic image that mimics the perspective that the user would see without wearing the display assembly 200. In some embodiments, the image data obtained from the imaging assembly 100 can be processed, for example, digitally zoomed, so that the user is presented with a zoomed view via the displays 219a-b.
First and second eye trackers 221a-b are disposed over the rearward surface of the frame 203, adjacent to the first and second displays 219a-b. The first eye tracker 221a can be positioned within the right-eye portion 204a of the frame 203, and can be oriented and configured to track the movement of a user's right eye while a user wears the display assembly 200. Similarly, the second eye tracker 221b can be positioned within the left-eye portion 204b of the frame 203, and can be oriented and configured to track the movement of a user's left eye while a user wears the display assembly 200. The first and second eye trackers 221a-b can be configured to determine movement of a user's eyes and can communicate electronically with the control electronics 215a-b. In some embodiments, the user's eye movement can be used to provide input control to the control electronics 215a-b. For example, a visual menu can be overlaid over a portion of the image displayed to the user via the displays 219a-b. A user can indicate selection of an item from the menu by focusing her eyes on that item. Eye trackers 221a-b can determine the item that the user is focusing on, and can provide this indication of item selection to the control electronics 215a-b. For example, this feature allows a user to control the level of zoom applied to particular images. In some embodiments, a microphone or physical button(s) can be present on the display assembly 200, and can receive user input either via spoken commands or physical contact with buttons. In other embodiments other forms of input can be used, such as gesture recognition via the imaging assembly 100, assistant control, etc.
The technology described herein may be applied to endoscope systems. For example, rather than mounting the multiple cameras (with different field or view/magnification combinations) on the imaging assembly 100, the multiple cameras may be mounted on the tip of the endoscopic instrument. Alternatively, a single main lens plus a lenslet array may be mounted on the tip of the endoscopic instrument. Then light field rendering techniques such as refocusing, rendering stereo images from two different perspectives, or zooming may be applied. In such cases, the collected images may be displayed through the wearable head-mounted display assembly 200.
A computing component 307 includes a plurality of modules for interacting with the other components via communication link 301. The computing component 307 includes, for example, a display module 309, a motion tracking module 311, a registration module 313, and an image capture module 315. In some embodiments, the computing component 307 can include a processor such as a CPU which can perform operations in accordance with computer-executable instructions stored on a computer-readable medium. In some embodiments, the display module, motion tracking module, registration module, and image capture module may each be implemented in separate computing devices, each having a processor configured to perform operations. In some embodiments, two or more of these modules can be contained in a single computing device. The computing component 307 is also in communication with a database 317.
The display module 309 can be configured to provide display output information to the display assembly 200 for presentation to the user via the display device 209. As noted above, this can include stereoscopic display, in which different images are provided to each eye via first and second display devices 219a-b (
The motion tracking module 311 can be configured to determine the position and orientation of the display assembly 200 and the imaging assembly 100 as well as any additional imagers 305, with respect to the surgical site. As noted above, the tracker 303 can track the position of the display assembly 200, the imaging assembly 100, and any additional imagers 305 optically or via other techniques. This position and orientation data can be used to provide appropriate display output via display module 309.
The registration module 313 can be configured to register all image data in the surgical frame. For example, position and orientation data for the display assembly 200, the plenoptic imaging assembly 100, and any additional imagers 305 can be received from the motion tracking module 311. Additional image data, for example, pre-operative images, can be received from the database 317 or from another source. The additional image data (e.g., X-ray, MRI, CT, fluoroscopy, anatomical diagrams, etc.) will typically not have been recorded from the perspective of either the display assembly 200, the imaging assembly 100, or of any of the additional imagers 305. As a result, the supplemental image data must be processed and manipulated to be presented to the user via display device 209 of the display assembly 200 with the appropriate perspective. The registration module 313 can register the supplemental image data in the surgical frame of reference by comparing anatomical or artificial fiducial markers as detected in the pre-operative images and those same anatomical or artificial fiducial markers as detected by the surgical navigation system, the display assembly 200, the imaging assembly 100, or other additional imagers 305.
The image capture module 315 can be configured to capture image data from the imaging assembly 100 and also from any additional imagers 305. The images captured can include continuous streaming video and/or still images. In some embodiments, one or more of the additional imagers 305 can be plenoptic cameras, in which case the image capture module 315 can be configured to receive the light field data and to process the data to render particular images.
While the surgeon 401 is operating, images captured via the imaging assembly 100 are processed and displayed stereoscopically to the surgeon via an integrated display device 209 (
The imaging assembly 100 and/or display assembly 200 may respond to voice commands or even track the surgeon's eyes—thus enabling the surgeon 401 to switch between feeds and tweak the level of magnification being employed. A heads-up display with the patient's vital signs (EKG, EEG, SSEPs, MEPs), imaging (CT, MRI, etc.), and any other information the surgeon desires may scroll at the surgeon's request, eliminating the need to interrupt the flow of the operation to assess external monitors or query the anesthesia team. Wireless networking may infuse the imaging assembly 100 and/or the display assembly 200 with the ability to communicate with processors (e.g., the computing component 307) that can augment the visual work environment for the surgeon with everything from simple tools like autofocus to fluorescence video angiography and tumor “paint.” The imaging assembly 100 and display assembly 200 can replace the need for expensive surgical microscopes and even the remote robotic workstations of the near future—presenting an economical alternative to the current system of “bespoke” glass loupes used in conjunction with microscopes and endoscopes.
The head-mounted display assembly 200 can aggregate multiple streams of visual information and send it not just to the surgeon for visualization, but to remote processing power (e.g., the computing component 307 (
In some embodiments, the data recorded from the imaging assembly 100 and other imagers can be used to later generate different viewpoints and visualizations of the surgical site. For example, for later playback of the recorded data, an image having a different magnification, different integration of additional image data, and/or a different point of view can be generated. This can be particularly useful for review of the procedure or for training purposes.
In some embodiments, the position of external tools can be tracked for input. For example, the tip of a scalpel or other surgical tool can be tracked (e.g., using the tracker 303), and the enlarged volume can be located at the tip of the scalpel or other surgical tool. In some embodiments, the surgical tool can include haptic feedback or physical controls for the system or other surgical systems. In situations in which surgical tools are controlled electronically or electromechanically (e.g., during telesurgery where the tools are controlled with a surgical robot), the controls for those tools can be modified depending on the visualization mode. For example, when the tool is disposed inside the physical volume to be visually transformed (e.g., enlarged), the controls for the tool can be modified to compensate for the visual scaling, rotation, etc. This allows for the controls to remain the same inside the visually transformed view and the surrounding view. This modification of the tool control can aid surgeons during remote operation to better control the tools even as visualization of the tools and the surgical site are modified.
Information from additional cameras in the environment located close to points of interest can be fused with images from the imagers coupled to the head-mounted display, thereby improving the ability to enlarge regions of interest. Depth information can be generated or gained from a depth sensor and used to bring the entirety of the scene into focus by co-locating the focal plane with the physical geometry of the scene. As with other mediated reality, data can be rendered and visualized in the environment. The use of light-field capture and rendering can allow for viewing around occlusions and can remove specular reflections. In some embodiments, processing of light fields can also be used to increase the contrast between tissue types.
Although the example illustrated in
For each imaging device 101 in the array of the imaging assembly 100, the following intrinsic parameters may be estimated:
(f), the focal length of the lens, expressed in pixels;
(cx), the x-offset of the lens focal center from the image center, and
(cy), the y-offset of the lens focal center from the image center.
A set of parameters for correcting lens distortion effects can also be estimated. Lens distortion causes straight lines in the world, which perspective projection projects as straight lines in an image, to appear curved, for example, the fish-eye effect.
When combined with camera pose, the above parameters provide sufficient information for a pinhole camera model with lens distortion. The pinhole model can be used to project points in the world onto pixels on the camera's image sensor, and likewise to project image pixels as rays in the world. Noise in the input images and a non-linear optimization criteria may mean that multiple images are required to achieve acceptable calibration accuracy. For digital cameras, image noise can come from several sources:
Sensor noise: The camera sensor itself adds random offsets from the “true” value due to thermal and quantum effects (smearing, blooming, diffusion, transfer efficiency, dynamic range).
Quantization: The fact that a continuous signal is being quantized both in space and in value prevent exact localization of image features.
Optical: Optical effects such as imperfect focus, as well as chromatic aberration confound precisely identifying features in the image on a per-pixel level.
After obtaining the calibration parameters for each imaging device 101 in the imaging assembly 100, the poses can be estimated with respect to each other, where pose includes both location and rotation information with respect to a reference coordinate frame. Accurate pose information can then be used for geometry acquisition and light-field rendering, as described in more detail below. Pose information and imaging device calibration can be particularly useful for light-field rendering because the renderer assumes having precise spatial coordinates and directions for each ray of light captured by the imaging devices 101 in the array. If a device's calibration and pose estimates are off by even a pixel, then the final image may incorporate image from adjacent spatial regions, leading to a blurring effect. Accordingly, accurate calibration and post information can be beneficial in achieving a sharp image.
In some embodiments, a known fiducial marker can be imaged by the imaging assembly 100 and used to estimate the pose of each imaging device. For example the ArUco library can be used for detection of square fiducial markers, as implemented in OpenCV. When detecting a marker of known physical size, and given accurate device calibration parameters, ArUco will provide the pose of the device with respect to the fiducial marker. Again, due to sensor noise in the imaging devices, there may a degree of uncertainty in the computed pose. In some embodiments, a known array of fiducial markers can be used to increase the accuracy of the pose estimation. The noise in the computed pose can be further reduced by averaging over several separate pose estimates, for example using nonlinear pose estimation.
Once the pose and device calibration parameters have been estimated, the routine 500 continues in block 505 with acquiring scene geometry information. As mentioned, light-field rendering using a sparse imaging device array benefits from a reasonably good estimate of the scene geometry. In some embodiments, the scene geometry can be estimated using a structured light technique, for example one based on a version of the 3DUNDERWORLD-SLS method as implemented in OpenCV. The basic principle of geometry reconstruction using stereo imaging device pairs is triangulation. Assuming the imaging devices are calibrated and their poses are known with respect to sonic coordinate system, then for each pixel in an image, a ray can be projected into the world, starting at the center of the imaging device and passing through that pixel. If the same world point is seen by both imaging devices, and the corresponding pixels that point is imaged by are known, then it is a simple matter to find the intersection of the rays to locate the point in the world.
Complications implementing such triangulation arise in the real world. A first problem involves deter wining which pixel in imaging device B represents the same world point as a particular pixel in imaging device A. A second problem is due to uncertainty from sensor noise and quantization effects. Even with sub-pixel accuracy, sensor noise may prevents perfect mapping between pixels of different imaging devices. As such, the projected rays from point correspondences may not actually intersect.
Structured light solves the correspondence problem by projecting a known pattern in to the scene. For example, the projector 107 integrated into the imaging assembly 100 can be used to project a known pattern into the field of view of the imaging devices 101. In one embodiment, the projected light forms a 1-dimensional binary gray code, first in the horizontal, then vertical directions. Thus, each imaging device image pixel can be uniquely associated with a source pixel of the projector 107. In some embodiments, this routine includes collecting a number of images corresponding to 2 log2(projector resolution)+2 images for geometry capture, for example 44 images in the case of a projector with a 128×800 resolution.
Structured light correspondence may still not achieve perfect geometry capture. Since the resolution of each imaging device 101 can be higher than the effective imaged resolution of the projector 107, each projector pixel fills up multiple pixels of each imaging device 101. For the (re)projection steps described below, the average sub-pixel coordinate in the image captured by the imaging device 101 can be used. There may, however, be regions of missing information that are in full view of all imaging devices 101 and the projector 107 if the scene geometry is be oblique or reflective enough that insufficient light reaches the imaging devices 101 for decoding.
The close-but-not-intersecting problem can be solved by finding that point which is closest to all projected rays with respect to the sum of squared distances. In some embodiments, light-field rendering requires a continuous mesh without holes, while the output of the structured light system is a point cloud with missing information. In such embodiments, the missing information can be filled in as follows. Because triangulation can only be performed for world points that are seen by more than one imaging device 101 and are illuminated by the projector 107, each imaging device 101 captures a “shadow” from regions of non-convex geometry that are obscured from it. One way to fill in the blanks is to rotate the imaging devices 101 and projector 107 relative to the scene, however, this lengthens the capture time and requires an extra point cloud registration step. Alternatively, another imaging device 101 can be placed in such a way as to virtually “illuminate” the virtual shadows (and providing redundant information otherwise), leaving only the true shadow. Likewise, a second projector can provide information in the true shadow area. By using multiple imaging devices 101 in the array (e.g, using 10 imaging devices 101), the imaging assembly 100 captures redundant information across several viewing angles, leaving only any real shadow cast by the projector 107.
To create a dense mesh from the point cloud, the routine can perform the following steps:
1. Calibrate the projector: The decoded gray code directly associates each world point with a projector pixel. That correlation is used to estimate a rough calibration of the projector's intrinsics in the same way as calibrating an imaging device.
2. Create a sparse depth map: Project the point cloud onto a plane using calibration parameters from step 1, as though the projector were a camera viewing the point cloud.
3. Create a dense depth map: There will be holes in the projection due to slight misalignment between the calibration estimate and ground truth, as well as on regions that were not properly decoded. These holes can be filled by simply interpolating from nearby regions that have good data. While imperfect, this technique can be sufficient for light-field rendering applications. Although there may still be regions with missing data, there will be a connected component of dense depth information.
4. Create the mesh: Each valid pixel from the dense depth map is a vertex in the mesh. The calibration parameters from step 1 can be used to project the pixels out to obtain vertex coordinates. Faces can be defined as triangles from the vertices of adjacent pixels.
Once the scene geometry information is captured as a mesh, the routine 500 continues in block 507, in which the head-mounted display assembly 200 is queried for position and virtual camera parameters. As noted above, the location of the head-mounted display assembly 200 can be tracked via tracker 303. First and second eye trackers 221a-b can be used to determine the inter-pupillary distance (IPD) of a user and the virtual cameras can be positioned accordingly. In block 509, a stereoscopic view from the virtual cameras are rendered via the head-mounted display assembly 200. The view from the virtual cameras can use a weighted blend of the imaging devices 101 of the imaging assembly 100, as described in more detail below.
Consider a single pixel pv on the imaging plane of Cv. Ignoring lens distortion, a ray rv can he projected into the world from the virtual camera Cv's pinhole that passes through pixel pv. The first object along rv is what would be imaged by the pixel pv, were the virtual camera Cv real. Assuming something to be imaged (e.g., a point on a surface) exists at a point ω along the ray rv, then any real cameras (e.g., camera C1 or C2) can be queried if they had point ω in their field of view for their pixel value pi. For example, pixel p1 of real camera C1 images point ω along ray r1, and pixel p2 of real camera C2 also images point ω along ray r2. The set of all points ω for each virtual pixel form a focal surface, which is a height map from the perspective of Cv.
If N real cameras image point w, then a scheme is needed to assign a value for a virtual pixel pv that images point ω based on the data collected from the N real cameras. In some embodiments, the routine can use a weighted blend of the pixel values pis where the weight for a given pixel pi is a function of the angular distance between the virtual ray rv and the ray of the corresponding real camera ri, and the angular distance between the surface normal at point ω and virtual ray rv. The focal surface for the virtual camera Cv can be assumed to be closely coincident with the scene geometry acquired previously in block 505. Weights can then be assigned based on sensitivity analysis. In one embodiment, the sensitivity analysis can include the following steps:
1. For a virtual pixel pv, find the intersection of its ray rv with the focal surface at point ω, which lies on a locally approximated plane P (each pixel is treated separately, with its own focal plane).
2. For each real camera Ci, back project point ω along corresponding ray ri to real pixel pi.
3. Perturb the focal surface along its normal by an amount μ which represents uncertainty in the estimate of where the real geometry is located.
4. Find the intersection ω′i of ri with P+δμ.
5. Project ω′i into Cv at sub-pixel location p′vi.
6. Let di=∥pv−p′vi∥2 be the sensitivity disparity for Ci.
7. Choose li=vf1(di) as the weight for pi for some function f1(d) and normalizing factor v so the weights sum to 1.
Repeat steps 1-7 for each virtual pixel pv. In the example shown in
The function f1(d) can be similar to a radial basis function and can be chosen such that the normalized weights rapidly fall off and overwhelmingly prefer the ray with the lowest disparity. For example, a radial Hermite spline with a long constant tail can be used, with clamp weights for rays behind the surface to 0. The long tail ensures that there will be at least some rendered data, even when the best real ray has a very large angular distance to the virtual ray. Where the spline ends and the tail begins, the confidence threshold is a tunable parameter that can be set to accommodate different camera geometries—denser arrays afford lower confidence thresholds. In some embodiments, select regions of the rendered image can be artificially darkened where the sum of all weights is below a threshold to visually indicate a high level of uncertainty, while still providing the best guess at what the virtual camera should see.
This method for calculating the weights is an approximation to a probabilistic treatment of the light paths in the scene. This can assign high weight to those pixels pi that have a good chance of actually being projected to pv given the expected uncertainty. Pixels aren't single points, but instead integrate incoming light over a finite area. A more complete model can account for projecting each pixel's solid angle into the scene with some distribution over where it integrates light. The weights would reflect these projected probability distributions. In some embodiments, the approximation can be used for computational convenience.
The routine ends in block 511. The process outlined in blocks 503-509 can be repeated. Blocks 503 and 505 can be performed independently and in parallel at different frame rates as compared with blocks 507 and 509, due to the decoupling between light field capture and image display.
In some embodiments, specularity can be evaluated and subtracted using light-field rendering techniques. Specularities are the bright spots of directly reflected light that appear on shiny objects. If no accommodation is made for specularity, then when the virtual camera moves around, specularities captured by the real cameras will appear to fade in and out according to the pixel weights, rather than track across the surface as expected. To simulate authentic specular response, it is beneficial to determine: 1) the diffuse (matte) color properties of the surface, 2) the surface geometry, and 3) location of lights in the scene. As noted above, the surface geometry can be calculated as described with respect to block 505. Also, the imaging assembly 100 can be equipped with light sources 105 that are positioned at known locations with respect to the imaging devices 101. As such, the remaining property to be determined is the diffuse (matte) color properties of the surface. In some embodiments, these properties can be determined by modulating the on-off values of the light sources 105 with mutually orthogonal binary codes across a series of exposures, similar to the approach taken in code division multiple access schemes. The orthogonality of the codes allows a post processing step to separate the contribution of each light source 105, as well as of the ambient light, producing a stack (e.g., a stack of nine images in the case of an assembly with 8 fight sources), each with only one light source activated (8 light sources in addition to the ambient conditions)
By examining the distribution of intensities on a per-pixel basis, the median values can be assigned as the diffuse value—the brightest value represents the likely presence of a specular highlight, and the darkest value represents the condition when that pixel is in shadow. By averaging over the median intensity values, the resulting image can remove nearly all the specular highlights. The variance in intensity for a pixel gives a good indication for how shiny the surface seen by that pixel is. Combined with estimated geometry and surface normals, this information allows simulation of moving specular highlights as the virtual camera position is moved with respect to the imaged surface.
1. A mediated-reality visualization system, comprising:
2. The mediated-reality visualization system of example 1 wherein the imaging assembly comprises at least 8 imaging devices.
3. The mediated-reality visualization system of example 1 or 2 wherein the imaging assembly comprises a plenoptic camera.
4. The mediated-reality visualization system of any one of examples 1-3 wherein the imaging assembly is coupled to an articulated arm positionable over a working site.
5. The mediated-reality visualization system of any one of examples 1-4 wherein the first and second virtual cameras are rendered at positions corresponding to eye positions of a user of the head-mounted display assembly.
6. The mediated-reality visualization system of any one of examples 1-4 wherein the virtual cameras are rendered at positions different from the eye positions of a user of the head-mounted display assembly.
7. The mediated-reality visualization system any one of examples 1-6 wherein the image from the first virtual camera and the image from the second virtual camera each comprises a non-planar focal surface.
8. The mediated-reality visualization system of example 7 wherein focal surface corresponds to an estimated surface geometry of an imaged scene.
9. The mediated-reality visualization system of any one of examples 1-8 wherein the computing device is further configured to:
10. The mediated-reality visualization system of example 9 wherein the auxiliary image data comprises at least one of: fluorescence image data, magnetic resonance imaging data, computed tomography image data, X-ray image data, anatomical diagram data, and vital-signs data.
11. The mediated-reality visualization system of any one of examples 1-10 wherein the computing device is further configured to present the real-time stereoscopic image to a second head-mounted display assembly.
12. The mediated-reality visualization system of example any one of examples 1-11 wherein the imaging assembly further comprises:
13. A mediated-reality visualization system, comprising:
14. The mediated-reality visualization system of example 13, wherein the imaging assembly comprises at least one of: a plenoptic camera or at least eight cameras.
15. The mediated-reality visualization system of example 13 or 14 wherein the computing device is configured to render the at least one virtual camera at a location corresponding to a position of a user's eye when the frame is worn by the user.
16. The mediated-reality visualization system of any one of examples 13-15 wherein the computing device is configured to present the image in real time.
17. The mediated-reality visualization system of any one of examples 13-16 wherein the computing device is configured to render the at least one virtual camera by rendering an enlarged view of a portion of a captured light field.
18. A method for providing mediated-reality visualization, the method comprising:
19. The method of example 18, further comprising:
20. The method of example 18 or 19 wherein rendering the at least one virtual camera comprises rendering the at least one virtual camera at a location corresponding to a position of an eye of a user when the display is mounted to the user's head.
21. The method of any one of examples 18-20, further comprising:
22. The method of any one of examples 18-21 wherein rendering the at least one virtual camera comprises rendering an enlarged view of a portion of a captured light field.
The above detailed descriptions of embodiments of the technology are not intended to be exhaustive or to limit the technology to the precise form disclosed above. Although specific embodiments of, and examples for, the technology are described above for illustrative purposes, various equivalent modifications are possible within the scope of the technology, as those skilled in the relevant art will recognize. For example, while steps are presented in a given order, alternative embodiments may perform steps in a different order. The various embodiments described herein may also be combined to provide further embodiments.
From the foregoing, it will be appreciated that specific embodiments of the invention have been described herein for purposes of illustration, but well-known structures and functions have not been shown or described in detail to avoid unnecessarily obscuring the description of the embodiments of the technology. Where the context permits, singular or plural terms may also include the plural or singular term, respectively.
Moreover, unless the word “or” is expressly limited to mean only a single item exclusive from the other items in reference to a list of two or more items, then the use of “or” in such a list is to be interpreted as including (a) any single item in the list, (b) all of the items in the list, or (c) any combination of the items in the list. Additionally, the term “comprising” is used throughout to mean including at least the recited feature(s) such that any greater number of the same feature and/or additional types of other features are not precluded. It will also be appreciated that specific embodiments have been described herein for purposes of illustration, but that various modifications may be made without deviating from the technology. Further, while advantages associated with certain embodiments of the technology have been described in the context of those embodiments, other embodiments may also exhibit such advantages, and not all embodiments need necessarily exhibit such advantages to fall within the scope of the technology. Accordingly, the disclosure and associated technology can encompass other embodiments not expressly shown or described herein.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2016/063676 | 11/24/2016 | WO |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2018/097831 | 5/31/2018 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
4383170 | Takagi et al. | May 1983 | A |
4694185 | Weiss | Sep 1987 | A |
5757423 | Tanaka et al. | May 1998 | A |
5999840 | Grimson et al. | Dec 1999 | A |
6483535 | Tamburrino et al. | Nov 2002 | B1 |
6491702 | Heilbrun et al. | Dec 2002 | B2 |
6577342 | Wester | Jun 2003 | B1 |
6675040 | Cosman | Jan 2004 | B1 |
6985765 | Morita et al. | Jan 2006 | B2 |
8010177 | Csavoy et al. | Aug 2011 | B2 |
8041089 | Drumm et al. | Oct 2011 | B2 |
8295909 | Goldbach | Oct 2012 | B2 |
8384912 | Charny et al. | Feb 2013 | B2 |
8548563 | Simon et al. | Oct 2013 | B2 |
8657809 | Schoepp | Feb 2014 | B2 |
8885177 | Ben-Yishai et al. | Nov 2014 | B2 |
8933935 | Yang et al. | Jan 2015 | B2 |
9119670 | Yang et al. | Sep 2015 | B2 |
9220570 | Kim et al. | Dec 2015 | B2 |
9323325 | Perez | Apr 2016 | B2 |
9462164 | Venkataraman et al. | Oct 2016 | B2 |
9513113 | Yang et al. | Dec 2016 | B2 |
9618621 | Barak et al. | Apr 2017 | B2 |
9629523 | Tesar | Apr 2017 | B2 |
9916691 | Takano et al. | Mar 2018 | B2 |
9918066 | Schneider et al. | Mar 2018 | B2 |
9967475 | Schneider et al. | May 2018 | B2 |
10074177 | Piron et al. | Sep 2018 | B2 |
10089737 | Krieger et al. | Oct 2018 | B2 |
10165981 | Schoepp | Jan 2019 | B2 |
10166078 | Sela et al. | Jan 2019 | B2 |
10166079 | Mclachlin et al. | Jan 2019 | B2 |
10194131 | Casas | Jan 2019 | B2 |
10244991 | Shademan et al. | Apr 2019 | B2 |
10345582 | Schneider et al. | Jul 2019 | B2 |
10353219 | Hannaford | Jul 2019 | B1 |
10390887 | Bischoff et al. | Aug 2019 | B2 |
10398514 | Ryan et al. | Sep 2019 | B2 |
10424118 | Hannemann et al. | Sep 2019 | B2 |
10426345 | Shekhar et al. | Oct 2019 | B2 |
10426554 | Siewerdsen et al. | Oct 2019 | B2 |
10433916 | Schneider et al. | Oct 2019 | B2 |
10455218 | Venkataraman et al. | Oct 2019 | B2 |
10546423 | Jones et al. | Jan 2020 | B2 |
10575906 | Wu | Mar 2020 | B2 |
10653495 | Gregerson et al. | May 2020 | B2 |
10657664 | Yu | May 2020 | B2 |
10667868 | Malackowski | Jun 2020 | B2 |
10682188 | Leung et al. | Jun 2020 | B2 |
10792110 | Leung et al. | Oct 2020 | B2 |
10799315 | Leung et al. | Oct 2020 | B2 |
10799316 | Sela et al. | Oct 2020 | B2 |
10810799 | Tepper et al. | Oct 2020 | B2 |
10828114 | Abhari et al. | Nov 2020 | B2 |
10832408 | Srimohanarajah et al. | Nov 2020 | B2 |
10918444 | Stopp et al. | Feb 2021 | B2 |
10925465 | Tully et al. | Feb 2021 | B2 |
10973581 | Mariampillai et al. | Apr 2021 | B2 |
11179218 | Calef et al. | Nov 2021 | B2 |
20010048732 | Wilson | Dec 2001 | A1 |
20020065461 | Cosman | May 2002 | A1 |
20020075201 | Sauer | Jun 2002 | A1 |
20030210812 | Khamene et al. | Nov 2003 | A1 |
20030227470 | Gene | Dec 2003 | A1 |
20040169673 | Crampe et al. | Sep 2004 | A1 |
20050070789 | Aferzon | Mar 2005 | A1 |
20070121423 | Rioux | May 2007 | A1 |
20080004533 | Jansen | Jan 2008 | A1 |
20090303321 | Olson | Dec 2009 | A1 |
20100076306 | Daigneault et al. | Mar 2010 | A1 |
20100099981 | Fishel | Apr 2010 | A1 |
20100295924 | Miyatani | Nov 2010 | A1 |
20100329358 | Zhang et al. | Dec 2010 | A1 |
20110098553 | Robbins et al. | Apr 2011 | A1 |
20110115886 | Nguyen et al. | May 2011 | A1 |
20120050562 | Perwass | Mar 2012 | A1 |
20120068913 | Bar-Zeev | Mar 2012 | A1 |
20130002827 | Lee et al. | Jan 2013 | A1 |
20130050432 | Perez | Feb 2013 | A1 |
20130058591 | Nishiyama et al. | Mar 2013 | A1 |
20130222369 | Huston | Aug 2013 | A1 |
20130274596 | Azizian et al. | Oct 2013 | A1 |
20130307855 | Lamb | Nov 2013 | A1 |
20140005485 | Tesar | Jan 2014 | A1 |
20140092281 | Nisenzon et al. | Apr 2014 | A1 |
20140192187 | Atwell | Jul 2014 | A1 |
20140375772 | Gabara | Dec 2014 | A1 |
20150173846 | Schneider et al. | Jun 2015 | A1 |
20160073080 | Wagner et al. | Mar 2016 | A1 |
20160191887 | Casas | Jun 2016 | A1 |
20160225192 | Jones et al. | Aug 2016 | A1 |
20160253809 | Cole | Sep 2016 | A1 |
20170068081 | Hirayama | Mar 2017 | A1 |
20170099479 | Browd | Apr 2017 | A1 |
20170167702 | Mariampillai et al. | Jun 2017 | A1 |
20170202626 | Kula et al. | Jul 2017 | A1 |
20170296293 | Mak et al. | Oct 2017 | A1 |
20170344121 | Blanco | Nov 2017 | A1 |
20180018827 | Stafford | Jan 2018 | A1 |
20180078316 | Schaewe et al. | Mar 2018 | A1 |
20180082482 | Motta | Mar 2018 | A1 |
20190038362 | Nash et al. | Feb 2019 | A1 |
20190080519 | Osman | Mar 2019 | A1 |
20190183584 | Schneider et al. | Jun 2019 | A1 |
20190209080 | Gullotti et al. | Jul 2019 | A1 |
20190260930 | Van Hoff | Aug 2019 | A1 |
20190282307 | Azizian et al. | Sep 2019 | A1 |
20190290366 | Pettersson et al. | Sep 2019 | A1 |
20190328465 | Li et al. | Oct 2019 | A1 |
20190336222 | Schneider et al. | Nov 2019 | A1 |
20190350658 | Yang et al. | Nov 2019 | A1 |
20200170718 | Peine | Jun 2020 | A1 |
20200197100 | Leung et al. | Jun 2020 | A1 |
20200197102 | Shekhar et al. | Jun 2020 | A1 |
20200242755 | Schneider et al. | Jul 2020 | A1 |
20200297427 | Cameron et al. | Sep 2020 | A1 |
20200352651 | Junio et al. | Nov 2020 | A1 |
20200405433 | Sela et al. | Dec 2020 | A1 |
20210038340 | Itkowitz et al. | Feb 2021 | A1 |
20210045618 | Stricko et al. | Feb 2021 | A1 |
20210045813 | Wickham et al. | Feb 2021 | A1 |
20210077195 | Saeidi et al. | Mar 2021 | A1 |
20210145517 | Pierrepont et al. | May 2021 | A1 |
20210186355 | Ben-yishai et al. | Jun 2021 | A1 |
20210192763 | Liu et al. | Jun 2021 | A1 |
20210196385 | Shelton et al. | Jul 2021 | A1 |
20210382559 | Segev et al. | Dec 2021 | A1 |
20220012954 | Buharin | Jan 2022 | A1 |
20220020160 | Buharin | Jan 2022 | A1 |
Number | Date | Country |
---|---|---|
1672626 | Sep 2005 | CN |
101742347 | Jun 2010 | CN |
104918572 | Sep 2015 | CN |
1504713 | Jul 2008 | EP |
1924197 | Oct 2017 | EP |
2852326 | Dec 2018 | EP |
3102141 | Aug 2019 | EP |
3076892 | Oct 2019 | EP |
2903551 | Nov 2021 | EP |
262619 | May 2020 | IL |
2007-528631 | Oct 2007 | JP |
2011-248723 | Dec 2011 | JP |
2015-524202 | Aug 2015 | JP |
2005081547 | Sep 2005 | WO |
2007115825 | Oct 2007 | WO |
2008130354 | Oct 2008 | WO |
2008130355 | Oct 2008 | WO |
2010067267 | Jun 2010 | WO |
2013180748 | Dec 2013 | WO |
2014037953 | Mar 2014 | WO |
2015084462 | Jun 2015 | WO |
2015151447 | Oct 2015 | WO |
2015179446 | Nov 2015 | WO |
2016044934 | Mar 2016 | WO |
2017042171 | Mar 2017 | WO |
2020018931 | Jan 2020 | WO |
2020163316 | Aug 2020 | WO |
2021003401 | Jan 2021 | WO |
Entry |
---|
US 9,492,073 B2, 11/2016, Tesar et al. (withdrawn) |
International Search Report and Written Opinion dated Feb. 2, 2017 in International Application No. PCT/US16/63676, 9 pages. |
Boyd, S., and L. Vandenberghe, “Convex Optimization,” Cambridge University Press, 2004, 730 pages. |
Curless, B., and S. Seitz, “Charge-Coupled Devices,” University Lecture in Course CSE 558 3D Photography, 2001, <http://courses.cs.washington.edu/courses/cse558/01sp/lectures/ccd.pdf> [retrieved Nov. 13, 2019], 8 pages. |
Eade, E., “Lie Groups for 2D and 3D Transformations,” 2013, updated May 20, 2017, <www.ethaneade.com> [retrieved Nov. 13, 2019], 25 pages. |
Geng, J., “Structured-Light 3D Surface Imaging: A Tutorial,” Advances in Optics and Photonics 3:128-160, Jun. 2011. |
Gortler, S.J., et al., “The Lumigraph,” Proceedings of the 23rd Annual Conference on Computer Graphics and Interactive Techniques (ACM 1996), pp. 43-54. |
Herakleous, K., and C. Poullis, “3DUNDERWORLD-SLS: An Open-Source Structured-Light Scanning System for Rapid Geometry Acquisition,” arXiv preprint arXiv:1406.6595v1 (2014), Jun. 26, 2014, 28 pages. |
Kang, X., et al., Stereoscopic Augmented Reality for Laparoscopic Surgery, Surgical Endoscopy 28:2227-2235, 2014. |
Levoy, M., and P. Hanrahan, “Light Field Rendering,” Proceedings of the 23rd Annual Conference on Computer Graphics and Interactive Techniques (ACM 1996), pp. 31-42. |
Mezzana, P., et al., “Augmented Reality in Oculoplastic Surgery: First iPhone Application,” Plastic and Reconstructive Surgery, Mar. 2011, pp. 57e-58e. |
“OpenCV 4.1.1,” Open Source Computer Vision, Jul. 26, 2019, <http://opencv.org/> [retrieved Nov. 13, 2019], 3 pages. |
“Point Closest to a Set Four of Lines in 3D,” posting in Mathematics Stack Exchange, May 2, 2011, <https://math.stackexchange.com/questions/36398/point-closest-to-a-set-four-of-lines-in-3d/55286#55286> [retrieved Aug. 15, 2019], 3 pages. |
Prince, S.J.D., “Computer Vision: Models, Learning and Inference,” prepublication copy, Jul. 7, 2012, to be published by Cambridge University Press, 2012, 667 pages. |
Road To VR, <http://www.roadtovr.com/wp-content/uploads/2016/ 01/htc-vive-pre-system.jpg> [retrieved Nov. 13, 2019], 14 pages. |
Suenaga, H., et al., “Real-time in situ three-dimensional integral videography and surgical navigation using augmented reality: a pilot study,” International Journal of Oral Science 5:98-102,2013. |
User1551, “Point closest to a set four of lines in 3D,” posting in Mathematics Stack Exchange, Apr. 25, 2016, <https://math.stackexchange.com/users/1551/user1551> [retrieved Aug. 15, 2019], 2 pages. |
Youngquist, J., “Qualifying Project Presentation: eLoupes, Cool Augmented Reality for Surgery,” abstract for exam, May 20, 2016, 1 page. |
Extended European Search Report dated May 29, 2020, issued in corresponding Application EP 16922208 0, filed Nov. 24, 2016, 12 pages. |
Lüke, J.P., et al., “Near Real-Time Estimation of Super-Resolved Depth and All-in-Focus Images From a Plenoptic Camera Using Graphics Processing Units,” International Journal of Digital Multimedia Broadcasting 2010:1-12, Jan. 2010. |
Office Action dated Dec. 1, 2020, issued in corresponding Chinese Application No. 201680091992.0, filed Nov. 24, 2016, 17 pages. |
Japanese Office Action dated Dec. 22, 2020, issued in corresponding Japanese Application No. 2019-528032, filed Nov. 24, 2016, 12 pages. |
Examination Report dated Dec. 23, 2022 in corresponding European Patent Application No. 16922208.0, filed Nov. 24, 2016, 4 pages. |
Number | Date | Country | |
---|---|---|---|
20190289284 A1 | Sep 2019 | US |