Está en la página 1de 12

V Congreso Internacional de TIC

Universidades Tecnolgicas, Playa del Carmen 2015


Playa del Carmen, Quintana Roo, 2015

Clasificador de tomates utilizando histogramas de color

Edgar E. Ceh-Varela1, Gandhi S. Hernndez-Chan1, Gimer A. Cervera-Evia1


1
Universidad Tecnolgica Metropolitana Calle 115 (Circuito Colonias Sur) No. 404.
Col. Santa Rosa. C.P. 97279. Mrida, Yucatn, Mxico
{eduardo.ceh, gandhi.hernandez, gimer.cervera}@utmetropolitana.edu.mx

Resumen
Las frutas y verduras tienen propiedades de color, forma y textura, las cuales pueden
ser utilizadas por sistemas automticos de anlisis y clasificacin. Mxico se encuentra
entre los tres principales pases exportadores de tomates, por lo que este estudio
presenta la aplicacin de tcnicas de visin por computadora, y de aprendizaje mquina
para la creacin de un modelo clasificador de tomates con base en sus propiedades de
color. Primero, se obtuvieron imgenes de tomates para ser preprocesadas para
encontrar la regin de inters. Segundo, se extrajeron a manera de histogramas las
propiedades de color que caracterizan a cada tomate, para posteriormente generar un
conjunto de datos. Finalmente, se utiliz el algoritmo de Naive Bayes para entrenar y
probar al clasificador con base en el conjunto de datos obtenido en la etapa anterior. El
resultado fue un clasificador que en promedio obtuvo una exactitud del 96% utilizando
K-Fold Cross Validation.

Palabras claves
Visin por computadora, aprendizaje mquina, histograma HSV, Naive Bayes

1. Introduccin
Los avances en las tecnologas han potencializado la creacin de aplicaciones que
intentan mejorar diferentes procesos agrcolas, tales como la inspeccin y la
clasificacin de frutas y verduras (Moreno-Bermdez, 2012; Tillett, 1991; Vibhute, 2012;
Vyas, 2013). Diferentes tcnicas de visin por computadora y de aprendizaje mquina

Pgina 1
V Congreso Internacional de TIC
Universidades Tecnolgicas, Playa del Carmen 2015
Playa del Carmen, Quintana Roo, 2015

se combinan para analizar las caractersticas de tamao, textura, forma y color de las
frutas y verduras (Faria, 2010; Pandey, 2013).

De acuerdo a Demaagd et al. (2012), visin por computadora es la ciencia que


permite a las computadoras obtener, procesar y analizar imgenes digitales. Por su
parte, el aprendizaje mquina es una rama de la inteligencia artificial que permite a las
computadoras aprender para luego realizar tareas por ellas mismas (Richert, 2013;
Segaram, 2007).

Se han realizado diferentes estudios enfocados a desarrollar sistemas que


intentan clasificar un tipo de fruta o verdura en especfico, por ejemplo en tomates
(Laykin, 2002), manzanas (Unay, 2002), ctricos (Aguilera, 2006), pimientos
(Abdesselam, 2000) y berenjenas (Saito, 2003).

Tres pases en el mundo exportan ms del 55% de la produccin de tomates en


el mundo. Mxico con el 18%, es el segundo lugar, por detrs de Holanda con el 22% y
delante de Espaa con el 17% del volumen de exportaciones (SAGARPA, 2010).

De acuerdo con la SAGARPA (2010), existen tres maneras de clasificar los


tomates, segn su forma, madurez y color. En cuanto al color, existen el verde lima,
rosa, amarillo, dorado, naranja y rojo.

Debido a su importancia a nivel mundial, el objetivo de este estudio es la


aplicacin de tcnicas de visin por computadora, y de aprendizaje mquina para la
creacin de un modelo clasificador de tomates con base en sus propiedades de color.

El resto del documento est organizado de la siguiente manera. En la seccin


dos se presenta a detalle la metodologa seguida para el desarrollo del clasificador. Los
resultados son presentados en la seccin tres. Finalmente, la seccin cuatro contiene
las conclusiones sobre el trabajo.

Pgina 2
V Congreso Internacional de TIC
Universidades Tecnolgicas, Playa del Carmen 2015
Playa del Carmen, Quintana Roo, 2015

