• No se han encontrado resultados

Inspección visual automática en baldosas con texturas aleatorias

N/A
N/A
Protected

Academic year: 2020

Share "Inspección visual automática en baldosas con texturas aleatorias"

Copied!
117
0
0

Texto completo

(1)

Trabajo Final

Ingeniería de Sistemas

Facultad de Cs. Exactas – UNICEN

Inspección visual automática

en baldosas con texturas

aleatorias

Lucas Darío Echeverz

Matías Melograno

(2)
(3)

i

Resumen

Machine Vision ha ido creciendo a lo largo de los últimos treinta años; nuevas aplicaciones e investigaciones se han realizado para las diversas áreas que involucra: Clasificación, Manejo de Materiales, Robótica, Calibración y Control de Calidad. Esta última categoría se basa en la inspección de imágenes para determinar la calidad de un producto en una línea de producción. Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado cuyos objetivos principales son poseer, al menos, la misma eficiencia, realizar el proceso en menores tiempos y disminuir potenciales errores causados por la fatiga o subjetividad de dicha inspección.

El siguiente trabajo tiene como objetivo principal efectuar la detección de defectos sobre baldosas, de manera que pueda identificar errores como blobs (gotas), cracks (rayaduras), pinholes (agujeros), esquinas, dimensión y bordes. Para ello se procederá a crear un prototipo, el cual deberá ser capaz de realizar la detección en una línea de producción sin afectar el tiempo de la misma.

El trabajo incluye un análisis y descripción de las técnicas a utilizar, investigaciones previas y desarrollo de un conjunto de algoritmos capaces de efectuar la identificación de los defectos mencionados. Involucra también un proceso de captura, donde se detalla el ambiente creado y explicación detallada de cada uno de los algoritmos que forman parte del prototipo. Finalmente, se mostrará una serie de resultados que se podrán visualizar a través de gráficos y tablas. Los mismos serán comparados con las investigaciones previas en cuanto a performance y eficiencia, de tal manera que se pueda elaborar una conclusión con respecto a este trabajo.

(4)
(5)

iii

Agradecimientos

A nuestro director que nos ha guiado en la realización de este proyecto y ha tenido la paciencia de seguir con el mismo a pesar de todos los acontecimientos ocurridos.

A nuestros padres que nos han enseñado lo importante que es la educación, los valores como personas y han hecho el sacrificio enorme para brindarnos la posibilidad de estudiar esta carrera.

A nuestros hermanos que nos han apoyado y acompañado con todo lo que estuvo al alcance de sus manos.

A nuestros amigos que desde cualquier lugar donde están siempre han demostrado interés y nos han incentivado en cumplir nuestros objetivos.

Lucas Echeverz / Matías Melograno

A Gisele, mi compañera de vida, por su constante apoyo, por ser el sostén en aquellos instantes donde este momento parecía lejano e inalcanzable y por ser el motor en los peores momentos.

(6)
(7)

v

Índice General

Capítulo 1 Introducción ... 1

2. Motivación ... 1

3. Objetivos ... 2

4. Organización ... 3

Capítulo 2 Estado del arte ... 4

2.1 Machine Vision ... 4

2.1.1 Marco Histórico ... 8

2.1.2 Procesamiento de Imágenes ... 9

2.1.2.1 Captura o adquisición de imágenes ... 10

2.1.2.2 Pre-procesamiento ... 15

2.1.2. 3 Segmentación ... 18

2.1.2.3 Extracción de características ... 19

2.1.2.4 Identificación de objetos ... 20

2.1.3 Características del hardware... 21

2.1.3.1 Visualización de imágenes ... 21

2.1.3.2 Memoria ... 22

2.1.3.3 Velocidad de transferencia ... 22

2.1.3.4 Velocidad de procesamiento ... 22

2.2 Sistemas de Machine Vision en producción de baldosas ... 24

2.2.1 Defectos de superficies en Baldosas ... 25

2.3 Técnicas de detección de fallas de superficie en baldosas ... 27

2.4 Sistemas comerciales de clasificación de baldosas ... 31

2.4.1 Flawmaster ... 31

2.4.2 Processmaster ... 32

Capítulo 3 Desarrollo ... 33

3.1 Entorno de desarrollo seleccionado ... 33

3.2 Ambiente de captura propuesto ... 34

3.2.1 Iluminación ... 36

3.3 Desarrollo de la aplicación ... 39

3.3.1 Algoritmo de detección de bordes, esquinas y dimensión ... 39

3.3.1.1 Ejecución del algoritmo ... 45

3.3.1.2 Pseudocódigo ... 46

3.3.2 Algoritmo para la detección de blobs (gotas) ... 48

3.3.2.1 Ejecución del algoritmo ... 51

3.3.2.2 Pseudocódigo ... 52

3.3.3 Algoritmo para la detección de Pinhole ... 53

3.3.3.1 Ejecución del algoritmo ... 55

3.3.3.2 Pseudocódigo ... 56

(8)

vi

3.3.4.1 Ejecución del algoritmo ... 60

3.3.4.2 Pseudocódigo ... 61

3.4 Mecanismo de ejecución y clasificación de baldosas ... 62

Capítulo 4 Resultados Experimentales ... 63

4.1 Descripción del conjunto de test ... 63

4.1.1 Descripción de la captura de imágenes ... 63

4.1.2 Descripción del conjunto de pruebas ... 65

4.2 Evaluación de los métodos propuestos ... 68

4.2.1 Identificación de defectos de bordes ... 68

4.2.2 Identificación de defectos en esquinas ... 69

4.2.3 Verificación de la dimensión de la muestra ... 72

4.2.4 Identificación de Blobs ... 74

4.2.5 Identificación de pinhole ... 76

4.2.6 Cracks ... 79

4.3 Evaluación de la performance de los métodos propuestos ... 82

4.3.1 Hardware ... 82

4.3.2 Resolución ... 82

4.3.3 Performance de la detección ... 82

4.4 Análisis basado en resoluciones de imágenes ... 86

4.5 Evaluación adicional ... 89

4.6 Análisis de resultados obtenidos ... 91

Capítulo 5 Conclusiones ... 92

5.1 Trabajos futuros ... 92

5.2 Conclusiones ... 93

Apéndice ... 94

Manual de Usuario ... 94

Especificaciones técnicas ... 94

Instalador completo ... 95

Guía de instalación ... 95

Ejecutable solamente ... 98

Ejecución ... 98

(9)
(10)

viii

Lista de Figuras

FIG.1 BALDOSAS DE TEXTURA ALEATORIA. ... 2

FIG.2 CLASIFICACIÓN DE MANZANAS DE ACUERDO A SU GRADO. ... 5

FIG.3 LYNXX OPTICAL PARTICLE ANALYZER. ... 6

FIG.4 PROCESO INDUSTRIAL EN LA FABRICACIÓN DE VEHÍCULOS QUE INCLUYE EL USO DE LA ROBÓTICA. ... 6

FIG.5 DISPOSITIVO MARS PATHFINDER DESARROLLADO POR LA NASA. ... 7

FIG.6 COMPARACIÓN ENTRE UN SENSOR CCD Y CMOS ... 13

FIG.7 LINE SCAN CAMERA. ... 14

FIG.8 AREA SCAN CAMERA. ... 14

FIG.9 IMAGEN EN COLOR Y BLANCO Y NEGRO. ... 15

FIG.10 ECUALIZACIÓN DEL HISTOGRAMA APLICADA SOBRE IMAGEN. ... 16

FIG.11 APLICACIÓN DE OPERADOR ESTADÍSTICO SOBRE UNA IMAGEN. ... 17

FIG.12 APLICACIÓN DE EROSIÓN. ... 17

FIG.13 APLICACIÓN DE DILATACIÓN. ... 18

FIG.14 APLICACIÓN HEURISKO® ... 21

FIG.15 COMPARACIÓN CLOCK RATE. ... 23

FIG.16 COMPARACIÓN ENTRE PENTIUM I Y PENTIUM IV DE OPERACIONES. ... 24

FIG.17 BALDOSAS DE TEXTURA ALEATORIA. ... 25

FIG.18 TÉCNICAS DE DETECCIÓN DE FALLAS. ... 28

FIG.19 APLICACIÓN DE THRESHOLD. ... 28

FIG.20 APLICACIÓN DE LOCAL STANDARD DEVIATION ... 29

FIG.21 DILATACIÓN. ... 29

FIG.22 EROSIÓN. ... 29

FIG.23 APLICACIÓN DE HARRIS-STEPHENS. ... 30

