Sistema de Virtualidad Aumentada. Utiliza técnicas de posicionamiento basado en marcas y de sustracción de fondo para ubicar al usuario en un entorno distinto al que se encuentra. Para ello se modela automáticamente en entorno mediante planos que se detectan usando marcas tipo ARToolkit y después, una vez posicionado el usuario respecto a las marcas, se resta lo que está viendo del renderizado del modelo, quedando únicamente los objetos móviles, que pasan a ubicarse en el mundo virtual seleccionado.
Inmersión en entornos virtuales mediante Realidad Aumentada (Begoña Sagredo)
1. Presentación PFC
Inmersión en Entornos
Virtuales mediante
Realidad Aumentada
Mª Begoña Sagredo Sánchez
Universidad de Málaga
2. Introducción
• Comunicaciones por vídeo limitadas por el estrecho
ancho de banda para la transmisión de imágenes
• Compresión de las secuencias de vídeo como
solución más viable
• Estándares MPEG de 2ª generación son los más
usados ⇒ MPEG-4 emplea compresión orientada a
objetos
• Separación de fotogramas en objetos ⇒ procesado
independiente y adaptación el ancho de banda
disponible
3. Introducción
• Técnica habitual en entornos
reales ⇒ división de imágenes
en objetos de interés y fondo
• Sustracción de fondo ⇒
Extracción de objetos por
comparación con un fondo
conocido de referencia
– Usuario situado en un
espacio específico
– Fondo plano homogéneo
de color chillón
– No es posible interactuar
con los elementos virtuales
4. Introducción
• Otras técnicas emplean como fondo de referencia
una imagen previa del mismo sin objetos de
interés ⇒ únicamente válida para cámaras fijas
• En este proyecto se realiza una sustracción de
fondo para cámaras móviles mediante técnicas de
Realidad Aumentada (RA)
– El fondo de referencia para la extracción de objetos se
obtiene de un modelo virtual en 3D del entorno de
trabajo debidamente alineado con éste
– Para recomponer el fotograma se emplea un fondo
sustituto del original obtenido de un segundo modelo
virtual en 3D, también alineado con el entorno real
5. Indice
• 1. Modelos virtuales
• 2. Alineación de modelos con el entorno real
• 3. Sustracción dinámica de fondo
• 4. Experimentos y resultados
• 5. Conclusiones y trabajo futuro
6. Indice
• 1. Modelos virtuales
• 2. Alineación de modelos con el entorno real
• 3. Sustracción dinámica de fondo
• 4. Experimentos y resultados
• 5. Conclusiones y trabajo futuro
7. 1. Modelos virtuales
• 3D Studio Max
– Modelado de objetos en 3D y creación de
materiales a partir de imágenes en formato
‘.bmp’
• OPenGL
– Librería gráfica para la creación y
configuración de ventanas de visualización
donde se pueden representar fácil y
rápidamente los objetos en 3D
8. 1. Modelos virtuales
• Dos modelos virtuales:
– Modelo del entorno de trabajo ⇒ actúa como fondo de
referencia para la extracción de objetos inicial
• Se modelan las paredes y mobiliario significativo a base de
cajas de medidas variadas que los simulan
10. 1. Modelos virtuales
• Dos modelos virtuales:
– Modelo del entorno de trabajo ⇒ actúa como fondo de
referencia para la extracción de objetos inicial
• Se modelan las paredes y mobiliario significativo a base de
cajas de medidas variadas que los simulan
11. 1. Modelos virtuales
• Dos modelos virtuales:
– Modelo del entorno de trabajo ⇒ actúa como fondo de
referencia para la extracción de objetos inicial
• Se modelan las paredes y mobiliario significativo a base de
cajas de medidas variadas que los simulan
• Diseño de materiales a partir de fotografías de los objetos
reales que se quieren modelar
14. 1. Modelos virtuales
• Dos modelos virtuales:
– Modelo del entorno de trabajo ⇒ actúa como fondo de
referencia para la extracción de objetos inicial
• Se modelan las paredes y mobiliario significativo a base de
cajas de medidas variadas que los simulan
• Diseño de materiales a partir de fotografías de los objetos
reales que se quieren modelar
15. 1. Modelos virtuales
• Dos modelos virtuales:
– Modelo del entorno de trabajo ⇒ actúa como fondo de
referencia para la extracción de objetos inicial
• Se modelan las paredes y mobiliario significativo a base de
cajas de medidas variadas que los simulan
• Diseño de materiales a partir de fotografías de los objetos
reales que se quieren modelar
– Modelo virtual sustituto ⇒ fuente para el fondo
sustituto en la composición del fotograma final
16. 1. Modelos virtuales
• Dos modelos virtuales:
– Modelo del entorno de trabajo ⇒ actúa como fondo de
referencia para la extracción de objetos inicial
• Se modelan las paredes y mobiliario significativo a base de
cajas de medidas variadas que los simulan
• Diseño de materiales a partir de fotografías de los objetos
reales que se quieren modelar
– Modelo virtual sustituto ⇒ fuente para el fondo
sustituto en la composición del fotograma final
• Estructura similar al modelo del entorno real
17. 1. Modelos virtuales
• Dos modelos virtuales:
– Modelo del entorno de trabajo ⇒ actúa como fondo de
referencia para la extracción de objetos inicial
• Se modelan las paredes y mobiliario significativo a base de
cajas de medidas variadas que los simulan
• Diseño de materiales a partir de fotografías de los objetos
reales que se quieren modelar
– Modelo virtual sustituto ⇒ fuente para el fondo
sustituto en la composición del fotograma final
• Estructura similar al modelo del entorno real
• Materiales a partir de fotografías de las fachadas de la Plaza
18. 1. Modelos virtuales
• Materiales para la Plaza
Calle Mercaderes Calle Teniente Rey
Calle San Ignacio
20. Indice
• 1. Modelos virtuales
• 2. Alineación de modelos con el entorno real
• 3. Sustracción dinámica de fondo
• 4. Experimentos y resultados
• 5. Conclusiones y trabajo futuro
21. 2. Alineación de modelos con el
entorno real
• Es necesario conocer la posición y orientación de
la cámara en el entorno real para obtener la vista
adecuada del modelo virtual
• La existencia de referencias físicas en el entorno
permitiría determinar dónde se encuentra la
cámara en todo momento
• Técnicas de visión por computador hacen posible
la detección y reconocimiento de marcas físicas
artificiales ⇒ ARToolkit
22. 2. Alineación de modelos con el
entorno real
• ARToolkit
– Librería de distribución libre que calcula en tiempo real la
posición-orientación de la cámara respecto de una serie de marcas
para las que ha sido entrenado y sobre las que sitúa objetos
virtuales
• Longitud conocida del lado
• Orientación del patrón
Posición
de la
cámara
23. 2. Alineación de modelos con el
entorno real
• Permite
posicionamiento con
una única marca
• Permite
posicionamiento
múltiple con varias
marcas
• Cámara limitada al
espacio físico de las
marcas
Cambiar
por un
video
24. 2. Alineación de modelos con el
entorno real
• Posicionamiento único
con varias marcas
– Emplea varias marcas con
una posición fija en un
sistema de coordenadas
definido
– Determina la posición
respecto de un único punto
del sistema de coordenadas
25. 2. Alineación de modelos con el
entorno real
• Posicionamiento único
con varias marcas
– Emplea varias marcas con
una posición fija en un
sistema de coordenadas
definido
– Determina la posición
respecto de un único punto
del sistema de coordenadas
• Es independiente de la marca
detectada
• Permite mayor libertad de
movimientos
26. 2. Alineación de modelos con el
entorno real
• Sistema de marcas distribuidas por el entorno
X
Y
Z
27. 2. Alineación de modelos con el
entorno real
• Diseño en 3D de un armario de cristaleras verde
X
Y
Z
28. 2. Alineación de modelos con el
entorno real
• Proceso de superposición final
29. Indice
• 1. Modelos virtuales
• 2. Alineación de modelos con el entorno real
• 3. Sustracción dinámica de fondo
• 4. Experimentos y resultados
• 5. Conclusiones y trabajo futuro
30. 3. Sustracción dinámica de fondo
• Segmentación o división de imágenes en
‘objetos’ o regiones de interés y en ‘fondo’
o regiones carentes de ella
– Funcionamiento en entornos reales ⇒ robusto a
cambios de intensidad, luces y sombras
– Funcionamiento en tiempo real ⇒ rápido
– Compromiso resultados-tiempo empleado
• ‘Segmentación en color por sustracción de fondo’
31. 3. Sustracción dinámica de fondo
• Comparación píxel a píxel entre fondo e imagen a
procesar, empleando como criterio el color
– Distancia de color entre cada par de píxeles y se
determina según un umbral determinado si:
• Píxeles iguales ⇒ fondo
• Píxeles diferentes ⇒ objeto potencial
32. 3. Sustracción dinámica de fondo
Fondo de referencia
Imagen a procesar
Algoritmo de
comparación
33. 3. Sustracción dinámica de fondo
• Inconvenientes
– Introduce ruido: grupos de píxeles aislados y erróneos
– Los resultados dependen de los umbrales considerados,
y estos de la situación del entorno en el instante de
captura de la imagen
• Comparación píxel a píxel entre fondo e imagen a
procesar, empleando como criterio el color
– Distancia de color entre cada par de píxeles y se
determina según unos umbrales determinados que:
• Píxeles iguales ⇒ fondo
• Píxeles diferentes ⇒ objeto potencial
34. 3. Sustracción dinámica de fondo
• Se aplica a continuación un algoritmo para la
detección de objetos ⇒ Algoritmo de detección de
objetos por mezclado con conectividad
– Agrupación en regiones de píxeles adyacentes distintos
del fondo
– Filtrado de clases
Área mínima ⇒ elimina regiones cuyo área no
supere un valor mínimo ⇒ eliminación de ruido
– Dilatación de regiones finales para eliminar huecos
35. 3. Sustracción dinámica de fondo
Fondo de referencia
Imagen a procesar
Algoritmo de
comparación
Algoritmo de
detección de
objetos
Criterios de
área mínima
36. 3. Sustracción dinámica de fondo
• Problemas añadidos ⇒ fondo de referencia
procedente de un modelo virtual
– Errores de comparación debido a que la
superficie de los objetos modelados no es
exactamente igual a los reales
– Errores de comparación debido a la incorrecta
alineación de los mundos real y virtual
• Extracción de regiones que objetivamente
no tienen sentido
37. 3. Sustracción dinámica de fondo
Error debido al
modelado de la
textura
Error debido al
desalineamiento
38. 3. Sustracción dinámica de fondo
• Filtrado de regiones más restrictivo ⇒
bounding box o caja que contiene la región
– Relación de aspecto ⇒ evitamos regiones
alargadas
– Relación área efectiva-área de bounding box
⇒ evitamos regiones poco ocupadas por los
píxeles de la imagen
40. 3. Sustracción dinámica de fondo
• Composición final del fotograma
Fondos sustitutos Fotograma compuesto
Imagen procedente
de la sustracción
41. Indice
• 1. Modelos virtuales
• 2. Alineación de modelos con el entorno real
• 3. Sustracción dinámica de fondo
• 4. Experimentos y resultados
• 5. Conclusiones y trabajo futuro
42. 4. Experimentos y resultados
Proyección del
modelo de la
Plaza
Salida de
vídeo
compuesto
Imagen real
procedente la
cámara
Proyección del
modelo del
entorno real
43. 4. Experimentos y resultados
• Ventajas
– Medios técnicos necesarios muy básicos: PC y
cámara de vídeo
– Funcionamiento global del sistema en tiempo
real
• La simplicidad de la técnica empleada para el
posicionamiento
• Rapidez y facilidad para representar los objetos
virtuales
44. 4. Experimentos y resultados
• Inconvenientes
– Alineación de mundos comprometida: oscilaciones
del modelo y errores de posicionamiento
• Marcas lejanas y oblicuas al eje de la cámara
• Presencia de ruido en imágenes
– Errores en la extracción final de objetos
• Cambios acentuados en las condiciones del entorno
• Modelado demasiado básico del entorno de trabajo
47. Indice
• 1. Modelos virtuales
• 2. Alineación de modelos con el entorno real
• 3. Sustracción dinámica de fondo
• 4. Experimentos y resultados
• 5. Conclusiones y trabajo futuro
48. 5. Conclusiones y trabajo futuro
• Posicionamiento
– Búsqueda y reconocimiento de marcas ha
permitido la localización en un entorno conocido
empleando sólo una cámara
– El sistema de marcas proporciona libertad de
movimientos y posicionamiento con gran rapidez
– Precisa al menos de una marca visible
– Muy sensible al ruido, tanto más cuanto mayor es
la distancia a la marca detectada
49. 5. Conclusiones y trabajo futuro
• Diseño y visualización de modelos virtuales
– OpenGL vs. Motores gráficos
• OpenGL permite representar objetos en 3D con
escasos recursos del sistema, de forma rápida y
sencilla
• La adaptación de los modelos y las texturas es
menos laboriosa
• Permite visualizar simultáneamente los modelos en
ventanas independientes ⇒ verificación de mundos
real y virtual alineados
50. 5. Conclusiones y trabajo futuro
• Extracción de objetos y composición de
fotogramas
– Extracción de objetos
• Muy dependiente de cómo se ha diseñado el modelo
del entorno y de los resultados del posicionamiento
⇒ propagación de errores
• Principal causa de limitación de velocidad global
– Composición de fotogramas finales fácil y
sencilla
51. 5. Conclusiones y trabajo futuro
• Varias líneas de estudio interesantes
– Mejora en el posicionamiento ⇒ errores en función de
la distancia
• Empleo de marcas a medio camino ⇒ búsqueda en la base de
datos de marcas conocidas
• Sistemas externos de apoyo: sonar, dispositivo tracker... ⇒
complejidad
– Mejora en el diseño de modelos ⇒ falta de realismo
• Modelado y carga de efectos de luces, sombras y brillos en
función de las condiciones del entorno
– Posibilidad de incorporar los resultados a tecnologías
basadas en MPEG-4
Hinweis der Redaktion
El principal problema con el que se encuentran las comunicaciones de vídeo actuales es el estrecho ancho de banda disponible para la transmisión de imágenes
Por tanto en la mayoría de los casos, se recurre a la compresión de las secuencias de vídeo
Hoy en día los estándares MPEG de 2ª generación los más empleados destacando entre ellos el denominado MPEG4, que emplea técnicas de compresión orientada a objetos
Ésta consiste en una separación de los fotogramas en objetos, de modo que en transmisión cada uno de ellos pueda ser procesado de forma independiente y ajustado al ancho de banda disponible, y en recepción se combinen con el fondo para generar el fotograma final
(primer punto ) Una técnica habitualmente empleada en imágenes reales consiste en la división de las imágenes en objetos de interés y fondo aplicando para ello ‘técnicas de sustracción de fondo’
(segundo) este tipo de técnicas permite obtener los objetos de la imagen comparando ésta con un fondo de referencia conocido previamente
(Imágenes) un ejemplo claro del empleo de estas técnicas es la utilización cada vez más extendida en los espacios televisivos de decorados virtuales. El presentador se sitúa en una simple sala delante de un panel de color verde o azul que es usado para superponer un fondo virtual determinado según el programa
(segundo punto) el principal inconveniente de esta técnica es que el individuo está obligado a mantenerse ubicado en un espacio específico, donde además el fondo tiene que ser homogéneo y de un color chillón. Se añade a esto que los elementos virtuales sólo pueden pertenecer al fondo y la interacción con ellos está limitada señalarlos
otras técnicas sin embargo permiten que el usuario se sitúe en cualquier lugar empleando en este caso como fondo de referencia una imagen del mismo tomada previamente sin objetos de interés. Este tipo de técnicas son relativamente fáciles y rápidas, pero obligan a que la cámara permanezca fija ya que de otro modo el fondo variaría.
En este proyecto se realiza una extracción de los objetos presentes en imágenes capturadas por una cámara móvil. El fondo de referencia necesario para ello es tomado de un modelo virtual en 3D del entorno real o de trabajo convenientemente alineado con este último.
La presentación se estructura según el siguiente índice
Vamos a ver primero cómo realizar el diseño y la construcción de un modelo virtual del entorno que se pueda manipular fácil y rápidamente
Posteriormente se explicará la técnica empleada para alinear el modelo diseñado con el mundo real de modo que se obtenga el fondo adecuado
Una vez obtenido el fondo de referencia veremos cómo se emplea para extraer los objetos de interés de los fotogramas de entrada y cómo combinar éstos con las imágenes obtenidas de un segundo modelo virtual similar al primero para componer los fotogramas de salida
Experimentos y resultados obtenidos
Y por último las conclusiones obtenidas y las posibles líneas de trabajo futuras
Para el diseño de modelos virtuales se emplea el programa denominado 3DStudio Max en su versión 4.2. Este programa permite el modelado fácil y rápido de objetos en 3 dimensiones y la creación de materiales para la modificación de superficies a partir de imágenes en formato BMP
Y para la visualización de los objetos diseñados se hará uso de las funciones ofrecidas por la librería grafica OPenGL, que nos permitirá configurar las ventanas y representar los objetos fácil y rápidamente
Vamos a diseñar dos modelos virtuales
El primero de ellos será el modelo del entorno de trabajo del que se tomará la imagen empleada como fondo de referencia para la extracción de los objetos de interés. En nuestro caso modelamos el laboratorio en que hemos trabajado
Una vez tomadas las medidas de la habitación y del mobiliario significativo que queremos incluir, se crearán una serie de cajas con las medidas adecuadas que simularán dichos objetos
Así tendremos modelados:
La puerta
Un corcho
Las paredes
Una pizarra
Un par de armarios
Y el suelo
Para dar sensación de realismo al modelo, se deben aplicar materiales a las superficies visibles del mismo. Éstos se crean a partir de fotografías tomadas de los objetos reales que estamos modelando
De este modo creamos las texturas necesarias para
El corcho
El armario pequeño
La pizarra
Paredes y suelo
Y finalmente el armario de cristaleras
Una vez creada la estructura y aplicados los materiales, podemos ver diferentes perspectivas del modelo ya acabado
Los objetos extraídos deben combinarse posteriormente con el fondo para volver a recomponer el fotograma. En lugar de emplear el mismo fondo de partida, vamos diseñar un segundo modelo virtual del cual se extraerá la vista adecuada que actuará de fondo en la recomposición. En concreto, se va a simular la Plaza Vieja de la Habana de Cuba
La estructura base de la Plaza no será la de su planta real sino que la vamos a modificar ajustándola a la estructura del laboratorio
Y los materiales empleados en esta caso van a ser fotografías tomadas de la fachada de los edificios que forman esta Plaza...
.....En concreto, de las cuatro calles que concurren en la plaza se hará uso sólo de...
La calle Mercaderes
La Calle Teniente Rey
Y la Calle San Ignacio
Una vez concluido el diseño podemos observar un ejemplo de la perspectiva final
A continuación vamos a ver cómo se realiza la alineación de los modelos diseñados con el entorno real con el fin de obtener las vistas apropiadas para el proceso de sustracción
Dado que la cámara el móvil, para poder determinar la vista del modelo del entorno real adecuada es necesario conocer en todo momento dónde está la cámara y hacia dónde está mirando
Si en el entorno de trabajo es posible detectar referencias físicas y además la posición de las mismas en dicho entorno es conocido a priori, podríamos determinar a partir de ellas la posición-orientación de la cámara
Basándonos en esta idea haremos uso de técnicas de procesado de imágenes y visión por computador para detectar y reconocer marcas físicas artificiales localizadas en el entorno de trabajo. En concreto haremos uso de una herramienta denominada ARToolkit
ARToolkit es una librería de distribución libre que calcula en tiempo real la posición-orientación de la cámara real respecto de una serie de marcas cuadradas para las que previamente ha sido entrenado y es capaz de reconocer
Las marcas son bastante simples: se trata de un cuadrado negro sobre fondo blanco con un gráfico asimétrico en su interior. ARToolkit busca regiones cuadradas en las imágenes capturadas por la cámara....
.....una vez que ha localizado una región....
....... inspecciona el patrón que se encuentra en su interior, si es que lo hay, y lo asocia con alguno de los que conoce.
Si existe coincidencia emplea la longitud conocida del cuadrado y la orientación obtenida del patrón para.....
...posicionar la cámara real....
....y usa esa información para alinear y representar sobre la marca detectada el objeto virtual en 3D deseado
Esta técnica permite:
Como hemos explicado posicionar la cámara respecto de una marca
También es capaz de reconocer varias marcas y situar sobre cada una de ellas un objeto diferente en función de la marca detectada.....
...el problema que presentan estos dos tipos de posicionamiento es que la cámara está limitada al espacio físico de la marca, es decir, en el momento en que deja de detectarse la marca deja de visualizarse el objeto virtual, lo q significa que no es posible determinar la posición de la cámara
Empleando los fundamentos del método explicado anteriormente es posible ...
.... crear un sistema de varias marcas donde cada una tiene una posición fija respecto de un origen de coordenadas definido....
.....y obtener la posición de la cámara real respecto de un único punto perteneciente a dicho sistema e independientemente de la marca que se detecte
Así en el ejemplo podemos ver cómo haciendo uso del sistema definido es posible alinear el objeto virtual con el mundo real y obtener la perspectiva adecuada como si realmente lo tuviésemos delante...
Vemos que este método es independiente de la marca detectada, ya que todas ellas están referenciadas respecto del origen definido.
Además nos proporciona mayor libertad de movimientos dado que no estamos limitados a una marca concreta y el espacio que ocupa, pero sí que es necesario que al menos haya una visible
Para nuestro caso concreto el sistema creado es el que podemos ver en las imágenes..... (fotos)
....donde el origen de coordenadas se ha situado sobre el lateral izquierdo del armario de cristaleras
Para comprobar que este sistema funciona, vamos a representar sobre este origen de coordenadas un armario de las mismas dimensiones que el de cristaleras pero de otro color, en concreto un armario verde. Se pretende que la superposición del objeto virtual genere la impresión de que el armario que se encuentra en el laboratorio es de color verde y no gris.
Creamos la caja de las dimensiones adecuadas.....
...y le aplicamos el material deseado al frente y los laterales....
.....es importante que el origen de coordenadas del objeto diseñado coincida con el definido para nuestro sistema de marcas
Ejecutando la aplicación y realizando los ajustes manuales necesarios obtenemos el siguiente resultado
Para cada una de estas ventanas tenemos abajo a la izquierda la imagen real capturada por la cámara
Abajo a la derecha las marcas q han sido detectadas
....y arriba la imagen final compuesta en la que se mezclan los mundos real y virtual. Vemos cómo se consigue la ilusión de que el armario es realmente de color verde
Una vez que hemos visto cómo podemos alinear los mundos real y virtual pasamos explicar cómo se puede realizar la extracción de los objetos de interés
Se pretende realizar una segmentación o división de la imagen que permita diferenciar entre objetos y fondo
dado que las imágenes proceden del entorno real, debe ser robusto a los cambios de intensidad propios de la imágenes procedentes de una cámara y también a la presencia de luces y sombras
Por otro lado debe ser rápido y eficaz para no poner en peligro el funcionamiento en tiempo real de la aplicación global
....debe llegarse por tanto a un compromiso entre los resultados obtenidos y el tiempo empleado en ello
En entornos reales, la solución más fácil y que ofrece mejores resultados es la de la sustracción de fondo. Con ello, emplearemos un algoritmo de segmentación de la imagen en color por sustracción de fondo, donde el fondo es conocido a priori
Este algoritmo consiste en realizar una comparación píxel a píxel entre el fondo de referencia y la imagen a procesar, empleando como criterio de comparación el ‘color’
Se determina para ello la distancia de color entre cada par de píxeles y , según unos umbrales establecidos se determinará si:
Los píxeles sin iguales , en cuyo caso pertenecen al fondo
O si son diferentes, en cuyo caso el píxel de la imagen pertenece a un posible objeto
Podemos ver aquí el resultado de aplicar el algoritmo de sustracción de fondo. En rojo quedan marcados los píxeles que se han identificado como ‘fondo’, mientras que los que pertenecen a posibles objetos han permanecido tal y como aparecen en la imagen original
Este método presenta algunos inconvenientes:
Primero que introduce ruido. En el resultado de la comparación han quedado grupos pequeños de píxeles aislados y se han marcado erróneamente como iguales píxeles que no pertenecen al fondo
Además los resultados dependen mucho de los umbrales escogidos a la hora de realizar la comparación y además serán mejores o peores en función de las condiciones del entorno en el momento de la captura de la imagen real.....
... Con lo que la imagen q se obtiene como resultado de la comparación es muy irregular y de poca calidad
Para conseguir mejores resultados se aplica a la imagen obtenida en la comparación un algoritmo de detección de objetos. Este algoritmo....
.....toma aquellos píxeles diferentes del fondo (los que no son de color rojo puro) y los agrupa en clases con conectividad
Cada píxel lleva asociado no sólo la clase a la que pertenece y sino tb el área ocupada por la misma. Esto nos permite eliminar ruido realizando un filtrado de las clases obtenidas. Nos quedamos sólo con aquellas regiones cuyo área supere un valor mínimo
Una vez que nos hemos quedado con las clases definitivas se realiza una dilatación de las mismas para eliminar en lo posible huecos dentro de ellas
Continuando con nuestro ejemplo.....
.......Si aplicamos a la imagen que obtuvimos de la comparación el algoritmo de detección de objetos.......
.......... sin aplicar criterios de área mínima podemos ver, como los píxeles correspondientes a los objetos potenciales han quedado agrupados en regiones. Sin embargo el resultado presenta aún demasiado ruido.......
.............al aplicar los criterios de área mínima.............
............. conseguimos filtrar la mayor parte de las regiones que no nos interesan. Vemos cómo hemos conseguido extraer adecuadamente al individuo de la imagen original sustituyendo el fondo por un color verde puro.
A las dificultades propias que hemos visto en la sustracción de fondo por comparación entres imágenes, tenemos que añadir el hecho de que en nuestro caso el fondo de referencia no es una imagen tomada del fondo real, sino que procede de un modelo virtual del mismo. Esto añade una serie de errores en la comparación como son .....
....errores debidos a que la superficie de los objetos diseñados no es exactamente igual a la de los reales
.... Además se añaden también los errores debido a la incorrecta alineación del modelo con el entorno
...estos errores provocan la extracción de regiones que se han considerado de interés, pero que desde un punto de vista objetivo no lo son
Vemos en el ejemplo un par de imágenes tomadas del entorno real .....
.... Y su equivalente obtenida del modelo virtual, que como hemos explicado actuará de fondo
....tras aplicar el algoritmo de sustracción de fondo observamos cómo en la imagen final permanecen ciertas áreas que realmente no nos interesan...
....en el primer caso el error se debe a la dificultad de modelar con exactitud la superficie del armario de cristaleras...
.... Y el segundo caso el error se debe a que hay un pequeño desalineamiento y la coincidencia en la zona de la puerta no es exacta
Se realiza un filtrado de regiones más estricto teniendo en cuenta las características de la caja o bounding box que contiene una región determinada
En primer lugar miramos la relación de aspecto, es decir la relación entre el lado mayor y el menor de la caja, eliminando aquellas regiones que son demasiado alargadas
Posteriormente comprobamos la relación que existe entre el área de la caja, la multiplicación de sus lados, y el área ocupada por los píxeles de la imagen. De este modo eliminamos aquellas regiones que están poco pobladas....
Si volvemos a la situación anterior.......
.......y marcamos las cajas de la regiones obtenidas.....
.....podemos ver cómo en el primer caso tenemos una caja larga y fina........
......y cajas dónde el área total de los píxeles en verde es mayor que el ocupado por los píxeles de la imagen original....
..... Si aplicamos el nuevo criterio, conseguimos eliminar esos. En la imagen de arriba permanece la sombra del armario....la diferencia entre las dos imágenes en esa zona es evidente....
......y en la imagen inferior conseguimos eliminar el marco de la puerta quedándonos con la diferencia fundamental entre ambas imágenes.
Una vez que hemos conseguido extraer el fondo de la imagen a procesar, hay que recomponer el fotograma final y generar así la secuencia de video de salida. Este proceso es bastante sencillo una vez que tenemos la imagen del fondo que queremos que actúe como sustituto.....
....simplemente hay que sustituir los píxeles en verde de la imagen obtenida de la sustracción por los correspondientes de la imagen que contiene el fondo final
Ya hemos visto como crear los modelos virtuales, como podemos alinearlos con el mundo real y como realizar la extracción de objetos del fotograma de entrada y componerlo posteriormente
Combinando los resultados obtenidos en cada uno de los bloques que hemos visto, diseñamos la aplicación que vemos en esta transparencia.
.....En la ventana principal de la aplicación podemos observar en la esquina inferior derecha la imagen real capturada por la cámara donde se está marcando en cada instante la marca que se detecta.....
.....en la parte de la izquierda podemos apreciar la proyección o perspectiva del modelo del entorno real que equivale a la imagen capturada......
.....y en la ventana secundaria aparece la proyección del modelo de la plaza asociada a la posición de la cámara
Haciendo uso de estas tres imágenes obtenemos el fotograma final compuesto, donde aparecen los objetos de interés extraídos de la imagen real y el fondo sustituto procedente de la plaza
Las ventajas del sistema desarrollado radica básicamente.....
..........en la simplicidad de los medios técnicos necesarios ya que únicamente requiere de un PC y una camarita de vídeo....
....y que el sistema funciona en tiempo real gracias principalmente a ....
La simplicidad de la técnica empleada en el posicionamiento
Y la rapidez y facilidad del método empleado para la representación de los objetos virtuales
Sin embargo presenta como inconvenientes.....
....que en muchos casos la alineación se ve comprometida debido a oscilaciones en el modelo que provocan errores en el posicionamiento....
Esto se debe principalmente a la detección de marcas lejanas oblicuas al eje óptico de la cámara....
....y al ruido introducido por ésta
Hay que destacar también como inconveniente los errores producidos en la extracción de objetos debido no sólo a la propagación de errores en la posición sino tb....
.... A los cambios en las condiciones del entorno en el momento de captura de las imágenes....
.... Y quizás tb a un modelado algo básico del entorno de trabajo
Así podemos apreciar en las imágenes siguientes el resultado de algunos de estos errores....
En la primera imagen vemos cómo un pequeño error en la alineación hace que el marco de la puerta, unido a la región ocupada por la persona de la imagen, no sea eliminado de la imagen final
En la segunda imagen vemos cómo el efecto de la tiza, al no estar modelado provoca una región que tampoco puede eliminarse de la imagen final
Y por último la dificultad en el modelado del armario, unido a una serie de regiones que permanecen debido a la presencia de sombras y objetos no modelados, hacen que éste no se haya podido eliminar totalmente
A pesar de los errores que hemos destacado, también podemos ver cómo el sistema funciona correctamente seleccionando adecuadamente los objetos más significativos de la imagen de entrada e introduciéndolos en el entorno de la plaza
Una vez desarrollada y comprobado el funcionamiento de la aplicación pasamos a resaltar las conclusiones mas destacables, así como las posibles líneas de trabajo que se abren a partir de los resultados obtenidos
En cuanto al posicionamiento.....
......... Hemos podido comprobar cómo la búsqueda y reconocimiento de marcas ha permitido realizar la localización empleando única y exclusivamente una cámara de vídeo, cuando normalmente se vienen empleando dos cámaras o algún dispositivo de medida de distancias...
.... El sistema de marcas desarrollado proporciona libertad de movimientos y permite el posicionamiento a una velocidad realmente buena
.....sin embargo presenta como inconveniente, entre comillas, que precisamos siempre de al menos una marca visible....
...... Pero el más importante si cabe es que es especialmente sensible al ruido en las imágenes sobre todo cuando la marca está lejos
En cuanto al diseño y visualización de los modelos diseñados.....
.....hemos de comparar la solución empleada, la de OpenGL, con la de los motores gráficos habituales empleados en la representación de modelos en 3D
.....OpenGl nos ha permitido cargar y representar los modelos de una manera rápida y sencilla, usando apenas recursos del sistema
.....la adaptación de estos modelos y de las texturas para usarlos con OpenGL es mucho más sencilla y menos laboriosa que la necesaria para su uso con motores gráficos
.....y por último que OPenGL permite visualizar simultáneamente varios modelos en ventanas independientes, algo que en principio no resulta posible con los motores habituales, permitiendo comprobar directamente si los modelos están alineados con el mundo real.
En cuanto a la extracción de objetos....
.....cabe destacar su dependencia respecto de cómo se ha diseñado el modelo del entorno pero sobre todo de los resultados obtenidos en el posicionamiento debido a la propagación de errores
......se ha comprobado además que el módulo de la comparación es el que invierte más tiempo de proceso siendo por tanto el que limita la velocidad global de la aplicación
En cuanto a la composición del fotograma final, ésta ha sido fácil y rápida, una vez que se dispone del fondo que se quiere introducir
A partir de los resultados obtenidos en el presente proyecto, se pueden seguir varias líneas de estudio bastante interesantes
La primera de ellas, sin lugar a dudas, es la referente a la mejora del posicionamiento de la cámara, ya que como hemos visto presenta algunos fallos cuando la marca detectada está lejos
Se podría intentar emplear marcas a medio camino entre la cámara y la marca más lejana, de modo que sea la q esta mas cerca la que se emplee para establecer la posición. Habría que tener en cuenta sin embargo los posibles efectos negativos que podría tener el hacer uso de una base de datos de marcas conocidas excesivamente grande, ya que aumentaría el tiempo necesario para establecer el emparejamiento
Otra posible alternativa sería apoyarse en sistemas de medida para mejorar los resultados. Sin embargo es una posibilidad poco atractiva ya que si por algo destaca el sistema empleado es por su simplicidad
Otra línea a seguir es la referente a la mejora en el diseño de los modelos dado que el principal problema que presentan es su falta de realismo....
Se podría estudiar la posibilidad de modelar efectos de sombras, luces y brillos de modo que en función de las condiciones del entorno en el momento de ejecución , sean cargados y aplicados al modelo
Y finalmente sería muy interesante poder combinar los resultados obtenidos con las tecnologías basadas en MPEG-4 en donde la separación de la secuencia de video de forma rápida y sencilla es uno de sus principales objetivos