27
Centro de Investigación Científica y de Educación de Ensenada. División de Física Aplicada. Departamento de Ciencias de la Computación. “RECONSTRUCCIÓN DE OBJETOS PRESENTES EN UNA ESCENA UTILIZANDO EL ESQUEMA DE LA SIGUIENTE MEJOR IMAGEN” Reporte del segundo avance: Triangulación masiva y Experimentación Cesar Augusto Puente Montejano. Codirectores Miembros del comité Gustavo Olague Caballero César Cruz Hernández José Luis Briseño Cervantes Alejandro Hinojosa Corona Eugenio Rafael Méndez Méndez Jorge Torres Rodríguez Ensenada Baja California, México. Abril 2005

Centro de Investigación Científica y de Educación de Ensenada.evovision.cicese.mx/pagina_cesar/avance2.pdfJosé Luis Briseño Cervantes Alejandro Hinojosa Corona Eugenio Rafael

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Centro de Investigación Científica y de Educación de Ensenada.evovision.cicese.mx/pagina_cesar/avance2.pdfJosé Luis Briseño Cervantes Alejandro Hinojosa Corona Eugenio Rafael

Centro de Investigación Científica y de Educación de Ensenada.

División de Física Aplicada.

Departamento de Ciencias de la Computación.

“RECONSTRUCCIÓN DE OBJETOS PRESENTES EN UNA ESCENA UTILIZANDO EL

ESQUEMA DE LA SIGUIENTE MEJOR IMAGEN”

Reporte del segundo avance: Triangulación masiva y Experimentación

Cesar Augusto Puente Montejano.

Codirectores Miembros del comité

Gustavo Olague Caballero César Cruz Hernández

José Luis Briseño Cervantes Alejandro Hinojosa Corona

Eugenio Rafael Méndez Méndez

Jorge Torres Rodríguez

Ensenada Baja California, México. Abril 2005

Page 2: Centro de Investigación Científica y de Educación de Ensenada.evovision.cicese.mx/pagina_cesar/avance2.pdfJosé Luis Briseño Cervantes Alejandro Hinojosa Corona Eugenio Rafael

2

2

Resumen

Este documento presenta el segundo avance de la tesis de maestría cuyo título

es “Reconstrucción de objetos presentes en una escena utilizando el esquema

de la siguiente mejor imagen”. En él se describen los pasos para obtener una

reconstrucción tridimensional masiva: adquisición de la imagen, geometría

epipolar y triangulación masiva.

Este segundo avance representa la evolución del trabajo de tesis que

corresponde al periodo de Enero a Abril del año en curso, y estuvo dirigido

principalmente a identificar las etapas necesarias para realizar la reconstrucción

tridimensional y obtener resultados experimentales a partir de éstas. Para tal

propósito se desarrollaron programas para alcanzar los objetivos de estas

etapas y, en caso de existir diferentes alternativas, compararlas y elegir la que

dé un mejor resultado.

Por último, a manera de conclusión, se plantean los pasos que componen el

objetivo general y se discute su grado de desarrollo hasta el momento.

Page 3: Centro de Investigación Científica y de Educación de Ensenada.evovision.cicese.mx/pagina_cesar/avance2.pdfJosé Luis Briseño Cervantes Alejandro Hinojosa Corona Eugenio Rafael

3

3

Contenido

1. Introducción.

2. Geometría de la cámara.

2.1 Proceso de adquisición de la imagen. 2.1.1 Transformación Escena-Cámara. 2.1.2 Proyección 3D-2D. 2.1.3 Transformación Cámara-Imagen.

2.2 Calibracion de la camara 2.2.1 Solucion utilizando la restriccion m34 = 1 2.2.2 Solución con el método Faugeras-Toscani

3. Geometría epipolar. 3.1 Enfoque no calibrado.

3.1.1 Solución lineal (Algoritmo de los ocho puntos) 3.1.2 Algoritmo de los ocho puntos normalizado. 3.1.3 Algoritmo MLE 3.1.4 Algoritmo RANSAC 3.1.5 Resultados de prueba. 3.1.6 Obtencion de M1 y M2 a partir de F.

3.2 Enfoque calibrado.

3.3 Problema de correspondencia estéreo. 3.3.1 Mapa de disparidad.

4. Triangulación.

4.1 Resultados preliminares. 4.1.1 Método lineal. 4.1.2 Método del punto medio. 5. Enfoque Bio-inspirado. 6. Conclusiones. 7. Referencias.

Page 4: Centro de Investigación Científica y de Educación de Ensenada.evovision.cicese.mx/pagina_cesar/avance2.pdfJosé Luis Briseño Cervantes Alejandro Hinojosa Corona Eugenio Rafael

4

4

1. Introducción.

La visión por computadora es un campo relativamente nuevo, cuyo principal objetivo es: Proveer del sentido de la vista a sistemas autónomos para que puedan interactuar de forma eficiente en ambientes complejos [3]. Uno de los problemas que pretende resolver la Visión por Computadora es la reconstrucción tridimensional de los objetos que se encuentran en una escena. Este problema puede definirse como: La recuperación digital de la estructura espacial de una escena, sin el conocimiento previo de sus dimensiones; ni la localización, número y medidas de los objetos que la componen [7]. Este problema es muy importante, ya que se puede utilizar como herramienta en tareas de más alto nivel dentro de la visión por computadora; como el reconocimiento de objetos y la comprensión de escenas; además, por si sola puede auxiliar a otros campos de estudio que necesitan la visualización digital tridimensional como herramienta de trabajo.

En el primer avance de tesis, se realizó una investigación y clasificación de los métodos de reconstrucción tridimensional existentes dentro del campo de la visión por computadora. Desde ese entonces, se han identificado los pasos intermedios para llegar a realizar una reconstrucción tridimensional a partir de dos imágenes de una escena, y hasta este momento, se han obtenido resultados preliminares de reconstrucción.

Bajo este escenario, cada imagen tiene asociada una matriz de parámetros de la cámara (llamada matriz de proyección) con la que fue tomada, M1 y M2 para imagen izquierda y derecha respectivamente. Un punto tridimensional P se proyecta en la imagen izquierda como p1 = M1P y en la derecha como p2 = M2P. A los puntos p1 y p2 se le llama correspondientes porque representan al mismo punto tridimensional. Basándose en esto, se han identificado tres cuestiones que deben ser resueltas para realizar la reconstrucción: - La geometría de la cámara. ¿Cómo definir las matrices de proyección M1 y M2 para las dos imágenes? - La geometría de la correspondencia. Llamada formalmente geometría epipolar. ¿Dado un punto en la imagen izquierda p1, cómo restringir la posición del punto correspondiente p2 en la imagen derecha? - La geometría de la escena (reconstrucción). ¿Dado un conjunto de puntos correspondientes {p1 ↔ p2} y las cámaras M1 y M2, cuál es la posición de P en el espacio tridimensional?

En este reporte se hablará a detalle de las implicaciones que tienen estas cuestiones y se mostrará lo que se ha hecho para resolverlas; tanto la teoría como los resultados experimentales. Cabe decir que para la realización de los resultados experimentales, se está programando en lenguaje C++ y que se utiliza la herramienta VXL [18], un conjunto de librerías auxiliares para el cálculo de métodos numéricos especialmente diseñados para el campo de la visión por computadora y que además posee una interfaz gráfica en la que el usuario puede agregar nuevas funcionalidades; en este caso, referentes a la reconstrucción 3D.

Page 5: Centro de Investigación Científica y de Educación de Ensenada.evovision.cicese.mx/pagina_cesar/avance2.pdfJosé Luis Briseño Cervantes Alejandro Hinojosa Corona Eugenio Rafael

5

5

En el capitulo dos se aborda la cuestión de la obtención de la geometría de la cámara, este proceso se conoce como calibración de la cámara. En el capitulo tres se describe la geometría epipolar y se contesta la cuestión: un punto de una imagen define una linea epipolar en la otra imagen y en ésta yace el punto correspondiente, ahora el problema consiste en encontrar el punto buscando solo en esta linea, para lo cual existen diferentes formas, se verán algunas, y la que se utilizó finalmente.

