clasificador de imágenes de frutas basado en inteligencia artificial · 2019-08-03 · vol. 1, no....

10
K T Artículo de Investigación. Revista Killkana Técnica. Vol. 1, No. 2, pp. 21-30, Mayo-Agosto, 2017. p-ISSN 2528-8024 / e-ISSN 2588-0888. Universidad Católica de Cuenca Clasificador de imágenes de frutas basado en inteligencia artificial Fruit image classifier based on artificial intelligence Diego Heras Universidad Católica de Cuenca Cuenca, 010150, Ecuador [email protected] Resumen Las aplicaciones de visión artificial y el análisis de imágenes son capaces de resolver varios problemas del sector industrial, científico o de seguridad en la actualidad. La clasificación de imágenes es muy útil en la automatización de procesos en una empresa. Para realizar una tarea de clasificación de imágenes se requiere hacer la extracción de características que identifiquen a cada tipo de imagen como por ejemplo: color, forma, textura. En el presente trabajo se requiere implementan los algoritmos para la construcción de un clasificador de imágenes de frutas basado en la extracción de las características del color de las imágenes en determinadas regiones de interés. Para el desarrollo del clasificador de imágenes de frutas se utiliza la técnica de extracción del histograma a color en tres dimensiones y con la implementación de algoritmos de inteligencia artificial se efectúa la clasificación automática de imágenes. El conjunto de datos utilizado consiste en: cuatro clases de frutas con el número variable de imágenes por cada clase, luego se preparan las imágenes seleccionando las regiones de interés mediante técnicas de enmascaramiento y se las divide en dos grupos de datos: Los datos de entrenamiento y los datos de prueba. Luego de entrenado el clasificador, se realizan pruebas de clasificación para evaluar la eficacia del clasificador de imágenes de frutas. Esta metodología de construcción e implementación del clasificador se puede usar en varias aplicaciones según las clases de imágenes de objetos a analizar en casos similares y automatizar procesos de clasificación y reconocimiento de objetos. Palabras clave: Color, clasificador, histograma, inteligencia artificial, imágenes, python, visión artificial. Abstract Machine vision and image analysis applications are nowadays capable of solving various problems in the industrial, scientific or safety sectors. Image classification is very useful for the automation of processes in a company. In order to perform an image classification task, the features identifying each kind of image, such as color, shape, and texture, must be extracted. In the present work, it is necessary to implement the algorithms for the construction of a fruit image classifier, based on image color features extraction in certain regions of interest. For developing the fruit image classifier, the three- dimensional color histogram extraction technique is used, and with the implementation of artificial intelligence algorithms, image automatic classification is accomplished. The dataset used consists of: four fruit types with a varied number of images per class, then the images are prepared by selecting regions of interest through the use of masking techniques and they are then divided into two datasets: training data and test data. After the classifier is trained, classification tests are performed to evaluate the effectiveness of the fruit image classifier. This classifier implementation and construction methodology can be used in various applications, depending on the types of object images to be analyzed in similar conditions, and to automate classification and object recognition processes. Key words: Color, classifier, histogram, artificial intelligence, images, python, artificial vision. I. I NTRODUCCIÓN E N la actualidad los sistemas de visión artificial se em- plean cada vez más en la industria agroalimentaria en procesos de inspecciones de calidad o clasificación, ya que permiten automatizar las prácticas manuales y estandarizan técnicas y eliminan costosas tareas humanas de inspección. La mayor ventaja es la objetividad y consistencia en largos periodos de tiempo ya que la objetividad de la visión humana sufre de limitaciones en la percepción visual [1]. Los sistemas de visión por computador son potentes herramientas para la inspección automática de frutas y verduras. Los objetivos de las aplicaciones típicas de tales sistemas incluyen la clasificación, estimación de la calidad según características externas o internas, el seguimiento de los procesos de la fruta durante el almacenamiento o la evaluación de los tratamientos experimentales. Las capacidades de un sistema de visión por computador van mas allá de la limitada capacidad humana, ya que permiten evaluar a largo plazo los procesos de forma objetiva [2]. En los procesos de clasificación manual existe un riesgo relativamente elevado de error humano, ya que las de- cisiones tomadas por los operarios se ven afectadas por factores psicológicos tales como la fatiga o los hábitos Revista Killkana Técnica. Vol. 1, No. 2, Mayo-Agosto, 2017

Upload: others

Post on 11-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Clasificador de imágenes de frutas basado en inteligencia artificial · 2019-08-03 · Vol. 1, No. 2, Mayo-Agosto, 2017. Clasificador de imágenes de frutas basado en inteligencia

KT Artículo de Investigación. Revista Killkana Técnica. Vol. 1, No. 2, pp. 21-30, Mayo-Agosto, 2017.p-ISSN 2528-8024 / e-ISSN 2588-0888. Universidad Católica de Cuenca

Clasificador de imágenes de frutas basado en inteligencia artificial

Fruit image classifier based on artificial intelligence

Diego HerasUniversidad Católica de Cuenca

Cuenca, 010150, [email protected]

Resumen