2. Desarrollo
La metodologa seguida para la clasificacin automtica de tomates consiste
principalmente en tres fases. La primera fase es la adquisicin del conjunto de
imgenes que servirn para el entrenamiento del modelo clasificador. En esta fase, son
aplicadas diferentes tcnicas de procesamiento de imgenes a cada una de las
imgenes de tomates, con el objetivo de delimitar una regin de inters. En la segunda
fase, son extradas las caractersticas de color de cada imagen, esta informacin es
agregada al conjunto de datos que ser utilizado en la siguiente etapa. Finalmente, el
conjunto de datos es utilizado para entrenar un algoritmo de clasificacin, con el
objetivo de generar un modelo que permita encontrar patrones en los datos que
identifiquen las clases de tomates.

2.1. Adquisicin y prepocesamiento


Las imgenes utilizadas en esta etapa fueron obtenidas de bsquedas en Google. El
criterio para la seleccin de estas imgenes fue que solo estuviera presente un tomate,
y el color del fondo deba ser en color blanco. Sin embargo, se hicieron excepciones
debido a la poca cantidad de imgenes nicas con estas caractersticas en Google, por
lo que se utilizaron tambin imgenes que contenan textos pequeos, marcas de agua,
o con otras tonalidades en el fondo.

Debido a que no se encontraron en Google imgenes para los tomates rosa,


dorado, y naranja, que cumplieran con las condiciones propuestas, nicamente se
trabajaron con imgenes para los tomates rojos, verdes y amarillos. En total se
obtuvieron 37 imgenes nicas de tomates, de las cuales 13 son de tomates rojos, 11
son de tomates verdes y 13 de tomates amarillos.

A cada imagen se le aplicaron diferentes tcnicas visin computacional, esto con


el objetivo de encontrar la regin de inters que identifica al tomate. Se extrajo el fondo
y cualquier otro elemento que pudiera contener la imagen. Para estas actividades se
utiliz la librera SimpleCV.

Pgina 3
V Congreso Internacional de TIC
Universidades Tecnolgicas, Playa del Carmen 2015
Playa del Carmen, Quintana Roo, 2015

Debido a que las imgenes obtenidas de Google tenan diferentes tamaos,


todas fueron modificadas para que sus tamaos fueran igual a la imagen ms pequea
del conjunto de imgenes. Cada imagen original fue binarizada para diferenciar entre el
fondo y el frente. Posteriormente esta imagen se invirti para crear una mscara del
tomate, dicha mscara fue aplicada a la imagen original por medio de una operacin
AND de pixeles para dejar nicamente el tomate en un fondo negro. Este paso permiti
extraer los contornos visibles, siendo el contorno ms grande el representativo del
tomate, lo que permiti recortar la imagen original a solo la regin de inters. Dos
ejemplos de las etapas del procesamiento de las imgenes se pueden apreciar en la
figura 1.

Imagen Mscara de la Mscara aplicada


Imagen Original Regin de inters
Binarizada imagen a la imgen original

Figura 1. Etapas de procesamiento de las imgenes.

2.2. Extraccin de caractersticas de color


Las imgenes de frutas y verduras tienen diferentes caractersticas que pueden ser
utilizadas para determinar si dos imgenes son similares, estas caractersticas son el
color, la forma, la textura, entre otras. Para este sistema se decidi utilizar las
caractersticas del color, ya que han sido ampliamente utilizadas en otros estudios como
indicador de madurez de los tomates (Arivazhagan, 2010; Krka, 2013; Pandey, 2013).

Con la finalidad de extraer las propiedades de color sin que la iluminacin afecte
los resultados, se utiliz el modelo de espacio de color HSV (Hue, Saturation, Value).

Pgina 4
V Congreso Internacional de TIC
Universidades Tecnolgicas, Playa del Carmen 2015
Playa del Carmen, Quintana Roo, 2015

Este modelo representa las tonalidades de los colores en forma de coordenadas


cilndricas. Cada tonalidad (H) est representada por un ngulo entre 0 y 360, por lo
que tonalidades similares se encuentran ms prximas. La saturacin (S) representa la
distancia entre blanco y negro y el valor (V) representa el brillo del color (Lopez, 2011).
En la figura 2 se puede apreciar la representacin de este modelo.

