Detectar defectos en productos de alimentación, control de calidad con Deep Learning

¿Qué puede aportar la Inteligencia Artificial al sector alimentario? La visión artificial para el control de productos con variabilidad natural ha dejado de ser un problema. Ya no hay límites en la automatización de la industria alimentaria.


Si hay un sector que hasta el momento ha tenido problemas para automatizar sus procesos de control de calidad, éste es claramente el sector alimentario. El cuello de botella ha sido claramente la visión artificial que, hasta la aparición del Deep Learning, ha sido incapaz de funcionar de forma fiable para los productos cambiantes y variables del sector.


Sin Inteligencia Artificial, aplicar visión a productos alimentarios ha sido una auténtica pesadilla para los ingenieros de automatización y mantenimiento. Con los algoritmos clásicos de visión, los ingenieros de automatización intentaban encontrar patrones en las imágenes para medir distancias, contar elementos o encontrar defectos. El problema es que los productos de este sector tienen variabilidad natural y su apariencia cambia demasiado. Por ejemplo, si pensamos en una manzana, aunque a todos nos venga a la mente la imagen del logo de Apple, la realidad es que no existe una manzana igual y puede tener infinidad de formas.


¿Qué puede aportar la Inteligencia Artificial? El Deep Learning cambia completamente la forma de funcionar de la visión artificial. Con esta tecnología ya no es necesario determinar patrones, sino que dejas que el algoritmo los aprenda solo. La diferencia principal es que un ingeniero puede definir un número limitado de patrones, mientras que con Deep Learning, los sistemas aprenden miles de combinaciones posibles, resultando en sistemas que pueden analizar imágenes de la misma forma como lo hacemos los humanos.


Algunos habrán oído la frase de: El Deep Learning es una caja negra, no se puede controlar. Pero ¿Es cierto? ¿Es posible controlar estos sistemas para que funcionen exactamente como queremos? La respuesta es muy clara: ¡SI, por supuesto que es posible! Si los coches de Tesla utilizan esta tecnología para controlar un vehículo, está claro que es posible utilizarla de forma controlada en la industria. No obstante, es necesario definir redes neuronales que realicen tareas muy concretas y bien definidas.


Como ejemplo, vamos a intentar aplicar Deep Learning a un caso práctico del sector alimentario. Supongamos que queremos hacer control de calidad de galletas de chocolate que avanzan sobre una cinta transportadora como la de la imagen siguiente:



Imaginemos que el control de calidad debe encontrar todas las galletas encima de la cinta y asegurar que todas tienen un número mínimo de pepitas de chocolate visibles (por ejemplo 7). Realizar esta inspección con visión tradicional es muy complejo, debido a que el producto es muy variable. En cambio, con Deep Learning podemos crear un sistema inteligente capaz de encontrar y inspeccionar todas las galletas de forma individual. Además, podemos definir claramente qué queremos que aprenda el sistema y tener un control absoluto sobre la red neuronal creada.


El sistema propuesto consta de múltiples pasos que se van a realizar de forma secuencial:


  1. Localización: En primer lugar, crearemos una red neuronal que aprenderá a distinguir las galletas sobre la cinta. Obviamente, si queremos descartar las galletas incorrectas, primero debemos ser capaces de reconocerlas encima de la cinta transportadora.

  2. Detección: Una vez hemos encontrado todas las galletas en la imagen, haremos un análisis individual de cada una. Para ello, crearemos una segunda red neuronal, que las inspeccionará todas por separado con alta resolución. El output de esta red nos indicará los píxeles de la imagen que contienen chocolate.

  3. Análisis: Finalmente, con un procesado sencillo, podemos contar el número total de pepitas de chocolate de cada galleta y descartar aquellas incorrectas. Este paso no utiliza Deep Learning, es simplemente programación simple para definir los umbrales y la visualización.

El resultado de este sistema se puede ver en el siguiente vídeo. Hay que destacar que el sistema es extremadamente eficiente computacionalmente. Una de las ventajas de utilizar Deep Learning es que se puede optimizar mucho la computación de las redes neuronales, paralelizando todas las operaciones y reduciendo el tiempo de ejecución. ¡En este caso, el sistema estaría funcionando a más de 4000 galletas por minuto!



Te animamos a dejar tu opinión o preguntas sobre Deep Learning en los comentarios.


10 vistas0 comentarios