Las aplicaciones de visión artificial y el análisis de imágenes son capaces de resolver varios problemas del sector industrial,científico o de seguridad en la actualidad. La clasificación de imágenes es muy útil en la automatización de procesosen una empresa. Para realizar una tarea de clasificación de imágenes se requiere hacer la extracción de característicasque identifiquen a cada tipo de imagen como por ejemplo: color, forma, textura. En el presente trabajo se requiereimplementan los algoritmos para la construcción de un clasificador de imágenes de frutas basado en la extracción delas características del color de las imágenes en determinadas regiones de interés. Para el desarrollo del clasificador deimágenes de frutas se utiliza la técnica de extracción del histograma a color en tres dimensiones y con la implementaciónde algoritmos de inteligencia artificial se efectúa la clasificación automática de imágenes. El conjunto de datos utilizadoconsiste en: cuatro clases de frutas con el número variable de imágenes por cada clase, luego se preparan las imágenesseleccionando las regiones de interés mediante técnicas de enmascaramiento y se las divide en dos grupos de datos: Losdatos de entrenamiento y los datos de prueba. Luego de entrenado el clasificador, se realizan pruebas de clasificaciónpara evaluar la eficacia del clasificador de imágenes de frutas. Esta metodología de construcción e implementación delclasificador se puede usar en varias aplicaciones según las clases de imágenes de objetos a analizar en casos similares yautomatizar procesos de clasificación y reconocimiento de objetos.

Palabras clave: Color, clasificador, histograma, inteligencia artificial, imágenes, python, visión artificial.

Abstract

Machine vision and image analysis applications are nowadays capable of solving various problems in the industrial,scientific or safety sectors. Image classification is very useful for the automation of processes in a company. In order toperform an image classification task, the features identifying each kind of image, such as color, shape, and texture, must beextracted. In the present work, it is necessary to implement the algorithms for the construction of a fruit image classifier,based on image color features extraction in certain regions of interest. For developing the fruit image classifier, the three-dimensional color histogram extraction technique is used, and with the implementation of artificial intelligence algorithms,image automatic classification is accomplished. The dataset used consists of: four fruit types with a varied number ofimages per class, then the images are prepared by selecting regions of interest through the use of masking techniquesand they are then divided into two datasets: training data and test data. After the classifier is trained, classification testsare performed to evaluate the effectiveness of the fruit image classifier. This classifier implementation and constructionmethodology can be used in various applications, depending on the types of object images to be analyzed in similarconditions, and to automate classification and object recognition processes.

Key words: Color, classifier, histogram, artificial intelligence, images, python, artificial vision.

I. INTRODUCCIÓN

EN la actualidad los sistemas de visión artificial se em-plean cada vez más en la industria agroalimentaria en

procesos de inspecciones de calidad o clasificación, ya quepermiten automatizar las prácticas manuales y estandarizantécnicas y eliminan costosas tareas humanas de inspección.La mayor ventaja es la objetividad y consistencia en largosperiodos de tiempo ya que la objetividad de la visiónhumana sufre de limitaciones en la percepción visual [1].

Los sistemas de visión por computador son potentesherramientas para la inspección automática de frutas y

verduras. Los objetivos de las aplicaciones típicas de talessistemas incluyen la clasificación, estimación de la calidadsegún características externas o internas, el seguimientode los procesos de la fruta durante el almacenamientoo la evaluación de los tratamientos experimentales. Lascapacidades de un sistema de visión por computador vanmas allá de la limitada capacidad humana, ya que permitenevaluar a largo plazo los procesos de forma objetiva [2].

En los procesos de clasificación manual existe un riesgorelativamente elevado de error humano, ya que las de-cisiones tomadas por los operarios se ven afectadas porfactores psicológicos tales como la fatiga o los hábitos

Revista Killkana Técnica. Vol. 1, No. 2, Mayo-Agosto, 2017

Page 2: Clasificador de imágenes de frutas basado en inteligencia artificial · 2019-08-03 · Vol. 1, No. 2, Mayo-Agosto, 2017. Clasificador de imágenes de frutas basado en inteligencia

22 Diego Heras

adquiridos. Un estudio llevado a cabo con diferentes va-riedades de manzanas, donde personal cualificado comparóvarios parámetros de forma, tamaño y color, mostró lalimitada capacidad humana para reproducir la estimaciónde la calidad, lo que los autores definen como “inconsis-tencia” (Miller, 1991; Paulus et al., 1997). La visión porcomputador está simplificando estos tediosos y subjetivosprocesos de control de calidad en la industria [2].

Por otra parte la extracción de características o informa-ción de imágenes se puede realizar por diversos métodoscomo: textura, tamaño, color, entre otras.

Se implementa un clasificador de imágenes basado enla extracción del ”histograma RGB” en tres dimensionescomo característica que identifica la clase de imagen. Luegode extraída esta información proveniente de un banco deimágenes previamente digitalizadas, se entrena a una má-quina de aprendizaje supervisado para una posterior evalua-ción en el reconocimiento y clasificación de las imágenesde frutas.

El objetivo del presente trabajo es el de implementarun clasificador de imágenes de frutas basado en algoritmosde inteligencia artificial que permita clasificar imágenes defrutas en función de los colores característicos como pará-metros únicos de identificación y clasificación de imágenes.

II. FUNDAMENTOS ESENCIALES PARA LACONSTRUCCIÓN DEL CLASIFICADOR DE IMÁGENES

DE FRUTAS

La finalidad de la visión artificial es la de extraer infor-mación del mundo físico mediante imágenes y con el usode un computador, se trata de cuantificar detalles del mundoreal como: el brillo, el color, la forma, que pueden provenirde imágenes estáticas, tridimensionales o de vídeo [3].

A lo largo de los años se han estudiado muchos funda-mentos que han dado forma a la ciencia de la visión artifi-cial y gracias al avance de nuevos computadores con mayorcapacidad de procesamiento se pueden realizar operacionesmatriciales de imágenes en tiempo real.

A. Digitalización de imágenes

Las imágenes son digitalizadas y representadas comomatrices dimensionales donde cada elemento de la matrizcorresponde a un valor numérico específico. A cada ele-mento de la matriz se le denomina “Pixel” y es la unidadmás pequeña que compone una imagen.

Adquirir imágenes digitales es pasar la información deun objeto tridimensional del mundo real a una imagenbidimensional, desde un espacio continuo a un espaciodiscreto de información, esto se lleva acabo mediante unalente que adquiere la imagen y la plasma en un dispositivodigital sensible a la luz como un dispositivo de cargaacoplada (CCD). Luego esta información es muestreada ycuantizada.

La imagen digitalizada y cuantizada es representada enforma de una matriz numérica donde cada pixel puede serubicado por un par coordenado I(x, y).

FIG. 1. Representación matricial de una imagen en escala de grises y deuna imagen a color.

Según la información del brillo contenido en cada pixelde una imagen se la puede clasificar como:1) Imágenes bitonales:

Compuestas de dos colores, negro con un valor de 0 yblanco con un valor de 255

2) Imágenes en escala de grises:Compuestas de una gama de 256 niveles de grises ensu representación

3) Imágenes a color:Compuestas de tres matrices monocromáticas con 256niveles de representación: Rojo, verde y azul, es decirde sus siglas en inglés (RGB) [3].

En la Fig. 1, se puede apreciar una imagen monocro-mática y otra imagen a color definida por tres matricesmonocromáticas en los colores: rojo (R), verde (G) y azul(B).

La Fig.2 muestra el proceso de captura y digitalizaciónde una imagen y sus posibles representaciones.

FIG. 2. a) Captura de una imagen con un dispositivo pasivo digital. En b)imagen muestreada en formato de una matriz (MxN). En c) los tres tiposde imágenes digitales con su tamaño en bytes.

La adquisición de la imagen es la parte más importantede la clasificación, ya que representa la materia primapara el procesamiento de la imagen que logra obtenerun reconocimiento exitoso o fallido. Si la imagen no esapropiada, el algoritmo por robusto que sea no alcanza adar los resultados esperados [4].

Al manipular imágenes digitalizadas se trabaja a nivelmatricial con la ayuda de los pos principios del álgebralineal, es decir con operaciones matriciales. Para ello serequiere del uso de software matemático-científico pararealizar operaciones a nivel matricial. Se utilizó el lenguaje

Revista Killkana Técnica. Vol. 1, No. 2, Mayo-Agosto, 2017

Page 3: Clasificador de imágenes de frutas basado en inteligencia artificial · 2019-08-03 · Vol. 1, No. 2, Mayo-Agosto, 2017. Clasificador de imágenes de frutas basado en inteligencia

Clasificador de imágenes de frutas basado en inteligencia artificial 23

de programación Python y el interface de usuario “Spyder”,que integra funciones y módulos avanzados para la compu-tación matemática y científica.

La constitución de un sistema de visión artificial apli-cado a la clasificación de objetos consta principalmente detres bloques importantes: el bloque de pre-procesamiento,el bloque de segmentación y el bloque de conteo de objetos.Durante el pre-procesamiento se lee la imagen y se obtienela matriz tridimensional con vectores de intensidad de pixe-les en los canales rojo, verde y azul (RGB), adicionalmentese mejora la calidad de la información de los vectoreseliminando el fondo y sobras, definiendo de esta forma alobjeto dentro de una región de interés [2].

B. Preparación de los datos

Al digitalizar las imágenes en matrices numéricas estasse deben normalizar a un ancho estándar, que en este casoserá de 500 pixeles de ancho. El redimensionamiento deimágenes es parte de los procesos de transformación de laimagen. Para redimensionar una imagen sin distorsionar suaspecto se utiliza el parámetro “ratio” designado con la letra(r)

El valor del ratio se puede calcular mediante la ecuación:

r =nuevo ancho

ancho actual. (1)

Las dimensiones de re-dimensionamiento para la imagenserían: [(nuevo ancho)× (alto actual × r)]

De esta forma las imágenes digitalizadas tendrán unancho estándar y se facilitará su manipulación matricial.

Se debe tomar en cuenta al momento de adquirir las imá-genes que estas tengan un contraste equilibrado con la ayu-da de una buena iluminación para no perder informaciónrelevante. Se realiza una ecualización del histograma paramejorar la calidad de las imágenes y mejorar la informaciónen la extracción.

C. Extracción de características

La extracción de características de una imagen se puederealizar a través de algunos cuantificadores como: textura,color, forma, tamaño, cantidad, histogramas, etc.

El color de un pixel es una imagen se expresa contres coordenadas en un espacio de color. Los más ampliamente utilizados en ordenadores e imágenes digitales so losespacios basados en los colores primarios rojo, verde y azul(RGB). Cuando los objetos inspeccionados tienen diferen-tes colores, a menudo una simple relación entre ellos puedediscriminarlos, lo que ahorra tiempo de procesamiento [9].

Para el presente trabajo se implementa una técnica parala extracción de características en imágenes basado en elhistograma de color “3D RGB”.

Un histograma de color representa la distribución deintensidades en los pixeles que contiene una imagen ya seade un color base o en escala de grises [10].

La gráfica del histograma de una imagen monocromáticarepresenta: en el eje horizontal los niveles de gris que

pueden aparecer y en el eje vertical la altura en cada nivel degris del histograma como el número de pixeles de la imagenque representan ese nivel de gris respectivamente. A estehistograma se lo puede catalogar como un histograma decolor en una dimensión [10].

La Fig.3 muestra el histograma en una dimensión de unaimagen monocromática y los tres histogramas unidimensio-nales pertenecientes a una imagen de color sobrepuestos enun mismo gráfico.

FIG. 3. En la parte superior se representa a una imagen monocromática,en la parte inferior tres imágenes monocromáticas sobrepuestas de cadacanal pertenecientes a una imagen de color.

El histograma de la Fig.3 representa una imagen con pre-dominancia de colores obscuros puesto que los picos másaltos se encuentran a la izquierda en los niveles cercanos alcero.

Por otra parte, en un “histograma 3D RGB” el primer ejerepresenta la escala de intensidades del color rojo (R), elsegundo eje la escala de intensidades del color verde (G),el tercer eje representa la escala de intensidades del colorazul (B), finalmente un cuarto eje representa el numero depixeles de las intersecciones de las tres matrices [8].

Por su naturaleza un “Histograma 3D RGB” no se pue-de representar gráficamente puesto que se trata de cuatrodimensiones pero se puede procesar mediante matricesmultidimensionales.

La característica del “Histograma 3D RGB” en cadaimagen o clase de imagen es única y se refiere al colorcaracterístico de cada imagen.

Extraer la característica de un objeto único en una ima-gen requiere una aplicación directa de la extracción del“histograma 3D RGB”, pero extraer esta característica deun objeto en una imagen que contiene varios objetos se deberealizar mediante el enmascaramiento de la imagen.

El enmascaramiento aisla en la imagen el objeto o regiónde interés (ROI), es decir, una imagen aislada con un fondonegro. La Fig.4 muestra la imagen de una manzana, yaque el propósito de estudio es caracterizar el color de lamanzana, la máscara resultante es la expuesta [10].

Revista Killkana Técnica. Vol. 1, No. 2, Mayo-Agosto, 2017

Page 4: Clasificador de imágenes de frutas basado en inteligencia artificial · 2019-08-03 · Vol. 1, No. 2, Mayo-Agosto, 2017. Clasificador de imágenes de frutas basado en inteligencia

24 Diego Heras

FIG. 4. A la izquierda se encuentra la máscara de la imagen, a la derechala imagen enmascarada.

La información proporcionada por la extracción del“Histograma 3D RGB” de una imagen enmascarada pro-porcionará más información pertinente a los propósitos deestudio.

En la Fig.5 se puede apreciar la diferencia de informa-ción extraída de una imagen sin enmascarar y una enmas-carada.

FIG. 5. En la parte superior está el histograma de una imagen sin enmas-carar, en la parte inferior se encuentra el histograma de la misma imagenpero enmascarada

La creación de mascaras se puede efectuar automática-mente mediante algoritmos de umbralización de imágenes.

La umbralización o “Thresholding” es la binarizaciónde imágenes, es decir determinar el valor (T ) del color obrillo de los pixeles en un objeto de una imagen, luegotransformar la imagen mediante la siguiente ecuación:

q =

0 para p ≤ T

255 para p > T(2)

Esta operación se puede interpretar como un sistema endonde la imagen de entrada con pixeles p(x, y) ingresa alsistema y este entrega una imagen de salida o binarizadacon pixeles q(x, y).

La función de umbralización de la Ec.2 transforma lospixeles con un valor menor igual a T a cero, es decir decolor negro y todos los valores mayores a T se transformana un valor de 255, es decir color blanco, esto generará unamáscara binaria determinada.

D. Máquinas de aprendizaje supervisado

Las máquinas de aprendizaje han evolucionado como unsub-campo de la Inteligencia Artificial y se clasifican de lasiguiente manera:

FIG. 6. Tipos de máquinas de aprendizaje.

Debido a la naturaleza de los datos del presente trabajose utiliza una máquina de aprendizaje supervisado.

El objetivo principal en el aprendizaje supervisado esque un modelo aprenda a partir de un grupo de datosde entrenamiento etiquetados y luego nos permitirá hacerpredicciones sobre datos ocultos o futuros. Aquí, el términosupervisado se refiere a un conjunto de muestras donde yase conocen las señales de salida deseadas (las etiquetas) [5].

La máquina de aprendizaje supervisado “aprende” de ungrupo de datos previamente etiquetados para el entrena-miento. En otras palabras se ingresa un dato característicode una imagen a la máquina y al mismo tiempo se le dala respuesta, es decir el nombre de la imagen o ”etiqueta”,de esta forma la máquina aprende por iteración de variasimágenes [6].

Esta tarea aplicada a una máquina de aprendizaje se laconoce como “clasificación” puesto que se entrenan variasclases de imágenes para aplicar futuros reconocimientos oclasificaciones automáticas.

El procedimiento de aprendizaje supervisado aplicadoen la clasificación de imágenes se resume a en la Fig.7

FIG. 7. Proceso del aprendizaje supervisado con imágenes.

Revista Killkana Técnica. Vol. 1, No. 2, Mayo-Agosto, 2017

Page 5: Clasificador de imágenes de frutas basado en inteligencia artificial · 2019-08-03 · Vol. 1, No. 2, Mayo-Agosto, 2017. Clasificador de imágenes de frutas basado en inteligencia

Clasificador de imágenes de frutas basado en inteligencia artificial 25

El proceso de entrenamiento parte del conjunto de da-tos que es un vector de características del “HistogramaRGB” de todas las imágenes etiquetadas, luego el conjuntode datos se divide en dos subconjuntos:“Training data” y“Testing data” respectivamente. El “Training data” entrenaa la máquina de aprendizaje por medio del vector de ca-racterísticas y su respectivo vector de etiquetas “Labels”.Una vez entrenada la máquina se efectúan pruebas con el“Testing data” para obtener un reporte de la efectividad delas pruebas en la clasificación. Finalmente se dispone unconjunto de datos adicionales nombrado como “Validationdata” que no es parte del conjunto de datos iniciales ”Dataset” y que sirve para validar el funcionamiento final delclasificador de imágenes [6].

El modelo de clasificador utilizado para esta tarea es“Random Forest” que está basado en árboles de decisióny tiene un buen rendimiento en tareas de clasificación.

El funcionamiento de un árbol de decisión se puedeexplicar mediante la Fig.8

FIG. 8. Funcionamiento de un árbol de decisión.

