Aplicaciones de la visión artificial en metrologı́a y la industria agroalimentaria Ángel Dacal Nieto1,2 Tutora: Dra. Pilar Carrión Pardo2 1 Laboratorio Oficial de Metroloxı́a de Galicia (LOMG) [email protected] 2 Laboratorio de Informática Aplicada (LIA) Departamento de Informática Universidade de Vigo [email protected] Abstract. En esta memoria se presentan cuatro proyectos que aplican técnicas de visión artificial para el control de calidad en productos agroalimentarios y aplicaciones en metrologı́a. Se ha seguido una metodologı́a clásica en visión por computador, basada en la adquisición de imágenes, preprocesado y segmentación, extracción de caracterı́sticas y clasificación. Los resultados muestran que existen multitud de desafı́os por resolver en esta tecnologı́a, especialmente en lo relativo a visión hiperespectral. 1 Introducción Memoria para la obtención del “Diploma de Estudios Avanzados” por el Departamento de Informática de la Universidade de Vigo en el programa de doctorado “Tecnologı́as Avanzadas para el desarrollo de Software Inteligente” (bienio 2007/2009). Lı́nea de investigación: Visión. Alumno: Ángel Dacal Nieto. Tutora: Dra. Pilar Carrión Pardo. La visión artificial se ha convertido en una tecnologı́a esencial para la automatización de múltiples procesos industriales. Por ello, en los últimos años muchos han sido los grupos de investigación universitarios y centros tecnológicos que han apostado por esta área de conocimiento como lı́nea de investigación, con el objetivo de transferir sus resultados a los sectores interesados en el menor lapso de tiempo posible. Esta tecnologı́a ha hecho evolucionar especialmente a industrias tradicionalmente deficitarias de automatización, como por ejemplo la industria agroalimentaria. Desde este punto de vista, la visión artificial ha ayudado a solucionar tareas desempeñadas históricamente por el ser humano, realizándolas de un modo más rápido, eficiente y controlado. Ası́, podemos decir que la visión artificial ha colaborado al acercamiento de la industria agroalimentaria al nivel de calidad de otras industrias como la automovilı́stica, la naval o la aeronáutica ([10][11]). 2 El Laboratorio Oficial de Metroloxı́a de Galicia (LOMG) es un centro tecnológico público dependiente de la Consellerı́a de Economı́a e Industria de la Xunta de Galicia, que tradicionalmente se ha dedicado a ofrecer servicios de metrologı́a y calibración al tejido industrial gallego. Es estos últimos 3 años este centro ha emprendido un ambicioso programa de proyectos de I+D+i enfocados, principalmente, a dos áreas de conocimiento: las micro y nano tecnologı́as y la visión artificial. Esta determinación surge, en el caso de la visión artificial, tras un concienzudo estudio del entorno, donde la industria agroalimentaria continúa siendo un pilar fundamental del tejido productivo, lo que la convierte en potencial consumidora de este tipo de servicios. Esta memoria presenta cuatro de los proyectos en los que ha intervenido el alumno durante los dos años del programa de doctorado indicado, que han coincidido tanto con la entrada de dicho alumno en el LOMG como con el despegue de su grupo de visión artificial. En estos proyectos, el alumno ha cubierto la totalidad del ciclo de vida de un proyecto: planificándolos, redactando memorias de solicitud de subvenciones y de justificación, realizando las búsquedas de clientes y socios, gestionando sus presupuestos, y principalmente ejecutándolos. En todo momento ha sido esencial la tutorización llevada a cabo por el Laboratorio de Informática Aplicada (LIA) del Departamento de Informática de la Universidade de Vigo. Tras este perı́odo, la experiencia obtenida ha incrementado indudablemente las capacidades para la realización de la profesión investigadora, que es actualmente y será en el futuro la actividad profesional del alumno. La memoria se estructura del siguiente modo: tras un primer punto de introducción, seguirá la sección 2, dedicada a una breve explicación de la metodologı́a utilizada. En la sección 3 se presentarán los proyectos motivo de la memoria, para posteriormente explicar las tareas realizadas por el alumno de manera más concisa en la sección 4, según la metodologı́a descrita en el punto 2. Finalmente se extraerán unas breves conclusiones en la sección 5. 2 Metodologı́a Existe una metodologı́a clásica en los sistemas de visión artificial, que parte de la adquisición de imágenes mediante algún tipo de sensor, el procesamiento de esas imágenes/datos y la obtención de un resultado, normalmente la clasificación en un determinado grupo. La idea de esta metodologı́a es independizar las fases entre sı́, de modo que se puedan usar diversas técnicas de procesado independientemente del sensor utilizado en la adquisición, o que se puedan utilizar diferentes clasificadores, independientemente de las caracterı́sticas extraı́das. En la siguiente tabla se muestra una posible división del sistema en tareas. Se puede observar la gran interdisciplinaridad de los sistemas de visión artificial, y que se necesita el dominio de un gran número de áreas de conocimiento para su desarrollo. 3 Fase Disciplinas involucradas Adquisición de imágenes (Imag- Óptica, Fı́sica, Robótica, Automatización, Iluminación ing) Preprocesado y Segmentación Procesamiento de Imagen y Señal Extracción de Caracterı́sticas Procesamiento de Imagen, Estadı́stica, Matemáticas, Pattern Recognition Clasificación Inteligencia Artificial, Machine Learning, Pattern Recognition Aunque el término “visión artificial” es el más extendido entre los hispanoparlantes, la traducción más acertada del término inglés “computer vision” es posiblemente “visión por computador”. Conviene distinguir entre “computer vision”, que son aquellos sistemas de visión artificial más orientados a la investigación, y “machine vision”, más orientados a la aplicación directa en la industria. 3 Proyectos A continuación se presentarán algunos de los proyectos en los que el alumno ha desempeñado su actividad investigadora durante el programa de doctorado (Figura 1). 3.1 LEAME El primer proyecto del que hablaremos es el denominado “LEAME: Sistema de lecturas automático para aplicaciones en metrologı́a mediante visión por computador”, que nació con el propósito de automatizar procesos internos del LOMG, concretamente la tarea de calibración de termómetros y termohigrómetros en su Departamento de Temperatura y Humedad Relativa. Su objetivo era la creación de un OCR de dı́gitos de displays independiente de la fuente tipográfica de los mismos. Ası́, se hizo posible la automatización de una tarea tediosa y totalmente dependiente del ser humano, como era anotar periódicamente las medidas de un aparato de medida. Fruto de este proyecto se han realizado varias publicaciones en congresos ([9][8][6][4]) y una publicación en revista ([1]). 3.2 VISIOCAL El segundo proyecto es el denominado “VISIOCAL: Sistema para el control de calidad en la industria de la patata mediante visin artificial”. Su objetivo es desarrollar un método para el control de calidad en esta industria tan deficitaria de automatización y tan dependiente aún de mano de obra para la mayorı́a de sus tareas. Para ello, se pretende inspeccionar la lı́nea de envasado mediante un sistema en el que una cámara capturará las patatas, para posteriormente emitir una valoración de calidad en función de las enfermedades y defectos presentes en 4 las patatas. Este proyecto se realiza en colaboración con el “Centro Tecnolóxico da Carne (CTC)” y la supervisión de dos empresas distribuidoras de la zona de Xinzo de Limia (Ourense). 3.3 VITICAL El tercer proyecto que nos ocupa es el denominado “VITICAL: Sistema para el control de calidad en la industria vitivinı́cola mediante visión artificial”, que, como el anterior, pretende automatizar el control de calidad, en este caso de uva destinada a la producción de vino. Su particularidad es que las imágenes se obtienen de contenedores al aire libre en lugar de una lı́nea de envasado. Esto provoca grandes dificultades de control de iluminación. Además, las medidas de calidad han de realizarse sobre todo el contenedor, en lugar de patata a patata. El proyecto se realiza para la “Cooperativa Vitivinı́cola del Ribeiro (Viña Costeira)”, en colaboración con el CTC. 3.4 Visión hiperespectral Por último, hablaremos de una parte del proyecto “Sistema para el control de calidad en la industria de la patata mediante visión artificial”, dedicada a la inspección de los tubérculos mediante visión hiperespectral, una tecnologı́a que ha despegado en los últimos tres años y que presentaremos en esta memoria. Se basa en trasladar la espectrografı́a tradicional a los sistemas de visión artificial, permitiendo ası́ su uso en entornos industriales. 4 Desarrollos A continuación se detallarán los avances realizados en los proyectos presentados según la metodologı́a presente en el punto 2. El nivel de detalle variará en función del interés de las investigaciones realizadas, estado de avance, y grado de involucración del alumno en los mismos. 4.1 Adquisición de imágenes A la hora de definir la parte de adquisición de imágenes de un sistema de visión artificial, son muchas las decisiones a tomar. Un buen diseño de esta fase evitará horas de procesamiento posterior, por lo que la retroalimentación es una buena práctica. Ası́, en los proyectos presentados han sido planificadas tandas dobles de adquisición, de modo que, tras un breve análisis de las imágenes obtenidas en la primera fase, si se detectan fallos o se advierten mejoras, se trata de mejorar el sistema y se adquiere un segundo conjunto de imágenes. A modo de resumen, algunos de los parámetros a vigilar en el sistema serán: sensor (CCD, CMOS, InGaAs...), espectro (VIS, VIS/NIR, NIR, termografı́a...), tamaño de sensor, campo de visión, objetivo, tipo de conexión (CL, USB, GE, FrameGrabber...), etc. Será de extrema importancia la iluminación, que puede generarse en distintos 5 Fig. 1. Esquina superior izquierda: dispositivos a inspeccionar en el proyecto de interpretación de displays. Esquina superior derecha: imagen adquirida para el proyecto de control de calidad en patatas. Esquina inferior izquierda: imagen adquirida para el proyecto de control de calidad en uvas. Esquina inferior derecha: imagen obtenida del sistema hiperespectral e imágenes de la interfaz de captura y análisis. medios (LED, halógena, fibra...), y terminar en múltiples formas (lı́nea, puntual, anular, foco...). Es frecuente, ası́ mismo, que sea necesaria la construcción de utillajes y soportes para el sistema, ası́ como la automatización de procesos, mediante la sincronización con lı́neas o motores. Por último, y a pesar de que las cámaras ofrecen sencillas aplicaciones de captura, es probable que sea necesario desarrollar aplicaciones propias para esta labor que cubran todos los puntos anteriores. LEAME En este proyecto se ha utilizado principalmente una cámara CMOS C-Cam Bci4-USB de 1280x1024, con conexión USB. La iluminación no ha sido problemática al ser el proceso a automatizar una tarea necesariamente en laboratorio y ser suficiente la iluminación propia de las salas. Sı́ ha sido necesario el diseño de un soporte (Figura 2) para el conjunto cámara-dispositivo. Además de la parte OCR del proyecto, ha sido necesario el desarrollo de una aplicación (Figura 3) para la automatización del proceso de captura y control de dispositivos externos (hornos, cámaras climáticas, termómetros...). En un primer 6 Fig. 2. Soporte y cámara utilizados en el proyecto para el reconocimiento de displays acercamiento se partió de una selección manual de la zona del display, si bien se ha trabajado posteriormente en una detección automática ([5]). Fig. 3. Interfaz usada para el recorte del display VISIOCAL Para el sistema de captura en el proyecto de control de calidad en patatas, el mayor desafı́o ha sido recrear las condiciones habituales de una fábrica de envasado. Esto ha sido conseguido mediante la construcción de una pequeña lı́nea piloto en las instalaciones del CTC, sobre las que las patatas se desplazan a 0.1 m/s a la vez que giran sobre sı́ mismas (lo cual permite observar toda su superficie, de modo que cada patata es capturada entre 8 y 9 veces). Sobre esta lı́nea (Figura 4) se ha montado un soporte con cámara (Jai BB-500GE, 5Mp, conexión GE) e iluminación (dos focos halógenos de 500W que cubren una zona de 50x40cm). La elección de una cámara matricial en lugar de una lineal está provocado por el hecho de que serı́a imposible reconstruir las patatas debido a que éstas giran mientras se desplazan por la lı́nea. De este modo, ha sido extremadamente importante reducir al máximo el tiempo de exposición de la cámara para evitar zonas borrosas. 7 Fig. 4. Montaje para la captura de imágenes en el proyecto para el control de calidad en patatas. VITICAL Para el sistema de captura en el proyecto de control de calidad en uvas, la mayor dificultad ha residido en las condiciones exteriores del entorno de captura. Al tratarse de un lugar al aire libre, la luz exterior cambia a lo largo del dı́a por la posición del sol, ya que los trabajos se realizan desde primera hora de la mañana hasta bien entrada la noche. Para intentar paliar esta influencia, se ha capturado una primera tanda de imágenes con dos focos halógenos de 1000W que cubren una enorme superficie de interés de 2x1.7m (Figura 5). Aun ası́, ha sido necesaria una corrección de la iluminación que se tratará en la sección 4.2. La cámara utilizada es, como en el anterior proyecto, una Jai BB-500GE de 5Mp. Los requerimientos de tiempo no son un problema, ya que el contenedor permanece entre uno y dos minutos en la báscula hasta que es retirado. Visión hiperespectral La visión hiperespectral es una tecnologı́a que pretende trasladar la espectrografı́a convencional a los sistemas de visión artificial. Se basa en el acoplamiento de un espectrógrafo a una cámara (aunque también existen dispositivos integrados), de modo que la luz que entra por el espectrógrafo es dividida en distintas longitudes de onda (Figura 6). Mediante este acoplamiento, el sensor de la cámara cambia su rol, y en lugar de capturar dos coordenadas espaciales (x,y), captura una espacial (x) y una en frecuencia (y). Ya que el espectrógrafo solamente captura una lı́nea, es necesario recorrer el objeto para poder obtener la tercera coordenada (z) y reconstruir la imagen. Esto se puede realizar mediante tres sistemas: moviendo el espectrógrafo, moviendo el objeto mediante un desplazador lineal, o utilizando un escáner de espejos acoplado al espectrógrafo. El resultado de un sistema hiperespectral es la construcción de un “hipercubo” de imágenes en un determinado rango de frecuencias. Ası́, existen sis- 8 Fig. 5. Montaje para la captura de imágenes en el proyecto para el control de calidad en uvas. Fig. 6. Izquierda: funcionamiento de un sistema de visión hiperespectral. Derecha: montaje en el LOMG. temas hiperespectrales desde 400nm a 900nm de rango espectral (visible/NIR), de 900nm a 1700nm (infrarrojo), etc. En función de la resolución del sensor de la cámara acoplada y de las capacidades del espectrógrafo, se puede obtener mayor detalle en el análisis de bandas espectrales (en nuestro caso, por ejemplo, se obtienen cada 5nm). Visto de otra manera: en lugar de tener un sólo valor para cada pixel, tendremos decenas de valores que indican como varı́a ese pixel a lo largo del rango de frecuencias del espectrógrafo. Esto nos permite obtener un espectro en el que realizar análisis tradicionales de bandas de absorción (Figura 7). La visión hiperespectral puede trabajar por reflectancia o transmitancia. En el primer caso se recoge la luz que refleja el objeto a inspeccionar, mientras que en el segundo es recogida la luz que atraviesa el objeto. Las aplicaciones de los sistemas de visión hiperespectral están teniendo especial repercusión en sistemas de control da calidad en productos agroalimen- 9 Fig. 7. Superior izquierda: imágenes obtenidas del espectrógrafo. Inferior izquierda: imágenes obtenidas tras la reconstrucción del hipercubo de imágenes (se observan las imágenes a 1040nm, 1350nm y 1615nm). Derecha: espectro de una zona del objeto (la banda de absorción en 1400nm corresponde al vidrio). tarios ([20][21][22][23]). La detección de compuestos quı́micos, enfermedades y patógenos son temas recurrentes en las más recientes investigaciones ([13][24][25]). Su interés potencial, además de sus capacidades de detección, reside en la posibilidad de realizar de manera no invasiva análisis que hasta ahora eran hechos mediante la destrucción de la muestra. El proyecto para el control de calidad en patatas (sección 3.2) hace uso de un sistema de visión hiperespectral con el objetivo de detectar mazaduras, compuestos quı́micos y para intentar estimar el porcentaje de agua y materia seca en el tubérculo. Para ello se ha construido un sistema de adquisición según se muestra en la figura 6, formado por una cámara infrarroja Xenics Xeva 1.7 320 (320x256 pı́xeles), un espectrógrafo Specim Imspector V17E (900-1700nm), un escáner de espejos, un tablero óptico con su correspondiente montaje más iluminación adecuada. La iluminación es extremadamente importante, ya que ha de cubrir el espectro deseado de la manera más constante posible. Las fuentes halógenas con salida de fibra con bajo contenido en OH puntuales y anulares se muestran como la mejor solución para nuestro sistema. Debido a que la tecnologı́a es tan joven, ha sido necesario el desarrollo de software especı́fico en todos los pasos del sistema, para el control de la cámara, el control del motor del escáner de espejos, construir el hipercubo de imágenes, adquirir el espectro, etc. El desarrollo de esta parte del proyecto continuará en los próximos meses, y augura el nacimiento de nuevas iniciativas que usen la visión hiperespectral como parte de su investigación. Siendo como es un campo de conocimiento novedoso y cuyas posibilidades aún están siendo estudiadas, la visión hiperespectral será una parte importante de la tesis doctoral del alumno. 4.2 Preprocesamiento y Segmentación En el preprocesado se pretende mejorar en la medida de lo posible y hacer más fáciles de analizar las imágenes adquiridas, mientras que la segmentación es la 10 fase en la que separamos las partes de la imagen motivo del estudio del resto de partes no interesantes, como el fondo. Para todas estas labores se hace imprescindible el manejo de librerı́as de procesamiento de imagen, como VXL, OpenCV [14] o Intel IPP, que trabajan sobre C++ en la mayorı́a de casos. En estas librerı́as encontraremos definidos multitud de algoritmos y operaciones tı́picas de procesamiento de imagen que conviene conocer y dominar. El tiempo es un componente extremadamente importante en todas las tareas de procesamiento de imagen, máxime cuando desarrollamos sistemas en tiempo real, que precisan de una respuesta en un tiempo determinado, como son los sistemas a implantar en una lı́nea de envasado o producción. LEAME La fase de segmentación en este proyecto ha partido del uso de proyecciones para la detección de los distintos dı́gitos que componen las imágenes (Figura 8). Sin embargo, antes ha sido necesario binarizar la imagen y posteriormente paliar ciertos problemas en la fase de preprocesamiento, como la orientación del display (por lo que ha habido que detectar el ángulo de inclinación y posteriormente girar la imagen), la detección del punto decimal en fuentes cursivas (para lo cual se ha optado por inspeccionar simplemente la parte inferior del display), etc. En todo momento se han usado proyecciones mejoradas que resuelven casos de displays con ruido. Fig. 8. Display y su proyección. VISIOCAL El proceso de segmentación para separar las patatas del fondo ha sido dividido en tres etapas: primero detectamos las áreas de interés, después identificamos esas áreas como objetos y finalmente prevenimos al sistema de identificar agrupaciones de patatas como una única patata. 11 Detección de áreas La imagen original en el espacio de color RGB se convierte al espacio de color HSV. El color azul intenso de los rodillos es quitado del canal H (valores desde 214 a 228 en base 360 son puestos a 0). Una nueva imagen RGB (imagen0 ) se construye a partir de S, V y el recién modificado canal H. Sean R0 , G0 y B 0 los canales RGB de imagen0 . Ahora utilizamos ciertas relaciones existentes entre los canales RGB y HSV de imagen e imagen0 : – G−R resalta las patatas en un color oscuro (casi negro). Sin embargo, ciertas partes de los rodillos y las guı́as comparten ese color. – B − S remarca las partes oscuras de los rodillos que se mezclan con las patatas. – B 0 −R remarca las partes oscuras de las guı́as y otras sombras que se mezclan con las patatas. La idea es retirar las partes remarcadas en B −S y B 0 −R de la imagen G−R. Previamente se realizan ciertas operaciones de binarización, desenfocado y cierre [15] en B − S y B 0 − R. Finalmente, B − S y B 0 − R se usan como máscaras en la binarización de G − R. Tras esta operación se obtiene una imagen binaria de las patatas y el fondo (Figura 9). Fig. 9. Etapas de la detección de áreas: (a) imagen B-S, (b) imagen B prima -R, (c) imagen G-R, (d) resultado final. Identificación de objetos La segunda parte del proceso de segmentación en la identificación de las regiones conexas como objetos. En esta fase es necesario resolver ciertos problemas, como impedir considerar el ruido que haya podido pasar como objetos. El resultado de esta fase es una nueva imagen por cada región conexa, con fondo negro. 12 Segmentación de agrupaciones de patatas En este punto es común que grupos de patatas hayan sido considerados como una única patata dentro de la misma imagen. Para evitarlo, detectamos “cortes” en cada patata potencial mediante el siguiente algoritmo (Figura 10): Para cada ángulo α entre 0◦ y 180◦ , con incrementos de 6◦ , – La imagen img es rotada α◦ . – Calculamos la proyección vertical de la imagen rotada img 0 . – Detectamos máximos locales en la proyección [16], buscando picos en vecindades de 40 pı́xeles (adecuado para el tamaño de las patatas). – Si hay al menos dos máximos locales, buscamos el mı́nimo entre los dos mayores. Si este mı́nimo está bajo un umbral (40% de la altura de la proyección), el mı́nimo se añade a una lista de cortes. Cuando todas las rotaciones están testadas, el mejor corte se usa para dividir la imagen verticalmente, creando dos sub-imágenes. Sus bounding-box son ajustadas al nuevo contenido, y el algoritmo se ejecuta de nuevo para asegurar que solamente hay una patata en cada una de ellas. Este algoritmo se aplica recursivamente hasta que no existen “buenos cortes” en ninguna imagen (Figura 11). VITICAL Tal y como comentamos en la sección de adquisición de imágenes de este proyecto, la iluminación es un gran problema a la hora de obtener imágenes representativas debido a las condiciones exteriores. Por ello ha sido desarrollado un método para el control de la iluminación, basado en la modificación del canal V de la imagen, que trabaja igualando los contrastes mediante la medida de la varianza. El siguiente paso ha sido el balance de blancos, que no podı́a ser efectuado mediante valores fijos debido a la variación de la iluminación. Para ello, se toma el contenedor como patrón (que a pesar de no ser blanco es gris, con lo que sus valores de R, G y B son similares), detectándolo en la parte inferior izquierda de la imagen y modificando después los valores de color del resto de la imagen. Posteriormente se segmenta la zona de uvas del resto de la imagen (contenedor, fondo, etc). Este proceso se realiza mediante la aplicación de filtros de Gabor en dos orientaciones (Figura 12). Tras unas sencillas operaciones de procesamiento de imagen, la zona de uvas queda segmentada. 4.3 Extracción de caracterı́sticas y Clasificación Llegados a esta fase lo habitual es haber adquirido una serie de imágenes, haberlas procesado y segmentado, con lo que tenemos un conjunto de muestras, de las que normalmente tenemos conocimiento a priori, que nos permite clasificarlas en una clase o grupo. La idea en esta última fase es extraer diversas caracterı́sticas de las muestras obtenidas, y aplicar un clasificador que infiera las relaciones existentes entre dichas caracterı́sticas y las clases definidas. Las caracterı́sticas a extraer pueden ser implementadas por nosotros mismos, o pueden ser genéricas, en la busca de patrones de textura o estadı́sticos. Por su parte, existen multitud 13 Fig. 10. Detección de agrupaciones de patatas (imágenes y proyecciones): (a) objeto original, (b) rotación de 48 grados con valle de 109 ocurrencias, (c) rotación de 60 grados con valle de 78 ocurrencias, (d) corte óptimo (78 ocurrencias). de algoritmos de clasificación, un área de conocimiento ı́ntimamente ligada a la inteligencia artificial y que se nutre de técnicas de computación flexible y data mining para su funcionamiento. LEAME Para la clasificación de displays, se usan dos clasificadores. El primero es el Nearest Neighbor, partiendo de patrones Arial, Times, etc, mientras que las caracterı́sticas extraı́das son las proyecciones de los caracteres y componentes direccionales basados en gradientes de Kirsch. El segundo clasificador se basa en la percepción humana de los dı́gitos, y busca la presencia de lı́neas, huecos y aberturas en las siete zonas habituales de las fuentes de siete segmentos. Este método ha sido presentado en un congreso el pasado año 2008 ([7]). Ambos 14 Fig. 11. Patata segmentada. Fig. 12. Proceso de segmentación de uvas. clasificadores se fusionan dando lugar a un clasificador final. El sistema se ha testado con la cámara C-Cam BCi4 y con una webcam genérica, obteniendo un porcentaje de acierto de más del 99% en el primer caso y más del 95% en el segundo (Figura 13). Fig. 13. Matriz de confusión del sistema de reconocimiento de displays. VISIOCAL En este proyecto el propósito no ha sido implementar un modo directo de detectar cada clase, sino extraer varias caracterı́sticas genéricas y dejar que el clasificador infiera las relaciones entre caracterı́sticas y clases. Estas caracterı́sticas han sido seleccionadas de entre las propuestas para estudio de texturas presentes en [17], y se basan en el análisis estadı́stico de histogramas y 15 matrices de co-ocurrencia. Concretamente, para cada canal RGB y HSV se halla: media, varianza, curtosis y simetrı́a del histograma y contraste, disimilaridad, homogeneidad, energı́a, entropı́a y correlación de la matriz de co-ocurrencia. De este modo, se obtienen 60 caracterı́sticas de cada muestra, más el atributo de clase. El clasificador escogido ha sido el algoritmo del vecino más próximo (1-NN, también llamado Nearest Neighbor), por su simplicidad y robustez [18]. Hemos extraı́do 60 caracterı́sticas de cada muestra, lo que significa que tenemos un espacio 60-dimensional con una serie de puntos en él. Serı́a deseable que puntos de la misma clase se encontrasen cercanos en este espacio (dada una medida de distancia, Euclı́dea en nuestro caso), de modo que las clases quedasen agrupadas. Para asegurarnos de esto, se ha implementado un algoritmo genético ad-hoc para la selección de caracterı́sticas [12][13]. Se estructura según el modelo clásico. Definimos los siguientes parámetros: – cromosoma: es un array binario con 60 ceros y unos. Definimos una relación entre la posición i-ésima del cromosoma y la caracterı́stica i-ésima de las patatas. Un 1 (activación) en la posición i-ésima del cromosoma significa que la caracterśtica i-ésima se tiene en cuenta al calcular la distancia en el proceso de clasificación. Un 0 (no activación) en la posición i-ésima del cromosoma significa, realmente, que quitamos la dimensión i-ésima del espacio de caracterı́sticas. La consecuencia de esta definición es que cada cromosoma representa un nuevo espacio de caracterı́sticas donde los puntos (patatas) se clasifican de un modo diferente. – fitness: para evaluar cómo de bueno es un cromosoma c, simplemente tenemos que evaluar cómo de buena es la combinación de caracterı́sticas que representa c. Esta medida es el grado de clasificación de las patatas, teniendo en cuenta la función de distancia que estamos usando (Euclı́dea) y el número de ceros en el cromosoma (esto reducirá la cantidad de caracterı́sticas seleccionadas a medida que las generaciones pasen). Se han realizado varias ejecuciones del algoritmo, mostrando no sólo la selección de buenos cromosomas, sino también la evolución global de las poblaciones creadas (Figura 14). Analizando los mejores cromosomas de todas las ejecuciones, se han encontrado algunos resultados: – Las caracterı́sticas extraı́das de los canales H y S fueron las más seleccionadas en prácticamente todos los experimentos. – La homogeneidad y la disimilaridad fueron las caracterı́sticas más seleccionadas, teniendo en cuenta todos los canales. – Casi todas las caracterı́sticas de primer orden (media, varianza y simetrı́a) no se seleccionaron, a excepción de la curtosis. Con esta información, se ha creado un primer clasificador optimizado, teniendo en cuenta las caracterı́sticas seleccionadas por las ejecuciones del algoritmo genético. Concretamente, el clasificador solamente usa el contraste, disimilaridad, homogeneidad y energı́a de los canales H y S. Su rendimiento con 16 Fig. 14. Dos ejecuciones del algoritmo: (a) mejor individuo de la ejecución 1, (b) mejor individuo de la ejecución 2, (c) media de fitness de la ejecución 1, (d) media de fitness de la ejecución 2. 8 caracterı́sticas mejora el rendimiento del clasificador con 60 caracterı́sticas, según se aprecia en las siguientes matrices de confusión ``` ``` Clasificada ``` Buena Podrida Verdeo ``` Realmente Buena 83,30% 5,20% 11,50% Podrida 7,90% 88,50% 3,60% Verdeo 4,20% 11,10% 84,70% ``` ``` Clasificada ``` Buena Podrida Verdeo ``` Realmente Buena 86,00% 5,10% 8,90% Podrida 7,10% 88,70% 4,20% Verdeo 4,90% 8,90% 86,20% Este método, ası́ como el sistema completo, será presentado en los próximos meses en una ponencia ([2]). VITICAL Las caracterı́sticas extraidas de las uvas se basan en vecindades 5x5 para cada pı́xel, en cada uno de los canales RGB y HSV, lo que equivale a trabajar con caracterı́sticas de textura. Con estas 150 caracterı́sticas se han alimentado diversas topologı́as de red neuronal, ası́ como Random Forests. Tras diversas pruebas de funcionamiento, la red neuronal con tres capas de 18, 6 y 18 nodos aporta los mejores resultados. Concretamente el porcentaje en esta primera fase del proyecto de acierto se sitúa en un 94%. Tanto el método de clasificación como esta primera aproximación del sistema serán presentados este año en un congreso internacional ([3]). 17 5 Conclusiones y lı́neas futuras Esta memoria resume algunas de las actividades investigadoras realizadas hasta la fecha por el alumno, que han incrementado considerablemente su experiencia en el campo de la investigación. Las lı́neas futuras a corto plazo se centrarán en la conclusión de los proyectos abiertos, la mejora de sus resultados y la aplicación de nuevas técnicas en los mismos. Del mismo modo, se comenzarán nuevas iniciativas que continúen con la lı́nea marcada por el LOMG, de modo que en el próximo año se investigue la aplicación de las técnicas de visión hiperespectral a carne, huevos y olivas. A medio plazo, la visión hiperespectral, junto con los avances llevados a cabo en el proyecto de control de calidad en patatas, se convertirán en el núcleo central de la tesis doctoral del alumno. References 1. E. Vázquez-Fernández, A. Dacal-Nieto, H. González-Jorge, F. Martı́n, A. Formella, V. Alvarez-Valado ”A machine vision system for the calibration of digital instrumentation”. Artı́culo en revista Measurement Science and Technology 20 (2009) 065106 (7pp). 2. A. Dacal-Nieto, E. Vázquez-Fernández, A. Formella, F. Martı́n, S. TorresGuijarro, H. González-Jorge ”A genetic algorithm approach for feature selection in potatoes classification by computer vision”. Ponencia en congreso IECON 2009 (Porto) (en proceso de aceptación). 3. E. Vázquez-Fernández, A. Dacal-Nieto, F. Martı́n, A. Formella, S. TorresGuijarro, H. González-Jorge ”A Computer Vision System for Visual Grape Grading in Wine Cellars”. Ponencia en congreso ICVS 2009 (Lieja). 4. F. Martı́n, E. Vázquez-Fernández, A. Formella, V. Alvarez-Valado, H. GonzálezJorge, A. Dacal-Nieto ”SCIMVA: Sistema de Calibración de Instrumentación Mediante Visión Artificial”. Póster en Reunió Nacional de Óptica 2009 (Ourense). 5. F. Martı́n, D. Saavedra, E. Vázquez-Fernández, A. Dacal-Nieto, H. GonzálezJorge ”Localización de caracteres en imágenes de instrumentación digital”. Ponencia en congreso URSI 2009 (Santander). 6. E. Vázquez-Fernández, A. Dacal-Nieto, S. Torres, H. González-Jorge, F. Martı́n, A. Formella, V. Alvarez-Valado ”Sistema de visión artificial para calibración de instrumentación con display digital”. Póster en 4 Congreso Español de Metrologı́a 2009 (Santander). 7. E. Vázquez-Fernández, H. González-Jorge, A. Dacal-Nieto, F. Martı́n, A. Formella ”Human feature perception as a complementary method for digit recognition”. Ponencia en congreso VIIP 2008 (Palma de Mallorca). 8. F. Martı́n, E. Vázquez-Fernández, A. Formella, H. González-Jorge, A. Dacal-Nieto ”Sistema de calibrado de instrumentación mediante visión artificial”. Ponencia en congreso URSI 2008 (Madrid). 9. F. Martı́n, E. Vázquez-Fernández, A. Formella, H. González-Jorge, A. Dacal-Nieto ”Automatic reading of digital instrumentation”. Ponencia en congreso ISIE 2008 (Cambridge). 10. T. Brosnan, D.W. Sun ”Improving Quality Inspection of Food Products by Computer Vision. A Review”. Journal of Food Engineering 61, 3-16 (2004). 11. D.W. Du, D.W. Sun ”Learning Techniques Used in Computer Vision for Food Quality evaluation: A Review”. Journal of Food Engineering 72, 39-55 (2006). 18 12. Y. Chtioui, D. Bertrand, D. Barba ”Feature selection by a genetic algorithm. Application to seed discrimination by artifical vision”. J Sci Food Agric, 1998, 76, 77-86. 13. J. Gómez-Sanchı́s, L. Gómez-Chova, N. Aleixos, G. Camps-Valls, C. MontesinosHerrero, E. Moltó, J. Blasco ”Hyperspectral system for early detection of rottenness caused by Penicillium digitatum in mandarins”. Journal of Food Engineering, 89 (2008) 80-86. 14. G. R. Bradski, A. Kaehler ”Learning OpenCV, Computer Vision with the OpenCV library”. O’Reilly, 2008. 15. John C. Russ ”The Image Processing Handbook, Fifth Edition”. CRC-Press, 2007. 16. F. Martı́n ”Analysis Tools for Gray Level Histograms”. Proceedings of SPPRA2003. 17. M. Graves, B. Batchelor ”Machine Vision for the Inspection of Natural Products”. Springer, 2004. 18. A. K. Jain, R. P W. Duin, J, Mao ”Statistical Pattern Recognition: A Review”. IEEE Transactions on Pattern Analysis and Machine Intelligence, 22 (2000). 19. (URL) Specim Imaging Spectrographs ”http://www.specim.fi/products/spetralimaging-products/imaging-spectrographs.html”. 20. A.A. Gowen, C.P. O’Donnell, P.J. Cullen, G. Downey, J.M. Frias ”Hyperspectral imaging - an emerging process analytical tool for food quality and safety control”. Food Science & Technology 18, 590-598, 2007. 21. G.K. Naganathan, L.M. Grimes, J. Subbiah, C.R. Calkins, A. Samal, G.E. Meyer ”Visible/near-infrared hyperspectral imaging for beef tenderness prediction”. Computers and Electronics in Agriculture 64, 225-233, 2008. 22. A.A. Gowen, C.P. O’Donnell, M. Taghizadeh, E. Gaston, A. O’Gorman, P.J. Cullen, J.M. Frias, C. Esquerre, G. Downey ”Hyperspectral imaging for the investigation of quality deterioration in sliced mushrooms (Agaricus bisporus) during storage”. Sens. & Instrumen. Food Qual. 2, 133-143, 2008. 23. J. Qiao, M.O. Ngadi, N. Wang, C. Gariépy, S.O. Prasher ”Pork quality and marbling level assesment using a hyperspectral imaging system”. Journal of Food Engineering 83, 10-16, 2007. 24. B. Park, M. Kise, K.C. Lawrence, W.R. Windham, D.P. Smith, C.N. Thai ”Realtime multispectral imaging system for online poultry fecal inspection using unified modeling language”. Sens. & Instrumen. Food Qual. 1, 45-54, 2007. 25. C. Yang, K. Chao, Y. Chen ”Development of multispectral image processing algorithms for identification of wholesome, septicemic and inflammatory process chickens”. Journal of Food Engineering 69, 225-234, 2005.