marzo 19, 2020 10:00 am

Jesús

La conexión ojo-cerebro es una de las invenciones, de los logros más grandes de la Madre Naturaleza. La mayoría de las veces no pensamos en ello, pero la ingente cantidad de información que atraviesa nuestra retina, viaja hacia nuestra corteza visual y, acaba en una decisión o acción, es inconmensurable. ¿Sabes qué es lo más impresionante? ¡Todo ocurre en fracciones de segundo!

Una demostración de la alta sofisticación de este tándem, es el hecho de que todos nuestros modelos artificiales para procesar imágenes palidecen cuando se comparan con la naturaleza y funcionamiento de la visión humana.

Esta complejidad, por supuesto, no pasó desapercibida en su momento. Nuestros antepasados en el mundo de la visión artificial diseñaron múltiples técnicas para aprovechar al máximo la data visual contenida en imágenes, videos y demás medios digitales. 

De hecho, son estas técnicas de síntesis visual las que establecen el nexo entre la visión artificial tradicional y el aprendizaje automático que tan de moda se encuentra en estos días, pues, como bien sabemos, los modelos de machine learning son incapaces de procesar datos no vectoriales.

Así, pues, el tópico que hoy nos ocupa es el de la descripción de imágenes mediante image descriptors, feature descriptors, y feature vectors.

¿Cómo Se Describe una Imagen en Computer Vision?

Simple: Con una lista de números.

Ahora bien, estos números no pueden ser arbitrarios; han de tener un significado, el cual varía dependiendo del aspecto de la imagen que queramos describir. 

También deben ser cuantificables y comparables. Si en una imagen predomina un rasgo más que en otra, idealmente esta lista de números debería reflejar tal hecho. Así mismo, para que la descripción sea efectiva y, más aún, útil desde un punto de vista práctico, debemos poder usar estos números para medir la similitud entre dos imágenes, con base a sus vectores característicos.

¿Qué Podemos Describir en una Imagen?

Infinidad de cosas, realmente. A continuación se presenta una lista no exhaustiva de los aspectos que podemos describir de una imagen:

  • Color.
  • Textura.
  • Forma.
  • Contenido.

No necesariamente tenemos que limitarnos a describir un único aspecto. Dependiendo de nuestros objetivos y el alcance de nuestros proyectos, la combinación de dos o más descriptores puede conducir a grandes resultados.

Por ejemplo, si quisiéramos crear un clasificador de paisajes, un descriptor de color junto con uno de textura sería un buen sitio para empezar, ya que aunque algunos parajes comparten la misma paleta de colores, la textura de sus relieves varía.

Terminología

No hay un consenso establecido con relación a la terminología propia de la descripción de imágenes. Dependiendo del autor, texto o fuente que consultes, algunos términos se usarán como sinónimos, mientras que en otros casos, albergarán significados distintos.

En esta subárea de la visión artificial, frecuentemente nos toparemos con los siguientes tres términos:

  • Feature vector.
  • Image descriptor.
  • Feature descriptor.

Son muy similares, sí, aunque se refieren a cosas ligeramente diferentes. Veamos:

  • Feature vector: Es el resultado de un descriptor de imágenes. En otras palabras, es una abstracción que usamos para cuantificar numéricamente el contenido de una imagen, mediante valores enteros, reales o, en ocasiones, binarios.
  • Image descriptor: Es un algoritmo que define o establece cómo cuantificar globalmente una imagen. Toma una imagen y produce un feature vector.
  • Feature descriptor: Es un algoritmo que define o establece cómo cuantificar localmente una región de una imagen. Toma una imagen y produce múltiples feature vectors

Como vemos, un feature vector es el resultado, mientras que los image y feature descriptors son los procesos que lo producen. En el primer caso, sólo obtenemos un vector por imagen, mientras que en el segundo, el resultado son distintos vectores por cada imagen.

A lo largo de las siguientes lecciones estudiaremos una serie de descriptores de imágenes, cada uno con sus fortalezas y debilidades, así como los casos de usos específicos que les permiten brillar. De hecho, aunque estamos introduciendo formalmente el tema, HOG es uno de los descriptores más comunes y versátiles, del cual hablamos extensamente aquí

Recientemente, con el advenimiento de deep learning y transfer learning, las redes neuronales han probado ser fantásticos descriptores (esta técnica se conoce como bottleneck features o features cuello de botella), aunque pecan un poco de misticismo, puesto que su funcionamiento es una caja negra que no podemos inspeccionar a placer.

Mantente sintonizado. Estoy seguro de que te encantará este tema.

¡Hasta pronto!

Sobre el Autor

Jesús Martínez es el creador de DataSmarts, un lugar para los apasionados por computer vision y machine learning. Cuando no se encuentra bloggeando, jugando con algún algoritmo o trabajando en un proyecto (muy) cool, disfruta escuchar a The Beatles, leer o viajar por carretera.

Paso 2/2: Celebra tu NUEVO EMPLEO en Machine Learning ?

A %d blogueros les gusta esto: