Vous êtes sur la page 1sur 5

Calibracin de Cmara Inferior del Robot Nao

Alberto Isaac Prez Sanpablo


Departamento de Control Automtico, CINVESTAV
Laboratorio de Anlisis de Movimiento, INR
Ciudad de Mxico, Mxico
aperez@ctrl.cinvestav.mx; albperez@inr.gob.mx

ResumenEn este trabajo se emplean las herramientas para


calibracin de la cmara para Matlab (Camera Calibration
Toolbox) desarrollado por Jean-Yves Bouguet. Este toolbox se
utilize para calcular el modelo de cmara estenopeica de la
cmara inferior de un robot NAO.

radial y tangencial respectivamente. La distorsin radial mueve


los puntos del centro a los bordes de la imagen y la tangencial
realiza una transferencia perpendicular de los puntos respecto a
una lnea radial. La distorsin radial se aprecia como
distorsiones de cojn o barril. Estas distorsiones son pequeas y
se pueden caracterizar por dos coeficientes de una serie de
Taylor (k1 y k2) y (p1 y p2).

Keywordscalibracin; videocmara; estenopeica; Camera


Calibration Toolbox; NAO

Los parmetros internos de la cmara se denominan


intrnsecos y la pose de la cmara respecto al marco de
referencia base se llaman extrnsecos. En coordenadas
homogneas un punto de la imagen se denota como [u,v,1] y
un punto 3D como [x,y,z,1].

I. INTRODUCCION
La proyeccin de un punto de una escena tridimensional en
una imagen bidimensional puede ser descrita mediante el
modelo de cmara estenopeica, ver Figura 1.

Figura 1. Formacin de imagen en el modelo de cmara


estenopeica
Matemticamente esto corresponde a un mapeo del espacio
Euclideano R3 en el espacio Euclideano R2. La proyeccin de
un punto de la imagen p puede modelarse como un operador
algebraico K sobre un punto P en el espacio 3D p = KP. El
origen del marco de referencia de la cmara se encuentra en el
plano de la lente. Donde f es la distancia focal efectiva. El
punto (px,py) principal es el centro geomtrico de la imagen.

El robot NAO posee dos cmaras VGA de resolucin


640x480 pixeles con velocidad de captura de 30 cuadros por
segundo, con una distancia focal de 30 cm, con un campo de
visin diagonal de 58 y un desfase sobre el eje vertical de 40
entre ellas, ver Figura 2. En este trabajo se realizar la
calibracin utilizando un modelo estenopeico de la cmara
inferior para obtener los parmetros intrnsecos de la misma.

Figura 2. Vista lateral del desfase y posicin de las


cmaras del robot NAO
.

En la prctica los lentes de las cmaras poseen defectos de


fabricacin y de alineacin lo que se traduce en distorsin

II. METODOLOGA
La calibracin de la cmara se realiz utilizando las
herramientas para calibracin de la cmara para Matlab

(Camera Calibration Toolbox) desarrollado por Jean-Yves


Bouguet[1]. Este toolbox est basado en el mtodo de Zhang
en el cual un punto tridimensional M y su proyeccin m se
relacionan de la forma sm=[R t] M, donde s es un factor de
escala y (R,t) son la rotacin y traslacin del marco de
referencia de la cmara respecto del marco de referencia base.
La homografa H estimada tiene 8 grados de libertad y 6
parmetros por lo que solo 2 restricciones de los parmetros
instrinsecos pueden ser obtenidos en cada proceso de
calibracin, por tanto un algoritmo iterativo encuentra la
solucin por pares.
Se adquirieron 15 imgenes RGB de un patrn tipo tablero
de ajedrez con formato JPG mediante una aplicacin en
OpenCV de desarrollo propio. Las imgenes fueron importadas
al Camera Calibration Toolbox mediante los procesos Image
Names y Read images, ver Figura 3.

que realiza primero la inicializacin y despus una


optimizacin.
Posteriormente se retroproyectaron los puntos reticulares en
las imgenes originales mediante el proceso Reproject in
images y se calcul el error de retroproyeccin que se visualiza
mediante el proceso Analyse error. Este error se disminuy
calibrando nuevamente la cmara despus de recalcular las
esquinas de todas las imgenes automticamente mediante el
proceso Recomp.corners con un tamao de ventana
wintx=winty=5. Los parmetros extrnsecos se muestran
mediante el proceso Show Extrinsic. El efecto de la distorsin
radial y tangencial se visualiz mediante el proceso
visualize_distortions. Finalmente se corrige la distorsin de la
imagen 15 mediante el proceso Undistort image. Los
resultados obtenidos se compararon con resultados encontrados
en la literatura[24].
III. RESULTADOS
El resultado de la primer calibracin que se logr despus
de 18 iteraciones, se muestra a continuacin, ver Figura
5Figura 6
Focal Length: fc=[288.620 280.173]+/-[5.732 11.230]
Principal point: cc=[319.500 239.500]+/-[0.000 0.000]
Skew: alpha_c=[0.0]+/-[0.0]=>angle of pixel axes= 90+/-0
Distortion: kc=[0.362 -1.756 -0.015 -0.001 0.000]+/-[ 0.051
0.568 0.004 0.001 0.000]
Pixel error: err=[ 0.103 0.206]

Figura 3. Mosaico de imgenes utilizadas para calibracin


Se extrajeron los bordes mediante el proceso Extract grid
corners utilizando un tamao de ventana de wintx=winty=5
pixels, sin estimacin inicial de distorsin, ver Figura 4.
Y
O

