IP Library Granted Patent US 10,805,535
Granted Patent B2
US 10,805,535 · App. 16/422,829 · Granted Oct 13, 2020

Systems and methods for multi-camera placement

Inventors: Carlo Dal Mutto (Sunnyvale, CA); Giulio Marin (Sunnyvale, CA)
Assignee: AQUIFI, INC.
H04N5/23238G06T7/73G06T7/85
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,805,535
App. No.
16/422,829
Granted
Oct 13, 2020
Kind
B2
Abstract

A method for calibrating a camera group includes: controlling a first and second cameras to capture first and second images of a first scene, the first camera having a first field of view (FOV), the second camera having a second FOV overlapping the first FOV in a first overlap region; the first scene including a calibration target in the first overlap region; computing a first relative pose based on the first and second images; controlling the second camera and a third camera to capture third and fourth images of a second scene, the third camera having a third FOV overlapping the second FOV in a second overlap region, the second scene including a calibration target in the second overlap region; computing a second relative pose based on the third and fourth images; and computing a third relative pose based on the first and second relative poses.

Claims (95)

1. A system for placing and calibrating cameras comprising a first camera group comprising:

a first camera having a first field of view;

a second camera having a second field of view overlapping the first field of view in a first overlap region;

a third camera having a third field of view overlapping the second field of view in a second overlap region;

a controller comprising a processor and a memory, the memory storing instructions that, when executed by the processor, cause the processor to:

control the first camera and the second camera to capture, respectively, a first image and a second image of a first scene, the first scene comprising a first calibration target in the first overlap region;

compute a first relative pose between the first camera and the second camera based on the first calibration target in the first image and the first calibration target in the second image;

control the second camera and the third camera to capture, respectively, a third image and a fourth image of a second scene, the second scene comprising a second calibration target in the second overlap region;

compute a second relative pose between the second camera and the third camera based on the second calibration target in the third image and the second calibration target in the fourth image;

compute a third relative pose between the first camera and the third camera based on the first relative pose and the second relative pose; and

compute a first calibration of the first camera group based on the first relative pose, the second relative pose, and the third relative pose,

wherein each of the cameras comprises:

a first two-dimensional camera having a first optical axis; and

a second two-dimensional camera having a second optical axis substantially parallel to the first optical axis and having a field of view overlapping a field of view of the first two-dimensional camera.

2. The system of claim 1 , wherein the first camera group further comprises a fourth camera having a fourth field of view overlapping the third field of view in a third overlap region, and

wherein the memory further stores instructions that, when executed by the processor, cause the processor to:

control the third camera and the fourth camera to capture, respectively, a fifth image and a sixth image of a third scene, the third scene comprising a third calibration target in the third overlap region; and

compute a fourth relative pose between the third camera and the fourth camera.

3. The system of claim 1 , wherein the memory further stores a plurality of designed poses of the cameras of the first camera group, and

wherein the memory further stores instructions that, when executed by the processor, cause the processor to:

compute a plurality of differences between the designed poses and the first relative pose, the second relative pose, and the third relative pose; and

output the plurality of differences.

4. The system of claim 3 , further comprising a graphical user interface displayed on a display device,

wherein the memory further stores instructions that, when executed by the processor, cause the processor to:

display, on the display device, an indication of the plurality of differences between the first relative pose, the second relative pose, and the third relative pose and the designed poses.

5. The system of claim 4 , wherein the memory further stores instructions that, when executed by the processor, cause the processor to:

display, on the display device, a first confidence for the first relative pose, a second confidence for the second relative pose, and a third confidence for the third relative pose.

6. The system of claim 1 , wherein the first calibration target comprises a backlit calibration target comprising a plurality of light emitting diodes configured to emit light through a calibration pattern.

7. The system of claim 1 , wherein the second calibration target is the first calibration target after performing a rigid transformation.

8. The system of claim 7 , wherein the first camera group is configured to image objects conveyed by a first portion of a conveyor system,

wherein the first calibration target is conveyed by the conveyor system, and

wherein the system further comprises:

a second camera group comprising a second plurality of cameras, the second camera group being configured to image objects conveyed by a second portion of the conveyor system;

a coordinating server configured to receive data captured by the first camera group and the second camera group, the coordinating server comprising a processor and a memory storing instructions that, when executed by the processor, cause the processor to:

control the first camera group to compute the first calibration, when the first calibration target is in the first portion of the conveyor system;

control the second camera group to compute a second calibration based on relative poses of the second plurality of cameras after the first calibration target is conveyed by the conveyor system to the second portion of the conveyor system; and

compute a calibration of the first camera group to the second camera group based on the first calibration and the second calibration.

9. A system for placing and calibrating cameras comprising a first camera group comprising:

a first camera having a first field of view;

a second camera having a second field of view overlapping the first field of view in a first overlap region;

a third camera having a third field of view overlapping the second field of view in a second overlap region;

a controller comprising a processor and a memory, the memory storing instructions that, when executed by the processor, cause the processor to:

control the first camera and the second camera to capture, respectively, a first image and a second image of a first scene, the first scene comprising a first calibration target in the first overlap region;

compute a first relative pose between the first camera and the second camera based on the first calibration target in the first image and the first calibration target in the second image;

control the second camera and the third camera to capture, respectively, a third image and a fourth image of a second scene, the second scene comprising a second calibration target in the second overlap region;

