Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine...

117
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 Dirección: Mg. Lucas Leiva Año: 2017

Transcript of Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine...

Page 1: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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

Dirección: Mg. Lucas Leiva

Año: 2017

Page 2: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado
Page 3: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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.

Para realizar todo esto se tuvo una muestra de baldosas, la cual permitió obtener las imágenes

de las mismas para ser procesadas por la aplicación, comparar resultados, obtener estadísticas,

evaluar la performance de la detección y su eficiencia. Por último, se realiza una conclusión

junto con los aspectos que se podrían considerar en el futuro para seguir añadiendo

características o mejoras al prototipo creado.

Page 4: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

ii

Page 5: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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.

A mis "padres políticos" y cuñados, quienes siempre estuvieron presentes en este largo camino.

Lucas Echeverz

Page 6: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

iv

Page 7: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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

3.3.4 Algoritmo para la detección de cracks (rayaduras) .............................................................................. 57

Page 8: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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

Referencias ................................................................................................................................. 100

Page 9: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

vii

Page 10: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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

FIG. 44 OPERACIONES REALIZADAS PARA BORDES, ESQUINAS Y DIMENSIÓN. ............................................................. 45

Page 11: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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

FIG. 93 “NO ERRORS FOUND ON THIS TILE.” ................................................................................................................ 77

Page 12: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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

FIG. 126 PANTALLA DE ACCIONES. ............................................................................................................................. 99

Page 13: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

xi

Page 14: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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

TABLA 14 PERFORMANCE PARA CONFIGURACIÓN EN DISTINTAS RESOLUCIONES. ....................................................... 88

Page 15: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado
Page 16: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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.

El producto sobre el cual se basará la investigación son baldosas de texturas aleatorias. Esto

quiere decir que no existirán patrones repetidos entre cada una de ellas, como sí suelen

presentarse en los cerámicos. A continuación, se muestra una imagen de un conjunto de cuatro

baldosas a modo de ejemplo:

Page 17: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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%.

En el desarrollo, se trabajará con un sensor de adquisición de imágenes (cámara) y se pretende

generar un sistema que combine la adquisición y procesamiento de imágenes para el

reconocimiento/identificación y cuantificación de las fallas en las baldosas [8]. Las salidas del

sistema propuesto serán utilizadas por un sistema de clasificador en futuras versiones, el cual

determinará la calidad del producto en base a los parámetros obtenidos del presente trabajo.

Page 18: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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.

A su vez, como anexo a los capítulos ya mencionados, se encuentra el Apéndice que contendrá

las guías de instalación del prototipo creado y Manual de Usuario para la aplicación.

Page 19: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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].

Como el nombre sugiere, la segunda categoría corresponde a la categorización de las piezas.

Los sistemas pueden detectar distintos tipos de piezas basados en un criterio para clasificarlos de

manera correcta. Puede ser una extensión del Control de Calidad, ya que luego del mismo,

pueden ser categorizadas sin la interacción humana. Algunas aplicaciones que incluyen esta

categoría pueden ser la clasificación de manzanas acorde a su dimensión en la planta de

envasado, eliminación y refundición de cables de cobre, entre otros [9]. Uno de los casos de

estudio es el que se realizó en India que se basó en la clasificación de manzanas de acuerdo a su

dimensión, forma y color. Como es sabido, la agricultura es una de las principales actividades

económicas en dicho país, que afecta directa o indirectamente al 75% de su población. A través

de la aplicación de Machine Vision probaron que se puede realizar dicha clasificación de manera

automatizada. Teniendo en cuenta los tres factores mencionados anteriormente (dimensión,

forma y color) pudieron discriminar tres clases de manzanas, determinando así la calidad de las

mismas. A continuación, se puede ver una imagen con los resultados obtenidos [10]. En él, se

observan diferentes tipos de manzanas, las cuales tienen diferentes áreas y color. De acuerdo a

estos dos aspectos se clasifican las mismas en tres diferentes grados: A, B o C.

Page 20: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

5

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

Otra categoría es cuando el ambiente no es el adecuado para los humanos. Se pueden encontrar

sistemas para desactivar bombas, manejo de residuos tóxicos, alta radiación y temperatura [9].

Uno de los casos donde el entorno no es el ideal para humanos es el relacionado a la minería. Por

ejemplo, en Sudáfrica existen muchos recursos minerales que producen metales preciosos como

platino y oro. Existe una compañía que se encarga de desarrollar sistemas para este tipo de

actividades llamada Stone Three Venture Technology. Junto con Anglo Platinum Research

desarrollaron un dispositivo al que nombraron Lynxx Optical Particle Analyzer. Este dispositivo,

a través de varios sensores que envían información a un servidor, es capaz de medir el tamaño

del mineral en las propias minas, lugar donde se presentan altas temperaturas y poco oxígeno.

Tradicionalmente, estos minerales se medían de forma manual, deteniendo la cinta

transportadora que lleva los potenciales minerales. Con la implementación de este sistema, no

sólo se evita tener trabajadores en ambientes insalubres (por ejemplo, mucha tierra y

temperaturas de hasta 50 ºC) sino que también aumentó, significativamente, la producción de

estas partículas. A continuación, se puede observar una imagen del sistema: [11].

Page 21: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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].

Fig. 4 Proceso industrial en la fabricación de vehículos que incluye el uso de la Robótica.

Page 22: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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.

Inspección de superficies: consiste en la detección de defectos en la superficie de un

objeto. Dentro de esta categoría se puede ubicar esta tesis desarrollada, la cual se basará

Page 23: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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].

Considerando un marco cronológico acerca de la aplicación de Machine Vision para el Control

de Calidad en la fabricación de baldosas, se puede decir, que se han encontrado dificultades para

determinar una serie de algoritmos que puedan detectar todas las fallas y reemplazar al humano

en este aspecto. Cabe destacar que cualquier sistema de visión artificial nunca sustituirá

ventajosamente la inspección visual si no es capaz de [7]:

Page 24: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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.

Alto nivel: intenta imitar el reconocimiento humano. Lo que requiere de la interacción

previa de una persona para que, en base a determinados criterios, el procesamiento pueda

arrojar una conclusión. Los sistemas de dicho nivel utilizan además de los conocimientos

humanos, sistemas matemáticos como redes neuronales, reconocimiento de patrones, etc.

Estos dos niveles mencionados anteriormente implican también que en el procesamiento de

imágenes se puede trabajar con distintos niveles de abstracción [22]:

Page 25: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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 La satisfacción de los resultados obtenidos en un sistema de Machine Vision depende

principalmente de la etapa de adquisición de imágenes, ya que cualquier deficiencia en la captura

de la imagen puede causar muchos problemas a la hora de interpretar y analizar la misma [16].

Los aspectos que influyen a la calidad son varios, dentro de los cuales se encuentran el sistema

Page 26: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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].

Sin embargo, la aplicación de Machine Vision respecto a la visión humana ofrece ciertas

ventajas. Una de ellas es que la velocidad de procesamiento por minuto en una línea de

Page 27: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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.

Ruido: El sistema de mover píxeles de las CCD produce una señal de video limpio,

mientras que el CMOS, al tener un amplificador por cada píxel, introduce más ruido a la

imagen.

Page 28: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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]:

Line scan camera: capturan una fila de píxeles mientras el objeto se encuentra en

movimiento. Pudiendo reconstruir la imagen mediante software. Otra característica de

este tipo de cámaras es que requieren de una buena coordinación en cuanto a la captura

de imagen, considerando que la misma forma parte de la línea de producción. Sin

embargo, no son muy utilizadas puesto que su costo de adquisición es muy alto.

Page 29: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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.

A color: usadas cuando la composición del color es requerida para su análisis y

generalmente tienen menor resolución [20].

Page 30: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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.

Una de las funciones en este tipo de operadores es la expansión del rango de intensidades que

puede ser llevada a cabo a través de una normalización del histograma. En este proceso el

histograma original se expande y traslada de manera de cubrir todo el rango de colores. Mientras

que la ecualización de histograma es un proceso no lineal que se adapta mejor al sistema visual

humano. Esta técnica permite generar un histograma más plano en donde todos los niveles de

intensidad son equiprobables. Esta operación mapea los niveles de gris de manera que el

histograma perteneciente a la imagen generada presente una distribución uniforme, expandiendo

Page 31: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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

La mediana es otro de los operadores utilizados en la mejora de imágenes. En este caso la

mediana está definida por el punto central de una distribución ordenada, analizando los píxeles

correspondientes con el punto definido. El ordenamiento de los datos es un proceso costoso que

motivó el análisis de algoritmos de ordenamiento. Por otra parte, la demanda computacional

requerida llevó a sustituir los templates cuadrados por cruces o líneas verticales y horizontales,

centradas en el punto de interés. Este operador permite reducir el ruido presente en las imágenes,

eliminando puntos aislados de la imagen. Otra característica importante del operador, es que

mantiene los bordes suprimiendo la contaminación por ruido.

Page 32: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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.

Fig. 12 Aplicación de erosión.

Page 33: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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.

Técnicas basadas en área: Una región es un maximal de un conjunto de píxeles

conectados en el plano de la imagen, para el cual la condición de uniformidad es

satisfecha. En este caso el agrupamiento se realiza en el plano de la imagen. De esta

manera se obtienen las regiones mediante la separación de regiones no uniformes o a

través de la fusión de píxeles (o conjuntos de píxeles) homogéneos.

Page 34: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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.

Obtener una descripción cercana a la ideal en la práctica es casi imposible cuando existe una

alta variabilidad entre muestras, dejando al clasificador en estos casos la tarea de obtener los

mejores resultados posibles a partir de las mejores características disponibles. Un buen esquema

de extracción de características debe mantener y mejorar aquellas características que permiten

Page 35: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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.

Número de rasgos: la complejidad del reconocimiento de patrones crece rápidamente con

la dimensionalidad del problema, que se encuentra regido por la cantidad de rasgos

utilizados en el sistema.

Page 36: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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.

Fig. 14 Aplicación heurisko®

Page 37: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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.

La mejora en la velocidad de transferencia y la memoria también llegó acompañada del

aumento en la velocidad de procesamiento de los microprocesadores a lo largo de los años. Hoy

en día podemos hablar de velocidades mayores a 3.0 GHz y dos a ocho núcleos. En la siguiente

imagen se puede apreciar un análisis acerca de cómo la velocidad de reloj de un microprocesador

desde 1978 a 1996 ha aumentado por un factor de 50 y desde ese año al 2003 un factor de 15.

Así, podremos observar también el aumento de las operaciones de punto flotante, entre otros

aspectos (MOPS = million operations per second, MFLOPS = million floating-point operations

per second).

Page 38: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

23

Fig. 15 Comparación clock rate.

La siguiente imagen es una comparación entre los tiempos de ejecución de un procesamiento de

imagen en una Pentium I versus una Pentium IV.

Page 39: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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 Las baldosas tienen una gran demanda en material de construcción gracias a su costo accesible,

