IP Library Granted Patent US 10,055,816
Granted Patent B2
US 10,055,816 · App. 15/711,951 · Granted Aug 21, 2018

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

Inventors: Yajie Sun (Mountain View, CA); Timothy Macmillan (La Honda, CA); Elizabeth Torres Edwards (San Jose, CA); Sumit Chawla (San Carlos, CA)
Assignee: GoPro, Inc.
G06T3/4038G06K9/4604G06K9/52G06K9/6201G06T5/002G06T7/13G06T7/337G06T7/80G06T7/85H04N5/2329H04N5/23229H04N5/349H04N5/374H04N13/0239H04N13/0246H04N13/0271H04N13/0296H04N13/239H04N13/246H04N13/271H04N13/296H04N17/002H04N2013/0081
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 10,055,816
App. No.
15/711,951
Granted
Aug 21, 2018
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 (45)

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, the first and second 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 data and edge phase data from the smoothed image data;

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

determining a pixel shift between the image pair by matching a first edge in the first image with a second edge in the second image using determined edge lengths for the identified one or more 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 the image sensors have a rolling shutter direction, the method further comprising:

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

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

6. 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 data and the edge phase data.

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

8. 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, the first and second 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 data and edge phase data from the smoothed image data;

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

determining a pixel shift between the image pair by matching a first edge in the first image with a second edge in the second image using determined edge lengths for the identified one or more edges.

9. The computer-readable medium of claim 8 , 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.

10. The computer-readable medium of claim 9 , 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.

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

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

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

13. 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, the first and second 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 data and edge phase data from the smoothed image data;

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

determining a pixel shift between the image pair by matching a first edge in the first image with a second edge in the second image using determined edge lengths for the identified one or more edges.

14. The camera system of claim 13 , 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.

15. The camera system of claim 14 , 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.

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

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

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

Assignments (7)
SECURITY INTEREST Recorded Aug 4, 2025
From: GOPRO, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 072358/0001 →
SECURITY INTEREST Recorded Aug 4, 2025
From: GOPRO, INC.
To: FARALLON CAPITAL MANAGEMENT, L.L.C., AS AGENT
Reel/Frame 072340/0676 →
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 Dec 3, 2018
From: GOPRO, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 047713/0309 →
SECURITY INTEREST Recorded Feb 9, 2018
From: GOPRO, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 044983/0718 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2017
From: SUN, YAJIE; MACMILLAN, TIMOTHY; MARTIN, ELIZABETH TORRES; CHAWLA, SUMIT
To: GOPRO, INC.
Reel/Frame 043801/0615 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2017
From: EDWARDS, ELIZABETH TORRES
To: GOPRO, INC.
Reel/Frame 043801/0618 →
Continuity (4)
Continuation 15345002 · Nov 7, 2016
Continuation 14876041 · Oct 6, 2015
Continuation 14221256 · Mar 20, 2014
Related Publication 20180025472A1 · Jan 25, 2018