DISEÑO DE UN MICROSISTEMA USANDO FPGAsPARA MEDIR EL ÁREA DE UNA LÁMINA DECUEROJHOHANN FABIÁN SALAZAR LOAIZAUNIVERSIDAD DEL...
DISEÑO DE UN MICROSISTEMA USANDO FPGAsPARA MEDIR EL ÁREA DE UNA LÁMINA DECUEROJHOHANN FABIÁN SALAZAR LOAIZATrabajo de grad...
iiiTabla de ContenidoINTRODUCCIÓN 51.1 MOTIVACIÓN 51.2 CONTRIBUCIÓN DE LA TESIS 71.3 ORGANIZACIÓN DE LA TESIS 7BIBLIOGRAFÍ...
ivILUMINACIÓN, CALIBRACIÓN Y SIMULACIÓN FUNCIONAL DE LOSALGORITMOS USADOS PARA MEDIR UNA LÁMINA DE CUERO 613.1 INTRODUCCIÓ...
vLISTA DE FIGURASFigura 1.1-1. Sistema electrónico tradicional para medir el área de una lámina de cuero. 6Figura 1.1-2. S...
viFigura 2.3-15. Operadores de gradiente 32Figura 2.3-16. Operador Laplaciano 33Figura 2.3-17. Operación del operador Lapl...
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 ...
viiiFigura 4.3-2 Umbralizacion de Otsu de forma grafica 110Figura 4.3-3 Cálculo en hardware del histograma 112Figura 4.3-4...
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 6...
5INTRODUCCIÓNLas láminas de cuero son comercializadas de acuerdo al tamaño de su superficie y lasunidades típicas son: el ...
Introducción6• Mesa transportadora: Es un sistema mecánico que se encarga de desplazar el cuerosobre el arreglo de sensore...
Introducción7En este caso, el sistema electrónico de medición es un microsistema basado en FPGAs quepermite implementar va...
Introducción8Bibliografía[1] http://www.cueronet.com/tecnicacuero.htm
92.1 IntroducciónEn este capítulo se presentan los conceptos teóricos utilizados en el diseño delmicrosistema basado en FP...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes10Figura 2.1-1 Sistema para medir el área...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes11En la sección 2.4 se presentan diecisei...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes12Figura 2.2- 1. Representación grafica d...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes132.2.2 Sistema de Adquisición de una Ima...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes14Donde: Sli es la responsividad luminosa...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes151−+= ROADCPBP xnbHxVFR ττ (...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes16Figura 2.2-4. Modelo Pinhole.Un punto X...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes17CamyxZYXvfufvu=...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes18La proyección perspectiva o pinhole est...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes19En cámaras de distancia focal muy corta...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes20Figura 2.2-5. Efectos de distorsión rad...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes21Figura 2.2-6. Ley de los cuadradosPara ...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes221. Iluminación normal: En este caso el ...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes231. Operaciones morfológicas2. Filtrado ...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes242. ErosiónEsta técnica consiste en elim...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes25a) b)Figura 2.3-3. Proceso de apertura ...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes26)( bffh o−= (2.3-5)En la figura 2.3-5 s...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes272.3.1.2 Filtrado en el Dominio Espacial...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes281. Filtrado Espacial Paso BajoSegún la ...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes29filtrado por la mediana tiene especial ...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes30La operación sobre una imagen puede obs...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes31a) b)Figura 2.3-14. Filtrado high boost...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes32−1001− 0110a) −−−...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes332.3.2.1 Operador LaplacianoEl operador ...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes342.3.2.2 UmbralizaciónLa umbralización e...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes35a. Umbralización basado en la concavida...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes362. Métodos Basados en Agrupamiento de P...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes37La media de las clases q1(i) y q2(i) es...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes38NXNmNxNmeeNmfpd 9911),( −−−+= (2.3-26)D...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes39c. Umbralización basada en la maximizac...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes40seleccionado que corresponda a una medi...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes41Donde C es un valor constante que cumpl...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes42similitud se usa divergencia dirigida o...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes43(T)](T)logQP(T)(T)logQP(T)(T)logQP(T)(T...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes44433x3 Tj)VarI(i,orT),(Aveif1),( ><= jiI...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes45Figura 2.4-1. Arquitectura para el disp...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes46La figura 2.4-3 muestra una arquitectur...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes47b)Figura 2.4-4. Bloque DSP para la capt...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes48En la figura 2.4-6 se muestra una arqui...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes49a)b)Figura 2.4-7. Arquitectura basada e...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes50Figura 2.4-8. Arquitectura basada en un...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes51a) b)c)Figura 2.4-10. Arquitectura basa...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes52c)Figura 2.4-11. Arquitectura de un com...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes53Figura 2.4-13. Arquitectura para la rea...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes54segmentación y la extracción de caracte...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes55a)b)Figura 2.4-16. Arquitectura para la...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes56Bibliografía[1] Tratamiento digital de ...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes57[11] Luminotecnia. Principios fundament...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes58[24] Automatic Target Classification Us...
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes59[38] Fuzzy Partition of Two-Dimensional...
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
×

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

705 views

Published on

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
705
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 13. Introducción8Bibliografía[1] http://www.cueronet.com/tecnicacuero.htm
  14. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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-

×