Bancos de imágenes para IA

Rubén Rodríguez Abril

Con este artículo comenzamos nuestra serie dedicada a la Visión Artificial (Computer Vision), que es el conjunto de técnicas de Inteligencia Artificial destinadas a procesar, interpretar o incluso componer imágenes. En este artículo veremos muy brevemente las principales técnicas que integran la Visión Artificial y los bancos de imágenes específicos para cada una de estas tareas. A lo largo de la nos extenderemos en cada una de ellas.

Bancos de imágenes en Visión Artificial

Los paradigmas sobre los que se basan nuestros sistemas actuales de reconocimiento visual mediante Aprendizaje Profundo se desarrollaron en los años 70 y 80. Pero estos sistemas no desplegaron su potencial con toda su plenitud hasta aproximadamente el año 2010. Las principales causas de este retraso fueron la relativa escasez de poder computacional de los procesadores a mediados de los años 90 y la ausencia de bancos de imágenes con los que entrenar las redes. El primer problema se resolvió a partir del año 2006, con la implementación de modelos de redes neuronales en GPUs, cuyas unidades artimético-lógicas son más potentes que las de las CPUs. El segundo problema fue solventado con la creación de grandes bases de datos con miles de imágenes.

Origen de las imágenes

Los bancos de imágenes suelen ser confeccionados por universidades, centros de investigación o empresas privadas, sirviéndose para ello de voluntarios o personal pagado. Las bases de datos más conocidas a menudo son gratuitas y pueden ser descargadas libremente de un repositorio remoto.

Las principales bibliotecas de uso en Aprendizaje Profundo, como Keras, TensorFlow y PyTorch, contienen objetos y métodos que permiten la descarga automática de bases de datos con imágenes, sin necesidad de que el programador conozca directamente el URL del repositorio.

En este artículo expondremos algunos de estos bancos de imágenes en función de la tarea en particular para los que son solicitados.

Bancos de imágenes para Clasificación visual

Históricamente, una de las primeras tareas asignadas a los sistemas de Aprendizaje Profundo fue la clasificación visual, en la que la red neuronal debe clasificar o etiquetar una imagen en una de entre varias categorías posibles. Ésta era originariamente la misión del Perceptrón de Rosenblatt.

En la actualidad esta tarea se realiza por redes neuronales compuestas de una sección convolucional, integrada por capas alternas de convolución y descenso de resolución, y otra sección clasificadora, compuesta de varias capas densamente conectadas. La última de estas capas, correspondiente a la salida, suele estar dotada de una función de activación softmax y una función de pérdida consistente en la entropía cruzada. A lo largo de esta serie explicaremos con más profundidad estos detalles.

MNIST

Banco de imágenes MNIST para clasificación de dígitos.

La base de datos MNIST («Modified National Institute of Standards and Technology database«) fue creada por Yann LeCun y su equipo con el propósito de entrenar a su red LeNet-5.

Se compone de 70.000 imágenes de dígitos manuscritos en escala de grises, con una resolución de 28×28 píxeles. 60.000 son imágenes de entrenamiento y 10.000, imágenes de comprobación. Cada una de las imágenes viene acompañada por una etiqueta numérica que señala a qué dígito corresponde. Es una base de datos frecuentemente utilizada por los estudiantes que se inician en el Aprendizaje Profundo, toda vez que LeNet-5 tiene una estructura interna bastante simple y sólo requiere el entrenamiento de algunas decenas de miles de parámetros.

CIFAR-10

Banco de imágenes CIFAR-10 para clasificación de imágenes.

Las categorías de imágenes de CIFAR-10 son aviones, automóviles, pájaros, gatos, ciervos, perros, ranas, caballos, barcos y camiones.

CIFAR-10 (“Canadian Institute For Advanced Research”) se compone de 60.000 imágenes a color de una resolución de 32×32 píxeles cada una. Fueron seleccionadas por el equipo de Alex Krizhevsky, Vinod Nair y Geoffrey Hinton a partir de 80 Million Tiny Images, una base de datos creada por el MIT y compuesta de 80 millones de imágenes extraídas de la web de un modo automatizado. Tras la selección, CIFAR pagó a estudiantes para que las etiquetasen manualmente una por una. 

De las 60.000 imágenes, 50.000 son de entrenamiento y otras 10.000 de comprobación. Todas ellas se clasifican en diez categorías, con 6.000 imágenes por cada categoría. Una variante de esta base de datos, CIFAR-100, contiene las mismas imágenes, sólo que categorizadas en 100 clases diferentes, con 600 elementos por clase.

ImageNet

ImageNet es una base de datos creada por iniciativa de la profesora de la Universidad de Stanford Fei-Fei Li con el objetivo de ampliar el potencial de los sistemas de clasificación visual, que a principios de los años 2000 se limitaban al reconocimiento de dígitos manuscritos. La base de datos se presentó en 2009, y en la actualidad cuenta con más de 14 millones de imágenes estructuradas en unas 20.000 categorías.

Banco de imágenes ImageNet para clasificación de imágenes.

La base de datos ImageNet ha servido para proporcionar datos de entrenamiento a proyectos de aprendizaje profundo de gran envergadura a lo largo de la última década, como AlexNet o GoogLeNet, a los que dedicaremos artículos específicos en esta serie.

Detección de objetos

A menudo, los objetos no sólo deben ser clasificados, sino también localizados dentro de un contexto más amplio, mediante el uso de cuadros delimitadores (bounding boxes). Los datos de salida de la red neuronal vienen constituidos por coordenadas de rectángulos, cuya superficie cubre en el objeto de que se trate. Uno de los ejemplos más conocidos para el público en general es el sistema empleado por Facebook para el etiquetado de sus imágenes, en el cual los rostros de las fotografías se encierran en cuadros a etiquetar por el usuario.

Open Images

Banco de imágenes Open Images

Esta imagen de Open Images contiene cuadros que encierran flores (en amarillo) y arbustos (en rojo).

Open Images contiene un total de 16 millones de cuadros delimitadores distribuidos en 1,9 millones de imágenes y que corresponden a 600 clases de objetos. Los cuadros han sido dibujados manualmente por operarios pagados. Las imágenes son diversas y contienen escenas complejas con unos 8,3 cuadros de media por cada una de ellas. 

Frecuentemente estas escenas contienen etiquetas que relacionan unos objetos otros (“cerveza en una mesa”), describen propiedades del objeto (“mesa azul”) o acciones humanas (“mujer saltando”).

MS COCO

La base de datos MS COCO se compone de 328.000 imágenes. La mitad de ellas son datos de entrenamiento, y las dos cuartas partes restantes son datos de validación y comprobación respectivamente. Se trata de fotos de 91 objetos fácilmente reconocibles por un niño de 4 años, con 2,5 millones de etiquetas distribuidas entre todas ellas.

Banco de imágenes MS COCO

Aunque originariamente se trataba de una base de datos orientada primordialmente a la detección de objetos, en la actualidad es posible utilizar parte de sus imágenes para otras tareas como la clasificación en categorías o la segmentación de instancia.

Esta base de datos estuvo organizando anualmente un concurso (COCO Challenge) hasta el año 2020. En el año 2021 no se organizó ninguna edición del mismo, y sus gestores recomendaron participar en otro concurso, LVIS 2021 Challenge, perteneciente a otra base de datos, LVIS (Large Vocabulary Instance Segmentation), dedicada a la segmentación de instancia.

Bancos de imágenes para Segmentación semántica

La segmentación semántica es aquel procedimiento en cuya virtud se asigna a cada píxel de una imagen de entrada a una categoría semántica diferente. La clasificación no tiene lugar por tanto a nivel de imagen, sino a nivel de píxel. El resultado es un mapa de segmentación, en el que cada punto de la imagen se colorea según el tipo de objeto al que pertenezca. Así, los píxeles pertenecientes a árboles pueden colorearse de verde, los pertenecientes al asfalto de gris, y a los de los edificios de color marrón.

Por lo general, las arquitecturas de estos sistemas suelen suelen mezclar información semántica y geométrica de diferentes niveles. Y en la capa final, a cada píxel se le signa un clasificador dotado de función softmax y función de pérdida entropía cruzada. Cuando la red es capaz de distinguir objetos individuales de un mismo tipo se dice que estamos ante un sistema de segmentación de instancia (si se permite el solapamiento de objetos) o segmentación panóptica (si dicho solapamiento no se permite, y cada píxel sólo puede ser asignado a un objeto).

Cityscapes

Banco de imágenes Cityscapes

En la imagen de arriba, un mapa de segmentación hecho píxel a píxel se superpone a una foto del casco histórico de la ciudad de Münster. En la imagen de abajo las regiones del mapa de segmentación han sido descritas poligonalmente. Ambos gráficos pertenecen a la base de datos de Cityscapes.

Cityscapes es un banco de imágenes especializado en segmentación semántica, elaborado por investigadores con base en Alemania a instancias del Instituto Max Planck, Daimler AG y la Universidad de Darmstadt. Se trata de paisajes urbanos pertenecientes a 50 ciudades diferentes de Alemania. Las fotos se tomaron en horario diurno durante varios meses y en buenas condiciones climáticas. 

Los mapas de segmentación de la base de datos clasifican a las diferentes regiones de cada imagen en 30 categorías semánticas diferentes como carreteras, peatones, vegetación, ciclistas, autobuses o camiones. 

En 5.000 de estas imágenes la segmentación se ha hecho de modo fino, píxel a píxel, mientras que en otras 20.000 las regiones de la imagen se han trazado poligonalmente.

Otras tareas

Entre otras tareas propias del reconocimiento visual (y que poseen secciones específicas en bancos de imágenes como MS COCO y Open Images) podemos citar la predicción de profundidad (depth prediction), el reconocimiento en video (video action recognition), el reconocimiento recurrente de una misma persona (Person Re-ID), la detección de puntos clave (keypoint segmentation) o la estimación de pose (pose estimation). Algunas de ellas serán analizadas en artículos específicos de esta misma serie.

Conclusión

Decía la comisaria europea Neelie Kroes que los datos eran el combustible de la Cuarta Revolución Industrial. Dicha afirmación es, sin duda alguna, plenamente certera en el ámbito de la visión artificial, en la que han proliferado decenas de bases de datos dedicadas a las más heterogéneas tareas. En este artículo hemos pretendido ofrecer un panorama general sobre el tema y presentar los bancos de imágenes más conocidos. Recomendamos al lector interesado que pretenda profundizar en el tema la consulta la página web de los proyectos PyTorch y TensorFlow, en los que existe un listado con los bancos de imágenes que se pueden descargar por medio de dichas bibliotecas

Lecturas recomendadas

LLMs

DALL-E

Imagen destacada de GoogLeNet
Deep Learning

GoogLeNet