Controladores
Controladores
Controladores
www.elsevier.com/locate/patcog
Abstract
Camera calibrating is a crucial problem for further metric scene measurement. Many techniques and some studies
concerning calibration have been presented in the last few years. However, it is still di1cult to go into details of a
determined calibrating technique and compare its accuracy with respect to other methods. Principally, this problem
emerges from the lack of a standardized notation and the existence of various methods of accuracy evaluation to choose
from. This article presents a detailed review of some of the most used calibrating techniques in which the principal
idea has been to present them all with the same notation. Furthermore, the techniques surveyed have been tested and
their accuracy evaluated. Comparative results are shown and discussed in the article. Moreover, code and results are
available in internet. ? 2002 Pattern Recognition Society. Published by Elsevier Science Ltd. All rights reserved.
Keywords: Camera calibration; Lens distortion; Parameter estimation; Optimization; Camera modelling; Accuracy evaluation; 3D
reconstruction; Computer vision
0031-3203/02/$22.00 ? 2002 Pattern Recognition Society. Published by Elsevier Science Ltd. All rights reserved.
PII: S 0 0 3 1 - 3 2 0 3 ( 0 1 ) 0 0 1 2 6 - 1
1618 J. Salvi et al. / Pattern Recognition 35 (2002) 1617–1635
4. Camera localization: When a camera is placed in the usually the distance between the imaged points and
hand of a robot arm or on a mobile robot, the position the modelled projections obtained by iterating. The
and orientation of the camera can be computed by advantage of these iterating techniques is that almost
locating some known landmarks in the scene. If these any model can be calibrated and accuracy usually
measurements are stored, a temporal analysis allows increases by increasing the number of iterations up
the handler to determine the trajectory of the robot. to convergence. However, these techniques require a
This information can be used in robot control and path good initial guess in order to guarantee convergence.
planning [12–14]. Some examples are described in classic photogram-
metry [30] and Salvi [31].
Camera calibration is divided into two phases. First, 2. Linear techniques which compute the transformation
camera modelling deals with the mathematical approxi- matrix. These techniques use the least squares method
mation of the physical and optical behavior of the sensor to obtain a transformation matrix which relates 3D
by using a set of parameters. The second phase of camera points with their 2D projections. The advantage here
calibration deals with the use of direct or iterative meth- is the simplicity of the model which consists in a sim-
ods to estimate the values of these parameters. There are ple and rapid calibration. One drawback is that linear
two kinds of parameters in the model which have to be techniques are useless for lens distortion modelling,
considered. On the one hand, the intrinsic parameter set, entailing a rough accuracy of the system. Moreover,
which models the internal geometry and optical charac- it is sometimes di1cult to extract the parameters from
teristics of the image sensor. Basically, intrinsic param- the matrix due to the implicit calibration used. Some
eters determine how light is projected through the lens references related to linear calibration can be found in
onto the image plane of the sensor. The other set of pa- Hall [20], Toscani-Faugeras [23,32] and Ito [15].
rameters are the extrinsic ones. The extrinsic parameters 3. Two-step techniques. These techniques use a linear
measure the position and orientation of the camera with optimization to compute some of the parameters and,
respect to a world coordinate system, which, in turn, pro- as a second step, the rest of the parameters are com-
vides metric information with respect to a user-;xed co- puted iteratively. These techniques permit a rapid cali-
ordinate system instead of the camera coordinate system. bration considerably reducing the number of iterations.
Camera calibration can be classi;ed according to sev- Moreover, the convergence is nearly guaranteed due
eral diHerent criteria. For instance, (1) Linear versus to the linear guess obtained in the ;rst step. Two-step
non-linear camera calibration (usually diHerentiated techniques make use of the advantages of the previ-
depending on the modelling of lens distortion) [15]. (2) ously described methods. Some references are Tsai
Intrinsic versus extrinsic camera calibration. Intrinsic [24], Weng [33] and Wei [22].
calibration is concerned only with obtaining the physical
and optical parameters of the camera [16,17]. Besides, This article is a detailed survey of some of the most fre-
extrinsic calibration concerns the measurement of the po- quently used calibrating techniques. The ;rst technique
sition and orientation of the camera in the scene [18,19]. was proposed by Hall in 1982 and is based on an implicit
(3) Implicit [20] versus explicit [21] calibration. Implicit linear camera calibration by computing the 3 × 4 transfor-
calibration is the process of calibrating a camera without mation matrix which relates 3D object points with their
explicitly computing its physical parameters. Although, 2D image projections [20]. The latter work of Faugeras,
the results can be used for 3D measurement and the gen- proposed in 1986, was based on extracting the physi-
eration of image coordinates, they are useless for camera cal parameters of the camera from such a transformation
modelling as the obtained parameters do not correspond technique, thus it is explained as the second technique
to the physical ones [22]. Finally, (4) the methods which [23,32]. The following methods are based on non-linear
use known 3D points as a calibrating pattern [23,24] or explicit camera calibration, including the modelling of
even a reduced set of 3D points [25,26], with respect to lens distortion. Hence, the ;rst one is a simple adaptation
others which use geometrical properties in the scene such of the Faugeras linear method with the aim of including
as vanishing lines [27] or other line features [28,29]. radial lens distortion [31,34]. The widely used method
These diHerent approaches can also be classi;ed re- proposed by Tsai, which is based on a two-step tech-
garding the calibration method used to estimate the pa- nique modelling only radial lens distortion, is also de-
rameters of the camera model: tailed [24]. Finally, the complete model of Weng, which
was proposed in 1992, including three diHerent types of
1. Non-linear optimization techniques. A calibrating lens distortion, is explained as the last technique [33].
technique becomes non-linear when any kind of lens Note that one of the principal problems to understand
imperfection is included in the camera model. In a calibrating technique in detail is the lack of notation
that case, the camera parameters are usually obtained standardization in mathematical equations and the use
through iteration with the constraint of minimizing of diHerent sets of coordinate systems. Both limitations
a determined function. The minimizing function is complicate the comparing of techniques, thus a great deal
J. Salvi et al. / Pattern Recognition 35 (2002) 1617–1635 1619
OI
Image
coordinate
{I } XI
XR
system YI Image plane
Step 4
YR {R} (u , v0 )
0
Pw
OR Pd
YC
Pu
f
ZC Step 3
XC Step 2
OC {C} YW XW
Camera
coordinate World ZW
system coordinate
system OW {W }
Step 1
C
KW
Fig. 1. The geometric relation between a 3D object point and its 2D image projection.
of eHort has been made to present the survey using the However, there are also some non-linear models which
same notation. All ;ve techniques are explained herein accurately model the lens. These are useful for some ap-
and their 2D and 3D accuracy shown and discussed. A plications where greater precision is required.
brief overview of camera accuracy evaluation [35] is in- The simplest model is the one proposed by Hall [20].
cluded with the aim of using the same tools to compare The goal is to ;nd a linear relationship among the 3D
diHerent calibrating techniques implemented. points of the scene with their 2D projecting points on the
This article is structured as follows. Section 2 deals image plane. This relationship is approximated by means
with camera modelling and how the camera model is of a transformation matrix, 1 as shown in the equation.
gradually obtained by a sequence of geometrical transfor-
WXw
mations is explained. Section 3 describes the ;ve diHer- s IXd A11 A12 A13 A14 W
ent techniques of camera calibration, which estimate the s IYd = A21 A22 A23 A24 WYw : (1)
Zw
parameters of the camera model. Then, a few methods s A31 A32 A33 A34
for accuracy evaluation of camera calibrating techniques 1
are explained in Section 4. Finally, both 2D and 3D ac- Then, given a 3D point Pw , expressed with respect
curacy of each calibration technique have been measured to the metric world coordinate system (i.e. WPw ), and
and their results are shown and compared. The paper ends applying the transformation matrix proposed by Hall, the
with conclusions. 2D point Pd in pixels with respect to the image coordinate
system is obtained, i.e. IPd = ( IXd ; IYd ).
However, camera modelling is usually broken down
2. Camera model into 4 steps, as is detailed in the following list (see also
Fig. 1).
A model is a mathematical formulation which approx-
1. The ;rst step consists of relating point WPw from the
imates the behavior of any physical device by using a set
world coordinate system to the camera coordinate sys-
of mathematical equations. Camera modelling is based
tem, obtaining CPw . This transformation is performed
on approximating the internal geometry along with the
by using a rotation matrix and a translation vector.
position and orientation of the camera in the scene. There
are several camera models to choose from depending on
the desired accuracy [15]. The simplest are based on lin- 1 The appendix at the end of the paper details the used
2. Next, it is necessary to carry out the projection of point All the various models reviewed solved the projective
C
Pw on the image plane obtaining point CPu , by using transformation by using the same Eq. (3).
a projective transformation.
3. The third step models the lens distortion, based on a 2.3. Lens distortion
disparity with the real projection. Then, point CPu is
transformed to the real projection of CPd (which should The third step is based on modelling the distortion
coincide with the points captured by the camera). of the lenses. However, each model surveyed required
4. Finally, the last step consists of carrying out another a diHerent approach. Eqs. (4) transform the undistorted
coordinate system transformation in order to change point CPu to the distorted point CPd , where x and y
from the metric coordinate system of the camera to represent the distortion involved.
the image coordinate system of the computer in pixels, C
Xu = CXd + x ; C
Yu = CYd + y : (4)
obtaining IPd .
The camera model proposed by Faugeras and Toscani
In the following, the diHerent camera models of [32] does not model the lens distortion, therefore, CPu
Faugeras–Toscani [32], Faugeras–Toscani with distor- and CPd are the same point. In this case x and y are
tion [34], Tsai [24] and Weng [33] are explained in detail zero, as shown in the equations.
with attention on how they carry out the above four steps.
x = 0; y = 0: (5)
The Faugeras–Toscani model however can be im-
2.1. Changing from the world to the camera proved by modelling the radial lens distortion [34]. Tsai
coordinate system [24] has modelled distortion in the same way. As shown
in Eqs. (6), x and y represent the radial distortion [30].
Changing the world coordinate system to the camera This type of distortion is mainly caused by Lawed radial
coordinate system is carried out in the same way in all the curvature of the lens. See also [33].
surveyed models. This transformation is modelled using
a translation vector and a rotation matrix, as shown in x = xr ; y = yr : (6)
the equation. The displacement given by the radial distortion dr can
be modelled by Eqs. (7), which consider only k1 the ;rst
C W
Xw Xw term of the radial distortion series. It has been proved
C C C
Y w = RW Y w + T W :
W
(2) that the ;rst term of this series is su1cient to model the
C W
Zw Zw radial distortion in most of the applications [24].
W
xr = k1 CXd ( CXd2 + CYd2 ); yr = k1 CYd ( CXd2 + CYd2 ):
Then, given a point Pw related to the world coordi- (7)
nate system, and applying Eq. (2), the point CPw in re-
lation to the camera coordinate system is obtained. Note The model of Weng [33] considers three types of dis-
that CRW expresses the orientation of the world coordi- tortion: radial distortion, decentering distortion and thin
nate system {W } with respect to the axis of the camera prism distortion. The total distortion will be the sum of
coordinate system {C }, and that CTW expresses the po- these three distortions.
sition of the origin of the world coordinate system mea- x = xr + xd + xp ; y = yr + yd + yp : (8)
sured with respect to {C }.
However, Weng proposed to model the lens distortion
from the undistorted image point ( CXu ; CYu ) instead of
2.2. Projection of the 3D point on the image plane the distorted one ( CXd ; CYd ). Although both approaches
can be considered, it also has to be taken into account
Consider that any optical sensor can be modelled as a that the calibrating parameters will be diHerent. Hence,
pinhole camera [2]. That is, the image plane is located at Eqs. (4) have to be substituted by the equations.
a distance f from the optical center OC , and is parallel C
Xd = CXu + x ; C
Yd = CYu + y : (9)
to the plane de;ned by the coordinate axis XC and YC .
Moreover, given an object point ( CPw ) related to the The radial distortion is modelled in the same manner
camera coordinate system, if it is projected through the Tsai proposed, except that Weng used the undistorted
focal point (OC ), the optical ray intercepts the image points.
plane at the 2D image point ( CPu ). This relation is shown xr = k1 CXu ( CXu2 + CYu2 ); yr = k1 CYu ( CXu2 + CYu2 ):
in the equation.
(10)
C C
C Xw C Yw The decentering distortion is due to the fact that the
Xu = f CZ
; Yu = f CZ
: (3)
w w optical center of the lens is not correctly aligned with
J. Salvi et al. / Pattern Recognition 35 (2002) 1617–1635 1621
the center of the camera [33]. This type of distortion direction, Ncx is the number of sensor elements in the X
introduces a radial and tangential distortion [30], which direction, and Nfx is the number of pixels in an image
can be described by the following equations: row as sampled by the computer.
xd = p1 (3 CXu2 + CYu2 ) + 2p2 CXu CYu ;
The thin prism distortion arises from imperfection in The calibrating method depends on the model used to
lens design and manufacturing as well as camera assem- approximate the behavior of the camera. The linear mod-
bly. This type of distortion can be modelled by adding els, i.e. Hall and Faugeras–Toscani, use a least-squares
a thin prism to the optic system, causing radial and tan- technique to obtain the parameters of the model. How-
gential distortions [33]. This distortion is modelled by ever, non-linear calibrating methods, as with Faugeras–
Toscani with distortion, Tsai and Weng, use a two-stage
xp = s1 ( CXu2 + CYu2 ); yp = s2 ( CXu2 + CYu2 ): (12) technique. As a ;rst stage, they carry out a linear approx-
By adding the three Eqs. (7), (11) and (12), and carry- imation with the aim of obtaining an initial guess and
ing out the following variable replacement: g1 = s1 + p1 ; then a further iterative algorithm is used to optimize the
g2 = s2 +p2 ; g3 = 2p1 and g4 = 2p2 , the following equa- parameters. In this section, each calibrating method is
tions are obtained: explained detailing the equations and the algorithm used
to calibrate the camera parameters.
x = (g1 + g3 ) CXu2 + g4 CXu CYu + g1 CYu2
3.1. The method of Hall
+k1 CXu ( CXu2 + CYu2 );
y = g2 CXu2 + g3 CXu CYu + (g2 + g4 ) CYu2 The method used to calibrate the model of Hall is based
on expressing Eq. (1) in the following form:
+k1 CYu ( CXu2 + CYu2 ): (13) I A11 WXw + A12 WYw + A13 WZw + A14
Xu = ;
A31 WXw + A32 WYw + A33 WZw + A34
2.4. Changing from the camera image to the computer
image coordinate system I A21 WXw + A22 WYw + A23 WZw + A24
Yu = : (16)
A31 WXw + A32 WYw + A33 WZw + A34
This ;nal step deals with expressing the CPd point with
By arranging the variables, the following expressions
respect to the computer image plane in pixels {I }. This
are obtained:
change of coordinates can be made in two diHerent ways
according to the camera models surveyed. 0 = A11 WXw − A31 IXu WXw + A12 WYw
The camera model proposed by Faugeras–Toscani,
Faugeras–Toscani with distortion and by Weng use the − A32 IXu WYw + A13 WZw − A33 IXu WZw
following equations to carry out such a transformation: +A14 − A34 IXu ;
I C I C
X d = − k u X d + u0 ; Y d = − k v Y d + v0 ; (14)
0 = A21 WXw − A31 IYu WXw + A22 WYw
where (ku ; kv ) are the parameters that transform from met-
ric measures with respect to the camera coordinate sys- − A32 IYu WYw + A23 WZw − A33 IYu WZw
tem to pixels with respect to the computer image coordi-
nate system, and (u0 ; v0 ) are the components that de;ne +A24 − A34 IYu : (17)
the projection of the focal point in the plane image in pix- Finally, the unknowns Aij are arranged in a 12-
els, i.e. the principal point. They are used to determine parameter vector (A), obtaining the following equation:
the translation between both coordinate systems.
The camera model of Tsai proposed other equations to QA = 0; (18)
carry out the same transformation. These equations are where A is the vector of 12 unknowns of Eq. (19). Q
the following: is a matrix of 2n × 12 where n is the number of pair
−1C
I
Xd = − sx d x X d + u0 ; I
Yd = − dy −1CYd + v0 ; (15) points used to calibrate the camera. A pair of points is
formed by a 3D point expressed with respect to the world
where (u0 ; v0 ) are the components of the principal point coordinate system {W } and its 2D projection expressed
in pixels, sx is the image scale factor, dx = dx Ncx =Nfx ; dx in coordinates from the image plane {I }.
is the center to center distance between adjacent sen-
sor elements in the X direction, dy is the center to cen- A = (A11 A12 A13 A14 A21 A22 A23 A24 A31 A32 A33 A34 )T :
ter distance between adjacent sensor elements in the Y (19)
1622 J. Salvi et al. / Pattern Recognition 35 (2002) 1617–1635
Each pair of points adds to the Q matrix the two Finally, the vector of unknowns (A) is computed by
following rows: applying the pseudo-inverse shown in the following
W T T equation:
Xu i 0
A = (QT Q )−1 QT B : (25)
W
Yu i 0
W 0
Zu i 3.2. The method of Faugeras
0
1
W In order to obtain the complete model of the cam-
0 Xu i
era proposed by Faugeras and Toscani, it is neces-
W
0 Yu i sary to combine Eqs. (2) – (5) and (14), obtaining the
Q2i−1 = ; Q2i = W :(20) equations.
0 Zu i
r11 WXw + r12 WYw + r13 WZw + tx
0 1 I
X u = − ku f + u0 ;
r31 WXw + r32 WYw + r33 WZw + tz
I W I W
− Xu i Xw i − Y u i Xw i
I W I W r21 WXw + r22 WYw + r23 WZw + ty
− X u i Yw i − Yu i Yw i I
Yu = − k v f + v0 :
r31 WXw + r32 WYw + r33 WZw + tz
I W I W
− X u i Zw i − Yu i Zw i (26)
− IXui − IYui
Note that Eqs. (26) can be expressed in a matricial
Consider then that the 3D position of a set of n cal- form in the following manner:
ibrating points and their corresponding 2D projection W
r r12 r13 tx Xw
in the image are known (n should be bigger or equal s IXd %u 0 u0 0 11
s IYd = 0 %v v0 0r21 r22 r23 ty WYw
;
to 6). Moreover, consider without loss of generality r31 r32 r33 tz WZw
that A34 = 1. This approximation can be assumed since s 0 0 1 0
0 0 0 1 1
the transformation matrix is de;ned up to a scale fac-
tor [2]. Then, all the elements of the A vector can be (27)
obtained by using a linear least-squares technique as where %u = − fku and %v = − fkv . Then, by computing
the pseudo-inverse [20]. With the aim of applying the the product of both matrices, the transformation matrix
pseudo-inverse, it becomes necessary to modify Eq. (18) A is obtained.
considering that A34 = 1, obtaining:
WXw
Q A =B ;
(21) s IXd % u r 1 + u0 r 3 % u t x + u0 t z W
s IYd = %v r2 + v0 r3 %v ty + v0 tz WYw :
Zw
where s r3 tz
1
A = (A11 A12 A13 A14 A21 A22 A23 A24 A31 A32 A33 )T (22) (28)
and % u r 1 + u0 r 3 % u t x + u0 t z
W T T A = %v r2 + v0 r3 %v ty + v0 tz : (29)
Xu i 0
r3 tz
W 0
Yu i
The camera parameters can be extracted from the
W 0
Zu i symbolic matrix (A) by equalling it to the numeric
0 matrix obtained by calibrating the camera with the
1
W technique of Hall. Note that the orientation of the
0 Xu i
vectors ri must be orthogonal and that it is also
W
Q2i−1 =
0 ;
Q2i =
Yu i :(23)
known that the dot product between two vectors
W is equal to the multiplication of their norms multi-
0 Zu i
plied by the cosine of the angle they form. Using
0 1 these relationships, the four intrinsic parameters (%u ;
I W I W %v ; u0 ; v0 ) and the six extrinsic ones (r1 ; r2 ; r3 ; tx ; ty ; tz )
− Xu i Xw i − Y u i Xw i
can be extracted from Eq. (29) in the following
I W I W
− X u i Yw i − Yu i Yw i manner:
− IXui WZwi − IYui WZwi
u0 = A1 AT3 ; v0 = A2 AT3 ;
I I
B2i−1 = ( Xui ); B2i = ( Yui ): (24) %u = − (A1 AT1 − u02 )1=2 ; %v = − (A2 AT2 − v02 )1=2 ;
J. Salvi et al. / Pattern Recognition 35 (2002) 1617–1635 1623
By using the ri vectors in Eqs. (43), the rotation matrix error of the function. For each iteration it is necessary
C
RW is directly obtained. The three angles %; & and ' can to calculate the value of Nxk to know the new value
then be computed by equalling the symbolic rotation ma- of x.
trix to the numeric matrix obtained by calibration. At this
point, all the parameters of the linear model of Faugeras J Nxk = − G(xk −1 ): (49)
are obtained. These parameters determine the relation-
ship between the 3D object points with their projections, By, applying Eqs. (45) and (14), and passing all the
as shown in Eq. (28). However, the model of Faugeras terms from the equality to the same side, functions U (x)
can be more accurate if radial lens distortion is included. and V (x) are de;ned.
r11 WXw + r12 WYw + r13 WZw + tx ( IXd − u0 )
U (x) =f −
3.3. The method of Faugeras with radial distortion r31 WXw + r32 WYw + r33 WZw + tz − ku
2 2
When a bright accuracy is necessary, the linear method ( IXd − u0 ) ( IYd − v0 )
− k1 +
of Faugeras becomes useless. However, it can be easily − ku − kv
modi;ed by including the radial lens distortion as it has
been shown in Section 2.3. However, the equations be- ( IXd − u0 )
come non-linear, and the linear least-squares technique · ;
− ku
has to be replaced by an iterative algorithm.
Note that by combining Eqs. (2) – (4), (6) and (7), the r21 WXw + r22 WYw + r23 WZw + ty ( IYd − v0 )
following equations are obtained: V (x) =f −
r31 WXw + r32 WYw + r33 WZw + tz − kv
C r11 WXw + r12 WYw + r13 WZw + tx
2
Xd + CXd k1 r 2 = f ; 2
r31 WXw + r32 WYw + r33 WZw + tz ( IXd − u0 ) ( IYd − v0 )
− k1 +
− ku − kv
W W W
C r21 Xw + r22 Yw + r23 Zw + ty
Yd + CYd k1 r 2 = f ;
r31 WXw + r32 WYw + r33 WZw + tz ( IYd − v0 )
· : (50)
− kv
r= CX 2 + CY 2 : (45)
d d
In continuation, with the aim of solving the system,
Moreover, Eqs. (14) have to be used to transform it is necessary to apply Eqs. (50) to the n calibrating
from metric coordinates to pixels, Then, Eq. (46) de;nes points. However, in order to apply Eq. (49), it is nec-
the vector of unknowns which can be computed by us- essary to get the symbolic function G(x) and its partial
ing an iterative method as, for instance, the method of derivative matrix J , as it is shown in the following
Newton-Raphson or Levenberg-Marquardt, among oth- equations:
ers [36].
U1 (xk −1 )
x = (%; &; '; tx ; ty ; tz ; ku ; kv ; u0 ; v0 ; k1 )T : (46)
V1 (xk −1 )
G(xk −1 ) =
..
:
(51)
For example, the general method of Newton-Raphson .
minimizes the following equation: Vn (xk −1 )
G(xk ) ≈ G(xk −1 ) + J Nxk ; (47) 9U1 (xk−1 ) 9U1 (xk−1 ) 9U1 (xk−1 )
9% 9& ··· 9 k1
where x is the unknown vector, G(x) is the minimization 9V1 (xk−1 ) 9V1 (xk−1 )
···
9V1 (xk−1 )
9% 9& 9 k1
function, G(xk ) is a value close to the solution, and J
J = .. .. .. : (52)
represents the jacobian matrix of the function G(x). With ..
. . . .
the aim of ;nding a solution of Nxk ; it is necessary to
9Vn (xk−1 ) 9Vn (xk−1 ) 9Vn (xk−1 )
equal G(xk ) to zero. 9% 9& ··· 9 k1
OC {C}
XC
OR
YC Pu
Pd
YW XW
ZW
Poz
OW {W }
World
coordinate
system
Pw
ZC
At this point, a system with n equations and 7 un- the linear projection of this 3D point on the image plane
knowns is obtained, which can be expressed in the fol- (sans lens distortion) can be computed by using the
lowing form: equations
C
C W
T Xu = r11 WXw + r12 WYw + r13 WZw + tx ;
Ydi Xwi ty−1 sx r11
C
Yu = r21 WXw + r22 WYw + r23 WZw + ty : (68)
CY WY t −1 s r
di wi y x 12
C W −1 At this point the ty sign can be veri;ed. If both com-
Ydi Zwi ty sx r13
ponents of the point ( CXu ; CYu ) have the same sign as the
C −1 C
Ydi ty sx tx = Xdi : (63) point ( IXd ; IYd ), it means that the ty sign was correctly
C W −1 chosen as positive. Otherwise, it has to be considered
− Xdi Xwi ty sx r21
negative.
C W −1
− Xdi Ywi ty sx r22 The second parameter to be extracted is the scale fac-
tor (sx ). Note that by arranging Eqs. (64), the following
− CXdi WZwi ty−1 sx r23
equation is obtained:
In order to simplify the notation, the 7 unknown com- ||a1; 2; 3 ||ty
ponents of the vector can be renamed ai . sx = ; (69)
||r1 ||
a1 = ty−1 sx r11 ; a5 = ty−1 r21 ; where it is known that the norm of r1 is the unity and
the scale factor is always positive. Then, sx is obtained
a2 = ty−1 sx r12 ; a6 = ty−1 r22 ; by using the equation.
a3 = ty−1 sx r13 ; a7 = ty−1 r23 ; sx = a21 + a22 + a23 |ty |: (70)
a4 = ty−1 sx tx : (64) Furthermore, the 2D points, with respect to the camera
coordinate system ( CXd ; CYd ), can be computed from the
Note that the ai components can be easily computed
same point with respect to the image coordinate system,
by using a least-squares technique. Therefore, the point
that is ( IXd ; IYd ), by using Eqs. (55). Moreover, by using
of interest is to extract the calibrating parameters of the
Eqs. (67) the r1 and r2 vectors of the rotation matrix CRW,
camera from these ai components. First ty can be obtained
and the ;rst element of the translation vector CYW, i.e.
by using Eqs. (64) in the following manner:
tx , can be calculated. Nevertheless, the third orientation
||r2 || vector (r3 ) can be computed by a cross product between
ty = (65)
||a5; 6; 7 || r1 and r2 because of the property of orthogonality, (note
also that the determinant of any rotation matrix is the
and Eq. (65) is simpli;ed because the norm of unity, i.e. | CRW| = 1). At this point, the ;rst three steps
the vector r2 is equal to the unity, obtaining the of the method of Tsai are completed, see Fig. 3.
J. Salvi et al. / Pattern Recognition 35 (2002) 1617–1635 1627
Compute of an approxi- m
mation of f and tz position
Compute effective focal
length f, distortion
Linear optimization
coefficients k1 and tz position min Qd + C
Compute the exactly d
m, d
Fig. 3. Flowchart of the method of Tsai. No
Terminate?
3.5. The method of Weng A substitution is then applied to simplify Eqs. (72),
obtaining the equations
C
The method of Tsai is based on modelling radial lens Xu C ˆ x ( CXu ; CYu )
distortion. The accuracy obtained by Tsai is su1cient = Xd − ;
f f
for most applications. However, in some cases where the
camera lens needs to be accurately modelled, a simple C
Yu C ˆ y ( CXu ; CYu )
radial approximation is not su1cient. In such situations, = Yd − : (74)
f f
1628 J. Salvi et al. / Pattern Recognition 35 (2002) 1617–1635
This replacement of unknowns is necessary because This problem of optimization can be solved by using
the value of ( CXu ; CYu ) cannot be obtained by observa- a non-linear method, in the following manner:
tion. This fact makes it necessary to compute the dis-
tortion from the observed points after representing them 1. Fix d = 0.
with respect to the camera coordinate system, that is from 2. Calculate m; which minimizes F by ;xing d; that is:
( CXˆ d ; CYˆ d ) [30,33]. This replacement is reasonable be- minm F(0; !; m; d)
cause the distortion on the image plane suHered by the 3. Calculate d; which minimizes F by ;xing m; that is:
point ( CXu ; CYu ) is approximately equal to the distor- mind F(0; !; m; d)
tion suHered by the point ( CXˆ d ; CYˆ d ). Therefore, the dis- 4. Return to step 2 until the minimization error is su1-
tortion coe1cients in x and y will be estimated from ciently tolerable.
( CXˆ d ; CYˆ d ); instead of x and y ; which was estimated
from ( CXu ; CYu ). As a result, the equations which relate This method of optimization is used to solve diverse
distorted to undistorted points are the following: problems. First, the vector d can be coupled with m mak-
ing the minimization of F false. Second, the intrinsic pa-
C rameters cannot be optimized until a su1cient approx-
Xu C ˆ
= X d + x ( CXˆ d ; CYˆ d ); imation of the extrinsic parameters is achieved. Third,
f
since m corresponds to an approximation of the linear
C parameters, it cannot be the best solution if a signi;cant
Yu C ˆ
= Y d + y ( CXˆ d ; CYˆ d ): (75) distortion is presented.
f
With the aim of obtaining a good estimation of m with
Finally, rede;ning the coe1cients k1 and g1 up to g4 ; a non-linear optimization method, it is necessary to ob-
and combining Eqs. (2), (3) and (75) the complete cam- tain an initial guess before iterating. Therefore, the ini-
era model is obtained, tial guess is calculated supposing d = 0. Then, the model
of Weng removing distortion, see Eqs. (74), is applied
r11 WXw +r12 WYw +r13 WZw +tx C ˆ 2 to the n calibrating points, obtaining 2n equations of the
= X d +(g1 + g3 ) CXˆ d
r31 WXw +r32 WYw +r33 WZw +tz form:
2 2 2
+g4 CXˆ d CYˆ d + g1 CYˆ d + k1 CXˆ d ( CXˆ d + CYˆ d ); ( IXui − u0 ) WXwi r31 + ( IXui − u0 ) WYwi r32
r21 WXw + r22 WYw + r23 WZw + ty C ˆ +( IXui − u0 ) WZwi r33 + ( IXui − u0 )tz − %u WXwi r11
= Y d + g2 CXˆ d
r31 WXw + r32 WYw + r33 WZw + tz −%u WYwi r12 − %u WZwi r13 − %u tx = 0;
2 2 2
+g3 CXˆ d CYˆ d + (g2 + g4 ) CYˆ d + k1 CYˆ d ( CXˆ d + CYˆ d ):
(76) ( IYui − v0 ) WXwi r31 + ( IYui − v0 ) WYwi r32
where A is a matrix with 2n rows and 12 columns. tPy = (s5 − vP0 s6 )= %Pv ; rP2 = (S2 − vP0 S3 )= %Pv ;
− WPwT1
01x3 I
Xu1 WPwT1
−1 0 I
Xu 1 tPz = s6 ; rP3 = S3 : (88)
W T I W T I
01x3 − Pw1 Yu1 Pw1 0 − 1 Yu 1 However, this ;rst approximation does not imply that
the matrix CRP W is orthonormal. The next step consists of
.. .. .. .. .. ..
A= . . . . . . : (83) calculating the orthonormal matrix CR̃W. The ;rst step is
to verify,
− WP T 0 I W T
Xu n P w n − 1 0 I
Xu n
wn 1x3
|| CR̃W − CRP W || = min || CRP W − CRW ||: (89)
01x3 − WPwTn I
Yun WPwTn 0 − 1 Yu nI
CR
W
However, the vector W = (W1 ; W2 ; W3 ; w4 ; w5 ; w6 )T With the aim of solving Eq. (89), it is rewritten in-
cannot be directly calculated because of the homogene- cluding a 3 × 3 identity matrix I .
ity of the system, which deals with multiple solutions. || CR̃W I − CRP W || = min || CRP W − CRW ||: (90)
However, only one of these potential solutions satis;es CR
W
the following conditions: (a) The norm of the W3 vector A 4 × 4 matrix B is then de;ned
has to be the unity because it is the third row of the
3
rotation matrix; (b) The w6 sign has to coincide with the
B= BiT Bi ; (91)
position of the optical center with respect to the image
i=1
plane: positive if the z-axis intersects the image plane,
and negative if otherwise. where
With the aim of avoiding the homogeneity of the sys- 0 (ii − rPi )T
tem of Eq. (82), it is necessary to impose the following Bi = (92)
temporary restriction: rPi − ii (rPi + ii )×
2 2
least-squares. The second stage computes the values of − g2 CXˆ d − g3 CXˆ d CYˆ d − (g2 + g4 ) CYˆ d
m iteratively. These stages are repeated as many times as
2 2
needed depending on the desired accuracy. −k1 CYˆ d ( CXˆ d + CYˆ d ) − IYd ; (98)
3.5.1. Stage of non-linear optimization of m by where the function to minimize is expressed in the
@xing d. equation
The camera model of Weng is expressed in Eq. (96), min||Qd + C ||; (99)
d
see also Eqs. (76).
where
r WXw + r12 WYw + r13 WZw + tx
r11 WXw1 +r12 WYw1 +r13 WZw1 +tx
U (x) = 11 W u 0 + %u − IXd1
r31 Xw + r32 WYw + r33 WZw + tz WX
r31 w +r32 w1 +r33 w1 +tz WY WZ
W 1
r21 Xw1 +r22 WYw1 +r23 WZw1 +ty
2 2 v0 + %v − IYd1
− CXˆ d − (g1 + g3 ) CXˆ d − g4 CXˆ d CYˆ d − g1 CYˆ d r31 WXw1 +r32 WYw1 +r33 WZw1 +tz
..
2 2 C = .
:
−k1 CXˆ d ( CXˆ d + CYˆ d );
W
r11 Xwn +r12 WYwn +r13 WZwn +tx
u 0 + %u − IXdn
r21 WXw + r22 WYw + r23 WZw + ty
r31 WXwn +r32 WYwn +r33 WZwn +tz
V (x) = W
r31 WXw + r32 WYw + r33 WZw + tz r21 Xwn +r22 WYwn +r23 WZwn +ty
v0 + %v W W W
− IYdn
r31 Xwn +r32 Ywn +r33 Zwn +tz
2 2
− CYˆ d − g2 CXˆ d − g3 CXˆ d CYˆ d − (g2 + g4 ) CYˆ d (100)
2 2 2 2
−%u CXˆ d1 ( CXˆ d1 + CYˆ d1 ) −%u ( CXˆ d1 + CYˆ d1 )
2 2
−k1 CYˆ d ( CXˆ d + CYˆ d ): (96)
2 2
Eq. (97) shows the function of minimization that has −%v CYˆ d1 ( CXˆ d1 + CYˆ d1 ) 0
to be used in optimization. .. ..
Q=
. .
n
2 2 2 2
{( IXdi − IXdi (m; d))2 + ( IYdi − IYdi (m; d))2 }: (97) −%u CXˆ dn ( CXˆ dn + CYˆ dn ) −%u ( CXˆ dn + CYˆ dn )
i=1 2 2
−%v CYˆ dn ( CXˆ dn + CYˆ dn ) 0
At this point any optimization algorithm such as
Newton-Raphson or Levenberg-Marquardt can be used 0 −%u Xˆ d1
C
−%u Xˆ d1 CYˆ d1
C
W W W
r11 Xw + r12 Yw + r13 Zw + tx
= u0 + %u
r31 WXw + r32 WYw + r33 WZw + tz 4. Accuracy evaluation
2 2
− (g1 + g3 ) CXˆ d − g4 CXˆ d CYˆ d − g1 CYˆ d The systems used to evaluate the accuracy of camera
calibration can be classi;ed in two groups. The ;rst group
2
is based on analyzing the discrepancy between the real
C ˆ2
−k1 Xˆ d (
C C
Xˆ d + Y d) − IXd ; position of the 3D object point with respect to the 3D
position estimated from its 2D projection. The second
group compares the real position in pixels of a 2D image
I
Yd (m; d) − IYd = v0 + %v CYˆ d − IYd point with the calculated projection of the 3D object point
on the image plane. In the following text, some of the
r21 WXw + r22 WYw + r23 WZw + ty most frequently used methods of accuracy evaluation are
= v0 + %v
r31 WXw + r32 WYw + r33 WZw + tz described.
J. Salvi et al. / Pattern Recognition 35 (2002) 1617–1635 1631
Table 2
Accuracy of 2D coordinate measurement
Hall does not provide the camera parameters. Second, point is known instead of the image center approxima-
Table 2 shows the results of calculating the accuracy by tion, the Tsai method without optimization is as accurate
using the third and fourth criteria, respectively. Note that as any iterative method, and allows a rapid computation.
the ;rst three calibrating methods which do not include Note that the use of the Tsai optimized method by us-
the modelling of lens distortion (i.e. Hall, Faugeras– ing the real principal point in the initial guess does not
Toscani and iterative Faugeras–Toscani without distor- suggest an important improvement in the obtained accu-
tion) obviously give the same accuracy with distorted and racy. Finally, the results show that any iterative method
undistorted 2D points as has been considered Pd = Pu . which models lens distortion provides the same accuracy
These tables show the accuracy obtained by each of without depending on the kind of modelled lens. That is,
the camera calibration techniques surveyed. It can be ob- the complete method of Weng does not obtain a better
served that the techniques, which do not model lens dis- accuracy than the simple iterative method of Faugeras
tortion (the ;rst three rows in the tables) provide less modelling only radial distortion. Even so, the accuracy is
accuracy than the others, which do model the lens. More- slightly less due to the complexity of this model which
over, the technique of Hall appears as the best undis- ill eHects the calibration. The modelling of a camera in-
torted lens method because it is based on computing the cluding a large quantity of parameters does not imply
transformation matrix without including any constraint. that the accuracy obtained will be better.
The other two techniques are based on a model which
imposes a determined form of the transformation matrix.
This fact ill eHects the calibration. However, the dis- 6. Conclusions
crepancy between their accuracy is not signi;cant. Fur-
thermore, the results show that the use of an iterative This article surveys some of the most frequently used
algorithm does not improve the accuracy obtained by calibrating techniques. EHort has been made to unify the
using the pseudo-inverse in the technique of Faugeras– notation among these diHerent methods, and they have
Toscani without distortion. This fact demonstrates that been presented in a way the reader can easily understand.
pseudo-inverse is the best approximation in undistorted We can see that the diHerences among these techniques
models. In order to improve accuracy it has to go to lens are mainly in the step concerning lens modelling. Also,
modelling. the transformation from camera to image coordinates is
It can be observed from the tables that the non-linear slightly diHerent in the method proposed by Tsai.
techniques, which model lens distortion (the last 6 rows Furthermore, a survey on accuracy evaluation has been
of the tables), obviously obtain better results than the done. The methods surveyed have been implemented and
undistorted techniques. However, the improvement ob- their accuracy has been analyzed. Results show that only
tained by the method of Tsai without optimization (;fth non-linear methods obtain a 3D accuracy smaller than
row) is not very signi;cant because only a few parame- 0:1 mm with a reasonable standard deviation. Moreover,
ters are iteratively optimized (i.e. f; tz and k1 ). Never- the accuracy of non-linear methods on the image plane
theless, when the whole set of parameters is optimized, is much better than linear methods. Results show more-
the method of Tsai (sixth row) shows the best accuracy over that the modelling of radial distortion is quite suf-
obtainable despite needing more computing time. Note ;cient when high accuracy is required. The use of more
that accuracy is limited due to image segmentation and complicated models does not improve the accuracy sig-
also that the model used always approximates the real be- ni;cantly. It should be kept in mind that segmentation
havior of the image sensor. However, if a real principal introduces a discrepancy between observable and mod-
J. Salvi et al. / Pattern Recognition 35 (2002) 1617–1635 1633
elled projections which poses conditions on the accuracy. the required accuracy. Moreover, once the calibrating
Moreover, when a low accuracy is su1cient, the fast and method is chosen, the reader can take the equations di-
simple method of Hall is su1cient for most applications. rectly from this article and easily use them in the desired
When comparing the obtained results, it can be seen calibrating algorithm.
that a relationship exists between the diHerent criteria. There are numerous advantages thanks to an accurate
Accuracy measuring methods obtain similar results if calibration. For instance, dense reconstruction of 3D ob-
they are relatively compared. That is, good calibrating jects and surfaces has applications in visual inspection
algorithms obtain acceptable accuracy results indepen- and medical imaging, such as quality control in indus-
dently from the accuracy evaluation method used. Obvi- trial manufacturing and reconstruction of human backs
ously, the results only prove something already demon- and skulls for the detection of deformations or surgery.
strated by the authors. However, in this article the ac- Another problem is the 3D pose estimation of an object
curacy has been measured by using the same test points in a scene, which has many applications such as obstacle
for all the methods so results can be reliably compared. avoidance, landmark detection and industrial part assem-
Hence, the reader can choose one or another method de- bly, among others.
pending on the accuracy required. Moreover, once the
calibrating method is chosen, the reader can take equa-
tions directly from this article to use in the desired cali-
brating algorithm. Appendix
In order to distinguish a single point from a set, i.e. [6] R.A. Jarvis, A perspective on range ;nding techniques for
the set of test points, a second sub-index is used. Then, computer vision, IEEE Trans. Pattern Anal. Mach. Intell.
Pui indicates the ith point on a set, where i = 1; : : : ; n. 5 (1983) 122–139.
A rigid transformation between a two coordinate [7] Z. Zhang, The matching problem: the state of the art,
Technical Report No. 2146, Institut National de Recherche
system is expressed by a transformation matrix, i.e. JKH
en Informatique et en Automatique, 1993.
expresses the coordinate system {H } with respect to [8] T.S. Newman, A survey of automated visual inspection,
{J }. Moreover, Image Understanding 61 (1995) 231–262.
J
[9] A. Casals, Sensor Devices and Systems for Robotics, Vol.
J RH JTH
KH = ; 52, NATO ASI Series, Springer, Berlin, Heidlberg, 1989.
01×3 1
[10] A. Broggi, Vision-based driving assistance in vehicles of
the future, IEEE Intell. Systems 13 (6) (1998) 22–23.
where R = (r1 ; r2 ; r3 )T expresses the orientation of {H } [11] L. Charbonnier, A. Fournier, Heading guidance and
measured with respect to the axis of {J }: R can also be obstacles localization for an indoor mobile robot, IEEE
given related to the three rotation angles, i.e. %; & and International Conference on Advanced Robotics, 1995, pp.
'. Moreover, T = (tx ; ty ; tz )T expresses the position of the 507–513.
origin of {H } with respect to {J }. [12] D. Khadraoui, G. Motyl, P. Martinet, J. Gallice, F.
Finally, the following camera parameters are used: Chaumette, Visual servoing in robotics scheme using
a Camera=Laser-stripe sensor, IEEE Int. J. Robotics
• k1 is the ;rst coe1cient of a series which models the Automat. 12 (1996) 743–750.
radial lens distortion. [13] R.K. Lenz, R.Y. Tsai, Calibrating a cartesian robot with
eye-on-hand con;guration independent of eye-to-hand
• g1 up to g4 are the coe1cients which model the de-
relationship, IEEE Trans. Pattern Anal. Mach. Intell.
centering and thin prism lens distortion. 11 (1989) 916–928.
• f is the focal distance, i.e. the distance from the focal [14] M. Li, Camera calibration of a head-eye system for active
point OC to the image plane. vision, European Conference on Computer Vision, 1994,
• (u0 ; v0 ) are the two components of the principal point, pp. 543–554.
i.e. the projection of OC on the image plane. [15] M. Ito, Robot vision modelling—camera modelling and
• ku ; kv are the two components which permit to trans- camera calibration, Adv. Robotics 5 (1991) 321–335.
form a point from metric coordinates to pixels. [16] R.K. Lenz, R.Y. Tsai, Techniques for calibration of the
• %u ; %v are de;ned as %u = fku and %v = fkv . scale factor and image center for high accuracy 3D
• sx is the scale factor. machine vision metrology, IEEE Trans. Pattern Anal.
Mach. Intell. 10 (1988) 713–720.
• dx = dx Ncx =Nfx [17] M. Penna, Camera calibration: a quick and easy way to
• dx ; dy are the center to center distances between adja- detection the scale factor, IEEE Trans. Pattern Anal. Mach.
cent sensor elements with respect to X direction and Intell. 13 (1991) 1240–1245.
Y direction of the CCD sensor, respectively. [18] Y. Liu, T.S. Huang, O.D. Faugeras, Determination
• Ncx is the number of sensor elements in the X direction of camera location from 2-D to 3-D line and point
of the CCD sensor. correspondences, IEEE Trans. Pattern Anal. Mach. Intell.
• Nfx is the number of pixels in an image row as sampled 12 (1990) 28–37.
by the computer. [19] C.C. Wang, Extrinsic calibration of a vision sensor
mounted on a robot, IEEE Int. J. Robotics Automat. 8
(1992) 161–175.
[20] E.L. Hall, J.B.K. Tio, C.A. McPherson, F.A. Sadjadi,
Measuring curved surfaces for robot vision, Comput. J.
References
15 (1982) 42–54.
[21] J. Batista, H. Araujo, A.T. de Almeida, Iterative multistep
[1] R.I. Hartley, Euclidean reconstruction from uncalibrated
explicit camera calibration, IEEE Int. J. Robotics Automat.
views, Second European Workshop on Applications of
15 (1999) 897–916.
Invariance in Computer Vision, 1993, pp. 237–257. [22] G.-Q. Wei, S. De Ma, Implicit and explicit camera
[2] O.D. Faugeras, Three-Dimensional Computer Vision, The calibration: Theory and experiments, IEEE Trans. Pattern
MIT Press, Cambridge, MA, 1993. Anal. Mach. Intell. 16 (1994) 469–480.
[3] R.M. Haralick, L.G. Shapiro, Computer and Robot Vision, [23] O.D. Faugeras, G. Toscani, The calibration problem for
Vol. 2, Addison-Wesley Publishing Company, Reading, stereo, Proceedings of the IEEE Computer Vision and
MA, 1993. Pattern Recognition, 1986, pp. 15 –20.
[4] R. Ahlers, J. Lu, Stereoscopic vision—an application [24] R.Y. Tsai, A versatile camera calibration technique for
oriented overview, SPIE-Opt. Illumination, Image Sensing high-accuracy 3D machine vision metrology using oH-the
Mach. Vision IV 1194 (1989) 298–307. shelf TV cameras and lenses, IEEE Int. J. Robot. Automat.
[5] J. Batlle, E. Mouaddib, J. Salvi, A survey: recent progress RA-3 (1987) 323–344.
in coded structured light as a technique to solve the [25] Z. Hong, J. Yang, An algorithm for camera calibration
correspondence problem, Int. J. Pattern Recognition 31 using a three-dimensional reference point, Pattern
(1998) 963–982. Recognition 26 (1993) 1655–1660.
J. Salvi et al. / Pattern Recognition 35 (2002) 1617–1635 1635
[26] S. Kamata, R.O. Eason, M. Tsuji, E. Kawaguchi, A de Girona, Departament d’ElectrYonica, InformYatica i
camera calibration using 4 points targets, Int. Conf. Pattern AutomYatica, 1997.
Recognition 1 (1992) 550–553. [32] G. Toscani, SystYemes de calibration et perception du
[27] L.L. Wang, W. Tsai, Camera calibration by vanishing movement en vision arti;cielle, Ph.D. Thesis, Universit*e
lines for 3-D computer vision, IEEE Trans. Pattern Anal. Paris Sud, 1987.
Mach. Intell. 13 (1991) 370–376. [33] J. Weng, P. Cohen, M. Herniou, Camera calibration with
[28] S. Chen, W. Tsai, A systematic approach to analytic distortion models and accuracy evaluation, IEEE Trans.
determination of camera parameters by line features, Pattern Anal. Mach. Intell. 14 (1992) 965–980.
Pattern Recognition 23 (1990) 859–877. [34] J. Salvi, J. Battle, E. Mouaddib, A robust-coded pattern
[29] T. Echigo, A camera calibration technique using three sets projection for dynamic 3D scene measurement, Int. J.
of parallel lines, Mach. Vision Appl. 3 (1990) 159–167. Pattern Recognition Lett. 19 (1998) 1055–1065.
[30] C.C. Stama, C. Theurer, S.W. Henriksen, Manual of [35] J.Z.C. Lai, On the sensitivity of camera calibration, J.
Photogrammetry, 4th Edition, American Society of Image Vision Comput. 11 (1993) 656–664.
Photogrammetry, Falls Church, VA, 1980. [36] J. Stoer, R. Bulirsch, Introduction to Numerical Analysis,
[31] J. Salvi, An approach to coded structured light to obtain Springer, Berlin, 1980.
three dimensional information, Ph.D. Thesis, Universitat
About the Author—JOAQUIM SALVI graduated in Computer Science in the Polytechnical University of Catalunya in 1993. He
joined the Computer Vision and Robotics Group in the University of Girona, where he received the M.S. degree in Computer Science
in July 1996 and the Ph.D. in Industrial Engineering in January 1998. He received the best thesis award in Industrial Engineering
of the University of Girona. At present, he is an associate professor in the Electronics, Computer Engineering and Automation
Department of the University of Girona. His current interest are in the ;eld of computer vision and mobile robotics, focusing on
structured light, stereovision and camera calibration.
About the Author—XAVIER ARMANGUE received the B.S. degree in Computer Science in the University of Girona in 1999
before joining the Computer Vision and Robotics Group. At present he is engaged in the study of stereovision systems for mobile
robotics and he is working for his Ph.D. in the Computer Vision and Robotics Group in the University of Girona and in the Institute
of Systems and Robotics in the University of Coimbra.
About the Author—JOAN BATLLE graduated in Physics in the Autonomous University of Barcelona, received the Ph.D. in
Computer Science in the Polytechnical University of Catalunya. At present, he is a professor in the Electronics, Computer Engineering
and Automation Department; the leader of the Computer Vision and Robotics Group; and the director of the Institute of Informatics
and Applications. His research activity is mainly focused on real-time vision and autonomous robots. He is actually involved in
some governmental projects about underwater robots and technology transfer to industrial enterprises.