FIG.24 ETIQUETADO DE ELEMENTOS DE UNA IMAGEN. ... 30

FIG.25 FLAWMASTER. ... 31

FIG.26 PROCESSMASTER. ... 32

FIG.27 PRODUCTOS QUE OFRECE MATLAB. ... 33

FIG.28 LISTADO DE COMPLEMENTOS QUE SE PUEDEN INSTALAR JUNTO CON MATLAB. ... 34

FIG.29 AMBIENTE DE CAPTURA. ... 35

FIG.30 MARKETPLACE WIRELESSMOBILEUTILITY ... 36

FIG.31 CAPTURA CON HAZ DE LUZ A LA IZQUIERDA. ... 37

FIG.32 EJEMPLO PRIMER CAPTURA BALDOSA UNIFORME. ... 38

FIG.33 EJEMPLO SEGUNDA CAPTURA BALDOSA UNIFORME. ... 38

FIG.34 EJEMPLO TERCER CAPTURA BALDOSA UNIFORME. ... 38

FIG.35 CAPTURA DE PANTALLA DE LA INTERFAZ DE LA APLICACIÓN. ... 39

FIG.36 CONVERSIÓN DE IMAGEN A ESCALA DE GRISES. ... 40

FIG.37 APLICACIÓN DE PREWITT. ... 40

FIG.38 USO DE REGIONPROPS PARA OBTENER EL BORDE DE LA BALDOSA. ... 41

FIG.39 APLICACIÓN DE HARRIS-STEPHENS PARA LA DETECCIÓN DE CORNERS. ... 41

FIG.40 ELIMINACIÓN DE ELEMENTOS QUE NO SE CONSIDERAN BORDES. ... 43

FIG.41 FINAL DE EJECUCIÓN DE DETECCIÓN DE ESQUINAS. ... 43

FIG.42 EJEMPLO DE DETECCIÓN DE ERROR EN BORDES. ... 44

FIG.43 ACERCAMIENTO DE ZOOM SOBRE UN BORDE CON DEFECTO DETECTADO. ... 44

(11)

ix

FIG.45 PRIMER ENFOQUE PARA DETECCIÓN DE GOTAS. ... 48

FIG.46 CÁLCULO REDONDEZ DE LOS ELEMENTOS. ... 49

FIG.47 CÁLCULO DE REDONDEZ CON NUEVA PARAMETRIZACIÓN DE DISK. ... 50

FIG.48 EJEMPLO RESULTADO FINAL DE LA DETECCIÓN DE GOTAS. ... 50

FIG.49 OPERACIONES REALIZADAS PARA LA DETECCIÓN DE BLOBS (GOTAS). ... 51

FIG.50 EJEMPLO DE PINHOLE EN BALDOSA. ... 53

FIG.51 CÁLCULO DE REDONDEZ PARA PINHOLE. ... 54

FIG.52 EJEMPLO DE DETECCIÓN DE PINHOLE. ... 54

FIG.53 OPERACIONES REALIZADAS PARA LA DETECCIÓN DE PINHOLES. ... 55

FIG.54 EJEMPLO DE BALDOSA CON RAYADURAS. ... 57

FIG.55 EJEMPLO EJECUCIÓN DE CANNY. ... 58

FIG.56 APLICACIÓN DE HOUGH TRANSFORM. ... 58

FIG.57 MUESTRA DE ELEMENTOS DETECTADOS LUEGO DE APLICAR STDFILT. ... 59

FIG.58 EJEMPLO DE DETECCIÓN DE RAYADURAS. ... 59

FIG.59 OPERACIONES REALIZADAS PARA LA DETECCIÓN DE CRACKS (RAYADURAS). ... 60

FIG.60 DIAGRAMA DE EJECUCIÓN. ... 62

FIG.61 CÁMARA MICRON. ... 63

FIG.62 CÁMARA NIKON COOLPIX. ... 64

FIG.63 ESPECIFICACIONES DE CÁMARA. ... 64

FIG.64 TABLERO PARA LA CAPTURA DE BALDOSAS. ... 64

FIG.65 FÁBRICA LOIMAR. ... 65

FIG.66 BALDOSAS. ... 65

FIG.67 BALDOSA ESMALTADA. ... 66

FIG.68 BALDOSA SIN ESMALTE. ... 66

FIG.69 CLASIFICACIÓN DE BALDOSAS DE ACUERDO A SU DEFECTO. ... 67

FIG.70 RESULTADO DETECCIÓN DE BORDES. ... 68

FIG.71 DETECCIÓN DE BORDES. ... 69

FIG.72 RESULTADO DETECCIÓN DE ESQUINAS. ... 69

FIG.73 PANTALLA DE DETECCIÓN DE ERRORES EN ESQUINAS. ... 70

FIG.74 ESQUINA SUPERIOR DERECHA FALTANTE. ... 70

FIG.75 ESQUINA SUPERIOR IZQUIERDA FALTANTE. ... 70

FIG.76 ESQUINA INFERIOR IZQUIERDA FALTANTE. ... 71

FIG.77 ESQUINA INFERIOR DERECHA FALTANTE. ... 71

FIG.78 RESULTADO VERIFICACIÓN DE DIMENSIÓN. ... 72

FIG.79 DIMENSIÓN:5.264.225 PÍXELES. ... 73

FIG.80 DIMENSIÓN:4.446.624 PÍXELES. ... 73

FIG.81 DIMENSIÓN:6.793.920 PÍXELES. ... 73

FIG.82 DIMENSIÓN:6.936.192 PÍXELES. ... 73

FIG.83 PANTALLA SIN DETECCIÓN DE ERRORES. ... 73

FIG.84 PANTALLA DETECTANDO ERROR DE DIMENSIÓN. ... 74

FIG.85 RESULTADO DETECCIÓN DE BLOBS. ... 74

FIG.86 “THE NUMBER OF BLOBS IS 2.” ... 75

FIG.87 “THE NUMBER OF BLOBS IS 2.” ... 75

FIG.88 “THE NUMBER OF BLOBS IS 3.” ... 75

FIG.89 “THE NUMBER OF BLOBS IS 2.” ... 75

FIG.90 “THE NUMBER OF BLOBS IS 1.” ... 76

FIG.91 “THE NUMBER OF BLOBS IS 1.” ... 76

FIG.92 RESULTADO DETECCIÓN DE PINHOLE. ... 76

(12)

x

FIG.94 “THE NUMBER OF PINHOLES IS 1.” ... 77

FIG.95 “THE NUMBER OF PINHOLES IS 1.” ... 77

FIG.96 “THE NUMBER OF PINHOLES IS 1.” ... 77

FIG.97 “THE NUMBER OF PINHOLES IS 1.” ... 78

FIG.98 RESULTADO DE DETECCIÓN DE CRACKS... 79

FIG.99 “THE NUMBER OF CRACKS IS 3.” ... 80

FIG.100 “THE NUMBER OF CRACKS IS 3.” ... 80

FIG.101 “THE NUMBER OF CRACKS IS 11.” ... 80

FIG.102 “THE NUMBER OF CRACKS IS 2.” ... 80

FIG.103 “THE NUMBER OF CRACKS IS 4.” ... 81

FIG.104 “THE NUMBER OF CRACKS IS 3.” ... 81

FIG.105 DETECCIÓN DE CRACK EN PINHOLE. ... 81

FIG.106 COMPARATIVA EFICIENCIA DIVERSOS ESTUDIOS. ... 84

FIG.107 COMPARATIVA PERFORMANCE DIVERSOS ESTUDIOS. ... 85

FIG.108 DETECCIÓN DE CRACKS EN RESOLUCIÓN MÁS CHICA. ... 86

FIG.109 PARAMETRIZACIÓN PARA RESOLUCIÓN 1700 X 1275. ... 87

FIG.110 MUESTRA CERÁMICOS. ... 89

FIG.111 PANTALLA DETECCIÓN ERROR EN CERÁMICO. ... 89

FIG.112 DETECCIÓN ESQUINAS EN CERÁMICO. ... 90

FIG.113 DETECCIÓN ERROR EN BORDE PARA UN CERÁMICO. ... 90

FIG.114 DETECCIÓN DE PINHOLE EN CERÁMICO. ... 90

FIG.115 DETECCIÓN DE BLOBS EN CERÁMICO. ... 90

FIG.116 TIPO DE APLICACIÓN. ... 94

FIG.117 INSTALADOR COMPLETO. ... 95

FIG.118 INSTALACIÓN PANTALLA 1. ... 95

FIG.119 INSTALACIÓN PANTALLA 2. ... 96

