IP Library Granted Patent US 9,558,584
Granted Patent B1
US 9,558,584 · App. 13/952,853 · Granted Jan 31, 2017

3D position estimation of objects from a monocular camera using a set of known 3D points on an underlying surface

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,558,584
App. No.
13/952,853
Granted
Jan 31, 2017
Kind
B1
Abstract

An example method may include determining a three-dimensional (3D) location of a plurality of reference points in an environment, receiving a two-dimensional (2D) image of a portion of the environment that contains an object, selecting certain reference points from the plurality of reference points that form a polygon when projected into the 2D image that contains at least a portion of the object, determining an intersection point of a ray directed toward the object and a 3D polygon formed by the selected reference points, and based on the intersection point of the ray directed toward the object and the 3D polygon formed by the selected reference points, determining a 3D location of the object in the environment.

Claims (56)

1. A computer-implemented method, comprising:

determining three-dimensional (3D) locations of a plurality of reference points, wherein the plurality of reference points are points on one or more surfaces in an environment;

receiving a two-dimensional (2D) image of a portion of the environment from a camera on an autonomous vehicle, wherein the image contains an object;

projecting some of the plurality of reference points into the 2D image based on the 3D locations of the plurality of reference points and a location of the camera on the autonomous vehicle;

selecting certain reference points from the projected reference points such that the selected reference points form a polygon in the 2D image, wherein the polygon comprises a 2D shape that surrounds the object in the 2D image, wherein selecting the certain reference points comprises performing one or more 2D point-in-polygon tests to determine the selected reference points making up the polygon that surrounds the object in the 2D image;

determining an intersection point of a ray directed toward the object and a 3D polygon formed by the selected reference points;

based on the intersection point of the ray directed toward the object and the 3D polygon formed by the selected reference points, determining a 3D location of the object in the environment; and

providing instructions to control the autonomous vehicle based at least in part on the 3D location of the object in the environment.

2. The method of claim 1 , wherein the ray directed toward the object comprises a ray directed toward a center pixel of the object.

3. The method of claim 1 , wherein determining the intersection point of the ray directed toward the object and the 3D polygon formed by the selected reference points comprises:

determining a plane that contains the 3D polygon; and

determining an intersection point of the ray directed toward the object and the plane that contains the 3D polygon.

4. The method of claim 1 , wherein:

the plurality of reference points are points on a road in the environment; and

the object is located on the road in the environment.

5. The method of claim 1 , further comprising determining a 3D location of one or more continuous curves in the environment; and

wherein determining the 3D locations of the plurality of reference points comprises selecting at least some of the reference points from one or more of the continuous curves at one or more intervals.

6. The method of claim 5 , wherein:

one of the continuous curves is a first lane boundary of a road within the environment;

one of the continuous curves is a second lane boundary of the road; and

selecting the certain reference points comprises selecting at least one reference point on the first lane boundary and at least one reference point on the second lane boundary.

7. The method of claim 1 , wherein:

determining the 3D locations of the plurality of reference points in the environment occurs during a first time period;

receiving the 2D image of the portion of the environment occurs during a second time period; and

the second time period begins at a time after the first time period ends.

8. A vehicle, comprising:

a camera configured to capture a 2D image of a portion of an environment, wherein the image contains an object; and

a computing system configured to:

determine 3D locations of a plurality of reference points in the environment;

project some of the plurality of reference points into the 2D image based on the 3D locations of the plurality of reference points and a location of the camera;

select certain reference points from the projected reference points such that the selected reference points form a polygon in the 2D image, wherein the polygon comprises a 2D shape that surrounds the object in the 2D image, wherein the computing system is configured to select the certain reference points by performing one or more 2D point-in-polygon tests to determine the selected reference points making up the polygon that surrounds the object in the 2D image;

determine an intersection point of a ray directed toward the object and a 3D polygon formed by the selected reference points;

based on the intersection point of the ray directed toward the object and the 3D polygon formed by the selected reference points, determine a 3D location of the object in the environment; and

provide instructions to control the vehicle based at least in part on the 3D location of the object in the environment.

9. The vehicle of claim 8 , wherein the computing system is configured to determine the intersection point of the ray directed toward the object and the 3D polygon formed by the selected reference points by determining an intersection point of the ray directed toward the object and a plane that contains the 3D polygon.

10. The vehicle of claim 8 , wherein:

the plurality of reference points are points on a road in the environment; and

the object is located on the road in the environment.

11. The vehicle of claim 8 , wherein the computing system is further configured to determine a 3D location of one or more continuous curves in the environment; and

wherein at least some of the plurality of reference points are selected from one or more of the continuous curves at one or more intervals.

12. The vehicle of claim 11 , wherein:

one of the continuous curves is a first lane boundary of a road within the environment;

one of the continuous curves is a second lane boundary of the road; and

at least one reference point is located on the first lane boundary and at least one reference point is located on the second lane boundary.

13. A non-transitory computer readable medium having stored therein instructions, that when executed by a computing system, cause the computing system to perform functions comprising:

determining three-dimensional (3D) locations of a plurality of reference points, wherein the plurality of reference points are points on one or more surfaces in an environment;

receiving a two-dimensional (2D) image of a portion of the environment from a camera on an autonomous vehicle, wherein the image contains an object;

projecting some of the plurality of reference points into the 2D image based on the 3D locations of the plurality of reference points and a location of the camera on the autonomous vehicle;

selecting certain reference points from the projected reference points such that the selected reference points form a polygon in the 2D image, wherein the polygon comprises a 2D shape that surrounds the object in the 2D image, wherein selecting the certain reference points comprises performing one or more 2D point-in-polygon tests to determine the selected reference points making up the polygon that surrounds the object in the 2D image;

determining an intersection point of a ray directed toward the object and a 3D polygon formed by the selected reference points;

based on the intersection point of the ray directed toward the object and the 3D polygon formed by the selected reference points, determining a 3D location of the object in the environment; and

providing instructions to control the autonomous vehicle based at least in part on the 3D location of the object in the environment.

14. The non-transitory computer readable medium of claim 13 , wherein determining the intersection point of the ray directed toward the object and the 3D polygon formed by the selected reference points comprises:

determining a plane that contains the 3D polygon; and

determining an intersection point of the ray directed toward the object and the plane that contains the 3D polygon.

15. The non-transitory computer readable medium of claim 13 , wherein the ray directed toward the object comprises a ray directed toward a center pixel of the object.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE REMOVAL OF THE INCORRECTLY RECORDED APPLICATION NUMBERS 14/149802 AND 15/419313 PREVIOUSLY RECORDED AT REEL: 44144 FRAME: 1. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Mar 4, 2024
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 068092/0502 →
SUBMISSION TO CORRECT AN ERROR MADE IN A PREVIOUSLY RECORDED DOCUMENT THAT ERRONEOUSLY AFFECTS THE IDENTIFIED APPLICATIONS Recorded Nov 11, 2019
From: WAYMO LLC
To: WAYMO LLC
Reel/Frame 050978/0359 →
CHANGE OF NAME Recorded Oct 6, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044144/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2017
From: GOOGLE INC.
To: WAYMO HOLDING INC.
Reel/Frame 042084/0741 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2017
From: WAYMO HOLDING INC.
To: WAYMO LLC
Reel/Frame 042085/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2013
From: LO, WAN-YEN; FERGUSON, DAVID I.
To: GOOGLE INC.
Reel/Frame 030893/0424 →