Inteligencia Artificial aplicada al diagnóstico de mercaderías

In Blogfest, Consumer Products & Retail, Data & Applied AI, Logistics & Transportation by Baufest

En Baufest exploramos cómo la inteligencia artificial (IA) aplicada puede incrementar las habilidades humanas.

miércoles 2 - junio - 2021
Baufest
Inteligencia Artificial en Mercadería

Para eso, no apelamos solo a la teoría, sino que avanzamos sobre la base de casos concretos. Recientemente, por ejemplo, llevamos adelante una prueba de concepto sobre clasificación del estado de maduración y enfermedad en frutas mediante IA. Fue una prueba muy rápida para una compañía de seguros: la idea era que, a partir de la clasificación de imágenes, se lograra reconocer el nivel de daño en cargamentos de frutas considerando dos dimensiones diferentes: el estado de madurez y la eventual presencia de daños mecánicos o enfermedades.  

Este caso surgió ante la necesidad de la mencionada compañía, que asegura cargas de transporte internacional. Cuando se le presenta un reclamo, esta empresa necesita ver el daño que se produjo para tratar de evaluar si lo tiene que resarcir o no, y el monto en cuestión.

Así las cosas, el foco de la aplicación de IA en este caso tiene que ver con el diagnóstico del estado de las frutas. Ahora bien: en realidad todos los sistemas de inteligencia artificial están basados en datos (de los cuales el modelo aprende a reconocer patrones), y justamente el hecho de conseguirlos, elaborarlos y manejarlos constituye la mayor carga de trabajo, ya que hay que limpiar los datos (eliminar datos espurios, quedarnos con aquéllos que sean representativos para el problema a solucionar), etiquetarlos, escalarlos y hacer que los datos de entrenamiento sean semejantes a los que se usarán en producción, entre otras tareas. Luego, hay un ciclo en el que se entrenan los algoritmos con modelos de machine learning.  

Lo que se espera es que estos algoritmos tengan un nivel de exactitud cercano al de un experto. Con esta prueba de concepto, el equipo de Baufest comenzó con más de un 80% de fiabilidad. Lógicamente, con un proyecto dedicado, con más tiempo y un mayor volumen de información, podríamos mejorar ese porcentaje.

Reporte automatizado

En esta oportunidad el requerimiento del negocio era la automatización de reportes de daño en frutas con el objetivo de poder determinar el porcentaje de daño y la causa. Para resolver este requerimiento, planteamos una arquitectura de solución simple, hecha en lenguaje Python, que nos permitiera tomar de entrada fotos de inspecciones reales de bananas en transportes de frutas.

Con esas fotos construimos dos modelos de inteligencia artificial: uno de clasificación del estado de maduración, y otro de clasificación de los daños propiamente dichos. Con los resultados que entregaron estos dos modelos, combinados con información más genérica, construimos este reporte automatizado que se puede exportar en formato tipo Excel y pdf.   

Los datos y el modelo  

El conjunto original de datos con el que se iba a entrenar el modelo de maduración para que aprendiese a reconocer las distintas categorías o estados de las bananas constaba de 273 imágenes tomadas de manera uniforme. Luego ampliamos ese conjunto de datos con técnicas de data augmentation: concretamente, para cada una de estas imágenes generamos un nuevo conjunto de tomas realizándoles ciertos procesos como zoom, recortes, rotaciones, inversiones verticales y horizontales. Esto agregó mayor variabilidad y nos permitió tener un conjunto final de más de 3 mil imágenes, que dividimos en 4 categorías según el grado de maduración (verde, amarillo, medio maduro y sobre maduro).

Una vez que tuvimos estos datos hubo que elegir un modelo a entrenar. Para crearlo optamos por una herramienta de Google llamada Google Teachable Machine, porque en esta primera instancia de la prueba de concepto queríamos tener algo funcional, lo más rápido posible y sin escribir líneas de código.

Una vez que subimos todas las imágenes, pasamos a la instancia de preparación del modelo. Y lo cierto es que el tiempo de entrenamiento fue inferior a 2 minutos y medio, y nos dio una precisión muy alta: en el conjunto de entrenamiento fue de 99%, y en el de validación de 93%. Es decir que, en muy poco tiempo, pudimos tener un modelo que reconoce categorías de daños y de maduración en bananas con una precisión considerable.

Tecnologías habilitadoras

En esta prueba de concepto pudimos generar un reporte bastante completo donde se puede determinar la cantidad de fruta que se pierde por una maduración avanzada o por algún tipo de daño. Esto se logró en un lapso de 7 a 10 días. En ese período se consiguió obtener el conjunto de datos, hacer la ampliación con data augmentation, entrenar el modelo, descargarlo, construir el reporte y generarlo.

Esta experiencia nos demuestra que podemos generar un producto funcional en un tiempo corto y con una precisión considerablemente elevada, teniendo en cuenta el conjunto reducido de datos que manejamos, y el escaso tiempo.

La conclusión es que, con poca inversión, se puede ver la factibilidad de este tipo de proyectos de inteligencia artificial de modo veloz: si se pueden hacer, hasta dónde, si resultan viables para el negocio y si ofrecen el valor que se espera.

En Baufest vemos a la inteligencia artificial como un habilitador de soluciones tecnológicas. El objetivo último no es la creación de modelos en sí, sino generar aplicaciones que utilicen los modelos para resolver problemas. Estos proyectos todavía requieren de inversiones importantes, con lo cual hay que asegurarse de aplicarlos en algo que resulte central para las empresas, y que realmente les agregue valor.