Tecnología de etiquetado automático de imágenes - Cómo funcionan la detección de objetos, el reconocimiento de escenas y la generación de subtítulos

· 9 min de lectura

Visión general del etiquetado automático de imágenes - Por qué se necesita la comprensión de imágenes por IA

El etiquetado automático de imágenes (Auto-tagging) es una tecnología en la que la IA analiza el contenido de una imagen y etiqueta automáticamente los objetos, escenas y atributos que contiene. Se aprovecha en una amplia gama de usos, como la gestión de activos digitales (DAM), la clasificación de imágenes de productos en sitios de comercio electrónico, las funciones de búsqueda de las apps de fotos y la mejora de la accesibilidad (generación automática del texto alt).

Los límites del etiquetado manual:

  • Escalabilidad: en plataformas donde se suben decenas de miles de imágenes al día, el etiquetado a mano es físicamente imposible. En Instagram se publican unos 100 millones de imágenes al día
  • Coherencia: el etiquetado humano varía según la persona encargada. Es el problema de que al mismo objeto se le asignen etiquetas distintas, como "perro", "perrito", "perrete" o "shiba inu"
  • Costo: el etiquetado a gran escala supone unos costos de personal enormes. Con 30 segundos por imagen, 100.000 imágenes suponen unas 833 horas de trabajo
  • Exhaustividad: las personas tienden a fijarse solo en el sujeto principal de la imagen y pasan por alto los elementos del fondo y los atributos finos (color, textura, momento del día)

La pila tecnológica del etiquetado con IA:

  • Clasificación de imágenes (Classification): asigna una o más etiquetas de categoría a la imagen completa. Por ejemplo, "paisaje", "comida", "personas"
  • Detección de objetos (Object Detection): identifica la posición (bounding box) y la categoría de cada objeto de la imagen. "Gato (x:100, y:200, w:150, h:120)"
  • Segmentación semántica: clasifica la categoría de cada región píxel a píxel. Separa con precisión las regiones de "cielo", "carretera", "edificio" y "persona"
  • Generación de subtítulos de imagen: describe el contenido de la imagen en lenguaje natural. "Una mujer y un perro sentados en un banco del parque"

Cómo funciona la detección de objetos - YOLO y modelos basados en Transformer

La detección de objetos (Object Detection) es la tarea de predecir a la vez la posición (bounding box) y la categoría (etiqueta de clase) de cada uno de los objetos de una imagen. La serie YOLO (You Only Look Once) es una familia de modelos representativa de la detección de objetos en tiempo real.

Principios básicos de YOLO:

  • Detección en una etapa: procesa la imagen completa en una sola inferencia y predice a la vez la posición y la clase de todos los objetos. Es de 10 a 100 veces más rápida que los métodos de dos etapas (Faster R-CNN)
  • División en cuadrícula: divide la imagen de entrada en una cuadrícula de S x S, y cada celda predice B bounding boxes y las probabilidades de C clases
  • Anchor boxes: toma como referencia cajas con relaciones de aspecto predefinidas y predice ajustes de desplazamiento y tamaño. Admite objetos de formas diversas
  • NMS (Non-Maximum Suppression): posprocesamiento que elimina los resultados de detección duplicados y deja para cada objeto solo la caja con mayor confianza

La evolución de YOLO (a 2024):

  • YOLOv8 (Ultralytics): lanzado en 2023. Adopta un diseño sin anclas, el módulo C2f y un cabezal desacoplado. mAP del 53,9% en el conjunto de datos COCO
  • YOLOv9: introduce PGI (Programmable Gradient Information) y la arquitectura GELAN. Minimiza la pérdida de información y logra alta precisión incluso con modelos ligeros
  • YOLO-World: detección de objetos de vocabulario abierto. No se limita a clases predefinidas y puede detectar cualquier objeto con una instrucción de texto

