IP Library Granted Patent US 7,526,401
Granted Patent B2
US 7,526,401 · App. 11/379,352 · Granted Apr 28, 2009

Relative range camera calibration

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 7,526,401
App. No.
11/379,352
Granted
Apr 28, 2009
Kind
B2
Abstract

Method and system for measuring a relative position and orientation of range cameras using a movement of an object within a scene. In general, the method and system determine the relative pose between two cameras by measuring a path the movement of the object makes within a scene and calculating transformation parameters based on these measurements. These transformation parameters are used to determine the relative position of each camera with respect to a base camera. The system and method include other novel features, such as a data synchronization feature that uses a time offset between cameras to obtain the transformation parameters, and a technique that improves the robustness and accuracy of solving for the transformation parameters, and an interpolation process that interpolates between sampled points if there is no data at a particular instant in time.

Claims (394)

1. A method of determining a relative position and orientation between a base camera and a non-base camera, comprising:

using a general-purpose computing device to perform the following:

measuring a path of a moving object with the base camera in a base coordinate frame;

measuring the object path with the non-base camera in a non-base coordinate frame;

calculating transformation parameters based on the object path by computing transformation parameters of an angle (θ) and an offset (Δx,Δy) that satisfy the equation:

(

x

1

y

1

1

)

=

[

cos

(

θ

)

-

sin

(

θ

)

Δ

x

sin

(

θ

)

cos

(

θ

)

Δ

y

0

0

1

]

(

x

2

y

2

1

)

,

 where (x 1 ,y 1 ) is an (x,y) location of the moving object in a ground plane as a function of time as measured by the base camera and (x 2 ,y 2 ) is a corresponding location of the moving object as measured by the non-base camera; and

applying the transformation parameters to the object path measured by the non-base camera such that that the object path measured by the non-base camera may be expressed in the base coordinate frame.

2. The method of claim 1 , wherein the moving object is a person moving around a scene.

3. The method of claim 1 , further comprising using a time offset, Δt, to synchronize data from the base camera and the non-base camera.

4. The method of claim 1 , further comprising picking random pairs of corresponding points from a data set represented by ((x 1k *, y 1k *,x 2k *, y 2k *), where 1≦k≦n.

5. The method of claim 4 , further comprising computing the θ and (Δx,Δy) that minimize the sum of the Euclidean distances between corresponding points in (x 1k *,y 1k *,x 2k *,y 2k *), 1≦k≦n.

6. The method of claim 5 , further comprising computing the angle, θ, using:

tan

(

θ

)

=

k

=

1

n

(

(

x

2

k

*

-

x

_

2

*

)

(

y

1

k

*

-

y

_

1

*

)

-

(

y

2

k

*

-

y

_

2

*

)

(

x

1

k

*

-

x

_

1

*

)

)

k

=

1

n

(

(

x

1

k

*

-

x

_

1

*

)

(

x

2

k

*

-

x

_

2

*

)

+

(

y

1

k

*

-

y

_

1

*

)

(

y

2

k

*

-

y

_

2

*

)

)

where,

(

x

_

1

*

,

y

_

1

*

)

=

1

n

(

k

=

1

n

x

1

k

*

,

k

=

1

n

y

1

k

*

)

(

x

_

2

*

,

y

_

2

*

)

=

1

n

(

k

=

1

n

x

2

k

*

,

k

=

1

n

y

2

k

*

)

.

7. The method of claim 5 , further comprising computing the translation (Δx,Δy) using:

(

Δ

x

Δ

y

)

=

(

x

_

1

*

y

_

1

*

)

-

[

cos

(

θ

)

-

sin

(

θ

)

sin

(

θ

)

cos

(

θ

)

]

(

x

_

2

*

y

_

2

*

)

,

where θ and (Δx,Δy) represent a solution to the calibration problem.

8. A method for calibrating range cameras, comprising:

using a general-purpose computing device to perform the following:

capturing a path of a moving object using a base range camera and a non-base range camera;

computing transformation parameters from a first path captured by the base camera and a second path captured by the non-base camera by computing transformation parameters of an angle (θ) and an offset (Δx,Δy) that satisfy the equation:

(

x

1

y

1

1

)

=

[

cos

(

θ

)

-

sin

(

θ

)

Δ

x

sin

(

θ

)

cos

(

θ

)

Δ

y

0

0

1

]

(

x

2

y

2

1

)

,

 where (x 1 ,y 1 ) is an (x,y) location of the moving object in a around plane as a function of time as measured by the base camera and (x 2 ,y 2 ) is a corresponding location of the moving object as measured by the non-base camera; and

using the transformation parameters to correlate the first and second paths such that data captured by the non-base camera can be expressed as if the data had been captured by the base camera.

9. The method of claim 8 , further comprising matching data measured by the base and non-base cameras.

10. The method of claim 8 , further comprising applying a time offset to data from at least one of the base and non-base cameras to correct for unsynchronized data between the base and non-base cameras.

11. The method of claim 9 , further comprising selecting a time value and matching points of the path as measured by the base camera at the time value with points of the path as measured by the non-base camera at the time value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →