0 calificaciones0% encontró este documento útil (0 votos)
23 vistas7 páginas
Este documento describe dos modelos para clasificar 5 tipos de frutas (cerezas, fresas, frambuesas, arándanos y moras) utilizando momentos invariantes de Hu como características de entrada. El primer modelo es una red neuronal feed forward supervisada, mientras que el segundo es un modelo no supervisado de mapas autoorganizados de Kohonen. El documento también revisa varios trabajos relacionados con la clasificación de frutas y describe los momentos invariantes de Hu utilizados para extraer características de las imágenes.
Descripción original:
Título original
Clasificador de frutas mediante mapas auto organizados
Este documento describe dos modelos para clasificar 5 tipos de frutas (cerezas, fresas, frambuesas, arándanos y moras) utilizando momentos invariantes de Hu como características de entrada. El primer modelo es una red neuronal feed forward supervisada, mientras que el segundo es un modelo no supervisado de mapas autoorganizados de Kohonen. El documento también revisa varios trabajos relacionados con la clasificación de frutas y describe los momentos invariantes de Hu utilizados para extraer características de las imágenes.
Este documento describe dos modelos para clasificar 5 tipos de frutas (cerezas, fresas, frambuesas, arándanos y moras) utilizando momentos invariantes de Hu como características de entrada. El primer modelo es una red neuronal feed forward supervisada, mientras que el segundo es un modelo no supervisado de mapas autoorganizados de Kohonen. El documento también revisa varios trabajos relacionados con la clasificación de frutas y describe los momentos invariantes de Hu utilizados para extraer características de las imágenes.
David Sebastian Rodriguez Jimenez Jonnathan Andres Sandino Angulo
pertenecen los datos de entrada, que corresponden a 21
I. INTRODUCCIÓN números por imagen que representan los 7 momentos En el siguiente documento se mostrará el procedimiento invariantes de Hu para cada capa (RGB) de las imágenes de realizado para la clasificación de 5 frutas (Cerezas, Fresas, cada fruta. Frambuesas, Arándanos y Moras) de una base de datos, esto a partir de los momentos invariantes de Hu y para un primer IV. OBJETIVOS ESPECIFICOS enfoque desde los modelos supervisados, una red neuronal de Modelar y entrenar una red neuronal de tipo feed tipo feed forward, como segundo enfoque para un modelo no forward la cual clasifique las imágenes de entrada. supervisado, se implementará un modelo de mapas Implementar un modelo de mapas autoorganizados el autoorganizados de Kohonen. cual clasifique las imágenes de entrada. II. PLANTEAMIENTO DEL PROBLEMA Observar el impacto de la eliminación de momentos Con el propósito de reducir la necesidad de la de Hu en el error de generalización. presencia humana en los cultivos, en los últimos años se han V. ESTADO DEL ARTE desarrollados avances en la automatización de los mismos, los cuales, si bien no han logrado desligar por completo la 1.Automatic fruit classification using random forest necesidad de la intervención de personas, si han logrado algorithm: disminuir la cantidad de tiempo empleado en el cuidado de los En este proyecto se plantea clasificar tres diferentes mismos. Esto es necesario debido a que, según lo muestran frutas, se analizaron manzanas, fresas y naranjas, se usa de datos recolectados por la ONU, con el paso del tiempo la pre-procesamiento la redimensión de las imágenes y mediante población humana se hace cada vez mayor [1], por dos algoritmos se extrajeron la forma, características de color consiguiente, el número y tamaño de cultivos para alimentar y un algoritmo de función invariante de escala. Como dicha población también debe hacerse más grande, y esto hace algoritmo de clasificación se usa Random Forests (RF), necesario la industrialización de los mismos, para poder además el entorno de Matlab y una cámara digital. satisfacer la demanda de la población. Muchas de las soluciones propuestas para conseguir dicho objetivo están 2.Identification and Counting of Mature Apple Fruit basadas en el uso de inteligencia computacional [2]. Based on BP Feed Forward Neural Network: Dentro de la larga cadena de procesos necesaria para cultivar En este proyecto se plantea clasificar la madurez de algún alimento, previo a su recolección es necesario conocer las manzanas, esto se plantea desde las características de identificar el tipo de alimento para que, a la hora de ser color, más exactamente de sacar las componentes de color recogidos, estos no estén mezclados, sino agrupados por tipos, (RGB). El modelo de red neuronal tiene tres pasos: pre- y pensando en un futuro proceso automatizado de recolección, procesamiento, extracción de características y clasificación de es necesario que esto se haga sin intervención de seres la maduración que al simularse tiene una precisión del 98.1 %. humanos, con estos problemas nos planteamos ¿es posible, mediante el uso de inteligencia computacional en un cultivo 3.Classification of Maturity level of Fuji Apple Fruit With donde se han sembrado varios tipos de frutas, poder Fuzzy Logic Method: clasificarlas para identificar qué tipo de fruta son? Para este proyecto se plantea clasificar las manzanas Fuji, para esto se transforma el tipo de imagen de RGB a escala de grises, para así clasificar las manzanas en tres III. OBJETIVO GENERAL categorías (cruda, medio madura, madura) mediante un Implementar dos modelos, uno de aprendizaje modelo difuso y el software Matlab. El número de variables supervisado basado en redes neuronales feed forward y otro de que se escojan puede aumentar el número de reglas, lo que aprendizaje no supervisado basado en el método de clustering implica un nivel de cómputo mayor, al igual que mayor k-means, los cuales deben estar en la capacidad de clasificar complejidad. correctamente en la mayoría de los casos a que fruta 4.Fruit and Vegetables Classification System Using Image Saliency and Convolutional Neural Network: Se propone un sistema de clasificación de frutas y verduras mediante una red convolucional para extraer las características de la imagen. Se usa un modelo VGG para entrenar y la prominencia de la imagen para seleccionar las principales regiones de prominencia. El modelo tiene una precisión del 95.6%.
5.Identification of Fruit Size and Maturity Through Fruit
Images Using OpenCV-Python and Raspberry Pi: Para este proyecto se plantea clasificar la madurez del mango, tomando como las características más importantes el tamaño y el color. El algoritmo creado en Python se implementa sobre una Raspberry Pi y es capaz de determinar Momentos invariantes de Hu: el tamaño de la fruta mediante la distancia euclidiana y usar el agrupamiento K-Means para determinar el color dominante de Los momentos invariantes pretenden extraer características la fruta para ser comparado con el histograma en Python. para poder reconocer los objetos, aunque no se encuentren siempre en la misma posición, estén girados o su tamaño sea 6.Development of Control System for Fruit Classification distinto (De la Escalera 2001). Para ello se parte de los Based on Convolutional Neural Network: momentos ordinarios, donde, para una función continua Se pretende desarrollar un sistema de control de bidimensional f(x,y), el momento de orden (p+q) está definido reconocimiento de objetos basado en una red convolucional. en la ecuación. Este tipo de red detecta y reconoce las frutas a través de ∞
optimización de parámetros, se usa Alexnet para mejorar la 𝑚𝑝𝑞 = ∬ 𝑥 𝑝 𝑦 𝑞 𝑓(𝑥, 𝑦)𝑑𝑥 𝑑𝑦
clasificación y el proceso de simulación. La precisión lograda −∞ es cercana al 94%. Al representar la ecuación en forma digital.
7.Classification on Passion Fruit’s Ripeness using K-
𝑚𝑝𝑞 = ∑ ∑ 𝑥 𝑝 𝑦 𝑞 𝑓(𝑥, 𝑦) Means Clustering and Artificial Neural Network: 𝑥 𝑦 En este artículo se desea identificar el nivel de madurez del maracuyá, clasificándolos en maduro, casi Donde la suma de p y q representa el orden del momento calculado. maduro e inmaduro. Se usa el método K-Means Clustering para la segmentación del maracuyá y una red neuronal para la Para conseguir la invariancia se le resta a las coordenadas de clasificación basada en características RGB. Las entradas son videos y el sistema cuenta con una precisión del 90%. cada punto el centro de gravedad, lo que da como resultado los momentos centrales. 8.Fruit Classification Based on Six Layer Convolutional Neural Network: 𝜇𝑝𝑞 = ∑ ∑(𝑥 − 𝑥̃)𝑝 (𝑦 − 𝑦̃)𝑞 𝑓(𝑥, 𝑦) Se propone clasificar nueve frutas mediante Deep 𝑥 𝑦 Learning y una red convolucional de seis capas que consisten en capas de convolución, capas de agrupación y capas Donde 𝑥̃ 𝑦 𝑦̃ están definidas como: completamente conectadas. Se logró una precisión del 91.44% que, aunque es difícil de interpretar los pesos de la red, ha 𝑚10 𝑚01 𝑥̃ = 𝑦 𝑦̃ = superado tres enfoques de última generación: La máquina de 𝑚00 𝑚00 vectores de soporte basado en votación, entropía wavelet y Donde: algoritmo genético. 𝑥̃ Representa el centro de gravedad o centroide del objeto en el eje de las abscisas. VI. PREPROCESAMIENTO 𝑦̃ Representa el centro de gravedad o centroide del Dado que el problema es clasificar 5 frutas diferentes objeto en el eje de las ordenadas. (Cerezas, Fresas, Frambuesas, Arándanos y Moras), es 𝑚10 Representa el momento ordinario de primer necesario hacer un proceso para extraer las características de orden, cuando pes igual a 1 y q es igual a 0 en l cada imagen para la base de datos que tiene imágenes de las 𝑚01 Representa el momento ordinario de primer frutas como las siguientes: orden, cuando pes igual a 0 y q es igual a 1 en l. 𝑚00 Es el momento de orden cero y representa el área del objeto. Los momentos centrales permiten reconocer figuras dentro de una imagen independientemente de su posición. El momento central de orden 0 es igual al área del objeto, los momentos centrales de orden 1 son por definición 0, los de orden 2 forman la matriz de rotación para calcular de ahí el ángulo de rotación y la excentricidad del objeto, y los momentos centrales de orden 3 se utilizan para calcular los momentos invariantes.
El siguiente paso es obtener los momentos invariantes a la
Ahora, se extrae la característica de color verde (G), lo que nos rotación y a la escala. Para ello se definen primero los deja: momentos centrales normalizados.
𝜇𝑝𝑞 𝑛𝑝𝑞 = 𝛾 𝜇00
Donde, 𝑛𝑝𝑞 representa el momento central normalizado
independiente del tamaño del objeto. Siendo 𝑝+𝑞 𝛾= +1 2 Por último, se extrae la característica de color perteneciente al Para (p + q) = 2, 3, …, n. azul (B), con esto tenemos: Donde, representa el factor de normalización. Al dividir cada momento por el área (momento de orden cero) se consigue que sean valores independientes de la escala
Implementación:
Para comenzar, se tienen las imágenes de la base de datos, que
son como las mostradas a continuación:
Después de la extracción de características, se calculan los
momentos invariantes de Hu. Para esto:
1. Se calcula el momento crudo.
2. Se calcula el momento central. 3. Se calculan los siete (7) primeros momentos. VII. DESCRIPCIÓN DE LA EXPERIMENTACIÓN Luego se procede a extraer las características de color, para esto se extraen de acuerdo al estándar RGB (Red Green Blue), en Redes Neuronales Feed Forward: donde cada color tiene un máximo de doscientos cincuenta y cinco (255) y un mínimo de cero (0). Es una red neuronal artificial donde las conexiones entre las unidades no forman un ciclo. Estas son diferentes de las redes Inicialmente se extrae el color rojo (R) lo que nos deja la neuronales recurrentes. siguiente imagen: La red neuronal prealimentada fue la primera y más sencilla forma de red neuronal artificial ideada. En esta red, la información se mueve en una única dirección: adelante. De los nodos de entrada, a través de los nodos escondidos (si los hay) hacia los nodos de salida. No hay ningún ciclo o bucle en estas redes. Teuvo Kohonen, debido a lo cual en ocasiones son llamadas redes o mapas de Kohonen.
Al igual que la mayoría de las redes neuronales artificiales, los
SOMs operan en dos modos: entrenamiento y mapeo. En el entrenamiento construye el mapa usando ejemplos entrenantes, mientras que en el mapeo clasifica una nueva entrada.
Un mapa auto organizado consiste en componentes llamadas
Implementación: nodos o neuronas. Asociado con cada neurona hay un vector de pesos, de la misma dimensión de los vectores de entrada, y Con los datos obtenidos por el método de momentos una posición en el mapa. La configuración usual de las invariantes de Hu, se procede a crear una red neuronal de tipo neuronas es un espacio regular de dos dimensiones, en una Feed Forward, teniendo en cuenta que las entradas son los rejilla hexagonal o rectangular. Los mapas auto organizados siete momentos de Hu por cada componente RGB, es decir, describen un mapeo de un espacio de mayor dimensión a uno veintiún entradas (21), y las salidas de clasificación son cinco de menor dimensión. El procedimiento para ubicar un vector (5). Fue necesario probar varios modelos para encontrar una del espacio de los datos en el mapa es encontrar la neurona red adecuada, la cual luego de varios intentos fue: con el vector de pesos más cercano (menor distancia métrica) al vector del espacio de los datos.
Existen extensiones útiles que incluyen el uso de rejillas
toroidales donde los ejes opuestos son conectados y usan un gran número de neuronas. Se ha demostrado que mientras los SOMs con un pequeño número de neuronas tienen un comportamiento similar a las K-medias, los grandes mapas auto organizados reconfiguran los datos de forma fundamentalmente topológica en carácter. La red mostrada posee una capa oculta con una (1) neurona y una capa de salida con dos (2) neuronas, se usa el gradiente Es también común el uso de matrices U. El valor de la matriz conjugado como método de entrenamiento y además se U de una neurona en particular es la distancia promedio entre configuran 1000 iteraciones para entrenar la red. Para la capa la neurona y sus vecinos más cercanos. Por ejemplo, en una oculta se usa una función de activación de tipo tangente rejilla cuadrada se deben considerar cercanos 4 u 8 neuronas, hiperbólica sigmoidal (por defecto) y la capa de salida usa la según las vecindades de Von Neumann y Moore función softmax con cinco salidas, la cual se define por tener respectivamente. un mejor rendimiento en problemas de clasificación y usa probabilidades de pertenencia para cada clase.
Los datos de entrada provenientes del pre-procesamiento y que
son usados para el entrenamiento son solo el 80% de las imágenes de la base de datos, ya que se reserva un 20% para la posterior validación, para la cual es necesario presentar datos que no han sido vistos por la red. En grandes SOMs aparecen propiedades emergentes. En Mapas Autoorganizados de Kohonen: mapas compuestos por cientos de neuronas es posible desarrollar operaciones de agrupamiento en el propio mapa. Los mapas auto organizados son diferentes de otras redes neuronales artificiales, en el sentido que estos usan una Los mapas autoorganizados, es un algoritmo bio-inspirado en función de vecindad para preservar las propiedades las funciones cerebrales y su algoritmo de entrenamiento es el topológicas del espacio de entrada. siguiente:
Los SOMs son útiles para visualizar vistas de baja dimensión 𝑇
1. Inicializar los vectores 𝑤 = [𝑤1𝑗 , 𝑤2𝑗 , … , 𝑤𝑖𝑗 ] . de datos de alta dimensión, semejante a un escalado 2. Escoger 𝑥 = [𝑥1 , 𝑥2 , … , 𝑥𝑑 ]𝑇 . multidimensional. El modelo fue descrito por primera vez 3. Calcular similitud con los pesos: como una red neuronal artificial por el profesor finlandés ‖𝑥 − 𝑤𝑗 ‖ = min‖𝑥 − 𝑤𝑗 ‖ 4. Modificar la vecindad de la unidad ganadora: Este fue el resultado para un modelo con un tamaño de 5x5, al 𝑤𝑘+1 = 𝑤𝑘 +∝𝑘 (𝑥𝑘 − 𝑤𝑘 ) cual se le elimino el segundo momento, es decir fueron 18 5. Repetir el proceso (en gris) para un número de entradas y tubo un error de validación de 3.52%, además iteraciones. podemos notar que tiene 3 neuronas a las cuales pertenecen más de un tipo de clases. Implementación:
Como primera aproximación al problema se hacen pruebas
preliminares. Estas primeras pruebas fueron realizadas con modelos cuadrados, es decir, un arreglo de N x N, probadas en el rango de neuronas de cinco (5) a diez (10) y se prueba para el sistema completo y para el sistema sin un momento, lo que equivale a quitar 3 entradas. Para poder evaluar el sistema, se decidió etiquetar mediante colores cada una de las neuronas con los datos de entrada, de modo que a cada clase le fue asignado un color del cual sería la neurona, si en ella son clasificados los datos de únicamente un tipo de clase, en caso de que a una neurona no pertenezca ninguna clase, le será asignado el color negro, finalmente el color cian es para aquellas neuronas a las que les es asignado más de una clase. A partir de los resultados obtenidos de estas primeras pruebas Este fue el resultado para un modelo con un tamaño de 7x7, al se determinó realizar pruebas acotadas a un rango de cual se le elimino el primer momento y tubo un error de variaciones más pequeño, pero eliminando un mayor número validación de 1.32%, además podemos notar que tiene no de entradas, con la finalidad de encontrar el modelo más simple tiene neuronas a las cuales pertenecen más de un tipo de que funcione de manera satisfactoria, los criterios escogidos clases. para determinar cuál sería el modelo que cumpla dichas características son las siguientes:
El modelo no tenga ninguna neurona que comparta
clases (su grafica no tenga puntos cianes). Debe tener un error mínimo cercano a cero (0). El tamaño del arreglo sea el menor posible. El número de entradas sea el menor.
En las siguientes figuras se ven algunas de las primeras
pruebas, en las que se varió el tamaño del arreglo y el número de entradas y de las cuales se establecieron los criterios mencionados anteriormente.
Finalmente, este resultado es para un modelo con un tamaño
de 10x10, al cual no se le elimino ningún momento y tubo un error de validación de 1.14%, además podemos notar que tiene no tiene neuronas a las cuales pertenecen más de un tipo de clases.
En los anteriores ejemplos se evidencia el motivo de los
criterios escogidos, el primer criterio se evidencia en la primera imagen de ejemplo, la cual tiene el peor desempeño de las tres mostradas, y a su vez fue la que tuvo una neurona con una más de una clase asignada, por ende si para una entrada es asignada dicha neurona existen dos posibles opciones, asignar permanentemente una clase a dicha neurona, o seleccionar de manera arbitraria, mediante una variable aleatoria alguna de las posibles clases, pero en ambos casos se Por último, se grafica la matriz de confusión de la red, la cual incurrirá eventualmente en un error, por consiguiente esto es es la siguiente: poco deseable. El motivo del segundo criterio es evidente, ya que siempre será deseable obtener el menor error de validación (generalización). El motivo del tercer criterio se evidencia en el segundo y tercer ejemplo, donde es notorio como los errores de validación no son demasiado lejanos entre sí, siendo el del tamaño de 10x10, menor con 1.14%, y el de 7x7 algo mayor con 1.32%, sin embargo, su tamaño si es drásticamente diferente, conteniendo uno 100 neuronas, y el otro aproximadamente la mitad con 49, asi que se obtienen resultados similares por la mitad del costo computacional. Finalmente, el motivo del ultimo criterio consiste en encontrar una primera aproximación a cuál es la cantidad de información mínima para poder resolver nuestro problema, representado en encontrar el modelo con menor número de entradas.
Ya con las reglas definidas se procede a hacer una segunda
prueba en el que se agrupan los errores según el tamaño del arreglo que se varió de seis (6) a ocho (8) y el número de entradas, es decir, con todas las entradas y luego quitando de uno a tres momentos de Hu. Se optó por una manera simple de quitar entradas, de manera que se quitaron únicamente de modo consecutivo, dando como resultado un total de 19 tipos Mapas Autoorganizados de Kohonen: de variaciones por cada modelo de NxN, dando un total de 57 posibles modelos. Una vez realizadas las pruebas, obtenemos los errores de VIII. ANÁLISIS DE RESULTADOS validación dividiendo los resultados en 12 grupos, los cuales dependen del tamaño de la matriz del mapa auto organizado y Redes Neuronales Feed Forward: el número de momentos de Hu utilizados. Los mínimos por grupo se muestran en la siguiente tabla: Luego de entrenar y validar se obtiene un error porcentual de cero (0%) y se tiene la gráfica de desempeño (performance) Tamaño N x N Momentos de Hu Error mínimo mostrada a continuación: 6 7 3.9150 6 6 1.6779 6 5 1.6779 6 4 4.1387 7 7 2.0134 7 6 1.0067 7 5 1.3423 7 4 2.0134 8 7 1.1186 8 6 1.1186 8 5 1.0067 8 4 0.8949
De cada uno de estos grupos fue seleccionado el mínimo, para
cumplir con el segundo criterio (mínimo más cercano a cero), además fueron descartados aquellos resultados que no cumplieran con el primer criterio (que cada neurona pertenezca a solo una clase o a ninguna). Para seleccionar el mejor modelo basta con escoger con base en el tercer y cuarto criterio (menor tamaño y menor número de entradas respectivamente), sin embargo, es necesario antes cuestionarse que es más importante a la hora de encontrar la pre-procesamiento es bueno y la base de datos solución, si se desea obtener el menor error de validación a presenta las frutas sin un fondo definido. cualquier costo computacional, o se desea un balance entre el Se observó que el modelo con mapas auto organizados error y el costo computacional, para este caso particular, se puede disminuir su complejidad sin afectar demasiado optó por la segunda opción, donde no se tomó en cuenta el error de generalización. necesariamente el menor error de validación, sino uno Las pruebas con el número de entradas para los mapas pequeño, pero que tuviera poca carga computacional, y el autoorganizados fueron hechas de manera muy número de entradas fuera pequeño, por consiguiente el modelo simple, con buenos resultados, sin embargo aún queda escogido fue el de 8 x 8, al que se le quitan 3 momentos de por explorar una mayor variedad de posibilidades, Hu, es decir, 9 entradas, debido a que el modelo de 6x6 quitando los momentos de manera no consecutiva, e irremediablemente contenía neuronas a las cuales se les incluso retirando algunas entradas, ya que puede que asignaba más de 1 clase, y el modelo de 7x7 tenían una carga los momentos de cada componente de color no tengan computacional 1.3 veces mayor (64 neuronas vs 49 neuronas), la misma importancia, dichas pruebas no fueron pero para el mismo número de entradas el error de validación realizadas para este proyecto debido a que la es 2.24 veces más pequeño, siendo el menor error de combinatoria para 21 entradas eliminándolas validación de 3 entradas y de todos los modelos, el modelo sistemáticamente hasta obtener tan solo una seria seleccionado se muestra en la siguiente gráfica: demasiado grande. REFERENCIAS
[1] “Poblacion” Naciones unidas. Disponible en:
https://www.un.org/es/sections/issues-depth/population/index.html [2] KirtanJha, AalapDoshi, PoojanPatel, MananShah, “A comprehensive review on automation in agriculture using artificial intelligence,” in Artificial Intelligence in Agriculture, Volume 2, June 2019, Pages 1-12. Disponible en: https://www.sciencedirect.com/science/article/pii/S2589721719300182 [3] Hossam M. Zawbaa, Maryam Hazman, Mona Abbass, Aboul Ella Hassanien - Automatic fruit classification using random forest algorithm. [4] Ansar Suyuti, Intan Sari Areni, Ingrid Nurtanio - Classification on Passion Fruit’s Ripeness using K-Means Clustering and Artificial Neural Network. [5] Guoxiang Zeng - Fruit and Vegetables Classification System Using Image Saliency and Convolutional Neural Network. [6] Evi Dewi Sri Mulyani, Susanto, Jeni Poniman - Classification of Maturity level of Fuji Apple Fruit With Fuzzy Logic Method. [7] Siyuan Lu, Zhihai Lu, Soriya Aok, Logan Graham - Fruit Classification Based on Six Layer Convolutional Neural Network. [8] Zaw Min Khaing, Ye Naung, Phyo Hylam Htut - Development of Control IX. CONCLUSIONES System for Fruit Classification Based on Convolutional Neural Network. [9] Izadora Binti Mustaffa, Syawal Fikri Bin Mohd Khairul - Identification Se definió que el mejor error para evaluar las redes fue of Fruit Size and Maturity Through Fruit Images Using OpenCV-Python el error porcentual, dado que es un problema de and Raspberry Pi. clasificación. [10] Shreya Lal, Santi Kumari Behera, Prabira Kumar Sethy, Amiya Kumar Rath - Identification and Counting of Mature Apple Fruit Based on BP Se encontró que el error de generalización en el Feed Forward Neural Network. modelo feed forward es cero (0), esto se debe a que el