FIG.120 INSTALACIÓN PANTALLA 3. ... 96

FIG.121 INSTALACIÓN PANTALLA 4. ... 97

FIG.122 INSTALACIÓN PANTALLA 5. ... 97

FIG.123 EJECUTABLE CON MATLAB INSTALADO. ... 98

FIG.124 PANTALLA DEL EJECUTABLE. ... 98

FIG.125 PANTALLA EJECUCIÓN. ... 99

(13)
(14)

xii

Lista de Tablas

TABLA 1 NIVEL DE ABSTRACCIÓN EN EL PROCESAMIENTO DE IMÁGENES. ... 10

TABLA 2 CUADRO COMPARATIVO ENTRE UN SISTEMA DE MACHINE VISION Y LA VISIÓN HUMANA. ... 12

TABLA 3 COMPARATIVA ENTRE SENSORES CCD Y CMOS. ... 12

TABLA 4 TIPOS DE DEFECTOS. ... 27

TABLA 5 PSEUDOCÓDIGO DE DETECCIÓN DE ESQUINAS, BORDES Y DIMENSIÓN. ... 47

TABLA 6 PSEUDOCÓDIGO DE DETECCIÓN DE BLOBS. ... 52

TABLA 7 PSEUDOCÓDIGO PARA LA DETECCIÓN DE PINHOLES. ... 56

TABLA 8 PSEUDOCÓDIGO DE DETECCIÓN DE CRACKS. ... 61

TABLA 9 COMPARACIÓN ENTRE PINHOLE NO DETECTADO Y DETECTADO. ... 78

TABLA 10 PROMEDIO DE TIEMPOS DE CADA ALGORITMO EN DIFERENTES COMPUTADORAS. ... 83

TABLA 11 EJECUCIÓN PROMEDIO DE TODOS LOS ALGORITMOS. ... 83

TABLA 12 COMPARATIVA DETECCIÓN DE ERRORES EN BORDES, DIMENSIÓN Y ESQUINAS... 85

TABLA 13 COMPARATIVA DETECCIÓN EN DIFERENTES RESOLUCIONES. ... 86

(15)
(16)

1

Capítulo 1

Introducción

La calidad del producto final define el futuro de una empresa. Sólo una inspección objetiva y estricta puede prometer la mejor calidad de producto, evitando de esta manera que productos defectuosos lleguen a las manos de los clientes [1].

Las técnicas de inspección automática (Machine Vision) [2] [3] [4] son métodos utilizados para analizar productos prescindiendo de la interacción humana con los mismos. Su objetivo es la recolección de información necesaria que permita determinar si el producto se encuentra dentro de los parámetros correctos utilizando su base de conocimiento. Esta técnica permite la inspección en tiempo real de la totalidad de los productos producidos, lo cual representa una ventaja ampliamente superior a la realización por muestreo parcial.

El término Machine Vision describe un gran número de sistemas de visión que son utilizados en el procesamiento automatizado. En general son utilizados para el procesamiento automático, análisis y comprensión de imágenes en ambientes industriales.

Según los estudios anuales de la AIA (Automated Imaging Association) [5], el mercado global de este tipo de sistemas se encuentra en continuo crecimiento, tanto en componentes, como en cámaras inteligentes y sistemas de Machine Vision de aplicación específica.

Existen ciertos aspectos que se deben tener en cuenta durante la implementación de un sistema de Machine Vision. Estos aspectos determinan el éxito de la implementación del sistema y están compuestos por la justificación de la aplicación, las consideraciones sistemáticas en la eficiencia y performance del sistema (considerando el análisis de posibilidad de integración, robustez, facilidad de uso y la capacidad de incluir inteligencia), la adecuación a las condiciones ambientales existentes, la adquisición de imágenes (teniendo en cuenta el tamaño mínimo de defecto y la dimensión del objeto), el throughput de la línea de producción, las técnicas de preprocesamiento de imágenes y el estudio de opciones en cuanto al análisis de imágenes.

2. Motivación

El Control de Calidad en la fabricación de baldosas es una tarea difícil que se realiza en un entorno que, generalmente, no es el adecuado. Los operarios son sometidos a altos niveles de ruidos, polvo, temperaturas extremas, entre otros. Este proceso de control es uno de los pocos en el que participan operadores humanos ya que la mayor parte se encuentra automatizada [6] [7]. Consiste principalmente en encontrar defectos que puedan clasificar al producto en diversas categorías.

(17)

2

Fig. 1 Baldosas de textura aleatoria.

La capacidad de un humano para llevar a cabo este proceso depende de su formación, el conocimiento y la experiencia [6]. Las tareas que realizan los operadores, generalmente se encuentran influenciadas por expectativas y conocimiento previo. Además, este proceso es tedioso, subjetivo, costoso y requiere excesiva concentración, lo que produce una fatiga a lo largo de la ejecución de la tarea [7], pudiendo decir que un humano funciona por un tiempo limitado [6]. Estos factores, en adición a otros que impactan negativamente en el rendimiento humano, derivan en una clasificación irregular e indeseada de los productos. A esto también se le suma que los encargados de realizar estas tareas pueden no coincidir en los criterios de aceptación, es decir, los estándares en el criterio de aceptación varían entre una persona y otra. Esta variación conduce a la producción de baldosas de diversa calidad [8]. Todo esto presentaría un margen de error, dentro del cual el producto final puede no ser el ideal o esperado, incidiendo en la calidad del mismo.

Por todos estos motivos, surge la idea de automatizar el control de calidad con el fin de reducir los riesgos planteados previamente y determinar un único criterio de aceptación del producto [8].

3. Objetivos

En el plan propuesto, se pretende el desarrollo de un sistema de detección de fallas de superficie en baldosas cerámicas, abordando el análisis en productos con texturas aleatorias. Como caso de estudio, se analizará la detección de diferentes tipos de defectos en un conjunto de baldosas cerámicas. Estos defectos son: goteo de pintura, rayones en la superficie, quebraduras, defectos de material y variaciones de dimensiones. El sistema debe ser capaz de cuantificar los defectos encontrados en la superficie de los productos.

La implementación desarrollada consiste en un prototipo, capaz de soportar la ejecución en tiempo real en una línea de producción. Por otro lado, otro de los parámetros a ser analizado será la tasa de fallas detectadas correctamente, la cual debe superar al 90%.

(18)

3

4. Organización

Este trabajo se encuentra organizado en cinco capítulos. En donde el primer Capítulo contiene la Introducción, Motivación y Objetivos que llevaron a la realización de esta investigación.

El Capítulo 2 describe aspectos generales y teóricos del área de investigación, desarrollo de las técnicas a utilizar, procesos y material de estudio (baldosas).

El Capítulo 3 describe la metodología utilizada para el desarrollo del trabajo. Además, se hace un análisis detallado de los distintos algoritmos elaborados y de las herramientas utilizadas.

Por su parte, el Capítulo 4 muestra los resultados obtenidos de la ejecución de los algoritmos en distintos ambientes y su eficiencia en cuanto a tiempo y éxito.

Finalmente, se encuentra el Capítulo 5 que contiene las conclusiones de este trabajo.

(19)

4

Capítulo 2

Estado del arte

2.1 Machine Vision

Machine Vision (MV) [9] se puede definir como el análisis de imágenes para obtener la información necesaria para controlar un proceso o una actividad. También es conocida como el estudio de métodos y técnicas que permiten la construcción de sistemas de visión artificial que pueden ser empleados en diversas aplicaciones prácticas. Es una subdisciplina de la Inteligencia Artificial (IA), la cual utiliza video cámaras o escáneres para obtener información acerca del entorno, y extraer información de imágenes digitales acerca de los objetos que se encuentran en ellas. Machine Vision toma una imagen como entrada y obtiene una serie de parámetros acerca de los objetos en ella (tamaño, posición, correlaciones, etc.). Existen diversos tipos de categorías en las cuales se encuentran las aplicaciones que utilizan Machine Vision:

 Control de Calidad

 Clasificación

 Manejo de materiales

 Robótica

 Calibración