compute a second relative pose between the second camera and the third camera based on the second calibration target in the third image and the second calibration target in the fourth image;

compute a third relative pose between the first camera and the third camera based on the first relative pose and the second relative pose; and

compute a first calibration of the first camera group based on the first relative pose, the second relative pose, and the third relative pose,

wherein the memory further stores a plurality of designed poses of the cameras of the first camera group,

wherein the memory further stores instructions that, when executed by the processor, cause the processor to:

compute a plurality of differences between the designed poses and the first relative pose, the second relative pose, and the third relative pose; and

output the plurality of differences,

wherein each of the cameras comprises one or more light emitting diodes, and

wherein the memory further stores instructions that, when executed by the processor, cause the processor to:

control the light emitting diodes of the cameras to indicate the plurality of differences between the first relative pose, the second relative pose, and the third relative pose and the designed poses.

10. The system of claim 9 , wherein each of the cameras comprises:

a first two-dimensional camera having a first optical axis; and

a second two-dimensional camera having a second optical axis substantially parallel to the first optical axis and having a field of view overlapping a field of view of the first two-dimensional camera.

11. A method for placing and calibrating cameras of a first camera group, the method comprising:

controlling a first camera and a second camera of the first camera group to capture, respectively, a first image and a second image of a first scene,

the first camera having a first field of view,

the second camera having a second field of view overlapping the first field of view in a first overlap region;

the first scene comprising a first calibration target in the first overlap region;

computing a first relative pose between the first camera and the second camera based on the first calibration target in the first image and the first calibration target in the second image;

controlling the second camera and a third camera of the first camera group to capture, respectively, a third image and a fourth image of a second scene,

the third camera having a third field of view overlapping the second field of view in a second overlap region,

the second scene comprising a second calibration target in the second overlap region;

computing a second relative pose between the second camera and the third camera based on the second calibration target in the third image and the second calibration target in the fourth image;

computing a third relative pose between the first camera and the third camera based on the first relative pose and the second relative pose; and

computing a first calibration of the first camera group based on the first relative pose, the second relative pose, and the third relative pose,

wherein the second calibration target is the first calibration target after performing a rigid transformation.

12. The method of claim 11 , wherein the first camera group further comprises a fourth camera having a fourth field of view overlapping the third field of view in a third overlap region, and

wherein the method further comprises:

controlling the third camera and the fourth camera to capture, respectively, a fifth image and a sixth image of a third scene, the third scene comprising a third calibration target in the third overlap region; and

computing a fourth relative pose between the third camera and the fourth camera.

13. The method of claim 11 , further comprising

computing a plurality of differences between the first relative pose, the second relative pose, and the third relative pose and a plurality of designed poses of the cameras of the first camera group; and

output the plurality of differences.

14. The method of claim 13 , wherein each of the cameras comprises one or more light emitting diodes, and

wherein the method further comprises:

controlling the light emitting diodes of the cameras to indicate the plurality of differences between the first relative pose, the second relative pose, and the third relative pose and the designed poses.

15. The method of claim 13 , further comprising

displaying, on a graphical user interface displayed on a display device, an indication of the plurality of differences between the first relative pose, the second relative pose, and the third relative pose and the designed poses.

16. The method of claim 15 , further comprising:

displaying, on the display device, a first confidence for the first relative pose, a second confidence for the second relative pose, and a third confidence for the third relative pose.

17. The method of claim 11 , wherein each of the cameras comprises:

a first two-dimensional camera having a first optical axis; and

a second two-dimensional camera having a second optical axis substantially parallel to the first optical axis and having a field of view overlapping a field of view of the first two-dimensional camera.

18. The method of claim 11 , wherein the first calibration target comprises a backlit calibration target comprising a plurality of light emitting diodes configured to emit light through a calibration pattern.

19. The method of claim 11 , wherein the first camera group is configured to image objects conveyed by a first portion of a conveyor system,

wherein the first calibration target is conveyed by the conveyor system, and

wherein the method further comprises:

controlling the first camera group to compute the first calibration, when the first calibration target is in the first portion of the conveyor system;

controlling a second camera group comprising a second plurality of cameras to compute a second calibration based on relative poses of the second plurality of cameras after the first calibration target is conveyed by the conveyor system to a second portion of the conveyor system, the second camera group being configured to image objects conveyed by the second portion of the conveyor system; and

computing a calibration of the first camera group to the second camera group based on the first calibration and the second calibration.

Assignments (5)
SECURITY INTEREST Recorded May 15, 2025
From: PACKSIZE LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 071282/0082 →
SECURITY INTEREST Recorded Aug 21, 2024
From: PACKSIZE LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 068730/0393 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2021
From: PACKSIZE INTERNATIONAL, LLC
To: PACKSIZE LLC
Reel/Frame 058287/0582 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2021
From: AQUIFI, INC.
To: PACKSIZE INTERNATIONAL, LLC
Reel/Frame 058189/0976 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2019
From: DAL MUTTO, CARLO; MARIN, GIULIO
To: AQUIFI, INC.
Reel/Frame 049381/0445 →
Continuity (2)
Provisional Application 62676799 · May 25, 2018
Related Publication 20190364206A1 · Nov 28, 2019
Cited By (2)
US 12,205,323 US 12,549,687