fácil instalación, mantenimiento, resistencia a la humedad y amplia variedad de tamaños, colores

y texturas, lo que las hacen una buena opción para muchos entornos. Esto hace a la necesidad de

una producción masiva de las mismas.

Page 40: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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 Una falla puede presentarse al principio del proceso, siendo reflejada en la estructura de la

baldosa como una irregularidad en la composición geométrica de la misma (roturas, roturas en

bordes o esquinas, rayaduras en la superficie, golpes, agujeros, etc.). En el medio y final del

proceso, la falla puede presentarse en forma de agujeros o fisuras. Durante todo el proceso de

fabricación existe la posibilidad de que las baldosas puedan dañarse mientras se transportan de

una fase de producción a otra [32]. La detección de defectos en baldosas es una preocupación

muy importante en la fabricación de las mismas para mantener su calidad [6].

Page 41: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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.

mm.

Page 42: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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.

En el tercer nivel se encuentran los métodos que se utilizan para dar sentido o semántica a

la información provista de los niveles inferiores. Recibe como entrada atributos y como

salida un análisis exhaustivo [33].

Page 43: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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.

Cabe destacar que existen dos tipos de umbralado, los llamados locales y los llamados globales.

En los primeros, el valor de umbral varía por cada porción de imagen, mientras que en los

segundos, el valor es fijo para toda la imagen [7]. Dentro de los algoritmos locales, para la

detección de cracks, el umbral puede establecerse por medio del uso de la Desviación Estándar

Local [20].

Page 44: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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.

Cuando se utiliza estas operaciones de manera conjunta, se habla de apertura y clausura. Una

apertura, es cuando se hace una erosión y luego una dilatación. Si había un hueco en el interior

de un objeto en la imagen A, se lo abre y si hay un objeto de tamaño de un píxel se lo elimina.

Una Clausura, es cuando se hace una dilatación y luego una erosión. Si había un hueco en el

Page 45: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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.

La otra técnica, es la basada en un boundary o frontera. Una vez aplicada alguna de las

operaciones de bordes o umbralado, la detección de objetos se basa en moverse repetidamente al

siguiente píxel de borde. Para ello hay que asegurarse de: (a) Nunca retroceder la dirección del

Page 46: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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].

Fig. 25 Flawmaster.

Page 47: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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].

Fig. 26 Processmaster.

Page 48: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

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.

El nombre MATLAB surge de “Matrix Laboratory” y fue escrito originalmente para proveer

acceso al software de matrices creado por LINPACK (Linear System Package) y EISPACK

(Eigen System Package). Actualmente, MATLAB es una herramienta estándar para los cursos

Page 49: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

34

introductorios y avanzados de matemática, ingeniería y ciencia en universidades de todo el

mundo. También, es muy usada en la industria para tareas de investigación, desarrollo y análisis.

Esta herramienta, a su vez, posee diversos complementos que se encuentran en la “caja de

herramientas” (ToolBox).

Fig. 28 Listado de complementos que se pueden instalar junto con MATLAB.

Para el procesamiento de imágenes, incluye una extensa base de datos de algoritmos que

facilita la definición y prototipado de sistemas de Machine Vision. Además, MATLAB utiliza

dos bibliotecas LAPACK (Linear Algebra Package) y BLAS (Basic Linear Algebra

Subprograms) para realizar todas las operaciones de matrices. Dichas bibliotecas, han

optimizado el costo computacional de las operaciones con matrices. Otro aspecto a destacar, es

que MATLAB permite delegar operaciones a GPUs (Graphics Processor Unit) o FPGAs (Field

Programmable Gate Array) de manera sencilla y simple, que con otros lenguajes podría resultar

un poco más tedioso [35].

3.2 Ambiente de captura propuesto Para poder realizar este trabajo y obtener las fotos de las baldosas, se desarrolló un ambiente de

captura. El mismo consistió en una mesa, un tablero pintado de manera uniforme donde se

apoyaron cada una de las baldosas, un trípode para mantener la cámara estable, una cámara, y un

celular. Este último fue necesario para tomar las fotografías de manera remota, evitando el

contacto con el sensor de captura y obtener de esta forma un conjunto de imágenes con

parámetros similares.

Page 50: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

35

Fig. 29 Ambiente de captura.

El proceso fue simple, y se basó en apoyar la baldosa sobre el tablero negro y luego desde un

smartphone obtener la fotografía. Para poder sacar la foto desde el smartphone se utilizó una

aplicación para Android provista por Nikon, obtenida desde el Marketplace de Google. Su

nombre es Wireless Mobility Utility (WMU) y permite realizar una conexión punto a punto entre

ambos dispositivos través de la señal Wifi.

Page 51: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

36

Fig. 30 MarketPlace WirelessMobileUtility

Una vez obtenidas todas las imágenes, las mismas fueron transferidas a la PC para su posterior

análisis.

3.2.1 Iluminación Con respecto a la iluminación, el primer intento fue colocar la cámara en el interior e iluminar

desde uno de los laterales. Esto generó dificultades a la hora de analizar la imagen, ya que la

intensidad de luz afectó considerablemente los resultados, haciendo que los operadores de

imágenes no pudieran detectar de forma correcta los defectos de superficie.

En este caso la percepción de las gotas no se vería afectada ya que la misma se encuentra del

lado derecho. Pero si un defecto se encontrara donde se observa el haz de luz, el mismo podría

resultar ignorado de manera completa por la aplicación del threshold; o bien, se debería utilizar

un threshold cuyo valor hubiese permitido aparecer nuevos elementos que en realidad no serían

defectos en sí.

Page 52: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

37

Fig. 31 Captura con haz de luz a la izquierda.

Debido a esto, se optó por buscar un sistema de iluminación más uniforme. Por ello, se realizó

la captura de fotos con iluminación natural en días nubosos, donde la luz del sol no pudiera

afectar de alguna manera una porción de la baldosa. Este método puede ser reproducido en un

sistema de iluminación controlado. A continuación, se presentan distintas imágenes donde la luz

parece ser lo más uniforme posible:

Page 53: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

38

Fig. 32 Ejemplo primer captura baldosa uniforme.

Fig. 33 Ejemplo segunda captura baldosa uniforme.

Fig. 34 Ejemplo tercer captura baldosa uniforme.

Page 54: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

39

3.3 Desarrollo de la aplicación Para el desarrollo y ejecución del sistema, que consiste en la detección de defectos en las

baldosas, se implementó una aplicación con una interfaz visual. La misma está conformada por

un menú que permite elegir una imagen y luego ejecutar los diversos algoritmos de detección de

defectos. Cada algoritmo puede ser configurado por medio de una serie de parámetros de

entrada, los cuales poseen un valor por defecto. Sin embargo, el usuario puede modificarlos para

obtener y analizar distintos resultados. Una vez ejecutado cada algoritmo, se procede a mostrar

una descripción final que indica el tiempo de ejecución y cuantos defectos han sido detectados.

Fig. 35 Captura de pantalla de la interfaz de la aplicación.

Las siguientes subsecciones detallan la evolución de los algoritmos seleccionados para la

identificación de los defectos de superficie en el conjunto de baldosas utilizado.

3.3.1 Algoritmo de detección de bordes, esquinas y dimensión A través de la detección de bordes, el algoritmo permite reconocer dos defectos sumamente

importantes: el primero de ellos, el de detectar defectos en las esquinas y el otro, irregularidades

en los bordes. Adicionalmente, si las esquinas son correctas, es posible detectar la dimensión de

las baldosas utilizando la ecuación de área en rectángulos (b*h), considerando que el cálculo de

los valores que integran la ecuación provienen de la distancia entre dos puntos.

Un primer intento para desarrollar esta detección comenzó por obtener la imagen y convertirla

a escala de grises. Se procedió a aplicar un threshold a la imagen de manera que el resultado de

la segmentación obtenida sean objetos de interés a la aplicación (en este caso, la baldosa).

Page 55: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

40

Fig. 36 Conversión de imagen a escala de grises.

La primera aproximación para obtener el borde la baldosa fue la aplicación de un filtro de

Prewitt. Sin embargo, resultó dificultoso poder unir los puntos de los bordes encontrados. En la

siguiente imagen, se presenta el resultado obtenido de aplicar dicho filtro:

Fig. 37 Aplicación de Prewitt.

Además, se puede observar en el margen superior izquierdo de la baldosa que el contorno no es

del todo preciso, más allá de la distorsión generada en la adquisición de la imagen.

Considerando que los resultados obtenidos no eran los esperados, se decidió como opción la

utilización de la operación regionprops, que permite medir cantidades y características de una

imagen en blanco y negro, determinando la propiedad de cada región blanca contigua. Esta

operación fue utilizada y configurada de manera tal que permita encontrar el rectángulo más

chico dentro de la región.

Page 56: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

41

Fig. 38 Uso de regionprops para obtener el borde de la baldosa.

Este set de operaciones presentó diversos inconvenientes, el primero y principal es que la

operación de regionprops busca un rectángulo el cual no es del todo correcto considerando la

siguiente imagen que presenta cierta distorsión. Sin embargo, el problema mayor es en el caso

que la baldosa cuente con esquinas rotas, regionprops falla y no puede determinar cuántas

esquinas fueron encontradas, cuántas presentan fallas, etc. En consecuencia, se buscó otro tipo de

operación capaz de reconocer las esquinas: el método de Harris-Stephens. El mismo se basa en

detectar los cambios de intensidades en una ventana (conjunto de píxeles).

Fig. 39 Aplicación de Harris-Stephens para la detección de corners.

Page 57: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

42

La imagen previa podría haber encontrado “corners” dentro de la baldosa. Sin embargo, existe

una operación de Matlab (imfill) que rellena los agujeros (“holes”) de los objetos en una imagen.

Por otra parte, si se observan elementos fuera de la baldosa, con un filtro que considere el área

pueden ser eliminados (bwareaopen).

Teniendo el listado de todos los “corners”, debemos encontrar cuáles corresponden a cada

esquina. Para esto se establece un rango arbitrario (llamado, a partir de aquí, handicap), el cual

será tomado en cuenta para conservar aquellos píxeles que, a priori, cumplen con la potencial

condición de ser esquina. Para que un píxel cumpla con la condición mencionada, sus valores de

coordenadas X e Y deben aproximarse a los mínimos o máximos absolutos de X e Y de la

baldosa (estos valores se extraen del listado de “corners”). Un píxel se aproxima lo suficiente al

mínimo o máximo de X y/o Y si la diferencia de las coordenadas, con respecto a los valores

mencionados recientemente, es menor al handicap.

Esto funciona de la siguiente manera:

1. Se aplica la operación de corners de Harris-Stephens.

2. Del listado de corners, se obtiene el mínimo X e Y y lo mismo se hace con los máximos.

3. Se recorre todo el listado de los píxeles que forman parte de “corners” y se calcula la

distancia, en píxeles, del píxel, valga la redundancia, analizado con respecto al mínimo o

máximo X, según corresponda y lo mismo con los valores de Y. Si cumple con la

condición de que el valor absoluto de esa distancia es menor al rango establecido

(handicap), se almacena ese píxel en un vector determinado. Existen cuatro vectores

(uno correspondiente a cada esquina) en donde se almacenaron los píxeles de acuerdo a

los criterios mencionados previamente. Aquellos píxeles que no se almacenaron en

ninguno de los cuatro vectores son tomados como potenciales errores de bordes y

almacenados en un nuevo vector.

4. Luego se recorren los vectores para obtener las esquinas correspondientes.

5. Para cada vector, se obtiene el valor que corresponda (máximo o mínimo) de X e Y y se

genera el punto del vértice de esa manera.

6. Se recorre el vector de errores y se toman aquellos píxeles que cumplen con la condición

de error. Para esto se utiliza un cálculo igual al utilizado en los pasos previos. Esto

significa, que, al obtener los máximos y mínimos, los elementos de dicho vector que

superen dicho handicap serán considerados como un error en bordes.

Cabe destacar, que el algoritmo encuentra muchos puntos que no son de interés y que deberían

eliminarse. Con la aplicación de operaciones morfológicas de erosión y dilatación este

inconveniente pudo resolverse de forma sencilla.

Page 58: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

43

Fig. 40 Eliminación de elementos que no se consideran bordes.

Nota: Si bien la imagen presenta distorsión, al calibrarse la cámara los puntos de las esquinas

serán los correctos.

Al ejecutar el algoritmo con el set de baldosas, se descubrió que las baldosas que poseen un

esmaltado sobre la superficie, presentan ciertos inconvenientes si se trata a las imágenes en

escalas de grises. El resultado obtenido por el algoritmo ofrece una superficie mucho mayor a la

correspondida por la baldosa. Debido a esto, se optó por tener la imagen en RGB y luego aplicar

un threshold entre los valores de RGB. A continuación, se puede ver una imagen con la

detección de las esquinas.

Fig. 41 Final de ejecución de detección de esquinas.

Page 59: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

44

Este conjunto de operaciones permite la identificación de cada una de las esquinas y la

detección de las que se encuentran rotas. Por otra parte, el método de Harris-Stephens, detecta

cambios de intensidades, por lo que un borde roto, también es detectado. Con la obtención del

valor de los mínimos y máximos en el eje de coordenadas, indicar un error en un borde resulta

fácil al comparar cada “corner” detectado con estos valores. En la imagen a continuación se

pueden observar los cuatro puntos rojos correspondientes a las esquinas y sobre el margen

superior izquierdo de la baldosa, nuevos puntos que indican los errores en bordes.

Fig. 42 Ejemplo de detección de error en bordes.

Fig. 43 Acercamiento de zoom sobre un borde con defecto detectado.

Page 60: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

45

Finalmente, se calcula la dimensión, siempre y cuando, estén las cuatro esquinas detectadas y

no haya presencia de errores en bordes. Cabe destacar que el cálculo de la misma se basa en las

esquinas, pero como alternativa podría calcularse contando todos los píxeles blancos dentro del

rectángulo al tener la imagen binaria.

Gracias a la identificación de las cuatro esquinas, los siguientes algoritmos de detección de

errores como gotas, agujeros, rayaduras, etc., recibirán como entrada una subimagen de su

original, siendo la misma solamente la baldosa en sí, sin tener en cuenta el tablero en donde se

apoya la misma.

3.3.1.1 Ejecución del algoritmo

Fig. 44 Operaciones realizadas para bordes, esquinas y dimensión.

1. La imagen es leída.

2. Se calcula un valor de threshold considerando el valor máximo y mínimo de uno de los

colores y se aplica considerando la imagen en RGB. Es decir, se conservan (marcándose

como blanco) aquellos píxeles cuya intensidad es superior al threshold obtenido. El

threshold puede ser parametrizado a través de cornerThreshold.

3. Se eliminan todos los elementos que posean un área menor a 50000 píxeles

(bwareaopen).

4. Se llenan los agujeros (“holes”) que la baldosa tenga en su interior (imfill).

5. Se aplica el método de corners de Harris-Stephens detectando todos los cambios de

intensidades en una ventana (conjunto de píxeles).

Page 61: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

46

6. Se clasifican los puntos encontrados en cuatro vectores correspondientes a cada lado y se

almacenan los errores en otro.

7. Se dibujan los cuatro puntos y si no hay errores se retorna la subImagen de la imagen

original para ser utilizada en los próximos algoritmos.

8. Se calcula la dimensión.

3.3.1.2 Pseudocódigo // STEP 1 var I = imread(path); // STEP 2 var bw = threshold(I, cornerThreshold); // STEP 3 bw = bwareaopen(bw, 50000); // STEP 4 bw = imfill('holes'); // STEP 5 var corners = corners(A); var cornersX = C(:,1); var cornersY = C(:,2); // STEP 6 var minX = min(cornersX); var maxX = max(cornersX); var minY = min(cornersY); var maxY = max(cornersY); for each corner in corners if (distance(minX, corner(X)) < handicupCorner) && (distance(minY, corner(Y)) < handicupCorner) v1.push(corner); elseif (distance(maxX, corner(X)) < handicupCorner) && (distance(minY, corner(Y)) < handicupCorner) v2.push(corner); elseif (distance(minX, corner(X)) < handicupCorner) && (distance(maxY, corner(Y)) < handicupCorner) v3.push(corner); elseif (distance(maxX, corner(X)) < handicupCorner) && (distance(maxY, corner(Y)) < handicupCorner) v3.push(corner); else vError.push(corner); var cornersDetected = 0; if v1.length var p00 = min(v1(X)) var p01 = min(v1(Y)) cornersDetected + 1 if v2.length var p10 = min(v2(X)) var p11 = min(v2(Y)) cornersDetected + 1 if v3.length var p20 = min(v3(X)) var p21 = min(v3(Y)) cornersDetected + 1

Page 62: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

47

if v4.length var p30 = min(v4(X)); var p31 = min(v4(Y)); cornersDetected + 1; if cornersDetected !== 4 return ERROR! for each error in vError if (distance(minX, error(X)) < handicupError) || (distance(maxX, error(X)) < handicupError) || (distance(minY, error(Y)) < handicupError) || (distance(maxY, error(Y)) < handicupError)) vNoError.push(error); else vErrorEdge.push(error); // STEP 7 if (vErrorEdge.length > 0) draw(vErrorEdge); // STEP 8 var dimension = calculateDimension(v1, v2, v3, v4);

Tabla 5 Pseudocódigo de detección de esquinas, bordes y dimensión.

Page 63: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

48

3.3.2 Algoritmo para la detección de blobs (gotas) Los algoritmos propuestos para la detección de blobs parten desde la subimagen generada por

las operaciones de detección de bordes y esquinas. Se aplica un threshold a la imagen para

obtener los objetos de interés y luego la imagen es invertida para aplicar la operación que elimina

los elementos que sean menores a la variable numérica areaNotIncluded cantidad de píxeles

(bwareaopen).

En una primera aproximación a la solución se consideró aplicar un filtro de Canny con un

threshold indicado y luego aplicar ciertas operaciones morfológicas sobre los objetos obtenidos.

Las mismas corresponden a una clausura. Su principal característica es eliminar ciertos huecos y

rugosidades de los bordes de los objetos. Por último, se contabilizaban los elementos

encontrados.

Fig. 45 Primer enfoque para detección de gotas.

Como se puede observar, este algoritmo detectaba muchos falsos positivos (elementos que

deberían no ser considerados como gotas). Por tal motivo, se descartó el mismo y se buscó otra

solución.

La nueva solución, luego de la eliminación de los elementos que posean menor cantidad de

píxeles definida en la variable areaNotIncluded (200), realiza una clausura en forma de discos

para preservar la naturaleza circular de los elementos. Para ello, se especifica un radio

determinado que será tenido en cuenta para dicha operación.

La siguiente operación es llenar los agujeros de todos los elementos de la imagen, esto

significa, asignarles un valor a todos los píxeles en negro dentro de los objetos de interés (imfill).

La consideración de los elementos que tengan un área entre cierto rango, hace que objetos muy

pequeños no sean tenidos en cuenta. Finalmente, se contabilizan todos los elementos y se calcula

el área de cada uno. Obteniendo el nivel de “redondez” para cada ítem del conjunto, se

seleccionan todos los elementos que posean un factor mayor a la variable thresholdRound (0.45

Page 64: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

49

por defecto). Cabe destacar que este factor se encuentra entre cero (0) y uno (1). En la siguiente

imagen se puede apreciar la detección y el cálculo de objetos de interés con su nivel de redondez.

Fig. 46 Cálculo redondez de los elementos.

Al ejecutar este algoritmo se detectaron dos factores importantes: uno es el valor de clausura de

los discos y el otro el rango de la superficie de los objetos a considerar. El primer factor se puede

ver en la siguiente imagen, la cual la “redondez” de cada elemento detectado aumenta al utilizar

un valor de discos de cinco (5). La imagen anterior, muestra los resultados con un valor de discos

de tres (3).

Page 65: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

50

Fig. 47 Cálculo de redondez con nueva parametrización de disk.

El otro factor, es la consideración del rango de la superficie a tener en cuenta. Este hizo que se

detectaran falsos positivos. La siguiente imagen es un reflejo de dicha situación:

Fig. 48 Ejemplo resultado final de la detección de gotas.

Page 66: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

51

3.3.2.1 Ejecución del algoritmo

Fig. 49 Operaciones realizadas para la detección de blobs (gotas).

1. Se obtiene la sub imagen a partir de la detección de esquinas.

2. Se le aplica un threshold a la imagen.

3. Se eliminan todos los elementos que tengan una superficie menor a areaNotIncluded a

través de la operación bwareaopen.

4. Se realiza una clausura de la imagen para preservar la naturaleza circular de los

elementos utilizando imclose con un valor de 5 de los discos por defecto o lo que

blobsDisk indique.

5. Se llenan los agujeros (“holes”) que la baldosa tenga en su interior (imfill).

6. Se seleccionan los elementos que posean una superficie entre dos valores de píxeles

(minAreaFilt y maxAreaFilt) a través de bwareafilt.

7. Se contabilizan todos los elementos detectados en dicho rango (bwboundaries).

8. Se obtiene el nivel de “redondez” de cada elemento a través de una operación basada en

la superficie.

Page 67: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

52

9. Se seleccionan todos los elementos cuya redondez es mayor al thresholdRound

determinado por la ejecución del algoritmo.

3.3.2.2 Pseudocódigo

// STEP 1 subImage = getImage(); // STEP 2 bw = threshold(subImage); // STEP 3 bw = bwareaopen(bw, areaNotIncluded); // STEP 4 se = strel(blobdisk); bw = imclose(bw, se); // STEP 5 bw = imfill(bw); // STEP 6 bw = bwareafilt(bw,[minAreaFilt maxAreaFilt]); // STEP 7 elements = bwboundaries(bw); for each element in elements // STEP 8 roundness = getRoundness(); // STEP 7 if roundness > thresholdRound blobs.push(element); if blobs.length > 0 draw(blobs);

Tabla 6 Pseudocódigo de detección de blobs.

Page 68: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

53

3.3.3 Algoritmo para la detección de Pinhole Para el caso de detección de pinholes, se tomaron ciertas operaciones de la detección de gotas

para la detección de agujeros debido a la naturaleza del problema. Las siguientes imágenes

muestran algunos pinholes que se encuentran en las baldosas, que denotan la similitud con el

caso anterior:

Fig. 50 Ejemplo de pinhole en baldosa.

Como se puede observar, un pinhole se encuentra rodeado por una figura “redonda”. Esto

significa que podrían ser detectados por cierto grado de “redondez” como se hizo con Blobs. La

ejecución del algoritmo comienza con aplicar un threshold que permite la eliminación de píxeles

que no sean de interés. La realización de una dilatación permite unir los píxeles detectados.

Nuevamente, elementos de menor área que “areaNotIncluded” son eliminados del resultado

intermedio. La aplicación de una clausura, hace que los puntos dentro del pinhole se conecten

entre sí y los muy pequeños sean eliminados. En este punto, se aplica el llenado de agujeros

(“holes”) para eliminar todos los píxeles espureos de los elementos. Finalmente, se cuenta la

“redondez” de los elementos existentes que posean un área entre “minAreaFilt” y

“maxAreaFilt”. Para este algoritmo dicho factor “thresholdRound” es mayor que el de Blobs,

superando el 85%. La siguiente imagen muestra un factor de redondez del pinhole de 89%.

Page 69: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

54

Fig. 51 Cálculo de redondez para pinhole.

Por último, la siguiente imagen muestra la selección de dicho elemento:

Fig. 52 Ejemplo de detección de pinhole.

Page 70: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

55

3.3.3.1 Ejecución del algoritmo

Fig. 53 Operaciones realizadas para la detección de pinholes.

1. Se obtiene la sub imagen a partir de la detección de esquinas.

2. Se le aplica un threshold a la imagen.

3. Se aplica una dilatación para conectar píxeles entre sí a través de pinHoleDisk.

4. Se eliminan todos los elementos que tengan una superficie menor a areaNotIncluded a

través de la operación bwareaopen.

5. Se realiza una clausura de la imagen para preservar la naturaleza circular de los

elementos utilizando con un valor de 5 de los discos (pinHoleArea).

6. Se llenan los agujeros (“holes”) que la baldosa tenga en su interior (imfill).

7. Se seleccionan los elementos que posean una superficie entre dos valores de píxeles

(minAreaFilt y maxAreaFilt) a través de bwareafilt.

Page 71: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

56

8. Se contabilizan todos los elementos detectados en dicho rango (bwboundaries).

9. Se obtiene el nivel de “redondez” de cada elemento a través de una operación basada en

la superficie.

10. Se seleccionan todos los elementos cuya redondez es mayor al thresholdRound

determinado por la ejecución del algoritmo.

3.3.3.2 Pseudocódigo // STEP 1 subImage = getImage(); // STEP 2 bw = threshold(subImage); // STEP 3 bw = imdilate(bw, 5); // STEP 4 bw = bwareaopen(bw, areaNotIncluded); // STEP 5 se = strel(pinHoleDisk); bw = imclose(bw, se); // STEP 6 bw = imfill(bw); // STEP 7 bw = bwareafilt(bw,[minAreaFilt maxAreaFilt]); // STEP 8 elements = bwboundaries(bw); for each element in elements // STEP 9 roundness = getRoundness(); // STEP 10 if roundness > thresholdRound pinHoles.push(element); if pinHoles.length > 0 draw(pinHoles);

Tabla 7 Pseudocódigo para la detección de pinholes.

Page 72: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

57

3.3.4 Algoritmo para la detección de cracks (rayaduras) Para abordar la detección de cracks (rayaduras), en primera instancia, se intentó basar el

desarrollo a partir de las operaciones de Thresholding, Canny, Erosión y Dilatación. Sin

embargo, este enfoque no es del todo correcto ya que una detección satisfactoria depende de una

configuración adecuada de parámetros dependiente de cada baldosa procesada. Esto significa que

es necesario considerar un parámetro diferente para el threshold, otro para Canny y dos o tres

para las operaciones morfológicas. Por otro lado, al efectuar estas operaciones sobre cualquier

otro tipo de baldosa, el factor de detección de falsos positivos era muy alto. En consecuencia, se

optó por aplicar un enfoque diferente, abordando el sistema de detección de rayaduras a partir del

análisis de las líneas horizontales y verticales de la baldosa.

Fig. 54 Ejemplo de baldosa con rayaduras.

Esta decisión surge debido a que, por ser texturas aleatorias, se sabe que existen ciertos relieves

en la superficie de la baldosa. Sin embargo, los mismos no son rectas, sino que curvos o con

ondulaciones, mientras que las rayaduras tienen cierto nivel de rectitud, como podemos apreciar

en la imagen anterior.

De esta manera, el algoritmo parte de la subimagen obtenida de la detección de bordes. Una

diferencia importante con los demás algoritmos es que la imagen es convertida a escala de grises

en lugar de realizar un thresholding con la imagen a color. Luego, se realiza la operación de

ecualización de histograma (histeq), llevando cada una de las intensidades a un rango de 0 a 255.

Esto permite distribuir los oscuros de mejor manera, resaltando las supuestas rayaduras y

dejando en niveles más claros lo que correspondería a relieves de la baldosa.

La siguiente operación se basa en realizar una detección de bordes sobre la superficie de la

baldosa, y para ello se utiliza Canny con un factor de threshold alto. Se intentó realizar lo mismo

con Prewitt o Sobel, pero se detectaron una mayor cantidad de bordes (“edges”), los cuales no

correspondían a rayaduras.

Page 73: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

58

Fig. 55 Ejemplo ejecución de Canny.

Una vez obtenidos los bordes, se aplica la transformación de Hough y se obtienen los picos de

Hough. Finalmente se buscan las líneas rectas o verticales de la imagen utilizando este método.

En el caso de que se encuentren líneas, las mismas se dibujan y se informa que la baldosa posee

rayaduras en su superficie.

Fig. 56 Aplicación de Hough Transform.

Page 74: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

59

Sin embargo, este conjunto de operaciones, detectaba líneas en todas las baldosas, no solamente

en las que poseían rayaduras. Por lo tanto, se realizó una nueva versión del algoritmo analizando

la textura de la baldosa, aplicando una operación basada en la desviación estándar local (stdfilt).

Los elementos que no deberían ser considerados se eliminaron aplicando un threshold, y

operadores de clausura, que permite eliminar elementos muy chicos y sobredimensionar otros.

En este punto, se aplica el llenado de agujeros (“holes”) para eliminar todos los píxeles espurios

de los elementos detectados. Finalmente, se seleccionan todos los elementos detectados cuya

área encuentre dentro del rango definido como “minAreaFilt” y “maxAreaFilt”.

Fig. 57 Muestra de elementos detectados luego de aplicar stdfilt.

Por último, en la siguiente imagen se muestra la selección de todos los elementos detectados:

Fig. 58 Ejemplo de detección de rayaduras.

Page 75: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

60

3.3.4.1 Ejecución del algoritmo

Fig. 59 Operaciones realizadas para la detección de cracks (rayaduras).

1. Se obtiene la subimagen a partir de la detección de esquinas.

2. Se convierte la imagen a blanco y negro (rgb2gray).

3. Se realiza la ecualización del histograma (histeq).

4. Se obtiene la desviación estándar local de la imagen (stdfilt)

5. Se aplica un threshold con un valor “cracksThreshold”.

6. Se realiza una clausura de los elementos (imclose), con un tamaño “cracksDisk”.

7. Se llenan los agujeros (“holes”) que la baldosa tenga en su interior (imfill).

8. Se seleccionan los elementos que posean una superficie entre dos valores de píxeles

(“minAreaFilt” y “maxAreaFilt”) a través de bwareafilt.

9. Se cuentan todos los elementos encontrados y se marcan en la imagen.

Page 76: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

61

3.3.4.2 Pseudocódigo

// STEP 1 A = rgb2gray(subImage); // STEP 2 J = histeq(B); // STEP 3 L = stdfilt(J); // STEP 4 bw = threshold(L, cracksThreshold); // STEP 5 bw = imclose(bw, cracksDisk); // STEP 6 bw = imfill(bw); // STEP 7 bw = bwareafilt(bw,[minAreaFilt maxAreaFilt]); // STEP 8 elements = bwboundaries(bw);

// STEP 9 foreach element in bw draw(element);

Tabla 8 Pseudocódigo de detección de cracks.

Page 77: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

62

3.4 Mecanismo de ejecución y clasificación de baldosas El proceso de ejecución inicia con la selección de la imagen a través de la interfaz visual.

Luego se ejecuta el algoritmo de detección de defectos en esquinas, bordes y dimensión. En él se

obtiene la subImagen para los demás algoritmos de detección. Esto quiere decir que, si se

detectase algún error en esta etapa, la aplicación informa el mismo, quedando estas baldosas

descartadas para la ejecución de los algoritmos de detección de blobs, cracks y pinhole. Por otra

parte, la ausencia de errores permite la ejecución de dichos algoritmos. Esto hace posible que una

baldosa pase por todo el proceso de detección y así, considerarla para la toma de todas las

métricas para su análisis (tiempo de ejecución, tiempos promedios, duración de cada algoritmo,

entre otros). En conclusión, se tendrán dos grupos de baldosas, las que solamente puedan

considerarse para la primera parte (esquinas, bordes y dimensión) y aquellas que están

disponibles por toda la ejecución. Todo lo mencionado anteriormente se puede observar en el

siguiente diagrama de ejecución:

Fig. 60 Diagrama de ejecución.

Page 78: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

63

Capítulo 4

Resultados Experimentales

4.1 Descripción del conjunto de test En esta sección se detallarán aspectos significativos respecto tanto al conjunto de prueba sobre

el cual se evaluarán los algoritmos propuestos, así como las características del hardware de

adquisición y la plataforma de hardware en donde ejecutarán los algoritmos, A continuación, se

especificarán detalles acerca de la cámara, el tablero que se utilizó para sacar las fotografías, la

empresa que nos proveyó las baldosas y del conjunto de baldosas en sí.

4.1.1 Descripción de la captura de imágenes En principio, la cámara a utilizar fue una Micron Sensor CMOS MT9P001 de 5 Megapíxeles.

La misma, luego de instalar el software requerido, puede ser instalada en la PC y conectada

directamente a Matlab para la captura de imágenes. Sin embargo, este dispositivo fue descartado

debido a que la definición (megapíxeles) aportada por éste resultaba no ser lo ideal para los

análisis de las baldosas. Además, por el tipo de dispositivo, al digitalizar la baldosa lo hacía con

mucha distorsión, por la distancia entre sensor y objeto.

Fig. 61 Cámara Micron.

