Mostrando entradas con la etiqueta detección planar. Mostrar todas las entradas
Mostrando entradas con la etiqueta detección planar. Mostrar todas las entradas

lunes, 29 de septiembre de 2014

Fundamentos técnicos de mi proyecto: Publicidad y Realidad Aumentada

Punto de partida para la realización de este proyecto de "Detección y localización de estructuras planas para aplicaciones de Realidad Aumentada en Publicidad" han sido las propuestas técnicas que comento en este post. Son algunas de las más relevantes en este ámbito. Todas ellas fundamentan y contribuyen al desarrollo de este trabajo. 



ARToolKit (Dr. Hirokazu Kato, 1999)
ARToolKit
ejemplo de renderizado de un objeto 3D
sobre un patrón detectado por
ARToolKit

ARToolKit es una librería de software para la creación de aplicaciones de Realidad Aumentada. ARToolKit utiliza algoritmos de visión por computador para realizar el tracking visual desde el punto de vista del usuario, con el fin de saber de qué punto de vista dibujar la imagen virtual. Para ello, la aplicación necesita saber dónde está el usuario en el mundo real. Las librerías de seguimiento de vídeo ARToolKit permiten estimar la posición de la cámara real y su orientación relativa a los marcadores físicos, en tiempo real. Esto permite el fácil desarrollo de una amplia gama de aplicaciones de Realidad Aumentada.

Algunas de las características de ARToolKit incluyen:
  • Seguimiento de la posición de la cámara simple / orientación. 
  • Código de seguimiento que utiliza marcas negras simples. 
  • Capacidad de usar cualquier patrón de marcadores cuadrados. 
  • Fácil código de calibración de la cámara. 
  • Rapidez suficiente para aplicaciones de RA en tiempo real. 
  • Distribuciones SGI IRIX, Linux, MacOS y Windows OS. 
  • Distribuido con el código fuente completo.
Desarrollado en 1999 por el Dr. Hirokazu Kato, en la actualidad es una tecnología liberada bajo licencia GPL, debido a lo cual se ha hecho muy popular y es ampliamente utilizada.


Detecting Planes and Estimating their Orientation from a single image. (O. Haines, 2012)

En este trabajo O. Haines propone un algoritmo para detectar zonas planas en una imagen individual de una escena de exteriores urbanos, capaz de identificar múltiples zonas planas distintas, y la estimación de su orientación. Mediante el uso de técnicas de machine learning, se extrae la relación entre la apariencia y estructura a partir de un amplio conjunto de ejemplos. La detección de zonas planas se logra mediante la clasificación de la superposición de múltiples zonas de la imagen, con el fin de obtener una estimación inicial de planicidad para un conjunto de puntos, que se segmentan en regiones planas y no planas usando una secuencia de campos aleatorios de Markov. Este trabajo difiere de los métodos anteriores en que no se basa en detección de líneas, y es capaz de predecir una orientación real para las zonas planas. Se demuestra que el método es capaz de extraer de forma fiable zonas planas en una variedad de escenas, y se compara favorablemente con los métodos existentes.

Resultados Haines
resultados obtenidos por el algoritmo de Haines


 Detecting Planar Surfaces in Outdoor Urban Environments. (P. David, 2008)


P. David describe un método para detectar automáticamente las fachadas de edificios en imágenes de entornos exteriores urbanos para su aplicación en navegación basada en visión, reconocimiento de marcas y de aplicaciones de vigilancia. En particular, la proliferación de Smartphones con cámara y funcionalidad GPS, hace necesario un sistema de backup de geolocalización cuando las señales GPS de satélite se bloquean en los llamados "cañones urbanos". El método que propone, localiza en primer lugar los segmentos de línea de la imagen y extrae los puntos de fuga de éstos mediante el algoritmo de estimación robusta de RANSAC. A continuación, las intersecciones de los segmentos de línea asociados con cada uno de los pares de puntos de fuga son utilizados para generar el plano de apoyo de cada una de las fachadas según su orientación. Seguidamente, se agrupan los puntos pertenecientes a cada plano de apoyo utilizando un algoritmo que no requiere el conocimiento del número de agrupaciones o de su proximidad espacial. Por último, las fachadas del edificio se identifican mediante el ajuste de cuadriláteros alineados con los puntos de fuga de cada uno de los grupos de puntos de apoyo. Los experimentos muestran un buen rendimiento en una serie de entornos urbanos complejos. La principal contribución de este algoritmo es un rendimiento mejorado sobre los algoritmos existentes y la no imposición de restricciones sobre las fachadas en cuanto a número u orientación, estableciendo unas mínimas restricciones en la longitud de los segmentos de línea detectados y de la verticalidad de las paredes.