Figura 2. Modelo de espacio de color HSV.

En la actualidad, para representar la distribucin de colores en una imagen se


utilizan los histogramas de color (Y. Zhang, & Wu, L., 2012). Estos histogramas
muestran la frecuencia y distribucin de pixeles en un rango de colores dentro de la
imagen. Los histogramas pueden servir como una especie de firma digital para cada
imagen, ya que casi no varan aunque la imagen sea rotada o desfasada. Debido a
esto, es muy utilizado cuando se quiere comparar imgenes para encontrar
coincidencias (Y. Zhang, & Wu, L., 2012).

La librera SimpleCV tiene un mtodo para extraer las caractersticas de


tonalidad (H) de una imagen, y de manera predeterminada realiza la agrupacin de
pixeles en 16 bins o contenedores. Cada contenedor representa el nmero de pixeles
encontrados para cada tonalidad de color. Debido a que los colores van de 0 a 255,
siendo 0 el color negro y 255 el color blanco, para tener mejores resultados se modific
el valor de la cantidad de contenedores a 4, 8, 16, 32, 64, 128 y 256. En la figura 3 se
pueden observar algunos de los histogramas normalizados resultantes para un tomate
rojo.

Pgina 5
V Congreso Internacional de TIC
Universidades Tecnolgicas, Playa del Carmen 2015
Playa del Carmen, Quintana Roo, 2015

a b c

d e f

Figura 3. a) Imagen, b) 4 bins, c) 8 bins, d) 16 bins, e) 32 bins, f) 64 bins

El histograma resultante para cada una de las imgenes, representado como una
lista de valores, se anex a un archivo en formato .CSV junto con la clase
correspondiente a cada tomate. En total se generaron siete archivos, uno para cada
nmero de contenedores.

2.3. Generacin del modelo del clasificador


Para el modelo clasificador se seleccion como algoritmo de aprendizaje mquina el
mtodo llamado Naive Bayes (NB). Este es un algoritmo de clasificacin supervisado,
que est basado en el teorema de Bayes, y asume que todas sus variables son
independientes entre s. De manera general, dado un vector de variables x1 a xn, una
variable de clase y, y asumiendo la independencia entre las variables se tiene la
siguiente relacin:

(1)

Dos ventajas que tiene NB sobre otros algoritmos de clasificacin es su rapidez,


y que no requiere de grandes cantidades de datos para ser entrenado. Esto lo convierte
en uno de los algoritmos ms eficientes y efectivos (H. Zhang, 2004).

Pgina 6
V Congreso Internacional de TIC
Universidades Tecnolgicas, Playa del Carmen 2015
Playa del Carmen, Quintana Roo, 2015

Se utiliz la librera de aprendizaje mquina Scikitlearn para la generacin del


modelo de clasificacin, ya que cuenta con varias implementaciones Naive Bayes. Se
utiliz cada archivo .CSV generado en el paso anterior para entrenar y validar el
algoritmo y as encontrar el mejor modelo. Para entrenar y probar cada modelo se
dividi de manera aleatoria el conjunto de datos, en 70% para entrenamiento y 30%
para validacin del modelo. De la misma manera, se utiliz la tcnica llamada K-Fold
Cross Validation con el subconjunto de entrenamiento. Esta tcnica consiste en
particionar el conjunto de datos en K subconjuntos, utilizar K-1 subconjuntos para
entrenar al algoritmo y dejar un subconjunto para la validacin, esto se repite K veces y
al final se promedia el resultado de exactitud obtenido. Para este estudio se seleccion
el valor de K en 5. En la figura 4 se puede apreciar el esquema de funcionamiento del
K-Fold Cross Validation.

Figura 4. Funcionamiento del K-Fold Cross Validation

3. Resultados
Se gener un modelo del clasificador para cada uno de los siete histogramas de
distribucin de las tonalidades de color. Los resultados de entrenar y validar cada
modelo utilizando el K-Fold Cross Validation se presentan en la figura 5. De acuerdo a
este anlisis a partir de 64 contenedores ya no hubo variacin, siendo el porcentaje
promedio de exactitud 96% y la desviacin estndar de .04. Siendo la exactitud la
proporcin del nmero de predicciones correctas (Hamilton, 2012).

