miércoles, 19 de octubre de 2011

Procesamiento de Imágenes con Android en Stanford

Me ha sorprendido grátamente encontrarme con que en la Universidad de Stanford se enseña procesamiento de imágenes con prácticas y proyectos que los alumnos desarrollan en teléfonos con Android. Me parece una decisión muy inteligente, con una buena visión pedagógica (el alumno con inquietudes siempre está interesado en aprender lo último de lo último) y de futuro (hay que entrenar a los ingenieros, si se puede, en lo que se encontrarán en su trabajo).

El mayor sector de crecimiento en informática es, y será por bastante tiempo, la computación móvil. Los teléfonos móviles inteligentes se acercan año a año al rendimiento necesario para los algoritmos más exigentes en Visión por Computadora (detección de objetos, seguimiento visual, etc). Así que tarde o temprano tendremos que hacer alguna aplicación de visión por computador para el teléfono móvil ... tiempo al tiempo. Sin ir más lejos OpenCV desde la versión 2.2 compila y se puede utilizar en Android.

Un ejemplo muy interesante es la aplicación para Android "Google goggles" que permite hacer la detección de objetos en "batch" combinando procesamiento en el teléfono y acceso a servidores.

viernes, 14 de octubre de 2011

Uso de la Visión Artificial en eventos deportivos

Hasta hace poco, cuando en televisión mostraban las estadísticas de los partidos de fútbol o de tenis me sorprendía la dura labor que se debía estar realizando para recopilar dichos datos durante cada partido. Que si el tiempo de posesión del Barsa fue del 80%, que si Nadal recorrió 6 kms durante el partido, que si el balón ha salido de banda 33 veces... Pero resulta que en la mayoría de estos casos ya hay sistemas de Visión Artificial que se encargan de recopilar dicha información, de informar a los espectadores e incluso de asesorar al árbitro.

Quizás la aplicación más conocida sea el famoso Ojo de Halcón. Esta aplicación se utiliza los torneos de tenis de alto nivel para determinar la trayectoria de la bola y así saber si, como diría McEnroe: "la bola entró". Actualmente, el software que se utiliza fue desarrollado por la empresa inglesa Roke Manor Research Ltd., luego se ha perfeccionado en la empresa Hawk-Eye Innovations Ltd.parece que hace poco Sony la ha comprado. Según la Wikipedia, la tecnología de Ojo de Halcón utiliza varias cámaras (más de 4) de alta velocidad calibradas y un modelo de la pista. Con ellas determina la posición 3D de la bola en tiempo real mediante un proceso básico de triangulación.


Otra de las utilidades, en este caso menos conocida, consiste en el cálculo de la distancia recorrida por los jugadores en los partidos. Hace poco, en el blog Ballesterismo explicaban que el cálculo de la distancia recorrida por los jugadores de fútbol (Live Player Tracking) en competiciones europeas se realiza mediante técnicas de Visión Artificial. En particular se utiliza el software desarrollado por la empresa Italiana Delta Tre. Además, según cuenta la empresa Tracab, también se utiliza su propio software de seguimiento 3D para analizar otros eventos del juego.

En la misma línea, en el ICCV 2011 se presentó un trabajo sobre el seguimiento de personas y una de sus aplicaciones se centró en el seguimiento de jugadores en eventos deportivos. Los resultados fueron espectaculares.

Según algunos estudios estás técnicas son bastante precisas. Sin embargo, no terminan de automatizarse para aspectos cruciales del juego. Supongo que aunque hay empresas, como la propia Hawk-Eye Innovations Ltd., que disponen de sistemas de Visión Artificial para saber si un balón entró en la portería o si alguien está en fuera de juego, muchos de estos sistemas no se ponen en marcha porque eliminarían una parte importante del espectáculo: los errores arbitrales.

jueves, 13 de octubre de 2011

La confluencia entre Gráficos y Visión por Computadora

Desde hace bastante tiempo ya, se constanta una tendencia en las aplicaciones y la teoría que nos lleva a "la confluencia de los gráficos y la visión". Esto es, cada vez hay más aplicaciones que añaden objetos virtuales en secuencias de vídeo real (realidad aumentada) y también otras que reconstruyen objetos o se captura el movimiento de personajes utilizando técnicas de Visión. Si queremos hacer realidad aumentada necesitamos colocar la cámara virtual (la de los gráficos 3D) alineada con la cámara real. Está claro que eso no sería posible sin el desarrollo de la teoría necesaria para autocalibrar (encontrar los parámetros como la distancia focal) de la cámara(s) a partir de una "simple" secuencia de vídeo.

Un ejemplo interesante de esa relación entre ambos mundos se ve claramente en películas como Avatar. En la realización de la pelicula se mezcla imagen real, imagen sintética, captura de movimiento del cuerpo de actores y captura de expresiones faciales. Uno de los investigadores de Visión que participaron en el desarrollo de la película Avatar es Iain Matthews (ahora en Disney Research).

Otro ejemplo de la visión y los gráficos son las herramientas de postproducción y análisis de vídeo de la empresa 2D3 (que nació como resultado de la investigación en Visión de un grupo de investigadores de la universidad de Oxford).

El último ejemplo interesante es la aparición de carteles, símbolos, medidas de distancias sobre el suelo, etc. en las retransmisiones deportivas por televisión.

Por tanto los investigadores o ingenieros trabajando en gráficos (o en visión) tarde o temprano tendrán que utilizar técnicas de visión (de gráficos).

martes, 4 de octubre de 2011

KinectFusion ...

El sensor 3D de Microsoft, "el Kinect", ha revolucionado el mundo de las aplicaciones de interacción hombre-computadora. Lo que la gente utiliza de Kinect es el sensor que estima mapas de profundidad con una calidad más que aceptable. Pero lo más interesante de Kinect está en el software que corre dentro de la Xbox para poder estimar la pose del cuerpo del usuario. Ese software ha sido desarrollado por los investigadores de MS Research.

Ahora la gente de Microsoft Research, Imperial College y otras instituciones presentan en el SIGGRAPH una extensión del uso del sensor 3D para la reconstrucción completa de escenas 3D en tiempo real y su uso en aplicaciones para mejorar la interacción mundo real-mundo virtual. El vídeo es sencillamente impresionante.

También es cierto que uno de los investadores participantes en KinectFusion, Andrew Davison, había hecho antes reconstrucciones 3D densas en tiempo real con una simple webcam y una computadora. La diferencia con el KinectFusion es la velocidad y la información de partida (en el caso de KinectFusion se parte de mapas de profundidad bastante buenos obtenidos en tiempo real).