IP Library › Granted Patent US 9,437,001
Granted Patent B2
US 9,437,001 · App. 14/490,369 · Granted Sep 6, 2016

Tracking objects in bowl-shaped imaging systems

Inventors: Kay-Ulrich Scholl (Karlsbad, DE); Koba Natroshvili (Waldbronn, DE)
Assignee: Intel Corporation
G06T7/0042B60R1/00G06T3/0018H04N5/23238B60R2300/10B60R2300/30B60R2300/303B60R2300/80G06T2207/30252
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,437,001
App. No.
14/490,369
Granted
Sep 6, 2016
Kind
B2
Abstract

Technologies for determining a distance of an object from a vehicle include a computing device to identify an object captured in a fisheye image generated by a fisheye camera of the vehicle. The computing device projects a contour of the identified object on a selected virtual plane that is located outside the vehicle and selected from a predefined set of virtual planes based on a location of the identified object relative to the vehicle. The computing device identifies a bottom of the projected contour on the selected virtual plane and determines an intersection point of an imaginary line with a ground plane coincident with a plane on which the vehicle is positioned. The imaginary line passes through each of the identified bottom of the projected contour and the fisheye camera. The computing device determines a location of the identified object relative to the vehicle based on the determined intersection point and the identified bottom of the projected contour.

Claims (391)

1. A computing device for determining a distance of an object from a vehicle, the computing device comprising:

a fisheye camera to capture a fisheye image;

an object projection module to (i) identify an object captured in the fisheye image and (ii) project a contour of the identified object on a selected virtual plane that is located outside the vehicle and selected from a predefined set of virtual planes based on a location of the identified object relative to the vehicle; and

a location determination module to (i) identify a bottom of the projected contour on the selected virtual plane, (ii) determine an intersection point of an imaginary line with a ground plane coincident with a plane on which the vehicle is positioned, wherein the imaginary line passes through each of the identified bottom of the projected contour and the fisheye camera, and (iii) determine a location of the identified object relative to the vehicle based on the determined intersection point and the identified bottom of the projected contour.

2. The computing device of claim 1 , wherein to determine the location of the identified object relative to the vehicle comprises to apply a Kalman filter based on the determined intersection point and the identified bottom of the projected contour.

3. The computing device of claim 2 , wherein to apply the Kalman filter comprises to:

determine a state vector of the Kalman filter according to {right arrow over (x)}=[x p y p z b ] T ;

determine a measurement vector of the Kalman filter according to {right arrow over (z)}=[x b y b z b ] T ;

apply the Kalman filter based on the determined state vector and the determined measurement vector, wherein:

x p , y p , and z p , are three-dimensional coordinates of the intersection point; and

x b , y b , and z b are three-dimensional coordinates of the bottom of the identified object.

4. The computing device of claim 3 , wherein to apply the Kalman filter comprises to:

determine a Jacobian according to

∂

z

∂

x

=

[

1

-

z

b

z

a

0

-

1

z

a

⁢

(

x

p

-

x

a

)

0

1

-

z

b

z

a

-

1

z

a

⁢

(

y

p

-

y

a

)

0

0

1

]

;

 and

apply an extended Kalman filter based on the determined state vector, the determined measurement vector, and the determined Jacobian,

wherein x a , y a , and z a are three-dimensional coordinates of the fisheye camera.

5. The computing device of claim 1 , wherein to project the contour of the identified object comprises to select a virtual plane that is nearest the identified object and on which to project the contour of the identified object.

6. The computing device of claim 1 , wherein to project the contour of the identified object comprises to:

determine a reference line intersecting the fisheye camera and a location of the identified object; and

project the contour of the identified object to a virtual plane that the reference line intersects.

7. The computing device of claim 1 , wherein to identify the bottom of the projected contour comprises to:

determine a bounding box of the projected contour on the virtual plane; and

identify a middle point of a bottom of the bounding box.

8. The computing device of claim 7 , wherein the intersection point is an intersection point of a center of the fisheye camera with the middle point of the bottom of the bounding box.

9. The computing device of claim 7 , wherein the bounding box is a smallest rectangular box bounding the projected contour.

