Tiempo de lectura: 5 minutos

Hoy entrevistamos a Xavier Poch, ingeniero de desarrollo de software de INFAIMON y responsable de la nueva solución InTelligence para el procesado de imágenes mediante Deep Learning. El software InTelligence permite solucionar todas aquellas aplicaciones que siempre se han resistido a la visión artificial convencional.

deep learning

INF – Buenos días, Xavier. La primera pregunta es casi obligada: ¿puedes explicarnos brevemente qué es el aprendizaje profundo o Deep Learning y cómo funciona?

XP – Cuando hablamos de Deep Learning nos referimos al aprendizaje de unas características mediante un clasificador basado en capas de redes neuronales que se encarga de definir qué características son las más adecuadas. Esto se consigue mediante el proceso de entrenamiento, en el cuál se le enseñan a la red un conjunto de imágenes correctas e incorrectas, y la propia red es capaz de decidir en qué aspectos basará su decisión. En pocas palabras: el aprendizaje profundo permite resolver tareas específicas sin una programación previa.

INF – ¿Qué son las capas de redes neuronales en Inteligencia Artificial?

XP – Es un sistema informático modelado a partir de la interconexión de muchas neuronas artificiales, de forma que las salidas de un grupo de ellas serán usadas como entradas de otras. Cada capa tiene una serie de operaciones que se van multiplicando de manera que el volumen total de características a combinar crece exponencialmente. Estas redes neuronales intentan emular cómo trabaja el cerebro humano, en dónde no solo características morfológicas, de textura y color son aplicables, sino también el resultado de relacionar dichas opciones entre ellas y con el entorno. Por ejemplo, escogemos un objeto con una textura rugosa con otro elemento que es de color verde, y entonces sabemos de qué objeto se trata. Durante el entrenamiento, los pesos y los umbrales se ajustan continuamente hasta que los datos de entrenamiento con las mismas etiquetas produzcan sistemáticamente resultados similares.

INF – ¿Y cuáles son las ventajas principales del procesamiento de imágenes con Deep Learning?

XP – La principal ventaja se basa en no necesitar desarrollar complejos algoritmos de visión para una única tarea específica y concreta, y con la peligrosidad de que, ante cualquier pequeño cambio en esa tarea, sea necesario reconfigurar todo el algoritmo. Por otra parte, al no depender tanto de la experiencia del programador en sí, aquellas aplicaciones que no se podían resolver con clasificadores más convencionales son ahora viables gracias al Deep Learning. Estamos hablando de aplicaciones con imágenes de bajo contraste donde antes no era posible visualizar defectos, que por otra parte pueden llegar a ser muy variables.

Tomemos, como ejemplo, un defecto en una píldora, desde una mancha negra hasta una rayada, o que le falte un trozo. Si este proceso lo tuviéramos que realizar manualmente con clasificadores convencionales, tendríamos muchas limitaciones y al final obviaríamos cualquier defecto que no estuviera contemplado inicialmente. Con Deep Learning, en función del número de capas de la red, es factible llegar a millones de características combinables

redes neuronales cerebro

INF – ¿Puedes darnos algunos ejemplos de aplicaciones de Deep Learning en la práctica?

XP – El Deep Learning es aplicable en cualquier proceso. En el campo de la vigilancia y supervisión, por ejemplo, se emplea en la detección de paquetes, equipos de protección invididual (EPI) como el uso de gafas de protección para los empleados, etc. También en el caso de aplicaciones al aire libre que son difíciles de gestionar por los cambios constantes de iluminación.

INF – Háblanos un poco del software InTelligence. ¿Cómo lo definirías en pocas palabras?

XP – InTelligence es un software con una interfaz simple y rápida que se puede entender sin tener ninguna experiencia en programación o vision artificial. Yo lo definiría en pocas palabras como una solución «todo en uno»: engloba desde la tarea más básica que sería la recogida de imágenes, algo que no todos los softwares del mercado proporcionan. También incluye el control de las cámaras, el etiquetado, el entrenamiento y la inferencia de resultados.

El etiquetado es esencial en cualquier aplicación de Deep Learning para definir entre imágenes buenas y malas, de modo que incluso podemos detectar objetos minúsculos dentro un ambiente muy caótico, algo así como encontrar una aguja en un pajar. Esto ya es posible con InTelligence, y además en segundos.

Respecto al entrenamiento, si es relativamente sencillo, es posible realizarlo con una CPU convencional, con lo que no es necesario trabajar con una GPU especial para Deep Learning. Finalmente, los resultados se muestran con un mapa de calor para identificar la zona más discordante. La parte con un defecto aparecería resaltada de otro color.

Software InTelligence con mapa de calor

INF – ¿Es realmente posible lograr el objetivo de cero defectos?

XP – Tener un 100% de aciertos es bastante difícil porque depende de las muestras y del etiquetado que se ha hecho. Aún así, el grado de acierto en Deep Learning suele estar entre un 95 – 99%, lo que implica un mínimo de falso rechazo.

Sin embargo, no podemos esperar que con un par de imágenes buenas y dos malas podamos abarcar una gran amplitud de defectos. A veces, para que una red neuronal funcione correctamente necesitamos miles de imágenes. En cambio, la herramienta de detección de anomalías de InTelligence requiere solamente un mínimo de entre 50 y 100 imágenes para obtener buenos resultados, puesto que la red viene pre-entrenada con muchas más imágenes.

INF – InTelligence tiene mucho potencial para trabajar en un sistema de bin picking como InPicker, ¿verdad?

XP – Exactamente. Dentro de todas sus características, InTelligence permite realizar y exportar el etiquetado y el entrenamiento a InPicker, lo que facilita la segmentación de objetos muy cambiantes como manzanas, que pueden ser de varios colores, formas, etc. Con InTelligence podemos segmentarlas correctamente y exportar estos datos de posición a InPicker para llevar a cabo el proceso de picking.

InTelligence tiene un enorme potencial y muchas posibilidades de desarrollo en el futuro porque es una aplicación viva y en constante evolución por parte de nuestros programadores. Su flexibilidad nos permite adoptar nuevas funcionalidades según las demandas del mercado.

Xavier Poch, ingeniero de desarrollo de INFAIMON

INF – Muchas gracias por tu tiempo, Xavier. Nos has aclarado todas nuestras dudas sobre la aplicación de Deep Learning para el procesado de imágenes.

¿Aún tienes dudas? Contacta ya con nuestros especialistas en sistemas de visión para un asesoramiento personalizado.