Estos dos capítulos que se acaban de mencionar están estrechamente ligados, pues la

cámara se puede obtener de la geometría epipolar; y el resultado es una reconstrucción proyectiva. Por otro lado, si la geometría de la cámara se obtiene mediante el proceso de calibración, la geometría epipolar se puede derivar de ésta, lo que resulta en una reconstrucción euclidiana. En el capitulo cuatro se habla de encontrar el punto tridimensional a partir de los puntos en las imágenes, proceso que se conoce como triangulación, realizando la triangulación para cada par de puntos de correspondencia se le conoce como reconstrucción masiva de una escena. Después de obtener experiencia con la reconstrucción masiva, en el capitulo cinco se presenta el enfoque bio-inspirado de una manera mas clara que en el avance anterior.

Finalmente en el capitulo seis se concluye con una tabla comparativa entre los tiempos

definidos en la propuesta a principios de año y el avance hasta el momento, además, se enlistan las cuestiones principales que faltan para terminar este trabajo de tesis. 2. Geometría de la cámara.

En este capitulo se define brevemente el modelo para el proceso de adquisición de una imagen por una cámara. Este modelo posee cierto numero de parámetros que se deben estimar para calibrar la cámara, a los cuales se les conoce como intrínsecos y extrínsecos. Los primeros son las características internas de la cámara (distancia focal, tipo de pixel, etc.); mientras que los segundos son los que relacionan el sistema coordenado de la cámara con el de la escena. Debido a la naturaleza corta de este reporte, no se tratarán aquí a profundidad los principios geométricos envueltos en el modelo, solo se define una conceptualización matricial del modelo y la manera de obtener los parámetros; a esto último se le llama calibración.

Para comprender cómo una cámara adquiere la información puede verse la figura 1. En ella se esquematiza un punto en el espacio tridimensional, este espacio cuenta con un marco de referencia (Xw,Yw,Zw). El primer paso es conocer la transformación de este marco de referencia al propio de la cámara (Xc,Yc,Zc), esta transformación consiste en una rotación y una translación desde el origen del marco de referencia del mundo hasta el de la cámara. Después viene la transformación al marco de referencia de la imagen (u,v), durante este proceso se pierde una dimensión en la proyección del espacio (3D) al plano de la imagen (2D) e implica conocer las parámetros internos de la cámara, Ambas transformaciones pueden agruparse en una sola matriz M, la cual representa la relación entre el punto 3D y el punto proyectado 2D: p=MP.

Page 6: Centro de Investigación Científica y de Educación de Ensenada.evovision.cicese.mx/pagina_cesar/avance2.pdfJosé Luis Briseño Cervantes Alejandro Hinojosa Corona Eugenio Rafael

6

6

Figura 1. Modelo de adquisición de datos de la cámara.

2.1 Proceso de adquisición de la imagen.

Durante el proceso de adquisición de la imagen, cada punto tridimensional se proyecta a la imagen; para pasar de las coordenadas tridimensionales del marco de referencia de la escena, expresadas en milímetros, a las coordenadas bidimensionales de la imagen, expresadas en pixeles, son necesarios tres pasos [12]: la transformación de la escena a la cámara; la proyección 3D-2D y finalmente la transformación de la cámara a la imagen. A continuación se detalla cada uno de estos pasos. 2.1.1 Transformación Escena-Cámara.

El modelado de los parámetros extrínsecos se realiza mediante la transformación escena-cámara, la cual se compone de tres rotaciones y tres translaciones y transforma el punto tridimensional de las coordenadas de la escena a las coordenadas de la cámara:

A = (1) 2.1.2 Proyección 3D-2D.

Ahora a los puntos tridimensionales expresados en el marco de referencia de la cámara se les somete a una transformación proyectiva, que no es otra cosa que proyectar el punto tridimensional sobre el plano de la imagen de la siguiente manera.

r11 r12 r13 txr21 r22 r23 ty

r31 r23 r33 tz

0 0 0 1

Page 7: Centro de Investigación Científica y de Educación de Ensenada.evovision.cicese.mx/pagina_cesar/avance2.pdfJosé Luis Briseño Cervantes Alejandro Hinojosa Corona Eugenio Rafael

7

7

P = 2.1.3 Transformación Cámara-Imagen.

Para pasar a coordenadas expresadas en pixeles, las coordenadas obtenidas anteriormente se someten a una transformación afín del plano. Ésta se compone de los llamados parámetros intrínsecos, expresados en la siguiente matriz:

C = (2)

Donde αu y αv dan la distancia focal medida en pixeles y u0 v0 son las coordenadas del pixel principal, llamado origen de la imagen. Finalmente, el conjunto de transformaciones se puede expresar en una sola matriz; M = C P A; o bien:

M = IC A (3) De esta manera, la expresión que relaciona un punto tridimensional con su proyección en

la imagen que se dio al principio de ese capitulo queda de la siguiente manera: =

p = MP (4)

donde s representa un factor de escala, el cual depende de la distancia focal de la cámara. 2.2 Calibracion de la camara

Se pueden calcular los parámetros intrínsecos y extrínsecos a partir de la matriz M [12]. Así, tenemos que: r3 = m3 u0 = m1 . m3 v0 = m2 . m3 αu = - ||m1 ^ m2|| αv = ||m2 ^ m3||

r1 = 1 / αu (m1 – u0m3) r2 = 1 / αv (m2 – v0m3) tx = 1 / αu (m14 – u0 m34) (5) ty = 1 / αv (m24 – v0 m34)

1 0 0 00 1 0 00 0 1 0

αu 0 u0 0 αv v0 0 0 1

X Y Z 1

m11 m12 m13 m14m21 m22 m23 m24

m31 m23 m33 m34

su sv s

Page 8: Centro de Investigación Científica y de Educación de Ensenada.evovision.cicese.mx/pagina_cesar/avance2.pdfJosé Luis Briseño Cervantes Alejandro Hinojosa Corona Eugenio Rafael

8

8

Para determinar los parámetros de la cámara, es necesario tener un objeto en la escena que funcione como referencia, el cual se le conoce como mira de calibración. Esta mira se compone de un conjunto de puntos cuyas coordenadas son perfectamente conocidas en el sistema coordenado de la escena; en la figura 3 la mira de calibración es el objeto cuadriculado. Dependiendo del numero de puntos y de la precisión de la mira de calibración los parámetros serán mas o menos fidedignos. Derivándolo de (4) cada uno de estos puntos genera dos ecuaciones de la siguiente manera:

(6) 2.2.1 Solucion utilizando la restriccion m34 = 1

Estas dos ecuaciones representan la línea recta que pasa por el centro óptico C y el punto p (figura 1). Además es también llamada línea de visión asociada a un punto de la imagen con coordenadas (u, v). Los coeficientes de la matriz M son 12, pero m34, es la componente z del vector de translación de los parámetros extrínsecos y dentro del modelo representa la escala de la imagen con respecto a la escena. Se puede establecer m34 = 1, lo cual implica dividir todos los coeficientes de M entre m34 y a determinar los parámetros a un factor de escala, de esta manera se tienen 11 incógnitas, por lo que se necesitan al menos 6 puntos de la mira de calibración para obtener una solución mediante este sistema de ecuaciones lineales. Entonces despejando el sistema de arriba, dejando los términos independientes a la derecha:

Xim11 + Yim12 + Zim13 + m14 – uiXim31 – uiYim32 – uiZim33 = uim34 Xim21 + Yim22 + Zim23 + m24 – viXim31 – viYim32 – viZim33 = vim34

De esta forma tendríamos 2n ecuaciones para n puntos; y en forma matricial:

K2n x 11 x 11 x 1 = u2n (7)

Y así, lo que se busca es la solución de mínimos cuadrados:

x = (KtK)-1 Ktu (8)

Sin embargo esta solución tiene una desventaja debido a m34 = 1. Por consiguiente todos los parámetros están escalados con respecto al valor real de esta variable. 2.2.2 Solución utilizando la restricción ||m3|| = 1: Método Faugeras-Toscani

