Artículo de Maite Gilarranz, co-fundadora de PiperLab, y Javier Di Deco, co-fundador y data scientist en PiperLab.
Una de las áreas donde la evolución de la aplicación de inteligencia artificial está siendo más relevante es el reconocimiento de imágenes, comúnmente llamado Clasificación de imágenes con IA.
Para el reconocimiento y clasificación de imágenes u objetos que aparezcan en dichas imágenes, se suelen emplear técnicas de «Deep Learning«, que es una de las ramas del «Machine Learning» que está más en boga últimamente.
Gracias al desarrollo de estas nuevas técnicas, tenemos a nuestra disposición sistemas más precisos que el ojo humano en estas tareas de clasificación e interpretación automática de imágenes.
Según un reciente estudio de O’Really sobre el mercado de la IA, la clasificación de imágenes con IA es una de las áreas donde más se está invirtiendo:
Los modelos de Deep Learning están en cierto modo inspirados en el funcionamiento del cerebro, cuyos elementos principales son las neuronas. Rosenblatt creó en 1958 el primer modelo simple de neurona y lo bautizó como perceptrón. Conectando varias de esos elementos, se empezaron a crear las primeras redes neuronales artificiales y se empezaron a aplicar con éxito a ciertas tareas sencillas y poco a poco haciendo algunas redes más complejas. No obstante, tras unos años, este campo sufrió una crisis o estancamiento a nivel práctico debido a las limitaciones de capacidad de cómputo y disponibilidad de grandes volúmenes de datos.
Aproximadamente a partir de 2010 la situación empezó a cambiar de la mano del uso de GPUs (Unidades de Procesamiento Gráfico) para acelerar significativamente la velocidad de los cálculos requeridos para entrenar una red neuronal artificial, así como de la cada vez mayor disponibilidad de datos (en 2011 se liberó el software de Hadoop, que fue el pistoletazo de salida que posiblitó el uso extendido del Big Data).
Estos avances permitieron construir y entrenar redes neuronales con arquitecturas mucho más grandes y complejas que antes, que son capaces de aprender de conjuntos de datos enormes y alcanzar niveles de acierto inimaginables anteriormente. Esto es lo que conocemos como Deep Learning.
Los algoritmos más usados para la clasificación de imágenes con IA
Existen numerosas técnicas y algoritmos, en particular algunas de las más usadas en el ámbito del procesamiento de imágenes son:
- YOLO (You Only Look Once). Es un algoritmo ampliamente usado para problemas de detección de objetos dentro de imágenes con un entrenamiento y, principalmente, método de evaluación muy rápidos. Esto permite que sea usado en distintas aplicaciones, como coches automáticos, robotización de plantas industriales o identificación y tracking de objetos (por ejemplo, en supermercados). Se compone de 137 capas convolucionales preentrenadas y existen herramientas de código abierto que nos permiten adaptar el entrenamiento de las últimas 25 capas para detectar los objetos que se desee en una aplicación concreta.
- EfficientNet: es un tipo de red neuronal convolucional con una arquitectura que produce especialmente buenos resultados al analizar imágenes. Tiene menos parámetros que ajustar y es menos costosa de entrenar que otras redes similares, aunque, al mismo tiempo, tiene la flexibilidad para añadir más capas a la red y construir modelos más complejos. Una aplicación habitual es la de clasificar imágenes, por ejemplo para decidir si aparece un gato o no en la foto, o si una «nube» de puntos dibujada a partir de mediciones de una red de alta tensión tiene la forma asociada a un defecto concreto del aislamiento de los cables.
- Deeplab: Es un algoritmo que emplea un tipo particular de convolución a la hora de construir la red neuronal que entrena, que funciona muy bien para segmentar imágenes. Es decir, determinar qué zonas, con las formas tan retorcidas como se desee, tienen «algo en común». Entre sus posibles aplicaciones están la detección de siluetas, como pueden ser personas o señales en un coche autónomo, o la segmentación de tumores en imágenes médicas.
Sectores como el retail (composición y optimización de lineales, comportamiento y experiencia de compra), turismo, logística (movimientos y seguridad dentro de almacenes), movilidad (detección de matrículas, tipologías de vehículos), energía (mantenimiento y monitorización de las redes) y, por supuesto, el sector salud (diagnóstico de enfermedades, segmentación automática de imágenes) son algunos ejemplos donde la aplicación de estas técnicas de reconocimiento de imágenes son una realidad que ha supuesto grandes avances y mejoras a su operativa diaria.