Por estos motivos es que se decidió optar por cambiar el dispositivo de captura y utilizar una

cámara digital de marca Nikon modelo Coolpix S3700, con 20.1 Megapíxeles.

Page 79: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

64

Fig. 62 Cámara Nikon Coolpix.

Fig. 63 Especificaciones de cámara.

La única particularidad, como mencionamos en el Capítulo 3, es que la misma posee una

conexión Wifi punto a punto con un celular, de manera que la misma se podía controlar desde el

celular sin ser manipulada, evitando cambios en zoom o pixelado al realizar la captura de manera

manual.

Para la captura de las baldosas, se creó un fondo uniforme formado por una madera pintada de

color negra tiza para evitar al máximo el rebote de la luz. Cada baldosa era colocada sobre dicho

tablero, procediendo a continuación con la captura de la misma. Que el fondo sea de un solo

color y la luz no rebotara, sirvió para realizar la segmentación y detección de esquinas de manera

más productiva. Esto se debe pura y exclusivamente a que las intensidades del fondo eran muy

diferentes a las intensidades de la baldosa en sí.

Fig. 64 Tablero para la captura de baldosas.

Page 80: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

65

4.1.2 Descripción del conjunto de pruebas Para realizar este trabajo, se nos han provisto baldosas de la empresa Loimar. La misma, es una

fábrica ubicada en la ciudad de Tandil, presente de hace más de 40 años en el mercado argentino.

Se ha constituido como uno de los principales productores de cerámica roja, dedicándose a la

fabricación de tejas, baldosas y ladrillos. Posee una producción mensual de 800.000 tejas

esmaltadas, 60.000 m2 de pisos rústicos y hasta 20.000 tn. de ladrillos huecos cerámicos.

Fig. 65 Fábrica Loimar.

Con respecto al proceso de fabricación de baldosas, la misma comienza a partir de la pasta

base, del tipo arcillosa, mezclada con agua. Esta materia, es sometida a una prensadora,

formando lonjas de material prensado. Las mismas pueden o no ser expuestas a un rodillo que se

encarga de la texturización de tal manera de obtener un producto similar a la laja. Estas lonjas,

son cortadas automáticamente para obtener baldosas finales de un tamaño de 26 cm x 26 cm o 20

cm x 30 cm.

Fig. 66 Baldosas.

Los sobrantes, son nuevamente ingresados a la pasta base para la posterior recuperación de la

misma.

Los productos son estacionados por 48 horas para reducir la humedad a un 0,2% para que los

mismos no estallen en la etapa de cocción. El proceso de cocción consta de tres hornos, llevando

al producto a 300ºC, 800ºC y 1100ºC respectivamente. Una vez finalizado el proceso de cocción,

los mismos son enfriados y apilados en palieres. Lugar donde se realiza la clasificación en tres

tipos de categorías,

de descarte: comprende aquellas baldosas que presentan fracturas.

Page 81: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

66

de segunda: comprende aquellas baldosas que posean manchas producidas por gotas del

pulverizador, torceduras, marcas producidas por maquinarias, por problemas en la

cocción o difieren 3mm de las dimensiones establecidas.

de primera: son aquellas baldosas que no poseen ninguno de los defectos previamente

mencionados.

Mientras que las baldosas descartadas son trituradas para formar nuevamente la pasta base, las

baldosas en buen estado son empaquetadas y puestas en palieres para su comercialización.

La cantidad de baldosas consignadas por Loimar fueron de treinta y dos (32). Dentro del

conjunto podemos clasificar a las mismas en dos tipos: esmaltadas y no esmaltadas. Las

primeras, presentan un efecto de barnizado sobre la superficie, haciendo que se denote un tono

más brilloso sobre las mismas. A continuación, podemos observar una imagen de este tipo.

Fig. 67 Baldosa esmaltada.

Por otra parte, las no esmaltadas, parecen de un tono más opaco, como se observa en la

siguiente figura:

Fig. 68 Baldosa sin esmalte.

La cantidad de baldosas que presentan esmalte son de un total de once (11), mientras que la

cantidad de baldosas sin esmalte son de un total de veintiuno (21).

Page 82: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

67

El siguiente gráfico muestra la clasificación de baldosas de acuerdo al tipo de defecto:

Fig. 69 Clasificación de baldosas de acuerdo a su defecto.

Baldosas con errores en bordes: 4

Baldosas con errores en esquinas: 4

Baldosas con errores en su dimensión: 4

Baldosas con errores de gotas: 6

Baldosas con errores de pinhole: 8

Baldosas con errores de rayaduras: 6

Page 83: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

68

4.2 Evaluación de los métodos propuestos

4.2.1 Identificación de defectos de bordes Del conjunto de baldosas provisto por Loimar se analizan 24 baldosas. Un subconjunto de 8

baldosas es excluido de las pruebas, debido a que las baldosas presentan errores de esquinas y

dimensión y serán tratadas por los otros algoritmos presentados.

El siguiente gráfico muestra el resultado de la ejecución del algoritmo de detección de defectos

de bordes. En él aparecen dos conjuntos importantes representados por dos indicadores en forma

de barra cada uno. El primer conjunto, corresponde a la ejecución de la muestra de baldosas sin

defectos (indicador con valor veinte), cuyo resultado es de cero (segundo indicador), es decir, no

se detectó ningún falso positivo. El segundo conjunto, son las baldosas con defectos en los

bordes. Su indicador izquierdo muestra que son 4, y su indicador derecho también es 4,

mostrando que detectó errores en las cuatro baldosas.

Fig. 70 Resultado detección de bordes.

Analizando los datos obtenidos, podemos decir que la detección ha sido satisfactoria, ya que se

detectaron errores en las baldosas que deberían haberse detectado y no se detectaron errores en

las baldosas en donde no correspondía.

Por último, la siguiente imagen se corresponde con la detección de bordes ejecutada por el

algoritmo con las 4 imágenes que poseen defectos:

Page 84: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

69

Fig. 71 Detección de bordes.

4.2.2 Identificación de defectos en esquinas El siguiente gráfico muestra el resultado de la ejecución del algoritmo de detección de defectos

de esquinas. Basada en la misma idea que bordes, aparecen nuevamente dos conjuntos con dos

indicadores. El primer conjunto muestra que para las baldosas sin defectos no se han detectado

errores y el segundo muestra que se han detectado todos los defectos en las 4 baldosas que

poseían los mismos.

Fig. 72 Resultado detección de esquinas.

El algoritmo ha resultado exitoso para dicha muestra, sin la presencia de falsos positivos ni

falsos negativos. La imagen a continuación es un ejemplo de una correcta detección de defectos

por parte de la aplicación:

Page 85: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

70

Fig. 73 Pantalla de detección de errores en esquinas.

Como se puede apreciar, se muestra la cantidad de esquinas detectadas, en este caso, solamente

3 por lo que se imprime por pantalla un texto de “ERROR” y bloquea la aplicación para

continuar con los siguientes algoritmos de detección. Las baldosas con este error son cuatro:

Fig. 74 Esquina superior derecha faltante.

Fig. 75 Esquina superior izquierda faltante.

Page 86: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

71

Fig. 76 Esquina inferior izquierda faltante.

Fig. 77 Esquina inferior derecha faltante.

Page 87: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

72

4.2.3 Verificación de la dimensión de la muestra Para el caso de dimensión, nuevamente se vuelve a repetir los números de las muestras. Es

decir, 4 tienen defectos en su dimensión, 2 de ellas mayor que la seleccionada y 2 de ellas menor.

Considerando que 8 tienen defectos de esquinas o bordes, quedan 20 que no presentan este tipo

de defecto.

A través del siguiente gráfico podemos observar los resultados del algoritmo, en donde el

primer conjunto no detecta errores y sí lo hace en el otro conjunto, que era lo que se esperaba.

Fig. 78 Resultado verificación de dimensión.

El algoritmo ha resultado exitoso para dicha muestra. No se han detectado falsos positivos ni

falsos negativos. Las baldosas que poseen defectos en cuanto a dimensión son las siguientes,

junto con su respectiva dimensión:

Page 88: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

73

Fig. 79 Dimensión: 5.264.225 píxeles.

Fig. 80 Dimensión: 4.446.624 píxeles.

Fig. 81 Dimensión: 6.793.920 píxeles.

Fig. 82 Dimensión: 6.936.192 píxeles.

La aplicación informa error si la dimensión se encuentra por encima o por debajo de 6.000.000

de píxeles. Cabe destacar que existe un umbral de aceptación del 2% tanto para sobredimensión

o subdimensión. A continuación, se muestra una imagen en la que la superficie de la baldosa se

encuentra en el rango permitido y otra en que la baldosa se encuentra muy por debajo de la

superficie establecida.

Fig. 83 Pantalla sin detección de errores.

Page 89: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

74

Fig. 84 Pantalla detectando error de dimensión.

4.2.4 Identificación de Blobs En esta etapa se excluyen las baldosas con errores de bordes, dimensión y esquinas. Por lo

tanto, como entrada se tienen 20 baldosas. De ellas, 6 poseen defectos de gotas y 3 son

esmaltadas. Estas últimas no se comportan de buena manera, por lo que han sido excluidas. Se

espera de esta forma que 11 baldosas sean pasen sin detectar errores.

Siguiendo con la forma de mostrar los resultados, a continuación, se detalla un gráfico donde se

observa que de las imágenes con defectos de gotas, todas fueron detectadas. Y de las imágenes

que no presentan este defecto, ninguna ha sido detectada como falso positivo.

Fig. 85 Resultado detección de blobs.

Las siguientes imágenes muestran la ejecución de la aplicación para las baldosas que poseían

errores:

Page 90: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

75

Fig. 86 “The number of blobs is 2.”

Fig. 87 “The number of blobs is 2.”

Fig. 88 “The number of blobs is 3.”

Fig. 89 “The number of blobs is 2.”

Page 91: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

76

Fig. 90 “The number of blobs is 1.”

Fig. 91 “The number of blobs is 1.”

4.2.5 Identificación de pinhole Como en la detección de gotas, la muestra para pinhole es de 20, y las 3 baldosas esmaltadas

son excluidas. Las baldosas que presentan error de pinhole son 5, esperando que 12 puedan ser

inspeccionadas sin encontrar defectos.

El siguiente gráfico muestra que de las baldosas que poseen defectos de pinhole (5), cuatro

detectaron errores. Quedando una baldosa que no detectó error. Para las baldosas que no poseen

defecto, un total de doce (12), el algoritmo no ha detectado falsos positivos.

Fig. 92 Resultado detección de pinhole.

Page 92: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

77

Las siguientes imágenes corresponden a la ejecución de pinhole:

Fig. 93 “No errors found on this tile.”

Fig. 94 “The number of pinholes is 1.”

Fig. 95 “The number of pinholes is 1.”

Fig. 96 “The number of pinholes is 1.”

Page 93: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

78

Fig. 97 “The number of pinholes is 1.”

Con respecto a la baldosa la cual el algoritmo no detectó el defecto, se puede decir que el