Resultados David
resultados obtenidos por el algoritmo de P. David


Computer Vision Centric Hybrid Tracking for Augmented Reality in Outdoor Urban Environments. (W.T. Fong, S.K. Ong, A.Y.C. Nee, 2009)

El trabajo liderado por  W.T.Fong presenta un sistema de seguimiento híbrido para Realidad Aumentada en ambientes urbanos exteriores, que integra la visión por computador (CV), GPS y sensores de inercia. El sistema está diseñado para superficies exteriores planas en ambientes urbanos, proporcionando aumento con gran precisión y libre de jitter. Para ello, se parte de dos algoritmos de CV de seguimiento, “Keypoint Signatures for Fast Learning and Recognition” y “Second-order Minimization for Outdoor Tracking”, que al no escalar a entornos de gran tamaño y no ser del todo robustos, son completados con GPS y detección inercial. De esta manera, primero se define una región de búsqueda limitada para después inicializar el seguimiento mediante CV. Se consigue así un sistema con la precisión y estabilidad requeridas para aplicaciones de Realidad Aumentada. El trabajo presenta las modificaciones de los dos algoritmos de CV junto con las consideraciones de diseño para construir el sistema de seguimiento híbrido propuesto. Presenta, también, los resultados de experimentación del sistema y el aumento en las superficies del mundo real.

Resultados Fong
resultados obtenidos por el algoritmo de Fong



viernes, 26 de septiembre de 2014

Motivación de mi proyecto: Publicidad y Realidad Aumentada

La Realidad Aumentada es una tecnología incipiente en el mundo de la publicidad. La posibilidad de incluir contenido digital en una secuencia de vídeo o en la realidad observada a través de una cámara permite la generación de anuncios virtuales sobre imágenes reales. Datos, logotipos, fotografías e incluso secuencias de vídeo son añadidas sobre la realidad, perfectamente alineados con ésta, para generar novedosos anuncios publicitarios que parecen cobrar vida. La Realidad Aumentada no sustituye la realidad sino que la complementa, permitiendo personalizar, dotar de movimiento y sonido, la medición de resultados y la interactuación de las personas con los anuncios. En definitiva, el uso de tecnologías de Realidad Aumentada en publicidad permite a los nuevos anuncios llamar la atención de potenciales clientes.


publicidad en fachada
ejemplo de publicidad en fachada
conseguido
Son ya numerosas las aplicaciones de Realidad Aumentada que conectan el mundo real con el mundo virtual a partir de la detección de patrones. Las más prestigiosas marcas utilizan estas tecnologías en sus campañas publicitarias: IKEA, Adidas, Ford, BMW, Lego, FOX, Paramount, Ray Ban, Mac-Donalds son algunos de los ejemplos más conocidos, y muchas otras marcas están utilizado ya la Realidad Aumentada para llegar mejor a sus clientes potenciales.

El principal reto al que deben enfrentarse los sistemas de Realidad Aumentada es el denominado registro, que consiste en calcular la posición relativa de la cámara real respecto de la escena para poder generar imágenes virtuales correctamente alineadas con esa imagen real. Este registro debe ser preciso y robusto, y puede realizarse empleando diferentes tipos de sensores y técnicas. Las técnicas más extendidas son las que utilizan la geolocalización (localización por GPS) o el tracking visual (que emplea técnicas de visión por computador). Dentro de las segundas, las más utilizadas son las técnicas de tracking con marcas. La posibilidad de detectar un patrón en una secuencia de vídeo o en la realidad observada a través de una cámara permite la inclusión de contenido virtual sobre imágenes reales.

Los principales problemas que presentan las técnicas de geolocalización son los llamados "cañones urbanos", las zonas en las que las señales GPS de satélite se bloquean. Mientras que las técnicas de tracking con marcas presentan otro tipo de problemas como la identificación (oclusiones, puntos de vista, mala iluminación, etc), el seguimiento (inicio automático y recuperación del tracking al perder las referencias) y los entornos no controlados (tracking sin referencias previamente conocidas).

Dentro del tracking visual se están desarrollando alternativas al tracking con marcas como las nuevas tecnologías de tracking sin marcas, que emplean únicamente características naturales de la escena, sin la necesidad de llenar de patrones el campo de visión de la cámara. Muy al contrario, la posibilidad de detectar estructuras físicas que sean altamente detectables desde el punto de vista de la visión por computador como objetos, edificios, etc, permite situar sobre ellas anuncios virtuales; abriendo un amplio mundo de posibilidades para el sector publicitario.