Para evitar esta desventaja existe otro método definido por Faugeras y Toscani [12]. Como se ve en (5) m3 representa el vector de rotación en el eje Z. Mediante identidades trigonométricas se puede verificar que r31

2 + r322 + r33

2 = 1. Obteniendo así:

||m3||2 = m312 + m32

2 + m332

u = m11X + m12Y + m13Z + m14 m31X + m32Y + m33Z + m34 v = m21X + m22Y + m23Z + m24 m31X + m32Y + m33Z + m34

Page 9: Centro de Investigación Científica y de Educación de Ensenada.evovision.cicese.mx/pagina_cesar/avance2.pdfJosé Luis Briseño Cervantes Alejandro Hinojosa Corona Eugenio Rafael

9

9

Entonces, la ecuación (7) se puede dividir en dos partes:

Bx9 + Cx3 = 0 (9) donde:

: B2n x 9 = Xi Yi Zi 1 0 0 0 0 -ui

0 0 0 0 Xi Yi Zi 1 -ui :

Y :

C2n x 3 = -uiXi -uiYi -uiZi -viXi -viYi -viZi :

x9 = m1 m14 m2 M24 m34

x3 = m3 t

De esta manera, la solución se obtiene minimizando el siguiente sistema:

Q = || Bx9 + Cx3 || 2 (10) sujeto a:

|| x3 || 2

Al final, los parámetros de la cámara están dados por x3 y x9. Como el signo del vector x3

no esta definido, se tendrían dos soluciones: M y -M. Se escoge M sabiendo que la escena se encuentra delante de la cámara y no detrás de ésta. 3. Geometría epipolar.

La llamada geometría epipolar es la que modela los principios entre dos diferentes imágenes [3]; y depende de los parámetros intrínsecos de las cámaras y de la posición relativa de una con respecto a la otra. La matriz fundamental F encapsula esta geometría. Esta matriz satisface la condición de que por cada par de puntos correspondientes p1 ↔ p2 en las dos imágenes:

p2t F p1 = 0. (11)

Esto es verdadero porque si p1 y p2 son correspondientes, entonces p2 cae en la línea

epipolar definida como l2 = Fp1, correspondiente a p1; en otras palabras p2t l2 = p2

t F p1 = 0. De manera inversa, si son los puntos los que satisfacen la condición descrita arriba, entonces los rayos (línea que va del origen de la cámara al punto p) definidos por estos puntos son coplanares. Esta es una condición necesaria para que un par de puntos corresponda. La geometría epipolar entre dos imágenes es esencialmente la geometría de la intersección de los planos de las imágenes con el conjunto de planos que tienen como eje la línea basen a cada uno de ellos se les llama plano epipolar (п), la línea base es la que intersecta ambos planos de la imagen. Los puntos en los que intersecta se les llama epipolos (e1 y e2), ver figura 2.

Page 10: Centro de Investigación Científica y de Educación de Ensenada.evovision.cicese.mx/pagina_cesar/avance2.pdfJosé Luis Briseño Cervantes Alejandro Hinojosa Corona Eugenio Rafael

10

10

Figura 2. Geometría Epipolar.

Como se dijo en el primer capitulo, la obtención de las matrices de proyección de las

cámaras y la geometría epipolar están estrechamente ligadas. La matriz fundamental se puede obtener a partir de un conjunto de puntos de correspondencia, si es así, una estimación de ambas cámaras se puede obtener de la geometría epipolar, a este caso se le llama enfoque no calibrado; y el resultado es una reconstrucción proyectiva. Por otro lado, teniendo M1 y M2, la matriz fundamental se puede derivar de éstas, a este caso se le llama enfoque calibrado; lo que resulta en una reconstrucción euclidiana. En las siguientes subsecciones se analizan cada uno de estos casos. Durante este periodo de trabajo, se han estudiado ambas alternativas y se han programado, pues de ella depende el proceso de correspondencia, del que se habla mas adelante en este capitulo, y el proceso de triangulación, del que se habla en el capitulo siguiente. 3.1 Enfoque no calibrado

Existen varios métodos numéricos que estiman el valor de F a partir de un conjunto de puntos correspondientes [3]; se han analizado varios de ellos y se han programado para obtener resultados experimentales.

La matriz fundamental puede definirse a partir de (11) para cualquier conjunto de puntos correspondientes en las imágenes {p1 ↔ p2}. Conociendo suficientes puntos se puede usar esta ecuación para obtener F. Definiendo a p1 =(u1, v1, 1) y p2 = (u2, v2, 1), cada par de puntos genera una ecuación lineal cuyas incógnitas son los coeficientes de F:

u2u1f11 + u2v1f12 + u2f13 + v2u1f21 + v2v1f22 + v2f23 + u1f31 + v1f32 + f33 = 0

Con n pares de puntos correspondientes se obtiene el siguiente conjunto de ecuaciones lineales: u21u11 u21v11 u21 v21u11 v21v11 v21 U11 v11 1

Af = : : : : : : : : : f = 0 (12) u2nu1n u2nv1n u2n v2nu1n v2nv1n v2n U1n v1n 1

Debido a que ese sistema de ecuaciones es homogéneo, f solo puede ser determinado

hasta un factor de escala, y por lo mismo tiene a lo mas rango 8, y si efectivamente, el rango es exactamente 8, existe una solución única (a un factor de escala). Por lo que se necesitan al menos 8 pares de puntos correspondientes para resolver el sistema. A continuación se muestra una breve descripción de los métodos que se analizaron.

Page 11: Centro de Investigación Científica y de Educación de Ensenada.evovision.cicese.mx/pagina_cesar/avance2.pdfJosé Luis Briseño Cervantes Alejandro Hinojosa Corona Eugenio Rafael

11

11

3.1.1 Solución lineal (Algoritmo de los ocho puntos)

En este método, la solución para f es el vector singular correspondiente al valor singular más pequeño de A, esto es, la ultima columna de V en la descomposición en valores singulares (SVD) de A = UDVt. el vector f encontrado de esta manera minimiza ||Af|| sujeto a ||f||=1.

Una propiedad muy importante de F es que es singular, de rango 2. Muchas de las aplicaciones de F dependen de este hecho. Por ejemplo, el calculo de las líneas epipolares. Generalmente este método no genera una matriz F de rango 2. Sin embargo esta propiedad se puede forzar. La forma más conveniente de hacerlo es reemplazar F con la F' que minize la norma de Frobenius ||F - F'|| sujeto a que det F' = 0. La manera de hacerlo es, otra vez, con SVD. Sea F = UDVt, con D = diag(r, s, t) y r >= s >= t. Entonces F' = U diag(r, s, 0) Vt minimiza la norma de Frobenius definida arriba.

Existe un algoritmo que utiliza solo 7 puntos pero solo puede utilizarse cuando la matriz A tiene rango siete y generalmente se obtienen dos o tres soluciones. Este método no se analizó 3.1.2 Algoritmo de los ocho puntos normalizado.

El algoritmo anterior es el mas simple, y si se realiza con cuidado puede generar una solución extremadamente buena. La clave para lograrlo consiste en normalizar las coordenadas del conjunto de pares de puntos correspondientes. Es posible que los puntos que se elijan estén muy alejados entre si, dentro del marco de referencia de la imagen. Lo que se sugiere Hartley [3], es una translación y un escalamiento de cada imagen de manera que el centroide de los puntos quede en el origen del marco de referencia de cada cámara. Algoritmo de 8 puntos normalizado:

1. Normalización: Transformar las coordenadas de la imagen de la siguiente manera: û1i = T1u1i y de la misma manera para v con T2; donde T1 y T2 son transformaciones de normalización que consiste en una translación y escalamiento. A partir de ahora ui y vi son las coordenadas de los puntos normalizados.

2. Encontrar la matriz Fundamental F que corresponde a los puntos correspondientes p1 ↔ p2 de la siguiente manera:

a. Solución lineal: Determinar F del vector singular correspondiente al valor singular más pequeño de la matriz A.

b. Cumplimiento de la restricción forzoso. Remplazar F por la matriz fundamental cuyo determinante sea cero; usando SVD.

