Systems and methods for measuring depth based upon occlusion patterns in images
First Claim
1. A camera array, comprising:
- a plurality of cameras configured to capture images of a scene from different viewpoints in complementary occlusion zones around a reference viewpoint;
a processor; and
memory containing an image processing application;
wherein the image processing application stored in memory directs the processor to;
separately configure imaging parameters for each of the plurality of cameras;
read out image data from the plurality of cameras including a set of images captured from different viewpoints;
store the image data in the memory;
normalize the set of images to increase the similarity of corresponding pixels within the set of images;
determine initial depth estimates for pixel locations in an image from the reference viewpoint based upon the disparity at which corresponding pixels in the set of images have the highest degree of similarity;
compare the similarity of the corresponding pixels in the set of images to detect mismatched pixels;
when an initial depth estimate does not result in the detection of a mismatch between corresponding pixels in the set of images, selecting the initial depth estimate as the depth estimate for the pixel location in the image from the reference viewpoint; and
when an initial depth estimate results in the detection of a mismatch between corresponding pixels in the set of images, updating the depth estimate for the pixel location in the image from the reference viewpoint by;
determining a set of candidate depth estimates using a plurality of competing subsets of the set of images based upon disparities at which corresponding pixels in each of the plurality of competing subsets of images have the highest degree of similarity, where the competing subsets correspond to patterns of visibility within the scene; and
selecting the candidate depth of the subset having the corresponding pixels with the highest degree of similarity as the updated depth estimate for the pixel location in the image from the reference viewpoint.
13 Assignments
0 Petitions
Accused Products
Abstract
Systems in accordance with embodiments of the invention can perform parallax detection and correction in images captured using array cameras. Due to the different viewpoints of the cameras, parallax results in variations in the position of objects within the captured images of the scene. Methods in accordance with embodiments of the invention provide an accurate account of the pixel disparity due to parallax between the different cameras in the array, so that appropriate scene-dependent geometric shifts can be applied to the pixels of the captured images when performing super-resolution processing. In a number of embodiments, generating depth estimates considers the similarity of pixels in multiple spectral channels. In certain embodiments, generating depth estimates involves generating a confidence map indicating the reliability of depth estimates.
620 Citations
30 Claims
-
1. A camera array, comprising:
-
a plurality of cameras configured to capture images of a scene from different viewpoints in complementary occlusion zones around a reference viewpoint; a processor; and memory containing an image processing application; wherein the image processing application stored in memory directs the processor to; separately configure imaging parameters for each of the plurality of cameras; read out image data from the plurality of cameras including a set of images captured from different viewpoints; store the image data in the memory; normalize the set of images to increase the similarity of corresponding pixels within the set of images; determine initial depth estimates for pixel locations in an image from the reference viewpoint based upon the disparity at which corresponding pixels in the set of images have the highest degree of similarity; compare the similarity of the corresponding pixels in the set of images to detect mismatched pixels; when an initial depth estimate does not result in the detection of a mismatch between corresponding pixels in the set of images, selecting the initial depth estimate as the depth estimate for the pixel location in the image from the reference viewpoint; and when an initial depth estimate results in the detection of a mismatch between corresponding pixels in the set of images, updating the depth estimate for the pixel location in the image from the reference viewpoint by; determining a set of candidate depth estimates using a plurality of competing subsets of the set of images based upon disparities at which corresponding pixels in each of the plurality of competing subsets of images have the highest degree of similarity, where the competing subsets correspond to patterns of visibility within the scene; and selecting the candidate depth of the subset having the corresponding pixels with the highest degree of similarity as the updated depth estimate for the pixel location in the image from the reference viewpoint. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method of estimating distances to objects within a scene from a set of images captured from different viewpoints in complementary occlusion zones around a reference viewpoint using a processor configured by an image processing application, the method comprising:
-
selecting a reference viewpoint relative to the viewpoints of the set of images captured from different viewpoints; normalizing the set of images to increase the similarity of corresponding pixels within the set of images; determining initial depth estimates for pixel locations in an image from the reference viewpoint based upon the disparity at which corresponding pixels in the set of images have the highest degree of similarity; comparing the similarity of the corresponding pixels in the set of images to detect mismatched pixels; when an initial depth estimate does not result in the detection of a mismatch between corresponding pixels in the set of images, selecting the initial depth estimate as the depth estimate for the pixel location in the image from the reference viewpoint; and when an initial depth estimate results in the detection of a mismatch between corresponding pixels in the set of images, updating the depth estimate for the pixel location in the image from the reference viewpoint by; determining a set of candidate depth estimates using a plurality of competing subsets of the set of images based upon disparities at which corresponding pixels in each of the plurality of competing subsets of images have the highest degree of similarity, where the competing subsets correspond to patterns of visibility within the scene; and selecting the candidate depth of the subset having the corresponding pixels with the highest degree of similarity as the updated depth estimate for the pixel location in the image from the reference viewpoint. - View Dependent Claims (21, 22, 23, 24, 25)
-
-
26. A camera array, comprising:
-
an array camera module configured to capture images of a scene from different viewpoints in complementary occlusion zones around a reference viewpoint, the array camera module comprising; an imager array including an array of focal planes, where each focal plane includes a plurality of rows of pixels that also forms a plurality of columns of pixels, and each focal plane is contained within a region of the imager that does not contain pixels from another focal plane; and an optic array including an array of lens stacks, where each lens stack creates an optical channel that forms an image of the scene on an array of pixels within a corresponding focal plane; a processor; and memory containing an image processing application; wherein the image processing application stored in memory directs the processor to; independently control the imaging parameters of the focal planes in the array camera module; read out image data from the array camera module forming a set of image images captured from different viewpoints; store the image data in the memory; normalize the set of images to increase the similarity of corresponding pixels within the set of images; determine initial depth estimates for pixel locations in an image from the reference viewpoint based upon the disparity at which corresponding pixels in the set of images have the highest degree of similarity; compare the similarity of the corresponding pixels in the set of images to detect mismatched pixels; when an initial depth estimate does not result in the detection of a mismatch between corresponding pixels in the set of images, selecting the initial depth estimate as the depth estimate for the pixel location in the image from the reference viewpoint; and when an initial depth estimate results in the detection of a mismatch between corresponding pixels in the set of images, updating the depth estimate for the pixel location in the image from the reference viewpoint by; determining a set of candidate depth estimates using a plurality of competing subsets of the set of images based upon disparities at which corresponding pixels in each of the plurality of competing subsets of images have the highest degree of similarity, where the competing subsets correspond to patterns of visibility within the scene; and selecting the candidate depth of the subset having the corresponding pixels with the highest degree of similarity as the updated depth estimate for the pixel location in the image from the reference viewpoint; and record in at least one visibility map that the pixel location in the image from the reference viewpoint is visible in each image in the subset of images used to determine the updated depth estimate for the pixel location. - View Dependent Claims (27, 28, 29, 30)
-
Specification