Dentro de la primera categoría mencionada (Control de Calidad) se encuentran la mayoría de las aplicaciones basadas en Machine Vision. Todas ellas realizan inspección de imágenes y deciden si la pieza debe pasar o ser rechazada, basado en una serie de parámetros y condiciones. Aunque las personas pueden ser excelentes para el control de calidad, la fatiga y subjetividad son factores que pueden atentar sobre la clasificación del producto final. Estas características no se presentan en sistemas automatizados. Con respecto a la subjetividad, las personas pueden agregar o cambiar las reglas para que las piezas sean aprobadas o no. Si una persona encuentra un defecto, éste no es parte del proceso de clasificación hasta que sea agregado al mismo. También pueden interpretar los criterios de manera incorrecta generando problemas en este control. Otro factor importante es la velocidad, debido a que a menudo líneas de producción requieren de tasas de inspección de piezas muy complejas por segundo. En este aspecto, los sistemas automatizados presentan una mejora considerable con respecto a la inspección humana [9].

(20)

5

Fig. 2 Clasificación de manzanas de acuerdo a su grado.

(21)

6

Fig. 3 Lynxx Optical Particle Analyzer.

La Robótica, cuarta categoría mencionada, incluye actividades como ejecución de soldaduras en la construcción de autos, pinturas basadas en spray, carga y descarga. Uno de los usos más comunes de la robótica es en los procesos industriales, como por ejemplo la fabricación de vehículos. Donde las interacciones de los robots van desde ajustar un tornillo hasta el ensamblaje de partes [9]. Otro buen ejemplo es el “Mars Pathfinder”, el robot desarrollado por la NASA para recorrer Marte. Este dispositivo, basándose en métricas capturadas, como la presión atmosférica, el viento, la temperatura, determina qué pasos seguir para recorrer dicho planeta para acercarse lo más posible a objetos de interés [12] [13].

(22)

7

Fig. 5 Dispositivo Mars Pathfinder desarrollado por la NASA.

Por último, es utilizado en aplicaciones que requieren de ajustes de calibración de piezas y ensamble. Se incluyen empresas que fabrican calculadoras, termostatos y tableros de control [9].

Otra manera de categorizar las aplicaciones de Machine Vision es de acuerdo al propósito de las mismas:

 Reconocimiento de código: es la identificación de objetos usando marcas determinísticas. Como por ejemplo los códigos de barra. Existen muchísimos casos de estudio y aplicaciones en esta área. La más conocida puede ser la aplicación de OCR (Reconocimiento Óptico de Caracteres) en latas de comida. Sus principales funciones son las de prevenir productos marcados erróneamente, evitar que se mezclen productos en la línea de producción o bien que en la distribución lleguen diferentes productos [14]. También se pueden aplicar en la interpretación de las fechas de vencimiento de productos para evitar multas y venta de productos vencidos [15].

 Reconocimiento de objetos: es la identificación de objetos usando o analizando diversas características, como la forma, dimensión, color, estructura y textura. La clasificación de manzanas de manera automatizada basada en color, forma y tamaño puede ser una de las referencias ubicadas en esta categoría.

 Reconocimiento en base a la posición: es la determinación de la posición y orientación de un objeto.

 Validación de producto final: consiste en determinar si una pieza fue ensamblada correctamente, o no. Corroborando que todos sus componentes estén presentes y en la posición correcta.

 Validación de forma y dimensión: determinación de las magnitudes geométricas, enfocándose en la precisión y exactitud con márgenes mínimos de errores. Por ejemplo, la medición de los minerales provista por el dispositivo Lynxx Optical Particle Analyzer mencionado anteriormente.

(23)

8 en el análisis de la superficie de la baldosa para detectar defectos como rayaduras, grietas, goteras, entre otros.

El hecho de que exista esta categorización de las aplicaciones no significa que una aplicación esté limitada a funcionar para una sola de las categorías. Es decir, estas categorías son frecuentemente combinadas en el mundo real de las aplicaciones. Por ejemplo, leer un código de barras con un número de serie específico y realizar un chequeo de su correcto ensamblado. Por otra parte, algunas aplicaciones combinan o complementan estas categorías para garantizar mejores resultados. Por ejemplo, con la información obtenida en los métodos de reconocimiento en base a la posición, se puede obtener una mejora en la validación de forma y dimensión; ya que se sabe con mayor exactitud dónde se encuentra el objeto en la imagen obtenida por la cámara [16].

2.1.1 Marco Histórico

La aparición del término Machine Vision data de los años 1930’s cuando la compañía Electronic Sorting Machines construyó un clasificador de comida basado en el uso de filtros y fotomultiplicadores como detectores. Esta compañía todavía existe hoy en día bajo el nombre de

ESM. Incluso, aún ofrece clasificadores basados en los mismos principios de esa época. En los años 40, la empresa RCA, Camden Operation diseñó y construyó un sistema para detectar botellas retornables vacías que estuvieran listas (limpias) para ser llenadas nuevamente. A su vez, fue el primer sistema que incorporó la detección de roturas, ya que buscaba defectos en los picos de las mismas. Fue instalado en más de tres mil líneas de producción. En los años 1950’s se registraron las primeras patentes de Reconocimiento Óptico de Caracteres (OCR).

En la década del ‘60 el ejército y la NASA subsidiaron investigaciones, llevadas a cabo por la empresa R&D, para el desarrollo de sistemas relacionado con la vigilancia y la seguridad, como también el reconocimiento y seguimiento de objetivos.

Luego, en los años 1970’s, Bell desarrolló el concepto de acoplamiento de carga, creando así el dispositivo CCD (Dispositivo de Carga Acoplada).

Más allá de estos casos mencionados, Machine Vision ha evolucionado considerablemente desde hace 25 años. Este progreso se debió a los avances en el hardware, haciendo que todo se integre a un sistema en tiempo real. Esto significa que todo se encuentra cambiando constantemente y se debe principalmente a las investigaciones realizadas y a la importancia que Machine Vision fue generando en diversas áreas, como el Control de Calidad en las industrias, aplicaciones médicas que involucran el análisis de imágenes, aplicaciones militares y espaciales.

Uno de los procesos a destacar es que, al ejecutarse operaciones en el procesamiento de imágenes, se comienza trabajando con una imagen en un espacio de almacenamiento, y se genera una nueva procesada en otro. En la práctica, estos espacios de almacenamiento pueden estar en una unidad especial de hardware llamada frame. A este frame se accede a través de una interfaz provista por la computadora, puede estar en la memoria principal o en uno de los discos. En el pasado, para realizar esto se requerían de frames especiales para almacenar dicha información [2].

(24)

9 1. Detectar todo tipo de defectos de fabricación, por lo menos con la misma precisión que el

ojo humano.

2. Medir con alta precisión las dimensiones de las baldosas.

Si estableciéramos una línea de tiempo basada en el control de calidad, se puede decir que a partir del año 2000 comenzó a cobrar importancia el uso de sistemas automatizados en las fábricas de baldosas. Estos primeros estudios no obtuvieron resultados significativos. A mediados de la década del 2000 surgieron diversos métodos aplicados a la inspección de baldosas con un costo computacional elevado y mucha demanda en tiempo, considerando que deben ejecutarse en tiempo real más allá de que tengan una buena tasa de aceptación en cuanto a la detección de defectos. Otros, tienen un costo computacional menor, pero la eficacia para detectar defectos disminuye considerablemente. Estos problemas hicieron que se siga buscando algoritmos que puedan considerarse satisfactorios teniendo en cuenta la eficacia y el tiempo.

Para el año 2012, la evolución constante de Machine Vision hizo que casi todas las áreas de producción de baldosas involucren sistemas automatizados. Sin embargo, el área de Control de Calidad sigue siendo de manera manual, incluso hasta el día de hoy. Esto se debe a que todavía ninguna logró alcanzar, por lo menos, la misma precisión del ojo humano [6] [7] [8] [17] [18] [19] [20].

2.1.2 Procesamiento de Imágenes

El procesamiento de imágenes es un proceso computarizado de Machine Vision que ayuda a optimizar las propiedades de las mismas en una variación utilizable, con el objetivo de que el análisis sea más sencillo. Hay 2 [21] niveles distinguidos en el procesamiento de imágenes:

 Bajo nivel: involucra operaciones que consisten en la adquisición de la imagen, compresión de la misma y métodos de pre-procesamiento para la eliminación de ruidos, extracción de información de bordes y formas y otras mejoras que sean relevantes para entender la imagen.

(25)

10

Tabla 1 Nivel de abstracción en el procesamiento de imágenes.