3. Regresar las coordenadas de los puntos a su posición original. 3.1.3 Algoritmo MLE

También se le conoce como método Gold Standard. Es un método de estimación de máxima verosimilitud y depende de la suposición de que el ruido en las medidas de los puntos correspondientes es gaussiano. De esta manera el modelo es el que minimiza la distancia geométrica:

∑i d(p1i, p1ic)2 + (p2i, p2ic)2 (13)

Page 12: Centro de Investigación Científica y de Educación de Ensenada.evovision.cicese.mx/pagina_cesar/avance2.pdfJosé Luis Briseño Cervantes Alejandro Hinojosa Corona Eugenio Rafael

12

12

Donde p1 ↔ p2 y p1 ↔ p2 son las correspondencias verdaderas estimadas que satisfacen (11) exactamente, para alguna matriz F de rango 2. La manera de minimizar este modelo se muestra en el siguiente algoritmo: Algoritmo MLE:

1. Calcular una matriz inicial Fin de rango 2 usando el algoritmo lineal. 2. Calcular una estimación de p1i y p2i como sigue:

a. Establecer las matrices de la camaras como sigue: M1 = [I | 0] y M2 = [[e2]xF | e2] donde e2 es el epipolo derecho, de la matriz Fin

b. De p1i ↔ p2i y Fin determinar los puntos tridimensionales Pi mediante un método de triangulación de los que se verán en el siguiente capitulo.

c. Obtener p1ic y p2ic mediante las matrices de las cámaras: p1ic = M1Pi y p2ic = M2Pi 3. Minimizar (13) sobre Fin y Pi, i = 1.. n. El costo se minimiza usando el algoritmo

Levenberg-Marquardt [hart](muy usado en visión por computadora) sobre 3n + 12 variables: 3n por los n puntos tridimensionales Pi y doce por la matriz M2 = [[e2]xF | e2] y p1ic = M1Pi y p2ic = M2Pi

3.1.4 Algoritmo RANSAC

RANdom SAmple Concencus (RANSAC) es un estimador robusto de Fischler y Bolles [3]. Considérese un conjunto de puntos correspondientes {p1 ↔ p2} cuya única fuente de error posible es la medida de sus posiciones en las imágenes, la cual sigue una distribución gaussiana. Con muchos casos esta suposición no es correcta porque en realidad hubo un error de correspondencia. A éstos se les llama valores extremos o outliers, y pueden afectar severamente al resultado de F. A los valores que cumplen con la distribución gaussiana se les llama inliers. El objetivo entonces es determinar los valores uniformes a partir de un subconjunto del conjunto completo de correspondencias. Este subconjunto se escoge al azar del conjunto original. A continuación se describe el algoritmo. Algoritmo RANSAC:

1. Seleccionar 7 pares de puntos de manera aleatoria y obtener una matriz F con el metodo de 7 puntos, lo que dará una o tres soluciones.

2. Calcular las distancias entre los pares de puntos del conjunto completo 3. Calcular el numero de inliers consistentes con F 4. Si existen varias soluciones para F, se usan todas, y se escoge aquella con el

mayor numero de inliers. Si hay empate escoger la que tenga la desviación estándar más pequeña

5. Re-estimar F con solo los inliers, minimizando una funcion de costo, por ejemplo la ecuación (13) usando Levenberg-Marquardt.

Page 13: Centro de Investigación Científica y de Educación de Ensenada.evovision.cicese.mx/pagina_cesar/avance2.pdfJosé Luis Briseño Cervantes Alejandro Hinojosa Corona Eugenio Rafael

13

13

3.1.5 Resultados de prueba.

Se compara ahora el desempeño de los cuatro algoritmos citados arriba. El par de imágenes que se utilizo para esto se muestra en la figura 3. Las pruebas se hicieron para un conjunto de 12 pares de puntos tomados manualmente, y elegidos con el detector de esquinas con precisión subpixel de Hernández [6] aplicado a ambas imágenes y un conjunto de 64 pares de puntos pares de puntos tomados manualmente, y elegidos con el detector de esquinas de Harris con precisión a píxel [4] aplicado a ambas imágenes. Se ha desarrollado el algoritmo, se ha corrido 10 veces cada uno y se ha tomado el error promedio para cada algoritmo. El error esta definido como sigue:

e = 1/N ∑iN d(p2i, Fp1i)2 + (p1i, FTp2i)2 (13)

Donde d(x, l) es la distancia (en pixeles) entre el punto x y la linea l. El error es la

distancia al cuadrado entre el punto de correspondencia de la otra imagen y la linea epipolar de su correspondiente y N es el numero de puntos de muestra. Esto se aplica para ambas imágenes. Los resultados se muestran en la siguiente tabla:

Lineal Lineal normalizado MLE RANSAC 12 puntos 1.06055 0.104263 0.00557306 0.00714011 64 puntos 108.217 0.390625 0.263012 0.394947

Tabla 1. Resultados de experimentaciones con los métodos descritos Con estos y los resultados que reporta Hartley [3] se puede concluir que: - El algoritmo de 8 puntos no normalizado no es muy recomendable. - El método de 8 puntos normalizado es fácil de implementar y su error es aceptable para la mayoría de los casos; ya que es subpixel al igual que el de MLE y RANSAC. - La minimización de un error geométrico en MLE y RANSAC dan resultados muy parecidos, ambos son excelentes. No obstante, Hartley recomienda MLE [3]. - El resultado depende en buena medida de la confiabilidad y el error implícito en los pares de puntos que se introducen como entrada a estos métodos.

Figura 3. Par de imágenes utilizadas en la experimentación de los métodos para obtener F.

Page 14: Centro de Investigación Científica y de Educación de Ensenada.evovision.cicese.mx/pagina_cesar/avance2.pdfJosé Luis Briseño Cervantes Alejandro Hinojosa Corona Eugenio Rafael

14

14

3.1.6 Obtención de M1 y M2 a partir de F.

Hasta ahora se ha examinado la manera de obtener F a partir de un conjunto de puntos de correspondencia. Ahora se vera una de las propiedades mas significativas de F, que puede ser utilizada para determinar las matrices de proyección de las dos imágenes. Como se dijo al principio de la sección 3.1, la ecuación (11) es un sistema homogéneo, lo que significa que es un sistema proyectivo, ya que depende solamente de las coordenadas de los puntos (en pixeles) de la imagen, las cuales, a su vez, están dados en coordenadas proyectivas.

Esto significa que el sistema es proyectivamente invariante, esto es, que al aplicar una

transformación proyectiva a ambos puntos correspondientes: p1p = H1p1 y p2p = H2p2; se cumple que Fp = H1

-tFH-1. De esta manera, la matriz fundamental para M1 y M2 es la misma que para M1H1 y M2H2 y asi, las matrices M1 y M2 resultantes serán también proyectivas, lo que al final derivara en una reconstrucción proyectiva. Dada esta ambigüedad, es común especificar una forma canónica del par de matrices, en el cual, M1 =[ I | 0], donde I es la matriz identidad de 3x3, y 0 es el vector nulo de 3x1.

M2 = [SF | e2], donde e2 es el epipolo de la imagen derecha y S es una matriz antisimétrica. Como sugieren Luong y Vieville [3], S = [e2]x que es la notación matricial para realizar el producto cruz del vector e2 con cualquier otro; quedando así las dos matrices definidas:

M1 = [I | 0] M2 = [[e2]x F | e2] (14) 3.2 Enfoque calibrado.

Este enfoque implica la obtención de los parámetros de las cámaras a partir de las coordenadas conocidas de puntos tridimensionales; los cuales se encuentran en el mundo real, es decir, un espacio euclidiano. Por lo tanto el resultado derivara en una reconstrucción euclidiana. Ya que se puede obtener la proyección de un punto tridimensional en cada imagen, es necesario expresar este punto de la imagen derecha en función del mismo punto en la imagen izquierda para relacionarlos y así obtener la matriz fundamental. A este proceso se le conoce como calibración estereoscópica y así, dos cámaras tomando imágenes de una misma escena se le llama par estéreo.

Primero es necesario extraer los parámetros intrínsecos y extrínsecos de la cámara: IC y A de cada cámara. Con A1 y A2 se calcula AS de la siguiente manera:

AS = A2 A1-1 (15)

Ahora los puntos deben estar en coordenadas de la cámara; esto se puede realizar con la siguiente expresión:

x u

y = C-1 v (16)

1 1

Donde C es (2). Utilícese (16) para ambas cámaras.

Page 15: Centro de Investigación Científica y de Educación de Ensenada.evovision.cicese.mx/pagina_cesar/avance2.pdfJosé Luis Briseño Cervantes Alejandro Hinojosa Corona Eugenio Rafael

15

15

Ahora se puede expresar el punto P al mismo tiempo en ambos marcos de referencia de las cámaras.

X2 X1

Y2 = AS Y1 (17)

Z2 Z1

1 1

Las coordenadas en el marco de la cámara para p1 son (x1, y1, 1), donde x1 = X/Z y y1 =

Y/Z y de manera similar para p2 obtenidas de (16), x2 y y2 pueden escribirse de la siguiente manera derivandola de (17):

x2 = X2 = r11X + r12 Y + r13 Z + tx

Z2 . r31X + r32 Y + r33 Z + tz y2 = Y2 = r21X + r22 Y + r23 Z + ty

Z2 . r31X + r32 Y + r33 Z + tz

Tomando en cuenta que X = xZ y Y = yZ, además que p1 = (x1, y1, 1) la ecuación se reescribe como:

x2 = Zr1 p1 + tx

Zr3 p1 + tz y2 = Zr2 p1 + ty

Zr3 p1 + tz

Y de esta manera ya se tiene el punto p2 en función del punto p1. Ahora se procede a obtener la matriz F a partir de estas ecuaciones. Primero que nada, si a las ecuaciones anteriores se le elimina Z queda una relación lineal de la siguiente manera:

(tz r2 p1 – ty r3 p1) x2 + (tx r3 p1 – tz r1 p1) y2 = tx r2 p1 – ty r1 p1

La cual describe un conjunto de puntos en la imagen derecha que podrían corresponder al punto en la izquierda. Estos puntos forman una linea (ax + by +c): la linea epipolar derecha. de la forma a2x2 + b2y2 + c2 = 0; donde al desglosar a2, b2 y c2 quedan:

a2 = (ty r31 - bz r21) x1 + (ty r32 - tz r22)y + (ty r33 – tz r23) b2 = (tz r11 - bx r31) x1 + (tz r12 - tx r32)y + (tz r13 – tx r33) c2 = (tx r21 - by r11) x1 + (tx r22 - ty r12)y + (tx r23 – ty r13)

Estas ecuaciones se pueden escribir de forma matricial de la siguiente forma:

a2 0 -tz ty r11 r12 r13 x

b2 = tz 0 -tx r21 r22 r23 y

c2 -ty tx 0 r31 r32 r33 1

Page 16: Centro de Investigación Científica y de Educación de Ensenada.evovision.cicese.mx/pagina_cesar/avance2.pdfJosé Luis Briseño Cervantes Alejandro Hinojosa Corona Eugenio Rafael

16

16

o bien: a2 x

b2 = E y (18)

c2 1

Donde la matriz E es la llamada matriz esencial. Esta es la transformación epipolar en la

que a un punto de la imagen izquierda (x1, y1, 1) corresponde una recta en la imagen derecha. Si se expresa la ecuación de la recta a manera de vectores se tiene:

a2

x2 y2 1 b2 = 0

c2

y sustituyendo con (18):

x

X2 y2 1 E y = 0

1

Obteniendo así la relación de la imagen izquierda con la derecha:

p2t E p1 = 0 (19)

Y la derecha con la izquierda: p1

t Et p2 = 0 Sin embargo esta relación es mediante coordenadas de cámara. Para extender la relación

al nivel de pixeles se aplica la siguiente transformación: u2 αu 0 u0 x

v2 = 0 αv v0 y

1 0 0 1 1

Que de manera matricial es:

p = Cx Para ambas cámaras. Así, al sustituir en (19) tenemos que

p2t (C2

-1)t E C-1p = 0 con F = (C2

-1)t E C-1

En donde F es la matriz fundamental que describe la geometría epipolar de izquierda a

derecha, al igual que (11): p2

t F p = 0 Y de esta manera la matriz fundamental puede calcularse a partir de las matrices de

proyección de las cámaras.

Page 17: Centro de Investigación Científica y de Educación de Ensenada.evovision.cicese.mx/pagina_cesar/avance2.pdfJosé Luis Briseño Cervantes Alejandro Hinojosa Corona Eugenio Rafael

17

17

3.3 Problema de correspondencia estéreo.

Hasta ahora se ha definido F a partir de puntos de correspondencia conocidos de antemano. Una vez que se tiene F el siguiente paso es encontrar el punto correspondiente de todos los demás puntos en la imagen izquierda en la derecha. Esto es lo que se conoce como el problema de correspondencia estéreo y es esencial para realizar una buena reconstrucción tridimensional. La matriz fundamental relaciona un punto de la imagen izquierda con una línea de la imagen derecha, lo que reduce el espacio de búsqueda, del plano a la línea. Sin embargo aún hay que realizar esta búsqueda por la línea epipolar.

Dentro de visión por computadora el problema de correspondencia estéreo ha sido

fuertemente investigado y existe una gran cantidad de métodos que lo resuelven, algunos con una precisión mejor que otros. En este reporte se describirán brevemente los tipos de métodos de correspondencia que existen. En general se les puede dividir en dos grandes grupos; locales y globales. Se hablara mas de los locales, ya que se utilizo uno de ellos para realizar experimentaciones: - Métodos globales [9]. Aplican restricciones a la imagen entera. Este tipo de métodos es menos sensitivo a los problemas de los métodos locales, ya que su modelado proporciona ayuda adicional a regiones que son difíciles de evaluar con una correspondencia local. El principal problema con éstos, es que son computacionalmente muy costosos. - Métodos locales. Estos utilizan restricciones que se aplican a los puntos alrededor del que se desea evaluar. La desventaja de utilizar métodos locales es que generalmente obtienen algunos errores en regiones de la imagen donde la variabilidad de la intensidad de gris de los puntos es casi nula (baja textura). También ocurre esto en regiones con oclusiones; esto es, puntos que aparecen en la imagen izquierda, pero que no aparecen en la derecha y viceversa. Finalmente, también ocurre en las regiones fronterizas entre dos objetos proyectados en la imagen. Con todo y esto, los métodos locales son muy utilizados por su rapidez y facilidad de implementación. Dentro de este grupo existe otra división; los métodos basados en características y los métodos basados en áreas, el método que se ha utilizado en este trabajo cae en este último grupo. - Características [9]. Aquí las imágenes se procesan por un operador que extrae las características (bordes, esquinas, segmentos de línea y de curva, segmentos de elipses, círculos y poligonales) que aparecen en ambas imágenes. Después, el proceso de correspondencia se aplica a los atributos asociados con las características detectadas. Los bordes y esquinas son fáciles de detectar, pero presentan fallos en su correspondencia cuando existen oclusiones. Las demás características requieren gran consumo de recursos computacionales. - Áreas [9]. Estos métodos utilizan una medida de correlación para evaluar la similitud entre un punto en la imagen izquierda y el posible correspondiente en la derecha. Esta medida esta en función de los valores de intensidad de gris de un vecindario del punto en una imagen con un vecindario en la otra imagen. Ramírez [12] presenta un método de búsqueda exhaustiva (imágenes de mas de 400 x 400 pixeles) para el problema de correspondencia, el cual es robusto y rápido. La medida de correlación entre dos puntos de dos imágenes que este método utiliza se le llama correlación cruzada normalizada (Zero Normalized Cross Correlation) ZNCC.

Page 18: Centro de Investigación Científica y de Educación de Ensenada.evovision.cicese.mx/pagina_cesar/avance2.pdfJosé Luis Briseño Cervantes Alejandro Hinojosa Corona Eugenio Rafael

18

18

