IP Library Granted Patent US 9,792,667
Granted Patent B2
US 9,792,667 · App. 15/345,002 · Granted Oct 17, 2017

Target-less auto-alignment of image sensors in a multi-camera system

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,792,667
App. No.
15/345,002
Granted
Oct 17, 2017
Kind
B2
Abstract

A pair of cameras having an overlapping field of view is aligned based on images captured by image sensors of the pair of cameras. A pixel shift is identified between the images. Based on the identified pixel shift, a calibration is applied to one or both of the pair of cameras. To determine the pixel shift, the camera applies correlation methods including edge matching. Calibrating the pair of cameras may include adjusting a read window on an image sensor. The pixel shift can also be used to determine a time lag, which can be used to synchronize subsequent image captures.

Claims (59)

1. A computer-implemented method for determining a pixel shift between an image pair captured by image sensors, the method comprising:

accessing a first image and a second image of the image pair captured at a substantially same time, the images comprising image data representative of an overlapping field of view between the image sensors;

performing a smoothing operation on the first image and the second image to produce smoothed image data;

determining edge magnitude of the smooth image data based on derivatives along at least a row and a column of pixel luma components in the smoothed image data;

determining edge phase of the smoothed image data based on an inverse tangent of the derivatives of the pixel luma components;

identifying, by one or more processors, one or more edges in the image data based, at least in part, on the edge magnitude and the edge phase of the smoothed image data;

matching the identified one or more edges in the image data corresponding to the first image to the identified one or more edges in the image data corresponding to the second image; and

determining a pixel shift between the image pair based, at least in part, on the matching of edges.

2. The method of claim 1 , wherein identifying the one or more edges in the image data comprises:

identifying a first set of smoothed image data having determined edge magnitude greater than an edge magnitude threshold;

identifying a second set of smoothed image data having determined edge phase within a threshold of a target edge phase value; and

identifying the one or more edges from image data in both the first set of smoothed image data and the second set of smoothed image data.

3. The method of claim 2 , wherein the identified one or more edges are substantially perpendicular to a rolling shutter direction of the image sensors, and the target edge phase value corresponds to the rolling shutter direction.

4. The method of claim 1 , wherein matching the identified one or more edges in the image data corresponding to the first image to the identified one or more edges in the image data corresponding to the second image comprises:

determining edge lengths for the identified one or more edges; and

matching the one or more edges based, at least in part, on the determined edge magnitude of the one or more edges and the determined edge lengths.

5. The method of claim 1 , wherein the image sensors have a rolling shutter direction, the method further comprising:

before determining the edge magnitude and determining the edge phase, compressing the first and second images perpendicular to the rolling shutter direction without compressing the first and second images along the rolling shutter direction.

6. The method of claim 1 , wherein the first image and the second image are downsampled before the smoothing operation is performed.

7. The method of claim 1 , further comprising cropping the first and second images by removing image data corresponding to outer borders of the first and second images prior to determining the edge magnitude and determining the edge phase.

8. The method of claim 1 , further comprising calibrating the image sensors using the determined pixel shift.

9. A non-transitory computer readable medium comprising instructions for determining a pixel shift between an image pair captured by image sensors, the instructions executable by a processor, the instructions comprising instructions for:

accessing a first image and a second image of the image pair captured at a substantially same time, the images comprising image data representative of an overlapping field of view between the image sensors;

performing a smoothing operation on the first image and the second image to produce smoothed image data;

determining edge magnitude of the image data based on derivatives along at least a row and a column of pixel luma components in the smoothed image data;

determining edge phase of the smoothed image data based on an inverse tangent of the derivatives of the pixel luma components;

identifying, by one or more processors, one or more edges in the image data based, at least in part, on the edge magnitude and the edge phase of the smoothed image data;

matching the identified one or more edges in the image data corresponding to the first image to the identified one or more edges in the image data corresponding to the second image; and

determining a pixel shift between the image pair based, at least in part, on the matching of edges.

10. The computer-readable medium of claim 9 , wherein identifying the one or more edges in the image data comprises:

identifying a first set of smoothed image data having determined edge magnitude greater than an edge magnitude threshold;

