Revista Tecnológica ESPOL, Detección de fallas en envases de vidrio no cilíndricos utilizando localización de bordes mediante la herramienta Matlab Ruiz Flores Braulio Andrés1, Ullauri Ulloa Freddy Daniel2, Chávez Patricia3 Facultad de Ingeniería Eléctrica y Computación (FIEC) Escuela Superior Politécnica del Litoral (ESPOL) Campus Gustavo Galindo, Km 30.5 Vía Perimetral Apartado 09-01-5863 Guayaquil, Ecuador braulio.ruiz@ieee.org1, daul345@hotmail.com2, pchavez@espol.edu.ec3 Resumen En las plantas embotelladoras deben realizar un estricto control de calidad de sus operaciones por lo que no debe quedar de lado el estado de las botellas que emplean para depositar su producto. Muchas veces este control era llevado a cabo manualmente, es decir, que había una o varias personas que se encargaban de realizarlo lo cual no era un método seguro, se cometían muchos errores y llevaba demasiado tiempo realizarlo. Los defectos que se encontraban eran fisuras, botellas rotas o botellas con algún objeto en su interior. Los avances en la computación han permitido que se desarrollen nuevos y modernos sistemas para la detección de fallas en distintos objetos por lo que esta revisión se la puede automatizar, es decir, utilizar una aplicación que permita detectar los defectos de una manera más eficiente, ágil y rápida. Para este proyecto se presentará como alternativa el análisis de envases de vidrio a través de la detección de bordes empleando 3 operadores verificando el que permita obtener el mejor resultado para lo cual se hará un breve estudio de cada uno. Los operadores que se utilizarán son los de Sobel, Prewitt y Roberts. Estos operadores son parte de la librería de Matlab 7.0.1 por lo cual no es necesario implementarlos, y se puede proceder directamente a una verificación visual de sus resultados. Se verificará si la calidad de la imagen resultante permite utilizarla para hacer la comparación, caso contrario se utilizarán otros métodos que permitan mejorar los bordes detectados. Palabras Claves: Matlab versión 7.0.1, Detección de bordes. Abstract In bottling plants must carry out a strict quality control of its operations and therefore should not be left behind the state of the bottles used to deposit their product. Many times this control was done manually, ie, who had one or more people who take care of which was not a secure method, committed many errors and took too long doing this. The defects were found cracked, broken bottles or bottles with something inside it. Advances in computing have enabled the development of new and modern systems for detecting faults in individual objects so this review can be automated, ie, use an application to detect defects in a more efficient, agile and quickly. For this project will be presented as an alternative analysis of glass through the edge detection using 3 operators to verify that it can achieve the best outcome for which there will be a brief study of each. Operators are to be used for the Sobel, Prewitt and Roberts. These operators are part of the library of Matlab 7.0.1 it is not necessary to implement them, and you can proceed directly to a visual check of the results. It will check whether the quality of the resulting image can be used for comparison, otherwise use other methods to improve edge detection. Key words: Matlab version 7.0.1, edge detection. B.Ruiz, F. Ullauri, P. Chavéz 1. Introducción Este proyecto tiene como finalidad dar a conocer los diferentes operadores que existen para detectar bordes mediante una aplicación realizada imágenes. Muchas industrias necesitan automatizar sus procesos con el fin de agilitar todas sus operaciones y evitar errores que pudieran atentar contra la calidad de sus productos. Siendo un poco más específicos las empresas embotelladoras deben tener un cuidadoso sistema de control de calidad en los envases entre los cuales seria detectar fallas ya sean estas fisuras, manchas o quebraduras en el mismo. El desarrollo de este tema está basado en detectar este tipo de problemas en envases de vidrios no cilíndricos, por medio de la detección de bordes. 1. Introducción 2. Objetivos 2.1 Objetivos Generales • Desarrollar en Matlab una herramienta que permita detectar fallas en envases de vidrio no cilíndricos. • Afianzar los conocimientos en el estudio del Procesamiento Digital de Señales. 2.2 Objetivos Específicos • Mejorar el control de calidad del proceso verificación del estado de los envases. • Verificar el desempeño de los operadores de Prewitt, Sobel y Roberts ante esta aplicación específica. 3. Descripción del proyecto A lo largo del desarrollo del proyecto surgieron una serie de inconvenientes que fueron resueltos para obtener imágenes adecuadas y que permitan ser verificadas para detectar alguna falla. 3.1 Preparación de las imágenes Parte fundamental de este proyecto son los envases a examinar, se seleccionaron envases casi rectangulares pues el análisis es un poco más sencillo ya que si se utilizaban circulares el análisis requería de un proceso más complejo para lograr analizar todos los detalles. Figura 3.1: Envases empleados en el proyecto Las imágenes capturadas para su posterior análisis deberían tener la mejor calidad posible para evitar el ruido. Entre los distintos problemas existentes al momento de capturar las imágenes era el fondo, al realizar las fotografías con un fondo muy oscuro y luego de realizar el análisis, ocurría que la imagen tenía demasiado ruido por lo que no se apreciaban los detalles de los envases y además si es que alguno tenía un defecto. Para realizar las fotografías era importante tomarlas sin flash ya que esta luz era reflejada en el envase y por eso al analizarlas, había muchos errores ya que los bordes de la luz la tomaban como un defecto. Otro parámetro importante a corregir fue el reflejo de la fuente de luz en los envases el cual nos permitía capturar la imagen sin flash, en las imágenes se creaba demasiado brillo en ciertas partes por lo que había que colocarlas correctamente y así mismo evitar cualquier sombra ya que podía alterar el resultado ya que al final del análisis eran tomados como defectos por el programa. Para corregir estos detalles no deseados en las imágenes existen diferentes técnicas basadas en la fotografía. En nuestro caso realizamos un pequeño cajón con fondo de cartulina blanca y las paredes y techo cubiertos de papel calco. La cartulina blanca en el fondo y en el piso nos ayudó a manejar el ruido detrás del envase, además el papel calco permitió que la fuente de luz que iluminaba el cajón no se vea reflejada en el envase. Cabe recalcar que el piso y el fondo del cajón se unían en una especie de curva para evitar así tener una sombra en esa unión y no tener una línea al momento de filtrar las imágenes. B.Ruiz, F. Ullauri, P. Chavéz Figura 3.2: Imagen del cajón Con todos estos detalles se realizaron la toma de las imágenes y recalcando que al momento de tomar las fotos tanto la cámara como los envases estaban en posiciones fijadas previamente. 3.2 Manipulación de las imágenes Una vez capturadas las imágenes de los envases debemos analizarlas para así poder determinar si el envase tiene defectos o no. En nuestro proyecto optamos el uso de MATLAB, herramienta computacional que entre sus prestaciones básicas se hallan: la manipulación de matrices, la representación de datos y funciones, la implementación de algoritmos, la creación de interfaces de usuario (GUI) y la comunicación con programas en otros lenguajes y con otros dispositivos de hardware. El proceso que se realizó para analizar las imágenes en Matlab empieza con una reducción del tamaño a la mitad de las mismas que lo más probable es que se pierdan algunos detalles pero en este caso esa pérdida es mínima ya que el pixelado es grande (2304x1728). Figura 3.4: Imagen de envase a escalas de grises Luego realizamos un filtrado de la imagen por medio del comando medfilt2 el cual nos ayuda a eliminar el ruido conocido como “sal y pimienta” que se refiere a los píxeles blancos que suelen haber en las imágenes. Una vez filtrado procedemos a realizar la detección de bordes en las imágenes para lo cual utilizaremos una máscara definida por el usuario entre Prewitt, Sobel o Roberts. El siguiente paso es la convolución de la resultante en la detección de bordes con una matriz definida previamente por nosotros y así suavizar la imagen para reducir el número de componentes conectados en la imagen. Una ultima manipulación a la imagen se la realiza por medio del comando bwareaopen que nos permite eliminar objetos en la imágenes con un número de píxeles definido por el usuario, este número mediante la experimentación que tuvimos para nuestro caso el valor a utilizar será 60 píxeles. Figura 3.4: Imagen aplicada 3 operadores Una vez que hemos realizado estos pasos, seleccionaremos la parte central de la imagen que corresponde a la parte central del envase y luego de esto utilizamos el comando bwlabel para etiquetar cada unos de los objetos que se detectan en esta sección del envase. Si el envase llegase a tener algún defecto esta función etiquetará el mismo y lo cual nos permitirá descartar este envase para algún proceso posterior. 3.3 Funcionalidad del Programa El programa está diseñado para realizar el análisis de los envases ya sea imagen por imagen, o sino realizar un análisis de todas las imágenes que estén almacenadas en una carpeta. Además el usuario podrá configurar los parámetros de píxeles para el caso del filtro para suavizar las imágenes y el tipo de operador que desea utilizar en el programa. El programa le presentará al usuario la imagen que está siendo analizada y debajo de ella el estado del envase (Envase con fallas o Envase en Buen estado), si el envase llegara a tener defectos el programa abrirá una ventana adicional en la cual mostrará la imagen con los bordes detectados en la cual se podrá apreciar el defecto que tiene dicho envase. B.Ruiz, F. Ullauri, P. Chavéz 4. Resultados obtenidos Se analizaron 38 imágenes a las cuales se aplicaron los operadores de Sobel, Prewitt y Roberts. Con esto se verificó que 3 frascos fueron detectados incorrectamente. Al hacer el análisis con los 3 operadores para detectar bordes, las imágenes de los bordes diferían en detalles mínimos pero esto no incidió para que el resultado se alterara. Dentro de los envases analizados existieron algunos con fallas que no fueron detectados debido a que durante el proceso de filtrado existieron manchas que se fueron degradando y por consiguiente se eliminaron y los operadores no las detectaron. Envases con fallas analizados 24 Envases sin fallas analizados 14 Verdaderos positivos 21 Verdaderos negativos 13 Falsos negativos 3 Falsos positivos 1 Tabla 3.1 Tabla de resultados Verdaderos positivos Verdaderos negativos Falsos Negativos Falsos Positivos Figura 3.5 Resultado del análisis 5. Conclusiones Al utilizar cualquiera de los 3 operadores se determinó que todos detectaban el mismo número de envases con defectos por lo que depende del criterio del usuario con cual desea realizar el proceso de análisis de los envases. A pesar de que el programa es bastante simple, el análisis tiene su retardo debido al tamaño de la imagen, complejidad del proceso o recursos del ordenador. En los 3 falsos negativos en la detección de fallas, fueron manchas leves en los envases, mientras que los envases con fisuras todas fueron detectados. Se deja como un futuro proyecto mejorar el proceso de análisis para que el tiempo en verificar los envases se reduzca ya que al hacerlo con un paquete de imágenes el tiempo es mayor aún. Se debe buscar las mejores alternativas posibles para que las fotografías obtenidas muestren la mayor cantidad de detalles de modo que los resultados sean más precisos. El sistema puede ser automatizado con la toma de las imágenes en tiempo real ya que para el traslado de los frascos se utilizaría una banda transportadora. 6. Recomendación Al capturar las imágenes de los envases se debe tener cuidado con el reflejo de la luz en el envase, existen diferentes técnicas para poder minimizar el efecto de esta. Procurar elegir un fondo adecuado de modo que no interfiera con el proceso de análisis de la imagen ya que los envases al ser transparentes están expuestos a que cualquier objeto aparezca. Al tomar las fotografías se debe fijar un lugar tanto para la cámara como para los envases para que el análisis esté centrado en un solo lugar. Para evitar cualquier pérdida de información con respecto a la intensidad del color se deben hacer las fotografías con luz blanca de para que se pueda tener una intensidad de acuerdo al color del envase. Al ser envases no cilíndricos, se debe procurar hacer tomas de cada lado del envase de modo que cualquier defecto la cámara lo pueda captar al estar lo más cerca posible a las caras del mismo. 7. Agradecimientos A Dios. A nuestros padres. A todas las personas que hicieron posible cumplir esta meta. A la MSc. Patricia Chávez, Profesora de la materia de graduación, por su colaboración y sabia orientación en la elaboración de este proyecto. 8. Referencias [1] MADISETTI Vijay K., WILLIAMS Douglas B., “Digital Signal Processing Handbook”, Chapman & Hall/CRCnetBase, 1999. B.Ruiz, F. Ullauri, P. Chavéz [2] FERNANDEZ Nicolas, “Contribución al reconocimiento de objetos 2D mediante detección de bordes en imágenes a color”, 2002. [3] VASEGHI Sabed V. “Advanced Digital Signal Processing and Noise Reduction”, John Wiley & Sons Ltda., Second Edition, 2000. [4] MATLAB, “Image Processing Toolbox User’s Guide”, Mathworks Inc., 2008.