# US 10,455,218 B2 · Systems and methods for estimating depth using stereo array cameras

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,455,218 B2
- Document ID: US10455218B2
- Status: Granted
- Kind: B2
- Application number: 15/791,242
- Filed: 2017-10-23
- Published: 2018-02-15
- Granted: 2019-10-22
- Earliest claimed: 2013-03-15
- Assignees: FotoNation Limited
- Applicants: FotoNation Limited
- Inventors: Kartik Venkataraman; Paul Gallagher; Ankit Jain; Semyon Nisenzon
- Web page: https://patentgrep.com/patent/US10455218B2

## CPC

- H04N 13/243: using three or more two-dimensional [2D] image sensors
- G01P 3/38: using photographic means
- G06T 7/285: using a sequence of stereo image pairs
- G06T 7/55: from multiple images
- G06T 7/557: from light fields, e.g. from plenoptic cameras
- G06T 7/579: from motion
- G06T 7/593: from stereo images
- G06T 2207/10012: Stereo images
- G06T 2207/10021: Stereoscopic video; Stereoscopic image sequence
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G01P: MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT (measuring or recording blood flow A61B5/02, A61B8/06; monitoring speed or deceleration of electrically-propelled vehicles B60L3/00; vehicle lighting systems adapted to indicate speed B60Q1/54; determining position or course in navigation, measuring ground distance in geodesy or surveying G01C; combined measuring devices for measuring two or more variables of movement G01C23/00; measuring velocity of sound G01H; measuring velocity of light G01J7/00; measuring direction or velocity of solid objects by reception or emission of radiowaves or other waves and based on propagation effects, e.g. Doppler effect, propagation time, direction of propagation, G01S; measuring speed of nuclear radiation G01T; measuring acceleration of gravity G01V; {measuring or recording the speed of trains B61L23/00; speed indicators incorporated in motor vehicles B60K35/00; measuring frequency or phase G01R; traffic control G08G})
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

Systems and methods for stereo imaging with camera arrays in accordance with embodiments of the invention are disclosed. In one embodiment, a method of generating depth information for an object using two or more array cameras that each include a plurality of imagers includes obtaining a first set of image data captured from a first set of viewpoints, identifying an object in the first set of image data, determining a first depth measurement, determining whether the first depth measurement is above a threshold, and when the depth is above the threshold: obtaining a second set of image data of the same scene from a second set of viewpoints located known distances from one viewpoint in the first set of viewpoints, identifying the object in the second set of image data, and determining a second depth measurement using the first set of image data and the second set of image data.

## Claims

### Claim 1

An array camera, comprising:
a first array camera comprising a plurality of cameras that capture images of a scene from different viewpoints;
a second array camera comprising a plurality of cameras that capture images of a scene from different viewpoints, where the second array camera captures at least one image of a scene from a different viewpoint to the viewpoints of the cameras in the first array camera;
a processor; and
memory in communication with the processor;
wherein software directs the processor to:
obtain a first set of image data from the first array camera comprising image data of a scene captured from a first set of different viewpoints;
obtain a second set of image data from the second array camera comprising image data of the same scene from a viewpoint different from the first set of viewpoints;
identifying an object of interest in the first and second sets of image data; and
determining a depth measurement for the object of interest using at least a portion of the first set of image data; and
determining whether the depth measurement for the object of interest using at least a portion of the first set of image data corresponds to an observed disparity below a threshold; and
when the depth measurement corresponds to an observed disparity below the threshold, refining the depth measurement using at least a portion of the second set of image data.

### Claim 2 (depends on 1)

The array camera of claim 1, wherein the first array camera and the second array camera are set farther apart than the cameras in the first array camera.

### Claim 3 (depends on 2)

The array camera of claim 2, wherein the first array camera and the second array camera are located a fixed baseline distance apart.

### Claim 4 (depends on 1)

The array camera of claim 1, wherein the first and second array cameras have the same number of cameras, and include cameras having the same resolution.

