IP Library Granted Patent US 10,897,575
Granted Patent B2
US 10,897,575 · App. 16/733,225 · Granted Jan 19, 2021

Lidar to camera calibration for generating high definition maps

Inventors: Mark Damon Wheeler (Saratoga, CA); Lin Yang (San Carlos, CA)
Assignee: DEEPMAP INC.
H04N5/2329G01C21/3602G01S7/4817G01S7/497G01S7/4972G01S17/42G01S17/86G01S17/87G01S17/89G01S17/931G05D1/0088G05D1/0231G05D1/0248G06T7/13G06T7/33G06T7/55G06T7/80H04N5/04H04N5/232H04N13/106B60R1/00G05D1/0287G05D2201/0213G06K9/00791G06K9/6202G06T2207/10028G06T2207/10048G06T2207/20092G06T2207/20221G06T2207/30241G06T2207/30242G06T2207/30252H04N5/2253H04N5/247
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,897,575
App. No.
16/733,225
Granted
Jan 19, 2021
Kind
B2
Abstract

A system performs calibration of sensors mounted on a vehicle, for example, lidar and camera sensors mounted on a vehicle, for example, an autonomous vehicle. The system receives a lidar scan and camera image of a view and determines a lidar-to-camera transform based on the lidar scan and the camera image. The system may use a pattern, for example, a checkerboard pattern in the view for calibration. The pattern is placed close to the vehicle to determine an approximate lidar-to-camera transform and then placed at a distance from the vehicle to determine an accurate lidar-to-camera transform. Alternatively, the system determines edges in the lidar scan and the camera image and aligns features based on real-world objects in the scene by comparing edges.

Claims (106)

1. A non-transitory computer readable storage medium storing instructions for performing calibration of sensors of a vehicle, wherein the instructions when executed by a processor, cause the processor to perform the steps including:

receiving a close-up sensor data of an object displaying a calibration pattern, the close-up sensor data comprising a camera image and a lidar scan of the object positioned less that than a threshold distance from the vehicle;

determining an approximate lidar-to-camera transform based on the close-up sensor data;

receiving a distant sensor data of the object, the distant sensor data comprising a camera image and a lidar scan of the object positioned greater than the threshold distance from the vehicle;

determining an accurate lidar-to-camera transform based on the distant sensor data and the approximate lidar-to-camera transform; and

using the accurate lidar-to-camera transform for calibrating sensor data captured by the vehicle.

2. The non-transitory computer readable storage medium of claim 1 , wherein instructions for determining the accurate lidar-to-camera transform comprises instructions for:

determining points on the object in the lidar scan of the distant sensor data based on:

the approximate lidar-to-camera transform, and

the points on the object in the camera image of the distant sensor data.

3. The non-transitory computer readable storage medium of claim 1 , wherein the instructions when executed by the processor, further cause the processor to perform steps including:

sending signals to the controls of the vehicle based on a high definition map.

4. The non-transitory computer readable storage medium of claim 1 , wherein the camera is a left camera, and the camera image is a left camera image, wherein the instructions when executed by the processor, further cause the processor to perform steps including:

receiving a right camera image of the object, the right camera image captured by a right camera mounted on the vehicle; and

for each point from a plurality of points on the object:

obtaining a 3D location of the point by triangulating a location of the point obtained from the left camera image and a location of the point obtained from the right camera image; and

determining 3D coordinates of the point by applying the approximate lidar-to-camera transform to the 3D location of the point.

5. The non-transitory computer readable storage medium of claim 4 , wherein the instructions further cause the processor to perform steps including:

fitting a dominant plane within the plurality of points; and

adjusting 3D coordinates of one or more points by projecting the 3D coordinates of one or more points to the dominant plane.

6. The non-transitory computer readable storage medium of claim 1 , wherein the instructions for determining the accurate lidar-to-camera transform cause the processor to perform steps including:

determining a bounding polygon of the calibration pattern of the object using the camera image of the distant sensor data;

projecting a set of 3D points of lidar scan of the distant sensor data onto the camera image of the distant sensor data; and