El procesamiento de imágenes se puede clasificar en diferentes etapas:

 Captura: diseño de las propiedades de captura. Tipo de cámara, distancia al objeto, mega píxeles, etc.

 Pre-procesamiento: consiste en reducir el entorno que no es de interés para el problema (fondo, ruido, etc.). Ejecutar una reducción de ruido implica conocer la naturaleza del mismo en una imagen y depende del sistema de captura o del ruido en sí.

 Segmentación: tiene por actividades reconocer y extraer cada uno de los objetos presentes en la imagen. Esto significa determinar si un píxel corresponde a un objeto de interés o al fondo. Para ello se analizan propiedades como la ubicación, intensidad, relación de píxeles con sus vecinos, transformaciones, etc.

 Extracción de características: consiste en seleccionar y extraer las “características” apropiadas para la identificación de los objetos deseados.

 Identificación de los objetos: consiste en utilizar un modelo de toma de decisión para deducir a qué categoría pertenece cada objeto.

Hay que destacar que el pipeline del procesamiento de imágenes es conceptual. Esto quiere decir que en una aplicación real, se suelen realizar las etapas al mismo tiempo [2] [22].

2.1.2.1 Captura o adquisición de imágenes

(26)

11 de iluminación utilizado para realizar la captura, el ambiente de aplicación, el tipo de sensor, entre otros. Si bien, las deficiencias de las capturas pueden ser solventadas utilizando algoritmos complejos, tener cuidados en la adquisición de imagen puede significar la utilización de algoritmos más simples y obtener mejores resultados, tanto en la precisión de los resultados como en los tiempos de ejecución.

La adquisición de una imagen digital requiere de un proceso de digitalización, que convierte la información analógica en formato digital, para que pueda ser manipulado en un medio electrónico [20]. Por otra parte, la compresión consiste en reducir el volumen de datos a analizar, pero sin alterar la información que contiene el material original. Un ejemplo de compresión es la binarización de imágenes. Esta técnica consiste en un proceso de reducción de la información de la imagen, en la que sólo persisten dos valores: verdadero y falso. En una imagen digital, estos valores pueden representarse con 0 y 1 o, más frecuentemente, por los colores negro (valor de intensidad 0) y blanco (valor de intensidad 255) [2].

Generalmente, el proceso de adquisición involucra el uso de cámaras. Una cámara consiste en dos partes: un lente que obtiene el tipo de radiación apropiada emitida por el objeto de interés y con eso forma la imagen del objeto real y un dispositivo semiconductor (CCD –Dispositivo de Carga Acoplada- o CMOS –Semiconductor Complementario de Óxido Metálico-) que convierte la irradiación de la imagen plana en una señal eléctrica. La tarea de la capturadora es convertir la imagen analógica de la cámara en una imagen digital para que pueda ser procesada en la computadora. Como la visualización de una imagen se ha convertido en una parte integral de una computadora o una estación de trabajo, ya no se requiere un dispositivo de visualización y sólo se necesitan circuitos para digitalizar la imagen desde la cámara y almacenarla en la memoria de la computadora. Las cámaras modernas contienen todo lo necesario para realizar la captura de imagen. Por ejemplo, los sensores CMOS realizan esta tarea con un chip que incluye un conversor analógico/digital y una salida digital. Gracias a todo esto, lo único que se necesita para adquirir una imagen, es una conexión desde la cámara al procesador, pudiendo ser vía Fireware o USB [16].

La parte esencial o más importante de una cámara es el sensor que es usado para la generación de la imagen. El sensor es el ojo de una cámara. En consecuencia, la tarea del sensor es capturar la imagen y traducirla a información que luego será pre-procesada por la cámara o transmitida a otro dispositivo o a un monitor para su procesamiento [16].

Se pueden diferenciar ciertas características entre el ojo humano y el “ojo” de una cámara: el primero posee una ultra-alta resolución y una captura de imagen paralela o escaneo no temporal, donde la imagen es capturada de manera simultánea [16]. El segundo, al tratarse de un sensor digital, es un proceso en serie donde la información es obtenida de manera serial, es decir, un punto espacial por unidad de tiempo. Agregando también las limitaciones generadas por la cantidad de objetos que se pueden manipular, la velocidad de interpretación, la susceptibilidad a la luz y variación de texturas y reflejo de objetos, resulta altamente complejo imitar el sistema de visión humana con la tecnología actual. Por otra parte, la visión de un ser humano es tridimensional gracias a su sistema de visión estereoscópica, mientras que Machine Vision trabaja generalmente con datos de dos dimensiones. Respecto al color, el ojo interpreta el mismo basándose en la respuesta del espectro de los fotorreceptores, mientras que el color en las máquinas es un intérprete de la escala de grises sin importar el tono, basándose en la respuesta espectral del sensor [23].

(27)

12 producción, la cual es mayor a lo que podría realizarlo un humano. Además, pueden realizar múltiples tareas sobre uno o más objetos [23].

La siguiente tabla muestra una comparación entre la visión de un humano y una máquina con respecto a la eficiencia en diversos criterios:

Criterio Machine Vision Visión Humana

Resolución Limitada por la resolución de píxeles.

Ultra-alta resolución.

Velocidad de procesamiento Fracción de segundo por imagen.

Procesamiento en tiempo real.

Identificación de objetos Limitado a imágenes de alto contraste.

Procesamiento en tiempo real.

Precisión Depende de la correcta identificación de los objetos. Se mantiene consistente cuando se procesa gran volumen de información.

Depende de la subjetividad. A gran volumen de información, disminuye la precisión debido al cansancio o fatiga.

Costo de operación Menor. Mayor.

Tabla 2 Cuadro Comparativo entre un sistema de Machine Vision y la Visión Humana.

CMOS vs CCD:

La siguiente es una tabla comparativa entre los sensores CCD y CMOS [16].

CCD CMOS

++ Muy poco ruido + Poco ruido

+ Calidad de imagen óptima + Calidad de imagen óptima

- Velocidad de lectura más lenta + Velocidad de lectura más alta

- Mucho consumo de energía + Poco consumo de energía

+ No produce defecto gelatina -Produce defecto gelatina

- Mala performance cuando hay poca luz +Mejor rendimiento cuando hay poca luz.

Tabla 3 Comparativa entre sensores CCD y CMOS.

(28)

13

Velocidad de lectura: en las CCD la lectura es más lenta debido a que se realiza en serie. En las CMOS, las lecturas se realizan en paralelo gracias a que cada píxel tiene su propio condensador y amplificador.

Consumo: en las CCD una pequeña cantidad de carga se pierde cada vez que se desplazan los electrones. Por lo tanto, a resoluciones más altas, más desplazamientos son requeridos (estos desplazamientos requieren voltaje). Esto, junto con que la lectura de un CCD es lenta por leerse la información en serie (un píxel cada vez), hace que se gaste la batería del dispositivo. Por el contrario, las CMOS, a pesar de que cada píxel tiene su propio condensador y amplificador, no necesitan transportar los electrones. Esto hace que su consumo se menor.

Imagen: en las CCD la imagen se graba en un solo instante. En cambio, las CMOS graban los datos línea a línea, haciendo que las imágenes panorámicas parezcan torcidas (efecto gelatina). De todas maneras, esta desventaja en las CMOS, no siempre es negativa ya que cada píxel puede tener un poco de tiempo extra para capturar fotones, dando un mejor resultado en ambientes con poca luz.

Fig. 6 Comparación entre un sensor CCD y CMOS

El sensor CMOS permite imágenes más claras y brillantes, comparadas con el sensor CCD, incluso en situaciones de poca luz.

Line Scan vs. Scan Area

Las cámaras se adaptan para el uso en un entorno industrial a través de interfaces que se utilizarán para la detección y ejecución de algoritmos de procesamiento. Actualmente las cámaras pueden detectar el más minucioso detalle en una superficie y existen dos tipos de cámaras para dicho propósito: “line scan” o “area scan” cámaras [16]:

(29)

14

Fig. 7 Line scan camera.

Area scan camera: capturan la imagen a nivel de matriz de píxeles de un espacio o área específica. Son de fácil instalación, ya que no requieren que la cámara se mueva. Permiten realizar una segmentación de los objetos de interés de la imagen en vez de tener que procesar la imagen entera. Son más comunes en las tareas automatizadas.

Fig. 8 Area scan camera.

Monocromáticas ys color

 Monocromáticas: son en escala de grises y utilizadas generalmente en la línea de producción de baldosas debido a que el análisis del color no es importante.

(30)

15

Fig. 9 Imagen en color y blanco y negro.

2.1.2.2 Pre-procesamiento