10. The computing device of claim 1 , wherein to determine the intersection point of the line with the ground plane comprises to determine the intersection point according to

x

p

=

-

z

b

z

a

-

z

b

⁢

x

a

+

z

a

z

a

-

z

b

⁢

x

b

,

y

p

=

-

z

b

z

a

-

z

b

⁢

y

a

+

z

a

z

a

-

z

b

⁢

y

b

,

 and z p =0, wherein:

x p , y p , and z p are three-dimensional coordinates of the intersection point;

x a , y a , and z a are three-dimensional coordinates of the fisheye camera; and

x b , y b , and z b are three-dimensional coordinates of the bottom of the identified object.

11. The computing device of claim 1 , wherein the predefined set of virtual planes comprises at least twice as many virtual planes as there are fisheye cameras of the vehicle.

12. The computing device of claim 1 , wherein each virtual plane of the predefined set of virtual planes is orthogonal to the ground plane.

13. The computing device of claim 1 , wherein:

the predefined set of virtual planes consists of eight virtual planes;

a first and second virtual plane of the eight virtual planes are parallel to a side of the vehicle;

a third and fourth virtual plane of the eight virtual planes are parallel to a rear of the vehicle and orthogonal to the side of the vehicle;

a fifth and sixth virtual plane of the eight virtual planes are parallel to one another and at forty-five degree angles with respect to the first and third virtual planes;

a seventh and eighth virtual plane of the eight virtual planes are parallel to one another, orthogonal to the fifth and sixth virtual planes, and at forty-five degree angles with respect to the first and third virtual planes; and

each virtual plane of the predefined set of virtual planes is orthogonal to the ground plane.

14. The computing device of claim 1 , wherein the computing device is embodied as an in-vehicle computing system.

15. One or more non-transitory machine-readable storage media comprising a plurality of instructions stored thereon that, in response to execution by a computing device, cause the computing device to:

identify an object captured in a fisheye image generated by a fisheye camera of the vehicle;

project a contour of the identified object on a selected virtual plane that is located outside the vehicle and selected from a predefined set of virtual planes based on a location of the identified object relative to the vehicle;

identify a bottom of the projected contour on the selected virtual plane;

determine an intersection point of an imaginary line with a ground plane coincident with a plane on which the vehicle is positioned, wherein the imaginary line passes through each of the identified bottom of the projected contour and the fisheye camera; and

determine a location of the identified object relative to the vehicle based on the determined intersection point and the identified bottom of the projected contour.

16. The one or more non-transitory machine-readable storage media of claim 15 , wherein to determine the location of the identified object relative to the vehicle comprises to:

determine a state vector of a Kalman filter according to {right arrow over (x)}=[x p y p z b ] T ;

determine a measurement vector of the Kalman filter according to {right arrow over (z)}=[x b y b z b ] T ; and

apply the Kalman filter based on the determined state vector and the determined measurement vector,

wherein x p , y p , and z p are three-dimensional coordinates of the determined intersection point and x b , y b , and z b are three-dimensional coordinates of the identified bottom of the projected contour.

17. The one or more non-transitory machine-readable storage media of claim 16 , wherein to apply the Kalman filter further comprises to:

determine a Jacobian according to

∂

z

∂

x

=

[

1

-

z

b

z

a

0

-

1

z

a

⁢

(

x

p

-

x

a

)

0

1

-

z

b

z

a

-

1

z

a

⁢

(

y

p

-

y

a

)

0

0

1

]

;

 and

apply an extended Kalman filter based on the determined state vector, the determined measurement vector, and the determined Jacobian,

wherein x a , y a , and z a are three-dimensional coordinates of the fisheye camera.

18. The one or more non-transitory machine-readable storage media of claim 15 , wherein to project the contour of the identified object comprises to select a virtual plane that is nearest the identified object and on which to project the contour of the identified object.

19. The one or more non-transitory machine-readable storage media of claim 15 , wherein to identify the bottom of the projected contour comprises to (i) determine a bounding box of the projected contour on the virtual plane and (ii) identify a middle point of a bottom of the bounding box; and

