VisualINSPEC: Sistema para el escandallo automático de productos agroalimentarios.

VisualINSPEC, proyecto seleccionado como candidato a los Premios Cátedra Telefónica 2020 de la Universidad de Extremadura (UEx), tiene como objetivo la creación de un sistema para el escandallo automático de aceitunas verdes de mesa.

Según la RAE, escandallar es «apreciar el valor del conjunto de una mercancía por el valor de unas muestras«.

Durante la recepción de una partida de frutos procedente de un agricultor se selecciona una   muestra   representativa   de   la   que   se   realiza   una   inspección de valoración, el escandallo, para fijar la calidad de la misma.

En este proyecto queremos centrarnos en el escandallo de aceitunas verdes de mesa, un sector con un impacto económico muy importante dentro de nuestra región.

Para la aceituna verde de mesa, este proceso (Figura 1) se ha realizado tradicionalmente de forma manual por personal especializado y compete dos fases:

1.- Inspección visual para el conteo y cálculo de porcentajes de defectos (molestado o rehú) y de morado.

2.- Conteo del número de aceitunas que entran en un kilogramo para estimar el calibre medio de las aceitunas.

Figura 1: Escandallo manual de aceitunas de mesa verdes.

Este proyecto pretende la automatización de este proceso a partir de técnicas de visión artificial y de detección de objetos en imágenes. Para lograrlo, se abordarán las siguientes tareas fundamentales:

1.- Creación de una base de datos de imágenes de aceitunas en la que todas las aceitunas deben ser correctamente identificadas a través de su correspondiente “máscara” y asociadas a cada una de las categorías de interés (ground truth).

2.- Entrenamiento del algoritmo de detección de objetos sobre las imágenes de la base de datos. Utilizaremos Mask – RCNN por su precisión y velocidad a la hora de detectar y localizar objetos dentro de una imagen. Este algoritmo además de ofrecernos un bounding box con la localización del objeto nos ofrece una máscara que recoge los pixeles que pertenecen a cada uno de los objetos. Es lo que se denomina “segmentación semántica”. Estos algoritmos deben ser entrenados en clústeres de CPUs o GPUs por el elevado coste computacional del proceso.

3.- El clasificador final, de mucho menor coste computacional, se ejecutará en un miniordenador tipo Raspberry Pi.

Esta secuencia de actividades podrá repetirse para mejorar la precisión en el proceso automático de escandallo previa alimentación de la base de datos con aquellas imágenes y objetos en las que el clasificador ha obtenido malos resultados (bootstrapping).

4.- Por último, crearemos con Node-RED el entorno web que permitirá el control del sistema y la obtención de los informes de los productos de manera remota.

Actualmente, se está trabajando en la creación de la base de datos de imágenes de aceitunas. Para ello se tomaron numerosas fotografías de aceitunas contenidas en un recipiente blanco durante la época de campaña (septiembre-octubre) del presente año.

El problema en una aplicación de estas características no es la toma de dichas imágenes sino la identificación, a través de sus máscaras, de todos los objetos que se quieren localizar dentro de cada una de las imágenes tomadas. Para realizar este proceso hemos utilizado la aplicación online VGG Image Annotator (VIA) (https://www.robots.ox.ac.uk/~vgg/software/via/via-2.0.10.html). Este proceso manual es bastante tedioso y puede ocupar de una a dos horas por imagen. Además de seleccionar las máscaras para cada uno de los objetos, tenemos que asociar cada objeto a una de las categorías y subcategorías definidas. Por ejemplo, la primera categoría sería “aceituna” y a ella pertenecerían todos los objetos seleccionados. Tendríamos una subcategoría en función del estado de maduración de la aceituna que sería “verde”, “cambiante” y “morada” y podríamos definir más subcategorías en función, por ejemplo, de la calidad del producto “buena”, “molestada”, “granizada”, “picada”, etc.

Debido a que el proceso anterior consume bastante tiempo y que para entrenar bien el algoritmo sería bueno tener un conjunto muy amplio de imágenes etiquetadas hemos procedido a generar un conjunto de 200 imágenes sintéticas. Para ello hemos seleccionado un conjunto de objetos (aceitunas) individuales, y los hemos utilizado de forma aleatoria en número, posición y rotaciones para generar las imágenes. Debido a que conocemos las máscaras de los objetos individuales y las posiciones de los mismos dentro de cada imagen podemos fácilmente conocer las máscaras de las imágenes completas.

En la Figura 2 podemos observar ejemplos de imágenes reales con las máscaras de los objetos seleccionados y en la Figura 3 podemos observar algunos ejemplos de imágenes sintéticas.

Una vez finalizado este proceso de selección de imágenes procederemos a la definición del modelo neuronal y sus correspondientes parámetros y al entrenamiento del mismo.

Figura 2: Imágenes con su correspondiente “ground truth”

Figura 3: Algunos ejemplos de las 200 imágenes sintéticas generadas

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.