identifying a subset of 3D points of the lidar scan of the distant sensor data such that a projected point corresponding to each of the subset of 3D points is within a threshold of the bounding polygon.

7. The non-transitory computer readable storage medium of claim 6 , wherein the instructions for determining the accurate lidar-to-camera transform further cause the processor to perform steps including:

fitting a dominant plane within the subset of 3D points; and

adjusting locations of one or more 3D points by projecting the one or more 3D points to the dominant plane.

8. The non-transitory computer readable storage medium of claim 1 , wherein the instructions when executed by the processor, further cause the processor to perform steps including:

monitoring portions of a viewing area of at least one of the camera or lidar that are covered by the object in the distant sensor data captured; and

determining a portion of the viewing area that is not covered by the object in the distant sensor data captured; and

determining the position of the object for subsequently capturing distant sensor data based on the portion of the viewing area that is not covered by the object.

9. The non-transitory computer readable storage medium of claim 8 , wherein the instructions when executed by the processor, further cause the processor to perform steps including:

transmitting information describing the location for placing the object corresponding to the determined position.

10. The non-transitory computer readable storage medium of claim 1 , wherein the instructions when executed by the processor, further cause the processor to perform steps including:

determining positions of points on the lidar scan based on intensity data in the lidar scan.

11. A computer system comprising:

a processor; and

a non-transitory computer readable storage medium storing instructions for

performing calibration of sensors of a vehicle, wherein the instructions when executed by a processor, cause the processor to perform the steps including: receiving a close-up sensor data of an object displaying a calibration pattern,

the close-up sensor data comprising a camera image and a lidar scan of

the object positioned less that than a threshold distance from the vehicle;

determining an approximate lidar-to-camera transform based on the close-up sensor data;

receiving a distant sensor data of the object, the distant sensor data comprising a camera image and a lidar scan of the object positioned greater than the threshold distance from the vehicle;

determining an accurate lidar-to-camera transform based on the distant sensor data and the approximate lidar-to-camera transform; and

using the accurate lidar-to-camera transform for calibrating sensor data captured by the vehicle.

12. The computer system of claim 11 , wherein instructions for determining the accurate lidar-to-camera transform comprises instructions for:

determining points on the object in the lidar scan of the distant sensor data based on: the approximate lidar-to-camera transform, and the points on the object in the camera image of the distant sensor data.

13. The computer system of claim 11 , wherein the instructions when executed by the processor, further cause the processor to perform steps including:

sending signals to the controls of the vehicle based on a high definition map.

14. The computer system of claim 11 , wherein the camera is a left camera, and the camera image is a left camera image, wherein the instructions when executed by the processor, further cause the processor to perform steps including:

receiving a right camera image of the object, the right camera image captured by a right camera mounted on the vehicle; and

for each point from a plurality of points on the object:

obtaining a 3D location of the point by triangulating a location of the point obtained from the left camera image and a location of the point obtained from the right camera image; and

determining 3D coordinates of the point by applying the approximate lidar-to-camera transform to the 3D location of the point.

15. The computer system of claim 14 , wherein the instructions further cause the processor to perform steps including:

fitting a dominant plane within the plurality of points; and

adjusting 3D coordinates of one or more points by projecting the 3D coordinates of one or more points to the dominant plane.

16. The computer system of claim 11 , wherein the instructions for determining the accurate lidar-to-camera transform cause the processor to perform steps including:

determining a bounding polygon of the calibration pattern of the object using the camera image of the distant sensor data;

projecting a set of 3D points of lidar scan of the distant sensor data onto the camera image of the distant sensor data; and

identifying a subset of 3D points of the lidar scan of the distant sensor data such that a projected point corresponding to each of the subset of 3D points is within a threshold of the bounding polygon.

17. The computer system of claim 16 , wherein the instructions the instructions for determining the accurate lidar-to-camera transform cause the processor to perform steps including:

fitting a dominant plane within the subset of 3D points; and

adjusting locations of one or more 3D points by projecting the one or more 3D points to the dominant plane.

18. The computer system of claim 11 , wherein the instructions when executed by the processor, further cause the processor to perform steps including:

