Your SlideShare is downloading. ×
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero

320

Published on

FPGAs, sistemas electronicos, diseño digital, arquitectura FPGA, algoritmos de vision artificial

FPGAs, sistemas electronicos, diseño digital, arquitectura FPGA, algoritmos de vision artificial

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
320
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. DISEÑO DE UN MICROSISTEMA USANDO FPGAsPARA MEDIR EL ÁREA DE UNA LÁMINA DECUEROJHOHANN FABIÁN SALAZAR LOAIZAUNIVERSIDAD DEL VALLEFACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICAPROGRAMA DE POSTGRADO EN INGENIERÍA ELÉCTRICA Y ELECTRÓNICASANTIAGO DE CALI2012
  • 2. DISEÑO DE UN MICROSISTEMA USANDO FPGAsPARA MEDIR EL ÁREA DE UNA LÁMINA DECUEROJHOHANN FABIÁN SALAZAR LOAIZATrabajo de grado en opción al título de:Magíster en Ingeniería - Énfasis Ingeniería ElectrónicaDirector:Jaime Velasco Medina Ph.DEscuela de Ingeniería Eléctrica y ElectrónicaUNIVERSIDAD DEL VALLEFACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICAPROGRAMA DE POSTGRADO EN INGENIERÍA ELÉCTRICA Y ELECTRÓNICASANTIAGO DE CALI2012
  • 3. iiiTabla de ContenidoINTRODUCCIÓN 51.1 MOTIVACIÓN 51.2 CONTRIBUCIÓN DE LA TESIS 71.3 ORGANIZACIÓN DE LA TESIS 7BIBLIOGRAFÍA 8FUNDAMENTOS E IMPLEMENTACIONES HARDWARE PARA ELPROCESAMIENTO DIGITAL DE IMÁGENES 92.1 INTRODUCCIÓN 92.2 FUNDAMENTOS DEL SISTEMA DE CAPTURA DE UNA IMAGEN 112.2.1 Imagen digital 112.2.2 Sistema de Adquisición de una Imagen 132.2.3 Modelo Pinhole 152.2.4 Corrección de la Distorsión 182.2.5 Iluminación de la imagen 201. Iluminación normal 222. Iluminación horizontal 223. Iluminación vertical 222.3 TÉCNICAS PARA EL PROCESAMIENTO DIGITAL DE IMÁGENES 222.3.1 Mejoramiento de la Imagen 222.3.1.1 Operaciones Morfológicas 231. Dilatación 232. Erosión 243. Apertura y Cierre 244. Transformación Top Hat y Bottom Hat 252.3.1.2 Filtrado en el Dominio Espacial 271. Filtrado espacial paso bajo 282. Filtrado por la mediana 283. Filtrado espacial paso alto 294. Filtrado high boost 305. Filtros diferenciales 312.3.2 Segmentación de imágenes 322.3.2.1 Operador Laplaciano 332.3.2.2 Umbralización 341. Métodos Basados en la Forma del Histograma. 342. Métodos Basados en Agrupamiento de Píxeles o Clustering. 363. Métodos Basados en Información de la Entropía del Histograma. 374. Métodos Basados en los Atributos de la Imagen. 395. Métodos Basados en Información Espacial. 416. Métodos basados en características locales. 432.4 IMPLEMENTACIONES HARDWARE PARA EL PROCESAMIENTODIGITAL DE IMÁGENES 442.4.1 Arquitecturas Hardware para la Captura de Imágenes 442.4.2 Arquitecturas Hardware para la Corrección de Distorsiones en laCaptura de una Imagen 472.4.3 Arquitecturas Hardware para la Mejora y el Realce de una Imagen 482.4.4 Arquitecturas Hardware para la Segmentación y la Umbralizaciónde una Imagen 53BIBLIOGRAFÍA 56
  • 4. ivILUMINACIÓN, CALIBRACIÓN Y SIMULACIÓN FUNCIONAL DE LOSALGORITMOS USADOS PARA MEDIR UNA LÁMINA DE CUERO 613.1 INTRODUCCIÓN 613.2 IMPLEMENTACIÓN DEL SISTEMA DE ILUMINACIÓN 613.3 CALIBRACIÓN DEL SISTEMA DE CAPTURA DE LA IMAGEN 633.4 SIMULACIÓN DE LOS ALGORITMOS DE MEJORAMIENTO Y REALCEDE LA IMAGEN. 673.4.1 Simulación del Filtro Mediana 673.4.2 Simulación de la Supresión del Fondo de la Imagen 693.4.3 Simulación del Filtro High Boost 723.5 SELECCIÓN DE ALGORITMOS DE UMBRALIZACIÓN 733.5.1 Criterios para la evaluación de los algoritmos de umbralización 743.5.1.1 Criterio basado en la clasificación errónea. 743.5.1.2 Criterio basado en el error relativo del área del objeto. 743.5.2 Evaluación de los algoritmos de umbralización 753.5.2.1 Resultados para la Figura Cuadrado 773.5.2.2 Resultados para la Figura Círculo 793.5.2.3 Resultados para la Figura Triángulo 813.6 SIMULACIÓN DE LOS ALGORITMOS DE UMBRALIZACIÓNSELECCIONADOS SOBRE LÁMINAS DE CUERO 83BIBLIOGRAFÍA 88IMPLEMENTACIÓN HARDWARE DE LOS ALGORITMOS PARA MEDIR UNALÁMINA DE CUERO 894.1 INTRODUCCIÓN 894.1.1 Diagrama de Bloques para Medir una Lámina de Cuero 894.2 ETAPA DE ADECUACIÓN DE LA IMAGEN ORIGINAL 914.2.1 Filtrado Mediana de la Imagen 924.2.2 Supresión del Fondo de la Imagen 984.2.2.1 Bloque Restador de Fondo 984.2.2.1 Filtrado Morfológico Bottom Hat 1004.2.3 Filtrado High Boost de la Imagen 1054.3 ETAPA DE UMBRALIZACIÓN DE LA IMAGEN 1084.3.1 Arquitectura Hardware para el Algoritmo de Umbralización de Otsu 1084.3.1.1 Implementación del Bloque para el Cálculo del Histograma 1114.3.1.2 Implementación del Bloque Estadístico 1124.3.1.3 Implementación del Bloque para Cálculo del Umbral Otsu 1134.3.2 Arquitectura Hardware para el Algoritmo de Umbralización ISODATA 1144.3.3 Arquitectura Hardware para el Algoritmo de Umbralización Intermodal 1164.3.4 Arquitectura Hardware para el Algoritmo de Umbralización Valles y Colinas 1194.4 ETAPA PARA EL CÁLCULO DEL ÁREA ÓPTIMA DE LA LÁMINADE CUERO 1214.4.1 Ejemplo con Círculos para Calcular el Área Óptima de la Lámina de Cuero 1214.4.2 Arquitectura Hardware para el Cálculo del Valor Optimo. 123BIBLIOGRAFÍA 126CONCLUSIONES Y TRABAJO FUTURO 127
  • 5. vLISTA DE FIGURASFigura 1.1-1. Sistema electrónico tradicional para medir el área de una lámina de cuero. 6Figura 1.1-2. Sistema de visión artificial basado en FPGAs para medir el área de una lámina de cuero. 7Figura 2.1-1. Sistema para medir el área de una lámina de cuero usando un microsistema basado enFPGA10Figura 2.2-1. Representación grafica de la función muestreo bidimensional. 12Figura 2.2-2. Representación grafica del proceso de discretización y cuantización. 12Figura 2.2-3. Dispositivos de captura. 13Figura 2.2-4. Modelo Pinhole. 16Figura 2.2-5. Efectos de distorsión radial. 20Figura 2.2-6. Ley de los cuadrados 21Figura 2.2-7. Tipos de iluminación 21Figura 2.3-1. Proceso de dilatación de una imagen 23Figura 2.3-2. Proceso de erosión de una imagen 24Figura 2.3-3. Proceso de apertura de una imagen 25Figura 2.3-4. Proceso de cerradura de una imagen 25Figura 2.3-5. Transformación top hat en una imagen 26Figura 2.3-6. Transformación bottom hat en una imagen 26Figura 2.3-7. Operación de convolución sobre una imagen 27Figura 2.3-8. Mascara de convolución para un filtro paso bajo 28Figura 2.3-9. Filtrado paso bajo 29Figura 2.3-10. Filtro mediana 29Figura 2.3-11. Mascara de convolución para un filtro paso alto 29Figura 2.3-12. Filtrado paso alto 30Figura 2.3-13. Mascara de convolución para un filtro high boost 30Figura 2.3-14. Filtrado high boost 31
  • 6. viFigura 2.3-15. Operadores de gradiente 32Figura 2.3-16. Operador Laplaciano 33Figura 2.3-17. Operación del operador Laplaciano 33Figura 2.3-18. Umbralizacion de una imagen 34Figura 2.3-19. Matriz de coocurrencia 42Figura 2.4-1. Arquitectura para el dispositivo LM9630 producido por [42] 45Figura 2.4-2. Arquitectura basada en un FPGA para el procesamiento en tiempo real de imágenespropuesto por [43]45Figura 2.4-3. Arquitectura basada en un FPGA para la captura de imágenes de un sensor CMOS,propuesto por [44]46Figura 2.4-4. Bloque DSP para la captura de imágenes de un sensor CMOS, propuesto por [7] 47Figura 2.4-5. Arquitectura basada en un FPGA para la corrección de las distorsiones que generan loslentes en una imagen propuesta por [45]47Figura 2.4-6. Arquitectura basada en un FPGA para la corrección de las distorsiones que generan loslentes en una imagen propuesta por [46]48Figura 2.4-7. Arquitectura basada en un FPGA para el cálculo del histograma propuesta por [47] 49Figura 2.4-8. Arquitectura basada en un FPGA de un filtro FIR bi-dimensional [48] 50Figura 2.4-9. Arquitectura basada en un FPGA de un filtro Gausiano [49] 50Figura 2.4-10. Arquitectura basada en un FPGA de un filtro mediana [50] 51Figura 2.4-11. Arquitectura de un comparador basada en transistores pmos y nmos [51] 52Figura 2.4-12. Arquitectura de detector de bordes sobel implementado por [52] 52Figura 2.4-13. Arquitectura para la realización de las operaciones de dilatación y erosion en imágenesimplementada en [53]53Figura 2.4-14. Arquitectura para umbralizacion de una imagen mediante el algoritmo ISODATAimplementada en [54]53Figura 2.4-15. Arquitectura para la segmentación y extracción de características de un videoimplementada en [55]54Figura 2.4-16. Arquitectura para la umbralizacion por el método espacio temporal para videoimplementada en [56]55Figura 3.2-1. Lámpara usada para la iluminación de sitio de medición. Tomada de [1] 61Figura 3.2-1. Iluminación de la lámina de cuero 62Figura 3.3-1. Toolbox en Matlab para la calibración de cámaras. 63
  • 7. viiFigura 3.3-2. Patrón de Calibración de 64 cuadros de 20 mm c/u. 63Figura 3.3-3. Imágenes de calibración cargadas en el toolbox calibration. 64Figura 3.3-4. Parámetros extrínsecos de la cámara. 65Figura 3.3-5. Modelo de distorsión radial. 65Figura 3.3-6. Modelo de distorsión tangencial. 66Figura 3.4-1. Aplicación del Filtro mediana a diferentes laminas de cuero 68Figura 3.4-2. Supresión del fondo a una la lámina de cuero por diferencia con el fondo 70Figura 3.4-3. Supresion del fondo a una la lámina de cuero por filtrado bottom hat 71Figura 3.4-4. Mejoramiento de bordes a una lamina de cuero sin fondo, por filtrado High boost 73Figura 3.5-1. Figuras geométricas de prueba y sus histogramas 77Figura 3.5-2. Umbralizacion de la figura cuadrado de 2500 pixeles 78Figura 3.5-3. Umbralizacion de la figura circulo de 1861 pixeles 80Figura 3.5-4. Umbralizacion de la figura triangulo de 16000 pixeles 82Figura 3.6-1. Láminas de cuero capturadas en escala de grises 83Figura 3.6-2. Histogramas de las láminas de cuero en escala de grises. 85Figura 4.1-1 Diagrama de bloques para medir una lámina de cuero 90Figura 4.2-1 Bloque funcional para la adecuación de la imagen 91Figura 4.2-2 Arreglo sistólico de un filtro mediana 92Figura 4.2-3 Arreglo sistólico de un filtro mediana mejorado en [2] 93Figura 4.2-4 Filtro no lineal tipo mediana implementado en pipeline 94Figura 4.2-5 circuito de manejo de memoria y la imagen de ejemplo 97Figura 4.2-6 Bloque hardware del restador de fondo y su funcionamiento 100Figura 4.2-7 Elementos estructurales para las operaciones de dilatación y erosión 101Figura 4.2-8 Arquitectura pipeline para realizar las operaciones de dilatación y erosión 102Figura 4.2-9 Simulación de las operaciones de dilatación y erosión 104Figura 4.2-10 Arquitectura pipeline para realizar el filtro high boost 105Figura 4.2-11 Simulación del filtrado high boost 107Figura 4.3-1 Imagen de prueba para calcular el umbral de Otsu 109
  • 8. viiiFigura 4.3-2 Umbralizacion de Otsu de forma grafica 110Figura 4.3-3 Cálculo en hardware del histograma 112Figura 4.3-4 Arquitectura hardware del bloque estadístico 112Figura 4.3-5 Arquitectura hardware del bloque que cálculo el umbral de Otsu 113Figura 4.3-6. Arquitectura hardware para el cálculo del umbral ISODATA 115Figura 4.3-7 Algoritmos intermodal mostrado gráficamente 117Figura 4.3-8. Arquitectura hardware del algoritmo intermodal 118Figura 4.3-9 Cálculo del mínimo valle gráficamente 119Figura 4.3-10. Calculo del umbral valles y colinas 120Figura 4.4-1. Círculos de prueba 121Figura 4.4-2. Intersección de las imágenes binarias 122Figura 4.4-3. Arquitectura a bloques para el cálculo del área optimo 125
  • 9. ixLISTA DE TABLASTabla 3.2-1. Muestras tomadas en el área de medición 62Tabla 3.3-1. Valores de calibración de la cámara 64Tabla 3.3-2. Valores de calibración para cada punto 67Tabla 3.5-1. Algoritmos de umbralizacion a evaluar 75Tabla 3.5-2. Calculo de los valores de los criterios de selección para la figura en forma de cuadrado 79Tabla 3.5-3. Calculo de los valores de los criterios de selección para la figura en forma de círculo 80Tabla 3.5-4. Calculo de los valores de los criterios de selección para la figura en forma de triangulo 82Tabla 3.6-1. Resultados de simulación de la medida del cuero para la lamina de la figura 3.6-1a 86Tabla 3.6-2. Resultados de simulación de la medida del cuero para la lamina de la figura 3.6-1b 86Tabla 3.6-3. Resultados de simulación de la medida del cuero para la lamina de la figura 3.6-1c 86Tabla 3.6-4. Resultados de simulación de la medida del cuero para la lamina de la figura 3.6-1d 87Tabla 4.2-1 Resultados de simulación del filtro mediana 98Tabla 4.2-2 Resultados de simulación del supresor del fondo 100Tabla 4.2-3 Resultados de simulación del filtro Bottom hat 105Tabla 4.2-4 Resultados de simulación del filtro High boost 108Tabla 4.3-1 Resultados de simulación del umbralizador de Otsu 114Tabla 4.3-2 Resultados de simulación del umbralizador ISODATA 116Tabla 4.3-3 Resultados de simulación del umbralizador Intermodal 119Tabla 4.3-4 Resultados de simulación del umbralizador valles y colinas 120Tabla 4.4-1. Resultados de las intersecciones de los círculos mostrados en la figura 4.3-2 123Tabla 4.4-2 Resultados de simulación para el cálculo del área optima 125
  • 10. 5INTRODUCCIÓNLas láminas de cuero son comercializadas de acuerdo al tamaño de su superficie y lasunidades típicas son: el decímetro cuadrado, el pie cuadrado y el metro cuadrado. Pararealizar esta medida se utilizan actualmente sistemas electrónicos de medición, en sumayoría de fabricación extranjera, esto conlleva a los problemas de falta de soporte ymantenimiento, además, la electrónica incorporada en todo el sistema usa en promedioentre 80 y 160 sensores fotoeléctricos, los cuales son propensos a fallas por contaminacióndel medio ambiente u oxidación por las sustancias usadas en el proceso, lo que conlleva aun mantenimiento frecuente, generando interrupciones en el proceso de producción y altoscostos por reparación o importación de sus repuestos.Si la cantidad de partes electrónicas se disminuye o se integra en bloques más pequeños ycompactos, se puede disminuir las fallas del sistema y los inconvenientes en el proceso demedición del área de una lámina de cuero. Entonces, con el propósito de mitigar losanteriores inconvenientes en los equipos electrónicos usados en la medición de una láminade cuero, esta tesis de maestría presenta el diseño de un microsistema basado en FPGAspara medir el área de una lámina de cuero. Es decir, mediante la implementación enhardware de algoritmos de visión artificial usando FPGAs es posible realizar la medicióndel área de una lámina de cuero de una forma confiable y robusta.1.1 MotivaciónEn las actividades que se llevan a cabo en las curtiembres, uno de los procesos másimportantes es la medición del área de una lámina de cuero, ya sea el cuero azul (curtido encromo) o el cuero terminado, el cual es medido en decímetros cuadrados o pies cuadrados.Los equipos de medición son generalmente electrónicos, aunque anteriormente se usabanmétodos manuales o mecánicos. Información más detallada sobre este aspecto puede serconsultada en [1], el cual es un enlace en internet que muestra los diferentes métodos demedición.Los equipos electrónicos presentan mayores ventajas sobre los sistemas de mediciónmecánicos y/o manuales debido a su precisión y velocidad. En la Figura 1.1-1, se observaun esquema de un equipo electrónico tradicional.Un equipo electrónico tradicional para medir el área de una lámina de cuero estáconformado por:Capítulo 1
  • 11. Introducción6• Mesa transportadora: Es un sistema mecánico que se encarga de desplazar el cuerosobre el arreglo de sensores fotoeléctricos y bajo el sistema de iluminación.• Sistema de iluminación: Este sistema se encarga de iluminar el arreglo fotoeléctricoy debe mantener una iluminación constante.• Arreglo de sensores fotoeléctricos: Este arreglo se encarga de capturar lainformación de la lámina del cuero cuando se desplaza sobre la mesa.Figura 1.1-1. Sistema electrónico tradicional para medir el área de una lámina de cuero.El error porcentual en los equipos electrónicos tradicionales está entre 1% y 2%, lo cual esdebido a que existe una distancia entre cada fotosensor de 2 cms. Sin embargo, el errorpuede aumentar si existen cambios en la velocidad de la banda transportadora o en laintensidad de la luz de las lámparas.Adicionalmente, los equipos electrónicos tradicionales destinados a trabajar con cuero azulsufren un fuerte deterioro de las tarjetas electrónicas, debido a que estas láminas de cueroestán impregnadas de cromo, lo cual conduce a la sulfatación de las partes metálicas y laspistas de cobre en los circuitos impresos. Este tipo de deterioro produce un error mayor enla medida y en consecuencia la confiabilidad se reduce.Teniendo en cuenta, las ventajas y falencias que tienen los equipos electrónicostradicionales, en esta tesis se presenta el desarrollo de un equipo electrónico de medicióndel área de las láminas de cuero, el cual usa una tecnología diferente a la tradicional ycumple con las siguientes características:• Alta confiabilidad: Error relativo inferior al 1%• Alta robustez: Equipo bien compacto y separado físicamente de las sustanciasquímicas destructoras del cobre.
  • 12. Introducción7En este caso, el sistema electrónico de medición es un microsistema basado en FPGAs quepermite implementar varias técnicas o algoritmos de visión artificial en hardwareconsiderando procesamiento paralelo. En la Figura 1.1-2 se muestra el sistema de visiónartificial basado en FPGAs para medir el área de una lámina de cuero.Figura 1.1-2. Sistema de visión artificial basado en FPGAs para medir el área de una lámina decuero.1.2 Contribución de la TesisEn esta tesis se presenta el diseño de un microsistema usando FPGAs para medir el área deuna lámina de cuero. La principal contribución consiste en que el sistema desarrolladopresenta una alta confiabilidad debido a que se implementaron 4 algoritmos.Adicionalmente, el sistema presenta una alta robustez debido a que se encuentra losuficientemente separado de la lámina de cuero. Teniendo en cuenta estas ventajas, estesistema de medición es altamente competitivo con respecto a los productos existentes en elmercado. Los algoritmos de umbralización en hardware son: OTSU, ISODATA, intermodaly cálculo del valle.1.3 Organización de la TesisLa tesis está organizada en cinco capítulos. En el capítulo 1, se describen losinconvenientes que presentan los sistemas electrónicos de medición tradicionales; en elcapítulo 2 se presenta el marco teórico necesario para soportar este proyecto; en el capítulo3 se presenta una descripción sobre los métodos que permiten realizar una correctaseparación entre la imagen de la lámina de cuero y la imagen de la mesa. En el capítulo 4 sepresenta el diseño en hardware del microsistema de medición con los algoritmosimplementados y finalmente en el capítulo 5 se presentan las conclusiones y el trabajofuturo.
  • 13. Introducción8Bibliografía[1] http://www.cueronet.com/tecnicacuero.htm
  • 14. 92.1 IntroducciónEn este capítulo se presentan los conceptos teóricos utilizados en el diseño delmicrosistema basado en FPGA para la medición del área de una lámina de cuero. En estecaso, se usa una cámara de video como sensor de captura de la imagen de la lámina decuero, para ser procesada digitalmente y obtener de forma precisa y confiable la medida desu área. Los algoritmos de procesamiento de la imagen son implementados en hardware deforma embebida sobre el FPGA con el propósito de lograr mejores resultados en cuanto adesempeño, portabilidad y confiabilidad. Por lo tanto, con el propósito de alcanzar unexcelente desempeño del diseño es necesario entender muy bien, las diversas técnicas parael procesamiento digital de imágenes y sus posibles implementaciones en hardware.En general, cualquier sistema para capturar una imagen y procesarla digitalmente debedisponer como mínimo de:1. Sistema de adquisición e iluminación de las imágenes: cámara de video y lámparasde iluminación uniforme.2. Sistema de procesamiento y visualización: tarjeta electrónica en la cual seimplementan en hardware los algoritmos de procesamiento de imágenes.En este orden de ideas, se hace necesario realizar el estudio teórico sobre diversos temas devisión por computador. En la Figura 2.1-1 se muestran los diferentes elementos que hacenparte de un sistema de visión por computador y más exactamente el sistema desarrollado eneste trabajo para la medición de una lamina de cuero.Capítulo 2
  • 15. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes10Figura 2.1-1 Sistema para medir el área de una lámina de cuero usando un microsistema basado enFPGA.En este capítulo se presentan los fundamentos teóricos del sistema de captura de la imagen,del sistema de iluminación técnicas usadas para el procesamiento digital de la imagen deuna lámina de cuero, y algunas implementaciones en hardware de estos algoritmos.En la sección 2.2 se presentan los fundamentos del sistema de adquisición de imágenes, queabarca desde la captura de la imagen, el modelo pinhole, los modelos de distorsión, hastalos modelos de iluminación para el sistema de captura.En la sección 2.3 se presenta el marco teórico de diversas técnicas de procesamiento digitalde imágenes que permiten dar mejor contrastes a la imagen analizada, destacando lascaracterísticas de interés. También se presentan las seis técnicas de umbralización con laexplicación de varios algoritmos según sus técnicas.
  • 16. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes11En la sección 2.4 se presentan dieciseis implementaciones en hardware, entre las cuales sedescriben arquitecturas para la captura de la imagen, para el realce y mejoramiento de laimagen y para la umbralización de la imagen.2.2 Fundamentos del Sistema de Captura de una ImagenPara realizar una buena captura de una imagen se deben tener presentes, aspectos como eltipo de sensor de captura que se va a usar, ya que si no se logra una buena copia digital dela imagen a tratar, se hará más complejo el proceso de análisis de su información y laextracción de sus características. De igual modo se deben conocer aspectos como el modelomatemático del sistema de captura (pinhole) y las distorsiones presentes en el lente y asícorregirlas antes de iniciar su análisis. Otro aspecto importante que influye en el sistema decaptura de la imagen es el sistema de iluminación, ya que si la imagen se ilumina de formaerrónea esta imagen presentará efectos de sombras o brillos que alteraran la información dela imagen.2.2.1 Imagen digitalUna imagen es una función continua F(x,y), donde las coordenadas x, y son variablesespaciales del plano donde se forma la imagen. La amplitud de la función F, es laintensidad en esa coordenada. Una imagen también se define por dos funciones separadas:Una es la iluminación L(x,y) y la otra la reflectancia R(x,y) y es definida por la ecuación2.2-1. Este tema es ampliado en [1], en el capitulo 2.),().,(),( yxLyxRyxF = (2.2-1)Cuando la posición (x,y) y los valores de la amplitud de la función F son cantidadesdiscretas finitas, esta imagen es llamada una imagen digital. El proceso de discretizar lasvariables espaciales x, y se conoce como muestreo y está definida por la ecuación 2.2-2,gráficamente se observa en la figura 2.2-1.∫ ∫∞∞−=−− ),(),(),( 0000 yxfdxdyyyxxyxf δ (2.2-2)
  • 17. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes12Figura 2.2- 1. Representación grafica de la función muestreo bidimensional.La discretización de la amplitud S se denomina cuantización. Este proceso consiste enasignarle a cada localización discreta x,y un valor entero 2b, donde b es el número de bitsasignados a cada nivel de gris. La discretización y cuantización es descrita gráficamente porla figura 2.2-2.Figura 2.2-2. Representación grafica del proceso de discretización y cuantización.
  • 18. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes132.2.2 Sistema de Adquisición de una ImagenPara la correcta adquisición de una imagen se debe contar con un buen sistema de captura,donde se tengan presentes aspectos como la tecnología de fabricación y los distintosparámetros intrínsecos y extrínsecos del sistema. Referente a la tecnología de fabricación,actualmente las cámaras de video están construidas por sensores de estado sólido como lasCMOS y CCD, en [2] el autor describe tendencias sobre el uso de sensores CMOS y en [3]se hace una revisión sobre esta tecnología. En [4] se muestra un diseño híbrido entre ambastecnologías y en [5] se presenta una aplicación de un sensor CCD para la segmentación deimágenes. Se debe tener presente que los sensores CMOS se pueden integrar más que laCCD, consumen menos potencia pero la imagen es de menor calidad, y son ampliamenteusados en cámaras para PC, sistemas de seguridad, escáneres códigos de barras entre otrossistemas de bajo costo. Mientras las CCD son de mayor tamaño, de más consumo pero demejor calidad, son usadas frecuentemente en fotografía digital, aplicaciones digitales dealta precisión y científicas. En la figura 2.2-3 se observan los sensores tipo CMOS y CCD.a)b)Figura 2.2-3. Dispositivos de captura.a) Sensor CMOS. b) Sensor CCDEstos sensores de captura tienen características que deben ser tenidas en cuenta a la hora deseleccionarlo, entre las características más relevantes tenemos:1. Responsividad luminosa: Es el nivel de señal que es capaz de ofrecer el sensor por cadaunidad de energía óptica incidente. Se define por la ecuación 2.2-3∫∫ΦΦ=λλλλλλλλdVdsKmSAlxASenedfdfli)()()()(.)8.632((2.2-3)
  • 19. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes14Donde: Sli es la responsividad luminosa en unidades de [Amperios/lux]. Sdf (632,8) es laresponsividad absoluta del detector fotométrico a 632,8 nm. Φe(λ) es la distribuciónespectral de la fuente iluminante tipo A. Sn(λ) es la responsividad espectral relativa deldetector fotométrico. V(λ) es Eficiencia espectral luminosa para la visión fotópica. Km esla eficiencia espectral luminosa máxima (683 lm/W). Adf es el área del detectorfotométrico. Mayor información sobre este tema puede ser consultada en [6].2. Relación señal a ruido o SNR (Signal Noise Relation): El SNR da un indicador decuantos fotones inciden sobre el sensor de captura o la superficie del fotodiodo de captura,sobre otros factores que afectan negativamente la imagen original. El SNR está dado por laecuación 2.2-4cvTiiqTiiSNRdcphphph 2210)(log20)(σσ +++= (2.2-4)Donde: SNR(iph) es la relación de señal a ruido sobre sensor de captura o el fotodiodo.q(iph+idc) es la carga de los electrones incidentes en el fotodiodo y la corriente depolarización del mismo. T es el periodo de exposición del fotodiodo en la captura de laimagen. σ2v es la varianza del ruido en el circuito. σ2c es la varianza antes de iniciar laconducción el fotodiodo. iph es la corriente del fotodiodo. Mayor ampliación sobre estetema puede ser consultada en [7], en el numeral 1.2.13. Rango Dinámico: Es la razón entre el máximo nivel de luminosidad que el sensor puedemedir antes de saturarse y el mínimo nivel descontado el ruido de lectura. El rangodinámico está definido por la ecuación 2.2-5.cvTiqQDRphsat2210log20σσ ++= (2.2-5)Donde: DR es el rango dinámico. qiph es la carga de los electrones incidentes en elfotodiodo. T es el periodo de exposición del fotodiodo en la captura de la imagen. σ2v es lavarianza del ruido en el circuito. σ2c es la varianza antes de iniciar la conducción elfotodiodo. Mayor ampliación sobre este tema puede ser consultada en [7], en el numeral1.2.14. Velocidad de captura: La velocidad de captura de una imagen está dada por la cantidadde imágenes que puede capturar en un segundo y está representado por las siglas del FPS(Frames Per Second). Podemos citar dos arquitecturas de captura de video. La arquitecturade lectura digital que permite velocidades de captura de hasta los 10KFPS y laarquictectura de lectura analógica que permite velocidades de captura de hasta 400 MFPS.La ecuación 2.2-6 describe la velocidad de captura para una arquitectura digital secuencialde píxel por píxel (PBP). En [8] el autor hace un análisis de las diferentes arquitecturas parala captura de imágenes.
  • 20. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes151−+= ROADCPBP xnbHxVFR ττ (2.2-6)Donde, H y V, son el número de filas y columnas del arreglo de sensores, ADCτ es el tiempoque toma la conversión de análogo a digital, ROτ es el tiempo que tarda el dispositivo enenviar la conversión, b es el número de bits y n es el número de salidas paralelas.Otras características que deben ser tenidas en cuenta son: Las densidad de píxeles, estacaracterística describe la relación entre el número de píxeles y el tamaño del sensor, entremas área se disponga para la misma cantidad de píxeles, mayor será el tamaño de este píxel,por lo tanto mayor la iluminación recibida, dando como resultado mayor calidad de laimagen capturada. La respuesta uniforme, con esta característica se espera que un píxelsometido al mismo nivel de excitación de luz que sus vecinos no presente cambiosapreciables respecto de ellos. El Blooming es el fenómeno por el cual un píxel que haalcanzado la saturación empieza a saturar a sus vecinos, creando efectos y patrones nodeseados.2.2.3 Modelo PinholeEl sistema de captura para imágenes más sencillo, es el modelo pinhole, el cual estácompuesto por una cámara con un orificio infinitamente pequeño y por este los rayos de luzentran a la cámara y forman una imagen del cuerpo situado en frente de este orificio en suinterior, pero de forma invertida. En [9] el autor, en el capitulo11 hace la descripción delmodelo pinhole y la proyección de perspectiva que se analiza a continuación.En el modelo pinhole, todos los rayos provenientes de un objeto atraviesan un fino agujeroe impactan en la cámara o el sensor de captura en el caso de las cámaras electrónicas.Debido a que los rayos de luz pasan a través de los lentes y estos no tienen uncomportamiento lineal se presentan deformaciones en la imagen proyectada dentro de lacámara o en el sensor de captura, por lo tanto el modelo pinhole debe ser corregido pormedio de parámetros que corrijan su comportamiento no lineal y lo aproximen a laapariencia real del objeto.En este modelo, el sistema de referencia de la cámara se sitúa en el centro de la proyección,coincidiendo el eje z de este sistema con el eje óptico o eje axial. En esta disposición deejes, el plano imagen, de coordenadas u,v, se encuentra situado a una distancia igual a lalongitud focal del objetivo, de forma perpendicular al eje óptico. La intersección del ejeóptico con el plano imagen se denomina punto principal.El centro de proyección o centro óptico de la cámara se supone constante pero es a prioridesconocido. El plano imagen normalmente se sitúa por delante del centro de proyección,para tener una imagen sin inversión. En la Figura 2.2-4, se muestra un diagrama del ModeloPinhole.
  • 21. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes16Figura 2.2-4. Modelo Pinhole.Un punto Xcam expresado en el sistema de coordenadas de la cámara, con coordenadas [X YZ], se proyecta en un punto del plano imagen Xim de coordenadas (x,y) aplicando el modelopinhole. Los valores de las coordenadas del plano imagen se obtienen a partir de lasecuaciones de proyección de perspectiva para un objetivo de distancia focal f , suponiendoque Z > f , esto es, todos los puntos en análisis se encuentran en frente de la lente, según laecuación 2.2-7=YXZfyx(2.2-7)Las coordenadas en píxeles (u,v) de esta posición (x,y) en el plano imagen se obtienenutilizando el tamaño horizontal y vertical de los píxeles. Posteriormente, se debenreferenciar dichos valores al origen superior izquierdo de la imagen en el sensor, por lo quese adiciona el valor del punto principal (u0,v0), el cual viene dado en píxeles.Dicha conversión se efectúa aplicando la expresión contenida en 2.2-8, realizando latransformación entre el espacio euclidiano de la cámara (plano imagen con distancia z=-focal) y el sensor de la imagen 2D con origen (0,0) situado en la parte superior izquierda dela imagen captada.00..vysvuxsuyx+=+=(2.2-8)El punto tridimensional Xcam correspondiente al píxel de impacto (u,v) no es único. Todoslos puntos pertenecientes a la recta que une el centro de proyección C con el punto Xcaminicialmente considerado son posibles puntos originales. Así cualquier punto M de la rectaR con coordenadas (X,Y,Z) cumple la igualdad de la ecuación 2.2-9, al proyectarse sobre elpíxel (u,v):
  • 22. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes17CamyxZYXvfufvu=10000100λ (2.2-9)Donde,fsffsfyyxx..==El subíndice cam para las coordenadas (X,Y,Z) indican que el punto M viene expresado enel sistema de referencia de la cámara. En general, las coordenadas para objetos de la escenavendrán dadas para un sistema de referencia global o particular para un objeto. Además senota que el centro C del sistema de coordenadas de la cámara, centro de proyección, no seconoce a priori.Si se consideran las coordenadas (X,Y,Z)w de un punto M de la escena para un ciertosistema de referencia externo, dichas coordenadas se tienen que expresar en el sistema decoordenadas de la cámara para así poder aplicar las ecuaciones de proyección del modelopinhole. La transformación entre ambos sistemas de coordenadas viene expresada comouna matriz de rotación y traslación denominada matriz extrínseca (RText).Conocida dicha matriz RText se puede realizar la transformación de coordenadas de unpunto expresado en el sistema de referencia W al sistema de coordenadas de la cámara C.Dicha ecuación, haciendo uso de coordenadas homogéneas, se describen en la ecuación2.2-10WcamZYXrrrrrrrrrZYX=10001332313322212312111(2.2-10)La notación habitualmente empleada para expresar las ecuaciones de proyección P de unpunto M (X,Y,Z)w sobre el plano imagen en el píxel de coordenadas m (u,v) se describen enla ecuación 2.2-11.PMm → (2.2-11)Donde la matriz P puede ser descrita por la ecuación 2.2-12:=10000001000033231332221231211100zyxyxtttrrrrrrrrrvfufP (2.2-12)
  • 23. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes18La proyección perspectiva o pinhole está definida a falta de un factor de escala λ.El modelo pinhole sirve para modelar correctamente lentes delgados, dado que el espesorde los mismos se considera despreciable y se puede decir que todos los haces de rayos quelo atraviesan lo hacen siempre por el mismo centro de proyección. En el caso, de trabajarcon lentes donde el espesor no es despreciable, lentes gruesos, este modelo no tiene encuenta que la transformación entre los puntos del espacio y sus puntos correspondientes enel plano imagen vienen dados por dos planos principales diferentes. Por tanto, el parámetrof representa la distancia del sistema de referencia de la cámara al plano imagen la cual noes, en general, equivalente a la distancia focal efectiva del sistema óptico, cuyo valor es unapropiedad intrínseca de los lentes.El modelo pinhole, aunque inválido para proporcionar un modelo en el espacio euclidiano,es utilizado como modelo de formación de las imágenes en el espacio proyectivo. Es decir,no puede proporcionar valores reales de distancias euclidianas pero sí modelar la captura deobjetos en una escena sobre el plano imagen al aplicar directamente la proyecciónperspectiva.2.2.4 Corrección de la DistorsiónCuando se trata de realizar mediciones a través de una cámara como en este proyecto, elmodelo pinhole debe ser corregido con la ayuda de otros parámetros que modelan unadistorsión para lograr medidas de buena precisión. Es decir, además de considerar laproyección perspectiva ideal dada por el modelo pinhole, hay que compensar los efectosreales que no se tienen en cuenta. La distorsión introducida por los lentes se añade a lascoordenadas del modelo pinhole mediante un polinomio en función de su posición (u,v)modificándolo adecuadamente. Es decir la distorsión es la distancia existente entre elimpacto ideal dado por el modelo pinhole (modelo de proyección de perspectiva) y laposición real que ocupa cada píxel en la imagen. En [10] el autor describe la calibración deuna cámara con zoom y movimiento pan-tilt.Existen diferentes tipos de distorsión que vienen a modelar y corregir fenómenos yaberraciones ópticas de distinto origen. En la calibración, se suelen considerar únicamentedos tipos: distorsión radial y tangencial. La distorsión denominada radial se observa deforma cada vez más apreciable al considerar píxeles más alejados del punto principal. Paracámaras de gran angular donde la distancia focal es muy corta, se interpola un polinomio deaproximación para corregir dicha posición con un grado de hasta quinto orden, que sondescritas por las ecuaciones 2.2-13 y 2.2-14.20202 −+ −=yx fvvfuur (2.2-13)Distancia radial = 10584634221 rarararara ++++ (2.2-14)
  • 24. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes19En cámaras de distancia focal muy corta es recomendable hacer uso de los cincoparámetros ai, para cámaras con distancia focal intermedia el número de parámetros decorrección de la distorsión es menor. En la Figura 2.2-5 se muestran los efectos de ladistorsión radial en una imagen.Por otra parte, para corregir la no perpendicularidad entre el eje óptico del lente fijo y elplano imagen se introduce un término de distorsión tangencial. Dicha distorsión expresadapor un polinomio de segundo orden y es modelada por los dos parámetros p1 y p2, siendodiferentes las expresiones para las coordenadas u y v, como se describen en las ecuaciones2.2-15, 2.2-16, 2.2-17, 2.2-18, 2.2-19. Los valores de p1 y p2 varían de una cámara a otra.20 −=xfuuu (2.2-15)20 −=yfvvv (2.2-16)222vur += (2.2-17)uvpurpuTangencialDist 2221 2)2(__ ++= (2.2-18)uvpvrpvTangencialDist 1222 2)2(__ ++= (2.2-19)Estos modelos de distorsión cubren una extensa variedad de distorsiones, siendo capaz demodelar sin error cualquier fenómeno típico de distorsión de los lentes actuales de distanciafocal fija.En el proceso de calibración de la cámara y posterior utilización del mismo en lascoordenadas ideales del modelo pinhole, se les añade los términos de distorsión radial ytangencial correspondientes, como se describen en las Ecuaciones 2.2-20 y 2.2-21.udistradDistuuZcamXcamfuu x _tan__*)( 00 +−+=− (2.2-20)vdistradDistvvZcamYcamfvv y _tan__*)( 00 +−+=− (2.2-21)
  • 25. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes20Figura 2.2-5. Efectos de distorsión radial.2.2.5 Iluminación de la imagenLa iluminación es una componente muy importante en un sistema de visión porcomputador, ya que permite al sistema de captura de la imagen registrar de forma máseficiente las características del objeto en análisis.La iluminación se define como el flujo luminoso por unidad de superficie (Lúmenes/metrocuadrado) y está dada por la ecuación 2.2-22, su unidad de medida es el LUX.0dsdEφ= (2.2-22)Si el tipo de iluminación es de una fuente puntual, su intensidad luminosa estará definidapor la potencia luminosa de la fuente en esa dirección por unidad de ángulo solido y esmedido en Lúmenes sobre Estereorradián y su unidad es la Candela. Se define por laecuación 2.2-23.Ω=ddIφ(2.2-23)La iluminación E y la intensidad luminosa I se relacionan por medio de la ley inversa de loscuadrados y es descrita por la ecuación 2.2-24.2dIE = (2.2-24)Donde d2es la distancia entre la fuente de iluminación y el objeto iluminado. En la figura2.2-6 se observa esta relación.
  • 26. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes21Figura 2.2-6. Ley de los cuadradosPara relacionar la iluminación con el ángulo formado por la dirección del rayo incidente yla perpendicular a la superficie se hace uso de la ley del coseno que esta descrita por laecuación 2.2-25αcos2dIE = (2.2-25)A continuación se analiza la ley del coseno para los tipos de iluminación observados en lafigura 2.2-7.1. Iluminación normal2. Iluminación horizontal3. Iluminación verticalFigura 2.2-7. Tipos de iluminación
  • 27. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes221. Iluminación normal: En este caso el ángulo de inclinación es de 900y la iluminación ladescribe la ecuación (2.2-24)2. Iluminación horizontal: En este caso la podemos relacionar en función de la altura delelemento de iluminación h y se describe por la ecuación 2.2-26α32coshIE = (2.2-26)3. Iluminación vertical: En este caso, entre los ángulos α y β existe una relación sencilla, yaque ambos pertenecen a un triángulo rectángulo, por los tanto α + β + 90=180 y aplicandorelaciones trigonométricas podemos llegar a la ecuación 2.2-27.αsendIE 2= (2.2-27)Mayor información sobre luminotecnia puede ser consultada en [11]2.3 Técnicas para el Procesamiento Digital de ImágenesCuando una imagen es capturada por el sistema de adquisición de imágenes, se debenaplicar una serie de algoritmos que permitan mejorar la imagen capturada y realzar lascaracterísticas importantes del objeto en análisis. Actualmente existe muchas técnicas quepermiten el procesamiento digital de una imagen, pero según la aplicación se deben escogertécnicas adecuadas que permitan transformar la imagen capturada en la imagen esperada.En este proyecto se debe adecuar, contrastar y separar la lámina de cuero del resto de laimagen, para poder realizar la medida correcta de dicha lámina. En este orden de ideas sedeben estudiar las técnicas de procesamiento de la imagen que permitan el mejoramiento yla segmentación de la imagen, por lo tanto se abordarán los temas de mejoramiento ysegmentación de las imágenes.2.3.1 Mejoramiento de la ImagenLas técnicas de mejoramiento de la imagen tienen como objetivo principal procesar laimagen capturada y modificarla de tal forma que la imagen resultante muestre lascaracterísticas que deseamos analizar.Las técnicas de mejoramiento de la imagen se usan según el tipo de aplicación o problema aresolver, por lo tanto se analizaran las técnicas más competentes para este proyecto. Lastécnicas a analizar son:
  • 28. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes231. Operaciones morfológicas2. Filtrado en el dominio espacial2.3.1.1 Operaciones MorfológicasLas operaciones morfológicas aplicadas a imágenes, sirven para extraer sus componentesprincipales como su contorno, el esqueleto, cerco convexo entre otras. Estas técnicasmorfológicas también son usadas en el pre-procesamiento de la imagen mediante el uso defiltros morfológicos. En [1] en el numera 8.4 y en [12] se hace mayor análisis sobre estetema. A continuación se describirán las siguientes técnicas:1. Dilatación2. Erosión3. Apertura y cierre4. Transformaciónes top hat y bottom hat1. DilataciónEsta técnica consiste en adicionar píxeles al contorno de los objetos presentes en la imageny se define para imágenes en escala de grises como: La dilatación de escala de grises de fpor b, representada f ⊕ b, se define por medio de la ecuación 2.3-1{ }bf DyxDytxsyxbytxsfMaxtsbf ∈∈−−+−−=⊕ ),(;)(),(),(),(),)(( (2.3-1)Donde Df y Db son dominios de f y b, respectivamente. La condición de los parámetros dedesplazamiento (s – x) y (f – y) tienen que estar contenidos en el dominio de f. La dilataciónde una imagen puede ser observada en la figura 2.3-1.a) b)Figura 2.3-1. Proceso de dilatación de una imagena) Imagen original. b) Imagen dilatada
  • 29. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes242. ErosiónEsta técnica consiste en eliminar píxeles del contorno de los objetos presentes en la imagen.La erosión de una imagen se define mediante la ecuación 2.3-2(f θ b) { }bf DyxDytxsyxbytxsfMints ∈∈++−++= ),(;)(),(),(),(),( (2.3-2)Donde Df y Db son dominios de f y b, respectivamente. La condición de que los parámetrosde desplazamiento ( s + x ) y ( f + y ) tienen que estar contenidos en el dominio de f. Laerosión de una imagen puede ser observada en la figura 2.3-2.a) b)Figura 2.3-2. Proceso de erosión de una imagena) Imagen original. b) Imagen erosionada3. Apertura y CierreLa apertura y el cierre de una imagen son operaciones que resultan de la combinación de ladilatación y la erosión, por lo tanto, la apertura es una erosión seguida de una dilatación yse describe por la ecuación 2.3-3.)( bf o = (f θ b) ⊕ b (2.3-3)La operación de apertura en una imagen es usada para suavizar sus contornos, eliminarpequeñas protuberancias y romper conexiones débiles. La apertura de una imagen semuestra en la figura 2.3-3
  • 30. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes25a) b)Figura 2.3-3. Proceso de apertura de una imagena) Imagen original. b) Imagen con aperturaDe forma similar se define que el cierre es una dilatación seguida de una erosión y sedescribe por la ecuación 2.3-4.)()( bfbf ⊕=• θ b (2.3-4)La operación de cierre de una imagen es usada para suavizar contornos, rellenar detalles,rellenar vacios en el contorno y eliminar pequeños huecos. Esta operación es observada enla figura 2.3-4.a) b)Figura 2.3-4. Proceso de cerradura de una imagenImagen original. b) Imagen con cerradura4. Transformación Top Hat y Bottom HatLa transformación top hat sustrae a la imagen, la apertura de la imagen. Es útil para resaltarobjetos de color contrario al fondo o extraer detalles brillantes en presencia de sombras. Sedefine por la ecuación 2.3-5.
  • 31. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes26)( bffh o−= (2.3-5)En la figura 2.3-5 se observa esta transformacióna) b)Figura 2.3-5. Transformación top hat en una imagenImagen original. b) Imagen con transformaciónLa transformación bottom hat sustrae a la imagen la cerradura de la imagen, es útil paracapturar detalles oscuros en zonas iluminadas. Se define por la ecuación 2.3-6fbfh −•= )( (2.3-6)En la figura 2.3-6 se observa esta transformacióna) b)Figura 2.3-6. Transformación bottom hat en una imagenImagen original. b) Imagen con transformación
  • 32. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes272.3.1.2 Filtrado en el Dominio EspacialLos filtros en el procesamiento de digital de imágenes son usados para atenuar el ruido enlos píxeles de la imagen o resaltar las características que deseamos analizar o estudiar, losfiltros se pueden diseñar en el dominio espacial o en el dominio frecuencial. En esteproyecto solo se describirán los filtros suavizantes en el dominio espacial.Los filtros en el dominio espacial son el resultado de una operación de convolución talcomo lo describe la ecuación 2.3-7, donde el píxel p en la posición (i,j) es el resultado de laconvolución, mxn en el tamaño de la máscara usada y los elementos wk son loscomponentes de la máscara y los zk son los píxeles que intervienen en la operación.∑==mxnkkk zwjiP1),( (2.3-7)En la figura 2.3-7 se observa esta operación. En [1] en el numeral 4.3.2 el autor analiza mása fondo este temaFigura 2.3-7. Operación de convolución sobre una imagenEntre los filtros más importantes tenemos:1. Filtrado espacial paso bajo2. Filtrado por la mediana3. Filtrado espacial paso alto4. Filtrado high boost5. Filtros diferenciales
  • 33. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes281. Filtrado Espacial Paso BajoSegún la respuesta de impulso para un filtro espacial paso bajo, es necesario que loscoeficientes de la máscara del filtro sean positivos. Este filtro tiene especial aplicación parael suavizado o difuminado de una imagen. Un ejemplo de una máscara que puede ser usadapor esta imagen se muestra en la figura 2.3-8. Este filtro puede describirse por la ecuación2.3-8.=11111111191xhFigura 2.3-8. Máscara de convolución para un filtro paso bajo∑==Mii yxgMyxg1),(1),( (2.3-8)La operación sobre una imagen de este filtro puede observarse en la figura 2.3-9a) b)Figura 2.3-9. Filtrado paso bajoa) Imagen Original. b) Imagen filtrada por mascara de 35x352. Filtrado por la MedianaEl filtro mediana es un filtro no lineal, su operación consiste tomar los valores del píxel afiltrar y de su entorno, ordenarlos y posteriormente calcular el valor de la mediana. El
  • 34. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes29filtrado por la mediana tiene especial aplicación cuando el objetivo es la disminución delruido producido por componentes puntuales fuertes similares al ruido sal y pimienta, peropreservando los bordes de la imagen. Este filtro aplicado a una máscara de 3x3 se puededefinir por la ecuación 2.3-9 y su aplicación sobre una imagen en la figura 2.3-10.++++−+−++−−−=)1,1()1,()1,1(),1(),(),1()1,1()1,()1,1(),(jifjifjifjifjifjifjifjifjifmedianajip (2.3-9)a) b)Figura 2.3-10. Filtro medianaa) Imagen Original. b) Imagen filtrada por máscara de 3x33. Filtrado Espacial Paso AltoLa respuesta impulso necesaria para este filtro implica que el filtro debe tener coeficientesnegativos en la periferia de la máscara y en el centro valores positivos. Generalmente sonllamados filtros de realce, su principal aplicación está en la detección de los cambiosbruscos o desniveles de intensidad en la imagen, como es el caso de los bordes de unaimagen. Una máscara común que describe a este filtro puede observarse en la figura 2.3-11. Se puede representar por la misma ecuación del filtro paso bajo, dado por la ecuación2.3-8−−−−−−−−=11118111191xhFigura 2.3-11. Máscara de convolución para un filtro paso alto
  • 35. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes30La operación sobre una imagen puede observarse en la figura 2.3-12a) b)Figura 2.3-12. Filtrado paso altoa) Imagen Original. b) Imagen filtrada por mascara de 3x34. Filtrado High BoostEl filtro high boost es un caso especial del filtro paso alto donde el valor central de lamáscara esta dado por un valor w. Este valor w esta dado por un factor de amplificación Ade la imagen original, si A es mayor que 1, da como resultado la imagen original con bordesmas definidos, si A es igual a 1, el resultado es un filtro pasa alto normal. Se define por laecuación 2.3-8, pero cambiando el valor central de la máscara por A.La máscara de convolución para el filtro high boost puede ser descrita por la figura 2.3-13,y la aplicación de un filtro high boost puede ser apreciada en la figura 2.3-14.−−−−−−−−=1111111191wxhFigura 2.3-13. Máscara de convolución para un filtro high boostDonde w es igual a 9A-1, con A ≥ 1.
  • 36. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes31a) b)Figura 2.3-14. Filtrado high boosta) Imagen Original. b) Imagen filtrada con A = 1.75. Filtros DiferencialesLos filtros diferenciales tienen como característica principal que aumentan la nitidez de laimagen, el método más común de diferenciación de una imagen es el gradiente.El Operador Gradiente es un operador diferencial que resalta los cambios bruscos o bordesque tiene una imagen. Estos cambios bruscos son los píxeles alrededor de la imagen quepresentan variaciones rápidas en sus niveles de gris o de intensidad. El operador gradienteen una imagen f (x,y) sobre un punto (x,y) se define como un vector bidimensional y estadado por la ecuación 2.3-10 y su módulo por la ecuación 2.3-11.∂∂∂∂=∇yfxff (2.3-10)2222)( ∂∂+∂∂=+=∇yfxfGGfmag yx (2.3-11)Este operador gradiente puede implementarse usando máscaras de 2x2 o 3x3, como seobserva en la figura 2.3-15, donde se muestran sus diferentes formas. Una aplicación en ladetección de discontinuidades puede ser consultada en [13].
  • 37. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes32−1001− 0110a) −−−111000111−−−101101101b) −−−121000121−−−101202101c)Figura 2.3-15. Operadores de gradientea) Operador Roberts. b) Operador Prewitt. c) Operador Sobel2.3.2 Segmentación de imágenesLa segmentación tiene como objetivo extraer información de una imagen, dividiéndola ensus partes importantes u objetos. La segmentación se logra cuando los objetos de interésson separados de la imagen, para este proyecto en especial, cuando se logra separar lalámina del cuero del resto de la imagen. Información más profunda sobre segmentaciónpuede ser consultada en [1] en el capítulo 7.La segmentación de imágenes monocromáticas generalmente se basan en dos propiedadesbásicas de los niveles de gris: La discontinuidad y la similaridad. En los métodos basadosen discontinuidad se divide la imagen basándose en los cambios bruscos de los niveles degris, entre las técnicas mas comunes de la discontinuidad tenemos el operador gradiente quefue descrito en el numeral anterior y el operador Laplaciano.Los métodos basados en similaridad buscan construir objetos basándose en las regiones queforma la imagen. Su función es encontrar píxeles vecinos que tengan una propiedad encomún. Una de las técnicas más conocidas de este método es la umbralización.
  • 38. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes332.3.2.1 Operador LaplacianoEl operador Laplaciano es un operador de segunda derivada y tiene como objetivo principaldescubrir transiciones de intensidad en la imagen. El operador Laplaciano, al derivar dosveces la imagen genera un impulso al entrar al borde y otro al salir del borde de la imagen;en los demás lugares de la imagen su valor será cero. Esta característica lo hace ideal paradetectar con precisión la ubicación de los bordes de objetos o finales de imágenes de piezao materia prima en procesos industriales, pero es muy susceptible al ruido de píxeles que semezcla con el objeto a analizar en la imagen. Este operador se usa generalmente con otrosmétodos para lograr la detección óptima de los bordes ya que el operador por si solo generaimágenes de polaridad. (+ Positivo al entrar al borde, - negativo al salir del borde, 0 en elborde y demás partes de la imagen). Este operador esta descrito por la ecuación 2.3-12)(4)1,()1,(),1(),1(22222xfyxfyxfyxfyxfyfxff −−+++−++=∂∂+∂∂=∇ (2.3-12)Una máscara que puede describir este operador es observada en la figura 2.3-16−−−−=010141010hFigura 2.3-16. Operador LaplacianoLa aplicación de este operador sobre una imagen puede observarse en la figura 2.3-17a) b)Figura 2.3-17. Operación del operador Laplacianoa) Imagen Original. b) Imagen con aplicación del operador Laplaciano
  • 39. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes342.3.2.2 UmbralizaciónLa umbralización es una técnica de segmentación ampliamente utilizada en aplicacionesindustriales, donde existe una clara diferencia entre el objeto a extraer y el fondo de laimagen.Cuando se aplica un umbral T a una imagen, ésta quedará binaria, etiquetando con 0 lospíxeles que pertenecen al objeto y con 1 a los que pertenecen al fondo tal como se observaen las Figura 2.3-18.a) b)Figura 2.3-18. Umbralización de una imagena) Imagen Original. b) Imagen umbralizadaLos métodos de umbralización pueden ser implementados de forma manual o automática.En los métodos manuales se debe tener una iluminación uniforme, un fondo constante y unbuen contraste entre el objeto y el fondo. Con los métodos automáticos se busca obtenermayor robustez y se usan para ambientes en donde el ruido y la iluminación pueden no sersiempre uniformes.En [14] los autores hacen una evaluación entre los diferentes métodos de umbralización ylos clasifican en 6 grupos:1. Métodos Basados en la Forma del Histograma.En estos métodos se analizan las curvas, los valles y las colinas del histograma. Ejemplosde estos métodos son:
  • 40. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes35a. Umbralización basado en la concavidad del histograma: Este método se basa en elanálisis de los puntos de concavidad de la envolvente convexa de la función de masa deprobabilidad de la imagen. Los puntos más profundos en la concavidad convexa, soncandidatos potenciales para el umbral. La selección del umbral óptimo T, entre los puntoscandidatos seleccionados es obtenido por medio de la ecuación 2.3-13[ ]{ }))(()(maxmaxarg ipHullipT −= (2.3-13)Donde p(i) es la función de masa de probabilidad de la imagen, Hull(p(i)) es la envolventeconvexa de la función de masa de probabilidad de la imagen . Una aplicación moderna deesta técnica puede ser consultada en [15]b. Umbralización basado en los picos del histograma: Este método se basa en el análisis delos picos del histograma suavizado. Se genera una señal detectora de picos r(g) por mediode la convolución del histograma con el kernel de detección de picos, el cual escompletamente caracterizado por el parámetro N de suavizado, que se ajustaautomáticamente hasta alcanzar el número deseado de picos. La señal de detección estádada por la ecuación 2.3-14, y para binarización se reduce el número de picos I hasta dos.El umbral óptimo T es obtenido por la ecuación 2.3-15.1,..Ii),,,[( == iii smeS (2.3-14)1.0,s)-(1e 21 ≤≤+= γγγoptT (2.3-15)En [16] se describe una aplicación de este método.c. Umbralización intermodal: Sugiere que el histograma bimodal sea leído y se promedienen grupos de 3 valores consecutivos, hasta terminar con todos los datos, y se encuentren losdos valores máximos. Para estos dos valores máximos se calculan sus posiciones j y k, y elvalor de umbral esta descrito por la ecuación 2.3-16, donde gmax y gmin son los picosmáximos y mínimos del histograma y gmid es el punto medio del histograma∑=−=*min)()( minmaxmidgggopt gpggT (2.3-16)Para que este método funcione adecuadamente, el histograma no debe tener picos muyvariables, ni valles muy amplios y planos. Esta información puede ser consultada en [17].d. Otros métodos de umbralización basados en la forma del histograma son propuestos por[18], [19], donde hacen uso de la transformada wavelet y en [20] en autor propone unmétodo basado en una función de dos niveles y de forma iterativa se minimiza la varianzaentre estas funciones.
  • 41. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes362. Métodos Basados en Agrupamiento de Píxeles o Clustering.En estos métodos los píxeles son agrupados en dos partes, según sus niveles de gris,generalmente denominados fondo y objeto, o también pueden agruparse como dosdistribuciones gausianas. Ejemplos de estos tenemos:a. Umbralización ISODATA: (Iterative Self Organizing Data Analysis TEchiniques) procesalos patrones repetidamente y en cada iteración se asignan al grupo más cercano una serie deheurísticas con el objetivo de: eliminar agrupamientos poco numerosos, mezclaragrupamientos cercanos y dividir agrupamientos dispersos. Este algoritmo se caracterizapor usar la información directamente de la imagen. Este método es propuesto por [21]. Acontinuación se muestra el procedimiento para calcular el umbral ISODATA:1. Seleccione un umbral inicial T para el promedio de la intensidad.2. Particione la imagen en dos grupos: R1 y R2 utilizando T.3. Calcule los valores medios de las regiones µ1 y µ24. Asigne un nuevo umbral para T usando la ecuación 2.3-172)( 21 µµ +=T (2.3-17)5. Repetir los pasos 2,3 y 4 hasta que el valor de T no cambie.b. Umbralización de Otsu: El método de Otsu presenta buenos resultados cuando se trabajacon imágenes del mundo real, donde la presencia de ruido y la mala iluminación soncaracterísticas comunes de estos ambientes. Este método usa una imagen, la cual es unafunción bidimensional de la intensidad del nivel de gris, y está compuesta de N píxeles,cuyos niveles de gris se encuentran entre 1 y K, donde K es el máximo nivel de intensidad.Por ejemplo, en una imagen en escala de grises de 8 bits, el valor de K sería 255. El númerode píxeles con nivel de gris i, y la probabilidad de ocurrencia de este nivel se denominan fital como se describe en la ecuación 2.3-18. Este método es propuesto por [22] y se describea continuación.NfiP i=)( (2.3-18)Cuando la umbralización se realiza en dos niveles o binarización, los píxeles se dividen en2 clases, q1(i) y q2(i), donde los niveles de gris de q1(i) son [1..t*] y los niveles de q2(i) son[t+1…K], y son descritos por la Ecuaciones 2.3-19 y 2.3-20∑==tiiPiq11 )()( (2.3-19)∑+==ktiiPiq12 )()( (2.3-20)
  • 42. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes37La media de las clases q1(i) y q2(i) están descritos por las Ecuaciones 2.3-21 y 2.3-22∑==ti iqiiPt1 11)()()(µ (2.3-21)∑+==kti iqiiPt1 22)()()(µ (2.3-22)El método de Otsu define la diferencia de clases para una imagen usando la ecuación 2.3-23, y la clase 1 y clase 2 del histograma se describen usando las Ecuaciones 2.3-24 y 2.3-25)()()]([)(112121tqiPtitti∑=−= µσ (2.3-23))()()]([)(212222tqiPtitIti∑+=−= µσ (2.3-24))()()()()( 2222112ttqttqtw σσσ += (2.3-25)En este caso, mediante la minimización de la ecuación 2.3-25 se obtiene el umbral deOTSU. Un estudio comparativo de este algoritmo se describe en [23]d. Entre otros métodos de umbralización basados en agrupamientos de píxeles tenemos eldel mínimo error propuesto por [24], y la umbralización por agrupamientos difusospropuesto por [25].3. Métodos Basados en Información de la Entropía del Histograma.Estos métodos usan la entropía de la distribución de los niveles de gris de la imagen. Sucriterio se basa en encontrar un umbral óptimo que maximice la entropía entre el fondo y elobjeto en la imagen, y otros autores minimizan la entropía cruzada como un indicador depreservación de la información. Ejemplos de estos métodos tenemos:a. Umbralización basada en la maximización de la entropía. Este algoritmo divide laimagen en dos distribuciones de probabilidad, una que represente el objeto y otra querepresente el fondo. Se selecciona un valor t, tal que la suma de las entropías de estasdistribuciones de probabilidad sea máxima. Implementaciones de esta umbralización puedeser consultada en [26,27]. En este caso, se considera una función de probabilidad dedistribución no lineal descrita por la ecuación 2.3-26
  • 43. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes38NXNmNxNmeeNmfpd 9911),( −−−+= (2.3-26)Donde N es un número par positivo y m pertenece a un valor entero entre {1,2…NxN}. Laentropía asociada con el objeto y el fondo están descritas por las Ecuaciones 2.3-27 y 2.3-28),()(),(ln)(),(),( 0 1NmfpdtpmkptpmkpNtHtKANxNmAA ∑ ∑= =−= (2.3-27)),()(),(ln)(),(),(2551 1NmfpdtpmkptpmkpNtH tKBNxNmBB ∑ ∑+= =−= (2.3-28)En este caso, la función de criterio está dada por la ecuación 2.3-29),(),(),( NtHNtHNt BA +=Θ (2.3-29)El valor de umbral óptimo T se encuentra maximizando la ecuación 2.3-30),( NtArgMaxT Θ= (2.3-30)b. Umbralización Basado en el Cálculo de la Mínima Cross-entropía. En [28] proponen unalgoritmo que considera que el umbral de separación es la minimización de la distanciateórica de la información. La distancia está descrita por la ecuación 2.3-31 y es llamada ladistancia. Kullback-Leibler. Esta distancia es la medida entre las dos distribuciones delobjeto p(g) y el fondo q(g).)](),(),([arg 312211 TbmTbmTbmequalTopt ==== (2.3-31)La ecuación 2.3-32 describe la mínima cross-entropía.∑ ∑= +=+=TgGTgoptTgTgT0 1 bf])(mglogp(g))(mglogp(g)min[arg (2.3-32)Considerando la restricción que la imagen original y la imagen umbralizada tienen elmismo promedio de intensidad en el objeto y el fondo. La ecuación 2.3-33 describe laanterior consideración.∑ ∑∑ ∑ ≥ ≥≤ ≤==Tg TgbTg Tgf TmgTmg )(;)( (2.3-33)
  • 44. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes39c. Umbralización basada en la maximización de la entropía por medio de coeficientes depertenencia difusa. Este método propuesto en [29], es un método de umbralización que sebasa en un coeficiente de pertenencia difusa, el cual es un valor en escala de grises quesepara el fondo del objeto en una imagen. Este valor es calculado en base a la función deprobabilidad acumulada. El valor de pertenencia difuso está dado por la ecuación 2.3-34, elcual indica el grado de pertenencia al fondo de la imagen.)(2)()1(...)(5.0)(TPiTpiTpTpiTf−+−−+++=−µ (2.3-34)La ecuación 2.3-35 indica el grado de pertenencia del objeto en la imagen.))(-(12)()1(...)1(5.0)(TPiTpiTpTpiTb+++−++++=+µ (2.3-35)El valor de umbral de separación debe tener la máxima incertidumbre como se describe enla ecuación 2.3-365.0)()( == TT bf µµ (2.3-36)De tal forma que la ecuación 2.3-37 describe el óptimo valor de umbral.)()(minarg THTHT bfTopt −= (2.3-37)Las funciones Hb(T) y Hf(T) son descritas por las Ecuaciones 2.3-38 y 2.3-39))(log()()()(0∑=−=Tgff gTPgpTH µ (2.3-38)))(log()(1)()(1∑+= −−=GTgbb gTPgpTH µ (2.3-39)Una comparación de los métodos basados en la entropía pueden ser consultados en [30] yuna aplicación de los métodos de cross-entropia puede ser consultado en [31].4. Métodos Basados en los Atributos de la Imagen.Estos métodos utilizan características de la imagen como formas, texturas, niveles de gris,conectividad, etc. Su criterio se basa en encontrar un valor de umbral según el atributo
  • 45. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes40seleccionado que corresponda a una medida de similitud entre la imagen original y laimagen binarizada. Ejemplos de estos métodos tenemos:a. Umbralización Basado en el Cálculo de Preservación de Momentos: En [32] el autorpropone un algoritmo de umbralización que considera que una imagen en escala de griseses una versión borrosa de una imagen binaria ideal, por lo tanto se establece que los tresprimeros momentos de una imagen en escala de grises coincidan con los tres primerosmomentos de una imagen binaria. Los momentos de una imagen binaria bk y de una imagenen escala de grises mk, están descritos por las Ecuaciones 2.3-40 y 2.3-41∑==Ggkk ggpm0)( (2.3-40)kbbkffk mPmPb += (2.3-41)El umbral de separación está dado por la ecuación 2.3-42∑=p(g)q(g)log)(),( gqpqD (2.3-42)b. Umbralización por similitud difusa: En [33] se presenta un método que utiliza la teoríade conjuntos difusos para umbralizar imágenes. Considerando el índice difuso que seobtiene calculando la distancia entre el nivel de gris y el nivel binario. El conjunto de laimagen está descrito por la ecuación 2.3-43.))],((),,([ jiIjiIF fµ= (2.3-43)Donde el coeficiente difuso esta descrito por la ecuación 2.3-44:1)),((0 ≤≤ jiIfµ (2.3-44)Las Ecuaciones 2.3-45 y 2.3-46 representan para cada píxel (i,j) la medida difusaperteneciente al objeto al fondo respectivamente. La medida difusa puede estar dada por lasmedianas del objeto mf(T) y del fondo mb(T).TjiICTmjiITjiIff ≤−+= ),(si)(),(11)),,((µ (2.3-45)TjiICTmjiITjiIbb ≥−+= ),(si)(),(11)),,((µ (2.3-46)
  • 46. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes41Donde C es un valor constante que cumple la condición descrita por la ecuación 2.3-471),((5.0 ≤≤ jiIFµ (2.3-47)Por ejemplo, C puede tomar un valor como gmax – gmin o simplemente llamarlo G. Teniendoen cuenta el valor de pertenencia difuso de cada píxel, se puede obtener un índice difuso detoda la imagen mediante la entropía de Shannon o la medida de Yager. La entropía deShannon presenta mejores resultados debido a que con menor valor para la medida difusa,es mejor la binarización de la imagen. El umbral de separación óptimo es presentado por laecuación 2.3-48)]()).,(1log()),(1()),((log),(2log1min[arg02gpTgTgTgTgNT fffGgfopt µµµµ −−+−= ∑=(2.3-48)c. Otros métodos de umbralización basados en los atributos de la imagen son expuestos por[34] donde hacen uso de la umbralización topológica en estado estable, con el objetivo debinarizar la imagen mientras se establece el tamaño correcto de los tamaños de los objetossobre el primer plano. En [35] el autor expone un método que considera que el umbral es elcambio en la incertidumbre de una observación cuando se clasifica el fondo de la imagencon el objeto a separar. En ausencia de cualquier observación la entropía de la escena esmedida por )1log()1(log)( αααα −−−−=XH , donde α es la probabilidad que un píxelpermanezca al primer plano (objeto), mientras α−1 es la probabilidad que pertenezca alsegundo plano u objeto.5. Métodos Basados en Información Espacial.Estos métodos usan la información espacial de los píxeles, como las probabilidades de sucontexto, probabilidades de coocurrencia, funciones de correlación, modelos dedependencia lineal local, entropía bi-dimensional entre otros. Ejemplos de estos métodostenemos:a. Umbralización basada la probabilidad de coocurrencia: En [36] el autor lo propone parados imágenes con histogramas idénticos, pero con diferentes entropías de enésimo orden.Por lo tanto se considera que la coocurrencia de los niveles de gris de k y l de una imagencomo una función de umbralización T, es calculada por la ecuación 2.3-49, donde 1=δ , si))),1(()),((()))1,(()),((( mjiIkjiImjiIkjiI =+∧=∨=+∧= y 0=δ para otros casos∑=agenmkcIm, δ (2.3-49)Se propone establecer el umbral de tal manera que las probabilidades de coocurrencia de laimagen original y la imagen binarizada sean mínimamente divergentes. Como medida de
  • 47. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes42similitud se usa divergencia dirigida o la distancia Kullback-Leibler . Se plantea una matrizde coocurrencia para cuatro cuadrantes, donde el primer cuadrante se define como lastransiciones que tiene el fondo con el fondo, el segundo cuadrante se define como lastransiciones que tiene el fondo con el objeto, el tercer cuadrante se define como lastransiciones que tiene el objeto con el fondo y el cuarto cuadrante se define como lastransiciones que tiene el objeto con el objeto. La figura 2.3-19 muestra la matriz decoocurrencia.Figura 2.3-19. Matriz de coocurrenciaUsando las probabilidades de coocurrencia, que sería el resultado de las transiciones delfondo y el objeto del píxel i,j normalizado, por el número de transiciones.Las ecuaciones 2.3-50 hasta la 2.3-53 describen las probabilidades de estas transiciones.∑∑= ==TiTjijbb pTP0 0)( (2.3-50)∑ ∑= +==TiGTjijbf pTP0 1)( (2.3-51)∑ ∑+= +==GTiGTjijff pTP1 1)( (2.3-52)∑∑+= ==GTiTjijfb pTP1 0)( (2.3-53)Las cantidades, que son la métrica se definen como Qbb(T), Qbf(T), Qff(T), Qfd(T) son usadaspara calcular el umbral óptimo según la ecuación 2.3-54
  • 48. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes43(T)](T)logQP(T)(T)logQP(T)(T)logQP(T)(T)logQargmin[PT fbfbffffbfbfbbbbopt +++= (2.3-54)b. Umbralización basada en conjuntos aleatorios: Este método propuesto es [37] estábasado en la mejor aproximación de una función de distancia en una imagen en escala degrises con un umbral de valor T y una función de distancia esperada. La idea subyacente deeste método es que cada imagen en escala de grises da lugar a una distribución en unconjunto aleatorio. En el contexto de la umbralización, cada valor de umbral genera unconjunto de objetos binarios con diferentes propiedades de distancia. Así la función dedistancia esperada ubica el píxel (i,j), a una distancia ),( jid la cual es obtenida del promediodel mapa de distancias );,( TFjid , para todos los valores de umbral entre 0 y G, oalternativamente con los pesos que corresponden al valor del histograma. Donde FTdescribe el objeto binario. El umbral óptimo se calcula por medio de la ecuación 2.3-55|});,(),(|{maxmin , TjiTopt FjidjidT −= (2.3-55)c. Umbralización basada en la entropía difusa de una partición bi-dimensional: En [38] elautor propone un método que combina la entropía difusa y el histograma bi-dimensional delos valores de píxel y los promedios de los vecinos a una distacia 3x3. Un histograma bi-dimensional es particionado en una región brillante y otra oscura y difusa conforma a unafunción S dada por Kaufmann. Un píxel xi es asignado según la reglas difusas )( iA xµ que asu vez caracterizan tres parámetros llamados (a,b,c), para obtener la mejores reglas difusasse usa la ecuación 2.3-56 de entropía difusa),(log),(),()(,yxpyxpyxAHyxAfuzzy ∑−= µ (2.3-56)Donde A son los eventos del fondo o el objeto en la imagen, y el umbral óptimo se definepor la ecuación 2.3-57{ })()(max,,FondoHObjetoHT fuzzyfuzzycbaopt += (2.3-57)6. Métodos basados en características locales.Estos métodos adaptan el umbral de cada píxel en función de las características locales dela imagen, tal como rango, varianza, parámetros de superficie, etc. Ejemplos de estosmétodos tenemos:a. Umbralización por la varianza local: Este método propuesto en [39] adapta el umbralsegún a la media local m(i,j) y la desviación estándar σ(i,j) y calcula una ventana de bxbpíxeles. Se puede representar por la ecuación 2.3-58
  • 49. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes44433x3 Tj)VarI(i,orT),(Aveif1),( ><= jiIjiB (2.3-58)b. Umbralización basada en el contraste local: Este método propuesto por [40] compara elnivel de gris de un píxel, con el promedio de niveles de gris de sus vecinos. El umbral setoma como el valor medio en el rango de valores de los vecinos. Puede representarse por laecuación 2.3-59OtroCasobiasjiIjiifjiB w ∗<=),(),(01),(µ(2.3-59)c. Umbralización por ajuste de superficie: Este método propuesto por [41] se basa en lacombinación de la detección de bordes y la información del nivel de gris para construir unumbral de la superficie. Se calcula la magnitud del gradiente de la superficie y esadelgazado para obtener los máximos gradientes locales. El umbral de superficie esobtenido con la interpolación de superficie potencial usando el método de sobre relajación.El umbral se obtiene por medio de la ecuación 2.3-604/),(),(),( 1 jiRjiTjiT nnn += − (2.3-60)Donde R(i,j) es el laplaciano discreto de la superficie.2.4 Implementaciones Hardware para el Procesamiento digital deImágenesEn esta sección se realiza una recopilación de diversas arquitecturas hardware para elprocesamiento digital de imágenes. Se inicia con arquitecturas propuestas para la captura dela imagen desde el sensor, que pretenden mejorar características como la fidelidad de laimagen y su velocidad de captura. Se muestra una arquitectura que permite corregir lasdistorsiones generadas por el lente de la cámara de forma automática. También se presentanvarias arquitecturas para filtros como la mediana y el gausiano que pretenden mejorar laimagen capturada, y finalmente se presenta dos arquitecturas que buscan la umbralizaciónde una imagen de forma automática.2.4.1 Arquitecturas Hardware para la Captura de ImágenesEn la figura 2.4-1 se muestra la arquitectura interna del dispositivo LM9630 [42], concapacidad para capturar imágenes monocromáticas de sensores CMOS de 100x128 con unavelocidad de captura de 580 fps
  • 50. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes45Figura 2.4-1. Arquitectura para el dispositivo LM9630 producido por [42]En la figura 2.4-2 se muestra una arquitectura para basada en FPGAs para el procesamientoen tiempo real de imágenes propuesto por [43], donde el autor propone una arquitecturapara la captura de una imagen por medio de un sensor CMOS con una resolución de 1280 x1024 píxeles, y permite enviar la imagen a un PC de forma paralela, además permiterealizar convoluciones con mascaras de nxnFigura 2.4-2. Arquitectura basada en un FPGA para el procesamiento en tiempo real de imágenespropuesto por [43]
  • 51. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes46La figura 2.4-3 muestra una arquitectura para la captura de imágenes de alta velocidad parasensores CMOS propuesta por [44], con una resolución de 1280x1024, donde proponen unavelocidad de captura de 500 fps mediante convertidores ADC de 10 bitsFigura 2.4-3. Arquitectura basada en un FPGA para la captura de imágenes de un sensor CMOS,propuesto por [44]En [7] el autor describe el desarrollo de una arquitectura de alta velocidad para la capturade una imagen, esta arquitectura permite capturar imágenes a una velocidad de 10.000 fps.Esta arquitectura se observa en la figura 2.4-4a)
  • 52. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes47b)Figura 2.4-4. Bloque DSP para la captura de imágenes de un sensor CMOS, propuesto por [7]a) Bloque DSP b) Esquemático del píxel2.4.2 Arquitecturas Hardware para la Corrección de Distorsiones en laCaptura de una ImagenEn la figura 2.4-5 se muestra una arquitectura propuesta por [45], donde el autor propone lacorrección de la imagen capturada por un sistema estereoscópico mediante el uso de unFPGA, esta arquitectura tiene como componente principal un bloque llamado LDRU (LensDistortion and Rectification Unit), que es la unidad de rectificación de lentes y distorsiones.Su aplicación se orienta a la robótica móvil y según sus autores tiene la capacidad decorregir una imagen capturada a una velocidad de 35 fps y de tamaño de 1024x1024píxeles.Figura 2.4-5. Arquitectura basada en un FPGA para la corrección de las distorsiones que generanlos lentes en una imagen propuesta por [45]
  • 53. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes48En la figura 2.4-6 se muestra una arquitectura propuesta en [46], para la correccióngeométrica generada por un lente en una imagen. La implementación de los cálculosmatemáticos son realizados a través del algoritmo CORDIC de forma paralela en pipelinemostrado en la figura 2.3-6a, y la implementación de la arquitectura para la correcciónradial en pipeline se muestra en la figura 2.3-6ba) b)Figura 2.4-6. Arquitectura basada en un FPGA para la corrección de las distorsiones quegeneran los lentes en una imagen propuesta por [46]a) Arquitectura CORDIC b) Arquitectura para la corrección radial2.4.3 Arquitecturas Hardware para la Mejora y el Realce de una ImagenUno de los cálculos más usados en el procesamiento digital de imágenes, es el cálculo delhistograma y en [47], los autores proponen una arquitectura en hardware para el cálculo delhistograma de forma paralela. En la figura 2.4-7 se observa el diseño de esta arquitectura,que tiene como propósito una técnica que libere la memoria de posibles colisiones de losdatos almacenados. La PCH (Parallel Histogram Computation) Usa una memoria de dospuertos, y se desarrolla en dos etapas, primero se almacenan en dos arreglos los píxeles delas posiciones pares e impares respectivamente y de forma simultánea. En la segunda etapase actualiza el incremento del histograma.
  • 54. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes49a)b)Figura 2.4-7. Arquitectura basada en un FPGA para el cálculo del histograma propuesta por [47]a) Arquitectura para el manejo del histograma. b) Arquitectura para el manejo de la memoriade dos puertosEn la figura 2.4-8 se muestra la implementación de un filtro FIR bi-dimensional propuestopor [48]. La idea principal de este filtro es rotar la ventana formada por los vecinos de cadapíxel que se procesa a determinado ángulo, y realizar el filtrado sobre la ventana de laimagen rotada con un banco de filtros FIR fijo.
  • 55. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes50Figura 2.4-8. Arquitectura basada en un FPGA de un filtro FIR bi-dimensional [48]La implementación de un filtro para el mejoramiento de imágenes es propuesta por [49]donde se implementa un filtro gausiano mediante el algoritmo CORDIC como se observaen la figura 2.4-9a y calcula la dirección y la magnitud del gradiente como se observa en lafigura 2.4-9b.a) b)Figura 2.4-9. Arquitectura basada en un FPGA de un filtro Gausiano [49]a) Filtro Gausiano. b) Calculo de la dirección y magnitud del gradienteEn [50] los autores diseñan un filtro mediana para sistemas de inspeccion industrial entiempo real. El filtro mediana tiene la característica de ser un filtro no lineal y que sualgoritmo de implementación consiste en organizar un conjunto de datos y seleccionar laposición media de este conjunto. Los autores proponen una arquitectura que reduce eltiempo de cálculo de este filtro, mediante la reducción de los bloques comparadores querequiere un filtro mediana clásico. La implementación de este filtro mediana es mostradapor la figura 2.4-10.
  • 56. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes51a) b)c)Figura 2.4-10. Arquitectura basada en un FPGA de un filtro mediana [50]a) Nodo básico de comparadores. b) Red de comparadores. c) Filtro medianaOtra implementación del filtro mediana es vista en la figura 2.4-11, donde los autores [51]diseñan un bloque de comparación basado en full-adder de un bit y un multiplexorimplementados mediante transistores pmos y nmos.a) b)
  • 57. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes52c)Figura 2.4-11. Arquitectura de un comparador basada en transistores pmos y nmos [51]a) Full-adder. b) Multiplexor. c) ComparadorPara la detección y realce de bordes en [52] los autores proponen un detector de bordessobel , usando un filtro digital de aritmética distribuida con el objetivo de realzar bordes deimágenes un tamaño de 256x256 píxeles. La figura 2.4-12 muestra esta implementación.Figura 2.4-12. Arquitectura de detector de bordes sobel implementado por [52]Una arquitectura que implementa filtros morfológicos desarrollados por [53] es mostradaen la figura 2.4-13. Esta arquitectura tiene como objetivo de realizar las operaciones básicasde la matemática morfológica, para aplicarla como acelerador de hardware, en operacionesde filtrado, segmentación y etiquetado de imágenes.
  • 58. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes53Figura 2.4-13. Arquitectura para la realización de las operaciones de dilatación y erosion enimágenes implementada en [53]2.4.4 Arquitecturas Hardware para la Segmentación y la Umbralizaciónde una ImagenUna arquitectura para la umbralización basada en el algoritmo ISODATA es mostrada en lafigura 2.4-14. Esta implementación realizada por [54] diseña un datapath paralelizado y enpipeline lo que aumenta la velocidad de cálculo del umbral.Figura 2.4-14. Arquitectura para umbralización de una imagen mediante el algoritmo ISODATAimplementada en [54]La figura 2.4-15 muestra una arquitectura para la segmentación de imágenes por el método decrecimiento de regiones. Esta arquitectura diseñada por [55] tiene como objetivo separarcaracterísticas de objetos en un video. La figura 2.4-15a muestra la arquitectura para la
  • 59. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes54segmentación y la extracción de características, la figura 2.4-15b muestra el circuito deumbralización por crecimiento de regiones y la figura 2.4-15c muestra el circuito para la extracciónde características.a)b)c)Figura 2.4-15. Arquitectura para la segmentación y extracción de características de un videoimplementada en [55]a) Arquitectura principal. b) Circuito de umbralización. c) Circuito de extracción decaracterísticasEn [56] los autores proponen un método de segmentación espacio-temporal para video.Esta arquitectura procesa imágenes a una velocidad de 133 Mpixeles por segundo. En lafigura 2.4-16a muestra el circuito de segmentación del objeto y la figura 2.4-16b muestra elcircuito de umbralización.
  • 60. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes55a)b)Figura 2.4-16. Arquitectura para la umbralización por el método espacio temporal para videoimplementada en [56]a) Arquitectura principal. b) Circuito de umbralización.
  • 61. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes56Bibliografía[1] Tratamiento digital de Imágenes. Rafael C. Gonzales, Richard E. woods. 1996.[2] Trends in CMOS Image Sensor Technology and Design, Abbas El Gamal. Department ofElectrical Engineering. Stanford University, Stanford CA 94305. 2003[3] Review of CMOS image sensors. M. Bigasa, E. Cabrujaa, J. Forestb, J. Salviba. CentreNacional de Microelectronica, IMB-CNM (CSIC), Campus Universitat Autonoma deBarcelona, 08193 Bellaterra, Barcelona, Spain. Institut d’Informatica i Aplicacions CampusMontilivi, Universitat de Girona, 17071 Girona, Spain. 2005[4] CCD / CMOS Hybrid FPA for Low Light Level Imaging. Xinqiao (Chiao) Liu, Boyd A.Fowler, Steve K. Onishi, Paul Vu, David D. Wen, Hung Do, and Stuart Horn, FairchildImaging, Inc., 1801 McCarthy Boulevard, Milpitas, CA 95035. U.S. Army Night Visionand Electronic Sensors Directorate, 10221 Burbeck Rd., Fort Belvoir, VA 22060-5806.2003[5] Image splicing detection using camera response function consistency and automaticsegmentation. Yu-Feng Hsu and Shih-Fu Chang. Department of Electrical Engineering.Columbia University. fyfhsu,sfchangg@ee.columbia.edu. 2006[6] Calibración de responsividad absoluta de detectores fotométricos para la realización de lacandela j. c. molina, j. c. Bermúdez Centro Nacional de Metrología, km 4,5 Carretera a losCués, El Marqués, Qro. México. 2006[7] CMOS image sensors dynamic range and SNR enhancement via statistical signalprocessing. A dissertation submitted to the department of electrical engineering and thecommittee on graduate studies of stanford university in partial fulfillment of therequirements for the degree of doctor of philosophy Xinqiao Liu. June 2002[8] CMOS Image Sensors for High Speed Applications. Munir El-Desouki,M. JamalDeen,Qiyin Fang, Louis Liu, Frances Tse and David Armstrong. ISSN 1424-8220. Canada.2009[9] Visión por computador. Gonzalo Pajares, Jesus M. de la Cruz. 2002[10] Calibración de una cámara con zoom y movimiento pan-tilt. Alfredo Gardel Vicente.Universidad de alcala, Escuela politécnica superior. Tesis de doctorado. Apéndice A.Calibracion de objetos con distancia focal fija. 2004
  • 62. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes57[11] Luminotecnia. Principios fundamentales, Capitulo 6. México 2002[12] An overview of morphological filtering. Jean Serra & Luc Vincent. Centre de MorphologieMathematique. Ecole Nationale Superieure des Mines de Paris. Francia. 1992[13] Detección de discontinuidades y mejora de contraste mediante el calculo de gradientesusando redes neuronales celulares. M. A. Jaramillo Morán, J. A. Fernández Muñoz. E.Martínez de Salazar Martínez. Departamento de ingeniería electrónica y electromecánica.Escuela de ingeniería industrial. Universidad de Extremadura. España. 2000[14] Survey over image thresholding techniques and quantitative performanceevaluationMehmet SezginTubıtak Marmara Research Center Information TechnologiesResearch InstituteGebze, Kocaeli. Turkey. E-mail: sezgin@btae.mam.gov.tr, Bulent SankurBogazic¸i University Electric-Electronic Engineering Department Bebek, I˙stanbul. Turkey.2004[15] An Adaptive Canny Edge Detector using Histogram Concavity Analysis. Jun Zeng, DehuaLi.International Journal of Digital Content Technology and its Applications. Volume 5,Number 6, China. Junio 2011[16] Multi-modal gray-level histogram modeling and decomposition.Jeng Horng, Kuo chingFan. Universidad de Taiwan. 2001[17] Goal-directed evaluation of binarization methods, O.D. Trier, A.K. Jain, IEEE Tran.Pattern Analysis and Machine Intelligence, PAMI-17 1995.[18] Histogram Analysis Using a Scale-Space Approach, M.J. Carlotto, IEEE Trans. PatternAnalysis and Machine Intelligence, PAMI-9. 1997[19] Automatic threshold selection using the wavelet transform, J.C. Olivo, Graphical Modelsand Image Processing. 1994.[20] Thresholding Based on Histogram Approximation, N. Ramesh, J.H. Yoo, I.K. Sethi, IEEProc. Vis. Image, Signal Proc. 1995.[21] Ridler, TW & Calvard, S , "Picture thresholding using an iterative selection method", IEEETransactions on Systems, Man and Cybernetics 8: 630-632. 1978[22] A threshold selection method from gray-level histograms. N. Otsu. IEEE Transactions onSystems, Man, and Cybernetics. 1979.[23] T-tests, F-tests and Otsu’s Methods for Image Thresholding Jing-Hao Xue* and D. MichaelTitterington. Jing-Hao Xue* and D. Michael Titterington. IEEE TRANSACTIONS ONIMAGE PROCESSING, 2010
  • 63. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes58[24] Automatic Target Classification Using Moment Invariant of Image Shapes, D.E. Lloyd,Technical Report, RAE IDN AW126, Farnborough-UK, 1985.[25] Investigations on fuzzy thresholding based on fuzzy clustering, C.V. Jawahar, P.K. Biswas,A.K. Ray, Pattern Recognition. 1997[26] J. N. Kapur, P. K. Sahoo, and A. K. C. Wong, “A new method for gray-level picturethresholding using the entropy of the histogram,” Comput. Vision graphics ImageProcess., vol. 29, pp. 273-285. 1985[27] Yang Xiao, Zhiguo Cao , Tianxu Zhang. “Entropic Thresholding Based on Gray-levelSpatial Correlation Histogram.” Huazhong Univ. of Sci. And Tech, Wuhan, 430074,P.R.China. 2006.[28] An Iterative Algorithm for Minimum Cross Entropy Thresholding, Li, CH & Tam, PKS,Pattern Recognition Letters. 1998[29] Utilization of information measure as a means of image thresholding, Shanbhag, AbhijitG, Graph. Models Image Process. 1994[30] Survey and comparative analysis of entropy and relative entropy thresholding techniquesC.-I Chang, Y. Du, J. Wang, S.-M. Guo and P.D. Thouin. Image Signal Process., Vol. 153,No. 6, December 2006.[31] Multilevel Minimum Cross Entropy Threshold Selection based on Honey Bee MatingOptimization Ming-Huwi Horng, Member, IAENG, Ting-Wei Jiang and Jin-Yi Chen.Proceedings of the International MultiConference of Engineers and Computer Scientists2009[32] Moment-preserving thresholding: a new approach, W. Tsai, Computer Vision GraphicsImage Process., vol. 29, pp. 377-393. 1985[33] Image Thresholding by Minimizing the Measures of Fuzziness, L.K. Huang, M.J.J. Wang,Pattern Recognition, 1995[34] Digital Image Thresholding Based on Topological Stable State, A. Pikaz, A. Averbuch.Pattern Recognition, 1996.[35] Maximum Segmented Image Information Thresholding, C.K. Leung, F.K. Lam, GraphicalModels and Image Processing, 1998.[36] A note on the use of gray level co-occurrence matrix in threshold selection, B. Chanda,D.D. Majumder, Signal Processing, 15 1988[37] A new thresholding technique based on random sets, Pattern Recognition, N. Friel, I.S.Molchanov, 1999.
  • 64. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes59[38] Fuzzy Partition of Two-Dimensional Histogram and its Application to Thresholding, H.D.Cheng, Y.H. Chen, Pattern Recognition, 1999.[39] W. Niblack, An Introduction to Image Processing, Prentice-Hall, pp:115-116. 1986[40] New segmentation techniques for document image analysis, N.B. Venkateswarluh, R.D.Boyle, Image and Vision Computing, 1995[41] Binarization of document images using Hadamard multiresolution analysis, F. Chang, K.H.Liang, T.M. Tan, W.L. Hwang, ICDAR99: Int. Conf. On Document Analysis andRecognition, 1999[42] National Semiconductor LM9630. 2002[43] Architecture Based on FPGA’s for Real-Time Image Processing. Ignacio Bravo, PedroJimenez, Manuel Mazo, Jose Luis Lazaro, and Ernesto Martın. Electronics Department.University of Alcala. Madrid , España. 2006[44] Design and implementation of high-speed digital CMOS camera driving control timing anddata interface. SUN Honghai, CAI Rongtai,WANG Yanjie. Changchun Institute of Optics.Chine. 2006[45] FPGA-based rectification and lens undistortion for a real-time embedded stereo visionsensor Emanuel Staudinger, Martin Humenberger and Wilfried Kubinger AustrianResearch Centers GmbH – ARC Donau-City-Str. 1, 1220 Vienna, Austria. 2008[46] FPGA-based Optical Distortion Correction for Imaging Systems. Lin Qiang Nigel MAllinson. Department of Electronic and Electrical Engineering, The University of SheffieldMappin Street, Sheffield, , Reino Unido. 2006[47] FPGA Implementation of Parallel Histogram Computation. Asadollah Shahbahrami1, JaeYoung Hur1, Netherlands Organization for Scientic Research. Holanda. 2009[48] Low-cost space-varying FIR filter architecture for computational imaging systems.Guotong Feng, Mohammed Shoaib. Department of Electrical Engineering, PrincetonUniversity, Princeton. 2009[49] A Parallel Hardware Architecture for Image Feature Detection Vanderlei Bonato, EduardoMarques1, and George A. Constantinides. Institute of Mathematical and ComputingSciences. The University of Sao Paulo. Brasil. 2008.[50] An FPGA-based implementation for median filter meeting the real-time requirements ofautomated visual inspection systems. Miguel A. Vega-Rodríguez. Juan M. Sánchez-Pérez,Juan A. Gómez-Pulido. Universidad de Extremadura. España. 2002.[51] Digital Circuit Architecture for a Median Filter of Grayscale Images Based on SortingNetwork Victor Jimenez-Fernandez, Denisse Martinez-Navarrete, Carlos Ventura-
  • 65. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes60Arizmendi, Zulma Hernandez-Paxtian, Joel Ramirez-Rodriguez, International journal ofcircuits, systems and signal processing . Mexico 2011.[52] Hardware implementation of sobel-edge detection distributed arithmetic digital filter.Sorawat CHIVAPREECHA and Kobchai DEJHAN. Faculty of Engineering and ResearchCenter for Communication and Information Technology. 25th ACRS 2004. Thailand. 2004[53] Image Processing Architectures for Binary Morphology and Labeling, Hugo Hedberg, TheDepartment of Electrical and Information Technology, Lund University,LUND, SWEDEN.2008[54] A Parallelized and Pipelined Datapath to Implement ISODATA Algorithm for Rosette ScanImages on a Reconfigurable Hardware. Ehsan Rahimi, Shahriar B. Shokouhi, Ali Sadr. IranUniversity. 2008[55] Image Segmentation and Pattern Matching Based FPGA/ASIC ImplementationArchitecture of Real-Time Object Tracking. K. Yamaoka, T. Morimoto, H. Adachi, T.Koide, and H. J. Mattausch Research Center for Nanodevices and Systems, HiroshimaUniversity. 2006[56] An FPGA-based implementation of spatio-temporal object segmentation. KumaraRatnayake and Aishy Amer. Concordia University, Electrical and Computer Engineering,Montreal, Quebec, Canada. 2006
  • 66. 61ILUMINACIÓN, CALIBRACIÓN Y SIMULACIÓNFUNCIONAL DE LOS ALGORITMOS USADOS PARAMEDIR UNA LÁMINA DE CUERO3.1 IntroducciónEste capítulo se divide en cinco secciones principales. La sección 3.2 que presenta losresultados de las mediciones realizadas a la iluminación del sitio donde se realizaron lascapturas de las imágenes de la lámina de cuero. La sección 3.3 presentan los resultados dela calibración del sistema de captura de la imagen, con sus parámetros de corrección dellente. La sección 3.4 muestra la simulación de los algoritmos que realizan el mejoramientoy realce de la lámina de cuero buscando facilitar su separación del fondo. En la sección 3.5se presentan los criterios de evaluación usados para la selección de los umbralizadores adiseñar en este proyecto, y finalmente en la sección 3.6 se presentan los resultados desimulación de los umbralizadores seleccionados.3.2 Implementación del Sistema de IluminaciónPara el desarrollo de este proyecto se ha implementado la iluminación horizontal por mediode una lámpara de sodio de 250W de uso industrial similar a la mostrada en la figura 3.2.1Figura 3.2-1. Lámpara usada para la iluminación de sitio de medición. Tomada de [1]La altura a la cual se ha ubicado la lámpara es de 5 metros. Estas lámparas tienen unaintensidad luminosa de 33000 lumen según [1]. Con esta información se calcula el flujoCapítulo 3
  • 67. Iluminación, Calibración y Simulación Funcional de los Algoritmos Usados para Medir una Lámina de Cuero62luminoso por unidad de área que iluminará la lámina de cuero por medio de la ecuación2.2-24. Para este proyecto se estima un flujo luminoso máximo de 1320 LUX. La figura3.2-2 muestra la forma de iluminar la lámina de cueroFigura 3.2-2. Iluminación de la lámina de cueroLa ecuación 3.2-1 es un indicador de la uniformidad luminosa. Esta información nos indicasi la iluminación es uniforme y debe cumplir el criterio de ser mayor o igual a 0.8. Paracalcular la uniformidad luminosa se debe hacer un muestreo del flujo luminoso endiferentes partes dentro del área donde se realizaran las medidas. La tabla 3.1 muestra lasdiferentes medidas realizadas en el área de medición.{ }∑== ninnanaaaaaMinUI132101..,. (3.2-1)Tabla 3.2-1. Muestras tomadas en el área de mediciónMuestra Medida [LUX] Orientación de lamedida1 1180 N2 1150 S3 1000 E4 1050 O
  • 68. Iluminación, Calibración y Simulación Funcional de los Algoritmos Usados para Medir una Lámina de Cuero63La uniformidad luminosa calculada fue de 0.91, el cual es mayor que 0.8, por lo tanto seconsidera una iluminación uniforme.3.3 Calibración del Sistema de Captura de la ImagenComo sistema de captura se ha usado una cámara digital con un lente CMOS y configuradapara capturar imágenes de 1417x1063 píxeles. Para su calibración se usó un programarealizado en Matlab de código abierto llamado “Camera Calibration ToolBox for Matlab”,cuya interfaz de presentación se observa en la Figura 3.3-1Figura 3.3-1. Toolbox en Matlab para la calibración de cámaras.Para realizar la calibración se hace necesario tener varias imágenes similares a la Figura3.3-2 donde el patrón de calibración tiene forma de tablero de ajedrez.XYOThe red crosses should be close to the image corners200 400 600 800 1000 1200 1400 1600 1800 2000 22002004006008001000120014001600Figura 3.3-2. Patrón de Calibración de 64 cuadros de 20 mm c/u.
  • 69. Iluminación, Calibración y Simulación Funcional de los Algoritmos Usados para Medir una Lámina de Cuero64Con el propósito de realizar los patrones de calibración se tomaron 15 fotografías endiferentes posiciones, se cargan en el toolbox de calibración y el programa nos genera laFigura 3.3-3, donde se muestran las imágenes de prueba para calibración.Calibration imagesFigura 3.3-3. Imágenes de calibración cargadas en el toolbox calibration.Una vez cargadas las imágenes en el toolbox calibration, se marca un cuadrado como en laFigura 3.3-2 por cada imagen, y después se ejecuta la calibración. Los resultados de lacalibración son presentados en la Tabla 3.3-1.Tabla 3.3-1. Valores de calibración de la cámaraParámetro Resultado DesviaciónLongitud focal fc = [ 3129.06605 3140.30730 +/-[263.12486 263.85072 ]Punto principal cc = [ 335.98766 238.90657 ] ± [ 3.10113 4.17690 ]Asimetríaalpha_c = [ 0.00000 ] ± [0.00000]Angulo de cada cuadro 90.00000 ± 0.00000 GradosDistorsiónkc = [ 1.74924 -215.202960.00095 -0.00755 0.00000 ]± [±± [ 0.30476 72.962090.00375 0.00183 0.00000 ]Error de pixel[0.15721 0.14225 ]El programa genera gráficamente los parámetros extrínsecos de la cámara en un gráfico3D, donde se muestra la posición espacial de la cámara y de las diferentes imágenes en elespacio de coordenadas. Este gráfico se puede observar en la Figura 3.3-4.
  • 70. Iluminación, Calibración y Simulación Funcional de los Algoritmos Usados para Medir una Lámina de Cuero65Figura 3.3-4. Parámetros extrínsecos de la cámara.El toolbox también nos genera los componentes de la distorsión radial y tangencial, que sepueden observar en las Figuras 3.3-5 y 3.3-6, respectivamente. Esta información fueconsultada tomada de [2]Figura 3.3-5. Modelo de distorsión radial.
  • 71. Iluminación, Calibración y Simulación Funcional de los Algoritmos Usados para Medir una Lámina de Cuero66Figura 3.3-6. Modelo de Distorsión tangencial.A continuación se muestran las ecuaciones que modelan los parámetros intrínsecos de lacámara.Dado un punto en el espacio xn, tal como se describe en la Ecuación 3.3-1 y 3.3-2:==yxZYZXxccccn (3.3-1)Donde:222yxr += (3.3-2)Debido a que el lente de la cámara genera una distorsión, el punto xn se convierte ahora enel punto xd que se relaciona mediante la Ecuación 3.3-3:dxxrKcrKcrKcxxx nddd ++++== ))5()2()1(1()2()1( 642(3.3-3)Donde el vector dx, que es la distorsión tangencial está dado por la Ecuación 3.3-4++++=xykcyrkcxrkcxykcdx)4(2)2)(3()2)(4()3(22222(3.3-4)Según los datos arrojados por el programa de calibración el vector kc es igual a:
  • 72. Iluminación, Calibración y Simulación Funcional de los Algoritmos Usados para Medir una Lámina de Cuero67kc = [ 1.74924 -215.20296 0.00095 -0.00755 0.00000 ]. El vector kc se reemplaza enla Ecuación 3.2-3 para obtener los valores de corrección de la imagen, tal como la describela Ecuación 3.3-5.+=++=)2()2()(2()1())(*_)1()(1(ccxfcycccxcalphaxfcxdpddp(3.3-5)Ya conocidos los valores de xd, encontrados por la Ecuación 3.3-3, y con los valores defc(1), fc(2), cc(1), cc(2) y alpha_c calculados por el programa de calibración, se puedenencontrar las valores reales de ubicación de cada punto de la imagen. Estos valores se venen la Tabla 3.3-2. La calibración por medio de este método y otros similares puede serdetallada en el trabajo realizado en [3]Tabla 3.3-2. Valores de calibración para cada puntoFC 3129.06605 3140.30730CC 335.98766 238.90657alpha_c 0.000003.4 Simulación de los Algoritmos de Mejoramiento y Realce de laImagen.Para el mejoramiento y realce de la imagen capturada se han implementado tres algoritmosque permiten mejorar la imagen de la lámina de cuero y atenuar el fondo sobre el cual estádicha lámina. Las simulaciones a realizar son:1. Simulación del filtro mediana2. Simulación de la supresion del fondo de la imagen3. Simulación del filtro High boost3.4.1 Simulación del Filtro MedianaEl filtro mediana se implementa para una máscara de 3x3. Este filtro tiene como objetivoprincipal atenuar el ruido producido por componentes puntuales fuertes, pero preservandoel borde de la imagen. La ecuación 2.3-9 describe el cálculo de la medianaPara la simulación se han usado tres imágenes de láminas de cuero y se ha añadido deforma externa ruido tipo “sal y pimienta” con el objetivo de simular su comportamiento yanalizar los resultados. La figura 3.4-1 muestra las imágenes con ruido y sin ruido. En [4] elautor propone diferentes métodos de implementación de la mediana.
  • 73. Iluminación, Calibración y Simulación Funcional de los Algoritmos Usados para Medir una Lámina de Cuero68a) b)c) d)e) f)Figura 3.4-1. Aplicación del Filtro mediana a diferentes láminas de cueroa) Lamina #1 con ruido. b) Lamina #1 Filtrada. c) Lamina #2 con ruido. d) Lamina #2 Filtrada.e) Lamina #3 con ruido. f) Lamina #3 filtrada.
  • 74. Iluminación, Calibración y Simulación Funcional de los Algoritmos Usados para Medir una Lámina de Cuero693.4.2 Simulación de la Supresión del Fondo de la ImagenPara la supresión del fondo de la imagen se han implementado dos alternativas. La primeraalternativa consiste en almacenar periódicamente el fondo de la imagen y usarlo comoreferencia o tara, con el objetivo de calibrar a cero el sistema de medida. Con el fondoalmacenado se procede a restarlo de la imagen que contiene la lámina de cuero a medir.Esta diferencia genera una imagen con la lámina de cuero sin el fondo o muy disminuido.La supresión de fondo se realiza aplicando la ecuación 3.4-1. Donde k es un valor de offsetpara el ajuste de la diferencia entre el fondo y la imagen. La figura 3.4-2 muestra lasupresión de fondo realizada a la lámina de cuero #1. <−=otroscasosPixelkPixelPixelNuevoPixelimagenfondoimagen,,255(3.4-1)a)b)
  • 75. Iluminación, Calibración y Simulación Funcional de los Algoritmos Usados para Medir una Lámina de Cuero70c)Figura 3.4-2. Supresión del fondo a una la lámina de cuero por diferencia con el fondoa) Fondo de la imagen. b) Lámina #1. c) Lámina #1 sin fondo.La supresión del fondo se logra de forma correcta, pero se debe conocer a priori el fondo dela imagen.La segunda alternativa consiste en aplicar operaciones morfológicas, usando un filtroBottom hat. Este filtro morfológico aplica una operación de cerradura a la imagen original yeste resultado lo resta a la imagen original. Este filtró lo describe por la ecuación 2.3-6.Tiene especial aplicación en la atenuación de las zonas claras y el resalte de las zonasoscuras, lo cual es apropiado para este proyecto, ya que el fondo es blanco y la lámina decuero es de un color diferente. La operación sobre la lámina de cuero #1 se observa en lasfiguras 3.4-3a y 3.4-3b. Para obtener el formato de la imagen que se usa en este proyecto,que es un fondo claro y la lámina de cuero en un color más oscuro, se aplica la ecuación3.4-2, Donde k es un valor de offset para el ajuste de la diferencia entre el fondo y laimagen, con este cambio el fondo quedara blanco, como se observa en la figura 3.4-3c. En[5] el autor presenta una aplicación del filtro bottom hat que realiza el suavizado de laimagen y la detección de bordes en imágenes y la compara con otras técnicas de filtradolineal. <=otroscasosPixelkPixelNuevoPixelBottomhatBottomhat,,255(3.4-1)
  • 76. Iluminación, Calibración y Simulación Funcional de los Algoritmos Usados para Medir una Lámina de Cuero71a)b)c)Figura 3.4-3. Supresión del fondo a una la lámina de cuero por filtrado bottom hata) Fondo de la imagen. b) Lamina #1. c) Lamina #1 sin fondo.
  • 77. Iluminación, Calibración y Simulación Funcional de los Algoritmos Usados para Medir una Lámina de Cuero72Para el diseño del filtro bottom hat se implemento un elemento estructural en forma dedisco de 50 píxeles. Esta supresión del fondo tiene la característica que no requiere conocera priori el fondo de la imagen, pero si requiere el tamaño del elemento estructural a priori.3.4.3 Simulación del Filtro High BoostCuando el algoritmo de supresión de fondo ha eliminado la imagen del fondo de la láminade cuero, se hace necesario realizar un filtrado, ya que se deben eliminar los residuos deque genero la supresión y mejorar los bordes de la nueva imagen. En este caso el filtrado serealiza usando un filtro High-Boost el cual tiene la característica de mejorar los bordes ypermitir el paso de parte de la imagen de acuerdo al valor de A, como se describe en laEcuación 2.3-8. Una aplicación de este filtro puede ser consultada en [6]En la figura 3.4-4a y 3.4.4b se observa la aplicación del filtro high boost a la lámina decuero #1, después de suprimirle el fondo por medio de las técnicas vistas en el numeral3.4.2.a)
  • 78. Iluminación, Calibración y Simulación Funcional de los Algoritmos Usados para Medir una Lámina de Cuero73b)Figura 3.4-4. Mejoramiento de bordes a una lámina de cuero sin fondo, por filtrado High boosta) Filtro aplicado a la figura 3.4-2c b) Filtro aplicado a la figura 3.4-3c3.5 Selección de Algoritmos de UmbralizaciónEn la literatura consultada no se encuentran trabajos documentados que implementen algúnalgoritmo de umbralización en hardware para la medición de láminas de cuero. Pero haytrabajos que usan técnicas de visión artificial para medir el cuero, como son los siguientescasos. En [7] se presenta un sistema para cortar y medir el área de una lámina de cuero, estesistema se basa en una cámara en posición perpendicular a la lámina de cuero. El sensor decaptura de la cámara está basado en un arreglo matricial monocromático de tecnologíaCCD, y un sistema servo controlado para el movimiento del lente. En [8] el autor proponeun prototipo para medir una lámina de cuero por medio de una webcam y un PC. En [9] elautor propone un sistema de medición con un sensor en forma de escáner y un computador,hace un análisis del error de las maquinas actuales de sensores fotoeléctricos y las antiguamáquina con sistema Pinwheel en relación al método que propone.Las técnicas de umbralización nos permiten separar el fondo del objeto en una imagen, perono siempre se realiza de la manera esperada. El éxito o fracaso de esta técnica depende deaspectos como la iluminación, el pre-procesamiento de la imagen y del algoritmo usadopara umbralizar. En este numeral se analizaran y evaluaran varios algoritmos deumbralización con el objetivo de seleccionar cuales algoritmos dan mejores resultados ycuales son apropiados a implementar sobre FPGAs. En [10] los autores hacen unaevaluación de varios algoritmos de umbralización hacen un análisis de varios criterios deselección.
  • 79. Iluminación, Calibración y Simulación Funcional de los Algoritmos Usados para Medir una Lámina de Cuero74A continuación se describe la secuencia de los temas a analizar.1. Criterios para la evaluación de los algoritmos de umbralización2. Evaluación de los algoritmos de umbralización3. Selección y prueba de los algoritmos a implementar3.5.1 Criterios para la evaluación de los algoritmos de umbralizaciónExisten en la literatura muchos algoritmos de umbralización como los descritos en elcapitulo dos, como los algoritmos de OTSU, ISODATA, intermodal, máxima entropía,percentiles, etc., los cuales entregan buenos resultados de umbralización para diferentestipos de imágenes, pero se deben seleccionar los algoritmos a usar en este proyecto pormedio de algún criterio. Para la selección de los algoritmos de umbralización se usarán doscriterios:1. Criterio basado en la clasificación errónea.2. Criterio basado en el error relativo de área del objeto3.5.1.1 Criterio basado en la clasificación errónea.Cuando la segmentación de realiza solo a dos clases, como es el caso de la umbralización,el criterio por clasificación errónea se puede describir por la ecuación 3.5-1.00001FBFFBBMETT+∩+∩−= (3.5-1)Donde oB y oF son el fondo y el objeto de la imagen original, y TB y TF son el fondo y elobjeto de la imagen de prueba.3.5.1.2 Criterio basado en el error relativo del área del objeto.Cuando se realiza una correcta umbralización se espera que el objeto separado mantengasus medidas de forma precisa. Para cuantificar este criterio se usa la ecuación 3.5-2.TrueTestTrueAAARAE−= (3.5-2)
  • 80. Iluminación, Calibración y Simulación Funcional de los Algoritmos Usados para Medir una Lámina de Cuero75Donde TrueA es el área real del objeto y testA es el área del objeto en prueba3.5.2 Evaluación de los algoritmos de umbralizaciónSe han seleccionado diez algoritmos de umbralización tomando como referencia losmétodos expuestos en el capitulo dos. El método basado en la información espacial no seevaluara, ya que son especialmente usados para pequeñas regiones, como es el caso dereconocimiento de caracteres escritos.Los algoritmos a evaluar se muestran en la tabla 3.5-1Tabla 3.5-1. Algoritmos de umbralización a evaluarNª Algoritmo de umbralización Método1 ISODATA Agrupamiento de píxeles2 Otsu Agrupamiento de píxeles3 Mínimo error Agrupamiento de píxeles4 Intermodal Forma del histograma5 Concavidad Forma del histograma6 Valles y colinas Forma del histograma7 Máxima entropía Entropía de la imagen8 Mínima entropía cruzada Entropía de la imagen9 Momentos Atributos de la imagen10 Similitud difusa Atributos de la imagenSe han diseñado tres figuras geométricas como imágenes de prueba. Las imágenes deprueba son diseñadas en un programa gráfico, con el objetivo de conocer a priori su área yel número de objetos, además se ha adicionado ruido gausiano para dificultar suumbralización. Las figuras 3.5-1 se muestran las figuras geométricas con ruido gausiano ysus respectivos histogramas. La figura 3.5-1a es un cuadrado de 2500 píxeles , la figura3.5-1b es un círculo de 1861 píxeles y la figura 3.5-1c es un triángulo de 16000 píxeles .a) b) c)
  • 81. Iluminación, Calibración y Simulación Funcional de los Algoritmos Usados para Medir una Lámina de Cuero760 50 100 150 200 2500500100015002000IntesidadPixelesd)0 50 100 150 200 2500500100015002000IntesidadPixelese)
  • 82. Iluminación, Calibración y Simulación Funcional de los Algoritmos Usados para Medir una Lámina de Cuero770 50 100 150 200 250020040060080010001200140016001800IntesidadPixelesf)Figura 3.5-1. Figuras geométricas de prueba y sus histogramasa) Cuadrado con A= 2500 píxeles b) Círculo con A= 1861 píxeles c) Triangulo con A= 16000píxeles d) Histograma del cuadrado e) Histograma del círculo. f) Histograma del triángulo3.5.2.1 Resultados para la Figura CuadradoEn estas pruebas se nota que los algoritmos del método de umbralización por forma delhistograma dieron mejores resultados, como son el caso de los algoritmos intermodal,valles y colina, seguido por los algoritmos del método de agrupamiento como Otsu eISODATA. Esto se puede verificar por inspeccion visual y por medio del cálculo delpromedio de los criterios de evaluación, a menor valor mejor la umbralización. La figura3.5-2 y la tabla 3.5-2 muestran los resultados de umbralización.A=2517 píxelesa)A= 2517 píxelesb)
  • 83. Iluminación, Calibración y Simulación Funcional de los Algoritmos Usados para Medir una Lámina de Cuero78A=70711 píxelesc)A=2495 píxelesd)A= 1950 píxelese)A=2507 píxelesf)A= 2906 píxelesg)A= 64663 píxelesh)A= 7469 píxelesi)A= 75789 píxelesj)Figura 3.5-2. Umbralizacion de la figura cuadrado de 2500 píxelesa) Umbralizacion ISODATA b) Umbralizacion Otsu c) Umbralizacion mínimo error d)Umbralizacion intermodal e) Umbralizacion concavidad. f) Umbralizacion Valles ycolinas. g) Umbralizacion máxima entropía. h) Umbralizacion mínima entropía cruzada.i) Umbralizacion Momentos. j) Umbralizacion similitud difusa
  • 84. Iluminación, Calibración y Simulación Funcional de los Algoritmos Usados para Medir una Lámina de Cuero79Tabla 3.5-2. Calculo de los valores de los criterios de selección para la figura enforma de cuadradoRanking Algoritmo de umbralización ME RAE Valormedio{ME,RAE}1 Intermodal 0,00013021 0,002 0,00106512 Valles y colinas 0,00018229 0,0028 0,001491153 ISODATA 0,00044271 0,0068 0,003621354 Otsu 0,00044271 0,0068 0,003621355 Máxima entropía 0,01057292 0,1624 0,086486466 Concavidad 0,01432292 0,22 0,117161467 Momentos 0,12940104 1,9876 1,058500528 Mínima entropía cruzada 0,8588 24,8652 12,8629 Mínimo error 0,8925 27,2844 14,0884510 Similitud difusa 0,9555 29,3156 15,135553.5.2.2 Resultados para la Figura CírculoAl igual que las pruebas anteriores se observa en la tabla 3.5-3 que los primeros cuatroalgoritmos continúan dando mejores resultados. En este caso el algoritmo de umbralizaciónde concavidad mejoro al de máxima entropía, pero no logra segmentar todo el círculo demanera perfecta. En la figura 3.5-3 se observan los resultados.A= 1880 píxelesa)A= 1880pixelesb)A= 70916 píxelesc)A= 1859 píxelesd)
  • 85. Iluminación, Calibración y Simulación Funcional de los Algoritmos Usados para Medir una Lámina de Cuero80A= 1609 píxelese)A= 1865 píxelesf)A= 2195pixelesg)A= 68159 píxelesh)A= 8079 píxelesi)A= 75800 píxelesj)Figura 3.5-3. Umbralizacion de la figura círculo de 1861 píxelesa) Umbralizacion ISODATA b) Umbralizacion Otsu c) Umbralizacion mínimo error d)Umbralizacion intermodal e) Umbralizacion concavidad. f) Umbralizacion Valles y colinas.g) Umbralizacion máxima entropía. h) Umbralizacion mínima entropía cruzada. i)Umbralizacion Momentos. j) Umbralizacion similitud difusaTabla 3.5-3. Calculo de los valores de los criterios de selección para la figura en forma decírculoRanking Algoritmo de umbralización ME RAE Valormedio{ME,RAE}1 Intermodal 0,00844264 0,00107469 0,004758672 Valles y colinas 0,00839012 0,00214938 0,005269753 ISODATA 0,00839012 0,01020956 0,009299844 Otsu 0,00839012 0,01020956 0,009299845 Concavidad 0,01500768 0,13541107 0,07520938
  • 86. Iluminación, Calibración y Simulación Funcional de los Algoritmos Usados para Medir una Lámina de Cuero816 Máxima entropía 0,00839012 0,1794734 0,093931767 Momentos 0,15489555 3,3412144 1,748054988 Mínima entropía cruzada 0,88 35,6249328 18,24186649 Mínimo error 0,9025 37,1063944 18,999447210 Similitud difusa 0,92 39,7307899 20,34314493.5.2.3 Resultados para la Figura TriánguloDe igual manera que con las dos figuras geométricas anteriores, los algoritmos de valles ycolina, intermodal y Otsu dan los mejores resultado. Sin embargo los demás algoritmosempiezan a mejorar su desempeño al tener una mayor relación entre el fondo y la imagen.Todos los algoritmos de umbralización a excepto el de mínimo error lograron separar lafigura geométrica del fondo para este caso unos en mayor medida que otros. La figura 3.5-4 y la tabla 3.5-4, presentan los resultados de umbralización.A= 16045 píxelesa)A= 16039 píxelesb)A= 41764 píxelesc)A= 16003 píxelesd)A= 15005 píxelese)A= 15993 píxelesf)
  • 87. Iluminación, Calibración y Simulación Funcional de los Algoritmos Usados para Medir una Lámina de Cuero82A= 17838 píxelesg)A= 15845 píxelesh)A= 18851 píxelesi)A= 16323 píxelesj)Figura 3.5-4. Umbralizacion de la figura triángulo de 16000 píxelesb) Umbralizacion ISODATA b) Umbralizacion Otsu c) Umbralizacion mínimo error d)Umbralizacion intermodal e) Umbralizacion concavidad. f) Umbralizacion Valles ycolinas. g) Umbralizacion máxima entropía. h) Umbralizacion mínima entropía cruzada.i) Umbralizacion Momentos. j) Umbralizacion similitud difusaTabla 3.5-4. Calculo de los valores de los criterios de selección para la figura enforma de triánguloRanking Algoritmo de umbralización ME RAE Valormedio{ME,RAE}1 Intermodal 0,14956811 0,0001875 0,07487782 Valles y colinas 0,14950166 0,0004375 0,074969583 Otsu 0,15036545 0,0024375 0,076401474 ISODATA 0,15049834 0,0028125 0,076655425 Mínima entropía cruzada 0,14950166 0,0096875 0,079594586 Similitud difusa 0,15665559 0,0201875 0,088421557 Concavidad 0,14950166 0,0621875 0,105844588 Máxima entropía 0,19021041 0,114875 0,15254279 Momentos 0,21264673 0,1781875 0,1954171210 Mínimo error 0,72013289 1,61025 1,16519145Se puede concluir que los algoritmos intermodal, valles y colinas, Otsu e ISODATA son confiablespara Umbralizar imágenes en ambientes ruidoso y con relaciones de imagen y fondo pequeñas. Losalgoritmos citados anteriormente serán implementados sobre FPGAs en este proyecto.
  • 88. Iluminación, Calibración y Simulación Funcional de los Algoritmos Usados para Medir una Lámina de Cuero833.6 Simulación de los Algoritmos de Umbralización Seleccionadossobre láminas de cueroLos algoritmos de umbralización presentados en el numeral anterior, han sido usados paramedir el área de varias láminas de cuero que tienen diferentes tamaños. En este caso, se hanseleccionado tres láminas de cuero azul o wet blue, como se le llama al cuero recién curtidocon cromo de forma aleatoria y se usara un patrón de medida de radio de 6.1 dm, quecumple con la norma ISO 11646:1993 .En la Figura 3.6-1a se muestra una lámina de cuero patrón circular de diámetro de 6.1 dm yen las figuras 3.6-1b, 3.6-1c y 3.6-1d se muestran tres láminas de cuero azul previamentemedidas. Sus respectivos histogramas son mostrados en la figura 3.6-2.Las medidas realizadas a estas tres láminas de cuero se hicieron por medio de una máquinaelectrónica calibrada por un patrón avalado por la SIC (Superintendencia de industria ycomercio), fueron de: 260 dm2, 246 dm2y 281 dm2.La imágenes son capturadas en escala de gris y se usó una mesa de fondo blanco que tiene3.75 m de ancho por 5 m de largo y una resolución de 1417 x 1063 píxeles. Las láminas decuero son centradas en la mesa para mitigar los efectos de las distorsiones que tiene ellente, que para este caso son en sus orillas.a) b)c) d)Figura 3.6-1. Láminas de cuero capturadas en escala de grisesa) Patrón circular de diámetro 6.1 dm b) Lámina con área 260 dm2c) Lámina con área 246 dm2d)Lámina con área 281 dm2.
  • 89. Iluminación, Calibración y Simulación Funcional de los Algoritmos Usados para Medir una Lámina de Cuero840 50 100 150 200 25000.511.522.533.5x 104IntesidadPixelesa)0 50 100 150 200 25000.511.522.53x 104IntesidadPixelesb)
  • 90. Iluminación, Calibración y Simulación Funcional de los Algoritmos Usados para Medir una Lámina de Cuero850 50 100 150 200 25000.511.522.53x 104IntesidadPixelesc)0 50 100 150 200 25000.511.522.53x 104IntesidadPixelesd)Figura 3.6-2. Histogramas de las láminas de cuero en escala de grises.a) Patrón circular de diámetro 6.1 dm, b) Lámina con área 260 dm2, c) Lámina con área 246 dm2,d) Lámina con área 281 dm2.Usando los cuatro algoritmos de umbralización seleccionados anteriormente se midió elárea del cuero a las cuatro láminas vistas en la figura 3.6-1. Los resultados son presentadosen las Tablas 3.6-1, 3.6-2, 3.6-3 y 3.6-4.
  • 91. Iluminación, Calibración y Simulación Funcional de los Algoritmos Usados para Medir una Lámina de Cuero86Tabla 3.6-1. Resultados de simulación de la medida del cuero para la lámina de la figura3.6-1aAlgoritmo deumbralizaciónLámina de cuero patrón circular de diámetro 6,1 dm mostrada en lafigura 3.6-1aÁrea = 29.2 dm2UmbralCantidad depíxelesÁrea endm2Error absolutodm2Errorrelativo1. Intermodal 151 23512 29,26 0,03 0,12%2. ISODATA 153 23535 29,27 0,05 0,16%3. Otsu 153 23535 29,27 0,05 0,16%4. Cálculo del valle 140 23352 29,04 0,18 -0,62%Tabla 3.6-2. Resultados de simulación de la medida del cuero para la lámina de la figura3.6-1bAlgoritmo deumbralizaciónLámina de cuero figura 3.6-1bÁrea = 246 dm2UmbralCantidad depíxelesÁrea endm2Error absolutodm2Errorrelativo1. Intermodal 159 197335 245,56 0,44 -0,18%2. ISODATA 162 197602 245,77 0,23 -0,09%4. Otsu 162 197602 245,77 0,23 -0,09%9. Cálculo del valle 150 196554 244,47 1,53 -0,62%Tabla 3.6-3. Resultados de simulación de la medida del cuero para la lámina de la figura3.6-1cAlgoritmo deumbralizaciónLámina de cuero figura 3.6-1cÁrea = 260 dm2UmbralCantidad depíxelesÁrea endm2Error absolutodm2Errorrelativo1. Intermodal 157 209505 260,71 0,71 0,27%2. ISODATA 155 209295 260,32 0,32 0,12%4. Otsu 155 209295 260,32 0,32 0,12%9. Cálculo del valle 158 209618 260,72 0,72 0,28%Tabla 3.6-4. Resultados de simulación de la medida del cuero para la lámina de la figura3.6-1d
  • 92. Iluminación, Calibración y Simulación Funcional de los Algoritmos Usados para Medir una Lámina de Cuero87Algoritmo deumbralizaciónLámina de cuero figura 3.6-1cÁrea = 280 dm2UmbralCantidad depíxelesÁrea endm2Error absolutodm2Errorrelativo1. Intermodal 159 226206 281,49 0,49 0,17%2. ISODATA 156 225818 280,87 0,13 -0,05%4. Otsu 156 225818 280,87 0,13 -0,05%9. Cálculo del valle 153 225422 280,38 0,62 -0,22%Para realizar los cálculos del área para cada algoritmo se tomaron 10 imágenes por cadalámina y se uso el promedio de ellas, para hacer el cálculo del área en decímetros cuadradosy sus respectivos errores.Los cálculos de los errores relativos y absolutos para las tres láminas de cuero (excepto lalámina de cuero patrón, ya que se puede medir por su forma geométrica) se tomo comoreferencia la máquina electrónica que previamente la midió.
  • 93. Iluminación, Calibración y Simulación Funcional de los Algoritmos Usados para Medir una Lámina de Cuero88Bibliografía[1] Ficha técnica para la lámpara de sodio de referencia SUPER SHP-T Tubular Clara, de lafabrica sylvania[2] Camera Calibration Toolbox for Matlab. Jean-Yves Bouguet. Francia. 2009[3] Autocalibración y sincronización de múltiples cámaras ptz. Universidad autónoma deMadrid. Javier García Ocón. España. 2007[4] Median Filtering in Constant Time. Simon Perreault and Patrick Hebert . Francia. 2007[5] Speckle Noise Removal and Edge Detection Using Mathematical Morphology. ArpitSinghal, Mandeep Singh International Journal of Soft Computing and Engineering(IJSCE).ISSN: 2231-2307, Noviembre 2011[6] Robust Video Denoising for Better Subjective Evaluation. Aditya Acharya, SukadevMeher. Electronics and Communication Engineering Department, National Institute ofTechnology Rourkela, Odisha, India. Agosto 2011[7] Inspection and measurement of leather system based on artificial visión techniquesapplied to the automation and waterjet cut direct application. J. D. Aranda Peñaranda. J.A. Ramos Alcazar. L. M. Tomas Balibrea. J. L. Muños Lozano. R. Torres Sanchez.Instituto Murciano de Tecnologia. España. 1994[8] Prototipo de medición de superficies mediante un computador usando una cámaradigital. Univerdidad politécnica salesiana. Patricio Fernando Urjiles. Ecuador. 2003[9] Surface área measurement of leather system based image processing techniques appliedto the automation application. Rehan Adil, Department of Electronic Engineering The3rd International Conference on Machine Vision. Pakistan. 2010[10] Selection of thresholding methods for non-destructive testing application. MehmetSezgin, Bulent Sankut. Turkey. 2001
  • 94. 89IMPLEMENTACIÓN HARDWARE DE LOS ALGORITMOSPARA MEDIR UNA LÁMINA DE CUERO4.1 IntroducciónEn este capítulo se presenta la implementación en hardware de los algoritmos de adecuación yumbralización que son usados para la medición de una lámina de cuero. En este caso sesintetizaron nueve algoritmos que permiten separar una lámina de cuero de su entorno, y medirsu área. Los algoritmos sintetizados son: Un filtro mediana, un supresor del fondo de la imagenpor restador y otro por operación morfología bottom hat, un filtro high boost, cuatro algoritmosde umbralización que son: Umbralizador de Otsu, umbralizador ISODATA, umbralizadorintermodal y el umbralizador entre valles y colinas, y un algoritmo para el cálculo del valoróptimo del área. También se sintetizo un algoritmo para el cálculo del histograma y otro que esun generador de direcciones para facilitar el manejo de la memoria. Este diseño ha sidocalculado para imágenes de 100x75 píxeles, con el fin de verificar su funcionalidad, pero deigual forma es expandible para imágenes de mayor tamaño, dependiendo de tipo de FPGAusada.4.1.1 Diagrama de Bloques para Medir una Lámina de CueroLa arquitectura propuesta en hardware para medir una lámina de cuero consta principalmentede una secuencia de tres etapas de procesamiento.1. La primera etapa consiste en adecuar la imagen original mediante el filtrado y la supresióndel fondo, de forma tal que la imagen resultante pueda ser umbralizada de forma correcta2. La segunda etapa consiste en la correcta binarización de la imagen con el fondosuprimido usando cuatro algoritmos de umbralización.3. La tercera etapa consiste en la selección del umbral óptimo entre los cuatro resultados delos umbralizadores.En la Figura 4.1-1 se muestra el diagrama de bloques para medir una lámina de cuero.C Capítulo 4
  • 95. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero90Figura 4.1-1 Diagrama de bloques para medir una lámina de cueroEl diagrama de bloques para medir una lámina de cuero esta implementado por:• Dos bloques de memoria ROM de 8Kb cada uno. Uno que almacena la imagen amedir y otro que almacena el fondo de la imagen a medir.• Dos bloques de memoria RAM de 8Kb cada uno. Uno para almacenar el resultado dela imagen tratada y otro que almacena la imagen en proceso• Un bloque para la adecuación de la imagen. En este bloque se implementan lasarquitecturas para la adecuación y supresión de fondo de la imagen.• Un bloque para los umbralizadores. En este bloque se implementan los algoritmos deumbralización seleccionados en el capítulo 3.• Cuatro registros de 8 bits cada una, que almacenan los resultados de losumbralizadores.• Un bloque para el cálculo del valor óptimo del área de la lámina de cuero
  • 96. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero91• Un bloque para la unidad de control. En este bloque se almacenan todas las maquinasde estado que controlan los diferentes bloques.4.2 Etapa de Adecuación de la Imagen OriginalLa imagen original una vez capturada, contiene la información de la lámina del cuero y la delfondo o mesa de trabajo, por lo tanto esta imagen debe ser adecuada antes de proceder a medirel área de la lámina de cuero. Esta adecuación consiste en filtrar la imagen del posible ruido quepueda contener, atenuar las características del fondo y resaltar los bordes y demás píxelescorrespondientes a la lámina de cuero. La figura 4.2-1 muestra los diagrama funcional de estaetapa.La supresión del fondo se propone de dos maneras, una semiautomática, ya que requiereconocer a priori el fondo de la imagen en memoria y otra automática que captura lainformación del fondo de forma de la misma imagenFigura 4.2-1 Bloque funcional para la adecuación de la imagenLa adecuación de la imagen original se realiza en tres pasos:1. Filtrado mediana de la imagen2. Supresión del fondo de la imagen3. Filtrado High-boost de la imagen
  • 97. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero924.2.1 Filtrado Mediana de la ImagenEl filtro mediana es un filtro no lineal descrito por la ecuación 2.3-9 y es frecuentemente usadopara suprimir las componentes puntuales fuertes de la imagen, sin pérdida de la información. Elfiltro mediana debe realizar un ordenamiento para lograr obtener el valor mediano. Existenalgunos desarrollos en hardware que pretenden optimizar este cálculo. Una propuesta esrealizada por [1], que busca mejorar el tiempo de búsqueda y ordenamiento mediante uncomparador de tres datos, implementado con transistores de tecnología pmos.El filtro mediana puede ser realizado mediante un arreglo sistólico clásico que permite elordenamiento de un vector, tal como se observa en la figura 4.2-2, donde se hace uso de 41comparadores.Figura 4.2-2 Arreglo sistólico de un filtro medianaEn [2] los autores proponen el diseño de un filtro mejorado que solo hace uso de 27comparadores para una ventana de 3x3 píxeles, esta propuesta es mostrada en la figura 4.2-3a, yserá la utilizada en este proyecto como un elemento de proceso (PE).
  • 98. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero93a)b)Figura 4.2-3 Arreglo sistólico de un filtro mediana mejorado en [2]a) Filtro mediana mejorada. b) Elemento de proceso PELa arquitectura propuesta para este filtro se basa en el PE de la figura 4.2-3b y se haimplementado en pipeline para lograr un reuso de 3 píxeles. Esta arquitectura se observa en lafigura 4.2-4. Una arquitectura similar es presentada en [3], pero lo aplican a un filtro medianaadaptativo.Para aplicar el filtro mediana normalmente se debe cargar el píxel a filtrar con sus vecinosformando una ventana nxn. Para realizarlo en pipeline, se debe cargar esta matriz nxn por mediode n columnas en los registros de desplazamiento, para facilitar el manejo de memoria y la cargade los datos a los circuitos pipeline se ha propuesto el circuito de la figura 4.2.5a. Por ejemplo,se tiene una imagen como la mostrada en la figura 4.2-5b de un tamaño de 6x6 píxeles formadapor caracteres para facilitar su aplicación. Para filtrar la imagen con la arquitectura propuesta enla figura 4.2-2a se debe agregar a los bordes de la imagen valores de blanco ‘puro’ o 0xff o
  • 99. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero94duplicar los píxeles del borde, para que al aplicar la máscara del filtro, los índices de la memoriano generen posiciones negativas. La nueva imagen queda representada por una matriz de 7x7,como se observa en la figura 4.2-5c. Para filtrar el punto ubicado en la posición fila i=3,columna j=3 con valor de intensidad ‘e’, de la nueva imagen, se deben cargar los datos de formaserial sobre los registros de desplazamiento en el siguiente orden {p(2,2), p(3,2) ,p(4,2), p(2,3),p(3,3) ,p(4,3), p(2,4) ,p(3,4), p(4,4)} o en intensidad {a, b ,c, d, e, f, g, h, i}, como se observa enla figura 4.2-5d. Una vez cargados los registros, se calcula la mediana en forma paralela y secarga solo la columna de los tres píxeles siguientes y se ejecuta de nuevo el cálculo de lamediana, haciendo un re-uso de seis píxeles ya cargados en los registros de desplazamiento,como se observa en la figura 4.2-5e. La simulación se observa en la figura 4.2-5f. La tabla 4.2-1presenta los resultados de compilación.Figura 4.2-4 Filtro no lineal tipo mediana implementado en pipeline
  • 100. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero95a)ba dceghf ikj mlnpqo rts vuwyzx 132 546897 0b)
  • 101. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero96c)0xff0xff 0xff0xff 0xff0xff 0xff0xff0xff0xff0xffba dceghf ikj mlnpqo r0xff0xff0xffFondo falsoFondo falsoFondo falsoPrimer columnaabcSegunda columnadefTercer columnaghiFlujo de datosd)0xff0xff 0xff0xff 0xff0xff 0xff0xff0xff0xff0xff0xff0xff0xff0xffba dceghf ikj mlnpqo r0xff0xff0xff0xff0xff0xff0xff0xff 0xff0xff 0xff0xff 0xffFondo falsoFondo falsoFondo falso Fondo falsots vuwyzx 132 546897 0
  • 102. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero970xff0xff 0xff0xff 0xff0xff 0xff0xff0xff0xff0xffba dceghf ikj mlnpqo r0xff0xff0xffFondo falsoFondo falsoFondo falsoSegunda columnadefTercer columnaghiFlujo de datosCuarta columnajklDatos de reusoe)f)Figura 4.2-5 circuito de manejo de memoria y la imagen de ejemploa) Circuito para el manejo de la memoria. b) Imagen de ejemplo de 6x6. c) Imagen de ejemplosobre-muestreada de 7x7. d) Captura de datos. e) Reuso de seis datos. f) Simulación del filtro
  • 103. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero98Tabla 4.2-1 Resultados de simulación del filtro medianaElementos usados TotalCeldas lógicas 295Registros 1834.2.2 Supresión del Fondo de la ImagenLa supresión del fondo de la imagen permite mejorar el contraste de la lámina de cuero, ya quesuprime total o parcialmente el fondo o la mesa de trabajo de la escena. Para este proyecto sehan implementado dos técnicas. La primera consiste en almacenar previamente el fondo yrestarlo de la nueva imagen tomada, mitigando efectos de iluminación a bajo costocomputacional, pero dejando el sistema de modo semiautomático, ya que requiere laintervención del operario. La segunda técnica consiste en realizar un filtrado morfológicobottom hat, suprimiendo el fondo de forma automática pero a mayor costo computacional. Paraeste proyecto se implementarán las dos técnicas.4.2.2.1 Bloque Restador de FondoEste bloque permite suprimir un píxel del fondo con uno de la imagen. Entonces; se realiza ladiferencia y se compara con un valor de referencia. De acuerdo a este resultado, si la diferenciaes menor que la referencia, se guarda un valor de 255 o blanco puro. En caso contrario seguarda el píxel de la imagen o el cuero. El diseño de este del supresor de fondo propuesto estácompuesto por dos sumadores, dos multiplexores y un comparador y es mostrado en la figura4.2-6c. La figura 4.2-6a muestra gráficamente como funciona este bloque.Esta técnica semiautomática de supresión del fondo permite eliminar de forma precisa el fondode la imagen, puede usarse como una tara para la medida, ya que permite suprimir defectosproducidos por la suciedad, la iluminación y pequeños cambios del tono del fondo. La tabla 4.2-2 presenta los resultados de compilación.
  • 104. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero99250 248 250 252 245 248250 248 250 252 245 248255 148 45 52 45 148250 238 150 90 145 248245 248 150 152 145 248235 248 250 252 245 248Imagen Original255 255 255 255 255 255255 255 255 255 255 255255 148 45 52 45 148255 255 150 90 145 255255 255 150 152 145 255255 255 255 255 245 255Offset = 10250 241 245 243 240 250250 248 250 252 245 248255 239 251 245 240 128250 238 250 250 245 248245 248 250 252 245 248235 248 250 252 245 248Imagen del FondoImagen con fondo suprimidoImagenFondoa)b)
  • 105. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero100c)Figura 4.2-6 Bloque hardware del restador de fondo y su funcionamientoa) Funcionamiento de forma grafica de la resta. b) Restador como elemento de proceso (PE).c) Bloque hardware del restador.Tabla 4.2-2 Resultados de simulación del supresor del fondoElementos usados TotalALUT’s 274.2.2.1 Filtrado Morfológico Bottom HatEl filtro morfológico Bottom hat realiza la operación de cerradura sobre la imagen,eliminando la mayoría de elementos en ella, dejando solo el fondo. La realización de unaoperación de cerradura implica hacer primero una dilatación a la imagen y después unaerosión, o sea se deben realizar dos filtrados a la imagen, aplicando el mismo elemento
  • 106. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero101estructural en ambos filtrados, elevando el costo computacional, pero sin la necesidad deconocer a priori el fondo de la imagen.Estas operaciones de dilatación y erosión se implementaron en pipeline y el elementoestructura es formado en una matriz binaria de 3x3 elementos, similares a los mostrados enla figura 4.2-70 1 01 1 10 1 0a)1 1 11 1 11 1 1b)0 0 10 1 01 0 0c)1 0 10 1 01 0 1d)Figura 4.2-7 Elementos estructurales para las operaciones de dilatación y erosióna) Cruz b) Cuadrado c) Diagonal d) EquisLos elementos estructurales se cargan de forma serial por medio de registros dedesplazamiento de un bit. Según la estructura a cargar, estos valores binarios activan losmultiplexores, seleccionando un cero o el valor del píxel.Una vez cargados los registros de desplazamiento (pipeline) con los píxeles de la máscaraseleccionada se obtiene el valor de erosión del píxel en esa vecindad. Esta tarea se realizahasta recorrer toda la imagen. Después se ejecuta el mismo procedimiento, pero haciendola dilatación de la imagen. Al realizar el segundo recorrido se obtiene la cerradura de laimagen. La arquitectura propuesta se observa en la figura 4.2-8. Un diseño de unaarquitectura para el cálculo de erosión y dilatación es presentada en [4]Para hacer el filtrado bottom hat se debe aplicar la cerradura y después suprimirle la imagenoriginal, para obtener de esta manera la imagen sin el fondo. La resta se hace usando elbloque del restador mostrado en la figura 4.2-6a
  • 107. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero102Figura 4.2-8 Arquitectura pipeline para realizar las operaciones de dilatación y erosiónLa simulación de este filtro se observa gráficamente en la secuencia de la figura 4.2-9donde se tiene una imagen de 8x8 píxeles y se aplica un elemento estructural en forma decruz. En la figura 4.2-9a se filtra el píxel con valor de intensidad 5, dando como resultado
  • 108. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero103para la erosión el menor valor dentro de esta vecindad, el cual es el valor de intensidad 2.La tabla 4.2-3 presenta los resultados de compilación.a)b)
  • 109. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero104c)d)Figura 4.2-9 Simulación de las operaciones de dilatación y erosióna) Filtrado en T1. b) Filtrado en T2. c) Filtrado en T3. d) Diagrama de tiempos
  • 110. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero105Tabla 4.2-3 Resultados de simulación del filtro Bottom hatElementos usados TotalRegistros 450Registros lógicos dedicados 450ALUTs combinacionales 23504.2.3 Filtrado High Boost de la ImagenCuando el algoritmo de supresión de fondo ha realizado la resta entre la imagen de la mesa y laimagen de la lámina de cuero, se hace necesario realizar un filtrado, ya que se deben eliminarlos residuos de que generó la supresión y mejorar los bordes de la nueva imagen. En este caso elfiltrado se realiza usando un filtro High-Boost el cual tiene la característica de mejorar losbordes y permitir el paso de parte de la imagen de acuerdo al valor de A, como se describe en laEcuación 2.3-8La implementación de este filtro se realiza en pipeline como se observa en la figura 4.2-10a)
  • 111. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero106++-++-X0[0..7]X1[0..7]X2[0..7]X3[0..7]X5[0..7]X6[0..7]X7[0..7]X8[0..7]X4[0..7] Y[0..7]b)+X0[0..7]X1[0..7]X2[0..7]X3[0..7]X5[0..7]X6[0..7]X7[0..7]X8[0..7]Suma[0..10]X4[0..10]+-0ABA>BABA>BABA>BABA>B2550101HB[0..10]c)Figura 4.2-10 Arquitectura pipeline para realizar el filtro high boosta) Arquitectura high boost. b) Elemento de proceso de suma y resta. c) Bloque delelemento de suma y restaEste filtro se realiza con un arreglo de registros de desplazamiento, los cuales realizan elpipeline del filtro y la máscara se implementa con un sumador de 8 entradas y un restador,para mantener el valor de salida en el rango de 0 a 255 se usan dos comparadores y dosmultiplexores.La simulación del filtro high boost, aplicado a un píxel de una imagen de prueba se observa enla secuencia mostrada en la figura 4.2-11. La tabla 4.2-4 presenta los resultados de compilación.
  • 112. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero107a)b)Figura 4.2-11 Simulación del filtrado high boosta) Píxel filtrado con high boost. b) Diagrama de tiempos
  • 113. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero108Tabla 4.2-4 Resultados de simulación del filtro High boostElementos usados TotalRegistros 364Registros lógicos dedicados 364ALUTs combinacionales 20864.3 Etapa de Umbralización de la ImagenLos algoritmos de umbralización son una parte fundamental del microsistema de medicióndebido a que estos terminan de separar el fondo de la lámina de cuero mediante el cálculo de unvalor de umbral que separa los niveles de intensidad de la imagen en dos regiones. Una regiónque contiene los píxeles del fondo de la imagen y otra que contiene los píxeles de la lámina decuero. La suma de los píxeles contenidos en la región umbralizada, representan el área real de lalámina de cueroEn la sección 3.5.2 se realizo una evaluación a diez algoritmos de umbralización, de los cualesse han implementado los primeros cuatro algoritmos mediante arquitecturas hardware. Losalgoritmos implementados son:1. Arquitectura hardware para el algoritmo de umbralización de Otsu2. Arquitectura hardware para el algoritmo de umbralización ISODATA3. Arquitectura hardware para el algoritmo de umbralización intermodal4. Arquitectura hardware para el algoritmo de umbralización de valles y colinas4.3.1 Arquitectura Hardware para el Algoritmo de Umbralización deOtsuEl algoritmo de umbralización de OTSU hace uso iterativo de la información del histograma dela imagen. El histograma implementado en este proyecto es para imágenes en escala de grises, osea de 8 bits y solo requiere 256 valores o posiciones de memoria. En [5] se desarrolla unaarquitectura que pretende mejorar la implementación en hardware de este algoritmoEl algoritmo de Otsu utiliza la varianza como una medida de dispersión de los niveles de gris.Este método busca un valor de umbral que minimice la varianza en la región de interés y que asu vez sea máxima con las demás regiones. Para esto el algoritmo debe encontrar un valor deumbral donde el cociente entre ambas varianzas sea máximo.La implementación hardware del algoritmo de OTSU se basa en el cálculo del histograma y endos bloques principales, un bloque estadístico para calcular los momentos estadísticos OMEGAy MU, y otro para calcular el umbral de OTSU a través de la varianza.
  • 114. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero109Para comprender mejor el funcionamiento de este algoritmo se plantea una imagen de 6x6píxeles como la mostrada en la figura 4.3-1a y su histograma en la figura 4.3-1b.a)b)Figura 4.3-1 Imagen de prueba para calcular el umbral de Otsua) Imagen de prueba. b) Histograma de la imagen de prueba024681012Negro Seminegro Gris Grisclaro Semiblanco BlancoCantidaddepixelesIntensidadHistograma de intensidad
  • 115. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero110Una vez calculado el histograma, se calculan los momentos estadísticos y se busca el umbral deseparación mediante la comparación de la varianza entre clases (fondo y objeto), de forma talque el mínimo valor es el umbral de Otsu, este procedimiento se observa la figura 4.3-2.a) b)c)d) e)f)Figura 4.3-2 Umbralización de Otsu de forma graficaa) Imagen para umbral T<0. b) Imagen para umbral T<1. c) Imagen para umbral T<2.d) Imagen para umbral T<3. e) Imagen para umbral T<4. f) Imagen para umbral T<5.Se observa que la varianza dentro de las clases es menor en las figuras 4.3-2c y 4.3-2d y deigual manera, la figura queda mejor separada para estos dos umbrales, o para un umbral T <3.La tabla 4.3-1 presenta los resultados de compilación de umbralizador de Otsu.
  • 116. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero1114.3.1.1 Implementación del Bloque para el Cálculo del HistogramaPara la implementación del hardware para calcular el histograma se requiere tener un bloque dememoria RAM para almacenar el conteo de cada elemento que se repite en la imageninicializada en cero. Se carga el valor del nivel de intensidad de la imagen y este valor apunta ala dirección de la memoria RAM del histograma. Con la Memoria RAM direccionada, se cargael valor actual de esta posición y se aumenta en uno. Para realizar este incremento se usa unsumador acumulador y su salida se graba nuevamente en la memoria RAM del histograma.Para sincronizar esta operación se requiere que la línea de lectura del la memoria RAM de laimagen y el histograma estén en nivel alto, es este momento se carga el valor del píxel de laimagen en el puerto de direcciones de histograma, dando salida al valor de intensidad delhistograma de esta posición. Este valor es incrementado en uno. Una vez cargado el valor desuma y acumulación se activa la línea de escritura de la memoria RAM del histograma y seactualiza el nuevo valor del histograma. En la Figura 4.3-3 se muestran el bloque hardware parael cálculo del histograma y su simulación.a)
  • 117. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero112b)Figura 4.3-3 Cálculo en hardware del histogramaa) Bloque hardware del histograma. b) Simulación del histograma4.3.1.2 Implementación del Bloque EstadísticoEl bloque estadístico permite calcular los momentos llamados omega y miu. Para laimplementación de este método se dispone de dos bloques de memoria RAM, un sumador-acumulador para el cálculo del histograma acumulado o el momento omega y un multiplicador-sumador y acumulador que calcula el área de intensidad acumulada. La implementación de estebloque estadístico se observa en la figura 4.3-4Figura 4.3-4 Arquitectura hardware del bloque estadísticoEste bloque estadístico se calcula a partir del histograma de la imagen a analizar o másdirectamente del histograma almacenado en la memoria RAM “histograma”. La memoria RAM
  • 118. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero113“Omega” almacena el cálculo del histograma acumulado, mediante la suma y acumulación delos valores presentes y pasados del histograma. De igual forma pero precedida de unamultiplicación entre el valor del histograma y el i-esimo valor del histograma se calculan losvalores de la memoria RAM “Miu”.4.3.1.3 Implementación del Bloque para Cálculo del Umbral OtsuEste bloque calcula la varianza entre clases para hallar el umbral de Otsu. Los cálculosaritméticos son realizados por los bloques funcionales mostrados en la figura 4.3-5 paranúmeros enteros, los principales bloques son: Un sumador, cuatro flip-flops, cuatro restadores,cuatro multiplicadores, dos divisores, y un comparador, los cuales se encargan de calcular elvalor de umbral de Otsu.Figura 4.3-5 Arquitectura hardware del bloque que cálculo el umbral de Otsu
  • 119. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero114Esta arquitectura realiza los cálculos matemáticos para hallar la varianza de cada clase (fondo yobjeto) de forma iterativa, encontrando el mínimo valor entre ambas clases y guardando laposición del contador de la iteración, que finalmente es el valor de umbral de Otsu. La tabla 4.3-1 presenta los resultados de compilaciónTabla 4.3-1 Resultados de simulación del umbralizador de OtsuElementos usados TotalMultiplicadores de 9 bits embebidos 18Registros 156Registros lógicos dedicados 156Funciones combinacionales 2259Memoria Total en bits 720324.3.2 Arquitectura Hardware para el Algoritmo de UmbralizaciónISODATAEl umbralizador ISODATA se puede describir en dos pasos, como se presentan a continuación:1. En el primer paso, se deben calcular los umbrales iníciales. Para calcular los valoresiníciales se toman los valores de las esquinas de la imagen y se promedian, este valorse llama T1, después se promedia el resto de píxeles de la imagen, este valor se llamaT2, luego se calcula el promedio T1 y T2, a este valor se le llama el umbral T inicial.En este procedimiento se inicializa el umbral viejo o anterior, con un valor de cero.2. En el segundo paso, se calcula el promedio de la región contenida por los valoresinferiores al umbral inicial y se calcula el promedio de la región contenida por los demásvalores. Estos promedios se llaman T1 y T2. Se calcula el promedio entre T1 y T2 y secompara con el umbral T inicial, si son iguales, entonces se ha calculado el umbralISODATA y se termina el cálculo, en caso contrario, se hará el umbral T inicial como elumbral viejo y el promedio de T1 y T2 será el nuevo umbral T inicial, y se regresa alpaso uno de nuevo.La implementación de este umbralizador se ha diseñado para que realice el cálculo delpromedio entre T1 y T2 en hardware, e inicie el umbral inicial por medio de la señal “Iniciar”,cargando de esta forma el primer valor de umbral T, se resetea el flip-flop umbral viejo a cero.Una vez inicializado, se cargan todos los píxeles de la imagen y se calculan los siguientesvalores promedio T1 y T2, y a su vez el promedio entre ellos. Este valor es comparado con elumbral viejo cargado en el flip-flop, y si son iguales, este valor será el umbral ISODATA, y secargara en el flip-flop de salida. En caso contrario este valor se carga como umbral T y elantiguo valor de umbral T se desplaza, convirtiéndose en el umbral viejo. Este proceso se repitehasta que el umbral viejo y el promedio de T1 y T2 sean iguales. Una implementación en
  • 120. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero115hardware de este algoritmo es propuesta en [6]. La tabla 4.3-2 presenta los resultados decompilación. La arquitectura propuesta se observa en la figura 4.3-6.Figura 4.3-6. Arquitectura hardware para el cálculo del umbral ISODATA
  • 121. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero116Tabla 4.3-2 Resultados de simulación del umbralizador ISODATAElementos usados TotalRegistros 40Registros lógicos dedicados 40ALUTs combinacionales 9864.3.3 Arquitectura Hardware para el Algoritmo de UmbralizaciónIntermodalEste umbralizador hace uso de forma iterativa del histograma y lo modifica adelgazándolo concada iteración; no realiza complejos cálculos matemáticos lo cual hace que ocupe menor área,pero tiene mayor tiempo de convergencia, ya que depende de la forma de la distribuciónfrecuencial de los píxeles en su histograma. El umbral de separación se calcula en el valormedio de los picos máximos adelgazados.Al algoritmo intermodal propuesto en este proyecto se realiza en cuatro pasos, como semuestran a continuación.1. Se lee el histograma, haciendo una comparación entre grupos de 3 registros de lasposiciones [k-1], [k], [k+1], y acumulando las veces que se cumpla la condición dada porla Ecuación 4.3-1.{ }]1[][]1[ +<>− kkk (4.3-1)2. En el caso de que el valor del acumulado sea igual a tres, se debe finalizar la lectura delhistograma. En caso de que se termine de leer el histograma y el acumulado es igual a dos,se ejecuta el paso 4, de lo contrario se ejecuta el paso 3.3. Se promedian los valores de la posiciones [k-1], [k] y [k+1] y se almacenan de nuevo enla posición k, al terminar de actualizar el histograma se ejecuta de nuevo el paso 1.4. Se calcula el umbral promediando entre la ubicación del primer valor acumulado y elsegundo valor acumulado. Esta ubicación es el umbral intermodal.Este algoritmo se puede observar en gráficamente en la figura 4.3-7. La tabla 4.3-3 presenta losresultados de compilación
  • 122. a)c)Figura 4.3a) Búsqueda de máximos en el histograma. b) Adelgazamiento del histograma. c) Reducción delhistograma hasta obtenerPara la implementación de este algoritmo deRAM, uno para el histograma que se modifica y otro para el histograma temporal; tresflops para mantener actualizados los datos ipermiten encontrar el valor de umbral. En la Figura 4.3.del algoritmo intermodal.Implementación Hardware de los Algoritmos para Medir una Lámina de C117b)d)Figura 4.3-7 Algoritmos intermodal mostrado gráficamentea) Búsqueda de máximos en el histograma. b) Adelgazamiento del histograma. c) Reducción delhistograma hasta obtener dos máximos. d) Calculo del umbral de intermodalPara la implementación de este algoritmo de umbralización se usaron, dos bloques de memoriaRAM, uno para el histograma que se modifica y otro para el histograma temporal; treslizados los datos i-1, i, i+1 y tres bloques de comparación quepermiten encontrar el valor de umbral. En la Figura 4.3.8 se muestra la arquitectura hardwareImplementación Hardware de los Algoritmos para Medir una Lámina de Cueroa) Búsqueda de máximos en el histograma. b) Adelgazamiento del histograma. c) Reducción delal de intermodalloques de memoriaRAM, uno para el histograma que se modifica y otro para el histograma temporal; tres fllip-bloques de comparación quela arquitectura hardware
  • 123. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero118Figura 4.3-8. Arquitectura hardware del algoritmo intermodalEsta arquitectura hardware adelgaza el histograma mediante el promedio de tres píxelesconsecutivos. Este procedimiento lo realiza a todo el histograma de la imagen y al finalizar eladelgazamiento se verifica que solo existan dos valores máximos. El valor medio de estos dosmáximos es el umbral Intermodal. El histograma se carga inicialmente en la memoria RAM“Intermodal”, mediante la habilitación de la señal LdH. Una vez cargado el histograma, seinicia el proceso de adelgazamiento.
  • 124. Se usa una red de retardo de tres flipdespués de haber calculado el promedio, y doumbral intermodal se logra cuando se ha terminado de adelgazar el histograma y la salida delcomparador esta activa para A=2. En este momento se carga el resultado del promedio de lasposiciones de la primera colina y la segunda colina encontrada.Tabla 4.3-3 Resultados de simulaciónElementos usadosCeldas lógicasRegistrosMemoria Total en bits4.3.4 Arquitectura Hardware para ely ColinasEste umbralizador funciona de forma similar aladelgazándolo con cada iteracióncual hace que ocupe menor área, pero tiene mayoseparación se calcula en el valor mínimo del valle del histograma adelgazado.de este algoritmo depende de que exista un buen contraste entre el fondo y la imagen yobtener un valor mínimo entre el valle que se forma entre el fondo y laEl algoritmo de umbralizaciónestá en que solo cambia el pasoGráficamente este paso se observa en la figura 4.3Figura 4.3Este bloque umbralizador se compone de: Dhistograma que se modifica y otro para el histograma temporal, tresde mantener actualizados los datos iencontrar el valor de umbral, que será el mínimo valor del valle entre los máximos finales. En laFigura 4.3-10 se muestra el diagrama de bImplementación Hardware de los Algoritmos para Medir una Lámina de C119Se usa una red de retardo de tres flip-flops para guardar la posición que se puede sobredespués de haber calculado el promedio, y dos de atraso para guardar la posición adelgazada. Elntermodal se logra cuando se ha terminado de adelgazar el histograma y la salida delesta activa para A=2. En este momento se carga el resultado del promedio de lascolina y la segunda colina encontrada.Resultados de simulación del umbralizador IntermodalTotal3231178192ardware para el Algoritmo de UmbralizaciónEste umbralizador funciona de forma similar al intermodal, haciendo uso del histograma yadelgazándolo con cada iteración; no realiza complejos cálculos aritméticos ni matemáticos locual hace que ocupe menor área, pero tiene mayor tiempo de convergencia. El umbral deseparación se calcula en el valor mínimo del valle del histograma adelgazado.de este algoritmo depende de que exista un buen contraste entre el fondo y la imagen yntre el valle que se forma entre el fondo y la láminaumbralización es similar al usado para el algoritmo intermodal, su diferenciaestá en que solo cambia el paso número 4 al calcular el valor mínimo en lugar del valor medio.este paso se observa en la figura 4.3-9Figura 4.3-9 Cálculo del mínimo valle gráficamenteue umbralizador se compone de: Dos bloques de memoria RAM, uno para elhistograma que se modifica y otro para el histograma temporal, tres fllip-flopsde mantener actualizados los datos i-1, i, i+1 y tres bloques de comparación que permiteencontrar el valor de umbral, que será el mínimo valor del valle entre los máximos finales. En la10 se muestra el diagrama de bloques del umbralizador cálculo del valle.Implementación Hardware de los Algoritmos para Medir una Lámina de Cueroflops para guardar la posición que se puede sobre escribir,posición adelgazada. Elntermodal se logra cuando se ha terminado de adelgazar el histograma y la salida delesta activa para A=2. En este momento se carga el resultado del promedio de lasdel umbralizador Intermodalización Valles, haciendo uso del histograma yo realiza complejos cálculos aritméticos ni matemáticos lor tiempo de convergencia. El umbral deseparación se calcula en el valor mínimo del valle del histograma adelgazado. La convergenciade este algoritmo depende de que exista un buen contraste entre el fondo y la imagen y así poderlámina de cuero.es similar al usado para el algoritmo intermodal, su diferencia4 al calcular el valor mínimo en lugar del valor medio.os bloques de memoria RAM, uno para elflops que se encargande comparación que permiteencontrar el valor de umbral, que será el mínimo valor del valle entre los máximos finales. En laloques del umbralizador cálculo del valle.
  • 125. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero120Figura 4.3-10. Calculo del umbral valles y colinasEsta arquitectura es similar a la propuesta para el algoritmo Intermodal, su diferencia estáen la carga del mínimo valor que cumple la condición dada por la ecuación 4.3-1 en lugardel valor medio. La tabla 4.3-4 presenta los resultados simulación.Tabla 4.3-4 Resultados de simulación del umbralizador valles y colinasElementos usados TotalCeldas lógicas 330Registros 130Memoria Total en bits 8192
  • 126. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero1214.4 Etapa para el Cálculo del Área Óptima de la Lámina de CueroAl tener cuatro valores de umbral, se debe decidir cuál de ellos usar y así binarizar la imagen ycalcular el área correspondiente. Para calcular el área óptima se sustraen las imágenes entre si yse calcula el promedio para el par de imágenes de menor variación. A continuación se muestraun ejemplo de cómo se realiza este proceso.4.4.1 Ejemplo con Círculos para Calcular el Área Óptima de la Láminade Cuero1. Se generan las figuras binarias usando cada umbral. Para la mejor comprensión de estemétodo se usarán figuras en forma de círculo con diámetros diferentes y un área total de laimagen de 50x50 píxeles, tal como se observa en la figura 4.4-1a, 4.4-1b, 4.4-1c, 4.4-1d.a) b)c)d)Figura 4.4-1. Círculos de pruebaa) Círculo A de un diámetro de 47 píxeles y área 1734 pixeles2. b) Círculo B de un diámetro de 45píxeles y área 1590 pixeles2. c) Círculo C de un diámetro de 43 píxeles y área 1452 pixeles2. d)Círculo D de un diámetro de 46 píxeles y área 1661 pixeles2.
  • 127. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero1222. Se implementa la operación BA∩ y acumulando su resultado. Los píxeles no comunes entrelos círculos se observan en la figura 4.4-2.a) b)c)d)e) f)Figura 4.4-2. Intersección de las imágenes binariasa) BA∩ b) CA∩ c) DA∩ d) CB ∩ e) DB ∩ f) DC ∩El área sombreada de los círculos de la figura 4.4-2 representa los píxeles que no son comunesen ambas imágenes, y por lo tanto son un indicador de la variación entre ambasumbralizaciones. El valor óptimo de umbral se logra cuando este valor es mínimo. Para este
  • 128. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero123ejemplo en particular se presenta en la tabla 4.4-1 los resultados de las intersecciones de loscírculos mostrados en la figura 4.4-1Tabla 4.4-1. Resultados de las intersecciones de los círculos mostrados en la figura 4.3-2Intersección entre los conjuntos Cantidad de píxeles no comunesBA∩ 145CA∩ 283DA∩ 73CB ∩ 138DB ∩ 71DC ∩ 2103. Se selección los conjuntos que contienen la menor cantidad de píxeles no comunes, y sobreeste conjunto se calcula el promedio de sus valores de umbral. Este promedio será el valoróptimo, que para este caso sería el promedio del área B y D, que es 1626 píxeles4.4.2 Arquitectura Hardware para el Cálculo del Valor Optimo.La arquitectura a bloques propuesta para el cálculo del área optima consta de una etapa en lacual se lee la imagen sin fondo almacenada en la memoria RAM llamada “Imagen Tratada”,donde se compara con cada umbral y se calcula cada área según su umbral, mediante cuatrosumadores acumuladores, como se observa en la figura 4.4-3a. Las señales bitA, bitB, bitC ybitD son generadas por la comparación entre el píxel de la imagen y cada umbral de separación.Estas señales habilitan la suma y acumulación de cada píxel que corresponde a la lámina decuero, los cuales se denominan AOtsu, AISODATA, AIntermodal y AVallesycolinas que corresponden a losvalores de área en píxeles según el umbral de cálculo. La figura 4.4-3b muestra las señales bitA,bitB, bitC y bitD combinadas en parejas por la operación xor calculan el área no común entrecada par de láminas de cuero umbralizadas. También se cargan los valores de los promedios delas áreas calculadas y los valores de área no común en el circuito mostrado en la figura 4.4-3c ycalcula el menor valor del área no común y canaliza el promedio de área de esta pareja, quefinalmente es el área óptima de la lámina de cuero. La tabla 4.4-2 presenta los resultados decompilación
  • 129. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero124a)b)c)
  • 130. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero125d)Figura 4.4-3. Arquitectura a bloques para el cálculo del área óptimoa) Calculo de las distintas áreas según el umbral b) Calculo de los promedios entre las áreas y susárea no comunes c) Bloque PE para el cálculo del menor valor no común y su área optima. d)Tabla 4.4-2 Resultados de simulación para el cálculo del área óptimaElementos usados TotalCeldas lógicas 330Registros 130ALUT’s 20
  • 131. Implementación Hardware de los Algoritmos para Medir una Lámina de Cuero126Bibliografía[1] Digital Circuit Architecture for a Median Filter of Grayscale Images Based onSorting Network. International journal of circuits, systems and signal processing.Victor Jimenez-Fernandez, Denisse Martinez-Navarrete, Carlos Ventura-Arizmendi,Zulma Hernandez-Paxtian, Joel Ramirez-Rodriguez. 2011[2] An FPGA-based implementation for median filter meeting the real-timerequirements of automated visual inspection systems. Proceedings of the 10thMediterranean Conferenceon Control and Automation. lisboa. miguel a. vega-rodríguez, juan m. sánchez-pérez, juan a. gómez-pulido. Universidad deExtremadura, Dpto. de Informática, España. 2002[3] High Speed Pipelined Architecture for Adaptive Median Filter. European Journal ofScientific Research. D.Dhanasekaran K. Boopathy Bagan . ISSN 1450-216X Vol.29No.4 pp. 454-460. 2009.[4] Implementación de una arquitectura para un filtro morfológico de imágenesdigitales en escala de grises en un fpga de altera. tesis para optar el título deingeniero electrónico. Jordán Giacomo Villeta Espinoza. Perú. 2003[5] Implementation of Otsus Thresholding Process Based on FPGA. Wang Jianlai, YangChunling, Zhu Min, Wang Changhui. School of Electrical Engineering Harbin Instituteof Technology Harbin, China wjl820518@sina.com 2009[6] A Parallelized and Pipelined Datapath to Implement ISODATA Algorithm for RosetteScan Images on a Reconfigurable Hardware. Ehsan Rahimi, Shahriar B. Shokouhi, AliSadr. Iran University. 2008
  • 132. 81CONCLUSIONES Y TRABAJO FUTUROEn este trabajo se presenta el diseño de un microsistema basado en un FPGAs para lamedición del área de una lámina de cuero. En este caso, se lleva a cabo un análisis de lasdiferentes partes que componen este sistema de medición y se realiza un estudio sobre losaspectos teóricos para la realización del proyecto y desarrollos actuales de microsistemaspara el procesamiento digital de imágenes sobre FPGAs.Se selecciona una cámara que permite obtener imágenes de buena resolución y con mínimadistorsión del lente con el objetivo de lograr la medición más confiable desde el inicio de lacaptura de la imagen. Los resultados experimentales mostraron que las imágenes tomadaspresentaron una distorsión despreciable, ya que sus capturas se hicieron de forma centrada.La resolución de captura fue de 1.5 mega píxeles, lográndose una resolución de 804pixeles por decímetro cuadrado, suficientes para lograr la precisión propuesta y mejorandonotablemente la resolución respecto a los equipos de medida tradicionales que puedenobtener hasta 25 puntos por decímetro cuadrado.Se uso un sistema de iluminación practico y robusto, implementado con una lámpara de usoindustrial, para obtener una buena relación entre el contraste de la lámina del cuero y lamesa de medida; el tipo de iluminación usada fue la iluminación frontal, la cual presentabuenos resultados y es de fácil instalación, aunque presento algunos problemas con loscambios de iluminación a lo largo del día. Para solucionar este problema se opto porimplementar la técnica de supresión de fondo y medir en un sitio cerrado, para evitarperturbaciones externas, mitigando los problemas de sombras en la imagen.Los algoritmos para el mejoramiento de la imagen se implementaron con un filtro medianay posteriormente se suprimió el fondo de la imagen mediante un filtro morfológico bottomhat, que se desempeño correctamente en todas la pruebas, logrando suprimir el fondo conéxito. Posteriormente se filtro la imagen usando un filtro high-boost que tiene comoobjetivo mejorar los bordes de la imagen y disminuir la pérdida de área causada por bordesdefectuosos generados durante la supresión del fondo, esto permitió definir mejor elcontorno de la imagen de la lámina de cuero.La implementación hardware en pipeline del filtro mediana, bottom hat y el, high boostmejoran el desempeño del filtrado ya que hace un re-uso de seis de nueve pixeles que seusan comúnmente en este tipo de filtros, logrando mejorar la velocidad en elprocesamiento.Una de las partes más importantes de este trabajo de investigación, consistió en determinarque algoritmos, técnicas o métodos nos permiten separar de forma óptima y confiable laCapítulo 5
  • 133. Conclusiones y Trabajo Futuro82imagen de la mesa de la imagen de la lámina de cuero, para poder realizar su medición deforma correcta. Durante el desarrollo de este proyecto se determino que las técnicas deumbralizacion resolvían esta necesidad, y se probo de forma experimental cuales dieronmejores resultados para realizar este proyecto.Se investigo en la literatura existente diversas técnicas de umbralizacion, y en este caso seprobaron diez algoritmos de umbralizacion. Se uso el criterio basado en la clasificaciónerrónea y el criterio basado en el error relativo para determinar los mejores resultados deumbralizacion, dando como resultados los algoritmos de umbralizacion de Otsu,ISODATA, Intermodal y valles y colinas.El éxito de estos algoritmos radico en que ellos hacen su búsqueda en las distribuciones quesepara el valle más profundo. Al buscar sobre este valle profundo se incrementan laposibilidades de éxito ya que el fondo de la imagen o la mesa de trabajo es de un color quegenera un buen contraste con las láminas de cuero, que generalmente para esta aplicaciónson de color azul o curtido en cromo (wet-blue). Teniendo en cuenta, los resultados demedición se puede finalmente concluir que el microsistema para la medición de una láminade cuero logra mejores resultados que las maquina electrónicas tradicionales, ya que elerror relativo fue inferior al 1%, mientras que el error relativo de los sistemas de medicióntradicionales están entre el 1 y el 3%, aparte de la ventaja técnica que representa el tener unsistema de medición compacto, el cual presenta menos problemas por mantenimiento quesus contrapartes tradicionales.El trabajo futuro puede estar enfocado a capturar la imagen desde el sistema de medición yno de forma externa como se realizo en este proyecto. Se pueden implementar arquitecturascomo las mostradas en el capitulo 2, en la sección 2.4.1 con el objetivo de realizar de formaembebida toda la medición de la lamina de cuero. De igual manera se puede implementar lacorrección del lente y ajuste de perspectiva de forma embebida en el FPGA como losmostrados en el capitulo 2 en la sección 2.4.1, para disminuir la distancia de instalación delsistema de captura de la imagen, ya que en este trabajo esta a una distancia aproximada de 5metros de altura, lo cual le resta un poco de practicidad a la hora de realizar el montaje.También se puede mejorar el sistema de iluminación, implementando un sistema deiluminación automático que permita a toda hora tener una iluminación siempre constante endiversos puntos de área de medición, con el objetivo de mitigar los efectos producidos porlos cambios de iluminación a lo largo del día o los altibajos de tensión comunes enambientes industriales.Una de las ventajas de usar un sistema de medición mediante el uso de sensores de capturatipo CMOS o CCD es que al aumentar la resolución del sistema de captura se disminuye elerror relativo en la medida. Lo cual es algo factible en este momento ya que la relaciónprecio y resolución del sensor cada día es más baja, dando como resultados alta precisión abajo precio. Otra forma de lograr mas precisión para este microsistema de medición esmediante un arreglo de cámaras, que ayudan a disminuir la distancia del sistema de capturade la imagen y aumentar su resolución de medida sin necesidad de aumentar la resoluciónen pixeles de la imagen.
  • 134. Conclusiones y Trabajo Futuro83En el corto plazo se puede avanzar a la implementación del sistema de medición sobrevideo en tiempo real, mediante técnicas de tracking. Es posible aplicar técnicas desegmentación espacio-temporales de objetos y medir la lamina de cuero en el trayectodurante la línea de producción, disminuyendo paradas, e inclusive, suprimiendo de la líneade producción la etapa de medición, ya que se puede realizar en cualquier parte del procesodonde se extienda la lamina de cuero, como puede ser en el pintado, en el escurrido odespués del planchado.Con esta aplicación se puede migrar fácilmente al desarrollo de productos de impacto en laindustria del cuero, como puede ser la detección de fallas en el cuero, medición de lacalidad de la pintura en el cuero, o identificación de piezas para el corte automático delcuero.

×