Descubre cómo Google desarrolló el modelo de vanguardia de clasificación de imágenes que impulsa la búsqueda en Google Fotos. Realiza un curso intensivo sobre redes neuronales convolucionales y, luego, crea tu propio clasificador de imágenes para distinguir las fotos de gatos de las de perros.
Requisitos previos
Curso intensivo de aprendizaje automático o experiencia equivalente con los aspectos básicos del AA
Dominio de los conceptos básicos de programación y cierta experiencia de codificación en Python
Introducción
En mayo de 2013, Google publicó la búsqueda de fotos personales, que da a los usuarios la posibilidad de recuperar fotos en sus bibliotecas en función de los objetos presentes en las imágenes.
Figura 1: La búsqueda de gatos siameses en Google Fotos ofrece estos productos.
La función, que más tarde se incorporó a Google Fotos en 2015, se acogió como una herramienta innovadora que demostraba la capacidad de un software de visión artificial para clasificar imágenes según los estándares humanos, lo que ofrecía las siguientes ventajas:
- Los usuarios ya no necesitaban etiquetar fotos con etiquetas como "playa" para categorizar el contenido de las imágenes, lo que elimina una tarea manual que podría resultar bastante tediosa a la hora de administrar conjuntos de cientos o miles de imágenes.
- Los usuarios podían explorar su colección de fotos de formas nuevas, con términos de búsqueda para encontrar fotos con objetos que quizás nunca etiquetaron. Por ejemplo, pueden buscar "palmeras" para ver todas las fotos de vacaciones que tienen palmeras en el fondo.
- El software podría, posiblemente, ver distinciones taxonómicas que los usuarios finales no podrían percibir (p.ej., distinguir a los gatos siameses de los abisinios), lo que aumentaba de manera efectiva el conocimiento del dominio.
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 identificar en las imágenes) y entrena un modelo para que las reconozca con fotos de ejemplo etiquetadas. Los primeros modelos de visión artificial se basaban en datos de píxeles sin procesar como entrada para el modelo. 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 capturado en una imagen. La posición del objeto, el fondo detrás del objeto, la iluminación ambiente, el ángulo de la cámara y el enfoque de la cámara pueden producir fluctuaciones en los datos de píxeles sin procesar; estas diferencias son lo suficientemente significativas como para que no se puedan corregir mediante promedios ponderados de valores RGB de píxeles.
Figura 2: A la izquierda: Los gatos pueden capturarse en una foto en diversas poses, con diferentes escenarios y condiciones de iluminación. A la derecha: El promedio de los datos en píxeles para dar cuenta de esta variedad no produce información significativa.
Para modelar objetos de manera más flexible, los modelos clásicos de visión artificial agregaron atributos nuevos a partir de datos de píxeles, como histogramas de color, texturas y formas. La desventaja de este enfoque era que la ingeniería de atributos se convertía en una carga real, ya que había muchas entradas para ajustar. Para un clasificador de gatos, ¿qué colores eran más relevantes? ¿Qué tan flexibles deben ser las definiciones de la forma? Debido a que los atributos debían ajustarse con tanta precisión, crear modelos sólidos era todo un desafío, y la exactitud se vio afectada.