En la Fig.8 para entrenar la máquina se ingresa un dato(la raíz) y al mismo tiempo se expone su etiqueta (hojasuperior final) el algoritmo “Random Forest” genera inter-namente nodos de decisión y ramificaciones hasta llegar ala hoja final. Esto es un proceso iterativo que crea muchasopciones para la clasificación de clases de datos (diferenteshojas finales).

Un solo árbol de decisión podría generar funciones bas-tante complejas y por esto ser propenso a funcionar bajoreglas excesivas de aprendizaje generadas que funcionansolo con el conjunto de datos de entrenamiento. Para evitaresto se puede limitar el número de reglas que aprende,como por ejemplo limitar el número de capas de un arbol atres. Este árbol aprenderá las mejores reglas para dividir elconjunto de datos a nivel global, y no aprenderá reglas muyespecíficas que separarían al conjunto de datos en grupos

FIG. 9. Metodología propuesta en el desarrollo del trabajo.

altamente precisos. Esta compensación da como resultadoárboles que poseen una buena generalización, pero un ren-dimiento más pobre. Se compensa esto generando muchosarboles de decisión y que luego cada uno prediga el valorde la clase. Luego se toma un voto mayoritario y usa esarespuesta como nuestra predicción general. Los bosquesaleatorios trabajan en este principio [7].

En definitiva la máquina de aprendizaje supervisado“Random Forest” combina varios arboles de decisión paraformar uno más grande y robusto.

El algoritmo Random Forest"se encuentra implementadoen el módulo para python ”scikit-learn” y con el nombre:”RandomForestClassifier”.

III. MATERIALES Y METODOLOGÍA DE TRABAJO

A. Materiales

Los materiales utilizados son:1) Cámara fotográfica digital con flash y auto enfoque:2) Memoria SD de 8G clase 103) Computador Laptop PC con conexión a internet

B. Metodología

La metodología propuesta para el desarrollo del clasifi-cador de imágenes de frutas se puede apreciar en la FiguraFig.9

Para solucionar la problemática de clasificación de imá-genes de frutas se toma en cuenta los siguientes aspectos:1) Se requiere automatizar el proceso de clasificación de

imágenes de fruta para una variedad de aplicaciones yasea en tiempo síncrono o asincrónico.

2) La clasificación va depender exclusivamente de lascaracterísticas del color de la fruta, ya que se debedefinir de antemano los objetos a analizar.

El conjunto de imágenes adquiridas consiste en unarecolección de imágenes de internet y de elaboración pro-pia. El conjunto completo resulto en diferente número de

Revista Killkana Técnica. Vol. 1, No. 2, Mayo-Agosto, 2017

Page 6: Clasificador de imágenes de frutas basado en inteligencia artificial · 2019-08-03 · Vol. 1, No. 2, Mayo-Agosto, 2017. Clasificador de imágenes de frutas basado en inteligencia

26 Diego Heras

FIG. 10. Algoritmo que se encarga de importar las direcciones de lasimágenes en formato matricial en código Python.

fotografías por cada una de las cuatro clases de frutas queen total suman ochenta y tres imágenes.

Debido a la variedad de fuentes de adquisición de lasimágenes, estas se normalizaron a un formato y tamañoadecuados.

Se debe identificar en cada imagen las regiones de inte-rés (ROI) y elaborar las máscaras respectivas.

Se divide el conjunto total de datos en dos subconjuntosy se adquiere uno adicional:1) Conjunto de datos de entrenamiento2) Conjunto de datos de prueba3) Conjunto de datos de validación

Se implementa el algoritmo de clasificación y se entrenaa la máquina de aprendizaje ”Random Forest” con el con-junto de datos de entrenamiento, luego se evalúa el clasifi-cador con el grupo de datos de prueba. Una vez realizadala prueba se debe analizar el reporte de clasificación, si estetiene un porcentaje alto de recuperación en la clasificaciónde imágenes superior al noventa por ciento se debe probarel conjunto de datos de validación.

IV. DESARROLLO DEL CLASIFICADOR

1. Diseño

Para la construcción de clasificador se debe tomar encuenta las siguientes implementaciones que nos permitiránoperar con las imágenes:

Para cargar las imágenes se utilizó el siguiente algoritmodescrito en la Fig.10:

En la Fig.10, se importan las librerías necesarias de lalínea 2 a la línea 5, las líneas 7, 9, 13 y 16, se encargande cargar las direcciones de las imágenes contenidas enun directorio determinado, esto se logra al ingresar uncomando inicial en el terminal de Ipython que ejecuta elalgoritmo en un archivo (*.py) y con los directorios indica-dos de la siguiente forma por ejemplo: ” %run archivo.py-im imagenes/frutas/”

En la Fig.11, en las lineas que van de la 20 a la 25 conun bucle “for” se leen las direcciones de las imágenes yse las guarda en el vector “dir-im-it”, en la linea 25 selee y convierte en cada iteración una imagen en un arreglomatricial.

FIG. 11. Algoritmo que permite iterar sobre las direcciones de las imáge-nes de un directorio determinado y guardarlas en un vector de direcciones”dir − im− it”.

FIG. 12. Algoritmo de Re-dimensionamiento de imágenes.

Se debe estandarizar las imágenes a un mismo tamaño,para esto se implementó el siguiente algoritmo basado enlas operaciones de transformación básicas de la imagencomo se ve en la Fig.12:

En la Fig.12, Se itera sobre el vector de las direccionesdelas imágenes cargados previamente en los algoritmos delas figuras Fig.10 y Fig.11, donde en la línea 15 se calcula elparámetro ratio que permite re-dimensionar cada imagen aun ancho estándar de 500 píxeles por su proporcional dealtura para mantener el aspecto de cada imagen y luegoalmacenarla y re-nombrarla en la misma carpeta destinocon las líneas: 19, 23, 26 y 27.

