memoria de trabajo de investigación para la obtención de...

39
Memoria de Trabajo de Investigación para la obtención de los créditos de investigación en el Programa de Doctorado en Ingeniería Industrial. ESTIMACIÓN DE LA POSE DE UNA CÁMARA PARA APLICACIONES DE VÍDEO AUMENTADO Donostia - San Sebastián ELABORADO: Vº B: Firma: Jairo Roberto Sánchez Tapia Firma: Diego Borro Yagüez Fecha: Fecha:

Upload: duonghanh

Post on 07-Feb-2018

214 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre

Memoria de Trabajo de Investigación para la obtención de los créditos de investigación en el Programa de Doctorado en Ingeniería Industrial.

ESTIMACIÓN DE LA POSE DE UNA CÁMARA PARA APLICACIONES DE VÍDEO AUMENTADO

Donostia - San Sebastián ELABORADO: Vº B:

Firma: Jairo Roberto Sánchez Tapia Firma: Diego Borro Yagüez Fecha: Fecha:

Page 2: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre
Page 3: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre

I

ÍNDICE 1 INTRODUCCIÓN ................................................................................................................................. 1 2 ANTECEDENTES................................................................................................................................. 3

2.1 GEOMETRÍA DE LA CÁMARA............................................................................................................ 4 2.2 CALIBRACIÓN DE LA CÁMARA......................................................................................................... 6

2.2.1 Calibración offline..................................................................................................................... 7 2.2.2 Calibración online..................................................................................................................... 7

2.3 ESTIMACIÓN DE LA POSE ................................................................................................................. 8 2.3.1 Algoritmos SFM......................................................................................................................... 9 2.3.2 Algoritmos SLAM .................................................................................................................... 10

3 OBJETIVOS DEL PROYECTO........................................................................................................ 11 4 METODOLOGÍA................................................................................................................................ 13

4.1 VISIÓN GENERAL DEL MÉTODO PROPUESTO .................................................................................. 13 4.2 TRACKER DE CARACTERÍSTICAS.................................................................................................... 13

4.2.1 Detección de puntos característicos ........................................................................................ 13 4.2.2 Cálculo del desplazamiento de los puntos característicos ...................................................... 14

4.3 TRACKER 3D................................................................................................................................. 18 4.3.1 Cálculo de la matriz fundamental............................................................................................ 18 4.3.2 Calibración de la cámara........................................................................................................ 19 4.3.3 Reconstrucción 3D de la escena.............................................................................................. 19 4.3.4 Desplazamiento de la cámara ................................................................................................. 21

5 CONCLUSIONES ............................................................................................................................... 25 6 FUTURAS LÍNEAS DE INVESTIGACIÓN..................................................................................... 27 7 BIBLIOGRAFÍA ................................................................................................................................. 29 8 PUBLICACIONES .............................................................................................................................. 31

8.1 PUBLICACIONES ACEPTADAS EN CONGRESOS NACIONALES ........................................................... 31 8.2 PUBLICACIONES ACEPTADAS EN CONGRESOS INTERNACIONALES.................................................. 31

9 PARTICIPACIÓN EN PROYECTOS............................................................................................... 33 10 ANEXOS............................................................................................................................................... 35

10.1 ARTÍCULOS GENERADOS ............................................................................................................... 35 10.2 ARTÍCULOS RELACIONADOS.......................................................................................................... 35

Page 4: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre
Page 5: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre

1

1 INTRODUCCIÓN Ante el éxito de la realidad virtual en muchos sectores de la industria y en el ámbito cotidiano, estos últimos años está surgiendo la tecnología de la realidad aumentada. En una aplicación de realidad virtual, el usuario se sumerge en un mundo totalmente sintético en el que es posible interactuar y obtener respuesta. Sin embargo, en una aplicación de realidad aumentada el usuario interactúa con el mundo físico que le rodea, sobre el que se añaden objetos virtuales generados por ordenador. Idealmente, la percepción visual que el usuario tiene sobre los objetos reales y virtuales es la misma.

Dependiendo de la cantidad de objetos virtuales que se agreguen a la escena real, en (Milgram, et al., 1994) se propone la clasificación que se muestra en la figura 1.

Figura 1 Taxonomía de Milgram

El esquema básico de un sistema de realidad aumentada es una cámara que captura imágenes del mundo real, conectada a un computador que hace los cálculos necesarios para introducir los objetos virtuales. El resultado se puede mostrar al usuario mediante pantallas convencionales o mediante visores que permitan una mayor inmersión en la aplicación.

El mayor problema que se tiene que resolver es la alineación de los objetos virtuales con las imágenes capturadas. La precisión en esta tarea es crítica para que el usuario tenga una sensación realista de coexistencia entre los objetos reales y los virtuales. Además todo esto debe hacerse en tiempo real.

Para poder alinear objetos virtuales con las imágenes reales, es necesario conocer la posición relativa de la cámara respecto a algún sistema de referencia global que sirva para pintar los objetos virtuales. Esta posición se puede medir con sensores externos que localicen la cámara, como por ejemplo trackers magnéticos. Sin embargo estas soluciones requieren intervenir el entorno de trabajo, algo que no siempre es posible.

Una variante de la realidad aumentada es el vídeo aumentado. Los problemas a resolver son similares. La mayor diferencia es que en lugar de trabajar sobre una cámara en tiempo real se trabaja sobre un vídeo grabado previamente. Este matiz hace que se necesiten métodos basados en las imágenes capturadas para calcular la posición de la cámara, ya que es la única información de la que se dispone en un vídeo.

Este trabajo presenta una solución aplicable al problema del vídeo aumentado. Se basa en las imágenes grabadas y no necesita información adicional ni interacción con le usuario.

Page 6: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre
Page 7: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre

3

2 ANTECEDENTES Desde principios de los 90 la realidad aumentada ha empezado a ser un tema de interés en el campo de la investigación. El término realidad aumentada apareció por primera vez en el artículo publicado por Caudell y Mizell en 1992 (Caudell & Mizell, 1992).

Sin embargo el concepto no era nuevo. El primer trabajo de realidad aumentada se le atribuye a Ivan Sutherland, que en 1968 construyó un prototipo que consistía en un casco de realidad virtual y un sistema de tracking mecánico, que permitían superponer imágenes tridimensionales generadas por ordenador (Shuterland, 1968).

Hollywood tampoco se quedó atrás. En los 80 la imaginación de los cineastas ya concebía sistemas de realidad aumentada en películas como Terminator o Robocop.

Figura 2 Captura de la película Terminator

Hoy en día esta tecnología empieza a ser más común. Algunos ejemplos de las posibles aplicaciones de la realidad aumentada son:

• Mantenimiento y montaje: En este campo la realidad aumentada puede ayudar a un operario que tenga que hacer una tarea de montaje o mantenimiento de alguna máquina mostrando información sobre posiciones de piezas, conexiones de cableado, pares de apriete, etc.