Las técnicas de mejoras de imagen son aplicadas para facilitar a los siguientes procesos por lo que el tipo de mejora a realizar depende del tipo de proceso a ejecutar posteriormente. Por otra parte, este proceso tiene dos fundamentos principales que son la eliminación de ruido y la mejora de ciertas características de la imagen que favorezcan la identificación de objetos, incluyendo técnicas de mejora de contraste, filtrado del dominio espacial, suavizados y perfilados [2]. Sin embargo, se puede determinar una ambigüedad con respecto a los objetivos de este proceso. Por un lado, elimina ruido lo cual hace que los bordes sean menos agudos inevitablemente, y por otro intenta mejorar los bordes de los puntos lo que incorpora puntos de ruido en la imagen. La única solución para este problema es encontrar un balance que disminuya el ruido en la imagen manteniendo los bordes lo suficientemente afilados.

Las técnicas de mejora de imágenes pueden clasificarse en operadores de punto, operadores de grupo (o región), operadores estadísticos y operadores morfológicos. A continuación, se presentan algunos de los métodos utilizados para cada una de las categorías mencionadas.

Operadores de punto

Los operadores de punto reemplazan el valor de cada uno de los píxeles de la imagen con un nuevo valor a partir del anterior. Estas operaciones son utilizadas para lograr un incremento de brillo en la imagen o para lograr una expansión de contraste. Por ejemplo, la multiplicación del valor de cada uno de los píxeles por un escalar formará una imagen con aumento de brillo. De esta manera, el operador modifica las intensidades de los píxeles de acuerdo a una relación lineal de brillo.

(31)

16 el contraste para aquellos valores cercanos al máximo, y comprimiéndolo para aquellos valores cercanos a los mínimos. La siguiente imagen muestra la ejecución de ecualización de histograma sobre una fotografía:

Fig. 10 Ecualización del histograma aplicada sobre imagen.

Operadores de grupo

Los operadores de grupo calculan los valores de los píxeles analizando los píxeles que lo rodean. Generalmente este tipo de operaciones se definen por una convolución de templates, en donde este template está expresado por un conjunto de coeficientes. Los templates se representan mediante matrices generalmente cuadradas y con un tamaño impar de manera de asegurar su correcto posicionamiento. La operación consiste en centrar la matriz de coeficientes en un punto de la imagen. A partir de allí, los coeficientes son multiplicados por los valores de intensidad correspondientes de la imagen. Los valores obtenidos son sumados siendo este valor a asignar en la imagen de salida. El proceso se ejecuta iterativamente de manera que todos los píxeles de la imagen sean evaluados.

Operadores estadísticos

(32)

17

Fig. 11 Aplicación de operador estadístico sobre una imagen.

Por otra parte, es posible aplicar la moda como operador. Si bien su cálculo es complejo cuando la población es escasa, el filtro de mediana truncada se basa en la premisa que indica que para muchas de las distribuciones no Gaussianas, la media, la mediana y la moda se corresponden con el mismo valor. De esta manera, la técnica remueve parte de la distribución de manera que la mediana se aproxime a la moda de la distribución original.

Operadores morfológicos

Las operaciones morfológicas permiten cambiar las formas de los objetos en imágenes binarias definiendo transformaciones locales que cambian valores de píxeles. Estas herramientas pueden ser utilizadas tanto en imágenes en escala de grises como en imágenes binarias. Para su ejecución, analizan la vecindad de los píxeles, siendo las operaciones fundamentales la erosión y la dilatación. La erosión es una operación de reducción implementada a través de un filtro de convolución de 3x3, por medio de la cual reemplaza el nivel de gris de un píxel por el menor valor hallado en su vecindad.

En el caso de tratar con imágenes binarias, esta operación reemplaza el valor del píxel por negro si alguno de sus vecinos es negro. Por otra parte, la dilatación reemplaza el valor de un píxel por la intensidad mayor encontrada en su vecindad, o tomando blanco si alguno de los píxeles es blanco en el caso de contar con imágenes binarias.

La erosión provoca una reducción de los puntos negros aislados en imágenes, mientras que la dilatación acentúa su presencia.

(33)

18

Fig. 13 Aplicación de dilatación.

2.1.2. 3 Segmentación

La segmentación de imágenes es el proceso por el cual una imagen es dividida en áreas conectadas no solapadas denominadas regiones de acuerdo a un criterio gobernante de similitud u homogeneidad.

La segmentación de imágenes es un proceso fundamental en diferentes aplicaciones de procesamiento de imágenes, ya que los resultados de las etapas posteriores dependen de la calidad de segmentación lograda. El objetivo principal de la etapa es llevar a cabo una partición de la imagen en regiones homogéneas e interconectadas, sin tener en cuenta conocimiento adicional acerca de los objetos presentes en la imagen. La homogeneidad está relacionada con el color y las texturas, tal vez una de las características más importantes del proceso de segmentación es la definición de las regiones. El nivel de particiones a las cuales una imagen es segmentada depende pura y exclusivamente del problema que se desea resolver. Esto quiere decir que la segmentación debe culminar cuando los objetos de interés de en una aplicación han sido separados. Realizar esta actividad en imágenes no triviales es una de las tareas más difíciles de ejecutar en el procesamiento de imágenes. La exactitud en la segmentación determina el éxito o fracaso. Por otra parte, los algoritmos generalmente están basados en dos propiedades básicas de valores de intensidad: discontinuidad y similitud. El primero, significa que el enfoque se encuentra en particionar la imagen basándose en cambios abruptos de intensidad como bordes en una imagen. El segundo, en cambio, se basa en particionar la imagen de acuerdo a regiones que sean similares teniendo en cuenta un criterio ya definido. El umbralado (thresholding), crecimiento de región o separación puede ser uno de los métodos en esta categoría [24].

En [25] se describen cuatro tipos de técnicas que se relacionan con el tipo de interpretación realizada sobre las imágenes. De esta manera las técnicas de segmentación pueden clasificarse en:

 Técnicas basadas en píxel: Una región está compuesta por un conjunto de píxeles conectados por una función de pertenencia definida en un espacio de color. El agrupamiento se logra en el espacio de color, en donde se puede considerar, por ejemplo, la pertenencia de un píxel a un plano o a un poliedro del espacio de color.

(34)

19

 Técnicas basadas en bordes: Una región es un conjunto de píxeles conectados delimitados por los bordes creando así un contorno de color. El contorno de color se determina a partir de aplicar un operador de detección de imágenes y llenando los huecos de ese contorno.

 Técnicas basadas en física: Una región es un componente conectado formado por un conjunto de píxeles agrupados de acuerdo a un modelado físico del espacio de color. El objetivo de la técnica es extraer regiones que se correspondan con las superficies de los objetos presentes en la escena que se corresponden con materiales homogéneos, manteniéndose constante aún ante variaciones de matices o luminosidad.

Esta clasificación se corresponde con una clasificación clásica de métodos presentada por Fu en 1981 [26], sin embargo, es posible encontrar en la literatura otras taxonomías, como por ejemplo la presentada por Marcello en 2004 [27] que los clasifica de acuerdo a la información explotada.

Durante los últimos 40 años la investigación y desarrollo en técnicas de segmentación tuvo un gran crecimiento. El número de registros de artículos durante los últimos 10 años posee una alta tasa de crecimiento siendo esta polinomial de tercer orden. Incluso se observa que no existen registros de artículos que comprendan resumen de técnicas debido a la vasta diversidad de algoritmos existentes [28].

2.1.2.3 Extracción de características

La selección de características es uno de los aspectos más delicados dentro del diseño de un sistema de visión. En su definición es imposible evaluar cuantitativamente los efectos al aplicar los criterios seleccionados. En imágenes, este proceso transforma la representación gráfica de los datos de entrada en una representación abstracta compuesta por un conjunto de valores o símbolos, siendo capaz de seleccionar las características salientes compartidas por todas las muestras de una misma clase, manteniendo separadas las descripciones de muestras pertenecientes a diferentes categorías.

La descripción de las características está formada por un conjunto de valores llamados descriptores y es aconsejable que cumplan con las siguientes propiedades [24]:

 Deben formar un conjunto completo: Dos objetos deben poseer los mismos descriptores sólo si pertenecen a la misma categoría.

 Deben ser congruentes: Dos objetos similares deben poseer descriptores similares.

 Es recomendable que posean propiedades invariantes: Cambios en la orientación, posición del objeto no deben alterar a los descriptores.

 Deben formar un conjunto compacto: Un descriptor debe representar la esencia del objeto de manera eficiente, sólo conteniendo la mínima información que permita la identificación del objeto haciéndolo diferente al resto.

Sin embargo, no existe un conjunto de descriptores completos y compactos que permitan una caracterización general. Por esto se debe realizar un estudio minucioso de las propiedades a seleccionar. La extracción de características está fuertemente ligada a la aplicación a desarrollar y no existe una técnica general para su selección, ya que los descriptores a utilizar dependen exclusivamente de las características de los objetos a inspeccionar o detectar.

