IP Library Granted Patent US 11,645,775
Granted Patent B1
US 11,645,775 · App. 17/847,965 · Granted May 9, 2023

Methods and apparatus for depth estimation on a non-flat road with stereo-assisted monocular camera in a vehicle

Inventors: Anurag Ganguli (Saratoga, CA); Zi Li (Cupertino, CA)
Assignee: PlusAI, Inc.
G06T7/593B60W40/06B60W2420/42B60W2552/20
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 11,645,775
App. No.
17/847,965
Granted
May 9, 2023
Kind
B1
Abstract

A non-transitory processor-readable medium stores code representing instructions to be executed by the processor. The code comprises code to cause the processor to receive a first image and a second image from a stereo camera pair disposed with a vehicle. The code causes the processor to detect, using a machine learning model, an object based on the first image, the object located within a pre-defined area within a vicinity of the vehicle. The code causes the processor to determine a distance between the object and the vehicle based on disparity between the first image and the second image. The code causes the processor to determine a longitudinal value of the vehicle based on the distance and a height of the vehicle. The code causes the processor to send an instruction to facilitate driving of the vehicle based on a road profile associated with the longitudinal value.

Claims (81)

1. An apparatus, comprising:

a processor; and

a memory operatively coupled to the processor, the memory storing instructions to cause the processor to:

calculate a road profile in a pre-defined area within a vicinity of a vehicle based on map data of the pre-defined area, the road profile associated with a road in the pre-defined area, the vehicle associated with a first longitudinal value determined from the map data;

receive a first image and a second image from a stereo camera pair disposed with the vehicle;

detect, using a machine learning model, an object based on the first image, the object located within the pre-defined area;

determine a distance between the object and the vehicle based on disparity between the first image and the second image;

determine a second longitudinal value of the vehicle, based on the distance and a line of sight through a camera from the stereo camera pair and a contact point where the object contacts the road; and

send an instruction to facilitate driving of the vehicle based on the second longitudinal value of the vehicle and the road profile.

2. The apparatus of claim 1 , wherein:

the map data includes coordinate values of a plurality of points in the pre-defined area;

for each point from the plurality of points, the coordinate values includes at least one of a value in a first direction of a plane of the road, a value in a second direction of the plane of the road, a value in a third direction perpendicular to the plane of the road, or a pitch value.

3. The apparatus of claim 2 , wherein:

the contact point is a first contact point; and

the instructions further comprises instructions to cause the processor to determine the second longitudinal value of the vehicle based on the coordinate values of the first contact point where the object contacts the road and the coordinate values of a second contact point where the vehicle contacts the road.

4. The apparatus of claim 1 , wherein:

the instructions further comprises instructions to cause the processor to:

identify a bounding box representing the object; and

determine, in an image coordinate system, coordinates of the contact point where the object contacts the road based on a bottom edge of the bounding box; and

the instructions to cause the processor to determine the second longitudinal value of the vehicle includes instructions to cause the processor to determine based on the coordinates of the contact point.

5. The apparatus of claim 4 , wherein:

the instructions further comprises instructions to cause the processor to convert the coordinates of the contact point in the image coordinate system to coordinates of the contact point in a global coordinate system; and

the instructions to cause the processor to determine the second longitudinal value of the vehicle is based on the coordinates of the contact point in the global coordinate system.

6. The apparatus of claim 1 , wherein:

the instructions to cause the processor to detect the object includes code to cause the processor to detect a three-dimensional structure of the object; and

the instructions further comprises instructions to cause the processor to determine, in an image coordinate system, coordinates of the contact point where the object contacts the road based on the three-dimensional structure of the object.

7. The apparatus of claim 6 , wherein:

the instructions further comprises instructions to cause the processor to convert the coordinates of the contact point in the image coordinate system to coordinates of the contact point in a global coordinate system; and

the instructions to cause the processor to determine the second longitudinal value of the vehicle based on the coordinates of the contact point in the global coordinate system.

8. The apparatus of claim 1 , wherein:

the contact point is a first contact point; and

the instructions to cause the processor to determine the second longitudinal value includes instructions to cause the processor to determine the second longitudinal value based on a triangulation of the line of sight, a line segment between the first contact point and a second contact point where the vehicle contacts the road, and a line segment of a height of the vehicle.