Figura 5. Detalle de retroproyeccin de puntos en imagen


15 usando primer calibracin
Figura 4. Extraccin de esquinas en imagen 15.
Se realiz la calibracin de la cmara mediante el proceso
Calibration. Este proceso calcula una primer solucin sin
distorsin de la lente, seguida de una optimizacin no lineal de
la solucin por gradiente descendiente con clculo del
Jacobiano que minimiza el error de retroproyeccin (en
mnimos cuadrados) sobre los parmetros de calibracin (9
para los intrnsecos: foco, punto principal, coeficientes de
distorsin y 6*20 para los extrnsecos, en total 129 parmetros)

Reprojection error (in pixel) - To exit: right button

Reprojection error (in pixel) - To exit: right button


0.6

0.6

0.4

0.4

0.2

0.2

-0.2

-0.2

-0.4

-0.4
-0.6

-0.6
-0.8

-0.8
-1
-0.8

-0.6

-0.4

-0.2

0.2

0.4

0.6

0.8

-0.8

-0.6

-0.4

-0.2

Figura 6. Anlisis del error despus de calibracin inicial


El detalle del nivel de intensidad en la regin de un borde
de la imagen 15 se muestra a continuacin, ver Figura 7

0.2

0.4

0.6

0.8

Figura 8. Anlisis del error despus de calibracin inicial


El efecto de la distorsin radial y tangencial se muestra en
Figura 9 y Figura 10.
Radial Component of the Distortion Model
0

4
2

4 68

4
2

50

4
2

100

150

200

250

300

350

400

2 4
68

450

0
Pixel error

100
=
[0.1025, 0.2055]200

300

400

500

600

Figura 9. Distorsin radial de la cmara


Figura 7. Detalle de niveles de intensidad de un borde de
imagen 15.
Despus de recalcular 5 veces las esquinas de todas las
imgenes
automticamente
mediante
el
proceso
Recomp.corners con un tamao de ventana wintx=winty=5 se
obtuvieron en una sola iteracin los siguientes parmetros, ver
Figura 8.

6
50

100

2
1

150

200

250

300

Focal Length: fc=[288.662 280.242]+/-[5.700 11.171]


Principal point: cc=[319.500 239.500]+/-[0.000 0.000]
Skew: alpha_c=[0.0]+/-[0.0]=>angle of pixel axes= 90+/-0
Distortion: kc=[0.362 -1.759 -0.015 -0.001 0.000]+/-[ 0.051
0.565 0.004 0.001 0.000]
Pixel error: err=[ 0.102 0.205]

Tangential Component of the Distortion Model


0

1
1

350

3
400

2
450
Pixel error 0

100
= [0.1025,
0.2055] 200

300

400

500

600

Figura 10. Distorsin tangencial de la cmara


Finalmente la correccin de distorsin de la imagen 15 se
muestra en la Figura 11. Prstese atencin al borde superior de
la imagen.

Figura 11. Correccin de distorsin de imagen 15


Los resultados se compararon con otros previamente en la
literatura ver Figura 12 y Figura 13.

Figura 14. Error residual de la cmara de [2]


IV. DISCUSIN Y CONCLUSIONES
Como puede apreciarse en las imgenes a pesar de utilizar
un patrn blanco y negro, los valores obtenidos no alcanzan los
valores mnimo y mximo tericos. Esto puede deberse a una
iluminacin limitada que no permite saturar el sensor; as como
a la respuesta del sensor que no puede proporcionar un valor
mnimo exactamente igual a cero en la ausencia de luz.
Figura 12 Distorsin radial de la cmara de [3]

Por otro lado la estimacin de parmetros de la cmara


mejor aplicando la deteccin automtica de esquinas, tanto el
error como el nmero de iteraciones necesarias para encontrar
la solucin disminuyeron. La distancia focal obtenida tiene una
variacin de 3% entre el eje vertical y horizontal, esto puede
deberse a defectos de la lente o las imgenes utilizadas para
realizar la calibracin. En el segundo caso puede corregirse
capturando imgenes con mayor variacin horizontal de la
posicin de la retcula. Los resultados se encuentran dentro de
un rango de variacin de 0.5% a 2.5% a lo reportado en la
literatura[4].
El punto principal tiene un desfasamiento de 0.5 pixeles
respecto al centro de la imagen. La informacin de la distorsin
se representa principalmente mediante los primeros 3
coeficientes. La distorsin radial y tangencial son similares a
las reportadas previamente[3]. Por ello puede concluirse que la
calibracin de la cmara se realiz adecuadamente.

Figura 13. Distorsin tangencial de la cmara de [3]

REFERENCIAS
[1]

Bouguet JY. Camera calibration toolbox for Matlab 2008:16.


http://www.vision.caltech.edu/bouguetj/calib_doc/.

[2]

Kastner T, Rofer T, Laue T. Automatic robot calibration for the


NAO. Lect Notes Artif Intell (Subseries Lect Notes Comput Sci
2015;8992:23344. doi:10.1007/978-3-319-18615-3_19.

[3]

Sanchez TG, Intelligence A. Artificial Vision in the Nao Humanoid


Robot. 2009.

[4]

Kovacic Z, Petric F, Miklic D, Babic A, Hrvatinic K. Laboratory for


Robotics and Intelligent Control Systems. 2014.

Vous aimerez peut-être aussi