Mi motivación

La motivación de este proyecto de "Detección y localización de estructuras planas para aplicaciones de Realidad Aumentada en Publicidad" es la aplicación de las nuevas tecnologías de Realidad Aumentada basadas en tracking sin marcadores dentro del mundo de la publicidad. Técnicas que son diferentes a las ya existentes de uso de marcadores o posicionamiento por geolocalización. Así, la principal aportación de este proyecto es una solución técnica para la detección y localización de estructuras planas en una secuencia de vídeo o en una imagen real sin el uso de técnicas de geolocalización o marcadores y la posibilidad de añadir sobre ella información virtual, tanto en ámbitos interiores como exteriores.

publicidad en fachada e interiores publicidad en fachada
publicidad en fachada publicidad en fachada
ejemplos conseguidos de publicidad en fachada e interiores


Los campos de aplicación de las técnicas propuestas en este proyecto pueden ser muchos, industria, diseño, medicina, arquitectura, educación y formación, ocio, etc. No obstante, el proyecto se plantea dentro del mundo de la publicidad por ser éste un sector de potencial crecimiento para estas tecnologías de Realidad Aumentada  en el presente y en el futuro.

Adicionalmente, una vocación personal por la formación y el gusto por comunicar, interactuar y compartir han motivado la creación de este blog ARexperience, en el que poder reflejar todos aquellos conceptos y experiencias relacionados con la Realidad Aumentada que han sido fundamentales para la búsqueda de información, preparación e inmersión inicial en el mundo de la Realidad Aumentada y de la Visión por Computador. En el blog se pueden encontrar pequeñas aplicaciones ARToolKit que se han realizado para experimentar y comprender mejor el funcionamiento de sus funciones, el manejo de sus variables, etc. También es posible encontrar en él algunos de los conceptos básicos de la visión por computador, el blending y la visualización 3D; conceptos a los que se irán añadiendo otros en futuras entradas. 

domingo, 15 de junio de 2014

Mi proyecto de Realidad Aumentada y Publicidad

El primer post de presentación de ARexperience ya comentaba el inicio de este blog como consecuencia de mis trabajos en el mundo de la Realidad Aumentada para aplicaciones de Publicidad, dentro de  un proyecto relacionado con mis estudios de ingeniería electrónica en la Universitat Politècnica de Catalunya (UPC): "DETECCION Y LOCALIZACION DE PLANOS  PARA APLICACIONES DE REALIDAD AUMENTADA EN PUBLICIDAD". Inicio ahora una secuencia de entradas en las que comentaré los pormenores de este proyecto y sus resultados. Espero que los encontréis interesantes y sean de vuestro agrado. Como siempre, comentad por favor todo lo que consideréis que pueda aportar. Vuestra participación siempre es importante. Gracias!!



detección planar en exteriores
Detección planar en exteriores
La Realidad Aumentada es una tecnología incipiente en el mundo de la publicidad. La posibilidad de detectar un patrón en una secuencia de video o en la realidad observada a través de una cámara permite la inclusión de anuncios virtuales sobre imágenes reales. Datos, logotipos, fotografías e incluso secuencias de vídeo son añadidas sobre la realidad, perfectamente alineadas con ésta para generar novedosos anuncios publicitarios que parecen cobrar vida. La Realidad Aumentada permite personalizar, dotar de movimiento y sonido, medir los resultados y conseguir la interactuación de las personas con los anuncios; en definitiva, permite llamar la atención de potenciales clientes.

Son ya numerosas las aplicaciones de Realidad Aumentada que conectan el mundo real con el mundo virtual a partir de la detección de patrones. Las más prestigiosas marcas utilizan estas tecnologías en sus campañas publicitarias: IKEA, Adidas, Ford, BMW, Lego, FOX, Paramount, Ray Ban, Mac-Donalds  y un sinfín de marcas están utilizado la Realidad Aumentada para llegar mejor a sus clientes potenciales.

Sin embargo, nuevas tecnologías permiten los mismos objetivos sin la necesidad de llenar de patrones el campo de visión de la cámara. Muy al contrario, la posibilidad de detectar directamente objetos, edificios, etc, y situar sobre ellos anuncios virtuales abre un amplio mundo de posibilidades para el mundo publicitario. El reto: la detección y localización de objetos en una imagen real sin la necesidad de marcadores.