Detección de objetos basada en Transformer:

  • DETR (DEtection TRansformer): desarrollado por Meta. Capta las relaciones entre objetos con el mecanismo de atención de Transformer y logra una detección de extremo a extremo (end-to-end) que no necesita NMS
  • Grounding DINO: gracias a la comprensión multimodal de texto e imagen, detecta objetos indicados en lenguaje natural. Permite indicaciones complejas como "una persona con un sombrero rojo"

Clasificación de imágenes y reconocimiento de escenas - De CNN a Vision Transformer

La clasificación de imágenes (Image Classification) es la tarea de asignar una o más etiquetas de categoría a la imagen en su conjunto. Mientras que la detección de objetos responde a "qué hay y dónde", la clasificación de imágenes responde a "qué es esta imagen". El reconocimiento de escenas es un tipo de clasificación de imágenes que reconoce lugares / situaciones como "playa", "oficina" o "bosque".

Clasificación basada en CNN (redes neuronales convolucionales):

  • ResNet: una arquitectura innovadora que hizo posible entrenar redes profundas (50-152 capas) mediante conexiones residuales (Skip Connection). Precisión Top-5 en ImageNet del 96,4%
  • EfficientNet: escala el ancho, la profundidad y la resolución de la red con un equilibrio óptimo. Logra una precisión equivalente a ResNet con 1/8 del número de parámetros
  • ConvNeXt: un modelo de 2022 que incorpora a las CNN la filosofía de diseño de Transformer. Alcanza un rendimiento equivalente al de Vision Transformer con una arquitectura CNN

Clasificación basada en Vision Transformer (ViT):

  • ViT (Vision Transformer): divide la imagen en parches de 16x16px y introduce cada parche en el Transformer como un token. En conjuntos de datos a gran escala supera el rendimiento de las CNN
  • DINOv2: un modelo de aprendizaje autosupervisado desarrollado por Meta. Se preentrena con una gran cantidad de imágenes sin etiquetar y logra una clasificación de alta precisión con pocos datos etiquetados
  • CLIP (Contrastive Language-Image Pre-training): desarrollado por OpenAI. Se entrena con pares de texto e imagen y logra la clasificación zero-shot (puede clasificar incluso categorías desconocidas). Puede responder a preguntas como "¿Esta imagen es un ___?"

Características del reconocimiento de escenas:

  • El estándar son los modelos entrenados con el conjunto de datos Places365. Reconocen escenas de 365 categorías (aeropuerto, dormitorio, bosque, estadio, etc.)
  • Combinado con el reconocimiento de objetos, permite un etiquetado compuesto como "un perro en la playa"
  • También es posible reconocer el momento del día (mañana, mediodía, atardecer, noche), el tiempo (soleado, nublado, lluvia) y la estación (primavera, verano, otoño, invierno)

Generación de subtítulos de imagen - Descripción en lenguaje natural con IA multimodal

La generación de subtítulos de imagen (Image Captioning) es la tarea de describir el contenido de una imagen con frases en lenguaje natural. Va más allá del etiquetado simple ("perro", "parque", "pelota") y genera descripciones que incluyen el contexto, como "un perro marrón que persigue una pelota roja en el parque".

Enfoques técnicos de la generación de subtítulos:

  • Enfoque codificador-decodificador: extrae las características de la imagen con una CNN (codificador de imagen) y genera lenguaje natural con una RNN/Transformer (decodificador de texto). Es clásico, pero sigue siendo eficaz
  • Modelos Vision-Language: modelos multimodales que tratan imagen y texto de forma unificada. BLIP-2, LLaVA y GPT-4V son ejemplos representativos
  • Prefix tuning: introduce las características de la imagen como prefijo en un modelo de lenguaje grande (LLM) y genera texto basado en la imagen