Para generar las mascaras de las imágenes y poder resal-tar las regiones de interés de cada imagen utilizaremos laimplementación del algoritmo de Otsu con auto-deteccióndel valor “tresholding” (T). Dicho algoritmo implementadoen el lenguaje python se expone en la Fig.13:

En la Fig.13, en la línea 16 se itera sobre el vectorde dirección y nombres de las imágenes guardadas pre-viamente “dir-imag”, y en la linea 17 se van cargando encada iteración las imágenes, en la línea 19 se transformacada imagen de color en monocromática. En la línea 20se ecualiza la imagen mediante la técnica del histograma.

FIG. 13. Generación de máscaras con el algoritmo de Otsu y detecciónautomática del valor de umbralización T.

Revista Killkana Técnica. Vol. 1, No. 2, Mayo-Agosto, 2017

Page 7: Clasificador de imágenes de frutas basado en inteligencia artificial · 2019-08-03 · Vol. 1, No. 2, Mayo-Agosto, 2017. Clasificador de imágenes de frutas basado en inteligencia

Clasificador de imágenes de frutas basado en inteligencia artificial 27

FIG. 14. Algoritmo de extracción del vector de características del “Histo-grama 3D-RGB” de una imagen.

En la linea 23 se aplica un filtro de Gauss para suavizarla imagen. En la línea 25, previamente cargada la librería“mahotas” se accede a la función “tresholding.otsu()” y seextrae de la imagen el valor de umbralización tresholding“T”. Finalmente en la línea 27 se crea la máscara de cadaimagen y se almacena en “thres”, para posteriormente serguardada en el mismo directorio con un nombre y formatodeterminado.

La característica principal que fundamenta la clasifica-ción de imágenes de frutas es mediante la extracción del“Histograma 3D RGB”y la aplicación de la máquina deaprendizaje supervisado “Random Forest” en la clasifica-ción. El algoritmo de extracción de características medianteel “histograma 3D-RGB” se puede apreciar en la Fig.14

En la Fig.14, Se definen dos funciones “histo-RGB()” y“describe()”, donde en la en la línea 3 se importa la libreríaespecializada para visión artificial “OpenCV” que propor-ciona algunas funciones de pre-procesamiento, procesa-miento y de clasificación de imágenes. En la línea 6 y 9 seinicializa la variable de resolución de los canales de coloresde las imágenes a operar. En la línea 11 se crea la función“describe()” en la que se deben ingresar dos parámetrosde entrada: la imagen y su respectiva máscara en formatomatricial. En la línea 13 se calcula el histograma 3D-RGB,mediante la función “calcHist()” donde se ingresan cincoparámetros: la imagen digitalizada, número de canales, lamáscara, el número de bines en formato de lista y el rangocromático de cada canal de color, la extracción se almacenaen la variable “histo”. En la línea 18 se normalizan losvalores y en la línea final se aplana esta matriz en un vectorplano.

Vale recalcar que el presente proyecto se basa en unexperimento controlado, puesto que en la adquisición deimágenes se puede modificar algunos parámetros externosque mejoren la calidad de la información como por ejemploel brillo, el enfoque, la cantidad de imágenes, etc.

La creación de los vectores de características y sus res-pectivas etiquetas para cada imagen se realiza en el códigode la Fig.15:

En la Fig.15, en la linea 4 se crean los vectores va-cíos para las características y sus respectivas etiquetas de

FIG. 15. Algoritmo de creación del vector de características y de etiquetas.

FIG. 16. Algoritmo que codifica numéricamente las etiquetas, inicializay evalúa la máquina de aprendizaje. Finalmente imprime un reporte declasificación.

identificación, en la linea 8 se instancia el algoritmo parala extracción de características del histograma “3D-RGB”,desde la línea 14 se realiza una doble iteración con losvectores que contiene las direcciones de las imágenes ysus máscaras respectivamente. En la línea 16 se lee cadaimagen y en la línea 17 se lee su respectiva máscara, en lalínea 18 convertimos cada máscara a escala de grises, enla línea 20 se realiza la extracción de la característica delhistograma en “3D-RGB” de cada imagen enmascarándolay finalmente en las líneas 22 y 23 se van agregando encada iteración las características de cada imagen con surespectiva etiqueta de identificación mediante la función“append()”.

En la Fig.16, En la línea 3 se respalda el vector deetiquetas original, en la línea 4 mediante el comando “uni-que()” de la librería numpy “np.unique()” se extraen losnombres de las 5 etiquetas correspondientes a las cincoclases de frutas a trabajar. En la línea 5 se crea un objetopara codificar los nombres de las etiquetas con números. Enla línea 6 se transforma el vector las etiquetas con nombresa etiquetas con un código de identificación numérico.

En la línea 9 y 10 se divide el conjunto de datos en:un conjunto de datos de entrenamiento y otro para prueba,cada uno con su respectivo vector de etiquetas numéricas,30 % y 70 % del grupo de las imágenes en la divisiónrespectivamente.

En la línea 12 se implementa la máquina de aprendizaje“Random Forest” y se aplican los conjuntos de imágenes de

Revista Killkana Técnica. Vol. 1, No. 2, Mayo-Agosto, 2017

Page 8: Clasificador de imágenes de frutas basado en inteligencia artificial · 2019-08-03 · Vol. 1, No. 2, Mayo-Agosto, 2017. Clasificador de imágenes de frutas basado en inteligencia

28 Diego Heras

FIG. 17. Algoritmo de validación del clasificador.

entrenamiento y prueba. En las líneas 15 y 16 se imprimeel reporte de clasificación.