Y es aquí en donde se enmarca este proyecto. Se plantea en él la posibilidad de añadir información virtual sobre objetos planos detectados y localizados en una imagen real sin necesidad de marcadores, tanto en ámbitos interiores como exteriores. Más concretamente, este proyecto desarrolla un algoritmo de “Blending” de imágenes virtuales 2D sobre las paredes planas de un objeto detectado, por ejemplo un edificio, sin la necesidad de existencia de marcadores.

Si bien es cierto que los campos de aplicación de las técnicas propuestas en este proyecto pueden ser muchos, industria, diseño, medicina, arquitectura, educación y formación, ocio, etc, el proyecto se enmarca dentro del mundo de la publicidad simplemente para poder concretar algunos aspectos. El siguiente vídeo muestra un ejemplo de Realidad Aumentada en l presentación del nuevo Volkswagen Beetle; impresionante:



 Los objetivos iniciales que nos marcamos son:

  1. Detección de planos en imágenes interiores y exteriores
  2. Localización de estos planos
  3. Calibración de la cámara y obtención de sus parámetros intrínsecos
  4. Blending de imágenes virtuales sobre los planos
  5. Implementación en tiempo real
  6. Integración en un sistema de realidad Aumentada. 



lunes, 5 de mayo de 2014

Métodos de tracking visual

El registro es la imagen real registrada por una cámara en el momento o previamente. Su obtención puede realizarse empleando diferentes  tipos de sensores y técnicas (las más extendidas son mediante el uso de tracking visual).


Los Métodos de Tracking tratan de obtener una estimación de la trayectoria en el espacio realizada por un objeto o sensor. Se pueden emplear diferentes tipos de sensores como mecánicos, magnéticos, ondas sonoras, inerciales o cámaras de visión.  Las cámaras están actualmente integradas en multitud de dispositivos portátiles y permiten realizar tracking a un coste reducido.

De entre estos métodos, los más utilizados son los basados en cámaras de vídeo o de Tracking visual. Este método es un subcampo del tracking 3D, y en él  se emplean técnicas de visión por computador para obtener el posicionamiento de la cámara con seis grados de libertad (tres grados de la posición y tres de la orientación).


tracking con marcadores
ejemplo de tracking con marcadores
Para calcular la posición de la cámara respecto al mundo real se necesitan un conjunto de referencias tridimensionales, que pueden ser marcas con una descripción geométrica previamente conocida u objetos previamente modelados. Realizando una comparación con lo que percibe la cámara en el mundo real es posible obtener el posicionamiento relativo a estas  referencias. En la imagen de la izquierda vemos un ejemplo de tracking visual con marcadores correspondiente a uno de mis primeros aplicaciones creadas con ARToolKit.

Problemática

Los problemas que el tracking visual tiene que resolver son:

  1. De identificación: oclusiones, puntos de vista, mala iluminación, etc
  2. De seguimiento: inicio automático y recuperación del tracking al perder las referencias
  3. En entornos no controlados: tracking sin referencias previamente conocidas


Clasificación de los métodos de tracking

Las Aproximaciones Buttom-Up tratan de obtener la posición a partir de lo que percibe la cámara. En ellas la inicialización y la recuperación al perder el tracking son automáticas, pero si no se localiza una referencia completa no son capaces de dar posiciones válidas. Existen diferentes tipos:

  • Basados en marcas
  • Sin marcas
    • Estructuras planas
    • Basadas en modelos
    • Escenas sin restricciones
La siguiente imagen muestra un ejemplo de mi trabajo en el que se realiza una detección mediante tracking de estructuras planas, a partir de la detección de sus líneas de fuga y normales (en amarillo). En este caso se pretende insertar un anuncio sobre la pared detectada (en la que no hay marcas).

detección planar
ejemplo de detección planar

En las Aproximeciones Top-Down, primero se estima la posición para después intentar reconocer las referencias que se espera. Por este motivo, necesitan una posición inicial aunque responden muy bien ante referencias parciales o incluso oclusiones temporales. Se utilizan modelos del movimiento basados en filtros bayesianos para predecir la posición de la cámara. A partir de esa posición de la cámara se buscan referencias en la escena que corrijan la predicción y ayuden a la creación de un modelo del entorno.

Los filtros Bayesianos pueden dividirse en dos grandes familias según trabajen con modelos de movimiento gausianos, que explotan los beneficios de los Filtros de Kalman y sus variantes, o utilicen Filtros de Partículas.