Principales modelos de generación de subtítulos (2024):

  • BLIP-2: desarrollado por Salesforce. Con Q-Former convierte las características de la imagen a un formato que el LLM puede entender. Genera subtítulos de alta calidad a pesar de ser ligero
  • LLaVA (Large Language and Vision Assistant): entrenado con datos de instrucciones (instruction) generados con GPT-4. También puede responder preguntas sobre imágenes
  • GPT-4V / GPT-4o: modelos multimodales de OpenAI. Permiten generar los subtítulos de mayor calidad, pero el costo de la API es alto
  • Florence-2: desarrollado por Microsoft. Realiza la generación de subtítulos, la detección de objetos y la segmentación con un modelo unificado

Aplicaciones a la accesibilidad:

  • Genera automáticamente el texto alt de las imágenes y transmite su contenido a los usuarios de lectores de pantalla
  • Se ha llevado a la práctica en apps para personas con discapacidad visual, como Seeing AI de Microsoft y Lookout de Google
  • Es posible construir una canalización de CI/CD que genere automáticamente, en el momento de la compilación, el texto alt de las imágenes de un sitio web que no lo tienen

Implementación en aplicaciones web - APIs en la nube e inferencia en el edge

Los métodos para incorporar el etiquetado automático de imágenes a una aplicación web se dividen a grandes rasgos en dos: usar una API en la nube o hacer la inferencia en el edge (navegador/dispositivo). Entiende las características de cada uno y elige el método adecuado según tus requisitos.

Implementación con APIs en la nube:

  • Amazon Rekognition: detección de objetos, reconocimiento de escenas, análisis facial, detección de texto y detección de contenido inapropiado. $1,00 por cada 1.000 imágenes (el primer millón de imágenes)
  • Google Cloud Vision AI: detección de etiquetas, detección de objetos, OCR, SafeSearch y reconocimiento de lugares emblemáticos. $1,50 por cada 1.000 imágenes
  • Azure Computer Vision: etiquetado, generación de subtítulos, detección de objetos y OCR. $1,00 por cada 1.000 imágenes
  • OpenAI GPT-4V API: la comprensión de imágenes de mayor calidad. Permite preguntas y respuestas en lenguaje natural. Sin embargo, su costo es alto: $0,01-0,03 por imagen

Patrones de implementación con APIs en la nube:

  • Al subir una imagen, se llama a la API de etiquetado con Lambda/Cloud Functions y se guarda el resultado en la base de datos
  • Se ejecuta en segundo plano con procesamiento asíncrono (SQS/Pub/Sub) para eliminar el tiempo de espera del usuario
  • Caché de resultados: se guardan en DynamoDB con el valor hash de la misma imagen como clave para evitar el procesamiento duplicado

Implementación con inferencia en el edge (dentro del navegador):

  • TensorFlow.js: ejecuta MobileNet (clasificación de imágenes) y COCO-SSD (detección de objetos) dentro del navegador. Aceleración por GPU con el backend WebGL
  • ONNX Runtime Web: ejecuta modelos en formato ONNX con Wasm o WebGL. Admite la exportación de YOLOv8 a ONNX
  • MediaPipe: de Google. Ejecuta en tiempo real dentro del navegador la detección de objetos, la clasificación de imágenes y la segmentación de imágenes

Ventajas de la inferencia en el edge: protección de la privacidad (las imágenes no se envían a un servidor), funcionamiento sin conexión y costo de API cero. Limitaciones: tamaño del modelo (descarga de 5-50MB), velocidad de inferencia (100-500ms/imagen en móviles) y precisión (puede ser menor que la de las APIs en la nube).

Aprovechamiento de los resultados del etiquetado - Búsqueda, filtrado y recomendación

Si aprovechas de forma eficaz los resultados del etiquetado con IA, puedes mejorar mucho la experiencia del usuario, por ejemplo con una mayor precisión en la búsqueda de imágenes, el filtrado de contenido y recomendaciones personalizadas.

