Práctica de AA: Clasificación de imágenes

Conoce la forma en que Google desarrolló su modelo de vanguardia para la clasificación de imágenes utilizado en las búsquedas de Google Fotos. Realiza un curso intensivo sobre redes neuronales convolucionales y, posteriormente, crea tu propio clasificador de imágenes para poder distinguir entre fotos de gatos y de perros.

Requisitos previos

Introducción

En mayo de 2013, Google presentó la búsqueda de fotos personales, con la que los usuarios pueden encontrar fotos en sus bibliotecas en función de los objetos presentes en las imágenes.

captura de pantalla de Google Fotos en el que se muestra una búsqueda de gatos siameses Figura 1. ¡La búsqueda de gatos siameses en Google Fotos da resultado!

La función, que más tarde se incorporaría a Google Fotos en 2015, se acogió como una herramienta innovadora que demostraba la capacidad de un software de visión computarizada para clasificar imágenes conforme a los parámetros humanos, lo que ofrecía las siguientes ventajas:

  • Los usuarios ya no necesitaban etiquetar fotos con leyendas como "playa" para categorizar el contenido de una imagen, lo que eliminaba la tarea manual (que podía llegar a ser engorrosa) cuando se administraban conjuntos de cientos o miles de imágenes.
  • Los usuarios podían explorar sus colecciones de fotos de nuevas maneras, con términos de búsqueda para ubicar fotos con objetos que probablemente no hubieran etiquetado nunca. Por ejemplo, podían buscar "palmera" para explorar todas las fotos de vacaciones que tuvieran palmeras de fondo.
  • El software potencialmente podía "ver" distinciones taxonómicas que posiblemente los usuarios finales no podrían percibir (p. ej., distinguir gatos siameses de abisinios), lo que aumentaba de manera eficaz el conocimiento del dominio de los usuarios.

Cómo funciona la clasificación de imágenes

La clasificación de imágenes es un problema de aprendizaje supervisado: define un conjunto de clases objetivo (objetos para identificarlos en imágenes) y entrena un modelo para reconocer esas clases mediante fotos de ejemplo etiquetadas. Los primeros modelos con visión computarizada alimentaban el modelo con datos de píxeles sin procesar. Sin embargo, como se muestra en la Figura 2, los datos de píxeles sin procesar por sí solos no proporcionan una representación lo suficientemente estable como para abarcar las innumerables variaciones de un objeto cuando se lo captura en una imagen. La posición del objeto, el fondo detrás de este, la luz ambiente, y el ángulo y el foco de la cámara pueden producir fluctuaciones en los datos de píxeles sin procesar; estas diferencias son lo suficientemente significativas como para no poder corregirse calculando promedios ponderados de los valores RGB de los píxeles.

collage de fotos con gatos en diferentes posiciones, con distintos fondos y condiciones de luz, y los datos de píxeles promedio que se obtuvieron Figura 2. A la izquierda: Los gatos pueden capturarse en una foto en diversas poses, con diferentes escenarios y condiciones de luz. A la derecha: El promedio de los datos de los píxeles para calcular esta variación no produce información significativa.

Para modelar objetos de una manera más flexible, la visión computarizada clásica agregó nuevos atributos a partir de los datos de píxeles, como histogramas de color, texturas y formas. Lo negativo de este enfoque era que programar la función resultaba muy engorroso, dado que había que retocar muchas entradas. Para un clasificador de gatos, ¿qué colores eran los más relevantes? ¿Qué tan flexibles debían ser las definiciones de las formas? Como los atributos debían ajustarse con tanta precisión, crear modelos complejos era todo un desafío y los resultados no tenían la exactitud necesaria.