Se define como sigue: C(p1, p2) = ∑i

n=-n ∑j

n=-n ( I(u1+i,v1+j) – I(u1, v1) . I(u2+i,v2+j) – I(u2, v2) (20)

√∑ ∑ (I(u1+i,v1+j) – I(u1, v1))2.∑ ∑ (I(u2+i,v2+j) – I(u2, v2))2

El funcionamiento del método de Ramírez esta dado por el siguiente pseudocódigo: Algoritmo ZNCC:

1. Realizar lo siguiente por cada punto de la imagen izquierda p1 = (u1, v1): a. Calcular la línea epipolar en la imagen derecha: Fp1 b. Búsqueda del punto correspondiente en la imagen derecha: Para no buscar sobre

toda la línea epipolar en la imagen derecha, se define un punto de partida sobre ésta, y se define un espacio de búsqueda r, es decir, comenzar la búsqueda r puntos antes del de partida y continuar hasta r puntos después, aplicando (20) a cada uno de estos.

c. Elegir como p2 al punto que haya tenido el valor máximo de correlación. d. Si el valor de correlación de p2 es mayor a 0.5 considerar este punto como el

correspondiente de p1

El trabajo de tesis de Pérez [9] describe un nuevo método llamado algoritmo de infección. Éste combina las propiedades de los dos grupos de métodos, locales y globales. Localmente utiliza el método de ZNCC definido mas arriba, y para evitar las desventajas que este tipo de métodos presenta, desarrolla un novedoso enfoque basado en vida artificial imitando el proceso de infección de una enfermedad, este corresponde al método global.

Mediante un autómata celular, decide cuándo aplicar ZNCC y cuándo establecer el valor de la correspondencia en función de los vecinos ya procesados. Esta decisión permite un 47%, 70%, 78% o hasta un 99%, según se decida, de ahorro en el calculo de la correspondencia. De esta manera evita la gran cantidad de procesamiento que los métodos globales realizan. Por lo escrito anteriormente se ha decidido utilizar en este trabajo el algoritmo de infección como método de correspondencia estéreo. 3.3.1 Mapa de disparidad.

El mapa de disparidad es una manera de comparar el resultado de diferentes métodos de correspondencia. Sin embargo, se ha estudiado tan específicamente, que puede ser considerado un problema de visión por sí solo; al cual se le llama estimación densa de la disparidad (dense disparity estimation problem [13]).

El mapa de disparidad consiste en una nueva imagen, cuyos niveles de gris de los puntos representan la distancia en pixeles que existe desde el punto en una de las imágenes a otra. Esto es; se toma las coordenadas de p1 = (u1, v1) en la imagen izquierda y las de su correspondiente p2 = (u1, v1) en la imagen derecha, y la diferencia entre ambas es la intensidad del nivel de gris que se coloca en la nueva imagen, en la coordenada (u1, v1). Geométricamente, esta diferencia representa en proporción inversa, la profundidad a la que se encuentra el punto tridimensional.

Page 19: Centro de Investigación Científica y de Educación de Ensenada.evovision.cicese.mx/pagina_cesar/avance2.pdfJosé Luis Briseño Cervantes Alejandro Hinojosa Corona Eugenio Rafael

19

19

A menor profundidad (el punto tridimensional esta más cercano a las cámaras) el valor de disparidad es mayor y viceversa. De esta manera, en el mapa de disparidad se distinguen los objetos por su profundidad, si un punto que pertenece a un objeto ha sido mal correspondido, su valor de disparidad será muy diferente a los demás puntos de ese objeto; es así como se puede revisar el desempeño de un método. Es importante decir que el mapa de disparidad solo puede obtenerse de imágenes que estén alineadas, ya sea horizontal o verticalmente, haciendo que la línea epipolar pase por la misma coordenada en ambas imágenes, esto es, que el punto en una imagen y los puntos de la línea epipolar en la otra compartan una coordenada; ya sea u1 = u2 o v1 = v2. De otra manera la disparidad entre ambas imágenes estaría dada por un valor para u y otro para v y no podría generarse el mapa. Es por esta razón que no se puede generar un mapa de disparidad para las imágenes de la figura 3. Sin embargo se hicieron pruebas para generar un mapa de disparidad con otras imágenes que cumplen con esta restricción, en la figura 4 se muestran junto con el mapa de disparidad obtenido.

Imagen izquierda Imagen derecha Mapa de disparidad

Figura 4. Imágenes y sus mapas de disparidad obtenidos aplicando ZNCC.

Page 20: Centro de Investigación Científica y de Educación de Ensenada.evovision.cicese.mx/pagina_cesar/avance2.pdfJosé Luis Briseño Cervantes Alejandro Hinojosa Corona Eugenio Rafael

20

20

4. Triangulación.

La triangulación es el proceso de encontrar el punto tridimensional P reproyectando p1 y p2 hacia el espacio. Se define de la siguiente manera (figura 5):

“Sean P=(X,Y,Z,1) un punto tridimensional proyectado en dos imágenes p1=(u1,v1,w1), p2=(u2,v2,w2). Encontrar la intersección de los dos rayos que parten de los centros de proyección de las cámaras C1 y C2 y pasan por p1 y p2 hacia el espacio”.

Figura 5. Definición de la triangulación.

Con el enfoque calibrado se obtendrá una triangulación euclidiana, pues la información para estimar los parámetros se tomó de la escena real. Con este enfoque se tiene toda la información que la definición de la triangulación exige. Realizar la triangulación a partir de un enfoque calibrado parecería trivial. Sin embargo debido a que en la resolución de las cámaras pueden presentarse errores al momento de adquirir la imagen, la intersección de ambos rayos no siempre se da.

Existen varios métodos que resuelven este problema, los cuales fueron analizados en el

primer avance. Para ver el análisis favor de consultar el reporte del primer avance. A manera de rectificación con respecto a este análisis, cabe decir que el método Polinomial [5], que se analizó en el primer avance no es un método de triangulación per se. Pues no realiza la reproyección de las imágenes al espacio. En lugar de esto define un punto p1p en la imagen más cercano a p1, pero que cumpla con la ecuación (11), de la misma manera define un punto p2p para p2. Una vez definidos estos puntos, los autores aconsejan aplicar el método lineal [5] para reproyectar los nuevos puntos pp1 y pp2. 4.1 Resultados preliminares.

De esta manera quedan dos métodos de triangulación; el método lineal y el del punto medio, los cuales se aplicaron al enfoque calibrado para la figura 3. Ambos métodos tienen como entrada el conjunto masivo de puntos correspondientes (aprox. 350,000 puntos por cada imagen) obtenidos del algoritmo de infección con un 0% de ahorro en el uso de ZNCC. La salida de los dos es la triangulación del punto tridimensional correspondiente a cada par de puntos correspondientes.

Con estos puntos se construye, automáticamente mediante programación, un archivo en

lenguaje VRML (lenguaje de modelado de realidad virtual) para visualizar el conjunto de puntos en tres dimensiones.

Page 21: Centro de Investigación Científica y de Educación de Ensenada.evovision.cicese.mx/pagina_cesar/avance2.pdfJosé Luis Briseño Cervantes Alejandro Hinojosa Corona Eugenio Rafael

21

21

4.1.1 Método lineal [3]. Este método se basa en las matrices de proyección de las cámaras. Lo que arroja un

sistema compuesto por 6 ecuaciones lineales con 3 incógnitas, pero en realidad, la última ecuación de cada sistema individual es linealmente dependiente de los otros dos, por lo tanto se tienen 4 ecuaciones linealmente independientes con 3 incógnitas de la forma Ax = b. Este sistema puede ser resuelto mediante descomposición en valores singulares SVD: A = UDVt siendo el resultado x igual a la ultima columna de V.

En la figura 6 se muestra una imagen de la reconstrucción tridimensional obtenida con

este método aplicado a las imágenes de la figura 3. Se decidió por mostrar una toma lejana para que se pueda apreciar la estructura de doble cono de la triangulación.

Figura 6. Triangulación masiva con el método lineal

La naturaleza de este resultado se debe a que existen varias soluciones linealmente

relacionadas. Además, como se había dicho en análisis teórico del primer avance, su modelado en sí no tiene un significado geométrico para el problema, es decir, es una solución a ciegas, por decirlo así. 4.1.2 Método del Punto Medio [16].

Este método busca el punto medio geométrico entre ambos rayos (figura 7). Antes que nada es necesario convertir las coordenadas en pixeles p1 y p2 en su equivalente a coordenadas de la cámara, con la ecuación (16). Una vez realizada la conversión, se define el primer rayo que pasa por p1 como ap1. Y el que pasa por p2 como T + b RTp2 Donde T es un vector de translación y R es una matriz de rotación que relacionan a dos cámaras (se pueden obtener de la matriz As, en (15)). De esta manera se busca un vector w = (p1 x RTp2) ortogonal a ambos rayos:

Page 22: Centro de Investigación Científica y de Educación de Ensenada.evovision.cicese.mx/pagina_cesar/avance2.pdfJosé Luis Briseño Cervantes Alejandro Hinojosa Corona Eugenio Rafael

22

22

ap1 + c(p1 x RTp2) = T + bRTp2. (21)

Figura 7. Método del punto medio.

Este es un sistema de tres ecuaciones con tres incógnitas (a, b y c) el cual se puede resolver con cualquier método numérico que resuelva un sistema de ecuaciones lineales. Una vez obteniendo la solución numérica de las incógnitas se sustituyen en la ecuación y se divide entre dos, para obtener el punto medio; y éste será el punto triangulado P’.

En la siguiente figura se muestra una imagen con el resultado de aplicar este método a las

imágenes de la figura 3.

Figura 8. Triangulación masiva con el método del punto medio.

Comparado con el método lineal, el resultado preliminar del método del punto medio es un poco mejor, sin embargo se presentan algunos puntos triangulados que están demasiado lejos del lugar donde se espera que estén, dando como resultado una estructura cónica. Actualmente se esta analizando minuciosamente este método para intentar encontrar errores en la comprensión del modelo, en el modelado mismo y en la programación del mismo.

Se espera mejorar el resultado de este método y utilizarlo como base para el enfoque bio-

inspirado de la siguiente sección.

Page 23: Centro de Investigación Científica y de Educación de Ensenada.evovision.cicese.mx/pagina_cesar/avance2.pdfJosé Luis Briseño Cervantes Alejandro Hinojosa Corona Eugenio Rafael

23

23

5. Enfoque Bio-inspirado.

Dentro de la visión por computadora se han implementado con éxito técnicas inspiradas en los procesos que ocurren en la naturaleza para resolver problemas que el enfoque matemático-geométrico tradicional considera complejo o costoso [1, 8, 9]. A estas técnicas se les conoce como bio-inspiradas.

Se pretende implementar una técnica bio-inspirada capaz de evitar el trabajo masivo de triangular cada píxel de las imágenes de la escena, se busca que el sistema computacional sea lo suficientemente inteligente como para decidir cuántos y cuáles pixeles son suficientes para conseguir una reconstrucción aceptable y definir a partir de los pixeles triangulados el valor de las coordenadas de los puntos vecinos.

Esta inteligencia viene dada por una entidad, o conjunto de entidades dentro del sistema

computacional que se esta desarrollando, éstas deben ser capaces de decidir qué pixeles triangular (inteligente), deben realizar una parte del trabajo (división de trabajo) y por lo tanto deben mantenerse en comunicación para coordinarse (sociabilidad), además deben ser capaces de desplazarse en el entorno de trabajo, es decir, las imágenes (sentido de la orientación).

Dentro del reino natural, existe un insecto que cumple con creces todas las características

deseadas: las abejas. Esto se puede afirmar basados en la investigación que se realizó a este respecto encontrando los siguientes puntos se justifican un enfoque de solución basado en su comportamiento [2, 15, 11, 14, 15, 17]:

La idea del enfoque basado en el comportamiento de las abejas es la siguiente: Definir una colmena virtual colocada en el espacio de la escena. Cada abeja de la colmena representará una de estas entidades de las que se hablo en el párrafo anterior. Los objetos de la escena, los cuales en un principio se desconoce su localización, representan fuentes de alimento para este modelo. De esta manera unas cuantas abejas exploradoras saldrán del nido y se registrará su posición en las imágenes como pixeles.

No se ha definido la manera de saber si una abeja a llegado a una fuente de alimento.

Cuando una abeja identifica una fuente de alimento (un objeto de la escena) su proyección en las imágenes se registra y se procede al proceso de triangulación para obtener sus coordenadas tridimensionales.

Esta abeja regresa al panal avisando a las otras la localización de la fuente de alimento,

algunas saldrán a buscarlo, las cuales se les llamará ahora recolectoras y basándose en la información obtenida buscarán un punto cercano que pertenezca al mismo objeto y así no habrá necesidad de triangular ese punto. Esta idea se presenta en el siguiente algoritmo:

Page 24: Centro de Investigación Científica y de Educación de Ensenada.evovision.cicese.mx/pagina_cesar/avance2.pdfJosé Luis Briseño Cervantes Alejandro Hinojosa Corona Eugenio Rafael

24

24

Algoritmo de ahorro de proceso en la triangulación masiva. 1. Un conjunto de abejas exploradoras sale del panal, cada una de ellas tiene una

coordenada tridimensional, mediante (4) se conocen sus coordenadas en cada cámara. 2. Por cada exploradora realizar lo siguiente:

a. Si la exploradora se encuentra volando hacer lo siguiente: i. Cambiar de posición y regresar al paso a.

b. Si la exploradora se encuentra parada en un objeto hacer lo siguiente: i. Triangular coordenadas de la abeja.

ii. Marcar esta coordenada como reconstruída iii. Regresar al panal y comunicar coordenadas a otras; éstas se convierten

en recolectoras. 3. Recolectoras se dirigen a la posición que se les informó 4. Modificar la posición original 5. Por cada recolectora realizar lo siguiente:

a. Si la recolectora se encuentra volando hacer lo siguiente: i. Cambiar de posición y regresar al paso a.

b. Si la recolectora se encuentra parada en un objeto hacer lo siguiente: i. Triangular coordenadas de la abeja.

ii. Marcar esta coordenada como reconstruída iii. Regresar al panal y comunicar coordenadas a otras; éstas se convierten

en recolectoras. 6. Conclusiones. 6.1 Estado actual del plan de trabajo.

Se puede concluir que el trabajo realizado hasta el momento es el que se pensaba realizar. De hecho, se han realizado mas actividades de las que se pensaban en un inicio, esto debido a que no se tenia contemplado el análisis del funcionamiento del algoritmo de infección y la experimentación con el mapa de disparidad.

Es por esta misma razón que se ha decido alargar el tiempo de trabajo en algunas actividades del calendario. Para respaldar esta conclusión se véase la siguiente argumentación, desglosada por cada etapa que compone el plan de trabajo.

a) Análisis y definición de la problemática. En este paso se pretende estudiar a fondo el problema de la reconstrucción de escenas para conocer las técnicas aplicadas en trabajos anteriores, y así delimitar la metodología que se va a usar. Esta etapa se concluyó el periodo pasado. En el presente período se analizó el problema de correspondencia y las diferentes maneras que existen de afrontarlo.