pinhole posee un color muy parecido a la textura de la baldosa. Haciendo que la aplicación de

umbralado o dilatación ignore de alguna manera los puntos al tratar de conformar el área del

pinhole.

La siguiente tabla muestra una comparación entre el pinhole no detectado a la izquierda, y uno

detectado a la derecha:

Tabla 9 Comparación entre pinhole no detectado y detectado.

Como mencionamos anteriormente, el pinhole de la izquierda es muy chico, rodeado de textura

parecida a la baldosa. A la derecha, el pinhole se encuentra rodeado de un contorno oscuro,

haciendo que el umbralado lo seleccione.

Page 94: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

79

4.2.6 Cracks En esta etapa se espera que el algoritmo detecte 6 rayaduras en el conjunto de 17 baldosas

analizadas.

El gráfico a continuación muestra el resultado de la detección, donde las baldosas que poseen

rayaduras fueron detectadas de manera exitosa. Sin embargo, de las baldosas que no poseen

rayaduras, una lo ha detectado.

Fig. 98 Resultado de detección de cracks.

Las siguientes imágenes muestran la detección de los defectos de rayaduras:

Page 95: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

80

Fig. 99 “The number of cracks is 3.”

Fig. 100 “The number of cracks is 3.”

Fig. 101 “The number of cracks is 11.”

Fig. 102 “The number of cracks is 2.”

Page 96: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

81

Fig. 103 “The number of cracks is 4.”

Fig. 104 “The number of cracks is 3.”

En el caso que se detectó una rayadura, donde no debía hacerlo, podemos mencionar que es una

situación particular. Si bien, a priori, no estaba calificada como un defecto de Crack, esta baldosa

formaba parte del conjunto de Pinholes. Como se mencionó previamente, presenta un pinhole

muy particular debido a la diferencia de color con el resto de la misma. La detección de la

rayadura se puede deber a que el umbralado local selecciona al objeto como una diferencia

importante. La imagen siguiente se corresponde con dicha detección:

Fig. 105 Detección de crack en pinhole.

Page 97: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

82

4.3 Evaluación de la performance de los métodos propuestos En esta sección se encontrarán detalles acerca del hardware utilizado para la ejecución de la

aplicación, con sus respectivas especificaciones en detalle. Se hará mención a las resoluciones

utilizadas para la digitalización de las baldosas y su posterior procesamiento. Por último, y no

menos importante, se mostrarán los resultados en cuanto a eficiencia y performance de la

aplicación. Estos resultados serán comparados con investigaciones previas.

4.3.1 Hardware Para ejecutar la aplicación, se consideraron tres computadoras. Las especificaciones de cada

una de ellas son las siguientes: Computadora 1:

o Procesador: Intel Core i5-4590 CPU @ 3.30 GHZ.

o RAM: 8.00 GB.

o Sistema Operativo: Windows 10.

o Disco rígido SATA.

Computadora 2:

o Procesador: Intel Core i7-6500 CPU @ 2.50 GHZ.

o RAM: 8.00 GB.

o Sistema Operativo: Windows 10.

o Disco SSD.

Computadora 3:

o Procesador: Intel Core i7-7700 CPU @ 3.60 GHZ.

o RAM: 16.00 GB.

o Sistema Operativo: Windows 10.

o Disco SSD.

4.3.2 Resolución Las resoluciones a tener en cuenta fueron dos, la primera de 5152 x 3864 y la segunda de 1700

x 1275.

De estas dos resoluciones, en su interior la baldosa tiene una resolución de 2452 x 2452 (un

total aproximado de 6.000.000 de píxeles). Y la segunda de 650.000 píxeles, una resolución un

poco más grande que 800 x 800.

4.3.3 Performance de la detección Para realizar un análisis de la performance de los algoritmos se tuvieron en cuenta las treinta y

dos (32) baldosas y tres computadoras cuyas especificaciones de hardware fueron mencionadas

anteriormente. Como la aplicación provee el tiempo de ejecución de cada uno de los algoritmos,

el proceso consistió en ejecutar todos los algoritmos para cada una de las baldosas, con las dos

resoluciones. En los siguientes gráficos se presenta el promedio de los tiempos de cada uno de

los algoritmos para ambas resoluciones. En él se pueden observar que los tiempos disminuyen de

manera muy notoria entre las distintas resoluciones, siendo de un factor de nueve (9) para

dimensión, esquinas y bordes. Y para los demás algoritmos, de seis (6).

Page 98: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

83

PC / Defecto Computadora 1 Computadora 2 Computadora 3

Resolución Resolución 1 Resolución 2 Resolución 1 Resolución 2 Resolución 1 Resolución 2

Bordes, Corners y

Dimensión

5,33 s 0,6 s 4,66 s 0.55 s 3,26 s 0,34 s

Blobs 0,24 s 0,04 s 0,24 s 0,04 s 0,17 s 0,03 s

Pinholes 0,29 s 0,05 s 0,29 s 0,04 s 0,2 s 0,03 s

Cracks 0,49 s 0,07 s 0,47 s 0,06 s 0,29 s 0,04 s

Tabla 10 Promedio de tiempos de cada algoritmo en diferentes computadoras.

De acuerdo al gráfico anterior, si comparamos la PC1 con respecto a la PC2, existe una

diferencia importante en el algoritmo de bordes, esquinas y dimensión. Esto se debe a que la

velocidad de lectura entre un disco de estado sólido y un disco rígido difiere de manera

sustancial. Si tenemos en cuenta la PC3 con la PC2 y la PC1, en principio también posee un

disco de estado sólido y, sumado a eso, posee un procesador de casi 1.00 GHZ mayor. Por

último, los demás algoritmos poseen casi los mismos tiempos, esto se debe a que la imagen con

la que trabajan ya se encuentra en memoria y las velocidades son casi similares. Se dice que son

casi similares porque existen diferencias de MHZ (~200 MHZ aproximadamente) entre las

memorias y por supuesto la última PC tiene tecnología DDR4, mientras que las otras su

tecnología es DDR3. La velocidad del procesador es otro indicio de diferencia en la velocidad de

ejecución de los algoritmos.

El siguiente gráfico muestra la ejecución promedio total de una pasada por todos los

algoritmos. Hay que tener en cuenta que las baldosas que tienen defectos en bordes, dimensión o

esquinas no ejecutan las operaciones de detección de gotas, rayaduras y pinholes.

PC / Resolución Resolución 1 Resolución 2

Computadora 1 6,34 s 0,76 s

Computadora 2 5,65 s 0,68 s

Computadora 3 3,91 s 0,44 s

Tabla 11 Ejecución promedio de todos los algoritmos.

Los algoritmos de detección de gotas, rayaduras y pinhole pueden ser comparados con los

trabajos realizados por Yadraj Meena et.al y G. M. Atiqur Rahaman et al, en cuanto a la

eficiencia y tiempos. En el trabajo realizado por Yadraj Meena et al. se realizan comparaciones

de sus algoritmos con estudios previos, que también fueron tomados en cuenta para la

comparación. Los mencionados no realizan análisis de dimensión, esquinas y bordes ya que

ambos no pudieron encontrar defectos [7] [35]. Otro aspecto a destacar, es que los estudios

previos no fueron sobre baldosas de texturas aleatorias, sino en cerámicos.

Page 99: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

84

Fig. 106 Comparativa eficiencia diversos estudios.

Como podemos observar, la eficiencia de este trabajo se encuentra por encima de los trabajos

previos y, además, como mencionamos anteriormente, tiene en cuenta también la detección de

defectos de esquinas, bordes y dimensión. Aspecto que no es considerado en la eficiencia de los

estudios previos ya que los mismos no pudieron encontrar estos errores.

De acuerdo a los tiempos, se tendrán en cuenta solamente los de detección de gotas, pinhole y

rayaduras en comparación con los estudios previos [6] [33]. La resolución a tener en cuenta, será

la misma que la de los estudios previos, es decir 800 x 800 de tamaño de baldosa.

Page 100: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

85

Fig. 107 Comparativa performance diversos estudios.

Los tiempos obtenidos son menores a los presentados en los trabajos anteriormente

mencionados, superando en un factor de 4 el que más se acerca. Otro aspecto a destacar, es que

un solo estudio previo pasado que consigue mejores tiempos, pero con una resolución de 800 x

800.

Con respecto a los algoritmos de detección de bordes y esquinas, se pueden contrastar con el

trabajo realizado por Ž. Hocenski et al [32]. Este estudio previo fue ejecutado por una aplicación

hecha en Matlab con un procesador de 2.2 Ghz. En su trabajo se aplica Canny en lugar de Harris-

Stephens.

Defecto / Resolución Estudio Previo 1680 x 1300 Tesis 5152 x 3864 Tesis 1700 x 1275

Bordes, dimensión y esquinas 4.63 s 3.26 s 0.34 s

Tabla 12 Comparativa detección de errores en bordes, dimensión y esquinas.

En base a la tabla mostrada previamente, podemos resaltar que el resultado del estudio previo

es menor a la performance lograda por nuestro desarrollo, incluso utilizando una resolución

mucho mayor. Si comparamos la resolución empleada, con la menor resolución utilizada en

nuestro trabajo (es casi la misma), podemos asumir que la mejora es más que sustancial, llegando

a una mejora de casi 9.

Si bien este análisis está atado a la tecnología actual, aplicar los métodos previos sobre el

sistema de procesamiento sobre el que se realizaron las pruebas puede conseguir mejores

tiempos. Más allá de eso, el objetivo del análisis es demostrar la factibilidad de implementar el

sistema sobre una línea de producción capaz de operar a la tasa requerida.

Page 101: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

86

4.4 Análisis basado en resoluciones de imágenes Con respecto al cambio de resolución, existen dos aspectos importantes a mencionar:

1. El pinhole que el algoritmo de pinhole no detectaba en la resolución de 5152 x 3864 pero

sí era detectado por Cracks, fue detectado en la resolución de 1700 x 1275 por el primer

algoritmo, pero no por el de cracks.

“The number of pinholes is 1.”

“No errors found on this tile.”

Tabla 13 Comparativa detección en diferentes resoluciones.

2. Con el objetivo de incrementar el número de muestras a evaluar, se crearon algunos

defectos. En estos casos se incorporaron defectos de blobs. En estos casos el algoritmo de

cracks detectó los mismos para la resolución más chica.

Fig. 108 Detección de cracks en resolución más chica.

Page 102: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

87

De acuerdo a las situaciones mencionadas previamente, para 1) se supone que pinhole funciona

mejor para resoluciones menores. Esto tiene relación directa con los operadores de threshold y

clausura. Al haber más píxeles, los mismos se encuentran más espaciados, haciendo que la

operación de clausura, en principio, borrara el pinhole. Como la resolución es menor, los píxeles

se encuentran más unidos. Incluso, para las otras baldosas con defectos de pinhole, el factor de

redondez es mucho más alto, de un piso aproximado de 90%. Por lo que para la resolución más

chica este factor hubo que aumentarlo.

