Professional Documents
Culture Documents
Communication and Collaboration Systems Group, Microsoft Research
Communication and Collaboration Systems Group, Microsoft Research
ABSTRACT
I
� ...
Y1
M=[;] ,P Z
set up local 3D coordinate system (Xi , Zi)
ti,
sition of the calibration model plane, such that the
for each po
Zi = 0
/ 1
:
R 1> t 11: plane coincides with the model plane. In addition, we assume
m
I
the model plane has a set of m feature points. Usually they
Z,/m
I
\
�
... -
\
are the corners of a checkerboard pattern. We denote these
<---_ feature points as Pj , = I,. .
j . ,m. Note the 3D coordinates
of these feature points in each model plane's local coordinate
system are identical. Each feature point's local 3D coordinate
is associated with the world coordinate as:
Fig. 2. Illustration of the notations used in the paper.
(4)
in the depth image. Extensive experimental results are pre
sented to validate the proposed calibration method.
where Mij is the jth feature point of the ith image in the
ti
world coordinate system, Ri and are the rotation and trans
2. NOTATIONS
lation from the ith model plane's local coordinate system to
the world coordinate system. The feature points are observed
Fig. 2 illustrates the notations used during our calibration pro
cedure. We assume the color camera's 3D coordinate system
in the color image as mij, which are associated with Mij
through Eq. (1).
coincides with the world coordinate system. In the homoge
neous representation, a 3D point in the world coordinate sys
Given the set of feature points Pj and their projections
(7)
M= (3)
where
3. JOINT DEPTH/COLOR CAMERA CALffiRATION I A[R t ]P
tij=mij - - i i j. (8)
Sij
3.1. Problem Statement
We next study terms related to the depth images. There
During calibration, we assume the user moves a planar cal are a set of points in the depth image that correspond to the
ibration board in front of the depth camera, similar to that model plane, as those inside the red quadrilateral in Fig. 1. We
randomly sample Ki
points within the quadrilateral, denoted Combining all the information together, we maximize the
by Mfki' i = 1,··· , n ; ki
= 1,··· ,Ki.
If the depth image is overall log likelihood as:
noise free, we shall have:
where Pi ,
i = 1,2,3 are weighting parameters. The above
which states that if we transform these points to the local co objective function is a nonlinear least squares problem, which
ordinate system of each model plane, the coordinate shallZi can be solved using the Levenberg-Marquardt method [6] .
be zero.
Since the depth images are usually noisy, we assume Mfki 3.3. Estimate Other Parameters
follows a Gaussian distribution as:
There may be a few other parameters that need to be esti
(10) mated during calibration. For instance, the color camera may
exhibit significant lens distortions, thus it is necessary to esti
The log likelihood function can thus be written as: mate them based on the observed model planes. Another set
I n
Ki c 2 of unknown parameters may be in the depth mapping func
2 ",n
L2 -
� � 2 '
""� (11) ()
tion f . . For instance, the structured light-based Kinect depth
L...i=1 Ki i=1 ki=1 (7iki
--
where
ciki aTi Midki
= (12)
(22)
where J.1 and v are the scale and bias of the z value, and
where
Ad
[�l
is the intrinsic matrix of the depth sensor. Usually Ad
is
�l
(13) pre-determined. The other two parameters J.1 and v can be
used to model the depth sensor's decalibration due to temper
ature variation or mechanical vibration, and can be estimated
and
within the same maximum likelihood framework.
(14)
L3 = =n"'""
-2-=",
1
. -p-.
� � �iTPiq,--1
iPi�ipi , (17)
fore simple to automatically identify a set of points in each
-
� � depth image that lies on the model plane. Let these points be
L... . =1 • i=1 Pi=1 i = 1,··· n;, ki , Ki.
Mfki' = 1,··· For a given depth im
where age i, if Ki :::: 3, it is possible to fit a plane to the points in
(18) that image. That is, given:
where
1
BiPi = -A[R t], (19)
SiPi = 0, (23)
and
(20)
where nf is the normal of the model plane in the depth sen '.5
0�
' '"
,
T,
'.
',��--�
. --�--�,--�� ...
"
, 1.5 2
Oeph noise 11.rdatd c:lr41ion (min) Oeph noise 11andatd ctr.ialion (mm)
(24)
o 0, T,
T,
configuration in Fig. 5. It contains three groups of curves.
In the first group, only the plane fitting likelihood term
(Eq. (11» is maximized to determine Rand t. It can be seen
that when the plane orientations are small, the calibration er
rors are big. This is intuitive, since according to Section 3.4.1,
parallel planes would not be effective in determining the rota
����--�.--�,,--7.-�� °2���--�.--�,,--7.-�� tion/translation between the depth and color sensors.
Nunber ot pia..... Nunbtf 01 plarlllll
In the second group, we use the point pair likelihood term
Fig. 4. Calibration accuracy vs. number of model planes.
(Eq. (17» to determine Rand t. For this purpose, we assume
the 4 corners of each model plane is known in both the color
s
3X10.
"�
_ _ , (pLaoott1ingonly) __ _ Ty(plMei1lingootyj
9. (plane tt1ingonly)
\
_ T:(pIa1elltingooly)
f 2
= � ::::::: i -e--T.(poinlpairsooty)
--£l_Ty(po;nlpa;rsooly)
pairs to mimic the real-world scenario. It can be seen from
Fig. 5 that with so few point pairs, the calibration error STDs
�_�:::,..oo", i"
T.(poinlpairsG"lly)
i
--.E. T.(bah)
� 1
are generally bigger than those generated by planing fitting.
�
---':-
::' Ty(boIhl
9l(bdh) �
: §
T:(boIh)
= �
-�_ :-; -- � � � An exception is the the cases of very small plane orientations,
fi
-e- <l
& '-0-
�
1 "- _ &- G -e.- -0 -0 , ..Q 0 'e-
"0--0- G-- G -e- B-C
t � G--� � n� where the plane fitting only solution performs very poorly.
0. '
t2:-"'-
"'""' 6 -� ��
.... . In the third group, we determine R and t based on the
�·�o�������--���oo�
� -- �4e.t-� -���
o
combination of plane fitting and point pair likelihood terms.
We use P2 1 and P3
" 30 40 50 60
Orientation 01 pIiw1es «()egree) Oriertalionot�(degee)
Next we study the impact of the model plane orientations. We and we assume the noise level at Z 1000 is known (adapt
=
again use 3 planes for calibration. The planes are generated ing as the horizontal axis of Fig. 6). We ran two sets of ex
as follows. We first randomly choose three vectors on the unit periments. In the first set, we assume the user is unaware of
circle in the color camera's imaging plane, and we make sure the sensor noise type, and blindly assume that the noise is
the smallest angle between the three vectors is greater than depth-independent. In the second set, the correct noise model
�. We then apply a rotation with respect to the three vectors is applied. It can be seen from Fig. 6 that using the correct
for a varying angle between 10° and 80° to generate 3 model noise model results in better calibration performance.
" r'---
, ---;.:-;:
, I,-===_:;:;;]I
� 10�
...... .....
ibration effective zone. It is well known that for calibra
• a.,(z-lrNlrlan1 roiHmodeI)
tion to work well, the checkerboard shall be placed across
O. (Klnec:lroiHmodeI)
--() a.,(K'-:lno1s.modeI)
the whole workspace. In Fig. 7 (a), we notice the chair re
O,(KInec:lroiHmodeI)
IS
6, REFERENCES
0,Uo 320.10,Vo
[5] Z. Zhang, "A flexible new technique for camera calibration,"
= 257.57. We then apply the pro
=
IEEE Transactions on Pattern Analysis and Machine Intelli
posed technique to calibrate R,t and f(·), where f(·) con gence, vol. 22,no. 11,pp. 1330-1334,2000.
tains unknown parameters such as the depth scale and bias [6] J. More, "The levenberg-marquardt algorithm: implementation
/1, /J. The depth camera's intrinsic matrix Ad is pre-set to and theory," Numerical Analysis, Lecture Notes in Mathemat
o:d = 575,j3d = 575,'Y = 0,ug = 320,vg = 240. ics, vol. 630/1978,pp. 105-116,1978.
The calibration results with plane fitting alone are [7] K. Arun, T. Huang, and S. Blostein, "Least-squares fitting of
[0.0058,-0.0049,0.0057,-16.4411,21.077,5.4074V for two 3-d point sets," IEEE Trans. PAMI, vol. 9,no. 5,pp. 698-
rotation and translation, /1 0.9771, /J 16.1883 for depth
= =
700,1987.
scale and bias. To demonstrate the calibration accuracy, we [8] M. A. Fischler and R. C. Bolles, "Random sample consensus: a
warp the color images based on the calibrated parameters, paradigm for model fitting with applications to image analysis
and overlay them onto the depth images to examine how well and automated cartography," Communications of the ACM, vol.
24,no. 6,pp. 381-395,1981.
they align with each other, as shown in Fig. 7 (a). It can be
seen that the alignment is very accurate. [9] J. S.-C. Yuan, "A general photogrammetric method for de
termining object position and orientation," IEEE Trans. on
As shown in Section 4.1.3, adding additional point cor
Robotics and Automation, vol. 5,no. 2,pp. 129-142,1989.
respondences between the color and the depth images may
[10] D. Dementhon and L. Davis, "Model-based object pose in 25
help improve calibration performance when the model planes
lines of code," International Journal of Computer Vision, vol.
do not have sufficient variations in orientation. Another ben
15,no. 1,pp. 123-141,1995.
efit of adopting point correspondences is to expand the cal-