Finalmente en el código de la Fig.17, se efectúa lavalidación de las predicciones mediante el conjunto de imá-genes de validación. Se itera sobre el vector de imágenesy sus respectivas mascaras para realizar la predicción ycomparar el valor de la característica de cada imagen leídacon alguna información establecida en el entrenamiento ysi son iguales se presenta la predicción.

2. Población

Como ya se expuso, se experimentó con cuatro clases deimágenes de frutas de colores característicos diferentes. Elnúmero de imágenes por cada clase es variable y se definenel la tabla I.

No. Class Fruit Sample Size %1 Manzana roja 24 28.912 Manzana verde 18 21.693 Banana 25 30.124 Naranja 16 19.28

TOTAL 83 100.0

TABLA INÚMERO DE IMÁGENES POR CLASE DE FRUTAS A CLASIFICAR.

3. Entorno

El entorno de adquisición de los datos es una recopila-ción de imágenes en la web y de fotografías de creaciónpropia.

4. Intervenciones

Una vez adquirido el banco de imágenes se aplicó unaestandarización de extensiones al formato (*.jpg) y se lasre-dimensionó a un estándar de 500 píxeles de ancho. Secreó las máscaras del conjunto de imágenes “Data set” conel algoritmo de Otsu ya descrito.

5. Software Utilizado

El lenguaje de programación utilizado en la construccióndel clasificador es “Python” implementado en la compila-ción “WinPython” que contiene el entorno interactivo detrabajo (IDLE) llamado “Spyder”.

Por otra parte las librerías utilizadas son:1) Numpy: Provee capacidades matemáticas y científicas

especializadas en el trabajo matricial.2) Matplotlib: Librería de Plotting o trazado.3) Scikit-learn: Librería de aprendizaje de máquina.4) mahotas:Librería intermedia especializada en Visión

Artificial5) OpenCV: Librería especializada para Visión Artificial.

V. RESULTADOS Y DISCUSIONES

Al implementar y ejecutar el algoritmo descrito en laFig.7 y en la Fig.17, el algoritmo entrega el reporte declasificación de la Fig.18

FIG. 18. Reporte de clasificación de “Random Forest”.

El reporte de clasificación en su primera columna des-cribe la etiqueta de la clase de fruta detectada, en este casocuatro frutas. En la segunda columna se detalla la precisióndel clasificador que describe la relación en cada clase de elnúmero de etiquetas originales respecto al número de eti-quetas clasificadas exitosamente. Se puede observar que laprecisión en la clasificación es del ciento por ciento en cadaclase. La tercera columna “recall” o recuperación, describeun porcentaje de clasificaciones exitosas de cada clase, ycomo se puede observar se recuperaron exitosamente todaslas clasificaciones. La cuarta columna describe el parámetro“f1-score” que se puede interpretar como un promedioponderado de la precisión y recuperación, es decir es comouna escala de referencia que va de 0 a 1 o de 0 a cien porciento la mejor clasificación. Finalmente la última columna“support” describe el total de datos de cada clase tomadosdel “dataset” para efectuar el test para el reporte. Aproxi-madamente el algoritmo toma aleatoriamente el 30 % del“dataset” se utiliza para el “testdata” [8].

Luego, el algoritmo toma las imágenes del set de vali-dación y realiza una predicción o clasificación de imágenesno etiquetadas y entrega su correcta clasificación como seaprecian en las figuras: 19, 20, 21 y 22.

Las imágenes no etiquetadas se clasifican correctamentecomo lo indicó el reporte de clasificación. De esta forma,el clasificador esta entrenado y es capaz de identificar y

Revista Killkana Técnica. Vol. 1, No. 2, Mayo-Agosto, 2017

Page 9: Clasificador de imágenes de frutas basado en inteligencia artificial · 2019-08-03 · Vol. 1, No. 2, Mayo-Agosto, 2017. Clasificador de imágenes de frutas basado en inteligencia

Clasificador de imágenes de frutas basado en inteligencia artificial 29

clasificar automáticamente cuatro clases de frutas por sucolor característico.

En algunas pruebas realizadas con frutas de similar coloren los reportes se pudo observar una disminución de laprecisión del clasificador debido a que se tratada de frutascon colores similares o cercanos.

Esto concuerda con algunos investigadores que afirmanque para el proceso de clasificación de frutas existen dife-rentes técnicas basadas únicamente en atributos de color yforma, pero plantean que diferentes frutas pueden presentarvalores similares de color y que esto provoca que no setenga aún métodos robustos y efectivos para identificar ydistinguir imágenes de frutas [11].

Por otra parte, con relación a otros trabajos de reconoci-miento de frutas como los descritos en [11], en el presentetrabajo se evaluó diversos tipos de clasificadores bajo di-ferentes tamaños de muestras y se obtuvo una eficienciasuperior con el clasificador ”Random Forest” y con unmenor coste computacional de procesamiento.

EL presente trabajo se enfocó en la optimización de laclasificación de frutas basado en una sola característica quees la de la extracción del histograma ”3D-RGB” pero en fu-turos trabajos se adicionará la optimización del trabajo conla característica de forma para robustecer el clasificador.

VI. CONCLUSIONES Y RECOMENDACIONES

El clasificador de imágenes de frutas se fundamentaprincipalmente en la extracción de características de laimagen y las máquinas de aprendizaje, esta combinaciónse puede generalizar a varias aplicaciones en el campo dela Visión artificial.

El proceso aplicado en la construcción del clasificador deimágenes de frutas se puede resumir en los siguientes pasos:Adquirir imágenes, pre-procesarlas, ajustar su brillo me-diante normalización del histograma y re-dimensionarlas aun estándar común. Posteriormente se crea un “dataset” delas imágenes con sus respectivas máscaras, luego se divideel “dataset” en dos vectores de datos: de características(histograma 3D RGB) y etiquetas. Finalmente se debeaplicar los vectores de datos a la máquina de aprendizaje