Con respecto a 2), esto también está relacionado con el espaciado de píxeles. La desviación

local estándar analizando la textura, se basa en un píxel y su vecindad de 3x3. En la resolución

mayor, los rasgos del blob se encuentran más espaciados y con píxeles de intensidad de la

baldosa, mientras que al estar más unido, el desvío se acerca más al blob, afectando puramente a

dicha vecindad.

Con los resultados obtenidos se concluye que el algoritmo presentado para la detección de

Blobs, con una correcta parametrización también funciona bien. Entiéndase, con correcta

parametrización, a la adaptación de los inputs teniendo en cuenta que ahora la imagen posee una

sustancial cantidad más chica de píxeles.

La siguiente imagen muestra la configuración de los diferentes algoritmos, para la resolución

de 1700 x 1275. Los valores que aparecen fijos a la derecha de los casilleros de entrada, son los

que toma por defecto la aplicación. Los mismos son los utilizados para la resolución mayor:

Fig. 109 Parametrización para resolución 1700 x 1275.

Si bien hubo algunos cambios en la detección relacionados con el cambio de resolución, no

hubo ninguna detección de falsos positivos y todos los defectos fueron detectados.

A continuación, se presenta un cuadro donde se desglosa el tiempo consumido por las distintas

actividades de la aplicación, utilizando una configuración óptima que utiliza dos resoluciones

con el fin de acelerar el tiempo de ejecución del algoritmo. El mismo nos permite abstraer los

Page 103: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

88

tiempos de las operaciones, en las distintas resoluciones, justificando el análisis realizado

previamente, en el cual se sugiere utilizar ambas resoluciones dependiendo el error a considerar,

bajando así el tiempo final.

Nótese las siguientes nomenclaturas:

imread, es el tiempo que tarda en leer la imagen desde el disco;

imresize, es el tiempo que tarda en cambiar la resolución a 1700 x 1275; esta operación

fue agregada solamente para este análisis, la aplicación actual no realiza la misma;

RES1, es la resolución de mayor tamaño (5152 x 3864);

RES2, es la resolución de menor tamaño (1700 x 1275);

CDE, es el algoritmo de detección de esquinas, dimensión y bordes;

s, segundos.

RES1 RES1 RES2 RES2 RES2 RES1 Total

imread imresize CDE Blobs Pinhole Cracks

PC1 0,66 s 0,19 s 0,51 s 0,04 s 0,05 s 0,49 s 1,94 s

PC2 0,56 s 0,23 s 0,5 s 0,04 s 0,04 s 0,47 s 1,84 s

PC3 0,39 s 0,07 0,3 s 0,03 s 0,03 s 0,29 s 1,11 s

Tabla 14 Performance para configuración en distintas resoluciones.

Todo lo mencionado anteriormente corresponde a diversas configuraciones que se hicieron en

cuanto a un tipo de baldosa y dos tipos de resoluciones. Este proceso puede requerir adaptaciones

o modificaciones, como sucede con el producto comercial Flawmaster [34], mencionado en el

Capítulo 2, para el cual, alegan necesitar seis meses para encontrar la configuración óptima que

asegure el correcto funcionamiento de la maquinaria sobre una línea de producción puntual.

Page 104: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

89

4.5 Evaluación adicional Para este trabajo hemos conseguido muestras adicionales. Estas muestras corresponden a

cerámicos sobrantes de una construcción. En la siguiente imagen se pueden apreciar los mismos:

Fig. 110 Muestra cerámicos.

Este nuevo conjunto de prueba será utilizado como entrada de la aplicación sobre la cual se

pretende detectar las fallas sobre una línea de producción diferente. Sabemos que éstos no

presentan texturas aleatorias, ni tampoco se trata de baldosas. Para este conjunto en particular se

mantuvieron las condiciones de captura (ambiente, iluminación y hardware)

Detección de bordes, dimensión y esquinas:

Fig. 111 Pantalla detección error en cerámico.

Page 105: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

90

Fig. 112 Detección esquinas en cerámico.

Fig. 113 Detección error en borde para un cerámico.

Detección de gotas y pinhole:

Fig. 114 Detección de pinhole en cerámico.

Fig. 115 Detección de blobs en cerámico.

Page 106: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

91

4.6 Análisis de resultados obtenidos Es importante resaltar en primera instancia que los tiempos obtenidos cayeron dentro del rango

requerido, con respecto a la resolución de 5152 x 3864 y 1700 x 1275 para la detección de

defectos en bordes, dimensión y esquinas. En este aspecto, se debieron realizar ajustes bajando el

handicap para la segunda resolución, dado que disminuye sustancialmente el número de píxeles.

Otro punto importante es que el algoritmo ofrece buenos resultados para ambas resoluciones,

siendo la tasa de reconocimiento del 100% en ambas situaciones. Además, los resultados

muestran que la primer resolución tiene que analizar seis (6) millones de píxeles, mientras que la

segunda seiscientos cincuenta mil, esto es un factor de reducción de 9 aproximadamente. Los

tiempos entre uno y otro han resultado ser del mismo factor. Esto quiere decir que la mejora en

cuanto a tiempo es proporcional a la diferencia de píxeles entre dichas resoluciones.

Con respecto a la detección de defectos, el algoritmo de detección de Pinholes no pudo detectar

un defecto de este tipo, el cual fue detectado por el algoritmo de detección de rayaduras en

superficies propuesto. Para este análisis la identificación errónea fue contabilizada como un

error. De allí, se estima que el valor de eficiencia para el conjunto de pruebas evaluado fue de

97%. Por otro lado, si consideramos la eficiencia en cuanto a la detección de defectos, ninguna

baldosa con defectos ha pasado la ejecución sin que los mismos sean detectados, permitiendo

asumir que la eficiencia del algoritmo propuesto es del 100%.

En cuanto a las consideraciones de las resoluciones, también se observa que el algoritmo de

rayaduras funciona mejor con resoluciones mayores de imagen, mientras que el algoritmo de

pinhole obtiene detecciones más certeras en resoluciones inferiores. Esta apreciación se debe

principalmente a cómo cada algoritmo trata la selección de objetos de interés, esto es desviación

estándar local como umbralado en el primero y umbralado global en el segundo. La detección de

gotas se mantiene congruente para ambas resoluciones y esto se debe principalmente a que las

mismas tienen un tamaño significativo para ambas.

Por último, considerando cada uno de los trabajos previos analizados, el trabajo realizado

obtiene muy buenos resultados respecto a los tiempos, alcanzando una aceleración que va desde

4 a 9.

Page 107: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

92

Capítulo 5

Conclusiones

5.1 Trabajos futuros Es de suponer, en principio, que los tiempos de procesamiento de este trabajo pueden mejorarse

de diversas maneras. La primera podría ser con la obtención de hardware de alta gama. Esto sería

un microprocesador más potente, memoria RAM de última generación y disco de estado sólido

de mayor rapidez. Otra vía para mejorar los tiempos podría ser llevar los algoritmos a la

utilización de la placa de video (GPU). Se ha demostrado que las placas de video poseen una

performance extremadamente alta para cálculos y sobre todo procesamiento de imágenes.

Matlab, a lo largo de sus versiones se ha enfocado en facilitar la utilización de la GPU. Es por

ello, que muchas de las operaciones y algoritmos que posee admiten como entrada objetos del

tipo GPUArray [36] [37]. En cierta manera, parte del código de la aplicación podría cambiarse

para esto. Por último, las FPGAs también ofrecen una buena opción de plataforma para este tipo

de procesamiento [2]. Son compactas, aptas para ser aplicadas en el ámbito industrial, y podría

crearse un sistema embebido que ejecute cada uno de los algoritmos.

Por otra parte, la ejecución de los algoritmos propuestos es independiente, y permiten su

paralelización y concurrencia. De esta forma el uso de cuatro computadoras industriales, en las

que cada una de ellas ejecute uno de los algoritmos, es otra posibilidad interesante en este

proceso.

En cuanto a la detección, se demostró que algunos de los algoritmos funcionan también con

cerámicos. Una correcta parametrización de los algoritmos permite que se puedan ejecutar para

realizar una inspección de superficie sobre diferentes materiales (cerámicos, baldosas). Sin

embargo, en el caso de realizar una inspección sobre baldosas de tonos más oscuros o baldosas

esmaltadas, el enfoque puede ser diferente, o bien, se necesite alguna transformación previa. Con

dicha transformación, y una correcta parametrización de los valores mencionados anteriormente,

la detección puede ser factible.

La identificación de fallas puede ser mejorada aplicando otros enfoques en cuanto a la

iluminación o diferentes tipos de filtro a la cámara. El uso de estas técnicas podría resolver el

problema expuesto anteriormente.

Se pretende incluir en trabajos futuros la calibración de la cámara y el tratamiento de la

distorsión. Estas prácticas también permitirán conocer las dimensiones de las baldosas y defectos

en unidades de medida como milímetros o centímetros, pudiendo dejar de lado la utilización de

métricas en píxeles.

En cuanto a defectos, quedaron algunos pendientes, como pueden ser salpicaduras y torceduras.

Se pretende abordar estos defectos en versiones futuras del trabajo.

Por último, el trabajo podría llegar a ser un prototipo funcional, si se incorpora un clasificador,

que permita asignar un resultado y taxonomía final al producto considerando los resultados

cuantificados obtenidos de los algoritmos.

Page 108: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

93

5.2 Conclusiones Machine Vision a lo largo de los años se ha vuelto muy importante en la fabricación de

distintos tipos de productos. En este caso en particular, la elaboración de baldosas.

Generalmente, todo proceso de fabricación consta de diversas etapas. En muchas de ellas la

robótica, calibración, manejo de materiales o clasificación cubren gran parte de las mismas. Sin

embargo, existe un área o proceso llamado Control de Calidad en donde, hoy en día, la

aplicación de Machine Vision presenta ciertas dificultades, o su eficiencia y eficacia no alcanzan

a la visión humana. En cuanto a la actividad que involucra la fabricación de las baldosas, el

Control de Calidad consiste en detectar si dichos elementos presentan o no algún defecto luego

de su elaboración. Es decir, que algún agente haya introducido alguna alteración al producto

final, afectando la calidad del mismo.

En este trabajo se presentó una aplicación capaz de ejecutar un conjunto de algoritmos de

detección de defectos en baldosas. Estos son: defectos en bordes, esquinas, dimensión, gotas,

rayaduras y pinhole. A su vez, esta aplicación permite el conocimiento de algunas de las métricas

más significativas en el procesamiento de imágenes, que comprenden el tiempo y la tasa de

precisión en el reconocimiento de fallas. Asimismo, la aplicación desarrollada posee la

posibilidad de ajustar los parámetros de entrada de cada conjunto de algoritmos para cada

defecto. De esta manera, la misma presenta flexibilidad para tratar con diversas baldosas de

texturas aleatorias, e incluso cerámicos y poder establecer la mejor configuración paramétrica

para una muestra. Otro aspecto a destacar, es que la aplicación es intuitiva, gracias a que se ha

