IP Library Granted Patent US 11,195,300
Granted Patent B2
US 11,195,300 · App. 16/717,937 · Granted Dec 7, 2021

Smoothness constraint for camera pose estimation

Inventors: Xiaodi Hou (San Diego, CA); Xue Mei (San Diego, CA)
Assignee: TUSIMPLE, INC.
G06T7/74G06T7/248G05D1/0246G05D2201/0213G06T2207/30244
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,195,300
App. No.
16/717,937
Granted
Dec 7, 2021
Kind
B2
Abstract

Disclosed are devices, systems and methods for incorporating a smoothness constraint for camera pose estimation. One method for robust camera pose estimation includes determining a first bounding box based on a previous frame, determining a second bounding box based on a current frame that is temporally subsequent to the previous frame, estimating the camera pose by minimizing a weighted sum of a camera pose function and a constraint function, where the camera pose function tracks a position and an orientation of the camera in time, and where the constraint function is based on coordinates of the first bounding box and coordinates of the second bounding box, and using the camera pose for navigating the vehicle. The method may further include generating an initial estimate of the camera pose is based on a Global Positioning System (GPS) sensor or an Inertial Measurement Unit (IMU).

Claims (65)

1. A method, implemented in a vehicle, comprising:

determining a first bounding contour based on a previous frame;

determining a second bounding contour based on a current frame, wherein the current frame is temporally subsequent to the previous frame; and

estimating a camera pose by minimizing a weighted sum of a camera pose function and a constraint function, wherein the camera pose function tracks a position and an orientation of a camera in time, and wherein the constraint function is based on coordinates of the first bounding contour and coordinates of the second bounding contour.

2. The method of claim 1 , wherein determining the first and second bounding contours is based on an initial estimate of the camera pose.

3. The method of claim 2 , wherein the initial estimate of the camera pose is based on at least a Global Positioning System (GPS) sensor or an Inertial Measurement Unit (IMU).

4. The method of claim 1 , wherein a weight of the constraint function in the weighted sum is based on previous estimates of the camera pose.

5. An apparatus, comprising:

a processor; and

a memory comprising processor executable code, the processor executable code when executed by the processor causes the processor to:

determine a first bounding contour based on a previous frame;

determine a second bounding contour based on a current frame, wherein the current frame is temporally subsequent to the previous frame, and wherein the first bounding contour and the second bounding contour correspond to a position of a rear of an adjacent vehicle that is in front of a vehicle; and

estimate a camera pose according to a camera pose function and a constraint function, wherein the camera pose function tracks a position and an orientation of a camera in time, and wherein the constraint function is based on coordinates of the first bounding contour and coordinates of the second bounding contour.

6. The apparatus of claim 5 , wherein the first bounding contour is further determined based on intrinsic parameters of the camera, and wherein the intrinsic parameters of the camera include at least a focal length of the camera, an angle of view of the camera, or a center of an image captured by the camera.

7. The apparatus of claim 5 , wherein the first bounding contour and the second bounding contour are rectangular, circular, elliptical, or polygonal.

8. The apparatus of claim 5 , wherein at least one of the first bounding contour and the second bounding contour matches a contour of an adjacent vehicle shown in an image captured by the camera.

9. The apparatus of claim 5 , wherein the processor executable code when executed by the processor further causes the processor to:

use the camera pose for navigating a vehicle.

10. A non-transitory computer-readable medium storing a program causing a computer to execute a process, the process comprising:

determining a first bounding contour based on a previous frame;

determining a second bounding contour based on a current frame, wherein the current frame is temporally subsequent to the previous frame;

estimating a camera pose according to a camera pose function and a constraint function, wherein the camera pose function tracks a position and an orientation of a camera in time, and wherein the constraint function is based on coordinates of the first bounding contour and coordinates of the second bounding contour; and

using the camera pose for navigating a vehicle, comprising:

obtaining a quantitative estimate of a movement of an adjacent vehicle; and

obtaining a movement of the camera.

11. The non-transitory computer-readable medium of claim 10 , wherein the camera pose comprises 6 degree-of-freedom (DoF) in a local navigation coordinate.

12. The non-transitory computer-readable medium of claim 10 , wherein a coordinate of the camera pose function is transformable.

13. The non-transitory computer-readable medium of claim 10 , wherein the process further comprises:

determining a third bounding contour based on the previous frame; and

determining a fourth bounding contour based on the current frame, wherein the constraint function is further based on coordinates of the third bounding contour and coordinates of the fourth bounding contour.