• Medicina: Un médico podría utilizar la realidad aumentada para ver el interior del paciente antes de una operación para poder planificarla, o durante ella para localizar algún tejido dañado.

• Cine: Las técnicas de vídeo aumentado se usan hoy en día para facilitar el montaje de efectos especiales. Ejemplos de aplicaciones pensadas para este propósito son RealMiz Matchmover, 2d3 Boujou, The Píxel Farm PFTrack, Science-D-Visions 3d Equalizer y Andersson Technologies LLC Syntheyes.

• Arquitectura: El vídeo aumentado se puede utilizar para predecir el impacto que tendrá una construcción sobre el paisaje, grabando el terreno sobre el que se construirá y añadiendo un modelo 3D del edificio que se levantará.

Page 8: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre

Estimación de la pose de una cámara para aplicaciones de vídeo aumentado

4

Figura 3 Aplicaciones de Realidad Aumentada

Como ya se ha comentado en la introducción, el mayor problema a resolver en una aplicación de realidad aumentada es la alineación de los objetos virtuales con los reales. Otra forma de decir esto es que el mayor problema a resolver es conseguir un modelo matemático que describa la cámara que grabó la secuencia de vídeo.

2.1 Geometría de la cámara Matemáticamente, una cámara puede modelarse como una función de transformación que convierte puntos 3D a 2D. Este apartado presenta el modelo pin-hole, que es el más sencillo y apropiado para modelar cámaras digitales, aunque no es el único existente.

Para formar el modelo pin-hole, se considera un centro de proyección en el espacio y un plano situado a una distancia f (distancia focal) del centro de proyección. A este plano se le conoce como plano focal o plano de la imagen. Como puede observarse en la figura 4, la proyección que generará esta cámara, será la intersección entre el plano de la imagen y la línea que une el punto a proyectar con el centro de proyección.

Page 9: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre

Antecedentes

5

Figura 4 Geometría de la cámara

Mediante triángulos semejantes puede deducirse fácilmente las funciones que modelan este sistema de proyección:

TT

ZYfZ

