IP Library Granted Patent US 9,514,523
Granted Patent B2
US 9,514,523 · App. 14/546,633 · Granted Dec 6, 2016

Method and apparatus for filling images captured by array cameras

Inventors: Sung Hee Park (Stanford, CA); Kalpana Seshadrinathan (Santa Clara, CA)
Assignee: Intel Corporation
G06T5/005G06K9/40G06T5/20G06T7/408G06T11/60G06T2207/10012G06T2207/20182
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,514,523
App. No.
14/546,633
Granted
Dec 6, 2016
Kind
B2
Abstract

Image filling utilizing image data captured by an array of cameras having different camera viewpoints. Image data, such as a pixel value or gradient value associated with a spatial point in a source region of an image is transferred to the same or another image to fill a target region. Visual artifacts may be reduced by filling portions of the target region visible from other viewpoints with expanded source patches to reduce the size of the target region to be inpainted. In embodiments, a shifted mask corresponding to the target region is determined for each supplementary image based on an estimate of foreground disparity. In further embodiments, partially occluded regions are detected based on an estimate of background disparity. Source patches may be expanded based on a baseline between camera viewpoints into large coherent regions that agree well with the target region boundary may be filled without hallucinating image data from similar patches.

Claims (66)

1. A computer implemented image processing method comprising:

receiving a plurality of images, each image associated with a different camera viewpoint;

receiving a target region defining a portion of a first of the images that is to be filled with image data;

computing a shifted mask for a remainder of the images, each shifted mask defining a region in one of the remaining images corresponding to the target region;

modifying the first image by filling a destination patch associated with a point in the target region with a source patch determined from an unmasked region in one of the images; and

storing the modified first image to a memory.

2. The method of claim 1 , wherein each shifted mask is computed based on the target region and a foreground disparity estimated for the target region in each image of the remainder.

3. The method of claim 2 , further comprising estimating the foreground disparity in each image of the remainder by determining a translation distance that minimizes a difference, summed over the target region, between data values in the first image and data values of corresponding positions within one of the remaining images.

4. The method of claim 1 , wherein filling the destination patch with the source patch further comprises selecting the source patch from a union of all unmasked regions of the plurality of images.

5. The method of claim 4 , wherein filling the destination patch with the source patch further comprises selecting a portion of the target region that is visible in a second image.

6. The method of claim 5 , further comprising:

determining the portion of the target region that is visible in a second image; and

searching for the source patch in a sub-region of the portion of the target region that is visible, the sub-region comprising a rectangular window centered at the point in the target region translated by a background disparity value estimated for the second image.

7. The method of claim 6 , further comprising estimating the background disparity value by:

determining for the first image a minimum bounding box containing the target region;

determining an intersection of the bounding box and a complement of the target region; and

determining a translation distance that minimizes a difference, summed over the intersection, between data values in the first image and data values of corresponding positions within the second image.

8. The method of claim 5 , further comprising determining the portion of the target region that is visible in a second image by:

determining an intersection of a complement of the target region translated by the foreground disparity value for the second image and the target region translated by the background disparity value for the second image; and

determining spatial positions in the second image corresponding to a translation of the intersection that is equal to, and opposite of, the background disparity value.

9. The method of claim 5 , further comprising expanding the source patch in the direction of the baseline of the camera viewpoint associated with the second image.

10. The method of claim 5 , wherein the second image is selected from a plurality of images in which a portion of the target region is visible to maximize the baseline distance from the camera viewpoint associated with the first image.

11. The method of claim 1 , further comprising determining the point in the target region is occluded from all of the viewpoints; and

wherein the source patch is selected based on a comparison between neighborhood elements of candidate source patches and neighborhood elements of the destination patch in response to determining the point in the target region is occluded from all of the viewpoints.

12. The method of claim 1 , wherein:

the image data comprises pixel values or gradient values; and

the method further comprises upsampling the modified first image and modifying the upsampled first image by filling a destination patch associated with another point in the target region.

13. A computerized image filling apparatus, comprising:

an input port to receive a plurality of images, each image associated with a different camera viewpoint;

one or more-processors to:

receive a target region defining a region to be filled within a first of the images; and

compute a shifted mask for a remainder of the images, each shifted mask defining a region in one of the remaining images corresponding to the target region;

modify the first image by filling a destination patch associated with a point in the target region with a source patch determined from an unmasked region in one of the images; and

a memory to store the modified first image.

14. The apparatus of claim 13 , wherein:

the processors are to compute each shifted mask based on the target region and a foreground disparity estimated for each image in the remainder;

the processors are to estimate the foreground disparity for each image in the remainder by determining a translation distance that minimizes a difference, summed over the target region, between data values in the first image and data values of corresponding positions within one of the remaining images; and

the processors are to select the source patch from a union of all unmasked regions of the plurality of images.

15. The apparatus of claim 13 , wherein the processors are further to:

determine that a portion of the target region is visible in a second image; and

select the source patch from the portion of the target region that is visible in a second image.

16. The apparatus of claim 15 , wherein the processors are further to:

determine, for the second image, an intersection of a complement of the target region translated by the foreground disparity value and the target region translated by the background disparity value; and

determine spatial positions in the second image corresponding to a translation of the intersection that is equal to, and opposite of, the background disparity value.

17. The apparatus of claim 15 , wherein the processors are further to:

search for the source patch in a sub-region of the portion of the target region that is visible in the second image, the sub-region comprising a rectangular window centered at the point in the target region translated by a background disparity value estimated for the second image; and

expand the source patch in the direction of the baseline of the camera viewpoint associated with the second image.

18. The apparatus of claim 15 , further comprising:

a plurality of image sensors to output the plurality of images.

19. One or more non-transitory computer-readable storage media, with instructions stored thereon, which when executed by a processor, cause the processor to perform a method comprising:

receiving a plurality of images, each image associated with a different camera viewpoint;

receiving a target region defining a target region within a first of the images;

computing a shifted mask for a remainder of the images, each shifted mask defining a region in one of the remaining images corresponding to the target region;

modifying the first image by filling a destination patch associated with a point in the target region with a source patch determined from an unmasked region in one of the images; and

storing the modified first image to a memory.

20. The media of claim 19 , further storing instructions thereon, which when executed by a processor, cause the processor to further perform a method comprising:

estimating the foreground disparity for each image in the remainder by determining a translation distance that minimizes a difference, summed over the target region, between data values in the first image and data values of corresponding positions within one of the remaining images.

21. The media of claim 19 , further storing instructions thereon, which when executed by a processor, cause the processor to further perform a method further comprising:

selecting the source patch from a portion of the target region that is visible in a second image.

22. The media of claim 21 , further storing instructions thereon, which when executed by a processor, cause the processor to further perform a method further comprising:

determining the portion of the target region that is visible in a second image; and

searching for the source patch in a sub-region of the portion of the target region that is visible, the sub-region comprising a rectangular window centered at the point in the target region translated by a background disparity value estimated for the second image.

23. The media of claim 22 , further storing instructions thereon, which when executed by a processor, cause the processor to further perform a method comprising:

determining the portion of the target region that is visible in a second image by:

determining, for the second image, an intersection of a complement of the target region translated by the foreground disparity value and the target region translated by the background disparity value; and

determining spatial positions in the second image corresponding to a translation of the intersection that is equal to, and opposite of, the background disparity value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 24, 2014
From: PARK, SUNG HEE; SESHADRINATHAN, KALPANA
To: INTEL CORPORATION
Reel/Frame 034581/0754 →
Continuity (1)
Related Publication 20160140700A1 · May 19, 2016