(35)

20 separar las clases de los patrones y ser inmune a variaciones a cambios en la etapa de adquisición.

En [29] se definen dos niveles de extracción de características en imágenes: de bajo nivel y alto nivel. Las primeras de ellas se refieren a características básicas que pueden ser extraídas automáticamente desde una imagen sin tener en cuenta relaciones de aspecto. Pueden ser aplicadas a nivel de píxeles como por ejemplo a través de umbralados. Estas operaciones son utilizadas por la extracción de características de alto nivel para determinar formas. Dentro de la extracción de alto nivel se encuentran los detectores de bordes, los detectores de esquinas y el análisis de flujo óptico que permite describir el movimiento. El conjunto de operaciones de alto nivel comprende aquellas técnicas utilizadas para la identificación de formas. En casos complejos, la extracción de características puede incluir el análisis de cada una de las formas simples que componen el objeto. El análisis de cada forma implica la determinación de su posición, su orientación, su tamaño y el modo en que conforman el objeto. Sus técnicas incluyen el análisis de regiones, formas y texturas.

2.1.2.4 Identificación de objetos

Es la parte del procesamiento de imágenes que consiste en la identificación de objetos o patrones mediante la utilización de operadores sobre regiones o límites. Cabe destacar que un patrón es un conjunto de descriptores [24]. Suelen dividirse en dos áreas, “Teoría de la decisión” y Estructurales. La primera categoría, básicamente se refiere a la identificación de patrones de manera cuantitativa, esto es, longitud, área y textura. La segunda categoría, trata con los descriptores cualitativos, generalmente representados como strings, árboles o gráficos.

Una vez obtenidos estos descriptores, se realiza una clasificación. Para ello se tienen en cuenta ciertos rasgos. Un rasgo es la característica que nos servirá para encontrar un número que permitirá, junto con otros, la clasificación. Pudiendo ser, largo, perímetro, relación ancho-alto, circularidad, entre otros. Las características de los rasgos deben ser: discriminación, confiabilidad, independencia y número pequeño de rasgos [22]:

 Discriminación: cada rasgo deberá tomar valores con diferencias significativas para objetos pertenecientes a clases diferentes. Por ejemplo, si el diámetro es un buen elemento para diferenciar naranjas de ciruelas, la distancia entre los diámetros característicos de las ciruelas y el de las naranjas deberá ser mayor que el error en la determinación de los mismos.

 Confiabilidad: los rasgos deberán tomar valores similares para todos los objetos pertenecientes a la misma clase. Si elegimos el color para diferenciar manzanas de peras, una manzana madura podrá hacer que el mismo no sea un buen elemento para la clasificación. Sin embargo, las cerezas o ciruelas serán siempre rojas, por lo que este rasgo funcionaría.

 Independencia: los distintos rasgos seleccionados no deberán estar correlacionados entre sí. Si elegimos el diámetro y el peso, al depender uno del otro (el cubo del radio es proporcional al peso) estaremos haciendo dos mediciones. Pero la segunda no agrega información a la primera.

(36)

21

2.1.3 Características del hardware

El progreso continuo de las computadoras durante estos últimos 25 años ha hecho posible que el procesamiento digital de imágenes pueda ser realizado por cualquier ingeniero o científico. En general, una computadora debe tener cuatro características importantes para realizar esta tarea: permitir la visualización de una imagen en alta resolución, suficiente capacidad de transferencia de memoria, suficiente capacidad de almacenamiento y velocidad de procesamiento. Estas cuatro demandas pueden ser llevadas a cabo en computadoras estándar [30].

2.1.3.1 Visualización de imágenes

El funcionamiento integral del sistema con la visualización de imágenes provee ciertas ventajas: se puede observar la imagen procesada y la imagen original de manera simultánea en múltiples ventanas, y contrastar resultados utilizando herramientas gráficas. Además, permite la visualización de imágenes en escalas de grises (8 bits), como así también imágenes en color con una resolución de 1600x1200 o más. Por otra parte, una correcta visualización de imágenes facilita la calibración y puesta a punto del sistema final a implementar. Cabe recordar que generalmente estos sistemas se encuentran inmersos en ámbitos industriales con ejecución continua, en donde no siempre es posible detener el proceso una vez iniciado.

(37)

22

2.1.3.2 Memoria

Hoy en día las computadoras de uso cotidiano poseen suficiente memoria RAM para almacenar múltiples imágenes. Teóricamente, una computadora de 32 bits puede almacenar hasta 4gb de memoria y una computadora de 64 bits puede almacenar una capacidad de memoria aún mucho mayor (más de 16gb). Sin embargo, las limitaciones en cuanto a esta capacidad suelen depender de la placa madre (motherboards). Por otra parte, los medios de almacenamiento físico poseen actualmente una capacidad promedio de un terabyte.

2.1.3.3 Velocidad de transferencia

Gracias a las nuevas versiones de adaptadores de bus universales (USB 2.0 y USB 3.0) las velocidades de transferencia superan ampliamente los 100 Mb/s. Esto permitió reducir el cuello de botella que antes existía al transferir datos desde los dispositivos periféricos a la computadora. En cuanto a la transferencia de la memoria a CPU, gracias a las nuevas tecnologías de microprocesadores como a la de las memorias, la velocidad de transferencia supera ampliamente los 400 Mb/s, pudiendo ser de 800 Mb/s, 1200 Mb/s y mucho más.

2.1.3.4 Velocidad de procesamiento

Una aplicación de Machine Vision es una parte en la línea de producción, y sus tareas deben finalizar dentro de un tiempo específico. Por lo tanto, el hardware a utilizar eventualmente limitará la posibilidad de aplicar ciertos algoritmos o no. Esto quiere decir que hay ciertos tiempos que deben ser definidos. Como el tiempo del ciclo (duración desde que se toma la imagen hasta que se obtienen los resultados de la inspección), el inicio de la adquisición de la imagen, tiempo máximo de procesamiento, entre otros.

(38)

23

Fig. 15 Comparación clock rate.

(39)

24

Fig. 16 Comparación entre Pentium I y Pentium IV de operaciones.

La prestación de procesamiento se ha visto incrementada durante la última década por la explotación multinúcleo. Sin embargo, sólo el aumento del número de núcleos no es sostenible. Al igual que explotar el paralelismo a nivel de instrucción en procesadores superescalares más amplios, explotar automáticamente el paralelismo multinúcleo producirá rendimientos decrecientes. En este contexto, la tendencia está avanzando hacia la especialización, con diseños de chips de bajo consumo con arquitecturas heterogéneas, los cuales incorporan aceleradores dedicados (GPUs o FPGAs) que explotan el paralelismo a nivel hardware. Una FPGA es un dispositivo programable que contiene bloques de lógica que puede ser programada de manera dinámica. Si lo comparamos con un PC, las mismas presentan un costo mucho más bajo, son rápidas, y flexibles considerando su dinamicidad. Por otro lado, una GPU posee un conjunto de núcleos de procesamiento capaces de operar a muy alta velocidad concurrentemente. Su uso permite lograr aceleraciones en sistemas de cómputo intensivo, dentro de los que se incluye los sistemas Machine Vision [2].

2.2 Sistemas de Machine Vision en producción de baldosas

(40)

25 La línea de producción para el cual se desea realizar la inspección parte de la formación del material el cual consta de un material arcilloso con agua. El material es sometido a una prensadora, formando lonjas de material prensado. Debido a la diversidad de pisos que existen en la cadena de producción, estas lonjas pueden o no ser expuestas a un rodillo que se encarga de la texturización, dando lugar a la superficie aleatoria del producto.

Las lonjas de producto son cortadas automáticamente para obtener baldosas finales del tamaño deseado. Otros tipos de baldosas incorporan un efecto de “ahumado”, que se logra de la pulverización de óxido de manganeso sobre la superficie para producir tal efecto. Los productos, además, pueden o no ser impermeabilizados por la aplicación de una capa de esmalte.

Los productos son estacionados hasta alcanzar una humedad mínima, que asegure no estallar al ser sometidos a la cocción. El proceso de cocción está establecido por medio de tres hornos que establecen lazos de control de tal manera de estabilizar su temperatura a través de la regulación del gas en los mismos. Luego, los productos puestos en etapa de enfriamiento, para después ingresar en la etapa de control de calidad.

