Aplicaciones de la visión artificial en metrología y

Anuncio
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.
Descargar