identifying a second set of smoothed image data having determined edge phase within a threshold of a target edge phase value; and

identifying the one or more edges from image data in both the first set of smoothed image data and the second set of smoothed image data.

11. The computer-readable medium of claim 10 , wherein the identified one or more edges are substantially perpendicular to a rolling shutter direction of the image sensors, and the target edge phase value corresponds to the rolling shutter direction.

12. The computer-readable medium of claim 9 , wherein matching the identified one or more edges in the image data corresponding to the first image to the identified one or more edges in the image data corresponding to the second image comprises:

determining edge lengths for the identified one or more edges; and

matching the one or more edges based, at least in part, on the determined edge magnitude of the one or more edges and the determined edge lengths.

13. The computer-readable medium of claim 9 , wherein the image sensors have a rolling shutter direction, wherein the instructions further comprise instructions for:

before determining the edge magnitude and determining the edge phase, compressing the first and second images perpendicular to the rolling shutter direction without compressing the first and second images along the rolling shutter direction.

14. The computer-readable medium of claim 9 , wherein the instructions further comprise instructions for calibrating the image sensors using the determined pixel shift.

15. A camera system comprising at least one processor, an image sensor, and a non-transitory computer readable medium comprising instructions for determining a pixel shift between an image pair captured by image sensors including the image sensor, the instructions executable by the at least one processor, the instructions comprising instructions for:

accessing a first image and a second image of the image pair captured at a substantially same time, the images comprising image data representative of an overlapping field of view between the image sensors;

performing a smoothing operation on the first image and the second image to produce smoothed image data;

determining edge magnitude of the image data based on derivatives along at least a row and a column of pixel luma components in the smoothed image data;

determining edge phase of the smoothed image data based on an inverse tangent of the derivatives of the pixel luma components;

identifying, by one or more processors, one or more edges in the image data based, at least in part, on the edge magnitude and the edge phase of the smoothed image data;

matching the identified one or more edges in the image data corresponding to the first image to the identified one or more edges in the image data corresponding to the second image; and

determining a pixel shift between the image pair based, at least in part, on the matching of edges.

16. The camera system of claim 15 , wherein identifying the one or more edges in the image data comprises:

identifying a first set of smoothed image data having determined edge magnitude greater than an edge magnitude threshold;

identifying a second set of smoothed image data having determined edge phase within a threshold of a target edge phase value; and

identifying the one or more edges from image data in both the first set of smoothed image data and the second set of smoothed image data.

17. The camera system of claim 16 , wherein the identified one or more edges are substantially perpendicular to a rolling shutter direction of the image sensors, and the target edge phase value corresponds to the rolling shutter direction.

18. The camera system of claim 15 , wherein matching the identified one or more edges in the image data corresponding to the first image to the identified one or more edges in the image data corresponding to the second image comprises:

determining edge lengths for the identified one or more edges; and

matching the one or more edges based, at least in part, on the determined edge magnitude of the one or more edges and the determined edge lengths.

19. The camera system of claim 15 , wherein the image sensors have a rolling shutter direction, wherein the instructions further comprise instructions for:

before determining the edge magnitude and determining the edge phase, compressing the first and second images perpendicular to the rolling shutter direction without compressing the first and second images along the rolling shutter direction.

20. The camera system of claim 15 , wherein the instructions further comprise instructions for calibrating the image sensors using the determined pixel shift.

Assignments (5)
RELEASE OF PATENT SECURITY INTEREST Recorded Jan 25, 2021
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: GOPRO, INC.
Reel/Frame 055106/0434 →
SECURITY INTEREST Recorded Feb 9, 2018
From: GOPRO, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 044983/0718 →
SECURITY INTEREST Recorded Feb 22, 2017
From: GOPRO, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 041777/0440 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2017
From: SUN, YAJIE; MACMILLAN, TIMOTHY; MARTIN, ELIZABETH TORRES; CHAWLA, SUMIT
To: GOPRO, INC.
Reel/Frame 040867/0488 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2017
From: EDWARDS, ELIZABETH TORRES
To: GOPRO, INC.
Reel/Frame 040867/0491 →