Informe 2005 - Instituto Politécnico Nacionalsappi.ipn.mx/cgpi/archivos_anexo/20051896_2766.pdf ·...
Transcript of Informe 2005 - Instituto Politécnico Nacionalsappi.ipn.mx/cgpi/archivos_anexo/20051896_2766.pdf ·...
Informe 2005
Título: Sistema de reconstrucción 3D panorámico
Registro asignado por la CGPI: 20051896
Dr. José Joel González Barbosa
CICATA-QROJose Siurob No 10 Col Alamedas
Tel (442) 2 12 11 11 ext 121 [email protected]
1. Resumen
Una de las limitaciones de las cámaras normales es el ángulo de vista.
Diferentes técnicas han sido desarrolladas para la creación de imágenes panorámicas.
Las aproximaciones para obtener imágenes con ángulos de vista muy grandes pueden
ser divididos en tres tipos: el uso de imágenes múltiples, el uso de lentes especiales, y el
uso de espejos convexos. La diferencia entre los diferentes tipos de cámaras se puede
resumir respecto a la resolución y tiempo de adquisición de la imagen panorámica. El
usar múltiples imágenes tiene la ventaja de proveer imágenes panorámicas de alta
resolución a expensas de un pre-procesamientos de imagen muy costosos
(computacionalmente hablando). Sin embargo para muchas aplicaciones, por ejemplo
para la navegación de robots móviles, la visión para robots deberá generar un mapa
espacial de su ambiente dedicado a la planificación de trayectorias, evasión de
Introducción
obstáculos, y encontrar candidatos de objetos interesantes. Para estos propósitos, un
análisis detallado del ambiente en el cual se desenvuelve el robot no es necesario, pero
una interpretación a grandes rasgos y sobre todo a alta velocidad es importante. Una
aproximación efectiva para aumentar en ángulo de vista a velocidades de adquisición
altas es la utilización de espejos convexos en combinación con lentes, este tipo de
sistemas es conocido como cámaras catadióptricas y serán con las que trabajaremos en
el proyecto.
2. Introducción
Una de las capacidades visuales del hombre es la reconstrucción 3D. El hombre
utiliza esta información para inferir la distancia de los objetos, lo cual nos permite
esquivar obstáculos, tomar objetos con la mano, etc. Es posible inferir la información
3D debido a que el cerebro humano hace una triangulación de un mismo punto 3D que
es proyectado sobre dos planos (ojos) que se encuentran a diferente posición (ver figura
2.1).
Fig. 2.1 Punto 3D proyectado a cada uno de los ojos del sistema visual humano.
Para realizar la visión panorámica y posteriormente la reconstrucción 3D del ambiente
capturado, nosotros construimos un banco estéreo panorámico con dos cámaras
comerciales Hi-8 de SONY y dos esferas navideñas plateadas que nos sirven como
espejos esféricos. Esta disposición permite que un mismo punto 3D sea proyectado a
dos diferentes sistemas (similar al hombre), y así, poder inferir la información
tridimensional de los objetos con respecto a nuestro sistema. Este sistema fue montado
sobre elementos rígidos de la manera que se muestra en la Figura 2.2
Fig. 2.2 Banco estéreo panorámico.
La información 3D inferida por el cerebro humano es debida a la triangulación que
hace entre dos vistas del mismo ambiente. Sin embargo para poder inferir dicha
información, el cerebro es capaz de conocer todo el proceso de formación de las
imágenes internas que se forman en él. De una forma similar, nosotros debemos de
conocer todo el proceso de formación de las imágenes que son tomadas por nuestro
sistema. Este conocimiento del proceso se llama calibración por lo que podemos definir
la calibración de una cámara como el proceso de estimar los parámetros intrínsecos de
la cámara, es decir la ecuación de formación de la imagen. Para poder estimar los
parámetros intrínsecos, nosotros utilizamos un patrón de calibración o mira de
Introducción
calibración (conjunto de puntos del espacio de coordenadas conocidas de forma exacta).
La proyección de la distribución de puntos conocida al plano imagen nos preemitirán
inferir el proceso de formación.
Fig. 2.3 Patrón de tablero de ajedrez. Cuadros rosas ilustran la extracción de cruces.
Nosotros hemos utilizado un patrón de calibración del tipo ajedrez (ver figura 2.3).
Detectamos los cruces en la mira de calibración de forma sub-pixélica y almacenamos
las coordenadas del punto en la imagen. Cada punto extraído de la imagen tendrá una
posición 3D con respecto a una referencia arbitraria, conocida como referencia del
mundo. La referencia del mundo es puesta siempre sobre el plano de la mira de
calibración. Durante el proceso de calibración, se calcula la matriz de rotación y
traslación que nos permite transformar todos los puntos referenciados en el mundo a
estar referenciados con respecto a nuestro sistema (cámara). Esta transformación
recibe el nombre de parámetros extrínsecos.
Obtenidos los parámetros intrínsecos y extrínsecos de cada cámara, consideramos que
nuestro banco estereoscopio esta calibrado. Con el banco calibrado realizamos la
reconstrucción 3D del ambiente capturado en las imágenes panorámicas. Un punto 3D
es proyectado a dos cámaras, la posición de estas proyecciones en las cámaras
dependerá de la posición del punto 3D con respecto a las cámaras. Una de las
dificultades en la reconstrucción 3D es encontrar las parejas de proyección en ambas
imágenes. Ya que si seleccionamos un punto en una imagen, este punto podrá
encontrarse en cualquier posición de la otra imagen. Un estudio detallado de la
geometría del banco estereoscopico nos permite delimitar la zona de búsqueda. Esta
zona es conocida como geometría epipolar. Las epipolares dentro de nuestro sistema
son curvas. Dentro de nuestro trabajo, proponemos una manera de transformar las
curvas epipolares a líneas epipolares paralelas, esto nos permite utilizar un algoritmo
optimizado con el cual podemos encontrar las parejas de puntos en ambas imágenes
mediante la correlación.
3. Método
La calibración de una cámara representa un paso importante para procesos de
reconstrucción 3D o metrología mediante una cámara. Con la calibración de la cámara
se consigue estimar los parámetros intrínsecos y extrínsecos de la misma, los cuales
son necesarios para realizar la reconstrucción 3D del entorno y situar la cámara en el
mismo. En este capıtulo, presentamos una técnica de calibración de un sistema de
visión panorámica formado por un espejo esférico y una cámara de perspectiva.
Comenzamos por revisar el modelo geométrico de formación de imágenes en cámaras
de perspectiva. Enseguida mostramos el modelo de cámara panorámica que
construimos y analizamos el proceso de formación de imágenes omnidireccionales en
dicho sistema. Una vez conocido el proceso de formación y los parámetros
involucrados en dicha formación, procedemos a realizar la calibración de la cámara
usando un patrón del tipo tablero de ajedrez. Por ultimo reportamos los resultados de
la calibración de la cámara panorámica.
3 Calibracion de camaras panoramicas
3.1 Modelo de una camara perspectiva
La camara perspectiva tambien es conocida como ”pin-hole”. El modelo ”pin-hole”
representa una camara ideal libre de distorsiones que consiste en un centro optico C, en
donde convergen todos los rayos de la proyeccion, y un plano de imagen R en el cual la
imagen es proyectada. El plano de imagen esta ubicado a una distancia focal f del centro
optico y perpendicular al eje optico Z. Un esquema de este modelo se presenta en la figura
3.1
X
Fig. 3.1 Modelo geometrico de camara ”pin-hole”.
Un punto 3D M es proyectado en el plano de imagen como m. El punto 2D m se define
como la interseccion de la recta 〈C,M〉 con el plano R, donde la notacion 〈A,B〉 denota la
lınea recta que contiene los puntos A y B :
m = 〈C,M〉 ∩ R
Suponiendo que las coordenadas (no homogeneas) de los puntos M y m son (X,Y, Z) y
(x, y) respectivamente, se puede encontrar una relacion entre ellas aplicando el teorema de
3.1Modelo de una camara perspectiva
Thales.
x = fX
Z
y = fY
Z
z = f
O bien en coordenadas homogeneas, la proyeccion se escribe en forma matricial:
⎡⎢⎢⎢⎢⎣
sx
sy
s
⎤⎥⎥⎥⎥⎦
=
⎡⎢⎢⎢⎢⎣
1 0 0 0
0 1 0 0
0 0 1f
0
⎤⎥⎥⎥⎥⎦
⎡⎢⎢⎢⎢⎢⎢⎢⎣
X
Y
Z
1
⎤⎥⎥⎥⎥⎥⎥⎥⎦
(3.1)
que puede ser escrita en forma matricial como:
sm = PM (3.2)
siendo M = [X Y Z 1]T y m = [x y 1]T las coordenadas homogeneas de M y m
respectivamente, y P la matriz de 4 × 4 denominada matriz de proyeccion de perspectiva
de la camara. El factor s es un factor de escala para mantener la igualdad y es igual a
s = Zf. Modelos geometricos similares a este tipo de proyeccion son los rayos X y la camara
oscura. En los rayos X la fuente de emision es modelada como un punto y coincide con el
centro optico C. El objeto es ubicado entre la fuente de rayos X y la placa fotografica (plano
de imagen R). En este caso, las ecuaciones que describen la proyeccion coinciden con las
expresadas anteriormente. Para la camara oscura, el orificio de ingreso de luz corresponde
al centro optico C ya que por el pasan todos los haces de luz que conforman la imagen en
el plano de imagen R. Sin embargo, debido a que el centro optico se ubica entre el objeto
y el plano de imagen ocurre una inversion de la imagen, es decir, −x = f XZ
, −y = f YZ
y
−z = f. En la matriz de proyeccion perspectiva es necesario cambiar f por −f .
3 Calibracion de camaras panoramicas
En el modelo de proyeccion sm = PM se ha asumido que:
1. El origen del sistema de coordenadas del espacio 3D coincide con el centro optico C,
2. El eje optico coincide con el eje Z de este sistema de coordenadas, y
3. El origen del sistema de coordenadas del plano de la imagen coincide con la interseccion
de Z con R. Esta interseccion es conocida como el punto principal (u0, v0) de la imagen.
3.1.1 Camara CCD
La camara CCD (Charge-Coupled-Device) es un sensor de imagen que utiliza elementos
semiconductores fotosensibles en forma de arreglos matriciales. Los receptores activos de este
arreglo son distribuidos en pıxeles individuales (ver figura 3.2).
En un sensor CCD se transforma la energıa de la luz incidente en energıa electrica. La carga
electrica almacenada en la celda es posteriormente transportada utilizando un registro de
desplazamiento para conformar una senal de video. Cabe senalar que en las camaras CCD se
discretiza la imagen en pıxeles, sin embargo el valor de la carga electrica almacenado en cada
celda no se digitaliza en el arreglo CCD sino en una conversion posterior realizada por un
conversor analogo–digital. Las camaras CCD son consideradas como dispositivos que poseen
una muy baja deformacion geometrica de la imagen, una muy buena sensibilidad a la luz y
una muy buena resolucion llegando tıpicamente a los 400.000 pixeles. El tiempo de captura
de la imagen esta en el rango de 1/60s y 1/10000s.
3.1.2 Transformacion camara-imagen
Cuando hablamos de formacion de la imagen nos referimos al proceso que permite que un
punto en el espacio 3D se transforme en un punto 2D en un plano al que llamaremos plano
de la imagen.
3.1Modelo de una camara perspectiva
Fig. 3.2 Construccion de un arreglo CCD.
Aunque ya tenemos una representacion de un punto 3D en un punto 2D en el plano
imagen R, se tienen que hacer algunas consideraciones en la formacion geometrica de la
imagen. En la transformacion (x, y) → (u, v) es necesario considerar los siguientes aspectos:
Cambio de escala: Las coordenadas de una imagen estan comunmente expresadas en
otras unidades metricas que las empleadas para medir el espacio 3D. Por lo general la imagen
se expresa en pıxeles y el espacio 3D en milımetros. Por esta razon, en la transformacion de
coordenadas (x, y) → (u, v) es necesario considerar un factor de escala. Adicionalmente es
necesario tomar en cuenta que debido a que los pıxeles no son forzosamente cuadrados, el
factor de escala es distinto en cada eje de la imagen. Los factores de escala utilizados son:
para el eje vertical ku y para el eje horizontal kv expresados en (pixel/mm).
Traslacion del origen: Se introducen las variables (u0, v0) para denotar el punto
principal de la imagen en el nuevo sistema de coordenadas, es decir, en el sistema de referencia
de la imagen.
3 Calibracion de camaras panoramicas
Considerando estos dos aspectos la transformacion de coordenadas esta definida por:
⎡⎢⎢⎢⎢⎣
u
v
1
⎤⎥⎥⎥⎥⎦
=
⎡⎢⎢⎢⎢⎣
ku 0 0
0 kv 0
0 0 0
⎤⎥⎥⎥⎥⎦
⎡⎢⎢⎢⎢⎣
−1 0 0
0 1 0
0 0 −1
⎤⎥⎥⎥⎥⎦
⎡⎢⎢⎢⎢⎣
x
y
1
⎤⎥⎥⎥⎥⎦
+
⎡⎢⎢⎢⎢⎣
u0
v0
1
⎤⎥⎥⎥⎥⎦
(3.3)
Podemos escribir esta transformacion como una matriz de 3 x 3:
K =
⎡⎢⎢⎢⎢⎣
−ku 0 u0
0 kv v0
0 0 1
⎤⎥⎥⎥⎥⎦
(3.4)
y ⎡⎢⎢⎢⎢⎣
u
v
1
⎤⎥⎥⎥⎥⎦
= K
⎡⎢⎢⎢⎢⎣
x
y
1
⎤⎥⎥⎥⎥⎦
3.1.3 Parametros intrınsecos de una camara de perspectiva
Al multiplicar las matrices P y K, podemos escribir las ecuaciones del modelo geometrico
de la camara de perspectiva, siendo la relacion entre las coordenadas (X,Y, Z) del punto X
en el espacio de coordenadas 3D y las coordenadas (u, v) del punto x en la imagen:
u = −kufXZ
+ u0
v = kvfYZ
+ v0
(3.5)
El producto KP es:
IC =
⎡⎢⎢⎢⎢⎣
−ku 0 u0
0 kv v0
0 0 1
⎤⎥⎥⎥⎥⎦
⎡⎢⎢⎢⎢⎣
1 0 0 0
0 1 0 0
0 0 1f
0
⎤⎥⎥⎥⎥⎦
=
⎡⎢⎢⎢⎢⎣
−ku 0 u0
f0
0 kvv0
f0
0 0 1f
0
⎤⎥⎥⎥⎥⎦
(3.6)
3.2Modelo de camara panoramica
Los coeficientes de la matriz en la ecuacion 3.6 pueden ser multiplicados por f (el resultado
no se altera, ya que el factor de escala s puede absorber dicho valor) para obtener :
IC =
⎡⎢⎢⎢⎢⎣
−ku f 0 u0 0
0 kv f v0 0
0 0 1 0
⎤⎥⎥⎥⎥⎦
(3.7)
La transformacion de un punto en el espacio 3D al plano imagen de una camara de perspectiva
queda definida como:
s
⎡⎢⎢⎢⎢⎣
u
v
1
⎤⎥⎥⎥⎥⎦
=
⎡⎢⎢⎢⎢⎣
−ku f 0 u0 0
0 kv f v0 0
0 0 1 0
⎤⎥⎥⎥⎥⎦
⎡⎢⎢⎢⎢⎢⎢⎢⎣
X
Y
Z
1
⎤⎥⎥⎥⎥⎥⎥⎥⎦
(3.8)
Los parametros ku, kv, f , u0 y v0 son los parametros intrınsecos de la camara de perspectiva.
Para poder conocer los parametros intrınsecos de la camara antes mencionados, debemos
utilizar puntos 3D conocidos como referencia. Las proyecciones de los puntos 3D sobre el
plano de la imagen nos permitiran inferir sobre el valor de los parametros intrınsecos de la
camara.
3.2 Modelo de camara panoramica
En nuestro trabajo utilizamos una camara panoramica esferica sin centro de proyeccion
unico (no central), la cual aproximaremos a una camara panoramica con centro de proyeccion
unico (central), por las ventajas que tiene contar con un centro de proyeccio unico (ver figura
3.3) . Para hacer que nuestra camara sea central suponemos un centro de proyeccion unico
ficticio Ff a una distancia ka del centro de la esfera 1, ver figura 3.4. Con la suposicion antes
1Tambien llamado centro de curvatura.
3 Calibracion de camaras panoramicas
mencionada, el espejo esferico tiene por ecuacion:
x2 + y2 + (z + ka)2 = a2 (3.9)
Fig. 3.3 Camara panoramica esferica formada con una camara perpectiva y un espejo esferico.
3.2.1 Formacion de imagenes omnidireccionales con espejo esferico
En base al modelo de camara panoramica formada por un espejo esferico y una camara
perspectiva, desarrollaremos las ecuaciones que nos permiten proyectar un punto en el espacio
de coordenas 3D hacia el plano imagen de la camara de perspectiva pasando a traves del
espejo esferico. Las ecuaciones desarrolladas son las de un sistema ideal, es decir, el eje optico
de la camara de perspectiva y el eje del espejo coinciden.
Mediante el modelo ”pin-hole” se encontro la relacion del punto X en el mundo con el
punto (u, v) en el plano imagen. Ese punto X corresponde al punto Ps en la esfera. Como
ya se dedujeron las ecuaciones bajo las cuales se proyecta el punto Ps en la camara, resta
3.2Modelo de camara panoramica
Fig. 3.4 Aproximacion de una camara panoramica esferica no-central a una central con centro de
proyeccion unico en Ff .
encontrar ahora las relaciones para localizar la correspondencia del punto PW en el mundo
respecto a Ps de la esfera.
De la ecuacion 3.9 obtenemos que la expresion de la superficie del espejo es:
z =√
a2 − x2 − y2 − ka (3.10)
Un punto PW en el sistema de referencia del mundo es transformado a un punto
Ps = RotWPW−TW = [Xs Ys Zs]T en el sistema de referencia del espejo, Ff . Para encontrar
el punto correspondiente de PW en la esfera Ps hay que determinar el punto de interseccion
entre la esfera y la recta que se forma entre el punto PW .
Por geometrıa obtenemos que cualquier punto en la superficie del espejo proyecctado a
3 Calibracion de camaras panoramicas
traves de Ff , es igual al punto Ps por un factor λ, esto es:
x =
⎡⎢⎢⎢⎢⎣
x
y√
a2 − x2 − y2 − ka
⎤⎥⎥⎥⎥⎦
= λPs = λ
⎡⎢⎢⎢⎢⎣
Xs
Ys
Zs
⎤⎥⎥⎥⎥⎦
(3.11)
Es decir
x − λPs = 0 (3.12)
Resolviendo la ecuacion 3.12 para λ encontramos dos valores, esto es claro ya que λ
depende de dos valores de Z donde la recta toca a la esfera. El criterio de que valor se debe
tomar es aquel donde Z es positivo, por consiguiente se toma el valor λ > 0 como valido,
esto es:
λ =−a(kZs −
√X2
s − X2s k2 + Y 2
s − Y 2s k2 + Z2
s )
|X2s + Y 2
s + Z2s |
Por lo tanto
λ =a(
√|Ps| − k2(X2
s + Y 2s ) − kZs)
|Ps| (3.13)
Nosotros ahora podemos calcular la proyeccion de un punto en coordenas 3D sobre la
superficie esferica del espejo sustituyendo el valor de λ en 3.11:
x =
⎡⎢⎢⎢⎢⎣
x
y√
a2 − x2 − y2 − ka
⎤⎥⎥⎥⎥⎦
=
⎡⎢⎢⎢⎢⎣
aXs(√
|Ps|−k2(X2s +Y 2
s )−kZs)
|Ps|
aYs(√
|Ps|−k2(X2s +Y 2
s )−kZs)
|Ps|√a2 − x2 − y2 − ka
⎤⎥⎥⎥⎥⎦
(3.14)
De donde:
x =aXs(
√|Ps| − k2(X2s + Y 2
s ) − kZs)
|Ps|
y =aYs(
√|Ps| − k2(X2s + Y 2
s ) − kZs)
|Ps|
3.2Modelo de camara panoramica
y
z =√
a2 − x2 − y2 − ka
Fig. 3.5 Proyeccion de un punto en el espacio 3D hasta el plano imagen de una camara de
perspectiva utilizando un espejo esferico.
Debido a que el analisis se ha hecho tomando como referencia el sistema de coordenadas
de la esfera (0, 0, ka), es necesario realizar una traslacion en el eje Z para llevarlo al eje de
referencia del modelo pin hole. Esto porque el analisis de dicho modelo se iniciaba en ese
punto. Dicha tralacion se hace al colocar z − d en lugar de Z en la ecuacion 3.5 para este
analisis.
Finalmente se obtiene que un punto PW en el espacio de coordenadas 3D que es reflejado
por la esfera (punto Ps) tiene una proyeccion en el plano imagen de la camara mediante las
ecuaciones:
3 Calibracion de camaras panoramicas
u = −kufx
z−d+ u0
v = kvfy
z−d+ v0
(3.15)
Nosotros obtenemos los valores de x al utilizar la siguiente ecuacion:
⎡⎢⎢⎢⎢⎣
Xs
Ys
Zs
⎤⎥⎥⎥⎥⎦
= RotWPW − TW (3.16)
RotW es la matriz de rotacion 3D Euclideana entre el sistema de referencia del mundo y el
sistema de referencia del espejo, y TW es la matriz de traslacion entre estos dos sistemas de
referencia. La matriz RotW es una matriz 3 × 3 ortonormal y TW es un vector 3 × 1.
3.2.2 Transformacion 3D Euclıdeana
Dado un punto [X Y Z]T en el sistema de coordenadas del mundo W o 3D, para pasarlo
al nuevo sistema de coordenadas del espejo, es necesario que este punto sufra una rotacion
en sus tres ejes coordenados y una traslacion en sus tres componentes de coordenadas. Esto
se hace como lo indica la ecuacion:
⎡⎢⎢⎢⎢⎣
X′
Y′
Z′
⎤⎥⎥⎥⎥⎦
= RotWPW − TW (3.17)
A continuacion se definira la matriz ortonormal RotW presente en la transformacion
Euclıdeana �3 → �3. Una rotacion de los ejes de coordenadas puede ser descompuesto en
rotaciones de cada uno de los ejes tal como se muestra en la figura 3.6. Las transformaciones
de cada una de estas rotaciones estan dadas por RX ,RY y RZ en la Tabla 3.1. A manera de
ejemplo si el unico movimiento existente es la rotacion del eje X, la ecuacion que transforma
3.2Modelo de camara panoramica
las coordenadas serıa:
⎡⎢⎢⎢⎢⎣
X′
Y′
Z′
⎤⎥⎥⎥⎥⎦
=
⎡⎢⎢⎢⎢⎣
1 0 0
0 cos(wx) sen(wx)
0 −sen(wx) cos(wx)
⎤⎥⎥⎥⎥⎦
⎡⎢⎢⎢⎢⎣
X
Y
Z
⎤⎥⎥⎥⎥⎦
Fig. 3.6 Transformacion 3D Euclıdeana.
Rotacion Matriz de rotacion
Eje X RX =
⎡⎣
1 0 0
0 cos(wx) sen(wx)
0 −sen(wx) cos(wx)
⎤⎦
Eje Y RY =
⎡⎣
cos(wy) 0 −sen(wx)
0 1 0
sen(wx) 0 cos(wx)
⎤⎦
Eje Z RZ =
⎡⎣
cos(wz) sen(wx) 0
−sen(wz) cos(wz) 0
0 0 1
⎤⎦
Tabla 3.1 Matriz de rotacion de los ejes RX ,RY y RZ .
La rotacion total se puede definir entonces como primero una rotacion del eje X, luego del
eje Y y por ultimo del eje Z, eso se puede expresar matematicamente como una multiplicacion
3 Calibracion de camaras panoramicas
de las tres matrices de rotacion en el siguiente orden:
RotW = RX(wx)RY (wy)RZ(wz)
RotW =
⎡⎢⎢⎢⎢⎣
R11 R12 R13
R21 R22 R23
R31 R32 R33
⎤⎥⎥⎥⎥⎦
(3.18)
donde los elementos Rij estan expresados como:
R11 = cos(wy)cos(wx)
R12 = cos(wy)sin(wx)
R13 − sin(wy)
R21 = sin(wz)sin(wy)cos(wx) − cos(wz)sin(wx)
R22 = sin(wz)sin(wy)sin(wx) + cos(wz)cos(wx)
R23 = sin(wz)cos(wy)
R31 = cos(wz)sin(wy)cos(wx) + sin(wz)sin(wx)
R32 = cos(wz)sin(wy)sin(wx) − sin(wz)cos(wx)
R33 = cos(wz)cos(wy)
Nota: Es necesario resaltar que la multiplicacion de matrices no es conmutativa, sin
embargo es posible obtener el mismo resultado para RotW cambiando el orden de las
matrices siempre y cuando se consideren otros angulos de rotacion para cada eje. A manera de
ejemplo se puede comprobar que si primero hay una rotacion wz = 90o y luego una rotacion
wy = −90o el resultado es el mismo que con una primera rotacion de wx′
= 0o y luego una
de wz′
= 90o.
La matriz de transformacion 3D Euclıdeana depende de 6 parametros: 3 para la traslacion
tridimensional (tx, ty, tz) y 3 para la rotacion de los ejes (wx, wy, wz). Estos 6 parametros son
los parametros extrınsecos del sistema para cada imagen.
3.3Metodo de calibracion
3.3 Metodo de calibracion
Como se ha mencionado, para la calibracion de nuestro sistema vamos a utilizar un patron
plano de calibracion del tipo tablero de ajedrez. El detalle de la extraccion de sus puntos de
cruce es presentado en el anexo B. La estimacion de los parametros del modelo de camara
panoramica es realizado por una minimizacion de las distancias entre las coordenadas de los
puntos de cruce extraıdos de la imagen y sus coordenadas determinadas por la aplicacion del
modelo completo. Este problema es descrito por un sistema de 2 x n ecuaciones (donde n es
el numero de puntos de cruce).
Una buena inicializacion de los diferentes parametros a estimar es esencial para asegurar
la convergencia de los metodos de optimizacion no lineales. Para obtener los valores iniciales,
nuestro algoritmo de calibracion es realizado en varias etapas, para cada una de ellas ciertos
parametros son definidos. Finalmente, una etapa de refinamiento es hecha en la minimizacion
de todos los parametros.
3.3.1 Parametros intrınsecos del espejo esferico
El espejo esferico que utilizamos en la creacion de las dos camaras panoramicas tiene 3
parametros intrınsecos a calcular, estos son: el radio del espejo, a; la distancia a la que se
encuentra el centro unico de proyeccion del centro de la esfera, k; y la distancia del centro
unico de proyeccion al centro optico de la camara, d (ver figura 3.4). En condiciones ideales las
esferas no tienen un centro unico de proyeccion. Tienen una superficie de proyeccion conocida
como superficie caustica. Nosotros al igual que Micusık y Pajdla [63, 64] hemos aproximado
esta superficie a una con un punto unico de proyeccion con el fin de poder transformar las
imagenes panoramicas a imagenes con epipolares paralelas.
Estos parametros a, k y d son calculados con la ecuacion 3.15. Para inicializar el valor a
en cm, es suficiente una medicion de las dimensiones del espejo esferico. De igual manera,
para la inicializacion del parametro d en cm, se realiza una medicion desde el inicio del lente
3 Calibracion de camaras panoramicas
de la camara hasta el centro del espejo esferico. El valor de inicializacion de k se hace con la
consideracion de que no sea mayor a la unidad, debido a que el centro de proyeccion unico
debe de quedar dentro de la superficie del espejo y un valor mayor a la unidad no cumplirıa
con esta restriccion.
Fig. 3.7 Extraccion de puntos de cruce de la mira de calibracion. La resolucion angular de la
camaras panoramicas variada demasiado y las imagenes se distorsionan, esto hace difıcil de extraer
correctamente este tipo de indices.
3.3.2 Parametros extrınsecos de la matriz de rotacion
Como se ha mencionado los parametros extrınsecos de la matriz de rotacion RotW , estan
presentes en la matriz de transformacion 3D Euclideana, estos parametros son: wx,wy y wz.
Estos tres parametros corresponden a los angulos de rotacion en cada uno de los ejes x, y y
z respectivamente y nos ayudan a hacer la transformacion entre el sistema de referencia del
mundo W y del espejo Ff .
Para calcular estos parametros es necesario hacer una inicializacion cerca del resultado
real para asegurar la convergencia de los metodos de optimizacion. El metodo de inicializacion
de estos parametros es el siguiente:
Sean Vj y Hi (i ∈ 1, 2, ..., n y j ∈ 1, 2, ...,m) las lıneas paralelas y perpendiculares que
constituyen nuestro patron de calibracion respectivamente. Los puntos de cruce que nosotros
utilizamos para realizar la calibracion son las intersecciones entre las lıneas Vj y Hi, estos
3.3Metodo de calibracion
se denotan por Pji. Para cada una de las imagenes capturadas del patron de calibracion, el
sistema de referencia asociado a el es el del mundo, W (ver figura 3.8).
Fig. 3.8 Modelo de calibracion definido por las lıneas Vj y Hi y sus intersecciones Pji. La normal
al plano formado por la lınea Vj y Ff es definida como N(Vj).
La ecuacion del plano definido por la lınea Vj y el punto Ff esta dada por:
Xpj + Y qj + Zsj = 0 (3.19)
Los valores pj, qj y sj son los numeros directores de la recta normal al plano formado
por la lınea recta Vj y el punto Ff . Por geometrıa conocemos que para obter los numeros
directores de una recta normal a un plano, basta con conocer dos puntos que pertenezcan al
plano. Por lo tanto, como se conocen solamente los puntos proyectados en el plano imagen de
la recta Vj, ahora se debe obtener la reproyeccion de los puntos de la curva l2 hacia el espejo,
curva l1. Esto se logra haciendo uso de la ecuacion 3.13. Una vez que se tienen los puntos
3 Calibracion de camaras panoramicas
de la curva l2 proyectados en la esfera, encontramos la interseccion entre entre el plano y la
ecuacion de la superficie del espejo (ecuacion 3.10). Esta interseccion nos define la ecuacion de
la curva l1. Los puntos proyectados desde el plano imagen hacia el espejo deben satisfacer la
ecuacion de la curva l1 y la ecuacion del plano. Para encontrar los valores (pj, qj, sj) se utiliza
un metodo de minimizacion de la diferencia entre la ecuacion del plano y la ecuacion de la
curva l1 evaluadas en cada punto {(ui, vi)}ni=1 proyectado en el espejo. Gonzalez & Lacroix
[77] presentan un calculo similar para los numeros directores de un plano que intersecta a un
espejo parabolico.
El eje Y del sistema de coordenadas del mundo W , es calculado por el producto vectorial
N(Vj) × N(Vj+1).
EjeY =
n−1∑i=1
n∑j=j+1
{N(Vi) × N(Vj)}
De la misma forma, la direccion del eje X esta definida como:
EjeX =
n−1∑i=1
n∑j=j+1
{N(Hi) × N(Hj)}
Enseguida, la direccion del eje Z esta dada por el producto EjeX ×EjeY . Para calcular
los angulos de rotacion entre el sistema coordenadas del mundo y el de la camara, se hace la
3.3Metodo de calibracion
minimizacion de la funcion siguiente:
f(wx,wy, wz) =
⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣
R(wx,wy, wz)EjeX −
⎡⎢⎢⎢⎢⎣
1
0
0
⎤⎥⎥⎥⎥⎦
R(wx,wy, wz)EjeY −
⎡⎢⎢⎢⎢⎣
0
1
0
⎤⎥⎥⎥⎥⎦
R(wx,wy, wz)EjeZ −
⎡⎢⎢⎢⎢⎣
0
0
1
⎤⎥⎥⎥⎥⎦
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦
(3.20)
mientras se resuelven las ecuaciones:
∂f
∂wx= 0,
∂f
∂wy= 0,
∂f
∂wz= 0
donde R(wx,wy, wz) es la matriz de rotacion y wx,wy, wz son los angulos de Euler.
3.3.3 Parametros extrınsecos de traslacion e intrınsecos de la
camara
En esta seccion vamos a describir el metodo de inicializacion de los parametros extrınsecos
del vector de traslacion TW y los parametros intrınsecos de la camara de perspectiva IC .
La posicion Pji = [PxijPyij
0]T de los puntos de cruce que detectamos en el patron
de calibracion y usamos para la calibracion de la camara son conocidos en el sistema de
coordenadas del mundo W . En el sistema de coordenadas del espejo Ff , sus coordenadas
3 Calibracion de camaras panoramicas
quedan definidas como lo indica la ecuacion 3.19 y son:
Ps =
⎡⎢⎢⎢⎢⎣
Xs
Ys
Zs
⎤⎥⎥⎥⎥⎦
= RotW
⎡⎢⎢⎢⎢⎣
Pxij
Pyij
0
⎤⎥⎥⎥⎥⎦− TW
Los valores aproximados de los angulos de rotacion RotW son calculados con el metodo
descrito en la seccion 3.3.2. Los valores de (u0, v0) corresponden a la interseccion entre el eje
optico y la matriz CCD, y en forma ideal debe de ser el centro de la imagen. En nuestro
caso las dimensiones de la imagen son 640 × 480 pıxeles, por lo tanto se propone que los
valores de iniciales de estos dos parametros sean (u0 = 240 y v0 = 320). La inicializacion del
parametro f es realizada en base a los datos obtenidos del manual de la camara de perspectiva
Hi-8 de SONY utilizada. Para calcular el vector de traslacion de parametros intrınsecos TW
consideramos que el sensor es ideal (el eje optico de la camara perspectiva y el eje del espejo
coinciden), esto quiere decir que, cada punto de cruce referenciado al sistema de coordenadas
del espejo Ff (Ps = RotW [Xs Ys Zs]T −TW ) es proyectado sobre el plano imagen utilizando
la ecuacion 3.15. Estas ecuaciones quedan de la siguiente forma:
uij =
⎡⎢⎣
uij
vij
⎤⎥⎦ =
⎡⎢⎣
−kufxij
zij−d+ u0
kvfyij
zij−d+ v0
⎤⎥⎦
Cada punto de cruce genera dos ecuaciones. Del proceso de calibracion conocemos la
posicion de los puntos de cruce Pij en el sistema de coordenadas del mundo y su proyeccion
sobre el plano imagen uij = [uij vij]T . La aproximacion de los parametros (tx, ty, tz, ku, kv)
se realiza al minimizar las funciones :
⎡⎢⎣
f1(tx, ty, tz, ku, kv)
f2(tx, ty, tz, ku, kv)
⎤⎥⎦ =
n∑i=1
⎛⎜⎝
⎡⎢⎣
uij
vij
⎤⎥⎦ −
⎡⎢⎣
−kufxij
zij−d+ u0
kvfyij
zij−d+ v0
⎤⎥⎦
⎞⎟⎠
2
mientras se resuelve el sistema de ecuaciones :
3.3Metodo de calibracion
∂∂tx
⎡⎢⎣
f1(tx, ty, tz, ku, kv)
f2(tx, ty, tz, ku, kv)
⎤⎥⎦ = 0
∂∂ty
⎡⎢⎣
f1(tx, ty, tz, ku, kv)
f2(tx, ty, tz, ku, kv)
⎤⎥⎦ = 0
∂∂tz
⎡⎢⎣
f1(tx, ty, tz, ku, kv)
f2(tx, ty, tz, ku, kv)
⎤⎥⎦ = 0
∂∂ku
⎡⎢⎣
f1(tx, ty, tz, ku, kv)
f2(tx, ty, tz, ku, kv)
⎤⎥⎦ = 0
∂∂kv
⎡⎢⎣
f1(tx, ty, tz, ku, kv)
f2(tx, ty, tz, ku, kv)
⎤⎥⎦ = 0
3.3.4 Calibracion completa del sistema
Hasta este momento, tanto los parametros extrınsecos como intrınsecos del sistema
panoramico han sido inicializados con la mayor aproximacion posible a su valor real para
asegurar la convergencia del metodo de optimizacion. La ultima etapa es refinar el valor
de los parametros intrınsecos y extrınsecos de nuestro sistema se realiza al minimizar las
expresiones siguientes :
F1 =∑n
k=1{u − um}2
F2 =∑n
k=1{v − vm}2
donde (um, vm) son los pıxeles medidos en las imagenes de calibracion y (u, v) es el modelo de
proyeccion de la ecuacion 3.15. La minimizacion es obtenida mientras se resuelve el sistema
De ecuaciones
Donde
La siguiente tabla resumen los parámetros para un sistema catadióptrica
compuesto por una cámara convencional y un espejo esférico
Tabla 3.2 Resumen de los diferentes parámetros del sistema
4. Resultados
Cabe mencionar que mi incorporación al Instituto Politécnico Nacional ha sido
a partir del primero de Agosto del 2005. A partir de ese momento se comenzó a
trabajar en el proyecto de Sistema de Reconstrucción 3D panorámico. Debido a mi
recién incorporación, el sistema de experimentación fue creado con equipo de casa, así
lo podemos ver en la Figura 2.2, donde el sistema fue creado con dos cámaras
convencionales SONY y dos esferas navideñas. Los resultados son bastante
satisfactorios, ya que con este sistema hemos logrado la reconstrucción 3D de todo lo
que rodea la cámara. Los resultados de la reconstrucción 3D están siendo preparados
para ser enviados a una conferencia internacional. El sistema panorámico ha sido
utilizado para la navegación de un robot móvil, y los resultados han sido reportados en
el articulo Color Reconstruction in Outdoor Natural Images For Visual-Based
Navigation. En este articulo, solo es utilizado el sistema de visión panorámica, aun no
estaba terminado el sistema de reconstrucción 3D. Igualmente los resultados de la
reconstrucción 3D han sido presentados en el 2do Foro de Investigación y Vinculación
de La Universidad de Guanajuato. Como subproductos podemos hablar de dos tesis de
maestría concluidas: Ing. Adan Salazar Garibay y el Ing. Margarito Navarrete Mendoza.
Las fechas de titilación respectivamente son: 28 de octubre 2005 y 16 de Diciembre
2005. Ambos estudiantes pertenece a la maestría en Ingeniería Eléctrica de la
Universidad de Guanajuato. La maestría de la Universidad de Guanajuato se encuentra
en el Padrón Nacional de Posgrado del CONACYT. Los documentos que comprueban
los resultados serán presentados en el Apéndice A de este documento.
Desde la parte de vista teórica, el proyecto esta terminado. Desde la parte de
vista practica el proyecto esta funcional: (1) Hemos desarrollado software capaz de
determinar las constantes de la ecuación de formación de la imagen panorámica, es
decir hemos propuesto un proceso de calibración; (2) hemos desarrollado software
capaz de realizar la reconstrucción 3D de manera rápida. Sin embargo estamos
convencidos de que el sistema físicamente puede mejorarse: mejores cámaras, mejores
espejos y mejor sistema de ensamblaje. Esto traerá por consecuencia una mejor estética,
y mejores resultados. Por motivos de la fecha de ingreso al Instituto Politécnico
Nacional, el proyecto no fue financiado. Sin embargo estamos trabajando con el fin de
obtener financiamiento alterno para la construcción más óptima de nuestro sistema de
reconstrucción 3D panorámico.
5. Impacto
Impacto
En esta parte del proyecto hemos logrado hacer la reconstrucción 3D a 360
grados usando nuestro sistema. Una aplicaron que hemos contemplado es un sistemas
de seguridad por medio de visión, donde el gran ángulo de visión nos permite ser más
competitivos con respecto a los sistemas convencionales de seguridad que solo pueden
percibir una parte del ambiente. Pero este sistema no solo esta contemplado para la
seguridad de un lugar, sino que también que dicho lugar (donde se encuentra nuestro
sistema) sea capaz de interactuar con el hombre. Esta es nuestra propuesta de proyecto
CGPI del 2006, bajo en numero de registro: 20060921.
La velocidad de adquisición de las imágenes y el ángulo de visión del sistema
panorámico es perfecto para ser usado como sensor principal de sistemas autónomos
móviles. Respecto a esta aplicación, hemos sometido un proyecto a CONACYT en la
Convocatoria de Ciencia Básica 2005, con el titulo de Estéreovisión Panorámica para la
Robótica Móvil, y con número de proyecto J51004-Y (incluyo en el apéndice A la carta
de recepción). Hemos pensado en un robot como la plataforma de experimentación. Sin
embargo existen en la industria aplicaciones tales como el transporte de materiales
tóxicos o en ambientes inseguros, en donde un sistema móvil autónomo seria bien visto.
Igualmente en la industria automotriz, donde en un futuro muy lejano podríamos hablar
de carros autónomos, pero en un futuro muy cercano podemos contemplar la autonomía
de los sistemas móviles con el fin de brindar seguridad al conductor.
Aplicaciones de nuestro sistema pueden verse también en el control de procesos
en la industria o en el control de calidad de objetos en los cuales se necesite conocer las
características de forma y volumen a 360 grados. Es decir, la calidad de los objetos visto
desde su interior. Una de las principales limitaciones de los sistemas de
videoconferencia es que la cámara tiene un ángulo de visión pequeña, es por eso que los
conferencistas no pueden desplazarse distancias grandes, debido a que quedan fuera del
ángulo de visión de la cámara. El uso de visión panorámica soluciona este problema.
Como ya habíamos comentado, la reconstrucción 3D se realiza por triangulación.
Nuestro sistema es capaz de realizar la reconstrucción 3D en ambientes donde existe
textura, ya que es posible determinar la posición en ambas imágenes de un punto 3D. En
ambientes sin textura, no es posible determinar donde un punto en una imagen ha sido
proyectado en la segunda imagen, en pocas palabras no e posible hacer la triangulación.
Para solucionar este problema, se ha comenzado la dirección de una tesis doctoral, con
titulo Proyección de Franjas para la Reconstrucción 3D Panorámico. La idea es
proyectar franjas controladas y conocidas, analizando la deformación de estas podremos
inferir la información 3D del ambiente. Para poder hacer esto, se necesita un perfecto
conocimiento del la formación de la imagen del sistema panorámico. Este conocimiento
y la deducción de la formación de la imagen ya han sido analizados en el proyecto que
estoy reportando.
6. Apéndice A
En este apartado incluimos los documentos probatorios mencionados en el
reporte de actividades. Esto incluye:
1. Color Reconstruction in Outdoor Natural Images For Visual-Based Navigation.
2. Comprobante de 2do Foro de Investigación y Vinculación de La Universidad de
Guanajuato.
3. Carta de examen de maestría de Adán Salazar Garibay y la portada de su tesis.
4. Comprobante de aprobación del examen de maestría de Margarito Navarrete
Mendoza y la portada de su tesis de maestría
Salamanca, Gto. Octubre 2005
Dr. Amparo Andrade Lucio
CO-ASESOR:
Dr. Jose Joel Gonzalez Barbosa
ASESOR:
Ing. Adan Salazar Garibay
PRESENTA:
MAESTRO EN INGENIERIA ELECTRICA
TESIS PROFESIONAL QUE PARA OBTENER EL GRADO DE:
Calibracion y Reconstruccion 3D”
“Vision Panoramica:
FACULTAD DE INGENIERIA MECANICA,
ELECTRICA Y ELECTRONICA
UNIVERSIDAD DE GUANAJUATO