XfZYX ),(),,( a

Al centro de proyección se le llama centro óptico. A la línea perpendicular al plano de la imagen y que pasa por el centro óptico se la conoce como eje principal, y el punto de intersección entre el eje principal y el plano de la imagen se conoce como punto principal.

Si se representan los puntos de la escena y de la imagen mediante vectores homogéneos, entonces el modelo de la cámara puede expresarse mediante una transformación lineal entre sus coordenadas homogéneas. Esto permite expresar el modelo como producto de matrices, obteniendo el siguiente sistema:

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⎥⎥⎥

⎢⎢⎢

⎡=

⎟⎟⎟

⎜⎜⎜

⎟⎟⎟

⎜⎜⎜

10100000000

~1

ZYX

ff

ZfYfX

yx

siendo (x,y)T las coordenadas del punto en el plano de la imagen. La relación de equivalencia ~ indica que los puntos (x,y,1)T y (fX,fY,Z)T son iguales en el espacio proyectivo P2, es decir existe un escalar λ tal que λ(x,y,1)=(fX,fY,Z). Por lo tanto:

⎟⎟⎟

⎜⎜⎜

⎛=

⎟⎟⎟⎟

⎜⎜⎜⎜

⎟⎟⎟

⎜⎜⎜

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

11~

1

yx

ZYf

ZXf

ZfYfX

ZYX

a

Este sistema puede expresarse en una forma más compacta como PXx ~ siendo P la matriz de proyección de la cámara.

Sin embargo, el modelo descrito es válido para la cámara ideal y no tiene en cuenta factores que influyen en la cámara real como imperfecciones en la fabricación del sensor y la lente. Estos defectos derivan en que el eje principal no intersecta con el plano de la imagen en su centro, en que los píxeles no son perfectamente cuadrados y en que la lente distorsiona las imágenes. La figura 5 muestra una ilustración de la deformidad de un píxel capturado por el sensor de una cámara digital.

Page 10: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre

Estimación de la pose de una cámara para aplicaciones de vídeo aumentado

6

Píxel

uP

vP

α

Figura 5 Ilustración de la deformidad de un píxel

Si se introducen estos parámetros en el modelo, y despreciando las distorsiones producidas por la lente, se obtiene la siguiente relación:

siendo Tyx pp ),( las coordenadas del punto principal,

vpfs )tan(α= ,

ux p

ff = , v

y pff = .

Este modelo puede expresarse de forma más compacta como x~K[I|0]X siendo K la matriz de calibración o matriz de parámetros intrínsecos y estando la cámara centrada en el origen del sistema de coordenadas.

Otro aspecto a tener en cuenta es que, normalmente, los puntos de una escena se representan en el sistema de coordenadas del mundo y no en el de la cámara. Por lo tanto es necesario hacer una transformación que convierta coordenadas del mundo en coordenadas de la cámara. Esta transformación se trata de una rotación y una traslación que se representa mediante una matriz llamada matriz de parámetros extrínsecos:

XtR

X ⎥⎦

⎤⎢⎣

⎡=

103Tcam

Si se combinan los parámetros intrínsecos y extrínsecos, se obtiene la ecuación de proyección P=K[R|t] que permite dibujar objetos virtuales dentro de la escena capturada. El cálculo de la matriz K se conoce como calibrado de la cámara, y el cálculo de la posición se conoce como tracking 3D o estimación de la pose.

Las siguientes secciones desarrollan los conceptos de calibración y tracking describiendo los métodos existentes en la bibliografía.

2.2 Calibración de la cámara El proceso de calibración de la cámara consiste en calcular los parámetros internos de la misma. A este conjunto de parámetros se les llama parámetros intrínsecos, ya que dependen únicamente del dispositivo físico de captura y nunca varían, salvo que la lente sea varifocal (enfoque y zoom).

A grandes rasgos hay dos opciones a la hora de calibrar una cámara: online y offline.

Page 11: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre

Antecedentes

7

2.2.1 Calibración offline Este tipo de calibración es el que se hace antes de comenzar a capturar la secuencia de vídeo a aumentar. La idea es capturar imágenes de un objeto conocido y calcular a partir de éstas los parámetros internos.

Uno de los algoritmos más populares fue propuesto por Tsai (Tsai, 1987). Este algoritmo utiliza un patrón de calibración compuesto por dos superficies no coplanares con marcas impresas. La calibración se hace mediante el emparejado de las marcas detectadas en la imagen con sus correspondientes puntos 3D en el espacio.

Figura 6 Patrón de calibración de Tsai

Hoy en día el método más usado es el propuesto por Zhang (Zhang, 1998). Este método requiere al menos dos vistas de un patrón de calibración plano. Es el algoritmo usado en la librería OpenCV de Intel (Intel, 2004), cada vez más extendida en el campo de la visión por computador.

En general estos algoritmos son precisos y rápidos, pero no siempre es posible usarlos, ya que en muchas ocasiones sólo se dispone de la secuencia de vídeo a aumentar y no de la cámara que la capturó.

2.2.2 Calibración online Esta calibración es la que se ejecuta sobre las propias imágenes a aumentar. Consiste en encontrar un conjunto de parámetros internos que sean consistentes con la geometría proyectiva subyacente a la secuencia de imágenes. Normalmente no necesitan intervención del usuario, por lo que resultan adecuados para cámaras con lentes varifocales.

Los métodos de calibración online consisten en encontrar una entidad geométrica llamada cónica absoluta, que tiene la propiedad de ser invariante a las transformaciones de rotación y traslación de la cámara. A esta cónica se la conoce como la cónica de calibración, ya que sólo depende de los parámetros internos de la cámara.

Dentro de este grupo hay dos alternativas, dependiendo del conocimiento que se tenga de la escena capturada.

La primera de las alternativas aprovecha la existencia de líneas paralelas en la imagen. Hay que recordar que una cámara aplica una transformación de proyección sobre la escena que captura, por lo tanto las proyecciones de líneas paralelas se cruzan en un plano especial llamado el plano en el infinito. A estos puntos de cruce se les conoce como puntos de fuga. Conocer los puntos de fuga en tres direcciones ortogonales permite calcular la cónica absoluta y con ella los parámetros internos de la cámara (Hartley & Zisserman, 2000).

Page 12: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre

Estimación de la pose de una cámara para aplicaciones de vídeo aumentado

8

La segunda alternativa se basa en que las imágenes de la cónica absoluta proyectadas en dos fotogramas diferentes de una secuencia de vídeo deben cumplir ciertas restricciones geométricas, llamadas restricciones epipolares.

Figura 7 Restricción epipolar en la cónica absoluta (Hemayed, 2003)

Los métodos de autocalibración más extendidos que usan esta restricción se basan en las ecuaciones de Kruppa. El primero de éstos métodos se introdujo en (Faugeras, et al., 1992) que fueron simplificados en trabajos como (Hartley, 1997b).

2.3 Estimación de la pose Se conoce como pose a la posición que ocupa la cámara respecto a la escena que captura (rotación y traslación). A este conjunto de parámetros se les conoce como parámetros externos o extrínsecos, ya que dependen únicamente de la posición de la cámara respecto a un sistema global de coordenadas.

Figura 8 Parámetros extrínsecos

Conociendo los parámetros extrínsecos e intrínsecos de la cámara es posible añadir objetos virtuales a la escena de forma realista. En la figura 9 se puede ver un ejemplo de imagen aumentada, en la que se añade una tetera virtual a una mesa.

Page 13: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre

Antecedentes

9

Figura 9 Escena de realidad aumentada

En los últimos años se han probado diferentes estrategias para calcular la pose de la cámara que van desde sensores inerciales hasta GPS o trackers magnéticos, sin embargo la tendencia de la mayoría de autores es usar directamente las imágenes capturadas por la cámara, que es la opción elegida en este trabajo.

A la hora de calcular la pose de la cámara utilizando únicamente las imágenes que ésta captura, existen básicamente tres opciones, dependiendo del grado de conocimiento que se tenga sobre la escena.

Los primeros métodos que se usaron aprovechaban la existencia de objetos conocidos en la imagen, como marcadores. La implementación más conocida de este tipo de tracking es la librería ArToolkit de la universidad de Washington (Kato & Billinghurst, 1999).

El segundo grupo se basa en el conocimiento de la geometría de los objetos situados en la escena. Si se tiene en cuenta que la posición de una cámara respecto a un objeto es la inversa de la posición del objeto respecto a la cámara, se pueden utilizar algoritmos de tracking de objetos para aplicaciones de realidad aumentada. En (Lepetit & Fua, 2005) se puede consultar un resumen muy amplio de las técnicas utilizadas en este tipo de tracking.

En el tercer grupo entran los algoritmos de tipo SFM (Structure From Motion). Estos métodos se basan en el efecto parallax para calcular el movimiento de la cámara a lo largo de la secuencia (Lu, et al., 2004). El efecto parallax es el movimiento aparente de un objeto respecto al fondo cuando cambia el punto de vista del observador. En la figura 10 se puede apreciar como el punto y, cambia notablemente de posición al moverse la cámara.

Figura 10 Efecto parallax

2.3.1 Algoritmos SFM Los algoritmos SFM son capaces de calcular la estructura 3D de una escena a partir de varias proyecciones de la misma, es decir, a partir de una secuencia de vídeo. Esta reconstrucción se puede usar para calcular la pose de la cámara a lo largo de la secuencia. Por lo general no funcionan en tiempo real, por lo que no pueden usarse en aplicaciones de realidad aumentada, pero sí en aplicaciones de vídeo aumentado.

Page 14: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre

Estimación de la pose de una cámara para aplicaciones de vídeo aumentado

10

Estos algoritmos se basan en el conocimiento de la geometría epipolar (Hartley & Zisserman, 2000). Dos cámaras proporcionan dos proyecciones distintas de una misma escena, que están relacionadas entre sí mediante esta geometría. En la figura 11 puede verse un esquema de un sistema de dos cámaras. En este sistema se captura un punto X que se proyecta en los puntos x y x′ .

Figura 11 Geometría epipolar

La geometría epipolar queda totalmente definida por la matriz fundamental F. Esta matriz relaciona dos proyecciones de un mismo punto mediante la restricción epipolar:

0=′ Fxx T.

La matriz fundamental es una matriz 3x3 que puede calcularse a partir de correspondencias de puntos entre las dos vistas. Estas correspondencias se pueden introducir manualmente o calcularlas automáticamente con un proceso de tracking de características 2D (Bouguet, 2000).

Una vez se conoce la matriz fundamental, es posible calcular una reconstrucción 3D proyectiva de la escena. Esto quiere decir que la reconstrucción que se obtiene es ambigua y sigue siendo válida después de aplicarle cualquier transformación proyectiva. Sin embargo, si se conocen los parámetros intrínsecos de la cámara, se puede calcular la matriz esencial E a partir de la matriz fundamental:

FKKE T′= . Esta matriz permite calcular una reconstrucción métrica de la escena, que quiere decir

que la nube de puntos obtenida sólo es ambigua frente a transformaciones de escalado. Conociendo la reconstrucción 3D y sus correspondientes proyecciones 2D se puede resolver la pose de la cámara para cada fotograma usando el algoritmo DLT (Direct Linear Transformation).

Ejemplos de trabajos basados en SFM son (Pollefeys, 1999) y (Cornelis, et al., 2000) que son capaces de calibrar la cámara y calcular su trayectoria sin información previa.

2.3.2 Algoritmos SLAM Los algoritmos SLAM (Simultaneous Localization and Mapping) se utilizan

básicamente en guiado de robots a través de entornos desconocidos. Estos sistemas son capaces de construir un mapa 3D de la zona de trabajo del robot a la vez que lo guían a través de ella. Funcionan en tiempo real y también pueden aplicarse en realidad aumentada (Davison, 2003).

Page 15: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre

11

3 OBJETIVOS DEL PROYECTO El objetivo principal de este trabajo es desarrollar un sistema de vídeo aumentado que no requiera ningún conocimiento de la escena a aumentar ni ninguna intervención del usuario.

Para llegar a este objetivo se diferencian dos sub-objetivos que son:

• Detección y emparejamiento de puntos característicos a lo largo de la secuencia de vídeo, como por ejemplo esquinas de objetos. Los datos de entrada serán las imágenes del vídeo y como salida se producirá una lista de puntos característicos emparejados a lo largo de todo el vídeo.

• Estimación de la geometría interna y movimiento de la cámara para cada fotograma del vídeo. Los datos de entrada serán los puntos característicos y sus correspondientes parejas y como salida se obtendrán los parámetros que modelan la cámara y la posición de la cámara en cada fotograma respecto al primero.

La secuencia de vídeo a aumentar cumplirá las siguientes restricciones:

• La cámara que se use para grabar la secuencia debe ser de óptica fija y de tipo pin-hole. Esto implica que secuencias en las que se utilice zoom o cambie el enfoque de la lente no serán válidas.

• La escena capturada debe ser estática, es decir, no deben existir objetos que se desplacen o cambien de forma. De todos modos es deseable que el sistema sea capaz de detectar y descartar pequeños objetos que se muevan.

Page 16: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre
Page 17: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre

13

4 METODOLOGÍA

4.1 Visión general del método propuesto Entre las alternativas analizadas en la sección 2.3 se ha escogido el grupo de algoritmos SFM. Esta elección se justifica debido a que es la única que permite aumentar vídeos de los que no se tiene información de la escena sin que el usuario tenga que intervenir.

El método que se propone en este trabajo se divide en dos partes muy diferenciadas. En primer lugar es necesario buscar puntos característicos en los fotogramas del vídeo y emparejarlos entre ellos para que, en segundo lugar, se pueda estimar la geometría subyacente. El módulo encargado de la primera parte es el tracker de características, y el encargado de la segunda parte es el tracker 3D

Detector de características

Cálculo del desplazamiento de las características

Estimación de la geometría

RenderPosición inicial de los objetos virtuales

Tracker de características Tracker 3DCálculo de la

posición de la cámaraVídeo

Figura 12 Visión general del método propuesto

Inicialmente, el tracker de características detecta puntos característicos en el primer fotograma. Se llama puntos característicos a los píxeles que son fácilmente distinguibles de los de su alrededor, como por ejemplo esquinas de objetos. A continuación se calcula el desplazamiento que estos puntos hacen a lo largo de toda la secuencia de vídeo. Esta información es la que usa el tracker 3D para calcular la reconstrucción 3D de la escena. Finalmente se calcula el desplazamiento de la cámara emparejando la posición 3D de los puntos característicos con su correspondiente proyección 2D en cada fotograma.

En las siguientes secciones se explica con detalle el funcionamiento de cada una de las partes del método propuesto.

4.2 Tracker de características En este paso se analiza el vídeo buscando puntos característicos y calculando su desplazamiento a lo largo de la secuencia. Su precisión es crítica para la estimación de la geometría que se hará en los siguientes pasos.

El trabajo del tracker se divide en dos tareas que a continuación se detallan: detección de puntos característicos y cálculo de su desplazamiento.

4.2.1 Detección de puntos característicos El algoritmo empleado para encontrar los puntos característicos está basado en el GoodFeaturesToTrack propuesto por Shi y Tomasi (Shi & Tomasi, 1994). Este método ordena los píxeles de la imagen según el mínimo autovalor de la siguiente matriz:

Page 18: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre

Estimación de la pose de una cámara para aplicaciones de vídeo aumentado

14

( ) ( )

( ) ( )⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

⎟⎟⎠

⎞⎜⎜⎝

⎛∂

∂∂∂

∂∂∂

∂⎟⎠⎞

⎜⎝⎛

∂∂

∑∑

∑∑

Vecindad

2

Vecindad

2Vecindad

2

Vecindad

2

,,

,,

yyxI

yxyxI

yxyxI

xyxI

siendo I(x,y) la intensidad del píxel (x,y). Los puntos con autovalores altos se consideran puntos característicos válidos, ya que corresponden a píxeles con alta variación de intensidad en dos direcciones ortogonales.

La detección de características se ejecuta únicamente en el primer fotograma. De todos modos, si el número de características que se tienen localizadas en un fotograma concreto de la secuencia baja de un cierto umbral, la detección se vuelve a ejecutar para poder disponer de puntos suficientes para el cálculo de la geometría. El número mínimo de puntos que se deben tener localizados es ocho, aunque cuantos más se tengan menor es la probabilidad de error en la estimación de la geometría.

Para medir el error en la detección de puntos característicos, se han generado imágenes con bordes conocidos y se les ha añadido ruido. De esta manera se puede comparar las coordenadas de puntos característicos detectados por el tracker y las que se espera que sean detectadas. La siguiente tabla muestra algunos resultados:

320x240 640x480 ruidoσ errorμ errorσ Outliers errorμ errorσ Outliers 0 0 0 0% 0 0 0% 10 0 0 0% 0 0 0% 20 0 0 0% 0.002 0.09 0% 30 0.005 0.113 0% 0.014 0.201 0% 40 0.014 0.2 0% 0.031 0.297 0% 50 0.032 0.301 0% 0.037 0.322 0.201% 60 0.044 0.363 3.498% 0.05 0.367 0.9% 70 0.049 0.406 26.007% 0.084 0.473 1%

Tabla 1 Error en la búsqueda de puntos característicos

En la tabla ruidoσ es la desviación típica del ruido blanco agregado a la intensidad de los píxeles y errorμ y errorσ son la media y la desviación típica del error medido en píxeles.

4.2.2 Cálculo del desplazamiento de los puntos característicos Una vez detectados los puntos característicos en el primer fotograma, el tracker crea un historial con sus posiciones en los fotogramas restantes. Más adelante será ésta la información que se use para estimar la geometría de la escena.

Al desplazamiento de las características se le conoce también como flujo óptico. Lucas y Kanade (Lucas & Kanade, 1981) definen el flujo óptico de un punto como el vector que minimiza la siguiente función residual:

( ) ( ) ( ) ( )( )∑ ∑+

−=

+

−=

++−==xx

xx

yy

yy

u

ux

u

uyyxyx dydxJyxIdd

ω

ω

ω

ω

ρρ ,,,d

siendo d el vector de desplazamiento, I(x,y) y J(x,y) la intensidad del píxel (x,y) en respectivos fotogramas y (wx,wy) la ventana de búsqueda escogida.

Page 19: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre

Metodología

15

El método que se ha usado en este trabajo es el propuesto por Jean-Yves Bouquet (Bouguet, 2000). Se basa en el flujo óptico de Lucas-Kanade pero se ejecuta sobre reducciones piramidales de la imagen original como se muestra en la figura 13. Los niveles bajos de la pirámide (L2) hacen que el método sea robusto cuando se aplique sobre movimientos bruscos, y los niveles altos (L0) proporcionan precisión en los cálculos.

0L

1L

2L

Figura 13 Reducción piramidal en tres niveles

Sin embargo, este método es muy sensible al ruido y a las posibles características erróneas que se hayan detectado en el paso anterior (outliers). Para poder detectar y eliminar estos outliers, se ha optado por asociar a cada característica que se detecte un filtro de Kalman (Kalman, 1960, Welch & Bishop, 2001).

El filtro de Kalman proporciona un conjunto de ecuaciones para modelar un sistema lineal de tiempo discreto. Es capaz de predecir estados presentes, pasados y futuros de un sistema que se pueda modelar según la siguiente ecuación:

11 −− += kkk wAxx

siendo xk el vector de estado en el instante k, A la matriz de transición del sistema y wk una variable aleatoria que representa el ruido del sistema.

El vector de estado que se ha escogido para la implementación del filtro de Kalman contiene la posición y la velocidad lineal de un punto característico. Este estado queda modelado por el siguiente vector:

( )Tyxyxk vvuu=x

siendo (ux, uy) la posición del punto característico y (vx, vy) su velocidad.

La posición del punto en el siguiente fotograma es la suma entre la posición actual y su velocidad, por lo tanto la matriz A en este caso es:

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

=

1000010010100101

A .

Además, existe una relación entre las medidas que nos interesan y el vector de estados. Esta relación se modela mediante la siguiente ecuación:

Page 20: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre

Estimación de la pose de una cámara para aplicaciones de vídeo aumentado

16

kkk vHxz +=

siendo vk una variable aleatoria que representa el ruido derivado del proceso de medida, H la matriz de extracción de medida y zk el vector de medida. En esta aplicación se tiene que:

⎟⎟⎠

⎞⎜⎜⎝

⎛=

y

xk u

uz y ⎟⎟

⎞⎜⎜⎝

⎛=

00100001

H .

Si la predicción del filtro de Kalman está lejos de la posición calculada por el algoritmo de flujo óptico, se considera que el punto característico es un outlier y se elimina del tracking. En caso contrario, el filtro de Kalman ofrece un conjunto de ecuaciones que actualizan el estado del filtro en base a la nueva posición calculada por el algoritmo de flujo óptico.

La figura 14 muestra el resumen del algoritmo de tranking usado en este trabajo.

Búsqueda de características

Primer fotograma

Encontradas suficientes

No

Inicializar filtros de Kalman

Calcular flujo óptico

Fotograma nuevo

Predecir la posición con los filtros de Kalman

La predicción se asemeja a las

medidas de flujoNo Borrar outliers

Actualizar filtros

Quedan características

suficientes

No

Figura 14 Diagrama de flujo del tracker de características

Las pruebas efectuadas demuestran que la combinación del filtro de Kalman con el algoritmo de flujo óptico consigue una mayor eficacia en la detección de outliers. Estas pruebas consisten en ejecutar el algoritmo de tracking con y sin filtro de Kalman sobre secuencias de vídeo sintéticas con distintos niveles de ruido. Las siguientes gráficas

Page 21: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre

Metodología

17

muestran la evolución del tracker en la detección de outliers frente a cuatro niveles distintos de ruido:

Figura 15 Detección de outliers

La precisión del tracker se ha medido como la diferencia de la posición detectada respecto a la esperada. Como puede verse en la figura 16 el error permanece siempre por debajo de un píxel.

Figura 16 Error en el proceso de tracking

Page 22: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre

Estimación de la pose de una cámara para aplicaciones de vídeo aumentado

18

4.3 Tracker 3D En este paso se calcula la geometría de la cámara y se obtiene una reconstrucción 3D de la escena usando los puntos característicos trackeados.

Todos los cálculos que se realizan en este paso están basados en el concepto de geometría epipolar, por lo tanto la primera tarea es calcular las matrices fundamentales que existen para cada par de fotogramas consecutivos.

4.3.1 Cálculo de la matriz fundamental Para calcular la matriz fundamental se ha utilizado el algoritmo de ocho puntos

(Hartley, 1997a). El algoritmo se basa en la restricción epipolar para construir un sistema de ecuaciones lineal que cuyo resultado es la matriz fundamental:

0=′ Fxx T

siendo F la matriz fundamental, x las coordenadas de una características en un fotograma y x’ las coordenadas de esa misma característica en el siguiente fotograma. La matriz F es de ocho grados de libertad, por lo tanto son necesarios un mínimo de ocho puntos emparejados para que el sistema quede totalmente determinado obteniendo:

0fAf =⎥⎥⎥

⎢⎢⎢

=1

1

88'88

'88

'8

'88

'88

'8

11'11

'11

'1

'11

'11

'1

yxyyyxyxyxxx

yxyyyxyxyxxxMMMMMMMMM .

Sin embargo, al estar trabajando con mediciones tomadas en imágenes reales, el error cometido al medir la posición de los puntos hacen que el sistema sea incompatible, y por lo tanto se tiene que resolver con métodos de minimización como por ejemplo mínimos cuadrados. Al ser un sistema homogéneo esta solución es el autovecotor asociado al mínimo autovalor de la matriz del sistema.

Este método es sencillo y rápido, pero presenta dos inconvenientes. El sistema a resolver está mal condicionado y por lo tanto es muy sensible al ruido en las mediciones y a los outliers. Estos problemas se salvan intentando conseguir una primera matriz que se haya calculado sin outliers y a continuación refinándola mediante técnicas de optimización.

Para descartar outliers se ha optado por el método RANSAC (RANdom SAmple Consensus) (Torr & Murray, 1993). La idea es resolver el sistema varias veces pero formándolo con diferentes conjuntos de puntos característicos escogidos al azar. El número de conjuntos a formar depende de la proporción de inliers/ouliers que se tenga. Si el número de conjuntos es suficiente, existe una probabilidad alta de que exista al menos uno que sólo contenga inliers. La matriz calculada a partir de éste será la que menos outliers genere al calcular la restricción epipolar sobre la totalidad de las características.

Por último, para evitar problemas derivados de la existencia de ruido en las posiciones de los puntos característicos, es necesario un último paso de optimización que obtenga una matriz fundamental válida para la estimación de la geometría. Por lo tanto, dados los n puntos característicos detectados en el fotograma k y sus respectivas parejas en el k+1 el objetivo es minimizar:

ki

Tn

i

ki Fxx )(

0

1∑=

+ .

El algoritmo de minimización que se ha utilizado es el Levenberg-Marquardt (Levenberg, 1944). Es un algoritmo iterativo que combina el descenso por gradiente y el

Page 23: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre

Metodología

19

método de Gauss-Newton. Es más robusto que éste último ya que es capaz de converger aún cuando la solución inicial esté lejos de la solución real.

4.3.2 Calibración de la cámara Para la calibración se asume que la escena se ha capturado con una cámara pin-hole. Además, para simplificar el modelo se imponen ciertas restricciones, como punto principal centrado y distorsión y skew nulos. Con estas simplificaciones la matriz de calibración K es como sigue, siendo f la distancia focal:

⎥⎥⎥

⎢⎢⎢

⎡=

1000

0

y

x

pfpf

K .

El algoritmo que se ha utilizado es una simplificación del método propuesto por Mendonça y Cipolla (Mendonca & Cipolla, 1999) que está basado en las propiedades de la matriz esencial. La matriz esencial es la matriz fundamental para el caso de que las cámaras estén calibradas y se define como:

FKKE T= . Una propiedad importante de esta matriz es que dos de sus valores propios son iguales y

el tercero es cero. Partiendo de esta premisa, se ha implementado un método por descenso de gradiente que encuentra una matriz K que satisface esta propiedad. Gracias a las simplificaciones impuestas sobre el modelo de la cámara, éste sólo depende de la distancia focal, por lo tanto sólo hay una variable en el problema de minimización.

Con este método se obtiene una distancia focal diferente para cada par de fotogramas. Sin embargo, la precisión de este método depende mucho de que la matriz fundamental que se use para calibrar sea correcta y muchas veces la matriz K que se obtiene no es físicamente coherente. Para evitar este problema se escoge como distancia focal la media aritmética de todas las calculadas.

4.3.3 Reconstrucción 3D de la escena Una vez está calibrada la cámara, se puede calcular la matriz esencial como se vio en el apartado anterior. A partir de la matriz esencial, se puede calcular el par de cámaras (P, P’) que relacionan las dos vistas de la siguiente manera:

[ ]0|I=P , ]|[ 3uT +=′ UWVP El origen de coordenadas está centrado en el primer fotograma, U (u3 es la tercera

columna de U) y V corresponden a las matrices ortogonales obtenidas a partir de la descomposición SVD de E y W es la siguiente matriz:

⎥⎥⎥

⎢⎢⎢

⎡ −=

100001010

W

. La demostración de esta afirmación se puede consultar en (Hartley & Zisserman, 2000).

Existe una ambigüedad en la transformación correspondiente al a segunda cámara. Algebraicamente hablando, existen otras tres transformaciones válidas para el segundo fotograma, correspondientes a la traslación inversa, a una rotación de 180º sobre el eje que une las dos cámaras y la combinación de las dos anteriores.

Page 24: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre

Estimación de la pose de una cámara para aplicaciones de vídeo aumentado

20

Figura 17 Las cuatro posibles cámaras

Sin embargo sólo una de ellas es físicamente posible, y es aquella que reconstruya todos los puntos característicos delante de las dos cámaras, que en la figura 17 corresponde con el par superior izquierdo. Para encontrar la transformación válida basta con comprobar la profundidad que tiene uno de los puntos reconstruidos en ambas cámaras.

La reconstrucción 3D se calcula mediante una triangulación lineal. Conociendo las dos proyecciones de una característica en sendos fotogramas y la transformación de cámara que las relacionan, el punto 3D correspondiente se puede triangular resolviendo:

0X

PPPPPPPP

=

⎥⎥⎥⎥

⎢⎢⎢⎢

′−′′′−′′

−−

23

13

23

13

vuvu

siendo (u, v) las coordenadas de los puntos característicos en la primera imagen, (u’, v’) las coordenadas en la segunda, X la reconstrucción 3D y Pi la fila i-ésima de la cámara. Este sistema en general será indeterminado debido a errores en las coordenadas de los puntos y en el cálculo de la cámara. Su solución se puede aproximar como el autovector asociado al mínimo de sus autovalores.

Para cada par de fotogramas existe una posible reconstrucción pero sólo se calcula para un par de fotogramas. La elección del par puede ser aleatoria, sin embargo si los fotogramas que se escogen están muy cerca el uno del otro la reconstrucción será bastante errónea debido a que el desplazamiento de la cámara ha sido pequeño (Cornelis, 2004). En la figura 18 se aprecia que el área de incertidumbre alrededor de la reconstrucción es menor cuanto más alejados estén los fotogramas escogidos en el vídeo, ya que depende del ángulo que forman los líneas que unen el punto 3D con los centros ópticos.

Figura 18 Incertidumbre en la reconstrucción

Page 25: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre

Metodología

21

La figura 19 muestra un ejemplo de reconstrucción 3D. La nube de puntos 3D calculada se usará para determinar el desplazamiento de la cámara mediante el método DLT, como se expondrá más adelante.

Figura 19 Ejemplo de reconstrucción 3D de una escena

4.3.4 Desplazamiento de la cámara Una vez se ha conseguido una reconstrucción 3D válida, se puede calcular el movimiento de la cámara (rotación y traslación). La estrategia se basa en emparejar las los puntos 3D con sus correspondientes puntos característicos a lo largo del vídeo. Estos puntos corresponden con la proyección del punto 3D y su relación se describe mediante:

[ ] inni XtRKx |~ .

Si se normalizan las proyecciones, es decir se calculan sus coordenadas en una hipotética cámara que tenga como matriz de calibración la identidad, se obtiene:

[ ][ ] inni XtR0IxP

44 344 21||~ˆ 3 .

Al estar trabajando en el ámbito de la geometría proyectiva, ix̂ y PXi son equivalentes, es decir, tienen la misma dirección y sentido pero pueden variar en magnitud. Esta equivalencia implica que su producto vectorial es cero:

12

31

23

=⎟⎟⎟⎟

⎜⎜⎜⎜

−−−

iT

iiT

i

iT

iiT

i

iT

iiT

i

ii

yxxwwx

XPXPXPXPXPXP

PXx

siendo ( )iiii wyx ,,ˆ =x . Sólo dos de las tres ecuaciones del sistema de arriba son linealmente independientes, por lo tanto se puede reescribir de la siguiente forma:

Page 26: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre

Estimación de la pose de una cámara para aplicaciones de vídeo aumentado

22

[ ]0=

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

⎥⎥⎥⎥

⎢⎢⎢⎢

z

y

x

iiiiiiiiii

iiiiiiiiii

tRRRtRRRtRRR

yZyYyXyZYXxZxYxXxZYX

22

21

20

12

11

10

02

01

00

1000000001

LLLLLLLLLLLL

LLLLLLLLLLLL

Si se conocen un mínimo de seis emparejamientos 3D-2D el sistema queda totalmente determinado y se puede resolver la rotación y la traslación. Lo normal es disponer de más emparejamientos, por lo que se puede utilizar RANSAC para mejorar el resultado.

La exactitud de este método depende mucho de la precisión de los puntos 3D que se hayan calculado, ya que si es escasa no tiene por qué existir una transformación lineal que relacione la nube 3D con sus proyecciones en el vídeo.

Para solucionar este problema se ha optado por una optimización global cuyo objetivo sea encontrar una reconstrucción 3D y un conjunto de transformaciones de cámara que minimicen la diferencia entre las coordenadas de las características y la proyección calculada a partir de su reconstrucción 3D. Es decir, para un punto característico i perteneciente al fotograma k con coordenadas T

kii vu ),( cuya reconstrucción 3D es Xi, el objetivo es minimizar:

∑∑ −⎟⎟⎟

⎜⎜⎜

k iik

k

i

i

vu

XP1

.

El algoritmo utilizado para la minimización es el Bundle Adjustment (Triggs, et al., 2000). Se parte de una estructura 3D y un conjunto de transformaciones iniciales y se van modificando iterativamente mediante el algoritmo Levenverg-Marquardt hasta llegar a un nivel de error aceptable.

En la figura 20 se pueden ver los resultados obtenidos al medir el error de reproyección de la nube de puntos calculada antes y después de la optimización. Tanto el error máximo como la media permanecen estables después de ejecutar la optimización global, cosa que no ocurría antes.

Page 27: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre

Metodología

23

Figura 20 Error de reproyección

El resultado final es una nube de puntos y un conjunto de transformaciones de cámara que se ajustan de manera óptima a los puntos encontrados por el tracker de características. Lo único que queda es que el usuario escoja un punto 3D como origen de coordenadas y sitúe un objeto virtual en la escena. La siguiente figura muestra el resultado final.

Figura 21 Escena de vídeo aumentado

Page 28: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre
Page 29: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre

25

5 CONCLUSIONES El presente trabajo cubre todos los procesos envueltos en una aplicación de vídeo aumentado. El método propuesto no necesita ningún conocimiento previo para calcular el modelo de cámara, ya que obtiene toda la información de la propia secuencia de vídeo estando ésta sujeta a las restricciones impuestas en los objetivos del proyecto.

En la primera parte del trabajo se ha desarrollado un tracker de puntos característicos que ha demostrado ser lo suficientemente preciso para este tipo de aplicaciones. Además es capaz de funcionar en tiempo real en un PC estándar, por lo que podría usarse en otro tipo de aplicaciones, como por ejemplo:

• Sistemas de vigilancia, ya sea de tráfico o de personas. Combinando el tracker de características con algún algoritmo de segmentación, puede usarse para detectar situaciones de peligro en la carretera o comportamientos sospechosos de personas.

• Sistemas de captura de movimiento humano, para cine o videojuegos. El tracker puede encargarse de seguir el movimiento de las articulaciones y usar sus resultados como entradas de un sistema de cálculo de la cinemática del cuerpo.

• Sistemas de anotación de vídeos, que permitan insertar anotaciones que apunten al mismo objeto a lo largo de todo el vídeo.

En la segunda parte se ha desarrollado un tracker 3D que es capaz de añadir objetos en secuencias de vídeo. Para ello en primer lugar se obtiene una pseudo-calibración de la cámara y se calcula una reconstrucción 3D que permite estimar su movimiento. Los resultados obtenidos son satisfactorios, sin embargo el sistema tiende a fallar con secuencias largas debido a la acumulación de error o drift.

A diferencia del tracker de características, el tracker 3D no puede funcionar en tiempo real debido a que el algoritmo de optimización de la estructura 3D necesita disponer de toda la secuencia de vídeo para hacer su trabajo.

Page 30: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre
Page 31: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre

27

6 FUTURAS LÍNEAS DE INVESTIGACIÓN El trabajo realizado permite insertar objetos virtuales en secuencias de vídeo. Sin embargo, para conseguir el máximo realismo posible todavía quedan varios problemas por resolver que se plantean como posibles líneas futuras. Entre estos problemas se encuentran:

• Autocalibración: El método de autocalibración que se ha implementado es demasiado simple y no obtiene buenos resultados. Este hecho deriva en que la sensación de realismo se ve deteriorada ya que los objetos virtuales parecen deformados. Además el error en la calibración introduce ruido en la reconstrucción 3D que deteriora la estimación del movimiento de la cámara.

• Iluminación: Para conseguir un mayor realismo es necesario establecer parámetros de iluminación para los objetos virtuales de tal forma que parezcan estar siendo iluminados por la misma fuente que ilumina la escena real. Para ello hay que detectar el origen y la intensidad del foco de luz de la escena real.

• Reconstrucción densa: La reconstrucción que se obtiene hasta el momento es una nube de puntos dispersa. Una reconstrucción densa permitiría obtener una malla tridimensional que se ajustara con la escena real. Con esta malla sería posible calcular oclusiones en objetos virtuales producidas por objetos reales mejorando mucho la sensación de realismo.

• Sombreado: Conociendo la malla y la iluminación de la escena se pueden calcular las sombras que arrojarían los objetos reales sobre los virtuales y viceversa.

• Tiempo real: Actualmente es imposible que el algoritmo funcione en tiempo real ya que se necesita hacer una optimización global. Una mejora importante sería investigar métodos alternativos para calcular el movimiento de la cámara que sean lo suficientemente robustos para no necesitar una optimización de este tipo, y por lo tanto tener la posibilidad de funcionar en tiempo real.

Page 32: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre
Page 33: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre

29

7 BIBLIOGRAFÍA Bouguet, J.-Y., "Pyramidal Implementation of the Lucas Kanade Feature Tracker", Intel

Corporation, Technical Report 2000. Caudell, T. & Mizell, D., (1992). Augmented Reality: An application of heads up display

technology to manual manufacturing processes. In Hawaii International Conference on System Sciences, Pp. 659-669.

Cornelis, K., (2004). From uncalibrated video to augmented reality, Ph.D. Thesis, Katholike Universiteit Leuven

Cornelis, K., Pollefeys, M., Vergauwen, M., & Van Gool, L., (2000). Augmented Reality using Uncalibrated Video Sequences. 2nd European workshop on 3D structure from multiple images of large-scale environments, 2018, Pp. 144-160.

Davison, A. J., (2003). Real-Time Simultaneous Localisation and Mapping with a Single Camera. In Ninth IEEE International Conference on Computer Vision (ICCV), Pp. 1403-1410. Nice, France, October 13-16.

Faugeras, O., Luong, Q.-T., & Maybank, S. J., (1992). Camera self-calibration: Theory and experiments. In European Conference on Computer Vision, Pp. 321-334.

Hartley, R., (1997a). In Defence of the Eight-Point Algorithm. IEEE Transactions on Pattern Analysis and Machine Intelligence, 19, Pp. 580-593.

Hartley, R., (1997b). Kruppa's Equations derived from the Fundamental Matrix. IEEE Transactions on Pattern Analysis and Machine Intelligence, 19, Pp. 133-135.

Hartley, R. & Zisserman, A., (2000). Multiple View Geometry in computer vision: Cambridge University Press.

Hemayed, E. E., (2003). A Survey of Camera Self-Calibration. In IEEE Conference on Advanced Video and Signal Based Surveillance, Pp. 351-357.

Intel, (2004). Open Source Computer Vision Library. http://sourceforge.net/projects/opencvlibrary/

Kalman, R., (1960). A New Approach to Linear Filtering and Prediction Problems. Journal of Basic Engineering, 82, Pp. 35-45.

Kato, H. & Billinghurst, M., (1999). Marker Tracking and HMD Calibration for a video-based Augmented Reality Conferencing System. In International Workshop on Augmented Reality (IWAR), Pp. 85-94. San Francisco, USA.

Lepetit, V. & Fua, P., (2005). Monocular Model-Based 3D Tracking of Rigid Objects: A Survey. Foundations and Trends in Computer Graphics and Vision, 1, Pp. 1-89.

Levenberg, K., (1944). A Method for the Solution of Certain Non-linear Problems in Least Squares. Quarterly of Applied Mathematics, 2, Pp. 164-168.

Lu, Y., Zhang, J. Z., Wu, J., & Li, Z.-N., "A Survey of Motion-Parallax-Based 3-D Reconstruction Algorithms", in IEEE Transactions on systems, man, and cybernetics, vol. 34, 2004, pp. 532-548.

Lucas, B. D. & Kanade, T., (1981). An Iterative Image Registration Technique with an Application to Stereo Vision. In 7th International Joint Conference on Artificial Intelligence (IJCAI '81), Pp. 674-679. Vancouver, BC, Canada, April, 1981.

Mendonca, P. & Cipolla, R., (1999). A simple technique for self-calibration. In IEEE Conference on Computer Vision and Pattern Recognition, Pp. 500-505. Fort Collins, Colorado.

Milgram, P., Takemura, H., Utsumi, A., & Kishino, F., (1994). Augmented Reality: A Class of Displays of the Reality-Virtuality Continuum. In SPIE Conference on Telemanipulator and Telepresence Technologies, Pp. 282-292. Boston, USA, October 31 - November 4.

Page 34: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre

Estimación de la pose de una cámara para aplicaciones de vídeo aumentado

30

Pollefeys, M., (1999). Self-calibration and metric 3D reconstruction from uncalibrated image sequences, Ph.D. Thesis, Katholike Universiteit Leuven

Shi, J. & Tomasi, C., (1994). Good Features to Track. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR'94), Pp. 593-600, Jun 1994.

Shuterland, I., (1968). A Head-Mounted Three Dimensional Display. In Fall Joint Computer Conference, Pp. 757-764.

Torr, P. & Murray, D. W., (1993). Outlier detection and motion segmentation. Sensor fusion VI, 2059, Pp. 432-443.

Triggs, B., McLauchlan, P., Hartley, R., & Fitzgibbon, A. W., (2000). Bundle Adjustment A Modern Synthesis. Vision Algorithms: Theory an Practice.

Tsai, R., (1987). A versatile camera calibration technique for high accuracy 3D machine vision metrology using off the self TV cameras and lenses. IEEE Journal of Robotics and Automation, 4, Pp. 323-344.

Welch, G. & Bishop, G., (2001). An Introduction to the Kalman Filter. In SIGGRAPH (Computer Graphics). Los Angeles, CA, USA, August 12-17.

Zhang, Z., "A Flexible New Technique for Camera Calibration", Microsoft Research, Redmong, WA, USA, Technical Report MSR-TR-98-71, August 10 1998.

Page 35: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre

31

8 PUBLICACIONES

8.1 Publicaciones aceptadas en congresos nacionales Barandiaran, J., Moreno, I., Ridruejo, F. J., Sánchez, J., Borro, D., & Matey, L., (2005).

Estudios y Aplicaciones de Realidad Aumentada en Dispositivos Móviles. In XV Conferencia Española de Informática Gráfica (CEIG), Pp. 241-244. Granada, España, September 13-16. ISBN 84-9732-431-5 (Publicado antes del periodo de doctorado).

8.2 Publicaciones aceptadas en congresos internacionales Sánchez, J. & Borro, D., (2007). Non Invasive 3D Tracking for Augmented Video

Applications. In IEEE Virtual Reality 2007 Conference, Workshop "Trends and Issues in Tracking for Virtual Environments", Pp. 22-27. Charlotte, North Carolina, USA. ISBN 978-8322-5967-9

Sánchez, J. & Borro, D., (2007). Automatic Augmented Video Creation for Markerless Environments. In VISAPP, Pp. 519-522. Barcelona. ISBN 978-972-8865-74-0

Page 36: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre
Page 37: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre

33

9 PARTICIPACIÓN EN PROYECTOS Título: SUN (Sistema de ayuda al montaje basado en realidad aumentada). Entidad financiadora: EADS-CASA Partners: EADS-CASA, US (Universidad de Sevilla), CEIT Duración: Junio 2007 hasta Diciembre 2008 Investigador principal: Dr. Diego Borro

Título: RASMAP (Plataforma de realidad aumentada sin marcadores en entornos móviles para el desarrollo de asistentes personales) Entidad financiadora: Ministerio de Ciencia y Tecnología (Cicyt) Partners: Labein, ESI (Escuela Superior de Ingenieros de Bilbao), CEIT Duración: Octubre 2006 hasta Septiembre 2009 Investigador principal: Dr. Diego Borro

Page 38: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre
Page 39: Memoria de Trabajo de Investigación para la obtención de ...jrsanchez.users.sourceforge.net/pdf/suficiencia.pdf · En general estos algoritmos son precisos y rápidos, pero no siempre

35

10 ANEXOS

10.1 Artículos generados Barandiaran, J., Moreno, I., Ridruejo, F. J., Sánchez, J., Borro, D., & Matey, L., (2005).

Estudios y Aplicaciones de Realidad Aumentada en Dispositivos Móviles. In XV Conferencia Española de Informática Gráfica (CEIG), Pp. 241-244. Granada, España, September 13-16. ISBN 84-9732-431-5 (Publicado antes del periodo de doctorado).

Sánchez, J. & Borro, D., (2007). Non Invasive 3D Tracking for Augmented Video Applications. In IEEE Virtual Reality 2007 Conference, Workshop "Trends and Issues in Tracking for Virtual Environments", Pp. 22-27. Charlotte, North Carolina, USA. ISBN 978-8322-5967-9

Sánchez, J. & Borro, D., (2007). Automatic Augmented Video Creation for Markerless Environments. In VISAPP, Pp. 519-522. Barcelona. ISBN 978-972-8865-74-0

10.2 Artículos relacionados Hemayed, E. E., (2003). A Survey of Camera Self-Calibration. In IEEE Conference on

Advanced Video and Signal Based Surveillance, Pp. 351-357. Lu, Y., Zhang, J. Z., Wu, J., & Li, Z.-N., "A Survey of Motion-Parallax-Based 3-D

Reconstruction Algorithms", in IEEE Transactions on systems, man, and cybernetics, vol. 34, 2004, pp. 532-548.

Cornelis, K., Pollefeys, M., Vergauwen, M., & Van Gool, L., (2000). Augmented Reality using Uncalibrated Video Sequences. 2nd European workshop on 3D structure from multiple images of large-scale environments, 2018, Pp. 144-160.