14. The non-transitory computer-readable medium of claim 13 , wherein a first set of bounding contours include the first bounding contour and the second bounding contour, wherein a second set of bounding contours include the third bounding contour and the fourth bounding contour, and wherein a shape of the first set of bounding contours is different from a shape of the second set of bounding contours.

15. An apparatus, comprising:

a processor; and

a memory comprising processor executable code, the processor executable code when executed by the processor causes the processor to:

determine a first bounding contour based on a previous frame;

determine a second bounding contour based on a current frame, wherein the current frame is temporally subsequent to the previous frame; and

estimate a camera pose by minimizing a weighted sum of a camera pose function and a constraint function, wherein the camera pose function tracks a position and an orientation of a camera in time, and wherein the constraint function is based on coordinates of the first bounding contour and coordinates of the second bounding contour.

16. A non-transitory computer-readable medium storing a program causing a computer to execute a process, the process comprising:

determining a first bounding contour based on a previous frame;

determining a second bounding contour based on a current frame, wherein the current frame is temporally subsequent to the previous frame; and

estimating a camera pose by minimizing a weighted sum of a camera pose function and a constraint function, wherein the camera pose function tracks a position and an orientation of a camera in time, and wherein the constraint function is based on coordinates of the first bounding contour and coordinates of the second bounding contour.

17. A method, implemented in a vehicle, comprising:

determining a first bounding contour based on a previous frame;

determining a second bounding contour based on a current frame, wherein the current frame is temporally subsequent to the previous frame, and wherein the first bounding contour and the second bounding contour correspond to a position of a rear of an adjacent vehicle that is in front of the vehicle; and

estimating a camera pose according to a camera pose function and a constraint function, wherein the camera pose function tracks a position and an orientation of a camera in time, and wherein the constraint function is based on coordinates of the first bounding contour and coordinates of the second bounding contour.

18. A non-transitory computer-readable medium storing a program causing a computer to execute a process, the process comprising:

determining a first bounding contour based on a previous frame;

determining a second bounding contour based on a current frame, wherein the current frame is temporally subsequent to the previous frame, and wherein the first bounding contour and the second bounding contour correspond to a position of a rear of an adjacent vehicle that is in front of a vehicle; and

estimating a camera pose according to a camera pose function and a constraint function, wherein the camera pose function tracks a position and an orientation of a camera in time, and wherein the constraint function is based on coordinates of the first bounding contour and coordinates of the second bounding contour.

19. A method, implemented in a vehicle, comprising:

determining a first bounding contour based on a previous frame;

determining a second bounding contour based on a current frame, wherein the current frame is temporally subsequent to the previous frame;

estimating a camera pose according to a camera pose function and a constraint function, wherein the camera pose function tracks a position and an orientation of a camera in time, and wherein the constraint function is based on coordinates of the first bounding contour and coordinates of the second bounding contour; and

using the camera pose for navigating the vehicle, comprising:

obtaining a quantitative estimate of a movement of an adjacent vehicle; and

obtaining a movement of the camera.

20. An apparatus, comprising:

a processor; and

a memory comprising processor executable code, the processor executable code when executed by the processor causes the processor to:

determine a first bounding contour based on a previous frame;

determine a second bounding contour based on a current frame, wherein the current frame is temporally subsequent to the previous frame;

estimate a camera pose according to a camera pose function and a constraint function, wherein the camera pose function tracks a position and an orientation of a camera in time, and wherein the constraint function is based on coordinates of the first bounding contour and coordinates of the second bounding contour; and

use the camera pose for navigating a vehicle, comprising:

obtaining a quantitative estimate of a movement of an adjacent vehicle; and

obtaining a movement of the camera.

Assignments (4)
CHANGE OF NAME Recorded Dec 3, 2025
From: TUSIMPLE, INC.
To: CREATEAI, INC.
Reel/Frame 073832/0553 →
CHANGE OF NAME Recorded Oct 7, 2022
From: TUSIMPLE
To: TUSIMPLE, INC.
Reel/Frame 061627/0766 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CORRECT NAME OF ASSIGNEE'S IS TUSIMPLE PREVIOUSLY RECORDED AT REEL: 051310 FRAME: 0533. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 7, 2022
From: HOU, XIAODI; MEI, XUE
To: TUSIMPLE
Reel/Frame 062256/0506 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2019
From: HOU, XIAODI; MEI, XUE
To: TUSIMPLE INC.
Reel/Frame 051310/0533 →
Continuity (2)
Continuation 15996292 · Jun 1, 2018
Related Publication 20200126255A1 · Apr 23, 2020