Pgina 7
V Congreso Internacional de TIC
Universidades Tecnolgicas, Playa del Carmen 2015
Playa del Carmen, Quintana Roo, 2015

Figura 5. Resultados del K-Fold Cross Validation

De la misma manera se realiz el anlisis de cada modelo utilizando los datos de


entrenamiento y de validacin, correspondientes al 70% y 30% respectivamente. Los
resultados obtenidos se pueden apreciar en la figura 6. Estos resultados muestran que
a partir de 64 contenedores la exactitud es del 100% tanto para los datos de
entrenamiento como para los datos de validacin.

Figura 6. Resultados del conjunto de entrenamiento y de validacin

Como parte de los resultados se generaron reportes de clasificacin, el reporte


para el modelo con 64 contenedores se muestra en la figura 7. La clase 0 corresponde

Pgina 8
V Congreso Internacional de TIC
Universidades Tecnolgicas, Playa del Carmen 2015
Playa del Carmen, Quintana Roo, 2015

a los tomates rojos, la clase 1 a los verdes y la clase 2 a los amarillos. En dicho reporte
se observ que para los valores de Precision, Recall y F1-score se obtuvo un 100% en
cada rubro. El resultado de Precision representa la proporcin de qu tan en lo correcto
est nuestro clasificador cuando dice que una instancia es positiva. De manera similar,
el resultado de Recall representa la proporcin de casos positivos que son
correctamente clasificados. Por su parte el F1-score es la media armnica que trata de
combinar las dos medidas anteriores (Garreta, 2013; Powers, 2011).

En el mismo reporte se puede apreciar el resultado de la matriz de confusin


para el conjunto de datos de validacin. En esta matriz, los elementos en diagonal
representan el nmero elementos correctamente clasificados, por su parte los que estn
fuera de la diagonal representan el nmero de elementos incorrectamente clasificados.
Mientras mayor sea el nmero de elementos que se encuentran en la diagonal de la
matriz, mejor ser considerado el modelo clasificador. Es por esto, que debido a los
resultados obtenidos, se utiliz el modelo clasificador generado con 64 contenedores.

Figura 7. Reporte de Clasificacin para el modelo generado.

Para hacer uso del modelo clasificador se cre un Webservice, el cual es


consumido por una aplicacin en Android desde la cual se puede seleccionar o tomar
una foto de un tomate, y pedirle al clasificador que indique que tipo de tomate es de
acuerdo a sus propiedades de color. Algo para resaltar, es que aunque se entren al
clasificador con imgenes descargadas de Google, fue posible clasificar imgenes de

Pgina 9
V Congreso Internacional de TIC
Universidades Tecnolgicas, Playa del Carmen 2015
Playa del Carmen, Quintana Roo, 2015

tomates tomadas directamente desde la cmara del dispositivo mvil, como se aprecia
en la figura 8 con un tomate rojo.

Figura 8. Clasificacin de foto de tomate con aplicacin Android

4. Conclusiones
La combinacin de tcnicas de visin por computadora con tcnicas de aprendizaje
mquina hace posible la creacin de sistemas inteligentes que ayuden a la solucin de
problemas en diferentes reas productivas.

En los sistemas enfocados al anlisis y clasificacin de frutas y verduras, se


utilizan diferentes caractersticas de cada producto, como su textura, su forma y su
color. Esta ltima caracterstica, utilizada en otros estudios similares, permiti generar el
conjunto de datos que posteriormente sirvi para entrenar al algoritmo de clasificacin.

El clasificador generado con base en el algoritmo de Naive Bayes, demostr que


aun con un conjunto de datos pequeo tuvo muy buenos resultados para clasificar entre
las tres clases de tomates utilizadas, rojo, verde y amarillo. De acuerdo a los resultados
del K-Fold Cross Validation, se obtuvo un promedio del 96% en la clasificacin de
tomates.

Pgina 10
V Congreso Internacional de TIC
Universidades Tecnolgicas, Playa del Carmen 2015
Playa del Carmen, Quintana Roo, 2015

La aplicacin desarrollada en Android, funciona segn los resultados obtenidos,


incluso clasificando de manera correcta imgenes de tomates tomadas directamente
con la cmara del dispositivo mvil.

Como trabajos futuros se planea obtener imgenes de tomates tomadas