Aprovechamiento en la búsqueda de imágenes:

  • Integración con la búsqueda de texto: incluir las etiquetas en el índice para poder buscar imágenes con consultas en lenguaje natural como "coche azul" o "playa al atardecer"
  • Búsqueda por facetas: clasificar las etiquetas por categoría (objeto, escena, color, número de personas) para poder acotar los resultados con una interfaz de filtros
  • Búsqueda de imágenes similares: usar representaciones vectoriales de las etiquetas (TF-IDF o Word2Vec) para lograr una búsqueda de imágenes basada en la similitud de las etiquetas
  • Búsqueda basada en CLIP: buscar por la similitud coseno entre la consulta de texto y los vectores de embedding de las imágenes. Permite una correspondencia directa texto-imagen sin necesidad de etiquetar

Moderación de contenido:

  • Detección automática y marcado de contenido inapropiado (violencia, contenido para adultos, odio)
  • Se puede implementar con las Moderation Labels de Amazon Rekognition o con Google SafeSearch
  • Se usa no para bloquear automáticamente, sino como filtrado para que moderadores humanos tomen la decisión final

Recomendación:

  • Analizar la distribución de etiquetas de las imágenes que el usuario ha visto / marcado con "me gusta" y recomendar imágenes con etiquetas similares
  • Un híbrido de filtrado colaborativo (preferencias de usuarios similares) y filtrado basado en contenido (similitud de etiquetas)
  • Ponderación de etiquetas: las etiquetas de estilo (minimalista, vintage) reflejan las preferencias del usuario con más facilidad que las etiquetas de objeto (perro, coche)

Diseño de la base de datos:

  • Como las etiquetas tienen una relación de muchos a muchos (varias etiquetas por imagen, varias imágenes por etiqueta), se gestionan con una tabla intermedia o una columna de tipo array
  • En DynamoDB, la búsqueda con el nombre de la etiqueta como clave se logra con un GSI (Global Secondary Index)
  • Con Elasticsearch / OpenSearch se ejecutan con rapidez la búsqueda de texto completo de etiquetas y la agregación por facetas
  • Se guarda una puntuación de confianza (confidence) junto con cada etiqueta y se filtra con un umbral (por ejemplo, 0,7 o más)

Artículos relacionados

Fundamentos de segmentación de imágenes - Principios de división de regiones y aplicaciones

Introducción sistemática a la segmentación de imágenes, desde métodos clásicos de umbralización hasta técnicas de aprendizaje profundo (U-Net, DeepLab, SAM), incluyendo métricas de evaluación e implementación en navegador.

Generación de imágenes con IA y derechos de autor - Desafíos legales y éticos

Análisis multifacético de la generación de imágenes con IA y los derechos de autor. Cubre los derechos sobre datos de entrenamiento, la titularidad del contenido generado y las consideraciones para uso comercial.

Visión general de la detección de objetos - Comparación de arquitectura y rendimiento de YOLO, SSD y Faster R-CNN

Explicación sistemática de la detección de objetos con aprendizaje profundo. Cubre los principios de YOLO, SSD y Faster R-CNN, compromisos velocidad-precisión y criterios de selección prácticos con benchmarks concretos.

Comprendiendo el modelo CLIP y sus aplicaciones en búsqueda de imágenes

Conoce en profundidad el funcionamiento del modelo CLIP de OpenAI y cómo utilizarlo para construir sistemas de búsqueda de texto a imagen y clasificación zero-shot.

Introducción a la segmentación semántica - Arquitecturas U-Net y DeepLab

Explicación detallada de las arquitecturas centrales de segmentación semántica, desde el trabajo pionero de FCN hasta la estructura codificador-decodificador de U-Net y la convolución dilatada de DeepLab, incluyendo preparación de datos y despliegue.

Comparación de herramientas de anotación de imágenes - Cómo elegir entre CVAT, Label Studio y Roboflow

Comparación exhaustiva de herramientas de anotación de imágenes para aprendizaje automático. Cubre funcionalidades, costos y capacidades de asistencia IA de CVAT, Label Studio, Roboflow y más.

Términos relacionados