### Claim 5 (depends on 4)

The array camera of claim 4, wherein the cameras in the first and second array cameras have the same arrangement of color filters.

### Claim 6 (depends on 1)

The array camera of claim 1, wherein the baseline distance between the first array camera and the second array camera is variable.

### Claim 7 (depends on 1)

The array camera of claim 1, wherein:
the first array camera and the second array camera further comprise internal sensors including gyroscopes and accelerometers; and
software further directs the processor to estimate the baseline distance between the first array camera and the second array camera from extrinsics determined from matching features in the image data captured by the first array camera and the second array camera in combination with information from the gyroscopes and accelerometers.

### Claim 8 (depends on 1)

The array camera of claim 1, wherein the first array camera forms an M×N array of cameras.

### Claim 9 (depends on 1)

The array camera of claim 1, wherein software further directs the processor to:
select a reference viewpoint relative to the viewpoints of the first array camera and the second array camera;
determine depth estimates for pixel locations in an image from the reference viewpoint using the first set of image data obtained from the first array camera, wherein generating a depth estimate for a given pixel location in the image from the reference viewpoint comprises:
identifying pixels in the first set of image data obtained from the first array camera that correspond to the given pixel location in the image from the reference viewpoint based upon expected disparity at a plurality of depths;
comparing the similarity of the corresponding pixels identified at each of the plurality of depths; and
selecting the depth from the plurality of depths at which the identified corresponding pixels have the highest degree of similarity as a depth estimate for the given pixel location in the image from the reference viewpoint;
determine whether a depth estimate for pixel locations in the image from the reference viewpoint determined using the first set of image data obtained from the first array camera corresponds to an observed disparity below a predetermined threshold; and
when the depth estimate corresponds to an observed disparity below the predetermined threshold, refining the depth estimate using the second set of image data obtained from the second array camera.

### Claim 10 (depends on 9)

The array camera of claim 9, wherein software further directs the processor to refine a depth estimate using the second set of image data obtained from the second array camera by:
identifying pixels in the first set of image data obtained from the first array camera and the second set of image data obtain from the second array camera that correspond to the given pixel location in the image from the reference viewpoint based upon expected disparity at a plurality of depths;
comparing the similarity of the corresponding pixels identified at each of the plurality of depths; and
selecting the depth from the plurality of depths at which the identified corresponding pixels have the highest degree of similarity as a depth estimate for the given pixel location in the image from the reference viewpoint.

### Claim 11 (depends on 10)

The array camera of claim 10, wherein software further directs the processor to refine a depth estimate using the second set of image data obtained from the second array camera by selecting the plurality of depths based upon the depth estimate initially determined using the first set of image data obtained from the first array camera.

### Claim 12 (depends on 1)

The array camera of claim 1, wherein software further directs the processor to generate a depth map using the depth estimates for pixel locations in an image from the reference viewpoint, where the depth map indicates distances of surfaces of scene objects from the reference viewpoint.

### Claim 13 (depends on 12)

The array camera of claim 12, wherein software further directs the processor to generate a depth map by identifying pixels in an image captured by the second array camera corresponding to pixels for which depth estimates were determined using the first set of image data obtained from the first array camera and applying depth estimates determined using the first set of image data obtained from the first array camera to the corresponding pixels.

### Claim 14 (depends on 1)

The array camera of claim 1, wherein software further configures the processor to synthesize an image with a resolution that is higher than the resolution of images captured from the first array camera using the first set of image data obtained from the first array camera and the second set of image data obtained from the second array camera using the depth map.

### Claim 15 (depends on 1)

The array camera of claim 1, wherein the cameras in the first array camera and the second array camera are cameras that image portions of the spectral band selected from the group consisting of red, blue, green, infrared, and extended color.

### Claim 16 (depends on 1)

The array camera of claim 1, wherein the cameras in the first array camera form a π filter group.

### Claim 17 (depends on 16)

The array camera of claim 16, wherein:
the cameras in the second array camera form a π filter group.