Page 25: Centro de Investigación Científica y de Educación de Ensenada.evovision.cicese.mx/pagina_cesar/avance2.pdfJosé Luis Briseño Cervantes Alejandro Hinojosa Corona Eugenio Rafael

25

25

b) Formalización. Después de comprender el problema, es necesario abordarlo, definir los modelos a seguir. En el periodo pasado se decidió abordar el problema con un enfoque bio-inspirado, en este periodo se ha definido la estructura del algoritmo que modele este enfoque; sin embargo, aun está pendiente definir el modelo de comportamiento de estas abejas. No obstante, para modelar el problema de la reconstrucción, es necesario conocer el problema de la correspondencia; esto también se hizo durante este periodo aunque no se tenia contemplado. Por esta razón se decidió extender el tiempo de trabajo de esta etapa. Este tiempo agregado es el que se contempla utilizar para el modelado del comportamiento.

c) Implementación. En este paso se desarrolla un prototipo que aplique las técnicas elegidas

en el paso anterior. Esta etapa comenzó en este período de trabajo. Se han programado gran cantidad de algoritmos para realizar los experimentos necesarios y compararlo con la teoría que desarrolla. El programa visualizador de la línea epipolar, los diferentes métodos para calcular la matriz fundamental y las matrices de las camaras, en el enfoque calibrado y no calibrado, pruebas con métodos de correspondencia y diseño de un algoritmo para obtener mapas de disparidad. Esta etapa también vió afectada su tiempo de trabajo, pues la programacion para experimentar con el mapa de disparidad no se tenia contemplada. La razón por la que se ha alargado tanto este tiempo es considerando la experiencia en este periodo. Pues se ha notado que las etapas de implementación y pruebas están estrechamente relacionadas, pues una utiliza a la otra como fuente de retroalimentación. Por esta razón se considera que terminarán al mismo tiempo.