wherein to determine the intersection point of the line with the ground plane comprises to determine an intersection point of a center of the fisheye camera with the middle point of the bottom of the bounding box.

20. The one or more non-transitory machine-readable storage media of claim 15 , wherein to determine the intersection point of the line with the plane ground comprises to determine the intersection point according to

x

p

=

-

z

b

z

a

-

z

b

⁢

x

a

+

z

a

z

a

-

z

b

⁢

x

b

,

y

p

=

-

z

b

z

a

-

z

b

⁢

y

a

+

z

a

z

a

-

z

b

⁢

y

b

,

 and z p =0 wherein:

x p , y p , and z p are three-dimensional coordinates of the intersection point;

x a , y a , and z a are three-dimensional coordinates of the fisheye camera; and

x b , y b , and z b are three-dimensional coordinates of the bottom of the identified object.

21. A method for determining a distance of an object from a vehicle by a computing device of the vehicle, the method comprising:

identifying, by the computing device, an object captured in a fisheye image generated by a fisheye camera of the vehicle;

projecting, by the computing device, a contour of the identified object on a selected virtual plane that is located outside the vehicle and selected from a predefined set of virtual planes based on a location of the identified object relative to the vehicle;

identifying, by the computing device, a bottom of the projected contour on the selected virtual plane;

determining, by the computing device, an intersection point of an imaginary line with a ground plane coincident with a plane on which the vehicle is positioned, wherein the imaginary line passes through each of the identified bottom of the projected contour and the fisheye camera; and

determining, by the computing device, a location of the identified object relative to the vehicle based on the determined intersection point and the identified bottom of the projected contour.

22. The method of claim 21 , wherein determining the location of the identified object relative to the vehicle comprises applying a Kalman filter based on the determined intersection point and the identified bottom of the projected contour by:

determining a state vector of the Kalman filter according to {right arrow over (x)}=[x p y p z b ] T ;

determining a measurement vector of the Kalman filter according to {right arrow over (z)}=[x b y b z b ] T ;

applying the Kalman filter based on the determined state vector and the determined measurement vector, wherein:

x p , y p , and z p are three-dimensional coordinates of the intersection point; and

x b , y b and z b are three-dimensional coordinates of the bottom of the identified object.

23. The method of claim 22 , wherein applying the Kalman filter further comprises:

determining a Jacobian according to

∂

z

∂

x

=

[

1

-

z

b

z

a

0

-

1

z

a

⁢

(

x

p

-

x

a

)

0

1

-

z

b

z

a

-

1

z

a

⁢

(

y

p

-

y

a

)

0

0

1

]

;

 and

applying an extended Kalman filter based on the determined state vector, the determined measurement vector, and the determined Jacobian,

wherein x a , y a , and z a are three-dimensional coordinates of the fisheye camera.

24. The method of claim 21 , wherein identifying the bottom of the projected contour comprises (i) determining a bounding box of the projected contour on the virtual plane and (ii) identifying a middle point of a bottom of the bounding box; and

wherein determining the intersection point of the line with the ground plane comprises determining an intersection point of a center of the fisheye camera with the middle point of the bottom of the bounding box.

25. The method of claim 21 , wherein determining the intersection point of the line with the ground plane comprises determining the intersection point according to

x

p

=

-

z

b

z

a

-

z

b

⁢

x

a

+

z

a

z

a

-

z

b

⁢

x

b

,

y

p

=

-

z

b

z

a

-

z

b

⁢

y

a

+

z

a

z

a

-

z

b

⁢

y

b

,

 and z p =0 , wherein:

x p , y p , and z p are three-dimensional coordinates of the intersection point;

x a , y a , and z a are three-dimensional coordinates of the fisheye camera; and

x b , y b , and z b are three-dimensional coordinates of the bottom of the identified object.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2015
From: SCHOLL, KAY-ULRICH; NATROSHVILI, KOBA
To: INTEL CORPORATION
Reel/Frame 036097/0589 →
Continuity (1)
Related Publication 20160086333A1 · Mar 24, 2016