En la etapa de Control de Calidad se establecen los defectos y calidad del producto. Las baldosas pueden tener diferentes tipos de defectos; la presencia, ausencia, o aceptación de los mismos en una baldosa hacen a la calidad de la misma [20]. Dependiendo del número de defectos y sus dimensiones, las baldosas se agrupan en [31]:

- De descarte (defectos inaceptables): comprende aquellas baldosas que presentan fracturas. - Segunda Clase (pocos, pero aún aceptables defectos): comprende aquellas baldosas que contienen “manchas” producidas por gotas del pulverizador, torceduras, marcas producidas por maquinarias o por problemas de cocción, o bien difieran en +/- 3mm de las dimensiones establecidas para el producto.

- Primera Clase (ninguno o muy pocos defectos aceptables): son aquellas baldosas que no incorporen ninguna de las fallas anteriormente mencionadas.

Fig. 17 Baldosas de textura aleatoria.

2.2.1 Defectos de superficies en Baldosas

(41)

26 A continuación se puede observar los diferentes defectos y una descripción de los mismos [18] [31] [33].

Defecto Descripción Tamaño Imagen

Grietas (Cracks)

Roturas, fisuras, cortes. mm a cm.

Golpes Relieves en la superficie respecto a la superficie plana de la baldosa.

mm.

Agujeros (Holes)

Agujeros, cráteres. 0,25mm

mínimo.

Manchas (Spot)

Alto contraste entre un grupo de píxeles en relación a la intensidad que lo rodea. O discontinuidad del color de la superficie.

mm.

Salpicaduras (Splash)

Conjunto de manchas que siguen un patrón y están en una porción determinada de píxeles.

(42)

27 Gotas

(Blob)

Gotas en la superficie. Mm a cm.

Esquinas (Corner)

Roturas en las esquinas. Mm a cm.

Bordes (Edge)

Roturas en los bordes. Mm a cm.

Tabla 4 Tipos de defectos.

2.3 Técnicas de detección de fallas de superficie en baldosas

Para detectar los defectos en las imágenes existen diversos métodos que pueden ir desde lo más básico y simple hasta lo más sofisticado. Las técnicas de detección pueden clasificarse en tres niveles.

 En el nivel más bajo se encuentran las técnicas que tratan directamente con el crudo (raw). Eliminación de ruido y detección de bordes son ejemplos de este nivel. La entrada y salida es una imagen.

 En el segundo nivel se encuentran los algoritmos que utilizan los resultados del primer nivel, como por ejemplo segmentación. Recibe como entrada una imagen y como salida atributos.

(43)

28

Fig. 18 Técnicas de detección de fallas.

A continuación, se detallarán diversas técnicas que han sido de utilidad para la detección de defectos en las baldosas. Cabe destacar que existen más técnicas dentro de cada nivel, pero como mencionamos anteriormente, sólo se mostrarán las utilizadas en este trabajo. Otro punto a tener en cuenta es que los métodos de tercer nivel no son tenidos en cuenta en esta tesis [2].

La umbralización (thresholding) fue una de las técnicas más utilizadas. La misma fue aplicada en todos los algoritmos para eliminar datos que no sean de interés [20].

Fig. 19 Aplicación de threshold.

(44)

29

Fig. 20 Aplicación de Local Standard Deviation

En los algoritmos para la detección de rayaduras con la operación de Ecualización de Histograma se puede incrementar la diferencia entre las intensidades llevándola a extremos como se sugiere en [8].

Por otra parte, es común el uso de operaciones morfológicas en diversos algoritmos de detección, puntualmente la erosión y la dilatación. La primera, permite reducir elementos de una imagen. La segunda, por otro lado, tiende a expandir los objetos.

Fig. 21 Dilatación. Fig. 22 Erosión.

(45)

30 interior de un objeto en la imagen A, desaparece y también se quitan rugosidades huecas de los bordes de los objetos [22].

Otro de los algoritmos, que permite la detección de las esquinas, es el método de Harris-Stephens. El mismo analiza los quiebres de intensidad de los puntos, pudiendo obtener cada uno de los píxeles donde esto sucede. De esta manera, es fácil enmarcar la baldosa y obtener las cuatro esquinas para luego obtener la correspondiente dimensión de la misma. Esta técnica se basa en el análisis de una ventana que va desplazándose a lo largo de la imagen. Al desplazarse, puede suceder que no se encuentren cambios significativos (primera imagen). Puede resultar que encuentre cambios en una sola dirección como en la segunda imagen. O bien, si dicho desplazamiento, continúa obteniendo cambios significativos en todas las direcciones, como la tercera imagen sugiere, estamos hablando de una esquina.

Fig. 23 Aplicación de Harris-Stephens.

La localización de objetos es otro conjunto de algoritmos utilizado. Para ello existen dos maneras: la primera es el etiquetado de objetos, que consiste en escanear la imagen completa, al encontrar un uno (1), una rutina de propagación comienza para etiquetar el objeto que esté formado por todos los unos conectados. Como la imagen original ya se encuentra en uso en memoria, una nueva imagen es creada para dicho etiquetado. El escaneo, continúa ignorando todos los objetos que ya fueron etiquetados. La siguiente imagen puede ser el resultado de este algoritmo [2]:

Fig. 24 Etiquetado de elementos de una imagen.

(46)

31 recorrido; (b) Saber cuándo se ha recorrido todo el contorno; (c) Registrar los objetos encontrados [2].

2.4 Sistemas comerciales de clasificación de baldosas

Si bien existen soluciones comerciales que atacan el problema, el costo de las mismas supera los cientos de miles de Euros. Además, las soluciones compatibles, requieren costos importantes de importación, y un tiempo considerable de capacitación de los operarios. Por otra parte, estos sistemas no siempre se tratan de sistemas flexibles que puedan ser adaptados de forma natural a las líneas de producción ya en funcionamiento.

Dentro de las soluciones comerciales, se pueden encontrar Flawmaster y Processmaster.

2.4.1 Flawmaster

Dentro de los sistemas comerciales actuales relacionados con baldosas se puede encontrar Flawmaster. Es un sistema de inspección y control que analiza los azulejos cerámicos desde múltiples ángulos y detecta diversos tipos de defectos:

 Mecánicos: perímetro, ángulos, bordes y grietas;

 De decoración: falta de decoración, punto negro, punto blanco, manchas, gotas, líneas finas, bandas y uniformidad;

 Reflexión: estructura, agujeros, grumos, hundimientos, bandas de esmalte, grietas, efecto brillante/mate.

El producto posee un sistema de iluminación LED y contiene un set de algoritmos estándar preconfigurados que luego pueden ser configurados para cada tipo de producto.

Sus principales ventajas son: la velocidad de inspección; inspección uniforme; monitorización continua de los defectos de fabricación y recopilación de datos [34].

(47)

32

2.4.2 Processmaster

Es un sistema de inspección para ser instalado al final de la línea de esmaltado en la producción de azulejos cerámicos. Puede soportar las difíciles condiciones ambientales presentes en dicha línea de producción. Utiliza una cámara de video a color y una luz con tecnología LED simétrica. Puede detectar defectos mecánicos y de decoración. Cabe destacar que, al utilizarse previo a la cocción, permite la recuperación de la masa de los azulejos [34].

(48)

33

Capítulo 3

Desarrollo

3.1 Entorno de desarrollo seleccionado

El desarrollo de los algoritmos fue realizado utilizando MATLAB, el cual es un lenguaje de alto rendimiento (performance) para procesamiento de matrices. El lenguaje integra procesamiento, visualización y programación de una manera intuitiva, simple y fácil. Tanto los problemas como sus soluciones se expresan en notación matemática. Los usos más comunes son:

 Matemática.

 Desarrollo de algoritmos.

 Captura de datos.

 Modelación, simulación y prototipado.

 Análisis de datos, exploración y visualización.

 Construcción de gráficos.

 Desarrollo de aplicaciones matemáticas y científicas que incluyan interfaz de usuario.

Fig. 27 Productos que ofrece Matlab.

La imagen anterior muestra cómo está compuesto MATLAB hoy en día. Por un lado, dentro de MATLAB se encuentran los complementos para Finanzas, Procesamiento de Imágenes, entre otros. A su vez MATLAB posee interfaces y métodos para conectarse con la base de datos, mostrar estadísticas y gráficos, etc. Una parte importante de lo que es este framework es la simulación. MATLAB viene junto con SIMULINK y se encuentra íntimamente relacionado con él, permitiendo realizar simulaciones de circuitos electrónicos, procesamiento de imágenes, comunicación.

Referencias

Documento similar