d) Pruebas. Este paso pretende probar la eficiencia de las técnicas utilizadas reflejadas en los programas que se desarrollen. En cuanto se tuvieron los primeros programas, se compararon los resultados con lo que dicta la teoría, y en lo posible, con resultados existentes en la literatura.

e) Escritura de Tesis. Durante este paso se contempla la escritura de la tesis de maestría

que contemple los resultados de esta investigación. En el período pasado se tenía la base para los capítulos introductorias de la tesis; ahora, con los trabajos que se realizaron, se tiene una buena parte los capítulos intermedios; que es la conceptualización del problema y la experimentación, y se puede vislumbrar desde ahora parte de las conclusiones y trabajo futuro.

2004 2005 Pasos Sep Oct Nov Dic Ene Feb Mar Abr May Jun Jul Ago

Analis.y def. de problem. Formalización. Implementación. Pruebas. Escritura Tesis. Document. Avance

Desarrollado Por desarrollar Agregado

Page 26: Centro de Investigación Científica y de Educación de Ensenada.evovision.cicese.mx/pagina_cesar/avance2.pdfJosé Luis Briseño Cervantes Alejandro Hinojosa Corona Eugenio Rafael

26

26

A continuación se presentan a mayor detalle que en la subsección anterior, las etapas importantes que aun no se han realizado, se ha procurado presentarlas en orden de realización. 6.2 Trabajo pendiente. 6.2.1 Consolidar experimentación con los métodos de triangulación masiva en el enfoque calibrado.

Los resultados obtenidos hasta ahora con los métodos de triangulación analizados no son lo que se esperaba. Esta etapa de la tesis apenas ha comenzado, aun falta analizar de manera minuciosa los modelos definidos en el capitulo 4. Los modelos se han comprendido teóricamente, pero experimentalmente existen algunas cosas que permanecen ambiguas; específicamente en el método del punto medio donde se hizo evidente que antes de aplicar el modelo había que preprocesar la entrada (puntos de correspondencia) para utilizar sus coordenadas en el marco de referencia de la cámara. Además, se quiere probar diferentes métodos numéricos para resolver el sistema de ecuaciones y ver el comportamiento en cada uno de estos.

6.2.2 Experimentación completa de los métodos de triangulación en el enfoque no calibrado.

Aun no se ha realizado la experimentación de los métodos de triangulación con el enfoque no calibrado. Sin embargo, se sabe que no se puede aplicar el método del punto medio en este enfoque; ya que éste exige una solución proyectiva, y no existe la noción del punto medio en el espacio proyectivo. Solo queda aplicar el método lineal; sin embargo para aminorar las ambigüedades que presenta este método en el enfoque calibrado, se ha decidido aplicar primero el método polinomial. De esta manera se asegura que ambos puntos correspondientes van a interceptar en un punto tridimensional. Veremos que comportamiento tiene el método lineal con y sin aplicar el método polinomial como preprocesamiento de la entrada.

6.2.3 Formalizar el modelo del comportamiento de la abejas.

En el primer avance, se tenia la intuición de que este modelo podría encajar en el problema de la reconstrucción. En este momento, se tiene una idea clara, pero general de como aplicar el modelo de las abejas al problema de la reconstrucción. Se debe definir como modelar el comportamiento de las abejas; las opciones son: con el Cálculo de sistemas comunicativos [15] propuesto en el primer avance. Desarrollando técnicas de inteligencia artificial (redes neuronales, algoritmos genéticos, lógica difusa, etc). Adecuando métodos de búsqueda heurística (divide y vencerás, búsqueda primero el mejor y voraz, etc.).

6.2.4 Detallar y aplicar del modelo del comportamiento de las abejas al problema de reconstrucción Teniendo la formalización del comportamiento de las abejas, el paso siguiente es diseñar a detalle un algoritmo para programarlo y experimentar con su desempeño. Este sería el ultimo paso para concluir este trabajo de tesis; Diseñando y probando un enfoque alternativo que resuelva el problema de la reconstrucción tridimensional con ahorro de recursos computacionales.

Page 27: Centro de Investigación Científica y de Educación de Ensenada.evovision.cicese.mx/pagina_cesar/avance2.pdfJosé Luis Briseño Cervantes Alejandro Hinojosa Corona Eugenio Rafael

27

27

7. Referencias. [1] Boumaza, A., Louchet, J. 2003. Applications of Evolutionary Computing, EvoWorkshops2003. LNCS

2611: 359-369 p. [2] Crist E. 2004. Can an Insect Speak? The Case of the Honeybee Dance Language. Social Studies of

Science. 34/1(February 2004): 7–43 [3] Hartley, R; Zisserman, A. 2001. Multiple View Geometry in Computer Vision. Cambridge University

Press. Primera edición (con correcciones). Londres. [4] Harris, C; Stephens, M. A combined corner and edge detector”. 1988. 4th Alvey Vision Conference.

147-151 p. [5] Hartley, R; Sturm, P. 1997. Triangulation. CVIU. 68(2):146-157p. [6] Hernández, B. 2002. Un nuevo detector sub-pixel paramétrico de esquinas múltiples,empleando

técnicas de optimización tradicionales y cómputo evolutivo. Tesis de Maestría, CICESE. [7] Marchand, E., Chaumette, F. 1999. “An autonomous active vision system for complete and accurate

3D scene reconstruction”. Intern. Journal of C.V. 32(3): 171-194 p. [8] McInerney, Terzopoulos, D. 1995. Topologically Adaptable Snakes. ICCV 95. Cambridge, MA, USA

June 1995, 840-845 p. [9] Pérez,C., 2004.Apareamiento Denso de un par estereoscopico usando un enfoque de vida artificial.

Tesis de Maestría, CICESE. [10] Pollefeys, M., Koch, R., Maarten, V., Van Gool, L. 1998. Metric 3D surface reconstruction from

uncalibrated image sequences. Smile ’98, LNCS 1506: 139-154 p. [11] Quero, A. Actividades Sociales de las Abejas. Dpto. de Biología de Organismos y

Sistemas.Universidad de Oviedo. [12] Ramirez, R. 2000. Síntesis de imagenes a partir de fotografías. Tesis de Maestría, CICESE [13] Scharstein, D.; Szelinski, R. 2001. A taxonomy and evaluation of dense two-frame stereo

correspondence algorithms. IEEE Workshop on Stereo and Multi-Baseline Vision. December 2001: 131-140 p.

[14] Srinivasan, M V; Zhang S W; Lehrer M; Collet, T S. 1996. Honeybee navigation en route to the goal:

visual flight control and odometry. Journal of Experimental Biology199: 237-244 p. [15] Sumpter, D; Broomhead, D. 1998. Formalising the link between worker and society in honey bee

colonies. 1st. Intern Workshop ‘98 MASB, Paris. [16] Trucco, E. Verri, A. 1998. Introductory techniques for 3-D computer vision. Prentice-Hall, Inc. Upper

Saddle River. [17] Von Frish, K. 1967. The Dance Language and Orientation of Bees. Cambridge, MA: Harvard

University Press [18] VXL: http://vxl.sourceforge.net/