monitoring portions of a viewing area of at least one of the camera or lidar that are covered by the object in the distant sensor data captured; and

determining a portion of the viewing area that is not covered by the object in the distant sensor data captured; and

determining the position of the object for subsequently capturing distant sensor data based on the portion of the viewing area that is not covered by the object.

19. The computer system of claim 18 , wherein the instructions when executed by the processor, further cause the processor to perform steps including:

transmitting information describing the location for placing the object corresponding to the determined position.

20. The computer system of claim 11 , wherein the instructions when executed by the processor, further cause the processor to perform steps including:

determining positions of points on the lidar scan based on intensity data in the lidar scan.

21. A method for performing calibration of sensors of a vehicle, the method comprising:

receiving a close-up sensor data of an object displaying a calibration pattern, the close-up sensor data comprising a camera image and a lidar scan of the object positioned less that than a threshold distance from the vehicle;

determining an approximate lidar-to-camera transform based on the close-up sensor data;

receiving a distant sensor data of the object, the distant sensor data comprising a camera image and a lidar scan of the object positioned greater than the threshold distance from the vehicle;

determining an accurate lidar-to-camera transform based on the distant sensor data and the approximate lidar-to-camera transform; and

using the accurate lidar-to-camera transform for calibrating sensor data captured by the vehicle.

22. The method of claim 21 , further comprising:

determining points on the object in the lidar scan of the distant sensor data based on:

the approximate lidar-to-camera transform, and the points on the object in the camera image of the distant sensor data.

23. The method of claim 21 , further comprising:

sending signals to the controls of the vehicle based on a high definition map.

24. The method of claim 21 , wherein the camera is a left camera, and the camera image is a left camera image, the method further comprising:

receiving a right camera image of the object, the right camera image captured by a right camera mounted on the vehicle; and

for each point from a plurality of points on the object:

obtaining a 3D location of the point by triangulating a location of the point obtained from the left camera image and a location of the point obtained from the right camera image; and

determining 3D coordinates of the point by applying the approximate lidar-to-camera transform to the 3D location of the point.

25. The method of claim 24 , further comprising:

fitting a dominant plane within the plurality of points; and

adjusting 3D coordinates of one or more points by projecting the 3D coordinates of one or more points to the dominant plane.

26. The method of claim 21 , wherein determining the accurate lidar-to-camera transform comprises:

determining a bounding polygon of the calibration pattern of the object using the camera image of the distant sensor data;

projecting a set of 3D points of lidar scan of the distant sensor data onto the camera image of the distant sensor data; and

identifying a subset of 3D points of the lidar scan of the distant sensor data such that a projected point corresponding to each of the subset of 3D points is within a threshold of the bounding polygon.

27. The method of claim 26 , wherein determining the accurate lidar-to-camera transform further comprises:

fitting a dominant plane within the subset of 3D points; and

adjusting locations of one or more 3D points by projecting the one or more 3D points to the dominant plane.

28. The method of claim 21 , further comprising:

monitoring portions of a viewing area of at least one of the camera or lidar that are covered by the object in the distant sensor data captured; and

determining a portion of the viewing area that is not covered by the object in the distant sensor data captured; and

determining the position of the object for subsequently capturing distant sensor data based on the portion of the viewing area that is not covered by the object.

29. The method of claim 28 , further comprising:

transmitting information describing the location for placing the object corresponding to the determined position.

30. The method of claim 21 , further comprising:

determining positions of points on the lidar scan based on intensity data in the lidar scan.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2022
From: DEEPMAP INC.
To: NVIDIA CORPORATION
Reel/Frame 061038/0311 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2020
From: WHEELER, MARK DAMON; YANG, LIN
To: DEEPMAP INC.
Reel/Frame 051664/0074 →
Continuity (3)
Continuation 16165911 · Oct 19, 2018
Provisional Application 62574744 · Oct 19, 2017
Related Publication 20200145569A1 · May 7, 2020
Cited By (6)
US 12,288,363 US 12,380,601 US 12,384,410 US 12,399,278 US 12,399,279 US 12,632,989