generado una interfaz visual sin tener que acudir, por ejemplo, a la consola de comandos.

Los algoritmos propuestos fueron seleccionados entre distintos métodos posibles, y fueron

optimizados y adaptados al problema para brindar los mejores resultados posibles. Para la

obtención de los resultados se ha seleccionado una muestra, representada en dos resoluciones

diferentes, y tres computadoras de divergentes características. El proceso consistió en ejecutar

los diferentes algoritmos de detección en cada una de las computadoras, aplicándolos sobre la

totalidad de la muestra. Gracias a las métricas provistas se pudieron realizar diversos cuadros

comparativos teniendo en cuenta las diferentes resoluciones y computadoras. Los resultados

obtenidos demuestran que una computadora de gama alta puede obtener una mejora sustancial,

en cuanto a tiempos.

Con respecto a la detección, considerando las diferentes resoluciones, los distintos algoritmos

funcionan al 100%, incluso con cerámicos de diferente tonalidad a la muestra utilizada como

base de estudio de este trabajo. Además, se han detectado todos los defectos existentes en las

distintas baldosas sin la presencia de falsos positivos. Esto quiere decir que ninguna baldosa

defectuosa hubiera sobrepasado el Control de Calidad realizado por la aplicación.

Finalmente, podemos concluir, gracias a los tiempos obtenidos de la aplicación, que la misma

es un prototipo capaz de soportar la ejecución en una línea de producción en tiempo real. Como

así también, que la misma es capaz de detectar las fallas con una tasa superior al 90%, y

cumpliendo con los requerimientos presentados en los objetivos de la propuesta.

Page 109: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

94

Apéndice

Manual de Usuario Dentro de la carpeta del trabajo se encuentran dos subcarpetas que contienen distintas

generaciones de la aplicación standalone.

Fig. 116 Tipo de aplicación.

Especificaciones técnicas Sistema Operativo:

o Windows 10

o Windows 8.1

o Windows 8

o Windows 7 Service Pack 1

o Windows Server 2016

o Windows Server 2012 R2

o Windows Server 2012

o Windows Server 2008 R2 Service Pack 1

Procesador: Cualquier Intel o AMD x86-64

Memoria: 2 GB

Espacio en disco:

o for_redistribution: 2 GB.

o for_redistribution_files_only: 50 MB.

Page 110: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

95

Instalador completo for_redistribution: Contiene un instalador con todas las bibliotecas necesarias en caso de no

tener Matlab en la PC. El tamaño del archivo es de aproximadamente 1.2 GB.

Fig. 117 Instalador completo.

Guía de instalación 1. Ejecutar “TileInspection.exe”.

2. Aparecerá la ventana de User Access Control, seleccionar “Sí”.

3. En la siguiente ventana seleccionar “Next” o “Siguiente” como se muestra a continuación:

Fig. 118 Instalación pantalla 1.

Page 111: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

96

4. Aparecerá una nueva ventana para elegir el directorio en dónde instalar la aplicación y la

opción de agregar un icono al Escritorio:

Fig. 119 Instalación Pantalla 2.

5. La siguiente ventana mostrará los detalles de la instalación. Seleccionar “Install” para

confirmar la misma y proceder a su respectiva instalación:

Fig. 120 Instalación Pantalla 3.

Page 112: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

97

6. Luego se mostrará el progreso de la instalación:

Fig. 121 Instalación Pantalla 4.

7. Por último, aparecerá una ventana para finalizar el proceso de instalación.

Fig. 122 Instalación Pantalla 5.

8. Ejecutar TileInspection.exe desde el Escritorio o directorio de instalación para comenzar

a utilizar la aplicación.

Page 113: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

98

Ejecutable solamente for_redistribution_files_only: contiene la aplicación mínima generada ya que supone que se

tiene instalado Matlab en la PC, de manera que utiliza las bibliotecas desde dicha instalación.

Fig. 123 Ejecutable con Matlab instalado.

Para iniciar la aplicación, ejecutar TileInspection.exe.

Ejecución Una vez ejecutada la aplicación se procede a cargar la imagen, presionando sobre el botón

“Select Image”. Dicha acción disparará la ejecución del algoritmo de detección de errores en

esquinas, bordes y dimensión.

Fig. 124 Pantalla del ejecutable.

Al finalizar se mostrará una ventana con la baldosa, dibujando las 4 esquinas, en caso de

poseerlas y señalando los errores en los bordes, nuevamente, en caso de existir.

Page 114: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

99

Fig. 125 Pantalla ejecución.

Luego de esto, la aplicación nos mostrará en el panel el resultado (1) de los distintos procesos

corridos, informando la cantidad de esquinas detectadas, la cantidad de errores en bordes

existentes y la dimensión de la baldosa.

Fig. 126 Pantalla de acciones.

Page 115: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

100

Referencias

[1] D. T. Pham y R. J. Alcock, Smart Inspection Systems: Techniques and applications of

intelligent vision, Academic Press, 2003.

[2] E. R. Davies, Machine Vision: Theory, algorithms, practicalities, Fourth Edition, Academic

Press, 2004.

[3] U. S. Khan, «Automatic inspection system using Machine Vision», Proceedings of the 34th

Applied Imagery and Pattern Recognition Workshop, pp. 217-222, 2005.

[4] H. Golnabi, «Design and application of industrial Machine Vision systems», Robotics and

Computer-Integrated Manufacturing, vol. 23, issue 6, pp. 630-637, December 2007.

[5] Automatic Imaging Association, «Machine Vision Markets: 2007 Results and Forecasts to

2012», [online]. Available: http://machinevisiononline.org.

[6] Y. Meena y A. Mittal, «Blobs and Cracks Detection on Plain Ceramic Tile Surface»,

International Journal of Advanced Research in Computer Science and Software

Engineering, vol. 3, issue 7, pp. 647-652, 2013.

[7] H. Elbehiery, A. Hefnawy y M. Elewa, «Surface Defects Detection for Ceramic Tiles Using

Image Processing and Morphological Techniques», World Academy of Science, Engineering

and Technology, pp. 158-162, 2005.

[8] S. Singh y M. Kaur, «Machine Vision System for Automated Visual Inspection of Tile’s

Surface Quality», IOSR Journal of Engineering, vol. 2, issue 3, pp. 429-432, 2012.

[9] C. G. Relf, Image Acquisition and Provessing with LabVIEW, CRC Press, 2004.

[10] V. Sadegaonkar y K. Wagh, «Improving Quality of Apple Using Computer Vision & Image

Processing Based Grading System», International Journal of Science and Research, vol. 4,

issue 4, pp. 543-546, 2015.

[11] GigE Vision, «Allied Vision», [online]. Available:

https://www.alliedvision.com/en/news/detail/news/gige-vision-rock-solid-in-harsh-mining-

environments.html.

[12] Mars Pathfinder, «NASA Facts», [online]. Available:

https://www.jpl.nasa.gov/news/fact_sheets/mpf.pdf.

[13] Z. Haq, «University of Engineering and Technology» Deparment of Mechanical

Page 116: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

101

Engineering, [online]. Available:

http://teacher.buet.ac.bd/zahurul/ME475/ME475_robotics.pdf.

[14] MVT, «MVT - Can Scan », [online]. Available: http://www.machine-vision-

technology.co.uk/pdf/OCR-codes-food-cans.pdf.

[15] MVT, «MVT Label and Date Verification», [online]. Available: http://www.machine-

vision-technology.co.uk/pdf/OCR-techniques-for-label-verification.pdf.

[16] A. Hornberg, Handbook of Machine Vision, WILEY-VCH, 2006.

[17] Thomson B., «Automatic System for Surface Inspection and Sorting of Tiles», ASSIST,

United Kingdom, 1993.

[18] Ž. Hocenski, T. Keser y A. Baumgartner, «A Simple and Efficient Method for Ceramic Tile

Surface Defects Detection», pp. 1606-1611, 2007.

[19] M. H. Karimi y D. Asemani, «Surface defect detection in tiling Industries using digital

image processing methods: Analysis and evaluation», ISA Transactions, pp. 834-844, 2014.

[20] R. Mishra y D. Shukla, «A Survey on Various Defect Detection», International Journal of

Engineering Trends and Technology, vol. 10, issue 13, pp. 642-648, 2014.

[21] C. Laofor y V. Peansupap, «Defect detection and quantification system to support subjective

visual quality inspection via a digital image processing: A tiling work case study»,

Automation in Construction, pp. 160-174, 2012.

[22] PDI, «Procesamiento Digital de Imágenes I», [online]. Available:

http://pdi.alumnos.exa.unicen.edu.ar/clases.

[23] N. Zuech, Understanding and Applying Machine Vision, Marcel Dekker, 2000.

[24] R. C. Gonzalez, Digital Image Processing, Prentice Hall, 2002.

[25] A. Koschan y M. A. Abidi, Digital color image processing, Wiley Interscience, 2008.

[26] K. S. Fu y J. K. Muib, «A survey on image segmentation», Pattern Recognition, vol. 13,

issue 1, pp. 3-16, 1981.

[27] J. Marcello, F. Marques y F. Eugenio, «Evaluation of Thresholding Techniques Applied to

Oceanographic Remote Sensing Imagery», SPIE, vol. 5573, issue 96, pp. 96-103, 2004.

[28] Y.-J. Zhang, «An Overview of Image and Video Segmentation in the Last 40 Years», In

Advances in Image and Video Segmentation, IRM Press, pp. 1-15, 2006.

Page 117: Inspección visual automática en baldosas con texturas ... · Con la aplicación de Machine Vision, se trata de reemplazar la inspección visual humana por un sistema automatizado

102

[29] M. S. Nixon y A. S. Aguado, Feature Extraction & Image Processing, 2nd Edition,

Academic Press, 2008.

[30] B. Jähne, Practical Handbook on Image Processing for Scientific and Technical

Applications, 2nd edition, CRC Press, 2004.

[31] C. Boukouvalas, J. Kittler y R. Marik, «Ceramic Tile Inspection For Colour And Structural

Defects», 2006.

[32] Ž. Hocenski y T. Keser, «Failure Detection and Isolation in Ceramic Tile Edges Based on

Contour Descriptor Analysis», Mediterranean Conference on Control and Automation,

2007.

[33] A. Rahaman y M. Hossain, «Automatic Defect Detection and Classification Technique from

Image: A special case using ceramic tiles», International Journal of Computer Science and

Information Security, vol. 1, issue 1, pp. 22-30, 2009.

[34] Surface Inspection, «Sacmi», [online]. Available:

http://www.sacmi.com/System/00/02/34/23496/635421528748930645_1.pdf.

[35] R. Gonzalez, Digital Image Processing Using Matlab, Prentice Hall, 2004.

[36] Mathworks, «Image Processing on a GPU», [online]. Available:

https://www.mathworks.com/help/images/image-processing-on-a-gpu.html.

[37] Mathworks, «GPU Computing», [online]. Available:

https://www.mathworks.com/help/images/gpu-computing.html.