Men? de navegaci?nMen?
Categorías

La mejor forma de Aprender Programación online y en español www.campusmvp.es

Grandes avances en visión artificial directamente en tu iPhone

La visión artificial siempre ha sido un problema peliagudo, muy difícil de resolver. Hasta hace poco los sistemas existentes eran bastante limitados. Sí, hace años que más o menos se pueden identificar tipos de fotografías o imágenes en movimiento de manera sencilla, pero solamente analizando algunos rasgos básicos, como colores, formas geométricas y cuestiones similares.

Por ejemplo, en la búsqueda de imágenes de Google o Bing ofrecen búsqueda de fotografías en páginas web de todo el mundo, pero distan mucho de ser perfectas. Estos sistemas se basan en información básica de contexto, como el texto que rodea a las imágenes, el que tienen en sus atributos Alt y Title, sus metadatos EXIF, etc... Pero la imagen en sí misma es un conjunto de pixeles que resulta muy difícil de identificar y clasificar. Más allá de reconocer objetos con bordes muy definidos y letras y números, los algoritmos de reconocimiento de imagen tradicionalmente han sido siempre muy limitados. Cualquier niño pequeño es mucho mejor reconociendo significado en las imágenes que los ordenadores más potentes.

Sin embargo hace relativamente poco, en Octubre de 2012 para ser exactos, la disciplina pegó un salto cualitativo importante, y los sistemas de reconocimiento de imagen han conseguido acercarse al nivel de precisión de un niño pequeño, lo cual es un avance enorme.

La competición de vision artificial de Imagenet, organizada anualmente por varios profesores de Stanford y el MIT, reúne a los principales especialistas en el tema compitiendo con sistemas reales de reconocimiento visual. El equipo ganador, formado por investigadores de la universidad de Toronto, diseñó un sistema basado en "deep learning" (una de las tendencias más prometedora en inteligencia artificial. Facebook también está obteniendo resultados espectaculares con ella) y en redes neuronales convolucionales, que arrasó en las pruebas diseñadas para el reconocimiento de imágenes. Aquí puedes ver su presentación resumen del sistema (PDF) con pruebas reales, y también leer la implementación teórica completa (PDF).

Hasta entonces, a los sistemas de visión artificial tradicionales les resultaba imposible extraer significado a partir de las imágenes, pero los nuevos sistemas basados en redes "Deep Learning" son capaces de dotar de significado a las imágenes, no sólo buscar patrones en ellas. A partir de su entrenamiento inicial este tipo de sistemas aprenden a:

  • Reconocer objetos generalizando su aspecto, de modo que pueden reconocer objetos aunque su aspecto varíe sustancialmente o estén en contextos poco comunes.
  • Representando de manera multi-modal objetos, por ejemplo: reconociendo un coche visto desde fuera y desde dentro)
  • Manejar conceptos abstractos para dar el significado a las imágenes, por ejemplo: "bailar", "cena" o "beso", que son cuestiones mucho más complejas de reconocer que simples objetos.
  • Ser muy específicos en el reconocimiento, pudiendo identificar, por ejemplo, no solo "flores" sino dentro de éstas diversos tipos.
  • Los errores son razonables, es decir pueden confundir un burro con un perro grande, pero no con un árbol como pasa con los sistemas tradicionales.

Todo esto permite aplicaciones que reconozcan en tiempo real objetos, incluso en movimiento (como coches o animales concretos) y los convierte en un verdadero puente entre el mundo físico y el virtual.

Fíjate en algunos de los ejemplos de reconocimiento:

VisionArtificial_p

Fíate por ejemplo en la foto del cinturón de seguridad. Es  impresionante que lo reconozca con tanta probabilidad cuando está encima de una cara y no “suelto”. Incluso cuando se equivoca es por muy poco e incluso alguna gente hubiese cometido el mismo error.

¿Estamos cerca de resolver los problemas de la visión artificial definitivamente? En absoluto. Aún queda mucho por hacer, pero este supone un gran avance que nos acerca mucho más hacia el objetivo deseado.

Implementando todo esto en la práctica: reconociendo imágenes en un iPhone

Por suerte para nosotros no tenemos que comprender a fondo las matemáticas que hay detrás de todos estos avances ya que gracias a gente voluntariosa como Pete Warden, podemos disfrutar de sus beneficios prácticos en nuestras propias aplicaciones.

El bueno de Pete trabaja en una empresa llamada JetPac que tiene una aplicación para iPhone que ofrece guías de ciudades. Lo novedoso de esta aplicación es que analiza fotos de redes sociales y su contexto para ayudarnos a descubrir en cada ciudad de entre las 5.000 que monitorizan las cosas que realmente nos interesan: desde los bares las que van las chicas hasta las mejores vistas. Para ello utilizan análisis y reconocimiento de imágenes y son capaces de determinar casi cualquier cosa que busquemos. Una idea muy interesante. Y encima hacen vídeos muy divertidos para promocionarse :-)

La cuestión es que han liberado hace poco un SDK para iOS, Jetpac Deep Belief con el cual podemos crear aplicaciones para iPhone que incorporen todo el stack de Krizhevsky (el ganador del concurso que mencionaba antes) para reconocimiento de imágenes en menos de 300ms en un iPohne 5S. Viene entrenado con más de 1.000 categorías, pero incluye un módulo de entrenamiento que podemos usar para “enseñar” al sistema a reconocer objetos concretos que luego puede identificar si enfocamos el teléfono a algo similar.

Por ejemplo, este vídeo muestra a Pete enseñando a la aplicación a reconocer a su gato y luego pitar cada vez que lo ve:

En GitHub tienes el código fuente una buena explicación paso a paso de cómo implementarlo.

Muy, muy interesante.

campusMVP campusMVP es la mejor forma de aprender a programar online y en español. En nuestros cursos solamente encontrarás contenidos propios de alta calidad (teoría+vídeos+prácticas) creados y tutelados por los principales expertos del sector. Nosotros vamos mucho más allá de una simple colección de vídeos colgados en Internet porque nuestro principal objetivo es que tú aprendas. Ver todos los posts de campusMVP

No te pierdas ningún post

Únete gratis a nuestro canal en Telegram y te avisaremos en el momento en el que publiquemos uno nuevo.

Archivado en: Desarrollo móvil | General

Agregar comentario