FIG. 19. Clasificación correcta de la fruta: “banana”.

FIG. 20. Clasificación correcta de la fruta: “naranja”.

FIG. 21. Clasificación correcta de la fruta: “manzana verde”.

supervisado. Para el entrenamiento asignar el 70 % de losdatos y el 30 % restante para el test del reporte de clasifica-ción (porcentajes que se ajustaron mejor al set de datos y seobtuvo los mejores resultados). Clasificar los datos del “setde validación” como prueba final.

El clasificador de imágenes de frutas, tendrá sus limi-taciones al momento de entrenar dos clases de imágenesde frutas diferentes con colores muy cercanos entre si,para solucionar este inconveniente en futuros trabajos secomplementará el clasificador con la extracción de otrovector adicional de características como por ejemplo deforma o textura para fortalecer el clasificador.

Un tema de aplicación que se puede potenciar másen futuros trabajos es sobre un procedimiento automáticopara la creación de máscaras, en el presente trabajo seutilizó el siguiente proceso: Digitalizar la imagen y aplicarun filtro Gaussiano para crear una versión borrosa de laimagen (suaviza los bordes), luego se determina el valorde “Tresholding” (T) mediante el método automático de“Otsu”. Finalmente se aplica la “Umbralización” con elvalor de T encontrado y se invierten los colores binariosde la máscara resultante.

La máquina de aprendizaje clasifica las imágenes segúnel color más cercano al que se le entrenó, por ejemplo: siintroducimos en el conjunto de imágenes de validación una

Revista Killkana Técnica. Vol. 1, No. 2, Mayo-Agosto, 2017

Page 10: Clasificador de imágenes de frutas basado en inteligencia artificial · 2019-08-03 · Vol. 1, No. 2, Mayo-Agosto, 2017. Clasificador de imágenes de frutas basado en inteligencia

30 Diego Heras

FIG. 22. Clasificación correcta de la fruta: “manzana roja”.

imagen de una mandarina, se clasificará seguramente comouna naranja por la cercanía de sus características de color.Se debería entrenar previamente imágenes de mandarinas ycomprobar si difieren el al reconocimiento con una naranjay en que grado.

En trabajos futuros los algoritmos implementados en el“Clasificador de imágenes de frutas” se pueden generalizara la construcción de varios tipos de clasificadores en losque los objetos se puedan diferenciar por la característicadel color y forma, como por ejemplo automatizar la cla-sificación de piezas de una empresa que sean de distintoscolores y formas en sus materiales de construcción o deacabado, también implementar un clasificador para recono-cer el estado de descomposición de frutas por su color, oun clasificador de especies de flores por su color y forma otextura, etc.

Como proyección se optimizarán los algoritmos de vi-sión artificial implementados en este trajo en el área del“Deeep Learning” que mediante bibliotecas pertinentes seproporcionará mejoras considerables en las clasificacionesde las imágenes ya que los algoritmos se pueden ejecutaren potentes GPUs modernas tipo CUDA, como por ejemploNVIDIA cuDNN.

REFERENCIAS

[1] C. Sanchez, N. Arizcuren & A. Casp,Importancia dela visión artificial aplicada a la industria agroalimen-taria,Tecnología de Alimentos. Escuela Técnica Supe-rior de Ingenieros Agrónomos. Universidad Pública deNavarra. Campus Arrosadía. 31006 Pamplona.

[2] L. I. Larcher, P. M. Juárez, A. I. Ruggeri, E.M Biaso-ni & G.A. Villalba,Ponderación de calidad en frutasusando técnicas de visión artificial para la estimaciónde daños, Mecánica Computacional Vol XXXII: 2473-2484.

[3] J. F. Vélez Serrano, A. B. Moreno Díaz, A. SánchezCalle & J. L. Esteban Sánchez-Marín, J. L., Visión porcomputador, 2da. Ed. 2003.

[4] A. M. Romero, A. Marín-Cano & J.A. Jiménez-Builes,Sistema de clasificación por visión artificialde mangos tipo Tommy, UIS Ingenierías, enero-junio2015; Facultad de Ingenierías Fisicomecánicas, UIS:22-31.

[5] S. Raschka, Python Machine Learning, 1ra. Ed. UK:Packt Publishing Ltd., 2015.

[6] W. Richert y L. Coelho, Building Machine LearningSystems with Python, 2da. Ed. UK: Packt PublishingLtd., 2015.

[7] R. Layton, Learning Data Mining with Python, 1ra. Ed.UK: Packt Publishing Ltd., 2015.

[8] P. Joshi y V. Godoy OpenCV with Python By Example,UK: Packt Publishing Ltd, 2015.

[9] S. Cubero, Diseño e implementación de nuevas tecno-logías basadas en visión artificial para la inspecciónno destructiva de la calidad de fruta en campo ymínimamente procesada, Valencia, Mayo 2012: Tesisdoctoral, 2012

[10] J. Ponce, Computer Vision A MODERN APPROACH,2da. Ed. England: Pearson Education, 2015.

[11] C. M. Holguín, J. A. Cortés & J.A. Chaves.,Sistemaautomático de reconocimiento de frutas basado envisión por computador, Ingeniare. Revista chilena deingeniería, vol.22 No 4, 2014, pp.504-516.

Recibido: 21 de junio de 2017

Aceptado: 30 de agosto de 2017

Diego Heras: Magister en Ingeniería Computacional yMatemática con 4 años de experiencia docente universita-ria dictando las cátedras de Cálculo diferencial, CálculoIntegral, Ecuaciones Diferenciales, Métodos Numéricos,Estadística, Estática, Física Universitaria.

Revista Killkana Técnica. Vol. 1, No. 2, Mayo-Agosto, 2017