directamente de una cmara y en condiciones controladas tanto de iluminacin, como
de tamao de las imgenes. De la misma manera, se integrarn imgenes de las otras
tres categoras de color que no pudieron conseguirse desde Google.

Referencias
Abdesselam, A., Abdullah, Rahmat Choo. (2000). Pepper berries grading using artificial
neural networks. Paper presented at the TENCON 2000.
Aguilera, C., Ramos, Mario, Roa, Gabriel. (2006). An automatic grading system for
panels surfaces using artificial vision. International Journal of Computers,
Communications and Control, 1(2), 15-22.
Arivazhagan, S., Shebiah, R. N., Nidhyanandhan, S. S., & Ganesan, L. (2010). Fruit
recognition using color and texture features. Journal of Emerging Trends in
Computing and Information Sciences, 1(2), 90-94.
Demaagd, K., Oliver, A., Oostendrop, N., Scott, K. (2012). Practical Computer Vision
with SimpleCV: OReilly.
Faria, F. A., dos-Santos, J.A., Rocha, A., da-S., T. (2010). Automatic Classifier Fusion
for Produce Recognition.
Garreta, R., Moncecchi, G. (2013). Learning scikit-learn: Machine Learning in Python:
Packt Publishing.
Hamilton, H. (2012, 06/08/2012). Knowledge Discovery in Databases. Retrieved
07/25/2015, 2015, from
http://www2.cs.uregina.ca/~dbd/cs831/notes/confusion_matrix/confusion_matrix.h
tml
Krka, J. (2013). Recognition of Plants Based on Images of Fruit. Czech Technical
University in Prague.
Laykin, S., Alchanatis, V., Fallik, E., Edany. (2002). Image processing algorithms for
tomatoes classification. Transactions of the American Society of Agricultural
Engineers (ASAE), 45(3), 851-858.
Lopez, J. J., Cobos, M., & Aguilera, E. (2011). Computer-based detection and
classification of flaws in citrus fruits. Neural Computing and Applications, 20(7),
975-981.
Moreno-Bermdez, A., Ballesteros-Padilla, D., Snchez-Torres, G. (2012). UN
PROTOTIPO MECNICO PARA LA AUTOMATIZACIN DEL PROCESO DE
SELECCIN DEL MANGO TIPO EXPORTACIN. Revista Ingenieras
Universidad de Medelln.

Pgina 11
V Congreso Internacional de TIC
Universidades Tecnolgicas, Playa del Carmen 2015
Playa del Carmen, Quintana Roo, 2015

Pandey, R., Naik, S., Marfatia, R. (2013). Image Processing and Machine Learning for
Automated Fruit Grading System: A Technical Review. International Journal of
Computer Applications, 81(16), 29-39.
Powers, D. M. (2011). Evaluation: from precision, recall and F-measure to ROC. Bioinfo
Publications, 2229-3981.
Richert, W., Coelho, L. (2013). Building Machine Learning Systems with Python: Packt
Publishing.
SAGARPA. (2010). Monografa del Jitomate.
Saito, Y., Hatanakat, Toshiharu, Uosakit, Katsuji, Shigetot, Kazuhide. (2003). Eggplant
classification using artificial neural network. Paper presented at the Proceedings
of the International Joint Conference on Neural Networks.
Segaram, T. (2007). Programming Collecitive Intelligence: OReilly.
Tillett, R. D. (1991). Image analysis for agricultural processes: a review of potential
opportunities. Journal of Agricultural Engineering Research, 50, 247-258.
Unay, D., Gosselin, Bernard,. (2002). Apple Defect Detection and Quality Classification
with MLP-Neural Networks.
Vibhute, A., Bodhe, S.K. (2012). Applications of Image Processing in Agriculture: A
Survey. International Journal of Computer Application 52(2), 34-40.
Vyas, A., Talati, B., Naik, S. (2013). Colour Feature Extraction Techniques of Fruits: A
Survey. International Journal of Computer Applications, 83(15), 15-22.
Zhang, H. (2004). The Optimality of Naive Bayes. AA, 1(2), 3.
Zhang, Y., & Wu, L. (2012). Classification of Fruits Using Computer Vision and a
Multiclass Support Vector Machine. Sensors, 12(9), 12489-12505.

Pgina 12

También podría gustarte