9. The apparatus of claim 1 , wherein:

the road profile is a first road profile; and

the instructions further comprises instructions to cause the processor to determine the second longitudinal value of the vehicle by adjusting the first longitudinal value of the vehicle to reduce a difference between the first road profile and a second road profile calculated based on the distance and the line of sight.

10. The apparatus of claim 1 , wherein:

the road profile is a first road profile; and

the instructions further comprises instructions to cause the processor to determine the second longitudinal value of the vehicle by adjusting the first longitudinal value of the vehicle to reduce, using an optimization method, a difference between the first road profile and a second road profile calculated based on the distance and the line of sight.

11. The apparatus of claim 1 , wherein:

the machine learning model is a first machine learning model;

the road profile is a first road profile; and

the instructions further comprises instructions to cause the processor to determine the second longitudinal value of the vehicle by adjusting the first longitudinal value of the vehicle to reduce, using a second machine learning model, a difference between the first road profile and a second road profile calculated based on the distance and the line of sight.

12. The apparatus of claim 1 , wherein:

the object is a first object; and

the instructions further comprises instructions to cause the processor to:

detect a second object using a sensor disposed with the vehicle; and

determine, using the road profile associated with the second longitudinal value of the vehicle and a line of sight through the sensor and a contact point where the second object contacts the road, a distance between the second object and the vehicle.

13. The apparatus of claim 12 , wherein:

the second object is located further away from the vehicle than the first object; and

the instructions to cause the processor to determine the distance between the second object and the vehicle does not include using stereo depth estimation via the stereo camera pair.

14. A method, comprising:

calculating a road profile in a pre-defined area within a vicinity of a vehicle based on map data of the pre-defined area;

receiving a first image and a second image from a stereo camera pair disposed with the vehicle;

determining a distance from an object detected in the first image to the vehicle based on disparity between the first image and the second image;

determining a longitudinal value of the vehicle, based on the distance and a line of sight through a camera from the stereo camera pair and a contact point where the object contacts a road associated with the road profile; and

sending a signal representing the road profile associated with the longitudinal value to facilitate driving of the vehicle.

15. The method of claim 14 , wherein:

the object is a first object; and

the method further comprises:

detecting a second object using a sensor disposed with the vehicle;

determining, using the road profile associated with the longitudinal value of the vehicle and a line of sight through the sensor and a contact point where the second object contacts the road, a distance between the second object and the vehicle.

16. The method of claim 14 , further comprising:

identifying a bounding box representing the object; and

determining, in an image coordinate system, coordinates of the contact point where the object contacts the road based on a bottom edge of the bounding box, the determining the longitudinal value is based on the coordinates of the contact point.

17. The method of claim 16 , further comprising:

converting the coordinates of the contact point in the image coordinate system to coordinates of the contact point in a global coordinate system,

the determining the longitudinal value is based on the coordinates of the contact point in the global coordinate system.

18. The method of claim 14 , wherein:

the contact point is a first contact point; and

the determining the longitudinal value includes determining the longitudinal value based on a triangulation of the line of sight, a line segment based one the distance between the contact point and a second contact point where the vehicle contacts the road, and a line segment based on a height of the vehicle.

19. The method of claim 14 , wherein:

the longitudinal value of the vehicle is a first longitudinal value;

the road profile is a first road profile; and

the method further includes:

determining the first longitudinal value of the vehicle by adjusting a second longitudinal value of the vehicle received from the map data to reduce a difference between the first road profile and a second road profile calculated based on the distance and the line of sight.

20. A non-transitory processor-readable medium storing code representing instructions to be executed by the processor, the code comprising code to cause the processor to:

receive a first image and a second image from a stereo camera pair disposed with a vehicle;

detect, using a machine learning model, an object based on the first image, the object located within a pre-defined area within a vicinity of the vehicle;

determine a distance between the object and the vehicle based on disparity between the first image and the second image;

determine a longitudinal value of the vehicle based on the distance and a height of the vehicle; and

send an instruction to facilitate driving of the vehicle based on a road profile associated with the longitudinal value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2022
From: GANGULI, ANURAG; LI, ZI
To: PLUSAI, INC.
Reel/Frame 060295/0333 →
Cited By (2)
US 12,565,239 US 12,639,838