1 Desarrollo de software para extracción de propiedades de cristales de azúcar utilizando visión artificial - SugarVision Ricardo Alexander Argueta Moran Estudiante miembro IEEE Universidad Don Bosco El Salvador ricardo_argueta@ieee.org Gerardo Antonio López Ramos Universidad Don Bosco El Savador gerardolopez_ramos@hotmail.com Jose Alfredo Galvez ToyosUniversidad Don Bosco El Salvador josegaltoy@gmail. Ivan Ernesto López Ramos Estudiante Miembro IEEE Universidad Don Bosco El Salvador ivan.lopez.sv@ieee.org Manuel Napoleon Cardona Profesional Miembro IEEE Universidad Don Bosco El Salvador ingcardona@gmail.com RESUMEN — El presente trabajo habla sobre el desarrollo de un software capaz de extraer propiedades geometricas de cristales de azucar, utilizando herramientas de visión artificial disponibles en MatLab, para brindar una opción mas accesible y facil a los procesos de control de calidad en las azucareras. PALABRAS CLAVE — Azucar, MatLab, procesamiento digital de imagenes, segmentación, vision artificial. I. INTRODUCCIÓN A lo largo de los años la industria ha evolucionado constantemente junto con la tecnología, logrando la autonomía de los procesos de producción, almacenamiento y, en los últimos años, observación y control de calidad; facilitando y agilizando las tareas relacionadas con estas y logrando resultados más precisos y confiables. Esto ha creado la necesidad y el mercado para el desarrollo de aplicaciones que las suplan. II. VISIÓN POR COMPUTADOR A. Definición de Visión por Computador El termino visión por computadora se refiere a la ciencia que haciendo uso de bases teóricas y algorítmicas, obtiene información sobre el mundo real y desarrolla sistemas capaces de interpretar automáticamente su contenido, a partir de una o varias imágenes digitales. La visión por computadora tiene como objetivo principal la interpretación de la estructura y propiedades de las imágenes suministradas por cámaras, que captan la realidad de un escenario o mundo tridimensional; utilizando para ello, la gran capacidad de procesamiento y las funciones de un computador digital [1] . B. Conceptos Básicos 1) Imagen Digital La imagen digital es el elemento primario del procesamiento digital de imágenes, de la cual se puede extraer información muy útil del entorno físico. La imagen es captada por medio de un proceso que involucra captura, muestreo, cuantificación y codificación. La información obtenida se convierte en información alfanumérica que cuantifica la intensidad de luz de la imagen, mediante la utilización de algoritmos matemático, y es representada visualmente por pixeles de un determinado tamaño o resolución. Las imágenes normalmente son representadas por medio de una matriz I(x,y) de la siguiente forma: 2 2) Pixel El termino Pixel se deriva de los vocablos en ingles Picture Elements, o elementos de imagen. El pixel es la unidad más pequeña que compone a una imagen digital, la cual contiene el nivel de luminosidad de un punto correspondiente de una escena digital codificado en formato binario. Esta codificación se le llama resolución, la cual contiene el número de bits que emplea un pixel para representar un nivel de intensidad. Así, 8 bits permiten manejar 256 niveles de gris, que es la resolución en escala de grises. Y la resolución de color, que se vale de tres bytes para establecer un color, cuya combinación permite tener 16, 777, 216 opciones de color. [2] 3) Vecindad entre pixel La vecindad entre pixeles se refiere a la relación en cuanto a posición que tiene un pixel con los pixeles más cercanos a él. Existen dos tipos de vecindad, la vecindad 4-vecinos y la 8- vecinos. La vecindad 4-vecinos es aquella en la cual un pixel central, denominado P, tiene como vecinos un pixel arriba, abajo, a la izquierda y derecha de él. La vecindad 8-vecinos es aquella que aparte de los pixeles correspondientes a la vecindad de 4-vecinos, también posee como vecinos 4 pixeles mas en posición diagonal al pixel central. Figura 1. Definición de la vecindad de un pixel P. (a) Vecindad 4, (b) Vecindad 8 4) Conectividad La conectividad entre pixeles se da cuando los pixeles pertenecientes a una región determinada cumplen con las condiciones de adyacencia que establecen; ya sea la vecindad a 4-vecinos o la vecindad a 8-vecinos y además sus respectivos niveles de gris cumplen con un criterio de similitud especificado o entran en un rango definido por un conjunto de valores. Por ejemplo, en la imagen binaria ilustrada en la figura 2.3, se puede determinar si existen uno o dos objetos dependiendo si se cumplen las condiciones de conectividad anteriormente descritas. En la figura 2 (a) se observan 2 objetos; ya que, aunque la imagen cumple con una vecindad 8- vecinos, los niveles de gris de ambos objetos no son los mismos. A diferencia de la figura 2 (b) donde se observa un solo objeto; ya que se cumple una vecindad a 8 y se tiene el mismo nivel de gris en todo el objeto. [3] Figura 2. Definición de conectividad de un pixel. (a) Imagen que no cumple criterio de conectividad, (b) Imagen con conectividad-8 5) Imagen Binaria Una imagen binaria es aquella cuyos pixeles solo pueden tener el valor de 0 o 1 dependiendo del valor de umbral que se utilice en la segmentación de la imagen. Si el nivel de gris de un pixel es menor que el valor de umbral, se le asigna el valor de 0, que visualmente es representado por el color negro, y si es mayor, se le asigna el valor de 1, que representa el color blanco; teniendo como resultado una imagen formada por estructuras en blanco y negro. [4] Figura 3. Imagen Binaria 6) Imagen RGB Las imágenes RGB, como sus siglas en Ingles lo indican (Red, Green, Blue), se basan en la combinación de los colores primarios rojo, verde y azul para formar imágenes a colores, cuya iluminación y tono dependen de la intensidad de cada uno de estos componentes. El modelo RGB se basa en la adición de forma individual de cada componente de color en forma de capas que se traslapan, de tal forma que su combinación forme una sola imagen a color. Figura 4. Imagen RGB 3 7) Histograma Es un tipo de distribución estadística que describe el número de veces que un pixel con determinado valor de intensidad, generalmente en escala de grises, se repite en una imagen determinada. Esta medida estadística muestra características importantes de una imagen, como el contraste, la iluminación y dinámica, que ayudan a determinar errores o problemas que se producen durante la toma de imagen y que deben de corregirse antes de que estas sean analizadas en las etapas posteriores de procesamiento para evitar consecuencias negativas. Figura 5. Imagen a Escala de grises con su respectivo histograma III. PARAMETROS GEOMÉTRICOS DE INTERÉS DE LOS CRISTALES El fin de SugarVision es la extracción de propiedades geométricas de cristales de azúcar, haciendo uso de herramientas de visión artificial en fotos realizadas a estos; someter a análisis estadísticos y obtener información útil, con la cual realizar observaciones y conclusiones sobre el proceso de producción al cual fue sometida la muestra estudiada. En rasgos bastante generales SugarVision busca determinar cantidades y porcentajes de los cristales que cumplen determinadas características de forma, dentro de los cuales se encuentran los cristales que obtienen una geometría paralelepipeda y los que no, conocidos como conglomerados, que son cristales amorfos o incluso aglomeración de los primeros. Para lograr detectar esas diferencias es necesaria la extracción y comparación de ciertas características de cada cristal, como son:  Longitud de eje mayor: Es la dimensión del lado más largo del cristal  Longitud de eje mejor: Es la dimensión del lado más corto del cristal que es perpendicular al eje mayor.  Área llena: Es la cantidad de pixeles que componen la región de un cristal, sin importar si se detectan agujeros dentro de este, generalmente producto de la iluminación y translucidez del cristal.  Caja delimitadora: Es la caja mínima que encierra a la región del cristal.  Diámetro equivalente: Es el diámetro que poseería un círculo con la misma área del cristal. IV. CARACTERISTICAS DE INTERFAZ La interfaz se desarrollo para que sea intuitiva y que brinde un fácil acceso a las funciones disponibles en el flujo definido para estas. Posee áreas bien definidas y fácilmente identificables para el ingreso de datos y visualización de resultados. SugarVision posee dos pantallas:  Pantalla para procesamiento de imágenes: La prioridad de esta es la visualización de la imagen que va cambiando a cada paso del procesamiento, desde la importación, hasta la segmentación y análisis de esta. Figura 6. Pantalla para procesamiento de imágenes 4  Pantalla para visualización de estadística Figura 7. Pantalla para visualización de estadística V. CARACTERISTICAS Y FUNCIONES DE SUGARVISION Para lograr la extracción de características dentro de una imagen, se necesita que esta esté en formato binario y que esté segmentada, es decir, que solo posea las regiones que necesitan ser analizadas. A. Importar imagenes SugarVision es capaz de soportar cualquier formato de imagen, independientemente del tipo de color y profundidad de bits que esta posea. Pero por motivos de recursos, se ha delimitado a formatos convencionales como son JPEG – Joint Photographic Expert Group y PNG – Portable Network Graphics. Además tiene la facilidad de multiselección para poder recibir varias imágenes pertenecientes a la misma muestra. Cabe aclarar que la imagen debe estar formada por 4 factores necesarios: 1) Cristales de azúcar, buscando que estos estén separados. 2) Buena iluminación 3) Línea de referencia, la cual se debe conocer su longitud en milímetros y que sea de mayor tamaño que los cristales 4) Fondo negro En este paso la imagen se convierte en una matriz y sufre su primera transformación a imagen binaria, determinada por un umbral automático correspondientes al análisis del histograma que define MatLab [5] . B. Modificación de Umbral La conversión de una imagen a binario es la transformación de una imagen RGB o Escala de Grises, constituidas por los colores de sus nombres, a una imagen que solo posea blanco y negro. En esta transformación se estudia la intensidad de los colores, la cual está definida en un rango de 0 a 1; en una imagen RGB cero representa la ausencia de este color y uno la presencia del color puro. En escala de grises cero representa color negro y uno un color blanco, los valores intermedios definen las diferentes escalas de grises. En este paso del Software el usuario tiene la opción de cambiar el umbral automático definido por MatLab, según su necesidad y criterio. Se debe tener cuidado con el umbral ya que un umbral muy bajo nos generaría la aparición de ruido en la imagen, mientras que un umbral muy alto puede significar la perdida de las características de los cristales, por lo cual se recomienda un umbral intermedio donde se encuentre un equilibrio entre las dos situaciones anteriores. C. Definición de la linea de referencia de calibración Hasta este punto, todas las propiedades de las regiones de la imagen tienen como unidad base el pixel, pero para realizar de manera precisa el análisis esta debe pasar por un proceso de calibración; en el cual se realiza la conversión de unidades de pixel a nanómetros. Para esto es necesaria una línea de referencia dentro de la imagen, ya que a través de una relación de cantidad de pixeles entre la medida de esta en milímetros, nos determinará un coeficiente para calibrar todas las demás unidades lineales o de superficie. La detección de esta línea de referencia se realizará de manera automática debido a las propiedades de esta, esta es la razón por la cual se pide que la línea de referencia sea la región más larga de la imagen. D. Limpiar imagenes Después de haber definido el umbral, nuestra imagen no necesariamente estará compuesta solo por los cristales que queremos analizar; sino que detectaremos pequeñas áreas dentro de la imagen se afectarían en gran manera y negativamente nuestro análisis; por lo cual es necesario deshacernos de las regiones que sean cristales. Estas regiones pequeñas generalmente son pequeños destellos provenientes del fondo, polvo de los mismos cristales, basura y ruido de la imagen. 5 En este paso se necesita especificar una medida en nanómetros a partir de la cual se sabe que se encuentran las medidas de nuestros cristales; las regiones que tengan una medida menor a esta serán eliminadas, las demás son las regiones que pasarán al siguiente paso. E. Análisis de coincidencia Antes de someter a modelos estadísticos los datos de los cristales, se debe definir cuales cristales cumplen con el criterio de forma para ser analizados. Se busca identificar cuáles son los cristales que posean una geometría paralelepipeda; debido a que sabemos que difícilmente un cristal será perfectamente rectangular, estos se califican en una escala de 0 a 100 por ciento, dependiendo en que tanto coincide la geometría del cristal con un rectángulo con sus mismas dimensiones. Para esto hacemos uso de dos propiedades definidas por MatLab para cada cristal, el área llena y la caja delimitadora; en este proceso se compara el área que posee un cristal con la caja mínima que encierra a esta área, cuando el eje mayor de esta región se encuentra completamente horizontal. Con estos datos se determina la proporción en que estas son semejantes y se establece un coeficiente de coincidencia calculado de la siguiente manera: CC = FA/BB x 100% (2) Donde CC es un porcentaje que define el coeficiente de coincidencia; FA es el área llena de la región y BB es el área de la caja delimitadora. En este paso el usuario puede definir qué proporción deben cumplir los cristales para ser sometidos al análisis estadístico. Se debe definir un coeficiente dependiendo de las necesidades del estudio; un porcentaje muy alto solo dejará pasar cristales estrictamente paralelepípedos, mientras que un porcentaje muy bajo nos dejará pasar cristales de diferentes formas que componen nuestra muestra incluyendo los conglomerados. F. Visualización de Estadística Después de haber realizado todos los pasos anteriores a todas las imágenes de la muestra se despliegan los resultados del análisis estadístico explicados en el articulo “Análisis estadístico del control de calidad mediante uso de software de visión artificial – SugarVision” [6] . Estos son mostrados por medio de gráficas y cajas de texto. Dentro de las gráficas encontramos un gráfica de dispersión que muestra la relación entre las longitudes de eje mayor y menor de cada cristal; y un histograma que muestra la cantidad de cristales que se encuentran en rangos definidos de la medida de longitud de eje mayor. En las cajas de texto encontramos parámetros como la cantidad total de cristales, la cantidad de analizados y no analizados y sus porcentajes; además de la media, varianza, desviación estándar y coeficiente de variabilidad con la capacidad de mostrar la ponderación por partícula o por peso. G. Barra de herramientas Está compuesta por herramientas estándar de visualización de imágenes y herramientas propias del sistema claramente separadas por el tipo de función, podemos encontrar las siguientes funciones: 1) Herramientas de visualización de imágenes estándar como zoom y movimiento de paneo. 2) Herramientas de cambio de tipo de color, donde se puede elegir entre RGB y binario. 3) Activación/Desactivación de indicadores de resultado de análisis de coincidencia. 4) Cambio de ponderación de análisis estadístico entre ponderación base partícula o base peso. 5) Exportación de datos de imágenes y archivo de Excel 6) Acerca de SugarVision VI. CONCLUSIONES  La etapa de Visión Artificial de SugarVision es capaz de extraer propiedades de cristales con recursos mínimos como iluminación natural e imágenes captadas desde cámaras semi- profesionales logrando así una accesibilidad en cuanto a hardware; sin mencionar la rapidez que representa realizar este análisis en comparación con los software y métodos ya existentes.  Dentro de los aspectos a mejor se encuentra el uso de reconocimiento de patrones, la obtención de mejores imágenes y resoluciones, y la implementación de sistemas de aprendizaje para el mismo software. VII. REFERENCIAS [1] José Andrés Somolinos Sánchez (2002). Avances en robótica y Visión Artificial. Primera Edición. Ediciones de la Universidad de Castilla-La Mancha. [2] Dario Maravall Gomez-Alende (1993). Reconocimiento de formas y visión artificial. Primera Edición. Editorial RA-MA y Addison- Wesley Iberoamericana, S.A. 6 [3] Erik Cuevas, Daniel Zaldívar, Marco Pérez (2010). Procesamiento digital de imágenes con MatLAB & Simulink. Primera Edición. Alfaomega Grupo Editor, S.A de C.V. [4] José Jaime Esqueda Elizondo, Luis Enrique Palafox Maestre (2005). Fundamentos de Procesamiento de imágenes. Primera Edición. Departamento de Editorial Universitaria de Baja California. [5] Mathworks (2015), MatLab. Visto el 14 de Julio del 2015, disponible en: http://www.mathworks.com/products/matlab/ [6] Argueta, R.; Galvez, J. (2015). Articulo “Análisis estadístico del control de calidad granel mediante uso de software de visión artificial – SugarVision” disponible en: VIII. BIOGRAFÍAS DE LOS AUTORES Iván López. Nace el 31 de Agosto de 1991 en San Salvador, El Salvador. Realiza sus estudios básico en el Colegio Salesiano Santa Cecilia de donde se gradua de Bachiller Técnico en Eletrcotecnia en el 2009. Cursa su carrera en Ingeniería en Mecatrónica en la Universidad Don Bosco. Durante el mismo período estudia canto lirico en la Opera de El Salvador con la cual ha participado en varias puestas en escena de Operas y Recitales. Miembro de la asociación FabLab El Salvador con la cual ha participado en varios proyectos de formato abierto y de cooperación internacional Gerardo López. Nace el 4 de Febrero de 1993 en San Salvador, El Salvador. Realiza sus estudios básicos en el Colegio Salesiano Santa Cecilia donde se gradúa como bachiller técnico en electrotecnia en el año 2010. Cursa su carrera de Ingeniería Mecatrónica en la Universidad Don Bosco. Durante el mismo periodo realiza estudios de canto lirico en la Opera de El Salvador con la cual ha participado en varias puestas en escena de Operas. Colaborador de la asociación FabLab El Salvador con la cual ha participado en algunos proyectos de formato abierto y de cooperación internacional. Además forma parte de equipos deportivos de basquetbol y futbol, tanto universitarios como externos. Ricardo Alexander Argueta Moran: Nacido el 14 de agosto del 1993, San Salvador, El Salvador. Graduado de Bachillerato general en el colegio Liceo Salvadoreño (2004-2010), actual estudiante egresado de ingeniería Mecatrónica en la Universidad Don Bosco. Miembro de la rama estudiantil UDB desde el año 2012. Capacitado en las ramas lingüísticas de inglés, alemán y francés. José Alfredo Gálvez Toyos: Nacido el 13 de Mayo de 1993, San Salvador, El Salvador. Graduado de Bachillerato General en el Colegio Champagnat (1998-2010), actual estudiante de Ingeniería Mecatrónica en la Universidad Don Bosco. http://www.mathworks.com/products/matlab/