Estimación de la pose de una cámara para

Anuncio
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
ELABORADO:
Firma: Jairo Roberto Sánchez Tapia
Fecha:
Donostia - San Sebastián
Vº B:
Firma: Diego Borro Yagüez
Fecha:
Í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
8.2
PUBLICACIONES ACEPTADAS EN CONGRESOS NACIONALES ........................................................... 31
PUBLICACIONES ACEPTADAS EN CONGRESOS INTERNACIONALES .................................................. 31
9
PARTICIPACIÓN EN PROYECTOS............................................................................................... 33
10
ANEXOS............................................................................................................................................... 35
10.1
10.2
ARTÍCULOS GENERADOS ............................................................................................................... 35
ARTÍCULOS RELACIONADOS .......................................................................................................... 35
I
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.
1
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á.
3
Estimación de la pose de una cámara para aplicaciones de vídeo aumentado
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.
4
Antecedentes
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:
( X ,Y , Z )T a ( f X
Z
, f Y )T
Z
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:
⎛ x ⎞ ⎛ fX ⎞ ⎡ f
⎜ ⎟ ⎜ ⎟ ⎢
⎜ y ⎟ ~ ⎜ fY ⎟ = ⎢ 0
⎜1⎟ ⎜ Z ⎟ ⎢0
⎝ ⎠ ⎝ ⎠ ⎣
0
f
0
⎛X⎞
0 0⎤ ⎜ ⎟
⎜Y ⎟
0 0⎥⎥⎜ ⎟
Z
1 0⎥⎦⎜⎜ ⎟⎟
⎝1⎠
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:
⎛X⎞
⎜ ⎟ ⎛ fX ⎞ ⎛⎜ f X Z ⎞⎟ ⎛ x ⎞
⎜Y ⎟ ⎜ ⎟ ⎜ Y ⎟ ⎜ ⎟
⎜ Z ⎟ a ⎜ fY ⎟ ~ ⎜ f Z ⎟ = ⎜ y ⎟
⎜ ⎟ ⎜⎝ Z ⎟⎠ ⎜ 1 ⎟ ⎜⎝ 1 ⎟⎠
⎜1⎟
⎝
⎠
⎝ ⎠
Este sistema puede expresarse en una forma más compacta como x ~ PX 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.
5
Estimación de la pose de una cámara para aplicaciones de vídeo aumentado
α
Píxel
Pv
Pu
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 ( p x , p y ) T las coordenadas del punto principal, s = tan(α ) f , f x = f , f y = f .
pv
pv
pu
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:
⎡R
X cam = ⎢ T
⎣0 3
t⎤
X
1⎥⎦
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.
6
Antecedentes
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).
7
Estimación de la pose de una cámara para aplicaciones de vídeo aumentado
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.
8
Antecedentes
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.
9
Estimación de la pose de una cámara para aplicaciones de vídeo aumentado
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:
x′T Fx = 0 .
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:
E = K ′T FK .
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).
10
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 pinhole. 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.
11
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
Tracker de características
Vídeo
Detector de
características
Tracker 3D
Cálculo del desplazamiento
de las características
Estimación de la
geometría
Posición inicial de
los objetos virtuales
Cálculo de la
posición de la cámara
Render
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:
13
Estimación de la pose de una cámara para aplicaciones de vídeo aumentado
2
⎡
⎛ ∂I ( x, y ) ⎞
⎟
⎢ ∑ ⎜
⎢ Vecindad ⎝ ∂x ⎠
⎢
∂ 2 I ( x, y )
⎢ ∑
⎣⎢ Vecindad ∂x∂y
∂ 2 I ( x, y ) ⎤
∑ ∂x∂y ⎥
Vecindad
⎥
2
⎛ ∂I ( x, y ) ⎞ ⎥
∑ ⎜⎜ ∂y ⎟⎟ ⎥⎥
Vecindad ⎝
⎠ ⎦
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:
σ ruido
0
10
20
30
40
50
60
70
μ error
320x240
640x480
σ error
μ error
σ error
Outliers
0
0
0%
0
0
0
0
0%
0
0
0
0
0%
0.002
0.09
0.005
0.113
0%
0.014
0.201
0.014
0.2
0%
0.031
0.297
0.032
0.301
0%
0.037
0.322
0.044
0.363
3.498%
0.05
0.367
0.049
0.406
26.007%
0.084
0.473
Tabla 1 Error en la búsqueda de puntos característicos
Outliers
0%
0%
0%
0%
0%
0.201%
0.9%
1%
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:
ρ (d ) = ρ (d x , d y ) =
u x +ω x
u y +ω y
∑ ∑ (I (x, y ) − J (x + d
x = u x −ω x y = u y −ω y
x
, y + d y ))
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.
14
Metodología
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.
L0
L1
L2
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:
x k = Ax k −1 + w k −1
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:
x k = (u x
uy
vx
vy )
T
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:
⎛1
⎜
⎜0
A=⎜
0
⎜
⎜0
⎝
0
1
0
0
1
0
1
0
0⎞
⎟
1⎟
.
0⎟
⎟
1 ⎟⎠
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:
15
Estimación de la pose de una cámara para aplicaciones de vídeo aumentado
z k = Hx k + v k
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:
⎛ ux ⎞
⎛1 0 0 0⎞
⎟⎟ .
z k = ⎜⎜ ⎟⎟ y H = ⎜⎜
⎝0 1 0 0⎠
⎝uy ⎠
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.
Primer fotograma
Búsqueda de
características
Predecir la posición con
los filtros de Kalman
Encontradas
suficientes
La predicción se
asemeja a las
medidas de flujo
No
No
Borrar outliers
No
Sí
Sí
Inicializar filtros de
Kalman
Actualizar filtros
Fotograma nuevo
Calcular flujo óptico
Quedan
características
suficientes
Sí
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
16
Metodología
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
17
Estimación de la pose de una cámara para aplicaciones de vídeo aumentado
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:
x′T Fx = 0
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:
⎡ x1' x1
⎢
Af = ⎢ M
⎢ x8' x8
⎣
x1' y1
x1'
y1' x1
y1' y1
y1'
x1
M
x y8
M
x8'
M
y x
M
y y8
M
y8'
M
x8
'
8
'
8 8
'
8
y1 1⎤
⎥
M M⎥ f = 0 .
y8 1⎥⎦
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:
n
∑ (x
i =0
k +1 T
i
) Fx ik .
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
18
Metodología
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:
⎡f
K = ⎢⎢ 0
⎢⎣ 0
0
f
0
px ⎤
p y ⎥⎥ .
1 ⎥⎦
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:
E = K T FK .
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:
P = [I | 0], P′ = [UWV T | +u3 ]
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:
⎡0 − 1 0 ⎤
W = ⎢⎢1 0 0⎥⎥
⎣⎢0 0 1⎥⎦ .
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.
19
Estimación de la pose de una cámara para aplicaciones de vídeo aumentado
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:
⎡ P3u − P1 ⎤
⎢P v − P ⎥
2 ⎥
⎢ 3
X=0
⎢ P3′u ′ − P1′⎥
⎢
⎥
⎣P3′v′ − P2′ ⎦
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
20
Metodología
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:
x i ~ K [R n | t n ]X i .
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:
xˆ i ~ [I 3 | 0][R n | t n ]X i .
144244
3
P
Al estar trabajando en el ámbito de la geometría proyectiva, x̂ i 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:
⎛ xi P3 T X i − wi P2 T X i ⎞
⎜
⎟
T
T
xˆ i × PX i = ⎜ wi P1 X i − xi P3 X i ⎟ = 0
⎜⎜
⎟⎟
T
T
⎝ xi P2 X i − y i P1 X i ⎠
siendo xˆ i = (xi , yi , wi ) . Sólo dos de las tres ecuaciones del sistema de arriba son
linealmente independientes, por lo tanto se puede reescribir de la siguiente forma:
21
Estimación de la pose de una cámara para aplicaciones de vídeo aumentado
⎡ X i Yi Z i 1 0 0 0 0 xi X i
⎢0 0 0 0 X Y Z 1 yX
i
i
i
i i
⎢
⎢L L L L L L L L L
⎢
⎣L L L L L L L L L
xiYi
yiYi
xi Z i
yi Z i
L
L
L
L
⎡ R00 ⎤
⎢R ⎥
⎢ 01 ⎥
⎢ R02 ⎥
⎢ ⎥
⎢ tx ⎥
xi ⎤ ⎢ R10 ⎥
⎢ ⎥
yi ⎥⎥ ⎢ R11 ⎥
= 0
L⎥ ⎢ R12 ⎥
⎢
⎥
⎥
L⎦ ⎢ t y ⎥
⎢R ⎥
⎢ 20 ⎥
⎢ R21 ⎥
⎢ ⎥
⎢ R22 ⎥
⎢⎣ t z ⎥⎦
[]
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 (u i , vi ) Tk cuya reconstrucción 3D es Xi, el
objetivo es minimizar:
∑∑
k
i
⎛ ui ⎞
⎜ ⎟
⎜ vi ⎟ − Pk X i .
⎜1⎟
⎝ ⎠k
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.
22
Metodología
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
23
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.
25
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.
27
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 videobased 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.
29
Estimación de la pose de una cámara para aplicaciones de vídeo aumentado
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.
30
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
31
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
33
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.
35
Descargar