PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ Escuela de Posgrado DISEÑO E IMPLEMENTACIÓN DE UNA INTERFACE USUARIO-MÁQUINA BASADA EN VISIÓN COMPUTACIONAL PARA AUTOMATIZAR LA SELECCIÓN DE FRUTOS CÍTRICOS SEGÚN LA FORMA, TAMAÑO, COLOR Y DEFECTOS EXTERNOS Tesis para optar al grado de Magíster en Ingeniería Mecatrónica Presentado por: LUIS FERNANDO CAMPOS QUISPE Asesorado por: M.Sc. Ing. CARLOS ENRIQUE VILLANUEVA CANO Junio 2020 Lima - Perú RESUMEN Dentro del proceso de producción de cítricos para exportación y consumo local existen etapas que, por su alta especialización, requiere de una persona para ser ejecutadas. Tales etapas pueden ser identificadas como la medición del tamaño, la forma, el color y la detección de defectos externos. La participación de una persona para llevar a cabo estas tareas trae como consecuencia una ralentización del proceso de producción debido a que la velocidad de trabajo de una persona no se puede comparar a la de una máquina industrial. En vista de este problema se ha trabajado en el diseño de una interface basada en una cámara de visión computacional para realizar todos los trabajos que aun dependían del ojo y del cerebro humano para ser llevadas a cabo. La interface diseñada es capaz de evaluar cada fruto a una velocidad de 0.6 segundo por fruto. Este es el tiempo que demora cada fruto en atravesar el campo de visión de la cámara del recinto de captura y procesamiento de imágenes. La interface está basada en algoritmos computacionales, los cuales a su vez están basados en métodos de procesamiento de imágenes para poder extraer las características más importantes de la fruta evaluada. Los resultados obtenidos, luego de probar la interface con diferentes frutos cítricos son alentadores. Se pudo medir con una precisión del 100% el calibre de cincuenta naranjas y con una precisión de 94% el calibre de cincuenta mandarinas. El error máximo obtenido en la medición de los diámetros de los frutos evaluados fue de 2.5% para el caso de las naranjas y de 4.8% para el caso de las mandarinas. También se lograron resultados importantes al momento de medir el color y el área externa defectuosa, sin embargo, estos aspectos requieren ser mejorados. En líneas generales los logros alcanzados en el presente trabajo de tesis representan la base para futuros trabajos más especializados. i Dedico este trabajo a mis padres por haberme dado la vida, por su amor y por su incondicional apoyo en todos los proyectos de mi vida. ii AGRADECIMIENTOS A mi asesor Carlos Villanueva y al Profesor Dante Elías por su constante asesoría en la elaboración del presente trabajo de tesis. iii ÍNDICE DE CONTENIDO Pág. RESUMEN……………………………………………………………………………i DEDICATORIA……………………………………………………………………...ii AGRADECIMIENTOS……………………………………………………………...iii ÍNDICE DE CONTENIDO………………………………………………………….iv INTRODUCCIÓN……………………………………………………………………1 CAPÍTULO 1: ESTADO DEL ARTE……………………………………………….3 1.1. Estado del Arte………………………………………………..……….….3 1.2. Objetivos...……………………………………………………..………...11 1.2.1. Objetivo principal………………………………………………………11 1.2.2. Objetivos específicos…………………………………………………...11 1.3. Justificación……………………………………………..………..………12 CAPÍTULO 2: FUNDAMENTOS………………………………………………….13 2.1. Bases teóricas de la visión por computadora……………………………..13 2.1.1. Visión humana………………………………………………...…13 2.1.2. Visión por computadora……………………………………….....14 2.1.2.1. Iluminación………………………………………………15 2.1.2.2. Tipos de iluminación artificial…………………………...15 2.1.2.3. La cámara………………………………………………..16 2.1.2.4. El sensor…………………………………………………17 2.1.2.5. Unidad de procesamiento………………………………..19 2.1.3. Procesamiento de imágenes……………………………………...19 2.1.3.1. Ruido…………………………………………………….20 2.1.3.2. Filtros digitales en el dominio del espacio………………21 2.1.3.3. Operaciones básicas con conjuntos……………………...23 2.1.3.4. Transformaciones morfológicas básicas…………………24 iv 2.1.3.5. El color: Modelos y transformaciones de los espacios de color…………………………………………………………………….25 2.2. Redes neuronales…………………………………………………….…..28 2.2.1. La neurona biológica………………………………………….....28 2.2.2. La neurona artificial: El perceptrón……………………………...30 2.2.3. Redes neuronales artificiales: Multicapas de perceptrones………32 2.3. Aplicaciones de la visión computacional………………………………...33 2.3.1. Reconocimiento óptico de caracteres…………………………….33 2.3.2. Reconstrucción de modelos 3D………………………………......34 2.3.3. Análisis de imágenes médicas……………………………………35 2.3.4. Monitoreo del tráfico…………………………………………….36 2.4. Etapas de un sistema de procesamiento de imágenes………………….....36 2.4.1. Base de datos…………………………………………………......37 2.4.2. Pre-procesamiento………………………………………………..37 2.4.3. Segmentación…………………………………………………….37 2.4.4. Extracción de características……………………………………..38 2.4.5. Clasificación……………………………………………………..38 2.4.6. Identificación…………………………………………………….38 2.5. Variedades de cítricos en el Perú………………………………………...38 2.5.1. Parámetros de calidad en frutos cítricos…………………………39 2.5.2. Clasificación…………………………………………………......40 2.5.3. Requisitos mínimos de calidad………………………………......40 2.5.3.1. Tamaño………………………………………………......40 2.5.3.2. Color…………………………………………………......41 2.5.3.3. Daños y defectos externos……………………………….43 CAPÍTULO 3: DISEÑO DE LA INTERFACE DE VISIÓN COMPUTACIONAL………………………………………………………………..45 3.1. Cálculo de la iluminación y selección de la fuente luminosa……..……...45 3.2. Consideraciones de la geometría del objeto a iluminar………….……….46 3.3. Mecanismo de traslación y rotación de los frutos………………………..48 3.4. Selección de la cámara de visión y del lente……………………………..52 3.5. Implementación del recinto de captura de imágenes……………………..54 3.6. Algoritmo global de la interface de visión computacional……………….55 v 3.7. Sub-algoritmo para el cálculo del tamaño y forma………………..…….56 3.8. Sub-algoritmo para determinar el color………………………………......59 3.9. Sub-algoritmo para detectar los defectos externos……………………….63 3.9.1. Sub-algoritmo de entrenamiento de la Red Neuronal……………65 3.10 Implementación de la interface…………...…………………………......74 CAPÍTULO 4: PRUEBAS Y RESULTADOS……………………………………...77 4.1. Evaluación de naranjas…………………………………………………...77 4.1.1. Evaluación del tamaño y color…………………….....……..........77 4.1.2. Defectos externos...........................................................................80 4.2. Evaluación de mandarinas……………………………………………......82 4.2.1. Evaluación del tamaño y color……………………..…………….82 4.2.2. Defectos externos………………………………………………...85 CAPÍTULO 5: PROPUESTA DE DISEÑO CONCEPTUAL……………………………………………………………………..87 5.1. Lista de exigencias (E) y deseos (D)…………………………………......87 5.2. Proceso generalizado de desarrollo y diseño…………………………......90 5.2.1. Abstracción como caja negra…………………………………….90 5.2.2. Secuencia de operaciones: Descripción de procesos…………….90 5.2.3. Secuencia de operaciones………………………………………...92 5.3. Estructura de funciones…………………………………………………..92 5.3.1. Dominio mecánico…...………………………………………......92 5.3.2. Dominio de procesamiento de imágenes...……………...……….93 5.3.3. Dominio eléctrico-electrónico…………...……………...……….94 5.3.4. Dominio de control………...…………………………………….94 5.4. Matriz morfológica…..…………………………………………………..94 5.4.1. Dominio mecánico…...………………………………………......95 5.4.2. Dominio de procesamiento de imágenes...……………...……….96 5.4.3. Dominio eléctrico-electrónico…………...……………...……….97 5.4.4. Dominio de control………...…………………………………….98 5.5. Concepto de solución óptimo de cada dominio………………………….98 5.5.1. Concepto de solución optimo del dominio mecánico……………99 vi 5.5.2. Concepto de solución óptimo del dominio de procesamiento de imágenes……………………………………………………………………..100 5.5.3. Concepto de solución óptimo del dominio eléctrico-electrónico.101 5.5.4. Concepto de solución óptimo del dominio de control………….102 5.6. Conceptos óptimos integrados…………………………………………..103 5.7. Optimización de los conceptos de solución integrados…………………104 5.8. Evaluación de los conceptos de solución integrados y optimizados……106 CAPÍTULO 6: CONCLUSIONES Y TRABAJOS FUTUROS….………………..107 6.1. Conclusiones…………………………………………………………....107 6.2. Trabajos futuros………………………………………………………....109 BIBLIOGRAFÍA…………………………………………………………………..110 ANEXO A…………………………………………………………………..……...116 ANEXO B………………………………………………………………………….121 vii 1 INTRODUCCIÓN En el Perú la exportación de cítricos viene aumentando significativamente cada año. Al finalizar el año 2019 la exportación de cítricos (mandarinas, tangelos, naranjas, limones y toronjas) lograron alcanzar 171’772 toneladas. Esta cifra lograda constituye un incremento de 3.59% (5967 toneladas) con relación a las 165’805 toneladas exportadas en el año 2018. Los principales cítricos que se exportan son las mandarinas con un 80% del total, le siguen los limones y limas con un 20 %, las naranjas con un 11% y, finalmente, las toronjas en menor porcentaje [agraria.pe, 2019]. Para satisfacer esta demanda que se viene incrementando cada año, es necesario hacer más eficiente nuestra cadena de producción. El bajo nivel de industrialización de nuestro país es una gran desventaja al momento de competir en materia de producción con países altamente industrializados. Atendiendo a esta necesidad, es muy importante el desarrollo de sistemas que contribuyan a la automatización de nuestros procesos de producción de cítricos para aspirar a competir con los principales líderes mundiales en este rubro. Un sistema automático es aquel que reemplaza la actividad humana por un dispositivo electro-mecánico para hacerla más eficiente desde el punto de vista de la producción. Muchos productores de cítricos aun dependen del factor humano para tareas muy especializadas como lo son la calibración del fruto, la inspección del color y la detección de defectos externos. Esta dependencia trae como consecuencia una gran ralentización del proceso de producción y pone un límite en cantidad y calidad al crecimiento de la exportación. El presente trabajo de tesis tiene por objetivo el desarrollo de una interface basada en visión computacional para contribuir en la automatización de la inspección de características externas tales como, el tamaño, la forma, el color y los defectos de algunos de los principales cítricos que se producen en el Perú. Una interface basada en visión computacional está compuesta por una serie de algoritmos computacionales de procesamiento de imágenes que extrae datos de la información captada por una cámara de visión y logra determinar diferentes características de relevancia del objeto evaluado. Esta interface emula, en cierta medida, el funcionamiento de la visión humana que reconoce las características de 2 interés en un determinado objeto y puede clasificarlos según considere. La gran diferencia es que la interface de visión computacional puede hacer este trabajo a una velocidad y precisión mucho mayor que el ser humano. Para el desarrollo de esta interface fue necesario utilizar diferentes algoritmos de visión computacional para extraer las características de interés de las imágenes capturadas con una cámara de visión computacional para luego realizar el procesamiento de imágenes. En primer lugar, se separa el fondo del objeto que se desea analizar. Luego, que se ha separado el fondo del objeto de interés, el resto de algoritmos reconocen las diferentes características del fruto tales como el tamaño, la forma, el color y los defectos externos para que el fruto pueda ser clasificado según la norma técnica empleada. La presente tesis está estructurada de la siguiente manera: El Capítulo 1 presenta el estado del arte, el objetivo general, los objetivos específicos y la justificación de la tesis. El Capítulo 2 contiene los fundamentos teóricos necesarios para que el lector pueda comprender los capítulos siguientes. El Capítulo 3 presenta el diseño y la implementación del recinto de captura y procesamiento de imágenes y también de los algoritmos utilizados por la interface de visión computacional. Además, en este capítulo se propone un mecanismo de traslación y rotación de los frutos para lograr examinar toda la superficie externa de estos mientras atraviesan el recinto de captura y procesamiento de imágenes. En el Capítulo 4 presenta las pruebas y resultados obtenidos con los frutos evaluados. En el Capítulo 5 se plantea una propuesta conceptual de diseño mecánico-eléctrico de una máquina que podría utilizar la interface diseñada. Finalmente, en el Capítulo 6 contiene las conclusiones y los trabajos futuros. 3 CAPÍTULO 1 ESTADO DEL ARTE 1.1. Estado del Arte En el presente capítulo se expone el estado del arte de sistemas de clasificación de diferentes frutas mediante el método de visión computacional. La descripción de cada trabajo está debidamente referenciada para que el lector pueda profundizar más en los detalles de cada trabajo, en caso lo desee. En el trabajo presentado en [Al, 2010] el autor busca satisfacer la necesidad de clasificar y seleccionar dátiles que se producen en el reino de Arabia Saudita en donde las etapas de selección son procesos repetitivos que en la práctica son realizados manualmente a través de la inspección visual que muchas veces conlleva a problemas de falta de uniformidad en la selección. Para acelerar este proceso y mantener la uniformidad en la selección y clasificación de dátiles, se ha propuesto la implementación del prototipo de un sistema basado en visión computacional. Para este fin se ha definido un conjunto de características de calidad externas para el proceso de selección usado en el algoritmo propuesto. Las características usadas para la clasificación son, la flacidez, el tamaño, la forma, la intensidad del color y los defectos externos. El algoritmo empleado utiliza los valores de R, G y B de cada imagen de dátil de entrada. De estas imágenes, se extraen automáticamente las características externas definidas anteriormente y en base a estas características, el dátil se clasifica en tres categorías de calidad: grado 1, grado 2 y grado 3, las cuales han sido definidas por expertos. En este artículo se estudió el desempeño de una red neuronal con un algoritmo de entrenamiento basado en back propagation como clasificador. Las pruebas realizadas mostraron que el sistema puede alcanzar una precisión de hasta 80%. En este trabajo se construyó el prototipo de un seleccionador y clasificador que incluye software y hardware. El hardware, mostrado en la Figura 1.1, incluye la faja 4 transportadora, un recinto de monitoreo y un sistema de control de todo el mecanismo. El software analiza las imágenes de la fruta y las clasifica. Como se mencionó anteriormente, el sistema logró alcanzar un 80% de precisión en las pruebas. Un problema que debe ser resuelto en este sistema es la detección de la flacidez a partir del color de la imagen. El artículo propone uso de un sensor para mejorar la detección de la flacidez de los dátiles. Al final del artículo, el autor indica que la precisión lograda del sistema debe ser mejorada. Figura 1.1: Diseño e implementación de un sistema de clasificación de dátiles basado en visión por computadora [Al, 2010]. En el trabajo presentado en el artículo [Valdivia, 2015] se diseñó e implementó un sistema basado en visión artificial para la clasificación de chirimoyas que se producen en el Perú según el tamaño. El prototipo construido comprende una parte mecánica que consta de un dosificador mediante canguilones horizontales y de un transportador de bandejas que se mueven a velocidad constante. Con estas características del transportador, se determinó que la chirimoya demora 0.322 segundos en atravesar la zona de captura de imagen, la cual consta de una longitud de 300mm. Dado el poco tiempo con el que se cuenta, se buscó una cámara con características semi-industriales para las capturas de las imágenes. El autor eligió una cámara monochrome USB 3.0 con un sensor CMOS 1/3” Sony IMX035 con una resolución de 1328x1048px, para observar una región de interés de 200x200mm obtenida en base a las dimensiones del recinto en donde irá 5 ubicada la cámara a una determinada altura y en donde se tomarán las imágenes de la chirimoya que pase a través del transportador. El sistema considera una iluminación blanca en anillo ubicada a 0.28 m de altura para asegurar el contraste entre la fruta y el fondo para hacer más fácil la segmentación de las imágenes. El artículo presenta los cálculos para la obtención del flujo luminoso necesario para el sistema. El sistema también considera la forma de eliminar las sombras mediante el uso de luminarias led para garantizar que la chirimoya no tenga puntos sin ser iluminados. Para la programación del algoritmo se utilizó la plataforma Python 2.7 con la ayuda de la librería OpenCV. El procesamiento de las imágenes cuenta con filtro de media para la eliminación del ruido, una umbralización para separar la fruta del fondo y operadores morfológicos. El algoritmo de medición se basa en el cálculo del centro geométrico y en el cálculo del diámetro máximo de la chirimoya. En las pruebas realizadas se logró clasificar con éxito 15 de 18 chirimoyas con la ayuda de un PLC para controlar el banco de pruebas y con la ayuda de una computadora para realizar el procesamiento de imágenes. La Figura 1.2 muestra un esquema del sistema de visión computacional. Figura 1.2: Diseño de un sistema de visión computacional para la clasificación de chirimoyas basado en medidas [Valdivia, 2015]. El trabajo de tesis [Basilio, 2015] presenta un sistema que extrae de manera automatizada el peso de un racimo de uvas mediante un algoritmo basado en visión computacional para controlar un sistema automatizado de selección de racimos de uvas y disminuir el error debido al trabajo manual. El trabajo enfrenta el problema del cálculo del peso y del tamaño de los racimos de uvas mediante herramientas 6 usadas en visión computacional, tales como umbralización y operadores morfológicos. La metodología empleada comprende desde la selección del tipo de iluminación y la selección de la cámara de video. En el pre-procesamiento de las imágenes se eliminó el ruido introducido al momento de la captura de la imagen del racimo de uvas para luego realizar la segmentación de la imagen y separar el racimo del fondo. Luego, mediante el empleo de una red neuronal artificial de una capa de entrada, dos intermedias y una de salida, se determina el peso del racimo a partir de los descriptores obtenidos de las imágenes ingresadas y procesadas. Se utilizan principalmente como descriptores el área del racimo de uva además del ancho y alto del cuadro que encierra el racimo. El trabajo realizado también considera el problema del control del proceso mecánico-eléctrico de la máquina seleccionadora y presenta el algoritmo de control correspondiente. Los resultados de las pruebas realizadas para el cálculo de los pesos dieron un error de 22.81%. El autor del trabajo sugiere la utilización de otra cámara que permita obtener una vista de perfil del racimo de uvas para poder reducir el error del cálculo del peso. Con respecto al cálculo del tamaño del racimo de uva el máximo error obtenido fue de 5%. Para el algoritmo de control el autor muestra los diferentes diagramas de flujo que controlan los sistemas mecánicos y eléctricos. También incluye los diagramas escalera de cada diagrama de flujo. En la Figura 1.3 se muestra el prototipo implementado para las pruebas del sistema de visión computacional. Figura 1.3: Estudio de un sistema de visión computacional para control de pesos y tamaño de racimos de uva de mesa [Basilio, 2015]. 7 La tesis presentada en [Javier, 2015] se centra en el diseño de un sistema mecatrónico para mejorar el proceso de selección de paltas según el tamaño para mejorar la producción y satisfacer el crecimiento de la demanda que crece cada año. El trabajo contempla aspectos del diseño mecánico el cual consta principalmente de una faja transportadora para el traslado de las paltas en su proceso de selección. Para calcular el calibre de las paltas el sistema propuesto utiliza una cámara de visión digital y un sistema de control embebido para la captura y procesamiento de las imágenes, respectivamente. El algoritmo de procesamiento de imágenes se encarga de calcular el contorno de la palta para luego hallar su diámetro máximo y mínimo. El trabajo no incluye un código de programación para el control de la calidad de las paltas y lo deja como tema abierto que se podría implementar en paralelo. La Figura 1.4 muestra un esquema en 3D del sistema mecatrónico para la selección de paltas por calibre. Figura 1.4: Diseño de un Sistema Mecatrónico para Seleccionar Paltas por Calibre [Javier, 2015]. En el artículo [Moallem, 2016] se propone un algoritmo basado en visión computacional para la clasificación de manzanas según los defectos externos. El algoritmo propuesto trabaja en seis pasos. Primero, los pixeles que no pertenecen a la manzana son removidos del fondo de las imágenes de entrada. Luego, se detecta el tallo mediante la combinación de operadores morfológicos y el clasificador de distancia de Mahalanobis. La región del cáliz es también detectada aplicando un clasificador K-means sobre el componente Cb en el espacio de color YCbCr. Luego de eso, la segmentación de los defectos se logra usando una red neuronal de dos capas para cada pixel basado en sus valores de R, G, B y H. En el siguiente paso, las 8 regiones del tallo y el cáliz son removidos de las regiones defectuosas para refinar y mejorar el proceso de clasificación de manzanas. Seguidamente, algunas características de textura y de geometría son extraídas de las regiones defectuosas refinadas. Finalmente, la clasificación se realiza de dos maneras, en la primera forma, una manzana de entrada se clasifica en dos categorías, saludable y defectuosa. Y en la segunda forma, la manzana de entrada se clasifica en tres categorías, primer rango, segundo rango y las rechazadas. En las dos formas de clasificación se lograron valores de 92.5% y 89.2% de precisión, respectivamente. Este artículo termina concluyendo que a pesar de que los resultados logrados por el algoritmo propuesto son suficientes para la mayoría de las aplicaciones prácticas, se necesita mayor esfuerzo para mejorar los resultados. Por ejemplo, cuando el tallo está dentro de la manzana, la precisión del algoritmo de detección del tallo se reduce por lo cual el uso de otros espacios de color podría superar esta desventaja. Además, el artículo indica que, para mejorar los resultados, se podrían usar otras características en el algoritmo de clasificación. Adicionalmente, también se recomienda agregar el valor del peso como un parámetro de clasificación para mejorar los resultados. Finalmente, el estudio de este artículo solo fue realizado con una imagen de entrada, pero para una aplicación práctica es necesario evaluar la calidad de la manzana en base a diferentes ángulos de capturas de la misma. La Figura 1.5 muestra el resultado que se obtuvo al correr el algoritmo con una manzana que presentaba diferentes tonalidades en la capa externa. Figura 1.5: Clasificación de manzanas basado en visión por computadora en base a características generales [Moallem, 2016]. 9 En la investigación realizada en [Durai, 2019] se propone una técnica de visión computacional para la clasificación de dos tipos de cítricos según su variedad y calidad. Como primer paso se captura la imagen digital del cítrico y luego es clasificado en diferentes categorías de acuerdo a su color, tamaño y calidad. El grado de maduración es determinado con el promedio de la coloración de amarillo y marrón de la superficie externa de la fruta. La clasificación se logra utilizando un clasificador del tipo KNN. Los resultados obtenidos demostraron que el algoritmo propuesto en la investigación es viable y preciso. La Figura 1.6 muestra los dos tipos de cítricos utilizados para la clasificación y su respectiva escala de grises. (a) (b) Figura1.6: (a) Primer tipo de cítrico y su conversión a la escala de grises. (b) Segundo tipo de cítrico y su conversión a la escala de grises [Durai, 2019]. El articulo [Iqbal, 2016] propone la clasificación de naranjas, limas y limones en base al color utilizando una imagen simple y algoritmos de visión computacional. El método propuesto extrae el valor del tono (hue) de la imagen tomada y la clasifica mediante métodos tales como el de análisis de discriminante lineal y la función de distribución de probabilidad. Especialmente este último método resulto ser más preciso y menos intensivo computacionalmente. La precisión obtenida con los métodos propuestos fue por encima del 90%. El articulo también propone una metodología para determinar el grado de madurez del cítrico analizado utilizando la relación entre rojo y verde de las imágenes adquiridas. El estudio también demostró que el grado de madurez también puede ser estimado utilizando el tono (hue). La Figura 1.7 muestra las tres clases referenciales para la clasificación de los cítricos. 10 Figura 1.7: Clases de referencias para la clasificación de los cítricos [Iqbal, 2016]. La investigación presentada en el artículo [López, 2009] propone una metodología basada en visión computacional para detectar defectos externos en cítricos y clasificarlos. Adicionalmente, es posible reconocer el tipo de defecto que presenta el cítrico. Para esta tarea, en primer lugar, se utiliza una base de datos de diferentes tipos de enfermedades de cítricos como datos de entrenamiento. La segmentación de la zona defectuosa se logra aplicando el algoritmo del gradiente de Sobel a la imagen tomada. Para la clasificación se utilizaron y compararon diferentes técnicas como la distancia de Euler, KNN y una red neuronal de tres capas. Los resultados más sobresalientes se obtuvieron con estos dos últimos métodos. La Figura 1.8 muestra los diferentes tipos de defectos en cítricos. Figura 1.8: Ejemplos de diferentes defectos de cítricos [López, 2009]. 11 El articulo presentado en [Vidal, 2012] estima el color de una línea de producción de naranjas y mandarinas mediante una cámara inteligente que no requiere conexión a un ordenador. La velocidad de la línea de transportación de los cítricos es de 0.4m/s y la velocidad de disparo de la cámara es de 1/500. La característica utilizada para representar el color de los cítricos es el índice de color (IC), el cual es calculado utilizando los parámetros a, b y L del espacio de color Hunter Lab. Para la obtención de estos parámetros se transforman los valores RGB al espacio de color de tres estímulos XYZ y luego a los parámetros de Hunter Lab. La iluminación utilizada es el estándar D65 con un observador de 10°. Se utiliza este estándar de iluminación por su gran semejanza a la luz del día. La precisión alcanzada con la metodología propuesta fue de más del 90%. La Figura 1.9 muestra los cítricos de diferente coloración utilizados para las pruebas de sistema de visión. Figura 1.9: Muestras representativas de color de cítricos empleados para la fase experimental [Vidal, 2012]. 1.2. Objetivos A continuación, se define el objetivo principal y los objetivos específicos del presente trabajo de investigación. 1.2.1 Objetivo principal • Diseñar un sistema de visión computacional para la evaluación y selección de cítricos según su tamaño, forma, color y defectos externos. 1.2.2 Objetivos específicos • Implementar el recinto de pruebas para la captura de imágenes. • Realizar el cálculo de la iluminación para la adquisición de imágenes. 12 • Seleccionar la cámara de visión computacional. • Seleccionar el lente para trabajar con la cámara seleccionada. • Diseñar e implementar los algoritmos para el sistema de visión. • Probar con frutos los algoritmos implementados. • Analizar los resultados obtenidos. 1.3. Justificación El diseño de un sistema de visión computacional para la evaluación y selección de cítricos es de suma importancia para automatizar una máquina clasificadora de los principales cítricos que se producen en el país debido a que muchos de los trabajos de inspección y clasificación se realizan aun de forma manual. La automatización de la inspección y clasificación de cítricos permitirá agilizar la cadena de producción para abastecer la demanda actual de frutos. 13 CAPÍTULO 2 FUNDAMENTOS 2.1. Bases teóricas de la visión por computadora 2.1.1. Visión humana La visión humana es un avanzado sistema que percibe el medio exterior y que ha evolucionado por millones de años para detectar peligros potenciales y para buscar alimentos. Básicamente la visión humana y la visión por computadora tienen la misma función que es la de interpretar la data espacial del exterior. Aunque la visión humana y la visión por computadora sean muy similares en funcionalidad, aún estamos muy lejos de conseguir que la visión por computadora iguale a la humana. Esto es, en gran parte, porque aún no entendemos completamente cómo funciona el ojo y el cerebro humano [Nixon, 2008]. La Figura 2.1 muestra una representación gráfica del ojo humano y sus diferentes partes. Figura 2.1: Representación gráfica del ojo humano1. 1Fuente: https://www.clinicarementeria.es/preguntas-frecuentes/como-funciona-el-ojo-humano-3 14 Podemos decir que el sistema de visión humana se divide en las siguientes partes: • El ojo. • Un sistema de procesamiento o cerebro. • El análisis realizado por el cerebro. 2.1.2. Visión por computadora Según se explica en [Jähne, 2000], un sistema de visión por computadora tiene también un alto grado de complejidad y por tal motivo es mejor dividirlo en varios módulos o componentes para poder entenderlo mejor. Los componentes tienen similitud con las partes de un sistema de visión humano y son: • La fuente de radiación o iluminación: Si no existe radiación sobre el objeto a visualizar este no podrá ser observado. • La cámara: La cámara recoge la radiación que es emitida por el objeto. La cámara podría ser simplemente una lente óptica. • El sensor: El sensor recibe el flujo de radiación recibida del lente y la convierte en una señal que luego podrá ser procesada. • La unidad de procesamiento: Extrae las características de interés a partir de la información obtenida del sensor. • Actuadores: Son los que ejecutan una determinada acción como resultado de la información procesada en la unidad de procesamiento. En la Figura 2.2 se muestran los componentes que conforman un sistema de visión por computadora. Figura 2.2: Componentes de un sistema de visión por computadora [Vivanco, 2016]. 15 2.1.2.1. Iluminación Para trabajos industriales en donde se requiere altos estándares se debe usar iluminación artificial para evitar problemas de bajo contraste o sombras que se obtendrían si se usara luz natural. Un sistema de iluminación artificial bien diseñado proporciona la suficiente luz al objeto que se desea analizar y mejora la información que llega a la cámara y también a la extracción de las características que se desean evaluar [Alegre, 2016]. 2.1.2.2. Tipos de iluminación artificial En la Tabla 2.1 se clasifican los diferentes tipos de luz artificial y el respectivo fenómeno físico que lo genera. También se indican las ventajas y desventajas de cada una de ellas [Alegre, 2016]. Tabla 2.1: Tipos de iluminación artificial [Alegre, 2016]. Tipo de iluminación Ventajas Inconvenientes Incandescente/Halógena - Bajo costo y fácil de usar. - Emite una gran cantidad de - Se puede ajustar la calor. intensidad luminosa. - Su espectro se centra en el - Oscila 50 veces por cada rojo lo cual la hace segundo. deficiente para los tonos azules, verdes o amarillos. Fluorescentes - Genera menos calor que las - Para aplicaciones lámparas incandescentes. industriales tienen que - Su espectro se enfoca en trabajar a una frecuencia los colores del ojo humano. alrededor de 25 KHz. - El tiempo de vida está estimado alrededor de las 10000 horas. Led - Alta durabilidad (100000 - Son más costosas. horas). - Pueden encenderse únicamente durante el 16 tiempo que dura la captura de la imagen. - Se pueden colocar varias luces led en diferentes formas. Laser - Utilizada para producir luz - Es más costoso. estructurada de diferentes formas como líneas paralelas, líneas cruzadas, puntos y matriz de puntos. - Existen de una gran variedad de longitudes de onda. Fibra Óptica - Permite transportar la luz a - Es más costosa. cualquier lugar lejano de la - Solo es posible iluminar fuente luminosa. áreas muy pequeñas. - Es posible iluminar áreas diminutas. - No genera calor. 2.1.2.3. La cámara De acuerdo con [Fisher, 2014] la cámara de visión es simplemente un dispositivo físico usado para adquirir imágenes. En [Klette, 2014] se explica el principio de funcionamiento de una cámara oscura. Una cámara es un recinto oscuro con un pequeño agujero por donde ingresa un haz de luz. Este haz de luz proyecta la imagen del exterior en el interior de la cámara oscura, pero al revés. Este fenómeno ya era conocido por los chinos desde hace 2500 años, pero no fue hasta el inicio de del siglo XX que esta imagen proyectada pudo ser registrada en un medio sólido. En consecuencia, recién a partir de esta fecha se pudo congelar un momento en el tiempo. En el siglo XVII se descubrió que insertando una lente en el orificio por donde ingresaba la luz la imagen proyectada dentro de la cámara oscura mejoraba notablemente. En la Figura 2.3 se representa el funcionamiento de una cámara oscura. 17 Figura 2.3: Cámara oscura2. 2.1.2.4. El sensor El procesamiento digital de imágenes necesita de imágenes en forma de señales eléctricas que puedan ser expresadas en secuencias de números y así poder ser procesadas por un sistema digital, como una computadora. Actualmente, existen muchas formas de digitalizar una imagen analógica. Lo que hizo posible esta tecnología fue la creación de los sensores basados en matrices de semiconductores fotodetectores. Existen muchos tipos de estos sensores, siendo los más comunes los conocidos como Dispositivos Acoplados por Carga o CCD (Charge Coupled Device). Este sensor está formado de una alta cantidad de elementos fotosensitivos, los cuales, durante la etapa de acumulación, acumulan cargas eléctricas producidas por fotones absorbidos y por lo tanto la carga acumulada es directamente proporcional a la cantidad de fotones absorbidos. En la etapa de lectura las cargas son transportadas secuencialmente hasta ser convertida en voltaje eléctrico [Jähne, 2002]. Desde hace regular tiempo, el sensor conocido como semiconductor complementario de oxido metálico o CMOS (Complementary Metal Oxide Semiconductor) se ha convertido en una nueva alternativa al sensor CCD. Solo recientemente estos sensores han mejorado la calidad de sus imágenes al punto de compararse con las 2 Fuente: http://arauco.org/SAPEREAUDE/optica/camaraoscura/formaciondeimagenes.html 18 obtenidas con los sensores CCD. Sin embargo, las imágenes del sensor CMOS aun no iguala a las de los sensores CCD en algunas características como, por ejemplo, en el desempeño en niveles de baja iluminación. Por otro lado, estos sensores tienen ventajas muy importantes sobre los CCD tales como un menor consumo de potencia y bajo precio [Jähne, 2002]. Las Figuras 2.4 y 2.5 muestran las representaciones de los sensores CCD y CMOS. Figura 2.4: Diagrama de bloques de un sensor CCD3. Figura 2.5: Diagrama de bloques de un sensor CMOS3. 3Fuente:https://www.edmundoptics.com/knowledge-center/application-notes/imaging/understanding-camera-sensors-for- machine-vision-applications/ 19 2.1.2.5. Unidad de procesamiento La unidad de procesamiento de imágenes es básicamente una computadora, sin embargo, para que las imágenes analógicas del mundo real sean procesadas por un ordenador, necesitan, previamente, ser digitalizadas por un circuito denominado frame grabber. Un frame grabber es un circuito electrónico capaz de convertir las imágenes de una cámara analógica en imágenes digitales para ser procesadas por una computadora. La función del frame grabber es digitalizar las señales eléctricas del sensor de imágenes de la cámara de visión y guardar la nueva información digital en la memoria del ordenador [Jähne, 2002]. La Figura 2.6 muestra el diagrama de bloques de un frame grabber basado en un FPGA (Field-programmable gate array). Figura 2.6: Diagrama de bloques de un frame grabber basado en FPGA [Krouptchenkov, 2007]. 2.1.3. Procesamiento de imágenes El procesamiento de imágenes consiste en modificar la información digital registrada por la cámara y el sensor para poder eliminar información no deseada, tal como el ruido, y aislar la información que nos interesa analizar. A continuación, se describen algunos conceptos importantes en el procesamiento de imágenes. 20 2.1.3.1. Ruido El ruido, en visión por computadora, es cualquier entidad en la imagen que la distorsiona. Además, se asume que el ruido es aleatorio y aditivo. En las imágenes digitales el ruido se adiciona durante el proceso de digitalización y/o transmisión. También se sabe que el desempeño del sensor de imagen se ve afectada por varias condiciones ambientales durante el proceso de adquisición y también por la propia calidad de este sensor [Gonzales, 2002]. La Figura 2.7(a) muestra una imagen sintética sin ruido. Las Figuras 2.7(b) y 2.7(c) muestra la imagen sintética original con ruido gaussiano y ruido sal y pimienta, respectivamente. (a) (b) (c) Figura 2.7: (a) Imagen sintética, (b) Ruido gaussiano, (c) Ruido sal y pimienta. a. Ruido Gaussiano El ruido Gaussiano es una buena aproximación del ruido real [Dawson, 2014]. Este tipo de ruido es empleado para ciertos fenómenos físicos tal como el ruido térmico [Cyganek, 2009]. b. Ruido sal y pimienta Este tipo de ruido está compuesto por pixeles individuales que contaminan la imagen digital y que cuyo brillo es muy diferente del brillo de los pixeles de su vecindad [Dawson, 2014]. El nombre de este ruido proviene de su aspecto visual en la imagen 21 en la cual se observan como puntos blancos y negros tal como si se hubiera esparcido sal y pimienta sobre la imagen original [Cyganek, 2009]. 2.1.3.2. Filtros digitales en el dominio del espacio De acuerdo con [Alegre, 2016], el filtrado de las imágenes en el dominio del espacio se realiza sobre cada pixel. Los filtros en el dominio del espacio pueden ser lineales o no lineales. Este tipo de filtro está conformado por un pixel de referencia y un conjunto de pixeles dentro de la vecindad del pixel de referencia. A este conjunto de elementos que conforman el filtro se les denomina kernel o máscara de convolución. Según se representa en la Figura 2.8 la operación del kernel sobre la imagen original puede ser representada por una matriz la cual realiza una operación de convolución sobre los elementos de la imagen a los que se superpone. Esta misma operación se realiza sobre todos los filtros de la imagen. El resultado final es una nueva imagen filtrada. Figura 2.8: Representación de un filtro o kernel y su desplazamiento sobre cada pixel de la imagen [Alegre, 2016]. Los filtros espaciales en el dominio del espacio pueden clasificarse como filtro pasa bajo o pasa alto. A continuación, se detalla un poco más sobre los filtros pasa bajos. a. Filtros pasa bajo El efecto que producen estos filtros sobre las imágenes es la de eliminar ruido y otros detalles que no son de interés. Estos filtros atenúan o suavizan a aquellos pixeles que presentan muchos cambios de intensidad. Entre los más populares sobresalen los de 22 media, mediana, adaptativo y Gaussiano. Seguidamente, se detalla el funcionamiento de los dos primeros. • Filtro media: Cada pixel resultante de la imagen de salida se calcula como el promedio aritmético de todos los pixeles que enmascara el kernel. Todos los elementos del kernel son 1 a excepción del valor central el cual puede ser 1 ó 0 dependiendo si se desea usar o no este valor en el resultado final. A continuación, se muestran dos ejemplos de filtros media de dimensiones 3x3. 1 1 1 𝑀 = [1 1 1] /9 1 1 1 1 1 1 𝑀 = [1 0 1] /8 1 1 1 • Filtro mediana: Uno de los problemas con el filtro media es que los bordes de la imagen son suavizados. Si se desea reducir el ruido y conservar la definición de los bordes se utiliza el filtro mediana. Con este filtro el nivel de gris de cada pixel es sustituido por la mediana de los niveles de grises de los pixeles de su vecindad [Sobrado, 2003]. La Figura 2.9 muestra un ejemplo de un filtro mediana de 3x3. Figura 2.9: Filtro mediana de 3x3. El pixel central es reemplazado por la mediana de todos los valores de la ventana de 3x3. 23 2.1.3.3. Operaciones básicas con conjuntos Los operadores morfológicos de imágenes digitales (que se verán en la sección siguiente) se basan en una serie de operaciones básicas de conjuntos que se mencionan a continuación. a. Inclusión: Se dice que un conjunto A está incluido en otro conjunto B, si todo elemento de A también pertenece a B. 𝐴 ⊂ 𝐵 ∶ { ∀ 𝑎 ∈ 𝐴 ⟹ 𝑎 ∈ 𝐵 } (2.1) b. Unión de conjuntos: Un conjunto C es la unión de los conjuntos A y B si C está compuesto de todos los elementos de A y B. En programación la operación unión se programa fácilmente con la operación booleana OR. 𝐴 ∪ 𝐵 = { 𝑎 | 𝑎 ∈ 𝐴 ∨ 𝑎 ∈ 𝐵 } (2.2) c. Intersección de conjuntos: Es aquel conjunto formado por los elementos que son comunes a los conjuntos A y B. En programación se representa con la operación booleana AND. 𝐴 ∩ 𝐵 = { 𝑎 | 𝑎 ∈ 𝐴 ∧ 𝑎 ∈ 𝐵 } (2.3) d. Diferencia entre conjuntos: Es aquel conjunto formado por los elementos que pertenecen solamente al conjunto A pero no al conjunto B. 𝐴 − 𝐵 = { 𝑎 | 𝑎 ∈ 𝐴 ∧ 𝑎 ∉ 𝐵 } (2.4) e. Traslación por un vector: Un conjunto A sufre una traslación por un vector v cuando a las coordenadas de cada elemento del conjunto A se le suma las coordenadas del vector v. 𝐴𝑣 = { 𝑏 | 𝑏 = 𝑎 + 𝑣 ∀ 𝑎 ∈ 𝐴 } (2.5) 24 2.1.3.4. Transformaciones morfológicas básicas El termino morfología se utiliza en procesamiento de imágenes para referirse a la forma de una región que podría ser el contorno o el esqueleto de una determinada imagen. La transformación morfológica de una imagen o región es el cambio que ésta sufre cuando se le aplica alguna de las operaciones antes descritas a la imagen original y a un pequeño elemento denominado elemento estructurante (EE). Se entiende por EE a un conjunto pequeño usado para modificar la imagen bajo estudio. Según la forma y el tamaño de este EE, así como del tipo de operación que se utilice es posible realizar varias transformaciones de la imagen original según el resultado que se desea conseguir [Gonzales, 2002]. a. Dilatación: Sea A la imagen o región en estudio y sea B el elemento estructurante se define la dilatación de A por B como: 𝐴⊕𝐵 = {𝑎|(?̂?) ∩ 𝐴 ≠ ∅} = 𝛿 (𝐴) (2.6) 𝑥 𝐵 b. Erosión: Sea A la imagen o región en estudio y sea B el elemento estructurante se define la erosión de A por B como: 𝐴⊝𝐵 = {𝑎|(𝐵)𝑥 ⊆ 𝐴} = 𝜀𝐵(𝐴) (2.7) c. Openning: La operación openning sirve para suavizar o redondear las zonas en forma de ángulo de la imagen. Sea A la imagen o región en estudio y sea B el elemento estructurante se define la función openning como: 𝐴°𝐵 = (𝐴⊝ 𝐵)⨁𝐵 (2.8) d. Closing: La operación closing sirve para eliminar o reducir entradas que se encuentran en todo el borde de la imagen. Sea A la imagen o región en estudio y sea B el elemento estructurante se define la función closing como: 𝐴. 𝐵 = (𝐴⊕ 𝐵)⊖ 𝐵 (2.9) 25 2.1.3.5. El color: Modelos y transformaciones de los espacios de color El color es una propiedad que se genera en el cerebro a partir de las ondas electromagnéticas reflejadas por los objetos que nos permite identificarlos y clasificarlos. En visión por computadora es necesario recurrir a los denominados espacios de color que describen mediante fórmulas matemáticas los distintos colores de la naturaleza [Alegre, 2016]. Existen diversos espacios de color. Entre los más comunes tenemos los espacios RGB y HSI. También existen otros espacios de color menos comunes que son empleados especialmente para aplicaciones relacionadas a la evaluación de color en objetos. Estos espacios son, por ejemplo, el espacio XYZ y el de Hunter Lab. a. El espacio RGB: Este modelo se basa en un sistema de coordenadas cartesianas. Cada color se representa en componentes de rojo, verde y azul, de allí su denominación RGB. 𝑥 = 𝑅 + 𝐺 + 𝐵 (2.10) En los cubos que se muestra en las Figuras 2.10(a) y 2.10(b) los valores de RGB se localizan en tres esquinas mientras que los colores cian, magenta y amarillo están localizados en las otras esquinas. El color negro se ubica en el origen y el color blanco en la esquina opuesta. En este espacio de color la escala de grises se ubica en la línea que une el negro con el blanco. Cualquier color se ubica dentro de este cubo y está definido mediante un vector que se extiende desde el origen del sistema de coordenadas [Gonzales, 2002]. 26 (a) (b) Figura 2.10: (a) Representación esquemática de un cubo de colore RGB [Gonzales, 2002], (b) Cubo de color RGB de 24-bits [Gonzales, 2002]. b. El espacio HSI: El espacio de color HSI está basado en el modo que tenemos los humanos de percibir colores [Alegre, 2016]. Cuando los humanos percibimos los colores lo hacemos por su tono (hue: H), saturación (saturation: S) y brillo o intensidad (intensity: I). Como resultado de esto, el modelo HSI es ideal para desarrollar algoritmos de procesamiento de imágenes que son intuitivos al ojo humano [Gonzales, 2002]. La Figura 2.11 muestra una representación bipiramidal de bases hexagonales del modelo de espacio de color HSI. Figura 2.11: Representación de doble pirámide hexagonal del espacio de color HSI [Alegre, 2016]. Las ecuaciones que permiten la transformación entre los espacios de color RGB y el HSI son las que se muestran a continuación [Alegre, 2016]: 𝑅 + 𝐺 + 𝐵 𝐼 = (2.11) 3 27 √3(𝐺 − 𝐵) 𝐻 = 𝑎𝑟𝑐𝑡𝑎𝑛 ( ) (2.12) (𝑅 − 𝐺) + (𝑅 − 𝐵) 𝑚𝑖𝑛 (𝑅, 𝐺, 𝐵) (2.13) 𝑆 = 1 − 𝐼 c. El espacio de color XYX: Este espacio de color se conoce también como los valores tri-estímulos X, Y y Z. Este sistema de color fue creado con la finalidad de evitar coeficientes negativos los cuales representan una fuente importante de error. En el espacio XYZ el plano XZ representa la coloración mientras que el eje Y, perpendicular al plano XZ, indica la luminosidad [Alegre, 2016]. La ecuación 2.14 representa la transformación del espacio de colores RGB al espacio XYZ [Strokes, 1996]. X 0.411 0.356 0.179 R [Y] = [0.212 0.715 0.072] [G] (2.14) Z 0.014 0.113 0.945 B d. El espacio de color de Hunter Lab: Este espacio de color fue creado por el ingeniero en óptica Richard S. Hunter en el año 1948 con la finalidad de obtener un espacio de color uniforme. La distribución de color es la que se muestra en la Figura 2.12 en la cual una unidad de cambio en el eje "a" o "b" puede ser percibido por el ojo humano. Figura 2.12: Distribución de colores en el espacio Hunter Lab4. 4Fuente: http://ccvegcrops.ucanr.edu/files/237098.pdf 28 Los parámetros de este espacio están definidos mediante las siguientes fórmulas [Vidal, 2013]: 𝑌 𝐿 = 100.√ (2.15) 𝑌𝑛 𝑋 𝑌 (𝑋 ) − (𝑌 ) 𝑎 = 𝐾 . 𝑛 𝑛 𝑎 (2.16) 𝑌 √ ( 𝑌𝑛 ) 𝑌 𝑍 (2.17) ( ) − ( ) 𝑏 = 𝐾 . 𝑌𝑛 𝑍𝑛 𝑏 𝑌 √ ( 𝑌𝑛 ) Donde: 175 (2.18) 𝐾𝑎 ≈ (𝑋𝑛 + 𝑌 ) 198.04 𝑛 70 (2.19) 𝐾𝑏 ≈ (𝑌 + 𝑍 ) 218.11 𝑛 𝑛 y, Xn, Yn y Zn son valores que dependen de la iluminación y el observador. 2.2. Redes neuronales 2.2.1. La neurona biológica Las neuronas son células nerviosas altamente especializadas en recibir y transmitir señales electroquímicas: las neuronas reciben señales electroquímicas de otras neuronas por las dendritas y envían este mismo tipo de señales por el axón. Todo el cerebro puede ser considerado como una red hipercompleja de neuronas interconectadas [Baars, 2010]. 29 A pesar de que las neuronas tengan una estructura muy simple su verdadero poder subyace en su gran capacidad para procesar información en conjunto. Tal como se muestra en la Figura 2.13 una neurona está formada por el soma o cuerpo, varias fibras denominadas dendritas y una fibra larga llamada axón [Negnevitsky, 2005]. La Figura 2.14(a) muestra una fotografía real tomada a una neurona bipolar. La fotografía no muestra la forma tri-dimensional real en forma de árbol de una neurona con sus múltiples dendritas. La Figura 2.14(b) muestra las distintas etapas por la que pasa la información en forma de señales electroquímicas que ingresa por las dendritas y sale por el axón. Figura 2.13: Dos neuronas conectadas mediate un proceso de sinapsis. La sinapsis permite en algunos casos que la información regrese a la neurona original [Baars, 2010]. 30 (a) (b) Figura 2.14: (a) Microfotografía de una neurona [Barrs, 2010], (b) Neurona simplificada e idealizada. Se muestran los diferentes caminos por los que recorre la señal electroquímica [Barrs, 2010]. 2.2.2. La neurona artificial: El perceptrón La Figura 2.15 muestra una neurona artificial o perceptrón. Un perceptrón es una unidad de procesamiento de información que conforma una red neuronal artificial. El perceptrón está compuesto de tres elementos básicos que se describen a continuación [Haykin, 2009]: • Un conjunto de entradas semejantes a las dendritas de una neurona biológica. A cada entrada le corresponde un peso por el cual se debe multiplicar dicha entrada. • Un sumador para sumar todas las entradas luego de ser multiplicadas por su respectivo peso. 31 • Una función de activación para delimitar la salida de cada perceptrón. Las funciones de activación más usadas son: sigmoidea, gausiana, escalón, ReLU y la tangente hiperbólica. Estas funciones son definidas a continuación. - Función Sigmoidea 1 1 𝜑(𝑣) = (2.20) 1 + 𝑒−𝑣 - Función Sigmoidea 2 2 𝜑(𝑣) = − 1 (2.21) 1 + 𝑒−𝑣 - Función Gausiana 2 𝜑(𝑣) = 𝑒−𝑚 (2.22) - Función Escalón 0, 𝑝𝑎𝑟𝑎 𝑣 < 0 𝜑(𝑣) = { (2.23) 1, 𝑝𝑎𝑟𝑎𝑣 > 0 - Función ReLU 0, 𝑝𝑎𝑟𝑎 𝑣 < 0 𝜑(𝑣) = { (2.24) 𝑣, 𝑝𝑎𝑟𝑎 𝑣 > 0 - Función Tangente hiperbólica (𝑒𝑣 − 𝑒−𝑣) 𝜑(𝑣) = 𝑡𝑎𝑛ℎ = (2.25) (𝑒𝑣 + 𝑒−𝑣) 32 Figura 2.15: El perceptrón. Modelo no lineal de una neurona [Haykin, 2009]. En la Figura 2.14 tenemos: 𝑚 𝑣𝑘 =∑𝑤𝑘𝑗. 𝑥𝑗 + 𝑏𝑘 (2.26) 𝑗=1 Además: 𝑦𝑘 = 𝜑(𝑣𝑘) (2.27) Dónde: bk corresponde al bias; x1, x2, …, xm son elementos de la señal de entrada; wk1, wk2, …, wkm son los pesos de las neuronas; 𝜑(. ) es la función de activación y yk es la señal de salida del perceptrón. 2.2.3. Redes neuronales artificiales: Multicapas de perceptrones Una red neuronal artificial se consigue cuando se conectan dos o más perceptrones tal como se muestra en la Figura 2.16. Un solo perceptrón no tiene la capacidad para resolver problemas de la vida real, sin embargo, una red neuronal de múltiples perceptrones si la tiene ya que es capaz de procesar una gran cantidad de información dependiendo del número de perceptrones que conforman la red [Suzuki, 2011]. 33 Según [Arbib, 2003], “un conjunto de perceptrones son redes neuronales que cambian con la experiencia usando una regla de corrección de error diseñada para cambiar los pesos de cada unidad de respuesta – perceptron – cuando la red hace una respuesta errónea al estímulo que se le ha presentado”. Figura 2.16: Red neuronal totalmente conectada con una capa oculta y una capa de salida [Haykin, 2009]. 2.3. Aplicaciones de la visión computacional La visión computacional tiene en la actualidad una variedad muy amplia de aplicaciones en el sector médico, industrial, social, etc. Todas estas aplicaciones utilizan algunos de los conceptos mencionados anteriormente. A continuación, se mencionan algunas de las aplicaciones más importantes. 2.3.1. Reconocimiento óptico de caracteres Esta es una aplicación ampliamente usada para el reconocimiento de caracteres escritos de forma manual. Tiene una aplicación muy importante en las oficinas postales para acelerar la lectura de datos escritos manualmente sobre los paquetes y de esta manera agilizar el proceso de envío. En esta aplicación se utiliza bastante los conceptos de redes neuronales. La Figura 2.17 muestra el reconocimiento de la fecha 34 de vencimiento que aparece en el envase de un determinado producto comercial perecible. Figura 2.17: Sistema de reconocimiento de imagen. 2.3.2. Reconstrucción de modelos 3D Esta es una aplicación ampliamente usada en diferentes áreas en donde se necesita contar con un modelo digital en 3D. Un claro ejemplo es el mapeo de territorios para arqueología o arquitectura. En este caso se requiere una vista panorámica o aérea del terreno para poder realizar la reconstrucción en 3D. Es muy frecuente el uso de un drone para lograr las imágenes aéreas. En la Figura 2.18 se muestra la reconstrucción en 3D de un terreno irregular realizado por un drone aéreo. Figura 2.18: Modelo en 3D de un terreno5. 5https://www.dronebydrone.com/drones-arqueologia.php 35 2.3.3. Análisis de imágenes médicas Esta es una aplicación que ha tomado mayor fuerza recientemente gracias al desarrollo de hardware más potente debido a que requiere de mucha capacidad computacional por la cantidad de información gráfica que se requiere procesar. En los últimos años, las técnicas de procesamiento de imágenes han empezado a ser utilizadas en diferentes áreas de la medicina para la detección temprana de tumores cancerígenos (cáncer de pulmón, cáncer de mamas, etc.) en donde el tiempo y la precisión del diagnóstico es sumamente relevante para iniciar un tratamiento a tiempo [Ravi, 2013]. Otro ejemplo de aplicación en la medicina es la detección de la enfermedad del Alzaimer. La detección temprana de esta enfermedad es muy importante para prevenir daños cerebrales irreversibles. Las técnicas empleadas en la actualidad para diagnosticar esta enfermedad se basan en pruebas de daños cerebrales que se le realizan al paciente. Lamentablemente, estas pruebas solo son confiables cuando la enfermedad se encuentra en un estado avanzado de deterioro cerebral [Mahmood, 2013]. Este tipo de aplicaciones emplean bastantes técnicas de aprendizaje de máquina y el reconocimiento de patrones que son la clave para la detección de anomalías en las imágenes médicas. En la Figura 2.19 se muestran varios nódulos pulmonares que fueron reconocidos por técnicas avanzadas de procesamiento de imágenes. Figura 2.19: Nódulos pulmonares detectados por algoritmos de visión computacional [Song, 2017]. 36 2.3.4. Monitoreo del tráfico Como consecuencia del aumento de vehículos motorizados que se incrementa día a día la congestión vehicular se ha convertido en un problema que afrontan muchos países en el mundo. Una forma de enfrentar los problemas del tráfico es mediante el desarrollo de sistemas inteligentes capaces de medir la densidad vehicular en una autopista utilizando una cámara de visión y diversas técnicas de procesamiento de imágenes [Abbas, 2013]. La Figura 2.20 muestra el reconocimiento de vehículos que transitan por una carretera. El sistema basado en visión artificial y procesamiento de imágenes fue capaz de identificar y contar los vehículos en movimiento para poder ponderar el estado del tráfico. Figura 2.20: Algoritmo para detectar y contar vehículos en movimiento en una autopista [Abbas, 2013]. 2.4. Etapas de un sistema de procesamiento de imágenes Un sistema de procesamiento de imágenes tiene etapas bien definidas. El diagrama de bloques de la Figura 2.21 muestra las etapas de un sistema general de procesamiento de imágenes. 37 Base de datos Pre-procesamiento Extracción de Segmentación características Clasificación Identificación Figura 2.21: Etapas de un sistema de procesamiento de imágenes. 2.4.1. Base de datos La base de datos está conformada por las imágenes digitales del objeto de interés adquiridas con la cámara de visión computacional. Las imágenes en esta primera etapa contienen ruido y la presencia de otros objetos que no son interés y que debe ser removidos en las siguientes etapas. 2.4.2. Pre-procesamiento Las imágenes digitales contienen múltiples tipos de ruidos que distorsionan la forma de la imagen y dificultan su adecuado procesamiento [Bhargava, 2018]. En esta etapa es muy frecuente el uso de diferentes tipos de filtros para reducir la presencia del ruido. 2.4.3. Segmentación Una vez que el ruido ha sido removido de la imagen es necesario que la imagen sea segmentada o particionada en diferentes elementos o regiones de interés que se quieren analizar o procesar. La segmentación es la separación del objeto de interés del fondo o background que es todo lo que no sea el objeto de interés. 38 2.4.4. Extracción de características Luego de remover el ruido de la imagen y luego de segmentarla, se procede a extraer las características de interés del objeto aislado. Estas características pueden ser: características de color, características morfológicas, características de textura, etc. 2.4.5. Clasificación En la etapa de clasificación se clasifican todas las imágenes con similares características antes extraídas. La clasificación permite obtener grupos de objetos con similitudes. 2.4.6. Identificación Finalmente se identifican los objetos de interés y se descartan lo que no lo son. 2.5. Variedades de cítricos en el Perú Existen diferentes teorías sobre el origen de los cítricos, pero muchas de ellas están de acuerdo que provienen de las zonas tropicales y subtropicales del sureste asiático, así como de Malaya. Se cree que de estos lugares se dispersaron a todo el mundo [Ancillo, 2014]. Gracias a su clima tropical, el Perú es uno de los países que cosecha cítricos durante más meses al año. Entre los principales departamentos que producen cítricos tenemos a: Piura, Lambayeque, Lima, Ica, Junín y Cuzco. En nuestro país podemos encontrar las variedades de cítricos que se detallan debajo y muchos más. • Naranjas: Navels, blancas. • Mandarinas: Satsuma, Clementina, Mavasio, Dancy, Nova, Fortuna, Murcott y otros (Pixie, W Murcott, Kara, Ortanique). • Tangelos: Minneola, Orlando y otros. • Toronjas: Star Ruby, Rio Red, Redblush, Marsh, Oro Blanco y otros. 39 El fruto de los cítricos tiene las partes que se muestran en la Figura 2.22. Figura 2.22: Partes de un fruto cítrico [Ancillo, 2014]. 2.5.1. Parámetros de calidad en frutos cítricos De acuerdo con [Pássaro, 2012], es posible evaluar la calidad de los cítricos mediante algunos parámetros que son contemplado en diferentes normas técnicas. Los parámetros de calidad más relevantes son: • Parámetros externos: calibre (tamaño y peso o volumen), color de la piel y firmeza. • Parámetros internos: contenido de zumo, sólidos solubles totales (SST), acidez total (AT), contenido en ácido L-ascórbico (Vitamina C), contenido en volátiles del zumo (etanol y acetaldehído). • Otros parámetros: espesor de la piel, número de semillas, etc. Los cítricos se pueden clasificar por calibre de acuerdo a su volumen y peso. Los rangos aceptables de estos parámetros varían de acuerdo a la norma técnica de cada país y del tipo de cítrico. Los parámetros de volumen y peso son de gran importancia debido a que nos indican el grado de crecimiento y la jugosidad o sequedad del fruto. 40 El color externo es también un parámetro muy importante que es considerado en la mayoría de normas técnicas de diferentes países. Su valoración se realiza mediante la comparación con parámetros de color pre establecidos en la norma. Los criterios de calidad para la clasificación de los frutos cítricos que se tomarán en cuenta en el presente trabajo de tesis se basarán en la norma técnica peruana NTP 011.023 [Indecopi, 2014], que lleva por título: CÍTRICOS. “Mandarinas, tangelos, naranjas y toronjas. Requisitos”. Esta norma técnica tiene por finalidad establecer criterios para uniformizar la clasificación de frutos cítricos para su consumo en fresco. Esta norma técnica se aplica a los siguientes frutos clasificados como “cítricos”, del género Citrus de la familia Rutaceae: naranjas, mandarinas, tangelos y toronjas. 2.5.2. Clasificación Según [Indecopi, 2014] los cítricos se clasifican en cuatro categorías: categoría extra, categoría I, categoría II y FUERA DE CATEGORÍA. Los límites que definen cada categoría se detallan más adelante, en la Tabla 2.6. 2.5.3. Requisitos mínimos de calidad Aunque la norma técnica peruana [Indecopi, 2014] describe varios parámetros para determinar la calidad de los frutos cítricos, el presente trabajo de tesis considerará solamente los relacionados al tamaño (calibre), color y defectos externos superficiales. 2.5.3.1. Tamaño La norma [Indecopi, 2014] establece los tamaños mínimos que se muestran en la Tabla 2.2 para los frutos cítricos. La medida del tamaño se obtiene al medir en milímetros el diámetro de la sección ecuatorial del fruto con un calibrador. 41 Tabla 2.2: Tamaños mínimos en milímetros de cada fruto cítrico [Indecopi, 2014]. El calibre de la fruta se determina en base al diámetro ecuatorial en milímetros y según la Tabla 2.3. 2.5.3.2. Color Los cítricos van adquiriendo diferentes coloraciones durante su maduración. El color es una de las características más importantes en los productos agrícolas debido a que los consumidores lo relacionan con la madurez y la frescura [Vidal, 2013]. [Jiménez- Cuesta, 1981] luego de varios estudios sobre cómo evoluciona el color en la piel de las naranjas y mandarinas definió como Índice de Color para cítricos la relación matemática (1000 × 𝑎)/(𝐿 × 𝑏). Donde L, a y b son los parámetros de Hunter Lab. Según [Pássaro, 2012] esta expresión brinda una buena correlación visual en el rango de colores desde el verde oscuro hasta el naranja intenso como se muestra en la Figura 2.23. Figura 2.23: El Índice de Color proporciona una correlación visual del cítrico desde el verde oscuro y el naranja intenso [Pássaro, 2012]. 42 La norma [Indecopi, 2014] establece que al momento del empaque el fruto no podrá tener áreas con color “Valor IC: -18” o inferiores, es decir, más verdes. Se toma como referencia los colores mostrada en la Tabla 2.4. Tabla 2.3: Escala de calibres según especie (Diámetro en mm) [Indecopi, 2014]. De acuerdo a la coloración del fruto éste se clasifica en: • Muy bien colorado: posee el color característico de la variedad. Frutos con estas características de color pertenecen a la categoría extra. • Bien coloreado: predomina el color característico de la variedad sobre el color verde el cual no debe sobrepasar el 10 % del área superficial. Estos frutos se clasifican dentro de la categoría I. • Razonablemente coloreado: predomina el color característico de la variedad sobre el color verde el cual no debe sobrepasar el 35 % del área superficial. Los frutos razonablemente coloreados se clasifican dentro de la categoría II. • Pobremente coloreado: si más del 35 % del área superficial de la fruta es de color verde y no más del 25 % de la fruta es de color verde oscuro. Los frutos pobremente coloreados se clasifican en la categoría III. 43 Tabla 2.4: Tabla de colores [Indecopi, 2014]. La norma [Indecopi, 2014] contiene ejemplos gráficos que ilustran la clasificación del fruto en cualquiera de las cuatro categorías según su color. Las figuras del anexo A muestran los ejemplos contenidos en dicha norma. 2.5.3.3. Daños y defectos externos La Tabla 2.5 clasifica cada fruto en cualquiera de las cuatro categorías antes mencionadas según los defectos externos y el color. En las figuras del anexo B se ilustran algunos daños y defectos externos de cítricos contenidos en la norma [Indecopi, 2014]. 44 Tabla 2.5: Clasificación de cítricos en cuatro categorías según los defectos externos y el color [Indecopi, 2014]. 45 CAPÍTULO 3 DISEÑO DE LA INTERFACE DE VISIÓN COMPUTACIONAL 3.1. Cálculo de la iluminación y selección de fuente luminosa Según [Valdivia, 2016] para trabajos con color el valor de la iluminancia 𝐸 debe ser por lo menos 1000𝑙𝑥. La intensidad luminosa 𝐼 requerida para alcanzar este valor de iluminancia se calcula con la Fórmula 3.1 [Simons, 2001], en donde 𝐸 es la iluminancia requerida, ℎ = 0.23𝑚 es la altura de las luminarias y 𝛼 = 0° debido a que la plataforma es perpendicular a las luminarias. Reemplazando estos valores en la Fórmula 3.1 se obtiene 𝐼 = 52.9 𝑐𝑑. 𝐸. ℎ2 (3.1) 𝐼 = cos 𝛼 El cálculo del flujo luminoso en lúmenes se realiza con la Fórmula 3.2 [Simons, 2001]. Para este cálculo es necesario calcular, previamente, el ángulo sólido Ω de cada luminaria mediante la Fórmula 3.3 [Simons, 2001]. Φ = 𝐼. Ω (3.2) Ω = 2𝜋(1 − cos 𝛾) (3.3) La fuente luminosa seleccionada son leds de 12𝑉 y de 60𝑙𝑚 de flujo luminoso y un ángulo de visión igual a 120°. Entonces, reemplazando 𝛾 = 120°/2 = 60° en la Formula 3.3 obtenemos Ω = 3.14𝑠𝑟. Por lo tanto, reemplazando valores en la Fórmula 3.2, obtenemos Φ = 166.1𝑙𝑚. Finalmente, se concluye que con tres luminarias de 60𝑙𝑚 cada una se logra alcanzar el flujo luminoso requerido. La temperatura de color de los leds seleccionados fue de 6500K que se aproxima bastante a la luz natural del día (Iluminación D65). 46 3.2. Consideraciones de la geometría del objeto a iluminar También es importante calcular las alturas de las sombras proyectadas por el objeto iluminado [Valdivia, 2016] por una luminaria 𝐹 que se encuentran posicionadas a una altura ℎ = 0.3𝑚. Por motivos de simplicidad se modeló el cítrico (por ejemplo, una naranja) como una esfera. La Figura 3.1 representa la geometría para el cálculo de la altura de la sombra 𝑆1 que genera la fuente luminosa 𝐹 en el lado opuesto al objeto iluminado. La Fórmula 3.4 permite calcular 𝑆1 en función de los demás parámetros. Esta fórmula se consigue haciendo una semejanza de triángulos en la Figura 3.1 Los valores para 𝑎, 𝑏, 𝑐 𝑦 𝑑 son respectivamente: 0.0415, 0.078, 0.05 𝑦 0.05 𝑚. Estos valores fueron hallados experimentalmente. Reemplazando estos valores en la Fórmula 3.4 se obtiene 𝑆1 = 0.0497 𝑚. 𝑏. (𝑎 + 𝑐 + 𝑑) (3.4) 𝑆1 = ℎ − 𝑏 Figura 3.1: Altura de la sombra proyectada en el lado opuesto a la luminaria. 47 De manera similar al caso anterior, se debe estimar la altura 𝑆2 de la sombra generada por el objeto iluminado en mismo lado de la luminaria. La Figura 3.2 muestra la geometría para el cálculo de 𝑆2. La Fórmula 3.5 permite calcular 𝑆2 en función de los demás parámetros mostrados en la Figura 3.2. Análogamente al caso anterior, esta fórmula se obtiene fácilmente haciendo una semejanza de triángulos rectángulos en la Figura 3.2. Los valores de 𝑎, 𝑏 𝑦 𝑑 son 0.001, 0.0405 𝑦 0.05 𝑚, respectivamente y fueron hallado de manera experimental. Reemplazando estos valores en la Fórmula 3.5 se obtiene 𝑆2 = 0.008 𝑚. 𝑏. (𝑎 + 𝑑) (3.5) 𝑆2 = ℎ − 𝑏 Figura 3.2: Altura de la sombra proyectada en el mismo lado a la luminaria. Con estas consideraciones de las alturas de las sombras proyectadas, se optó por usar cuatro luminarias espaciadas simétricamente para que las sombras generadas sean atenuadas y que se reduzcan los errores durante la adquisición de las imágenes [Valdivia, 2016]. 48 3.3 Mecanismo de traslación y rotación de los frutos Los frutos que atraviesan el recinto de captura y procesamiento de imágenes deben ser evaluados en toda su superficie externa. Para conseguir esto, es necesario un mecanismo que los traslade y los gire al mismo tiempo. El movimiento de traslación y rotación se puede conseguir mediante el mecanismo propuesto en [Mills, 1986] y que se muestra en las Figuras 3.3. Este mecanismo consta de rodillos bicónicos que se trasladan unidos por cadenas y que a su vez rotan por el efecto de un sistema de poleas y una faja. Figura 3.3: Mecanismo para trasladar y rotar los frutos mientras atraviesan el recinto de captura y procesamiento de imágenes [Mills, 1986]. Figura 3.4: Vista superior y frontal del mecanismo de traslación y rotación de los frutos [Mills, 1986]. 49 La Figura 3.4 muestra los detalles de mecanismo de los rodillos bicónicos y del mecanismo de poleas que hace rotar los rodillos. La vista superior de la Figura 3.4 muestra el acoplamiento de los rodillos con las cadenas laterales de traslación mientras que la vista frontal muestra la faja y la polea que transmite el movimiento de rotación por fricción a todos los rodillos. Seguidamente, se realiza el estudio del movimiento que el mecanismo de traslación y rotación transmite a los frutos que transporta. La Figura 3.5 representa la vista lateral de un fruto sobre un par de rodillos del mecanismo de traslación y rotación. Para efectos de simplicidad en el análisis se considera que el mecanismo de poleas y faja no se mueve, es decir que los rodillos rotan solamente por el efecto del movimiento de traslación de las cadenas y la fricción entre los rodillos y la faja. Además, se considera que no existe deslizamiento en todos los puntos de contacto de los cuerpos. Como la cámara de visión se encontrará situada en la parte superior solo nos interesa conocer la velocidad de puntos que se encuentran sobre la superficie superior del fruto. Por tal motivo, nos centraremos en conocer principalmente la cinemática de los puntos 𝐴, 𝐵 y 𝐶 indicados en la Figura 3.5. Figura 3.5: Análisis de la cinemática de un fruto sobre los rodillos bicónicos. En la Figura 3.5, se tiene por cinemática que: 𝑉 (3.6) 𝑊 = 𝑅 50 Además: 𝑉 (3.7) 𝑉𝑄 = 𝑊.𝑅 = . 𝑅 = 𝑉𝑅 Por lo tanto, para el fruto sobre los rodillos se tiene que: 𝑉𝑄 𝑉 (3.8) 𝑤 = = 𝑟 𝑟 Para conocer las velocidades absolutas de los puntos 𝐴, 𝐵 y 𝐶 se utilizan las Fórmulas de movimiento relativo que se muestran a continuación. 𝑉 (3.9) 𝑉𝐴= 𝑉𝐴/𝑂 + 𝑉𝑂 = −𝑤. 𝑟. 𝑗 + 𝑉. 𝑖 = − . 𝑟. 𝑗 + 𝑉. 𝑖 𝑟 𝑉𝐴 = −𝑉. 𝑗 + 𝑉. 𝑖 𝑉 (3.10) 𝑉𝐵= 𝑉𝐵/𝑂 + 𝑉𝑂 = −𝑤. 𝑟. 𝑖 + 𝑉. 𝑖 = − . 𝑟. 𝑖 + 𝑉. 𝑖 𝑟 𝑉𝐵 = 0 𝑉 (3.11) 𝑉𝐶= 𝑉𝐶/𝑂 + 𝑉𝑂 = 𝑤. 𝑟. 𝑗 + 𝑉. 𝑖 = . 𝑟. 𝑗 + 𝑉. 𝑖 𝑟 𝑉𝐴 = 𝑉. 𝑗 + 𝑉. 𝑖 De los resultados obtenidos, se concluye que el punto superior 𝐵 del fruto tiene velocidad resultante absoluta igual a cero mientras que los puntos 𝐴 y 𝐶 son los que poseen mayor velocidad resultante absoluta de todos los puntos de la superficie superior. De los resultados obtenidos también se observa que la velocidad absoluta de traslado de los puntos 𝐴 y 𝐶 es igual a 𝑉. Además, si se hace el mismo análisis a cualquiera de los puntos comprendidos entre 𝐴 − 𝐵 ó 𝐵 − 𝐶 se obtendrá que su velocidad absoluta de desplazamiento es mayor que cero, pero siempre menor que 𝑉. 51 Seguidamente, es necesario determinar si el tiempo que demora el fruto en atravesar el recinto de captura y procesamiento de imágenes es suficiente para que este pueda rotar al menos 180°, es decir, que tenga tiempo suficiente para dar media vuelta y así lograr examinar toda su superficie externa. Como el fruto se traslada a una velocidad constante 𝑉 = 30 𝑐𝑚/𝑠, el tiempo que demora en atravesar el campo de visión de la cámara, el cual se ha considerado igual a 18 𝑐𝑚, es de 0.6 𝑠. El tiempo 𝑡 que demora el fruto en rotar 180° se calcula dividiendo 𝜋 entre la velocidad angular 𝑤 del fruto, según se la Fórmula 3.12. 𝜋 𝑡 = (3.12) 𝑤 Considerando un fruto grande de 10 𝑐𝑚 de diámetro (por ejemplo, una naranja extra grande de calibre C1 según la norma técnica empleada), se tiene que su velocidad angular según la Fórmula 3.8 sería de: 𝑉 30 𝑐𝑚/𝑠 𝑤 = = = 6 𝑟𝑎𝑑/𝑠 𝑟 5 𝑐𝑚 Reemplazando este valor en la Fórmula 3.12, tenemos que el tiempo que demora el fruto en rotar 180° es igual a: 𝜋 𝑡 = = 0.52 𝑠 6 𝑟𝑎𝑑/𝑠 Dado que el tiempo que demora el fruto en dar media vuelta (por efecto de su velocidad angular) es menor al tiempo que demora en atravesar por completo el campo de visión de la cámara, se concluye que las velocidades de traslación y rotación del mecanismo son suficientes para lograr examinar toda la superficie externa del fruto. 52 3.4. Selección de la cámara de visión y del lente Como la aplicación para la cual se desea diseñar la interface de visión computacional consiste en la evaluación de cítricos en movimiento mediante una cámara de visión computacional, el parámetro que determina la selección de la cámara es el tiempo de exposición 𝑇𝑒. El tiempo de exposición es el tiempo que la luz de un objeto es capturada por el sensor de la cámara. Para objetos en movimiento este tiempo debe ser muy breve para evitar que se generen imágenes borrosas. De acuerdo con [Abdelhedi, 2012] el tiempo de exposición se calcula con la Fórmula 3.13. 𝐵. 𝐹𝑜𝑉 (3.13) 𝑇𝑒 = 𝑉.𝑁𝑝 Donde, 𝐵 es la cantidad máxima de pixeles borrosos o desenfocados que se desea tener, 𝐹𝑜𝑉 es la dimensión horizontal del campo de visión (Fiel of View), 𝑉 es la velocidad de desplazamiento del objeto que se desea evaluar y 𝑁𝑝 es el número de pixeles en la dirección horizontal del sensor de la cámara. Considerando una cantidad máxima de pixeles borrosos 𝐵 = 4 [Valdivia, 2016], una dimensión horizontal del campo de visión 𝐹𝑜𝑉 = 0.18 𝑚, una velocidad del transportador 𝑉 = 30 𝑐𝑚/𝑠 y un número de pixeles en la dirección horizontal 𝑁𝑝 = 1440 𝑝𝑖𝑥𝑒𝑙𝑒𝑠, el tiempo de exposición obtenido luego de reemplazar estos valores en la Formula 3.13 es de 𝑇𝐸 = 1666 𝜇𝑠 (1.666 𝑚𝑠). Además, considerando la velocidad a la que los frutos ingresan al recinto de captura de imágenes y la longitud del campo de visión, se tiene que cada fruto demoraría 0.6 𝑠 en atravesar completamente el campo de visión. Se seleccionó la cámara BFS-U3-16S2C-CS de la marca FLIR por sus características industriales. Esta cámara cuenta con un tiempo de exposición ajustable que va desde los 4 𝜇𝑠 hasta los 30 𝑠, una velocidad de 226 𝑓𝑝𝑠 (fotogramas por segundo) y una resolución de 1440 × 1080 (1.6 𝑚𝑒𝑔𝑎 𝑝𝑖𝑥𝑒𝑙𝑒𝑠). Además, esta cámara cuenta con una interface de comunicación USB3 v1.0. La cámara y sus especificaciones más importantes se muestran en la Figura 3.6. 53 Figura 3.6: Cámara FLIR modelo BFS-U3-16S2C-CS y sus especificaciones más importantes. Toda cámara de visión requiere un lente para concentrar la luz del objeto enfocado sobre el sensor de la cámara. La selección del lente requiere del cálculo de la distancia focal del mismo. Este parámetro se calcula con la Fórmula 3.14 [Edmund Optics]. 𝑙 × 𝑊𝐷 (3.14) 𝑓 = 𝐹𝑜𝑉 Donde, 𝑓 es la distancia focal que se desea calcular, 𝑙 es el tamaño del sensor de la cámara en la dimensión horizontal, 𝑊𝐷 es la distancia desde el objeto evaluado hasta el lente y 𝐹𝑜𝑉 es la distancia horizontal del campo de visión. Para obtener 𝑙 se debe multiplicar el tamaño de cada pixel del sensor de la cámara por la cantidad de pixeles en la dirección horizontal. Este cálculo da como resultado 3.45 𝜇𝑚 × 1440 = 4.968 𝑚𝑠. Se ha tenido en cuenta que el tamaño de cada pixel, según la tabla de especificaciones de la cámara, es de 3.45 𝜇𝑚. La distancia de trabajo 𝑊𝐷 se fija en 0.30 𝑚 y la dimensión horizontal del campo de visión es 0.18 𝑚. Reemplazando estos valores en la Formula 3.14 se obtiene 𝑓 = 8.3 𝑚𝑚 ≈ 8 𝑚𝑚 (se redondeó el valor calculado al número entero más próximo). Seguidamente, se seleccionó el lente mostrado en la Figura 3.7 de la marca Edmund Optics de 8 𝑚𝑚 de distancia focal. 54 Figura 3.7: Lente de 8mm de distancia focal de la marca Edmund Optics. 3.5. Implementación del recinto de captura de imágenes El recinto de captura de imágenes implementado consta de una plataforma de color oscuro de 0.25 𝑚 × 0.25𝑚, paredes laterales de color claro, cuatro luminarias posicionadas simétricamente y de un soporte para la cámara de visión. La cámara fue colocada a 0.30 𝑚 de altura respecto a la plataforma. El recinto de captura de imágenes con todos los elementos que lo conforman se muestra en la Figura 3.8. Cámara de visión Luminaria 0.3 m Plataforma Campo de Visión (FoV) Figura 3.8: Recinto de captura de imágenes. 55 La Figura 3.9 muestra la primera imagen capturada de una naranja utilizando el recinto de captura de imágenes implementado. A una altura de la cámara igual a 0.30 𝑚 se obtiene, experimentalmente, un campo de visión igual a 0.15 × 0.20 𝑚2. 0.15 m 0.20 m Figura 3.9: Primera imagen capturada en el recinto de captura de imágenes implementado. La Figura 3.10 muestra la separación del objeto del fondo mediante las técnicas de procesamiento de imágenes detalladas más adelante. Figura 3.10: Separación del objeto del fondo de la imagen capturada. 3.6. Algoritmo global de la interface de visión computacional La Figura 3.11 muestra el diagrama de flujo del algoritmo global del sistema de visión computacional. Según se observa en el algoritmo, uno de los objetivos es eliminar el fondo de la imagen adquirida de la fruta para, posteriormente, en base a 56 sub-algoritmos, determinar el tamaño, la forma, el color y los defectos externos. Luego de haber calculado estos parámetros se debe decidir a qué categoría de clasificación pertenece el cítrico según los estándares de calidad de la norma técnica peruana empleada. Inicio Capturar imagen Umbralizar Aplicar operadores morfológicos Eliminar el fondo - Calcular el tamaño y la forma. - Determinar el color. - Detectar defectos. Clasificar Figura 3.11: Algoritmo global de la interface de visión computacional. 3.7. Sub-algoritmo para el cálculo del tamaño y forma La Figura 3.12 muestra el sub-algoritmo para el cálculo del tamaño y la forma. Este sub-algoritmo fue implementado en Matlab obteniéndose los resultados mostrados más adelante en las Figuras 3.13, 3.14 y 3.15. 57 Inicio Capturar imagen y convertir a escala de grises Umbralizar Aplicar operadores morfológicos Eliminar el fondo Calcular el centroide Calcular diámetros cada 5° respecto al centroide Determinar Dmax y Dmin Clasificar Figura 3.12: Sub-algoritmo para el cálculo del tamaño y la forma. La Figura 3.13(a) muestra la imagen original de entrada al algoritmo. En primer lugar, esta imagen fue convertida a la escala de grises, tal como lo muestra la Figura 3.13(b) y luego se calculó el histograma de esta imagen según se muestra en la Figura 3.13(c). La información del histograma se utilizó para hallar el valor de umbralización Ith que servirá para hacer la separación del fondo del objeto de interés. El valor de umbralización Ith se halló mediante la Fórmula 3.15 propuesta en 58 [Moallem, 2016], en la cual, Iprom representa el valor de intensidad promedio de la imagen en escala de grises e Imaxrep es el valor máximo representativo de los valores de intensidad. 𝐼𝑝𝑟𝑜𝑚 + 𝐼max𝑟𝑒𝑝 𝐼𝑡ℎ = (3.15) 2 Luego que la imagen fue umbralizada, se binarizó, se excluyó el fondo y se calculó el centroide. El resultado obtenido se muestra en la Figura 3.13(d). (a) (b) Centroide Imaxrep Ith Iprom (c) (d) Figura 3.13: (a) Imagen original, (b) Imagen en escala de grises, (c) Histograma de la imagen en escala de grises, (d) Centroide de la fruta ingresada. El centroide hallado se utilizó como referencia para determinar los diámetros menor y mayor de la imagen binarizada y sin fondo. Para determinar estos diámetros se calcularon todos los diámetros de la imagen cada 5°, luego, se determinó el menor y mayor del conjunto de 72 diámetros calculados. La relación entre ambos diámetros hallados nos da una buena información de la forma o geometría del fruto. Finalmente, se superpusieron ambos diámetros a la imagen original sin fondo. Los resultados parciales se muestran en las Figuras 3.14(a), 3.14(b) y 3.14(c). 59 Dmin Dmin Dmax Dmax (a) (b) (c) Figura 3.14: (a) Diámetros trazados cada 5°, (b) Diámetros mayor y menor del conjunto de 72 diámetros obtenidos, (c) Diámetros menor y mayor superpuesto en la imagen original sin fondo. El algoritmo implementado también mostró ser eficiente para el cálculo de los diámetros menor y mayor en otras frutas, tal como se muestra en las Figuras 3.15(a), 3.15(b) y 3.15(c). (a) (b) (c) Figura 3.15: (a) Diámetro menor y mayor de una lima, (b) Diámetro menor y mayor de un mango, (c) Diámetro menor y mayor de una manzana. 3.8. Sub-algoritmo para determinar el color La clasificación del fruto mediante su color se realiza mediante su Índice de Color o IC. En Capítulo 2 de indicó que el IC sirve para calificar el fruto dentro de un rango de colores que van desde el verde oscuro hasta el naranja intenso. El IC brinda una idea del grado de madurez del cítrico. Para el cálculo del IC se procedió según indica el algoritmo de la Figura 3.16. Este método fue propuesto en [Vidal, 2013] y en la presente tesis nos basaremos en dicho trabajo para determinar el IC. 60 Inicio Capturar imagen (Espacio RGB) Convertir RGB a XYZ Convertir XYZ a Hunter Lab Calcular el índice de color IC promedio Clasificar Figura 3.16: Sub-algoritmo para el cálculo del color. En primer lugar, como la imagen ha sido adquirida en el espacio RGB estos valores deben ser convertidos al espacio XYZ. Para esto, los valores de RGB deben ser normalizados o estandarizados a los valores rgb según las Fórmulas 3.16, 3.17 y 3.18 ó 3.19, 2.20 y 3.21 [Vidal, 2013], [Mendoza, 2006] y [Kang, 2008], según corresponda. Si cualquiera de los valores de RGB normalizados es mayor que 0.04045, se deben aplicar las Fórmulas a continuación: 𝑅 + 0.055 2.4 𝑟 = ( ) (3.16) 1.055 𝐺 + 0.055 2.4 𝑔 = ( ) (3.17) 1.055 61 𝐵 + 0.055 2.4 𝑏 = ( ) (3.18) 1.055 Si cualquiera de los valores de RGB es menor que 0.04045, se utilizan las Fórmulas que siguen: 𝑅 𝑟 = ( ) (3.19) 12.92 𝐺 𝑔 = ( ) (3.20) 12.92 𝐵 𝑏 = ( ) (3.21) 12.92 Una vez calculados los valores de rgb se calculan los valores XYZ mediante la transformación lineal 3.22: 𝑋 𝑟 [𝑌] = 100. [𝑀]. [𝑔] (3.22) 𝑍 𝑏 Donde M es la matriz de transformación utilizada para convertir los valores del espacio rgb al espacio de tres estímulos XYZ [Vidal, 2013], [Mendoza, 2006], [Kang, 2008], [Wu, 2013], [Lopez, 2005] y [Saldaña, 2013]. La deducción de los coeficientes de la matriz M se demuestran en [Strokes, 1996]. 0.411669 0.3567891 0.1796505 𝑀 = [0.2126729 0.7151522 0.072175 ] (3.23) 0.0140739 0.113932 0.9450441 Luego, con los valores de XYZ obtenidos, se pueden calcular los parámetros de Hunter Lab utilizando las Fórmulas 3.24, 3.25 y 3.26 [Vidal, 2013]: 𝑌 𝐿 = 100.√ (3.24) 𝑌𝑛 62 𝑋 𝑌 ( ) − ( ) 𝑎 = 𝐾 . 𝑋𝑛 𝑌𝑛 𝑎 (3.25) 𝑌 √ ( 𝑌𝑛 ) 𝑌 𝑍 (𝑌 ) − (𝑍 ) 𝑏 = 𝐾 . 𝑛 𝑛 𝑏 (3.26) 𝑌 √ ( 𝑌𝑛 ) Las constantes 𝐾𝑎 y 𝐾𝑏 son, respectivamente: 175 𝐾𝑎 ≈ (𝑋𝑛 + 𝑌𝑛) (3.27) 198.04 70 𝐾𝑏 ≈ (𝑌𝑛 + 𝑍𝑛) (3.28) 218.11 Donde Xn , Yn y Zn son valores representan el punto blanco de referencia de los valores X, Y y Z. De acuerdo con [Vidal, 2013], [Kang, 2008], [Saldaña, 2013] y [López, 2005]. Para una iluminación del tipo D65 con un observador estándar de 10°, los valores para Xn, Yn y Zn, son: 94.811, 100 y 107.304 respectivamente. Finalmente, con los parámetros de Hunter Lab obtenidos, se puede calcular el IC de la fruta con la Fórmula 3.29 [Vidal, 2013]: 1000. 𝑎 𝐼𝐶 = (3.29) 𝐿. 𝑏 Cabe resaltar que el IC fue definido en el Capítulo 2 de la presente tesis. El IC se debe calcular sobre cada pixel de la imagen de la fruta y luego se calcula el promedio de todos los IC’s. Este valor promedio se toma como el IC de toda la fruta que está siendo evaluada [Vidal, 2013]. Se implementó el algoritmo de la Figura 3.16 en Matlab en base a las Fórmulas mostradas anteriormente. Los resultados obtenidos se muestran a continuación. 63 La Figura 3.17 muestra una naranja verde en el interior del recinto de captura de imágenes. Luego de aplicar el algoritmo de la Figura 3.16 a esta fruta se obtuvo un índice de color igual a -5. Este valor obtenido mide que tan próximo del verde oscuro se encuentra el color de la mandarina evaluada. Figura 3.17: Mandarina verde con un índice de color igual a -5. La Figura 3.18 muestra una naranja madura también al interior del recinto de captura de imágenes. El índice de color obtenido para esta naranja fue de 2. Este valor mide que tan próximo al naranja intenso se encuentra el color de la naranja evaluada. Figura 3.18: Naranja madura con un índice de color igual a 2. Los resultados obtenidos para los dos cítricos evaluados se aproximan a los índices de color mostrados en la Tabla 2.5. 3.9. Sub-algoritmo para detectar los defectos externos La detección de defectos externos se hace a nivel de cada pixel y mediante el uso de una red neuronal multicapa según se propone en [Moallem, 2016]. Además, según [Bhargava, 2018] las redes neuronales presentan una alta precisión para la detección de defectos externos (98.40%). El sub-algoritmo implementado en la presente tesis 64 está basado en un algoritmo de entrenamiento del tipo back propagation con el cual, según [Harna, 2017], se logra una alta precisión para el reconocimiento de patrones. La Figura 3.19 muestra el sub-algoritmo de detección de defectos externos. Las fórmulas empleadas para el entrenamiento de la red neuronal se muestran más adelante en la descripción del algoritmo de entrenamiento. Algoritmo principal Inicio Algoritmo de entrenamiento de la Red Neuronal Inicio Capturar imagen Leer clases Umbralizar Aplicar operadores Entrenar la RN morfológicos Grabar los pesos Eliminar de la RN el fondo Aplicar la RN entrenada Clasificar Figura 3.19: Sub-algoritmo para la detección de defectos externos. Los resultados obtenidos, luego de implementar el sub-algoritmo de la Figura 3.19 en Matlab, se muestra en las Figuras 3.20, 3.21 y 3.122. Estas figuras muestran que la red neuronal ha sido capaz de reconocer los pixeles defectuosos de los cítricos evaluados. Los defectos considerados para el entrenamiento de la red neuronal fueron: oleocelosis, cicatrices (rameado) y trips. 65 (a) (b) Figura 3.20: Detección de defectos. (a) Imagen de ingreso a la red neuronal, (b) Salida de la red neuronal. (a) (b) Figura 3.21: Detección de defectos. (a) Imagen de ingreso a la red neuronal, (b) Salida de la red neuronal. (a) (b) Figura 3.22: Detección de defectos. (a) Imagen de ingreso a la red neuronal, (b) Salida de la red neuronal. 3.9.1. Sub-algoritmo de entrenamiento de la Red Neuronal El sub-algoritmo de detección de defectos externos está basado en una red neuronal multicapa representada en la Figura 3.23. La red está compuesta de cinco neuronas 66 en la capa de entrada (cuatro neuronas para ingreso de datos y una neurona bias), n neuronas en la capa oculta y tres neuronas en la capa de salida. Como se mencionó anteriormente, el entrenamiento de la red se hace a nivel de cada pixel. La entrada a la red está compuesta por los valores R (red), G (green), B (blue) y H (hue) de cada pixel de las clases de entrenamiento. Este método de entrenamiento fue propuesto en [Moallem, 2016] para detectar defectos externos en una manzana. Como la red neuronal cuenta con tres neuronas en la capa de salida será capaz de clasificar hasta tres clases diferentes de pixeles a las que denominaremos clase 1, clase 2 y clase 3. Para el entrenamiento de la red neuronal se eligió el algoritmo de retro propagación de errores o back propagation. La función de activación de las neuronas es la función sigmoidea del tipo 2 y los pesos, vij y wjk, son valores pequeños aleatorios. Figura 3.23. Topología de la red neuronal. Como se dijo anteriormente, los datos de entrenamiento que ingresan a la red neuronal son los valores R, G, B y H de cada pixel de cada una de las tres clases de entrenamiento. La Figura 3.24 representa cada una de las clases descompuesta en sus cuatro capas R, G, B y H. Los datos de entrada a la red son los valores R, G, B y H de cada pixel reordenados de forma vertical. 67 Figura 3.24: Capas R, G, B y H de cada clase de entrenamiento de la red neuronal. La información del resto de clases de entrenamiento también fue reordenada de forma vertical y las tres clases se concatenaron para formar una sola matriz de entrada con todos los datos de las clases que se quieren clasificar. Para la obtención de las clases de entrenamiento se utilizaron imágenes de frutas en buenas condiciones y con defectos externos. Por ejemplo, la Figura 3.25 muestra dos naranjas con defectos externos de las cuales se extrajeron algunos pixeles de las zonas defectuosas. Figura 3.25: Frutas con defectos externos. Se extrajeron pixeles de las zonas defectuosas para entrenar la red neuronal. De manera similar se extrajeron pixeles de frutas en buenas condiciones externas. La Figura 3.26 muestra las tres clases de entrenamiento que ingresaran a la red neuronal. La clase 1 (Figura 3.26(a)) está compuesta por pixeles negros que son la clase a la que pertenecen los pixeles del fondo de la imagen, la clase 2 (Figura 3.26(b)), 68 correspondientes a pixeles de la cascara de frutas en buena condición externa y la clase 3 (Figura 3.26(c)) las conforman pixeles de diferentes tipos de defectos externos. (a) (b) (c) Figura 3.26: (a) Pixeles del fondo de la imagen, (b) Pixeles de frutas en buena condición externa, (c) Pixeles de zonas defectuosas. Como ejemplo, la Figura 3.27 muestra la descomposición de la clase 2 en sus cuatro capas R, G, B y H. R G B H Figura 3.27: Descomposición de la clase 2 en sus capas: R, G, B y H. La información de las capas fue agrupada en una matriz y fue ingresada a la red neuronal para el entrenamiento de la misma. La Figura 3.28 representa lo acabado de expresar. 69 Figura 3.28: Entrenamiento de la red neuronal con la información de la clase 2 correspondiente a pixeles en buen estado. La Figura 3.29 representa el flujo que siguen los datos dentro de la red neuronal en un algoritmo de entrenamiento tipo back propagation o de retro propagación de errores. Este algoritmo retro propaga los errores obtenidos a la salida y utiliza los valores finales para actualizar los pesos vij y wjk. Los pasos descrito a continuación detallan el procedimiento de actualización de pesos mediante este algoritmo. Figura 3.29: Representación del algoritmo back propagation. Las fórmulas utilizadas en el siguiente algoritmo son deducidas en [Haykin, 2009] y [Caicedo, 2017]. 70 Paso 1: En primer lugar, se inicializa la función de costo J a cero y los pesos de la red vij y wjk con valores pequeños aleatorios, tal como se indica en las Ecuaciones 3.30, 3.31 y 3.32. 𝐽 = 0 (3.30) 𝑤 = 𝑎𝑙𝑒𝑎𝑡𝑜𝑟𝑖𝑜𝑠 (3.31) 𝑣 = 𝑎𝑙𝑒𝑎𝑡𝑜𝑟𝑖𝑜𝑠 (3.32) Paso 2: Los datos de entrada x son ingresados a la red neuronal para obtener la salida y mediante las Fórmulas 3.33, 3.34 y 3.35. 𝑚 = 𝑣. 𝒙 (3.33) 𝑛 = 𝑓(𝑚) (3.34) 𝒚 = 𝑤. 𝑛 (3.35) Donde f(.) es la función sigmoidea del tipo 2 (función de activación), representada por la Fórmula 3.36: 2 𝑓(𝑚) = 𝑆2 = − 1 (3.36) 1 + 𝑒−𝑚 Paso 3: Mediante la Ecuación 3.37 se calculan los errores restando a los valores de salida y, los valores deseados ?̅?, según la Fórmula 3.23. El valor deseado es el valor asignado a cada clase (aprendizaje supervisado). 𝑒 = 𝑦 − ?̅? (3.37) Paso 4: Se actualiza la función de costo J utilizando el error obtenido en el paso anterior, según la Fórmula 3.38: 1 𝐽 = 𝐽 + 𝑒2 (3.38) 2 71 Paso 5: Se calculan las derivadas de la función de costo J respecto a los pesos vij y wjk de acuerdo con las Fórmulas 3.39 y 3.40: 𝜕𝐽 = 𝑒. 𝑛 (3.39) 𝜕𝑤 𝜕𝐽 𝜕𝑛 = 𝑒.𝑤. . 𝑥 (3.40) 𝜕𝑣 𝜕𝑚 Donde: 𝜕𝑛 (1 − 𝑛2) = (3.41) 𝜕𝑚 2 Paso 6: Finalmente, se actualizan los pesos vij y wjk con las Fórmulas 3.42 y 3.43: 𝜕𝐽 𝑤 = 𝑤 − 𝜂. (3.42) 𝜕𝑤 𝜕𝐽 𝑣 = 𝑣 − 𝜂. (3.43) 𝜕𝑣 Donde 𝜂 es el coeficiente o tasa de aprendizaje (learning rate). Se repiten todos estos pasos hasta completar todos los valores del vector de entrada un número determinado de iteraciones. Para evitar el sobre ajuste u overfitting de la red los datos de entrada se desordenaron aleatoriamente de forma vertical y se dividieron en dos partes del 80% y 20% del total. El primer grupo de datos servirá solamente para el entrenamiento y el segundo para la validación de la red entrenada. La etapa de validación sirve para comprobar que la red es capaz de clasificar datos que no han sido utilizados anteriormente. Inicialmente para nuestra red neuronal se eligió un coeficiente de aprendizaje igual a 0.3 y se iteró el programa un número alto de ciclos para verificar la convergencia a cero de la función de costo J. La Figura 3.30 muestra el comportamiento de la función de costo J por cada iteración. Se observa que la función de costo J converge a cero lo cual indica que la red neuronal fue capaz de clasificar todos los valores de entrada en tres clases diferentes. 72 Figura 3.30: Evolución de la función de costo J en el tiempo. La función de costo tiende a cero luego de un número alto de iteraciones. Luego de verificar la convergencia de la red neuronal, se procedió a validarla con el 20% de los datos de entrada. El proceso de validación se realizó para diferentes números de neuronas intermedias con la finalidad de encontrar el número óptimo de estas. Para la etapa de validación se mantuvo el coeficiente de aprendizaje en 0.3 y se redujo el número de iteraciones a 1000 con la finalidad de acelerar el proceso. La Tabla 3.1 muestra la precisión obtenida con diferentes números de neuronas intermedias manteniendo siempre una sola capa oculta. Se observó que, a partir de 3 neuronas intermedias, la precisión supera el 99.9% y que con mayor número de neuronas la precisión prácticamente no varía. Este resultado indica que 3 neuronas en la capa oculta son suficientes para lograr la clasificación de las tres clases de pixeles. Tabla 3.1: Comparación de la precisión para diferentes números de neuronas intermedias. Ninternas 2 3 4 5 8 10 15 Precisión 73.21% 99.92% 99.90% 99.94% 99.95% 99.96% 99.96% Seguidamente, se mantuvo fijo el número de neuronas ocultas en 3 y se midió el valor de la función de costo J para diferentes coeficientes de aprendizaje al cabo de 1000 iteraciones. Los resultados obtenidos se muestran en la Tabla 3.2. Tabla 3.2: Valor de la función de costo J para diferentes valores del coeficiente de aprendizaje 𝜂 luego de 1000 iteraciones. 𝜂 0.5 0.35 0.3 0.25 0.1 0.01 J 17.7640 14.6080 14.0026 14.3207 20.2358 63.6005 73 Se observó que para un coeficiente de aprendizaje 𝜂 igual a 0.3 la función de costo es menor. Este resultado se puede interpretar como que para dicho 𝜂 = 0.3, la red neuronal aprende con mayor velocidad los datos que se desean clasificar. Luego se verificó cual es el número adecuado de iteraciones para evitar el sobreajuste de la red. Se midió la precisión de la red con la data de validación para diferentes números de iteraciones. Los resultados se muestran en la Tabla 3.3. Tabla 3.3: Comparación de la precisión para diferentes números de iteraciones. Niteraciones 0 5 10 15 20 30 40 50 75 100 250 500 Precisión 32% 90% 92% 93% 94% 94% 95% 96% 94% 94% 93% 93% Se observó que la mayor precisión de la red se consigue alrededor de las 50 iteraciones. Luego de eso la precisión tiene a disminuir. Finalmente, se eligió trabajar con 3 neuronas en la capa intermedia, con un coeficiente de aprendizaje igual 0.3 y con 50 iteraciones de entrenamiento para evitar el sobre ajuste. Cabe indicar que el tiempo de entrenamiento requerido fue de 12.145 segundos utilizando una PC con CPU Intel X5680 @ 3.33 GHz y una placa madre MSI X58. Para validar nuestro modelo final entrenado se ingresó la imagen completa de una naranja con defectos superficiales. La red fue capaz de diferenciar los pixeles defectuosos de los pixeles sanos de la imagen ingresada, tal como se muestra en la Figura 3.31. Los pixeles defectuosos (correspondientes a la clase 3) fueron encerrados por líneas de color cian. El programa original fue modificado ligeramente para mostrar las áreas defectuosas encerradas por una línea en lugar de colorear todos los pixeles defectuosos. Se hizo esta modificación con la finalidad de reducir el tiempo computacional al momento de mostrar los resultados. 74 Figura 3.31: Detección de pixeles defectuosos de una naranja con defectos tipo oleocelosis en la cáscara. Las áreas defectuosas fueron delimitadas por líneas de color cian. Para estimar el área total defectuosa fue necesario determinar el área correspondiente a cada pixel. El área correspondiente a cada pixel se determinó dividiendo el área del campo de visión real o experimental de la cámara entre la cantidad de pixeles del sensor de la cámara, según la Fórmula 3.44. 200 𝑚𝑚 × 150 𝑚𝑚 𝐴 = = 0.0193 𝑚𝑚2𝑝𝑥𝑙 /𝑝𝑥𝑙 (3.44) 1440 𝑝𝑥𝑙 × 1080 𝑝𝑥𝑙 Finalmente, el área total defectuosa será determinada multiplicando la cantidad de pixeles defectuosos hallados por la red neuronal por el área correspondiente a cada pixel de acuerdo con la Fórmula 3.45. 𝐴𝑑𝑒𝑓 = 𝑁𝑝𝑥𝑙 × 𝐴𝑝𝑥𝑙 (3.45) 3.10. Implementación de la interface Para la implementación de la interface se utilizó la herramienta de interfaces gráficas de Matlab GUIDE. La interface implementada permite seleccionar el tipo de cítrico con el que se desea trabajar. Las opciones a elegir son: naranjas, mandarinas, tangelos o toronjas. La interface principal se muestra en la Figura 3.32. 75 Figura 3.32: Interface principal. Después de seleccionar una de las opciones se despliega la ventana de la Figura 3.33 en donde se muestra la fruta a evaluar. En esta ventana se debe seleccionar si se desea evaluar el tamaño, el color o los defectos externos. La ventana también muestra la opción de regresar al panel principal. Figura 3.33: Interface secundaria. Luego de seleccionar la opción de evaluación aparece cualquiera de las ventanas mostradas en las Figuras 3.34 y 3.35 dependiendo que característica de la fruta se desea evaluar. 76 En la primera opción, la evaluación de la fruta comenzará luego de elegir la opción de “Iniciar evaluación”. Figura 3.34: Ventana para la evaluación del tamaño y color. Si en el panel de la Figura 3.33 se elige la segunda opción, aparecerá el panel de la Figura 3.35 que corresponde a la detección de defectos externos. Para iniciar la detección de defectos externos se debe seleccionar la opción de “Iniciar detección”. Figura 3.35: Ventana para la evaluación de defectos. 77 CAPÍTULO 4 PRUEBAS Y RESULTADOS En este capítulo se presentan los resultados obtenidos de las pruebas realizadas a dos especies de cítricos: naranjas y mandarinas. Las pruebas se realizaron en estático (frutos en reposo) debido a que solo se desea probar el recinto de captura y procesamiento de imágenes diseñado e implementado. 4.1. Evaluación de naranjas 4.1.1. Evaluación del tamaño y color Se evaluó el tamaño y el color de cincuenta naranjas con los algoritmos implementados. Las Figuras 4.1 y 4.2 muestran los resultados de la evaluación del tamaño y color solo de la primera naranja. Figura 4.1: Medición del tamaño con el Figura 4.2: Medición del color con el algoritmo implementado. algoritmo implementado. La Tabla 4.1 contiene los resultados de las mediciones del tamaño de las cincuenta naranjas utilizando el algoritmo implementado y los resultados obtenidos utilizando un calibrador o pie de rey. La tabla también muestra los errores porcentuales de la comparación de ambas mediciones y los calibres de cada naranja (según norma técnica) utilizando la medición obtenida con el algoritmo y con el calibrador. 78 Tabla 4.1: Resultado de la evaluación del tamaño en naranjas. Nar Dmax Dmin Dmax Dmin % Error % Error Calibre Calibre (Algoritmo) (Algoritmo) (Real) (Real) (Dmax) (Dmin) (Algoritmo) (real) Acierto 1 71.62 69.38 71 69 0.9 0.6 Cal 6 Cal 6 OK 2 72.22 69.99 71 70 1.7 0.0 Cal 6 Cal 6 OK 3 72.66 69.26 72 70 0.9 1.1 Cal 6 Cal 6 OK 4 74.11 71.11 73 71 1.5 0.2 Cal 5 Cal 5 OK 5 72.80 70.80 72.5 71 0.4 0.3 Cal 6 Cal 6 OK 6 75.69 74.66 75 74 0.9 0.9 Cal 5 Cal 5 OK 7 74.69 72.71 73 72 2.3 1.0 Cal 5 Cal 5 OK 8 77.63 73.86 77 74 0.8 0.2 Cal 5 Cal 5 OK 9 72.02 70.96 71 70.5 1.4 0.7 Cal 6 Cal 6 OK 10 71.21 68.95 71 69 0.3 0.1 Cal 6 Cal 6 OK 11 74.36 70.81 74 71 0.5 0.3 Cal 5 Cal 5 OK 12 70.63 67.33 71 68 0.5 1.0 Cal 6 Cal 6 OK 13 76.80 73.07 76 73 1.1 0.1 Cal 5 Cal 5 OK 14 76.22 73.50 75 72.5 1.6 1.4 Cal 5 Cal 5 OK 15 76.97 69.39 76 68 1.3 2.0 Cal 5 Cal 5 OK 16 72.08 63.81 71 63 1.5 1.3 Cal 6 Cal 6 OK 17 86.25 81.99 86 82 0.3 0.0 Cal 2 Cal 2 OK 18 84.62 81.49 85 82 0.4 0.6 Cal 2 Cal 2 OK 19 82.12 79.07 83 80 1.1 1.2 Cal 3 Cal 3 OK 20 86.44 83.55 86 83 0.5 0.7 Cal 2 Cal 2 OK 21 82.73 77.79 83 78 0.3 0.3 Cal 3 Cal 3 OK 22 73.90 71.34 74 72 0.1 0.9 Cal 5 Cal 5 OK 23 81.24 78.78 81 79 0.3 0.3 Cal 4 Cal 4 OK 24 78.93 77.16 79 77 0.1 0.2 Cal 4 Cal 4 OK 25 83.47 80.21 83 81 0.6 1.0 Cal 3 Cal 3 OK 26 75.98 73.42 76 74 0.0 0.8 Cal 5 Cal 5 OK 27 71.60 67.85 72 68 0.6 0.2 Cal 6 Cal 6 OK 28 75.40 72.80 75.5 73 0.1 0.3 Cal 5 Cal 5 OK 29 80.58 78.04 79 77.5 2.0 0.7 Cal 4 Cal 4 OK 30 79.06 74.34 78 73.5 1.4 1.1 Cal 4 Cal 4 OK 31 78.55 75.77 77 75 2.0 1.0 Cal 4 Cal 4 OK 32 84.30 82.46 82.5 81 2.2 1.8 Cal 3 Cal 3 OK 33 74.69 72.54 74 72.5 0.9 0.1 Cal 5 Cal 5 OK 34 69.62 67.75 69 68 0.9 0.4 Cal 7 Cal 7 OK 35 77.27 74.74 76.5 74.5 1.0 0.3 Cal 5 Cal 5 OK 36 69.26 67.06 69.5 67.5 0.3 0.7 Cal 7 Cal 7 OK 37 73.83 70.27 72 69.5 2.5 1.1 Cal 6 Cal 6 OK 38 71.73 68.46 71 68 1.0 0.7 Cal 6 Cal 6 OK 39 64.77 62.82 65 63.5 0.4 1.1 Cal 8 Cal 8 OK 40 66.96 64.52 67 65 0.1 0.7 Cal 8 Cal 8 OK 41 67.02 64.29 67 64 0.0 0.5 Cal 8 Cal 8 OK 42 76.90 75.85 76 75.5 1.2 0.5 Cal 5 Cal 5 OK 43 67.89 64.84 68 65 0.2 0.2 Cal 7 Cal 7 OK 44 90.64 86.72 90 86 0.7 0.8 Cal 1 Cal 1 OK 45 83.81 81.64 82.5 82.5 1.6 1.0 Cal 3 Cal 3 OK 46 73.84 71.17 75 73 1.5 2.5 Cal 6 Cal 6 OK 47 71.00 69.36 72.5 70 2.1 0.9 Cal 6 Cal 6 OK 48 86.37 81.96 84.5 82 2.2 0.0 Cal 3 Cal 3 OK 49 72.07 68.60 73.5 69 1.9 0.6 Cal 6 Cal 6 OK 50 84.40 81.64 84.5 82 0.1 0.4 Cal 3 Cal 3 OK Error máximo = 2.5 % Eficiencia = 100% La última columna de la Tabla 4.1 indica las veces que coincidieron el calibre obtenido con el algoritmo y el calibre obtenido con el calibrador o pie de rey. Los calibres obtenidos con ambas mediciones coincidieron en el 100% de los casos. Se concluye que el algoritmo de medición del tamaño pudo clasificar exitosamente por calibre el 100 % de las naranjas evaluadas y presentó un error máximo de 2.5 % en la medición de los diámetros. 79 La Tabla 4.2 muestra los resultados de las mediciones del índice de color (IC) obtenidos utilizando el algoritmo implementado y los resultados obtenidos comparando visualmente el color de cada naranja con el cuadro de colores especificado en la norma técnica. La última columna indica la diferencia o variación entre ambas mediciones obtenidas. Tabla 4.2: Resultados de la evaluación del color de cincuenta naranjas. Nar IC IC (Algoritmo) (Visual) Variación 1 -9 -9 0 2 -10 -9 1 3 -2 -2 0 4 -5 -5 0 5 -11 -13 -2 6 -5 -5 0 7 -2 -2 0 8 -4 -5 -1 9 0 0 0 10 -11 -13 -2 11 -7 -6 1 12 -9 -9 0 13 -6 -5 1 14 -3 -3 0 15 -7 -6 1 16 -12 -13 -1 17 2 2 0 18 2 2 0 19 2 2 0 20 1 1 0 21 3 3 0 22 1 1 0 23 -8 -7 1 24 0 0 0 25 -3 -3 0 26 -3 -3 0 27 1 1 0 28 -2 -3 -1 29 0 0 0 30 1 1 0 31 1 1 0 32 0 -1 -1 33 -4 -5 -1 34 0 -1 -1 35 3 3 0 36 2 2 0 37 -2 -3 -1 38 -2 -3 -1 39 -1 -2 -1 40 0 0 0 41 -1 -2 -1 42 -6 -5 1 43 -6 -5 1 44 -6 -5 1 45 -4 -3 1 46 -9 -9 0 47 -4 -3 1 48 -4 -3 1 49 -6 -5 1 50 -2 -3 -1 De los resultados de la tabla se concluye que el índice de color medido con el algoritmo implementado tiende a aproximarse a la medición visual realizada. 80 4.1.2. Defectos externos Las Figuras de la 4.3 a la 4.10 muestran los resultados obtenidos con el algoritmo de detección de defectos externos probado con cuatro naranjas que presentaban defectos de rameado, por trips y oleocelosis en la cascara. El algoritmo fue capaz de reconocer, delimitar y calcular las áreas de las zonas defectuosas. Las áreas defectuosas detectadas para cada naranja fueron de 165.1, 146.5, 793.7 y 437 mm2 respectivamente. Figura 4.3: Naranja 1 con daño por Figura 4.4: Ampliación de la zona rameado. Reconocimiento y medición del defectuosa detectada por la red neuronal. área defectuosa en mm2. Figura 4.5: Naranja 2 con daño por Figura 4.6: Ampliación de la zona rameado. Reconocimiento y medición defectuosa detectada por la red neuronal. del área defectuosa en mm2. 81 Figura 4.7: Naranja 3 con daño por trips. Figura 4.8: Ampliación de la zona Reconocimiento y medición del área defectuosa detectada por la red neuronal. defectuosa en mm2. Figura 4.9: Naranja 3 con daño por Figura 4.10: Ampliación de la zona oleocelosis. Reconocimiento y medición defectuosa detectada por la red neuronal. del área defectuosa en mm2. De acuerdo a los valores obtenidos para las áreas defectuosas podemos clasificar las naranjas evaluadas según se muestra en la Tabla 4.3. El algoritmo logró clasificar por categoría cada una de las cuatro naranjas evaluadas según el área defectuosa estimada. En algunos casos se observa cierta imprecisión de la red para delimitar el área total defectuosa. Tabla 4.3: Clasificación por categorías según el área de la zona defectuosa. Nar Tipo de Área defecto defectuosa Categoría 1 Rameado 165.1 II 2 Rameado 146.5 II 3 Trips 793.7 Fuera 4 Oleocelosis 437 Fuera 82 4.2. Evaluación de mandarinas 4.2.1. Evaluación del tamaño y color Se evaluó el tamaño y el color de cincuenta mandarinas con los algoritmos implementados. Las Figuras 4.11 y 4.12 muestran los resultados de la evaluación del tamaño y color solo de la primera mandarina. Figura 4.11: Medición del tamaño con el Figura 4.12: Medición del color con el algoritmo implementado. algoritmo implementado. La Tabla 4.4 contiene los resultados de las mediciones del tamaño de las cincuenta mandarinas utilizando el algoritmo implementado y los resultados obtenidos utilizando un calibrador o pie de rey. La tabla también muestra los errores porcentuales de la comparación de ambas mediciones y los calibres (según norma técnica) de cada mandarina utilizando la medición obtenida con el algoritmo y con el calibrador. La última columna de la Tabla 4.4 indica las veces que coincidieron el calibre obtenido con el algoritmo y el calibre obtenido con el calibrador o pie de rey. Los calibres obtenidos con ambas mediciones coincidieron en el 94 % de los casos (47/50). Se concluye que el algoritmo de medición del tamaño pudo clasificar exitosamente por calibre el 94% de las naranjas evaluadas y presentó un error máximo de 4.8% en la medición de los diámetros. 83 Tabla 4.4: Resultado de la evaluación de la forma y el tamaño de mandarinas. Man Dmax Dmin Dmax Dmin % Error % Error Calibre Calibre (Algoritmo) (Algoritmo) (Real) (Real) (Dmax) (Dmin) (Algoritmo) (real) Acierto 1 57.34 40.75 56.5 41 1.5 0.6 Cal 3 Cal 3 OK 2 57.48 38.00 57 37.5 0.8 1.3 Cal 3 Cal 3 OK 3 56.03 42.01 55 41 1.9 2.5 Cal 3 Cal 3 OK 4 57.89 36.30 57.5 35.5 0.7 2.3 Cal 3 Cal 3 OK 5 55.52 39.02 55 38 0.9 2.7 Cal 3 Cal 3 OK 6 58.63 40.03 57.6 38.5 1.8 4.0 Cal 2 Cal 3 X 7 58.97 39.27 57.5 38.5 2.6 2.0 Cal 2 Cal 3 X 8 57.36 38.20 57 37 0.6 3.2 Cal 3 Cal 3 OK 9 55.40 35.60 55 34.5 0.7 3.2 Cal 3 Cal 3 OK 10 56.98 38.89 56.5 37.5 0.8 3.7 Cal 3 Cal 3 OK 11 53.95 37.49 54 36.5 0.1 2.7 Cal 4 Cal 4 OK 12 57.36 36.51 57 35 0.6 4.3 Cal 3 Cal 3 OK 13 56.10 37.80 56 37 0.2 2.2 Cal 3 Cal 3 OK 14 55.22 40.39 55 39 0.4 3.6 Cal 3 Cal 3 OK 15 52.92 36.85 52 36 1.8 2.4 Cal 4 Cal 4 OK 16 61.94 43.75 61 42.5 1.5 2.9 Cal 2 Cal 2 OK 17 68.24 46.29 68 45.5 0.4 1.7 Cal 1X Cal 1X OK 18 64.65 45.53 65 45 0.5 1.2 Cal 1 Cal 1 OK 19 67.66 45.89 68 45 0.5 2.0 Cal 1 Cal 1 OK 20 72.66 43.48 72 43 0.9 1.1 Cal 1X Cal 1X OK 21 65.03 47.64 65.5 47 0.7 1.4 Cal 1 Cal 1 OK 22 59.08 40.30 59.5 40 0.7 0.7 Cal 2 Cal 2 OK 23 64.43 44.43 64.5 44 0.1 1.0 Cal 1 Cal 1 OK 24 58.65 43.02 59 42 0.6 2.4 Cal 2 Cal 2 OK 25 63.51 45.19 64 44 0.8 2.7 Cal 1 Cal 1 OK 26 57.53 41.74 58 41 0.8 1.8 Cal 3 Cal 3 OK 27 68.26 49.09 69 47.5 1.1 3.3 Cal 1X Cal 1X OK 28 70.64 50.77 70 49 0.9 3.6 Cal 1X Cal 1X OK 29 71.44 48.48 71 48 0.6 1.0 Cal 1X Cal 1X OK 30 70.25 48.02 71 47 1.1 2.2 Cal 1X Cal 1X OK 31 65.40 47.42 66.5 46 1.7 3.1 Cal 1 Cal 1 OK 32 64.09 48.88 64 47.5 0.1 2.9 Cal 1 Cal 1 OK 33 60.92 42.21 61 41 0.1 3.0 Cal 2 Cal 2 OK 34 69.26 49.60 69 48.5 0.4 2.3 Cal 1X Cal 1X OK 35 60.68 40.34 61 38.5 0.5 4.8 Cal 2 Cal 2 OK 36 66.88 43.34 67 42 0.2 3.2 Cal 1 Cal 1 OK 37 62.81 49.74 63.5 50 1.1 0.5 Cal 2 Cal 1 X 38 60.87 44.67 61 44 0.2 1.5 Cal 2 Cal 2 OK 39 63.80 49.49 64 49 0.3 1.0 Cal 1 Cal 1 OK 40 63.29 44.26 63.5 44 0.3 0.6 Cal 1 Cal 1 OK 41 66.55 45.97 67 46 0.7 0.1 Cal 1 Cal 1 OK 42 63.72 45.47 64 45 0.4 1.0 Cal 1 Cal 1 OK 43 69.61 44.73 70 44 0.6 1.7 Cal 1X Cal 1X OK 44 67.38 50.45 68 49 0.9 3.0 Cal 1 Cal 1 OK 45 69.41 51.51 69 50 0.6 3.0 Cal 1X Cal 1X OK 46 61.89 44.60 62 44 0.2 1.4 Cal 2 Cal 2 OK 47 63.19 44.67 64 44 1.3 1.5 Cal 1 Cal 1 OK 48 70.91 49.43 71.5 49 0.8 0.9 Cal 1X Cal 1X OK 49 63.05 42.70 64 41 1.5 4.1 Cal 1 Cal 1 OK 50 60.73 41.73 61 41 0.4 1.8 Cal 2 Cal 2 OK Error máximo = 4.8 % Eficiencia = 94% La Tabla 4.5 muestra los resultados de las mediciones del índice de color (IC) obtenidos utilizando el algoritmo implementado y los resultados obtenidos comparando visualmente el color de cada mandarina con el cuadro de colores especificado en la norma técnica. La última columna indica la diferencia o variación entre ambas mediciones obtenidas. 84 Tabla 4.5: Resultados de la evaluación del color de cincuenta mandarinas. Man IC IC (Algoritmo) (Real) Variación 1 -1 -3 -2 2 -2 -3 -1 3 -2 -3 -1 4 0 -2 -2 5 -7 -5 2 6 -4 -3 1 7 -9 -9 0 8 -4 -3 1 9 -1 -1 0 10 -10 -10 0 11 -7 -7 0 12 -8 -7 1 13 -7 -7 0 14 -6 -5 1 15 -6 -5 1 16 -2 -2 0 17 -1 -2 -1 18 -9 -9 0 19 -8 -9 -1 20 -7 -9 -2 21 -5 -5 0 22 -2 -3 -1 23 -8 -7 1 24 -11 -13 -2 25 -3 -3 0 26 -3 -3 0 27 -5 -5 0 28 -3 -3 0 29 -4 -3 1 30 -4 -3 1 31 -7 -7 0 32 -4 -3 1 33 -3 -3 0 34 -5 -5 0 35 -7 -7 0 36 -3 -3 0 37 -5 -5 0 38 -7 -7 0 39 -5 -5 0 40 -6 -5 1 41 -5 -5 0 42 -5 -5 0 43 -5 -5 0 44 -8 -7 1 45 -4 -3 1 46 -12 -13 -1 47 -4 -3 1 48 -6 -5 1 49 -5 -5 0 50 -5 -5 0 De los resultados de la tabla se concluye que el índice de color medido con el algoritmo implementado tiende a aproximarse a la medición visual realizada. 85 4.2.2. Defectos externos Las Figuras de la 4.13 a la 4.20 muestran los resultados obtenidos con cuatro mandarinas con defectos externos por rameado y oleocelosis. El algoritmo fue capaz de reconocer, delimitar y calcular las áreas de las zonas defectuosas. Los resultados obtenidos fueron de 39.2, 76.1, 173.1 y 97.6 mm2 de áreas defectuosas para cada una de las mandarinas evaluadas. Figura 4.13: Mandarina 1 con daño por Figura 4.14: Ampliación de la zona rameado. Reconocimiento y medición defectuosa detectada por la red neuronal. del área defectuosa en mm2. Figura 4.15: Mandarina 2 con daño por Figura 4.16: Ampliación de la zona rameado. Reconocimiento y medición defectuosa detectada por la red neuronal. del área defectuosa en mm2. 86 Figura 4.17: Mandarina 3 con daño por Figura 4.18: Ampliación de la zona oleocelosis. Reconocimiento y medición defectuosa detectada por la red neuronal. del área defectuosa en mm2. Figura 4.19: Mandarina 4 con daño por Figura 4.20: Ampliación de la zona oleocelosis. Reconocimiento y medición defectuosa detectada por la red neuronal. del área defectuosa en mm2. De acuerdo a las áreas obtenidas en las pruebas de detección de defectos externos, podemos clasificar las mandarinas evaluadas según se muestra en la Tabla 4.6. El algoritmo logró clasificar por categoría cada una de las cuatro naranjas evaluadas según el área defectuosa estimada. En algunos casos se observa cierta imprecisión de la red para delimitar el área total defectuosa. Tabla 4.6: Clasificación por categorías según el área de la zona defectuosa. Mandarina Tipo de Área defecto defectuosa Categoría 1 Rameado 39.2 I 2 Rameado 76.1 I 3 Oleocelosis 173.1 II 4 Oleocelosis 97.6 I 87 CAPÍTULO 5 PROPUESTA DE DISEÑO CONCEPTUAL En el presente capítulo se hace una propuesta de diseño mecánico-eléctrico a nivel conceptual de una máquina clasificadora de cítricos que podría trabajar con la interface de visión computacional diseñada. 5.1. Lista de exigencias (E) y deseos (D) Esta lista sirve para delimitar las características técnicas que debe tener nuestro diseño. Las exigencias deben ser alcanzadas necesariamente mientras que los deseos se deben tener en cuenta, pero no son obligatorios para el diseño final. Tabla 5.1: Lista de exigencias. LISTA DE EXIGENCIAS DISEÑO DE UNA MÁQUINA CLASIFICADORA DE PROYECTO: CÍTRICOS. Exigencia/Deseo Descripción: Función principal: La función de la máquina será la clasificación de cítricos según su tamaño, color y defectos externos. Estas características serán evaluadas de forma automática mediante la interface de visión E computacional diseñada en la presente tesis y algunos sensores y actuadores que se propondrán para el diseño conceptual. Los cítricos con los que se trabajará serán: naranjas y mandarinas, principalmente. Volumen de producción La máquina clasificadora deberá ser capaz de analizar una fruta E cada 0.6 segundos. Es decir que tendrá la capacidad de analizar 100 frutos por minutos. 88 Materia prima de la máquina: Para el diseño se propondrán materiales del medio local, así E como dispositivos que se tengan que importar de otros países, tales como circuitos integrados, sensores y actuadores. Fuerza: Se debe tener en consideración que la fuerza ejercida sobre las frutas sea la necesaria para no provocar daños sobre estos. La E fuerza debe ser la suficiente para lograr trasladarlos de un lugar a otro sin causar daños sobre la superficie externa lo cual podría significar la degradación de la calidad que a su vez se traduce en una pérdida económica. Control: Se necesita controlar la velocidad de la faja transportadora a un valor constante de 30 cm/s. El tiempo de exposición de la E cámara de visión debe ser lo suficientemente breve para capturar las imágenes de los frutos en movimiento con la menor distorsión posible para no afectar el procesamiento de estas. Seguridad: La máquina debe contar con un botón de parada de emergencia E para detener todo el proceso en caso de pérdida de control de alguno de los dispositivos que pueda provocar daños físicos al operador o pérdidas económicas por daños en el producto. Montaje: Se diseñará la máquina clasificadora para que su montaje sea lo E más simplificado posible. De esta manera también se asegura una alta confiabilidad al contar con menos partes que puedan fallar. Mantenimiento: La máquina clasificadora será diseñada para necesitar el menor E mantenimiento posible asegurando de esta manera una mayor disponibilidad. Geometría: E La máquina será diseñada de tal forma que el producto final sea 89 un equipo compacto y modular para poder implementar una línea de producción. Además, sus dimensiones deben guardar proporción con la estatura promedio de un operario. Fabricación: Toda la fabricación de la máquina clasificadora se realizará en E el medio local con materiales que puedan ser conseguidos principalmente en el mercado nacional. Energía: La energía que utilizará la máquina será la eléctrica 220V/60Hz alterna que se consigue en las redes de distribución domestica e E industriales. Esta energía alterna será transformada a continua de 24V para los actuadores de potencia y de 5V/12V para los sistemas de iluminación, sensado y control, según sea el caso. Ergonomía: Las medidas y las disposiciones geométricas de la máquina, así como sus interfaces de control contarán con las consideraciones de ergonomía que se necesita para reducir al máximo la fatiga o E esfuerzo demandado a la persona que opera la máquina. Así mismo, se tendrá en consideración reducir al máximo el nivel de ruido que emite la máquina para no exceder los 80dB que exige la norma. Marco legal: La selección de los cítricos se realizará bajo la norma técnica peruana NTP 011.023 2014. En esta norma están establecidos E los parámetros mínimos de calidad que deben cumplir las naranjas, mandarina, tangelos y toronjas para ser clasificados en diferentes categorías. 90 5.2. Proceso generalizado de desarrollo y diseño 5.2.1. Abstracción como caja negra Entradas deseadas Salidas deseadas Cítricos Cítricos seleccionados Imágenes digitales Imágenes procesadas Electricidad, presión neumática Seleccionar Fuerza, calor, aire cítricos según el tamaño, forma, Salidas no deseadas color y defectos externos Cítricos no seleccionados Ruido digital Calor, ruido, vibración Figura 5.1. Abstracción como caja negra. 5.2.2. Secuencia de operaciones: Descripción de procesos Recepción: Los cítricos son recibidos en la admisión de la máquina tal cual llegaron de la cosecha. Separación: Se separan los cuerpos extraños de los frutos, tales como polvo, tierra, hojas secas, ramas, etc. Lavado: Los cítricos son lavados mediante chorros verticales de agua para remover polvo, tierra u otras sustancias contaminantes adheridas a las cáscaras. 91 Secado: Luego del lavado, los cítricos son secados mediante flujo de aire generado por ventiladores. Dosificación: Los frutos son dosificados de uno en uno sobre una faja transportadora. Traslación/Rotación: Los cítricos se trasladan y rotan al mismo tiempo mediante un mecanismo de rodillos bicónicos que atraviesa por el recinto de captura y procesamiento de imágenes. El movimiento de traslación y rotación de los frutos permite evaluar toda su superficie externa. Medición/ Captura de imágenes: Con los frutos transportándose sobre el mecanismo de traslación y rotación se inicia la captura y procesamiento de imágenes. La interface de visión por computadora se encarga de la captura y procesamiento de imágenes para identificar aquellos cítricos que no cumplen los requerimientos mínimos de calidad. Una vez identificado estos frutos, se activa el sistema de separación. Análisis: La información obtenida en la etapa anterior se analiza para obtener los parámetros de interés. Clasificación: Con la información obtenida del análisis, el sistema de clasificación se activa y separa los frutos que no cumplen con los requerimientos mínimos de calidad. Acopio: Los frutos seleccionados son acopiados en un contenedor especial y quedan listos para ser envasados. Los frutos que no cumplieron con los requerimientos mínimos de calidad son acopiados en un contenedor diferente. 92 5.2.3. Secuencia de operaciones Máquina clasificadora Recepción Separación Lavado Secado Dosificación Traslación/Rotación Interface de visión computacional Captura de imágenes Procesamiento de imágenes Clasificación Acopio Figura 5.2: Secuencia de operaciones del ciclo de trabajo. 5.3. Estructura de funciones La figura 5.3 muestra la estructura de funciones total de la máquina clasificadora. A continuación, se describe cada dominio por separado. 5.3.1. Dominio mecánico Este dominio inicia con la recepción de los frutos para luego pasar a una etapa de separación de cuerpos extraños. Luego de la separación los frutos son lavados y secados. Posteriormente, los frutos son dosificados en fila sobre un mecanismo de traslación y rotación que los transporta hacia la cámara de captura y procesamiento de imágenes. Finalmente, los frutos son clasificados y acopiados. 93 5.3.2. Dominio de procesamiento de imágenes En este dominio se capturan las imágenes de los frutos que ingresan al recinto de captura y procesamiento de imágenes con el mecanismo de traslación y rotación. Las imágenes capturadas son procesadas mediante un ordenador para extraer información esencial de la calidad de los frutos. Con la información extraída de los frutos se procede a seleccionarlos. Dominio de procesamiento de imágenes: Interface de visión computacional Señal de toma de image n Iluminar Capt urar imagen Clasificar Imagen de monitoreo Energía eléctrica Procesar imagen: Energizar Comunicar -Segmentar. -Extraer caracaterísticas Dominio mecánico. Señales de Cítricos control Separar Lavar Trasladar/Rotar Clasificar seleccionados Energía eléctrica Cítricos Recibir Secar Dosificar Acopiar Dominio eléctrico-electrónico. Energí a Energía eléctrica disipada Energizar Señales Sensar: Indicadores físicas -Velocidad Acondi cionar Mostrar -Presencia Energía Dominio de control eléctrica Señales de Señales de Sistema de control referencia con trol Figura 5.3: Estructura de funciones total para el diseño de una máquina clasificadora de cítricos. 94 5.3.3. Dominio eléctrico-electrónico Este dominio se encarga, principalmente, de la energización de todos los dispositivos eléctricos y electrónicos. También se encarga del acondicionamiento de las señales de los sensores para los sistemas de control y de mostrar algunos datos de interés al operador. 5.3.4. Dominio de control Se encarga de controlar todos los actuadores del sistema teniendo como información de entrada la recibida por los sensores. 5.4. Matriz morfológica Seguidamente, se presentan las matrices morfológicas por cada dominio descrito anteriormente. El análisis de todo el sistema por dominio ayuda a visualizar las diferentes alternativas que existen y contribuye a seleccionar las más óptimas. 95 5.4.1. Dominio mecánico Tabla 5.2: Matriz morfológica del dominio mecánico. Funciones Portadores de funciones parciales Alternativa 1 Alternativa 2 Alternativa 3 Alternativa 4 Manual Caja/Manual Caja/Mecanismo Brazo robot 1 Manual Zaranda Aspiración 2 Chorro vertical Inmersión Chorro con cepillo 3 Aire comprimido Ventilador Aire caliente 4 Manual Guía Brazo robot 5 Manual Mecanismo Tras/Rot Tornillo 6 Manual Pistón neumático Servomotor Brazo robot 7 Manual Faja transportadora Rampa de descarga 8 Acopiar Seleccionar Trasladar/Rotar Dosificar Secar Lavar Separar Recibir 96 5.4.2. Dominio de procesamiento de imágenes Tabla 5.3: Matriz morfológica del dominio de procesamiento de imágenes. Funciones Portadores de funciones parciales Alternativa 1 Alternativa 2 Alternativa 3 Alternativa 4 5V 12V 24V 1 Led Fluorescente Lampara incandescente Luz natural 2 Cámara web Cámara industrial Cámara embebida 3 USB 2.0 USB 3.0 Giga ethernet 4 Laptop DSP Raspberry Pi 5 Matlab Labview Python/Open CV C++/Open CV 6 Clasificar Procesar Comunicar Capturar imagen Iluminar Energizar 97 5.4.3. Dominio eléctrico-electrónico Tabla 5.4: Matriz morfológica del dominio eléctrico-electrónico. Funciones Portadores de funciones parciales Alternativa 1 Alternativa 2 Alternativa 3 Alternativa 4 Mosfets Transistores Relés 1 Encoder (óptico) Inductivo 2 Óptico Switch Cámara 3 Filtro/Amplificador Laptop 4 Laptop Displays Pantalla LCD Leds 5 Indicadores Acondiciona- Sensor de Sensor de miento presencia velocidad Energizar 98 5.4.4. Dominio de control Tabla 5.5: Matriz morfológica del dominio de control. Funciones Portadores de funciones parciales Alternativa 1 Alternativa 2 Alternativa 3 Alternativa 4 Pantalla HMI Laptop 1 PLC Raspberry Arduino 2 On-Off PID Lógica difusa Redes neuronales 3 Feed back Feed forward Adaptivo 4 PWM Analógico 5 5.5. Concepto de solución óptimo de cada dominio A continuación, se pondera mediante criterios técnicos y económicos las soluciones halladas por cada dominio. Luego, se presentan los bocetos a mano alzada de las soluciones optimas. Tipo de Estrategia de salida control Tipo de control Controlador Panel de control 99 5.5.1. Concepto de solución optimo del dominio mecánico Tabla 5.6: Evaluación del dominio mecánico. Soluciones Nº Criterios técnicos y económicos S1 S2 S3 Ideal 1. Cantidad de operadores 1 3 3 4 2. Ahorro de energía 3 2 1 4 3. Fatiga generada por la operación 1 3 3 4 4. Facilidad de manipulación 1 3 3 4 5. Costo de implementación tecnológica 3 2 1 4 6. Facilidad de montaje 2 2 1 4 7. Costo de operación 1 3 3 4 8. Costo de mantenimiento 3 2 2 4 9. Rapidez de mantenimiento 3 2 2 4 10. Rapidez de funcionamiento 1 3 3 4 11. Grado de automatización 1 3 3 4 12. Seguridad en la operación 2 3 3 4 Suma total: 22 31 28 48 Solución 2: Los frutos ingresan de forma manual a la zaranda en donde se separa por gravedad los agentes contaminantes tales como: tierra, piedras, hojas secas, ramas, etc. Posteriormente, son lavados por chorros de agua que cae de forma vertical y son secados por el flujo de aire generado por ventiladores. Luego, los frutos son dosificados por una guía hacia un mecanismo de traslación y rotación que los transporta hacia el recinto de captura y procesamiento de imágenes. Finalmente, los frutos que no cumplen con los parámetros mínimos de calidad son separados y los que si cumplen son acopiados un contenedor. Figura 5.4: Concepto de solución óptimo del dominio mecánico. 100 5.5.2. Concepto de solución óptimo del dominio de procesamiento de imágenes Tabla 5.7: Evaluación del dominio de procesamiento de imágenes. Soluciones Nº Criterios técnicos y económicos S1 S2 S3 Ideal 1. Cantidad de operadores 3 3 3 4 2. Ahorro de energía 3 3 1 4 3. Fatiga generada por la operación 3 3 3 4 4. Facilidad de manipulación 3 3 2 4 5. Costo de implementación tecnológica 2 3 3 4 6. Facilidad de montaje 3 3 2 4 7. Costo de operación 3 3 3 4 8. Costo de mantenimiento 2 2 2 4 9. Rapidez de mantenimiento 3 3 3 4 10. Rapidez de funcionamiento 3 1 1 4 11. Grado de automatización 3 2 2 4 12. Seguridad en la operación 3 3 3 4 Suma total: 34 32 28 48 Solución 1: La iluminación del recinto de captura y procesamiento de imágenes es del tipo led a 12V. Las imágenes son capturadas mediante una cámara de visión computacional a medida que los frutos van ingresando al recinto por medio del mecanismo de traslación y rotación. La cámara de visión se comunica mediante el protocolo USB 3.0 con una laptop desde donde se monitorean individualmente cada uno de los frutos y en donde se procesa la información necesaria para la clasificación. El software elegido para la implementación de los algoritmos de procesamiento de imágenes fue el Matlab versión 2019b. Figura 5.5: Concepto de solución óptimo del dominio de procesamiento de imágenes. 101 5.5.3. Concepto de solución óptimo del dominio eléctrico-electrónico Tabla 5.8: Evaluación del dominio eléctrico-electrónico. Soluciones Nº Criterios técnicos y económicos S1 S2 S3 Ideal 1. Cantidad de operadores 3 3 3 4 2. Ahorro de energía 1 3 2 4 3. Fatiga generada por la operación 3 3 3 4 4. Facilidad de manipulación 3 3 3 4 5. Costo de implementación tecnológica 2 3 1 4 6. Facilidad de montaje 2 2 2 4 7. Costo de operación 3 3 3 4 8. Costo de mantenimiento 3 3 3 4 9. Rapidez de mantenimiento 3 3 3 4 10. Rapidez de funcionamiento 2 3 2 4 11. Grado de automatización 3 3 3 4 12. Seguridad en la operación 3 3 3 4 Suma total: 31 35 31 48 Solución 2: Los circuitos de potencia de los actuadores están implementados en base a transistores de potencia mosfets. Los motores encargados del traslado de los frutos tienen acoplados encoders incrementales ópticos para el sensado de la velocidad angular. Para la detección de un fruto en la zona de clasificación se cuenta con un sensor óptico que activará el servo actuador para descartar o clasificar el fruto según la información procesada en el recinto de captura y procesamiento de imágenes. La información más relevante es mostrada en la misma laptop donde se monitorean los frutos que ingresan al recinto de captura de imágenes. Figura 5.6: Concepto de solución óptimo del dominio eléctrico-electrónico. 102 5.5.4. Concepto de solución óptimo del dominio de control Tabla 5.9: Evaluación del dominio de control. Soluciones Nº Criterios técnicos y económicos S1 S2 S3 Ideal 1. Cantidad de operadores 3 3 3 4 2. Ahorro de energía 2 2 3 4 3. Fatiga generada por la operación 3 3 3 4 4. Facilidad de manipulación 3 3 3 4 5. Costo de implementación tecnológica 1 2 2 4 6. Facilidad de montaje 1 2 3 4 7. Costo de operación 2 2 2 4 8. Costo de mantenimiento 3 3 3 4 9. Rapidez de mantenimiento 3 3 3 4 10. Rapidez de funcionamiento 2 2 3 4 11. Grado de automatización 3 1 3 4 12. Seguridad en la operación 3 3 3 4 Suma total: 29 29 34 48 Solución 3: Los datos de seteo para el control del sistema serán ingresados por la misma laptop utilizada para el monitoreo de los frutos. El control de los motores del mecanismo de traslación y rotación de los frutos será del tipo PID implementado en un PLC. La señal de control de todos los actuadores es del tipo PWM. Figura 5.7: Concepto de solución óptimo del dominio de control. 103 5.6. Conceptos óptimos integrados Seguidamente, se muestran las cuatro soluciones optimas halladas por cada dominio. Solución óptima del dominio mecánico: Solución 2 Solución óptima del dominio de procesamiento de imágenes: Solución 1 Solución óptima del dominio eléctrico-electrónico: Solución 2 Solución óptima del dominio de control: Solución 3 Figura 5.8: Conceptos de solución óptimos de todos los dominios. 104 5.7. Optimización de los conceptos de solución integrados A continuación, se presentan tres variaciones de la integración de las soluciones optimas por dominio con algunas optimizaciones. Solución 1: La primera solución óptima integrada considera la adición de un sensor óptico al final de la rampa de clasificación para contar los frutos que van siendo acopiados en el contenedor. Figura 5.9: Primera solución integrada optimizada. Solución 2: La segunda solución óptima integrada considera la adición de un sensor óptico y de un servo actuador a la salida del dosificador para controlar que los frutos ingresen de uno en uno al recinto de captura y procesamiento de imágenes. Figura 5.10: Segunda solución integrada optimizada. 105 Solución 3: La tercera solución óptima integrada adiciona un sensor óptico y un servomecanismo a la salida del dosificador para controlar que los frutos ingresen de uno en uno al recinto de captura y procesamiento de imágenes. Además, agrega una bocina para generar una señal auditiva cada vez que se detecte un fruto que no cumple con las características deseadas y que tiene que ser separado de los que si las cumplen. Figura 5.11: Tercera solución integrada optimizada. 106 5.8. Evaluación de los conceptos de solución integrados y optimizados Finalmente, se evalúa cada una de las soluciones integradas optimizadas para hallar la mejor. Tabla 5.10: Evaluación de los conceptos de solución integrados. Soluciones Nº Criterios técnicos y económicos S1 S2 S3 Ideal 1. Cantidad de operadores 3 3 3 4 2. Ahorro de energía 3 3 3 4 3. Fatiga generada por la operación 2 3 3 4 4. Facilidad de manipulación 2 3 3 4 5. Costo de implementación tecnológica 3 3 3 4 6. Facilidad de montaje 2 2 2 4 7. Costo de operación 2 2 3 4 8. Costo de mantenimiento 2 2 2 4 9. Rapidez de mantenimiento 2 2 2 4 10. Rapidez de funcionamiento 2 3 3 4 11. Grado de automatización 3 3 3 4 12. Seguridad en la operación 3 3 3 4 Suma total: 29 32 33 48 Según los criterios técnicos y económicos empleados la solución integrada S3 es la más adecuada como punto de partida de los proyectos preliminares que se deberán desarrollar en caso se desee implementar toda la máquina clasificadora de cítricos. 107 CAPÍTULO 6 CONCLUSIONES Y TRABAJOS FUTUROS 6.1. Conclusiones • Se implementó un recinto de captura y procesamiento de imágenes de 0.25𝑚 × 0.25𝑚 × 0.3𝑚 para la evaluación de los cítricos. El color del piso del recinto se eligió de color negro para facilitar la separación del fruto examinado del fondo durante el procesamiento de imágenes. Luego de realizar las pruebas, se concluyó que las dimensiones y demás características del recinto implementado fueron las adecuadas para realizar una buena captura y procesamiento de imágenes de los frutos examinados. • La iluminación del recinto de captura y procesamiento de imágenes es dada por cuatro luminarias de 60 lúmenes cada una posicionadas simétricamente para atenuar las sombras generadas por el objeto evaluado. De acuerdo con los cálculos realizados las cuatro luminarias generan una iluminancia en el recinto de captura de imágenes superior a los 1000 luxes que es lo mínimo necesario para trabajos con color. Durante las pruebas realizadas no se tuvo ningún inconveniente en la separación del fondo de las imágenes capturadas lo cual permitió concluir que la iluminación del recinto es la adecuada. • Para la captura de imágenes se seleccionó una cámara con características industriales especial para capturar imágenes de objetos en movimiento debido a que permite el control del tiempo de exposición en el rango de los 4𝜇𝑠 hasta los 30 segundos. El tiempo de exposición calculado necesario para capturar imágenes de objetos que se trasladan a 0.3𝑚/𝑠 con una cantidad máxima de pixeles borrosos igual a 4 fue de 1666𝜇𝑠. Se concluye que la cámara seleccionada cumple con los requerimientos del proyecto. 108 • El tamaño del sensor de la cámara seleccionada y la altura a la cual será colocada permitió calcular la distancia focal de la lente necesaria para trabajar con la cámara de visión seleccionada. La distancia focal de la lente seleccionada fue de 8𝑚𝑚. Durante las pruebas realizadas se obtuvo un adecuado enfoque de los objetos examinados en el recinto de captura y procesamiento de imágenes. • Los algoritmos para la evaluación del tamaño, color y defectos externos fueron implementados en Matlab versión 2019b. Esta versión de Matlab incluye un toolbox especial para trabajar con la cámara de visión seleccionada, además, presenta una buena compatibilidad con el dispositivo de visión. Durante las pruebas realizadas, no se presentó ningún problema de incompatibilidad durante la ejecución de los algoritmos implementados. Con lo cual se concluye que el software seleccionado es el adecuado para aplicaciones relacionadas al monitoreo de cítricos. • El algoritmo implementado para la medición del tamaño arrojó eficiencias del 100% y 94% en la clasificación por calibre de cincuenta naranjas y cincuenta mandarinas, respectivamente, según la norma técnica peruana empleada. Además, el error máximo obtenido en la medición de los diámetros de los frutos evaluados fue de 2.5% para el caso de las naranjas y de 4.8% para el caso de las mandarinas. • El algoritmo implementado para la medición del índice de color permitió clasificar el color del fruto evaluado en una escala de colores que va desde el verde oscuro hasta el naranja intenso. Los resultados obtenidos con el algoritmo se aproximan a los resultados visuales obtenidos de comparar cada fruto individualmente con la tabla de color contenida en la norma técnica empleada. • El algoritmo implementado para el reconocimiento de defectos externos a nivel de pixel presentó una precisión de hasta 96% en el reconocimiento de píxeles defectuosos. Las pruebas realizadas con diferentes cantidades de neuronas intermedias permitieron concluir que una red neuronal con tres neuronas en la capa oculta es suficiente para poder reconocer pixeles 109 correspondientes a áreas defectuosas dentro de la imagen capturada. La red neuronal entrenada con pixeles de áreas defectuosas y sanas fue capaz de reconocer y delimitar las zonas defectuosas, además, fue posible estimar el área de dichas zonas y clasificar el fruto por su categoría según la norma técnica empleada. 6.2. Trabajos futuros • Entrenar la red neuronal del algoritmo de detección de defectos externos con mayor variedad de datos para mejorar su desempeño en el reconocimiento de píxeles defectuosos y mejorar la precisión en la delimitación de las áreas defectuosas. • Implementar una red neuronal para lograr identificar cada tipo de defecto externo del cítrico. Para tal propósito será necesario contar con un banco de datos de entrenamiento por cada tipo de defecto. La nueva red neuronal deberá contar con un mayor número de neuronas intermedias y una neurona de salida adicional por cada defecto que se desee reconocer. • Implementar un algoritmo basados en machine learning para el reconocimiento automático del tipo de fruta que se desea evaluar. • Implementar un algoritmo basado en machine learning para el análisis cualitativo de los defectos externos que permita a personas no entrenadas reconocer de dichos defectos. 110 BIBLIOGRAFÍA [Abbas, 2013] Naeem Abbas, "Real Time Traffic Density Count using Image Processing", International Journal of Computer Applications, vol. 83, pp. 16-19, 2013. [Abdelhedi, 2012] Slim Abdelhedi, "Design of Automatic Vision-based Inspection System for Monitoring in an Olive Oil Bottling Line", International Journal of Computer Applications, vol. 51, pp. 39-46, 2012. [Agraria.pe, 2019] Agencia Agraria de Noticias, URL https://agraria.pe/noticias/exportaciones-de-citricos- aumentaron-en-volumen-3-5-a-agosto-19837 [Alegre, 2016] Enrique Alegre, “Conceptos y Métodos en Visión por Computador”, Comité Español de Automática, Grupo de Visión por Computador, 2016. [Al, 2010] Yousef Al Ohali, "Computer Vision Based Date Fruit Grading System: Design and Implementation". Journal of King Saud University – Computer and Information Sciences, vol. 23, pp. 29-36, 2010. [Ancillo, 2014] Gema Ancillo, “Los cítricos. Jardín Botánico”, Universitat de Valencia, 2014. [Arbib, 2003] Michael A. Arbib, “The Handbook of Brain Theory and Neural Networks”, MIT Press, 2003. [Basilio, 2015] Oscar André Basilio Vela. “Estudio de un Sistema de Visión para Control de Pesos y Tamaño de Racimos de Uva de Mesa". Tesis de Maestría. Pontificia Universidad Católica del Perú, 2015. [Baars, 2010] Bernard J. Baars and Nicole M. Gage, “Cognition, Brain and Conciousness. Introduction to Cognitive Neuroscience”, Academic Press of Elsevier, 2010. 111 [Bhargava, 2018] Anuja Bhargava, Atul Bansal, “Fruits and Vegetables Quality Evaluation Using Computer Vision: A Review”. Journal of King Saud University – Computer and Information Sciences, 2018. [Caicedo, 2017] Eduardo Caicedo, "Una Aproximación Practica a las Redes Neuronales Artificiales", Universidad del Valle, 2017. [Cyganek, 2009] Boguslaw Cyganek, J. Paul Siebert, “An Introduction to 3D Computer Vision Techniques and Algorithms”, John Wiley & Sons, 2009. [Dawson, 2014] Kenneth Dawson-Howe, “A Practical Introduction to Computer Vision with OpenCV”, John Wiley & Sons, 2014. [Durai, 2019] Sugumar Durai, "Citrus Classification and Grading Using Machine Learning Algorithms", International Journal of Innovative Technology and Exploring Engineering (IJITEE), vol. 8, pp. 2616-2621. [Edmund Optics] Understanding Focal Length and Field of View, URL https://www.edmundoptics.com/knowledge- center/application-notes/imaging/understanding-focal- length-and-field-of-view/ [Fisher, 2014] Robert B. Fisher, Toby P. Breckon, Kenneth Dawson- Howe, Andrew Fitzgibbon, Craig Robertson, Emanuele Trucco, Christopher K. I. Williams, “Dictionary of Computer Vision and Image Processing”, John Wiley & Sons, 2014. [Gonzales, 2002] Rafael C. Gonzales, Richard E. Woods, “Digital Image Processing”, Prentice-Hall, 2002. [Harna, 2017] Emny Harna Yossy, "Mango Fruit Sortation System Using Neural Network and Computer Visión", 2nd 112 International Conference on Computer Science and Computational Intelligence 2017 (ICCSCI), Procedia Computer Science, Vol. 116, pp. 596-603, 2017. [Haykin, 2009] Simon Haykin, “Neural Networks and Learning Machines”, Pearson, 2009. [Indecopi, 2014] Indecopi, “Norma Técnica Peruana NTP 011.023. Cítricos. Mandarinas, tangelos, naranjas y toronjas”, 2014. [Iqbal, 2016] S. M. Iqbal, "Classification of Selected Citrus Fruits Based on Color Using Machine Vision System", International Journal of Food Properties, vol. 19, pp. 272- 288, 2016. [Javier, 2015] Julio Ernesto Javier Cortez. “Diseño de un Sistema Mecatrónico para Seleccionar Paltas por Calibre". Tesis de Maestría, Pontificia Universidad Católica del Perú, 2015. [Jähne, 2000] Bernd Jähne, “Computer Vision and Applications”, Academic Press, 2000. [Jähne, 2002] Bernd Jähne, “Digital Image Processing”, Springer, 2002. [Jimenez-Cuesta, 1981] M. Jimenez-Cuesta, "Determination of a Color Index for Citrus Fruit Degreening", In Proc. of the International Society of Citriculture, vol. 2, pp. 750-753. [Kang, 2008] S. P. Kang, "Colour Vision System Evaluation of Bicolour Fruit: A Case Study with ‘B74’ Mango", Postharvest Biology and Technology, vol. 49, pp. 77-85, 2008. [Klette, 2014] Reinhard Klette, “Concise Computer Vision”, Springer, 2014. [Krouptchenkov, 2007] Igor Krouptchenkov, "FPGA based Frame Grabber for Video Beam Diagnostics", Proceedings of DIPAC, pp. 113 174-176, 2007. [López, 2005] Fernando López, "Fast Surface Grading Using Color Statistics in the CIE Lab Space", Pattern Recognition and Image Analysis (IbPRIA), Lecture Notes in Computer Science, vol. 3523, pp. 666-673, 2005. [López, 2009] José Lopez, "Defect Detection and Classification in Citrus Using Computer Vision", Neural Information Processing. ICONIP 2009. Lecture Notes in Computer Science, vol. 5864, pp. 11-18. [Mahmood, 2013] Rigel Mahmood, "Automatic Detection and Classification of Alzheimer's Disease from MRI Scans Using Principal Component Analysis and Artificial Neural Networks", IEEE, 20th International Conference on Systems, Signals and Image Processing (IWSSIP), 2013. [Mendoza, 2006] Fernando Mendoza, "Calibrated Color Measurements of Agricultural Foods Using Image Analysis", Postharvest Biology and Technology, vol. 41, pp. 285-295, 2006. [Mills, 1986] George Mills, Ivan Brown, "Apparatus for spinning fruits for sorting thereof", European Patent Nº 0230583A2, 1986. [Moallem, 2016] Payman Moallem, Alireza Serajoddin, Hossein Pourghassem, "Computer Vision-Based Apple Grading for Golden Delicious Apples Based on Surface Features". Information Processing in Agriculture, vol. 4, pp. 33-40, 2016. [Negnevitsky, 2005] Michael Negnevitsky, “Artificial Intelligence. A Guide to Intelligence Systems”, Pearson, 2005. [Nixon, 2008] Mark Nixon and Alberto Aguado, “Feature Extraction & Image Processing”, Academic Press of Elsevier, 2008. [Pássaro, 2012] Catarina Pedro Pássaro Carvalho, “Cítricos: Cultivo, poscosecha e industrialización”, Corporación 114 Universitaria Lasallista, 2012. [Ravi, 2013] Dasu Ravi, "Lung Cancer Detection Using Image Processing Techniques", International Journal of Latest Trends in Engineering and Technology (IJLTET), vol. 3, pp. 372-378, 2013. [Saldaña, 2013] Erick Saldaña, "Computer vision system in real-time for color determination on flat surface food", Scientia Agropecuaria, Scientific Journal of Universidad Nacional de Trujillo, vol. 4, pp. 55-63, 2013. [Simons, 2001] R. H. Simons, "Lighting Engineering Applied Calculations", Architectural Press, 2001. [Sobrado, 2003] Eddie Sobrado, “Sistema de Visión Artificial para el Reconocimiento”, Tesis de Maestría, Pontificia Universidad Católica del Perú, 2003. [Song, 2017] QingZeng Song, “Using Deep Learning for Classification of Lung Nodules on Computed Tomography Images”, Journal of Healthcare Engineering, vol. 2017, pp. 1-7, 2017. [Strokes, 1996] Michael Stokes, "A standard default color space for the internet-sRGB", Society for Imaging Science and Technology, Color and Imaging Conference, 4th Color and Imaging Conference Final Program ans Proceedings, pp. 238-245, 1996. [Suzuki, 2011] Kenji Suzuki, “Artificial Neural Networks – Methodological Advances and Biomedical Applications”, InTech, 2011. [Valdivia, 2015] Valdivia Arias C.J. "Diseño de un Sistema de Visión Artificial para la Clasificación de Chirimoyas Basado en Medidas". 12º Congreso Iberoamericano de Ingeniería Mecánica, Guayaquil, 2015. [Valdivia, 2016] Javier Valdivia, "Diseño de un Sistema de Visión 115 Artificial para la Clasificación de Chirimoyas basado en Medidas", Tesis de Maestría, Pontificia Universidad Católica del Perú, 2016. [Vidal, 2012] A. Vidal, "In-Line Estimation of the Standard Colour Index of Citrus Fruits Using a Computer Vision System Developed For a Mobile Platform", Food and Bioprocess Technology, vol. 6, pp. 3412-3419, 2012. [Vidal, 2013] Anna Vidal, “Measurement of Colour of Citrus Using an Autometic Computer Vision System”, Tesis de Maestría, Iniversitat Politécnica de Valencia, 2013. [Vivanco, 2016] Victor Vivanco, “Diseño de un Sistema Clasificador de Objetos en Movimiento”, Journal Coloquio de Investigación Multidisciplinaria, vol. 4, pp. 351-357, 2016 [Wu, 2013] Di Wu, "Colour Measurements by Computer Vision for Food Quality Control – A review", Trends in Food Science & Technology, vol. 29, pp5-20. 116 ANEXO A • Mandarinas Mandarina Satsuma – Categoría I [Indecopi, 2014]. Mandarina Satsuma – Categoría I [Indecopi, 2014]. Mandarina Murcott – Categoría I [Indecopi, 2014]. 117 Mandarina Murcott – Categoría II [Indecopi, 2014]. Mandarina Murcott – Categoría II [Indecopi, 2014]. 118 • Tangelos Tangelo minneola – Categoría I [Indecopi, 2014]. Tangelo Minneola – Categoría II [Indecopi, 2014]. 119 • Naranjas Naranja categoría extra [Indecopi, 2014]. Naranja categoría II [Indecopi, 2014]. 120 • Toronja Toronja star ruby – Categoría extra [Indecopi, 2014]. Toronja star ruby – Categoría I [Indecopi, 2014]. 121 ANEXO B • Daños causados por ácaros Daño causado por ácaro – Categoría II [Indecopi, 2014]. • Daño causado por trips Daño causado por trips – Categoría I [Indecopi, 2014]. 122 Daño causado por trips – Categoría II [Indecopi, 2014]. Daño causado por trips – Categoría III [Indecopi, 2014]. 123 • Daño causado por fumagina Daño causado por fumagina – Categoría I [Indecopi, 2014]. Daño causado por fumagina – Categoría II [Indecopi, 2014]. 124 • Daño causado por queresas Daño causado por queresas – Categoría I [Indecopi, 2014]. Daño causado por queresas – Categoría II [Indecopi, 2014]. 125 Daño causado por queresas – Categoría III [Indecopi, 2014]. • Daño por cicatrices, rozaduras y manchas Rameado – Categoría I [Indecopi, 2014]. 126 Rameado – Categoría II [Indecopi, 2014]. Rameado – Categoría III [Indecopi, 2014]. 127 Manchas de aplicación – Categoría I [Indecopi, 2014]. Manchas de aplicación – Categoría II [Indecopi, 2014]. 128 • Oleocelosis Oleocelosis – Categoría I [Indecopi, 2014]. Oleocelosis – Categoría II [Indecopi, 2014]. 129 Oleocelosis – Categoría III [Indecopi, 2014]. Oleocelosis – Fuera de categoría [Indecopi, 2014]. 130 • Quemadura de sol Quemadura de sol – Fuera de categoría [Indecopi, 2014]. • Bufado Bufado – Categoría II [Indecopi, 2014]. 131 Bufado – Categoría II [Indecopi, 2014]. Bufado – Categoría III [Indecopi, 2014]. 132 • Creasing Creasing – Fuera de categoría [Indecopi, 2014]. Creasing – Fuera de categoría [Indecopi, 2014]. 133 • Daños no admitidos Daño no admitido – Heridas no sicatrizadas [Indecopi, 2014]. Daño no admitido – Alternaria [Indecopi, 2014]. 134 Daño no admitido – Golpe [Indecopi, 2014]. Daño no admitido – Mosca de la fruta [Indecopi, 2014].