SlideShare uma empresa Scribd logo
1 de 134
Baixar para ler offline
DISEÑO DE UN MICROSISTEMA USANDO FPGAs
PARA MEDIR EL ÁREA DE UNA LÁMINA DE
CUERO
JHOHANN FABIÁN SALAZAR LOAIZA
UNIVERSIDAD DEL VALLE
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
PROGRAMA DE POSTGRADO EN INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
SANTIAGO DE CALI
2012
DISEÑO DE UN MICROSISTEMA USANDO FPGAs
PARA MEDIR EL ÁREA DE UNA LÁMINA DE
CUERO
JHOHANN FABIÁN SALAZAR LOAIZA
Trabajo de grado en opción al título de:
Magíster en Ingeniería - Énfasis Ingeniería Electrónica
Director:
Jaime Velasco Medina Ph.D
Escuela de Ingeniería Eléctrica y Electrónica
UNIVERSIDAD DEL VALLE
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
PROGRAMA DE POSTGRADO EN INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
SANTIAGO DE CALI
2012
iii
Tabla de Contenido
INTRODUCCIÓN 5
1.1 MOTIVACIÓN 5
1.2 CONTRIBUCIÓN DE LA TESIS 7
1.3 ORGANIZACIÓN DE LA TESIS 7
BIBLIOGRAFÍA 8
FUNDAMENTOS E IMPLEMENTACIONES HARDWARE PARA EL
PROCESAMIENTO DIGITAL DE IMÁGENES 9
2.1 INTRODUCCIÓN 9
2.2 FUNDAMENTOS DEL SISTEMA DE CAPTURA DE UNA IMAGEN 11
2.2.1 Imagen digital 11
2.2.2 Sistema de Adquisición de una Imagen 13
2.2.3 Modelo Pinhole 15
2.2.4 Corrección de la Distorsión 18
2.2.5 Iluminación de la imagen 20
1. Iluminación normal 22
2. Iluminación horizontal 22
3. Iluminación vertical 22
2.3 TÉCNICAS PARA EL PROCESAMIENTO DIGITAL DE IMÁGENES 22
2.3.1 Mejoramiento de la Imagen 22
2.3.1.1 Operaciones Morfológicas 23
1. Dilatación 23
2. Erosión 24
3. Apertura y Cierre 24
4. Transformación Top Hat y Bottom Hat 25
2.3.1.2 Filtrado en el Dominio Espacial 27
1. Filtrado espacial paso bajo 28
2. Filtrado por la mediana 28
3. Filtrado espacial paso alto 29
4. Filtrado high boost 30
5. Filtros diferenciales 31
2.3.2 Segmentación de imágenes 32
2.3.2.1 Operador Laplaciano 33
2.3.2.2 Umbralización 34
1. Métodos Basados en la Forma del Histograma. 34
2. Métodos Basados en Agrupamiento de Píxeles o Clustering. 36
3. Métodos Basados en Información de la Entropía del Histograma. 37
4. Métodos Basados en los Atributos de la Imagen. 39
5. Métodos Basados en Información Espacial. 41
6. Métodos basados en características locales. 43
2.4 IMPLEMENTACIONES HARDWARE PARA EL PROCESAMIENTO
DIGITAL DE IMÁGENES 44
2.4.1 Arquitecturas Hardware para la Captura de Imágenes 44
2.4.2 Arquitecturas Hardware para la Corrección de Distorsiones en la
Captura de una Imagen 47
2.4.3 Arquitecturas Hardware para la Mejora y el Realce de una Imagen 48
2.4.4 Arquitecturas Hardware para la Segmentación y la Umbralización
de una Imagen 53
BIBLIOGRAFÍA 56
iv
ILUMINACIÓN, CALIBRACIÓN Y SIMULACIÓN FUNCIONAL DE LOS
ALGORITMOS USADOS PARA MEDIR UNA LÁMINA DE CUERO 61
3.1 INTRODUCCIÓN 61
3.2 IMPLEMENTACIÓN DEL SISTEMA DE ILUMINACIÓN 61
3.3 CALIBRACIÓN DEL SISTEMA DE CAPTURA DE LA IMAGEN 63
3.4 SIMULACIÓN DE LOS ALGORITMOS DE MEJORAMIENTO Y REALCE
DE LA IMAGEN. 67
3.4.1 Simulación del Filtro Mediana 67
3.4.2 Simulación de la Supresión del Fondo de la Imagen 69
3.4.3 Simulación del Filtro High Boost 72
3.5 SELECCIÓN DE ALGORITMOS DE UMBRALIZACIÓN 73
3.5.1 Criterios para la evaluación de los algoritmos de umbralización 74
3.5.1.1 Criterio basado en la clasificación errónea. 74
3.5.1.2 Criterio basado en el error relativo del área del objeto. 74
3.5.2 Evaluación de los algoritmos de umbralización 75
3.5.2.1 Resultados para la Figura Cuadrado 77
3.5.2.2 Resultados para la Figura Círculo 79
3.5.2.3 Resultados para la Figura Triángulo 81
3.6 SIMULACIÓN DE LOS ALGORITMOS DE UMBRALIZACIÓN
SELECCIONADOS SOBRE LÁMINAS DE CUERO 83
BIBLIOGRAFÍA 88
IMPLEMENTACIÓN HARDWARE DE LOS ALGORITMOS PARA MEDIR UNA
LÁMINA DE CUERO 89
4.1 INTRODUCCIÓN 89
4.1.1 Diagrama de Bloques para Medir una Lámina de Cuero 89
4.2 ETAPA DE ADECUACIÓN DE LA IMAGEN ORIGINAL 91
4.2.1 Filtrado Mediana de la Imagen 92
4.2.2 Supresión del Fondo de la Imagen 98
4.2.2.1 Bloque Restador de Fondo 98
4.2.2.1 Filtrado Morfológico Bottom Hat 100
4.2.3 Filtrado High Boost de la Imagen 105
4.3 ETAPA DE UMBRALIZACIÓN DE LA IMAGEN 108
4.3.1 Arquitectura Hardware para el Algoritmo de Umbralización de Otsu 108
4.3.1.1 Implementación del Bloque para el Cálculo del Histograma 111
4.3.1.2 Implementación del Bloque Estadístico 112
4.3.1.3 Implementación del Bloque para Cálculo del Umbral Otsu 113
4.3.2 Arquitectura Hardware para el Algoritmo de Umbralización ISODATA 114
4.3.3 Arquitectura Hardware para el Algoritmo de Umbralización Intermodal 116
4.3.4 Arquitectura Hardware para el Algoritmo de Umbralización Valles y Colinas 119
4.4 ETAPA PARA EL CÁLCULO DEL ÁREA ÓPTIMA DE LA LÁMINA
DE CUERO 121
4.4.1 Ejemplo con Círculos para Calcular el Área Óptima de la Lámina de Cuero 121
4.4.2 Arquitectura Hardware para el Cálculo del Valor Optimo. 123
BIBLIOGRAFÍA 126
CONCLUSIONES Y TRABAJO FUTURO 127
v
LISTA DE FIGURAS
Figura 1.1-1. Sistema electrónico tradicional para medir el área de una lámina de cuero. 6
Figura 1.1-2. Sistema de visión artificial basado en FPGAs para medir el área de una lámina de cuero. 7
Figura 2.1-1. Sistema para medir el área de una lámina de cuero usando un microsistema basado en
FPGA
10
Figura 2.2-1. Representación grafica de la función muestreo bidimensional. 12
Figura 2.2-2. Representación grafica del proceso de discretización y cuantización. 12
Figura 2.2-3. Dispositivos de captura. 13
Figura 2.2-4. Modelo Pinhole. 16
Figura 2.2-5. Efectos de distorsión radial. 20
Figura 2.2-6. Ley de los cuadrados 21
Figura 2.2-7. Tipos de iluminación 21
Figura 2.3-1. Proceso de dilatación de una imagen 23
Figura 2.3-2. Proceso de erosión de una imagen 24
Figura 2.3-3. Proceso de apertura de una imagen 25
Figura 2.3-4. Proceso de cerradura de una imagen 25
Figura 2.3-5. Transformación top hat en una imagen 26
Figura 2.3-6. Transformación bottom hat en una imagen 26
Figura 2.3-7. Operación de convolución sobre una imagen 27
Figura 2.3-8. Mascara de convolución para un filtro paso bajo 28
Figura 2.3-9. Filtrado paso bajo 29
Figura 2.3-10. Filtro mediana 29
Figura 2.3-11. Mascara de convolución para un filtro paso alto 29
Figura 2.3-12. Filtrado paso alto 30
Figura 2.3-13. Mascara de convolución para un filtro high boost 30
Figura 2.3-14. Filtrado high boost 31
vi
Figura 2.3-15. Operadores de gradiente 32
Figura 2.3-16. Operador Laplaciano 33
Figura 2.3-17. Operación del operador Laplaciano 33
Figura 2.3-18. Umbralizacion de una imagen 34
Figura 2.3-19. Matriz de coocurrencia 42
Figura 2.4-1. Arquitectura para el dispositivo LM9630 producido por [42] 45
Figura 2.4-2. Arquitectura basada en un FPGA para el procesamiento en tiempo real de imágenes
propuesto por [43]
45
Figura 2.4-3. Arquitectura basada en un FPGA para la captura de imágenes de un sensor CMOS,
propuesto por [44]
46
Figura 2.4-4. Bloque DSP para la captura de imágenes de un sensor CMOS, propuesto por [7] 47
Figura 2.4-5. Arquitectura basada en un FPGA para la corrección de las distorsiones que generan los
lentes en una imagen propuesta por [45]
47
Figura 2.4-6. Arquitectura basada en un FPGA para la corrección de las distorsiones que generan los
lentes en una imagen propuesta por [46]
48
Figura 2.4-7. Arquitectura basada en un FPGA para el cálculo del histograma propuesta por [47] 49
Figura 2.4-8. Arquitectura basada en un FPGA de un filtro FIR bi-dimensional [48] 50
Figura 2.4-9. Arquitectura basada en un FPGA de un filtro Gausiano [49] 50
Figura 2.4-10. Arquitectura basada en un FPGA de un filtro mediana [50] 51
Figura 2.4-11. Arquitectura de un comparador basada en transistores pmos y nmos [51] 52
Figura 2.4-12. Arquitectura de detector de bordes sobel implementado por [52] 52
Figura 2.4-13. Arquitectura para la realización de las operaciones de dilatación y erosion en imágenes
implementada en [53]
53
Figura 2.4-14. Arquitectura para umbralizacion de una imagen mediante el algoritmo ISODATA
implementada en [54]
53
Figura 2.4-15. Arquitectura para la segmentación y extracción de características de un video
implementada en [55]
54
Figura 2.4-16. Arquitectura para la umbralizacion por el método espacio temporal para video
implementada en [56]
55
Figura 3.2-1. Lámpara usada para la iluminación de sitio de medición. Tomada de [1] 61
Figura 3.2-1. Iluminación de la lámina de cuero 62
Figura 3.3-1. Toolbox en Matlab para la calibración de cámaras. 63
vii
Figura 3.3-2. Patrón de Calibración de 64 cuadros de 20 mm c/u. 63
Figura 3.3-3. Imágenes de calibración cargadas en el toolbox calibration. 64
Figura 3.3-4. Parámetros extrínsecos de la cámara. 65
Figura 3.3-5. Modelo de distorsión radial. 65
Figura 3.3-6. Modelo de distorsión tangencial. 66
Figura 3.4-1. Aplicación del Filtro mediana a diferentes laminas de cuero 68
Figura 3.4-2. Supresión del fondo a una la lámina de cuero por diferencia con el fondo 70
Figura 3.4-3. Supresion del fondo a una la lámina de cuero por filtrado bottom hat 71
Figura 3.4-4. Mejoramiento de bordes a una lamina de cuero sin fondo, por filtrado High boost 73
Figura 3.5-1. Figuras geométricas de prueba y sus histogramas 77
Figura 3.5-2. Umbralizacion de la figura cuadrado de 2500 pixeles 78
Figura 3.5-3. Umbralizacion de la figura circulo de 1861 pixeles 80
Figura 3.5-4. Umbralizacion de la figura triangulo de 16000 pixeles 82
Figura 3.6-1. Láminas de cuero capturadas en escala de grises 83
Figura 3.6-2. Histogramas de las láminas de cuero en escala de grises. 85
Figura 4.1-1 Diagrama de bloques para medir una lámina de cuero 90
Figura 4.2-1 Bloque funcional para la adecuación de la imagen 91
Figura 4.2-2 Arreglo sistólico de un filtro mediana 92
Figura 4.2-3 Arreglo sistólico de un filtro mediana mejorado en [2] 93
Figura 4.2-4 Filtro no lineal tipo mediana implementado en pipeline 94
Figura 4.2-5 circuito de manejo de memoria y la imagen de ejemplo 97
Figura 4.2-6 Bloque hardware del restador de fondo y su funcionamiento 100
Figura 4.2-7 Elementos estructurales para las operaciones de dilatación y erosión 101
Figura 4.2-8 Arquitectura pipeline para realizar las operaciones de dilatación y erosión 102
Figura 4.2-9 Simulación de las operaciones de dilatación y erosión 104
Figura 4.2-10 Arquitectura pipeline para realizar el filtro high boost 105
Figura 4.2-11 Simulación del filtrado high boost 107
Figura 4.3-1 Imagen de prueba para calcular el umbral de Otsu 109
viii
Figura 4.3-2 Umbralizacion de Otsu de forma grafica 110
Figura 4.3-3 Cálculo en hardware del histograma 112
Figura 4.3-4 Arquitectura hardware del bloque estadístico 112
Figura 4.3-5 Arquitectura hardware del bloque que cálculo el umbral de Otsu 113
Figura 4.3-6. Arquitectura hardware para el cálculo del umbral ISODATA 115
Figura 4.3-7 Algoritmos intermodal mostrado gráficamente 117
Figura 4.3-8. Arquitectura hardware del algoritmo intermodal 118
Figura 4.3-9 Cálculo del mínimo valle gráficamente 119
Figura 4.3-10. Calculo del umbral valles y colinas 120
Figura 4.4-1. Círculos de prueba 121
Figura 4.4-2. Intersección de las imágenes binarias 122
Figura 4.4-3. Arquitectura a bloques para el cálculo del área optimo 125
ix
LISTA DE TABLAS
Tabla 3.2-1. Muestras tomadas en el área de medición 62
Tabla 3.3-1. Valores de calibración de la cámara 64
Tabla 3.3-2. Valores de calibración para cada punto 67
Tabla 3.5-1. Algoritmos de umbralizacion a evaluar 75
Tabla 3.5-2. Calculo de los valores de los criterios de selección para la figura en forma de cuadrado 79
Tabla 3.5-3. Calculo de los valores de los criterios de selección para la figura en forma de círculo 80
Tabla 3.5-4. Calculo de los valores de los criterios de selección para la figura en forma de triangulo 82
Tabla 3.6-1. Resultados de simulación de la medida del cuero para la lamina de la figura 3.6-1a 86
Tabla 3.6-2. Resultados de simulación de la medida del cuero para la lamina de la figura 3.6-1b 86
Tabla 3.6-3. Resultados de simulación de la medida del cuero para la lamina de la figura 3.6-1c 86
Tabla 3.6-4. Resultados de simulación de la medida del cuero para la lamina de la figura 3.6-1d 87
Tabla 4.2-1 Resultados de simulación del filtro mediana 98
Tabla 4.2-2 Resultados de simulación del supresor del fondo 100
Tabla 4.2-3 Resultados de simulación del filtro Bottom hat 105
Tabla 4.2-4 Resultados de simulación del filtro High boost 108
Tabla 4.3-1 Resultados de simulación del umbralizador de Otsu 114
Tabla 4.3-2 Resultados de simulación del umbralizador ISODATA 116
Tabla 4.3-3 Resultados de simulación del umbralizador Intermodal 119
Tabla 4.3-4 Resultados de simulación del umbralizador valles y colinas 120
Tabla 4.4-1. Resultados de las intersecciones de los círculos mostrados en la figura 4.3-2 123
Tabla 4.4-2 Resultados de simulación para el cálculo del área optima 125
5
INTRODUCCIÓN
Las láminas de cuero son comercializadas de acuerdo al tamaño de su superficie y las
unidades típicas son: el decímetro cuadrado, el pie cuadrado y el metro cuadrado. Para
realizar esta medida se utilizan actualmente sistemas electrónicos de medición, en su
mayoría de fabricación extranjera, esto conlleva a los problemas de falta de soporte y
mantenimiento, además, la electrónica incorporada en todo el sistema usa en promedio
entre 80 y 160 sensores fotoeléctricos, los cuales son propensos a fallas por contaminación
del medio ambiente u oxidación por las sustancias usadas en el proceso, lo que conlleva a
un mantenimiento frecuente, generando interrupciones en el proceso de producción y altos
costos 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 y
compactos, se puede disminuir las fallas del sistema y los inconvenientes en el proceso de
medición del área de una lámina de cuero. Entonces, con el propósito de mitigar los
anteriores inconvenientes en los equipos electrónicos usados en la medición de una lámina
de cuero, esta tesis de maestría presenta el diseño de un microsistema basado en FPGAs
para medir el área de una lámina de cuero. Es decir, mediante la implementación en
hardware de algoritmos de visión artificial usando FPGAs es posible realizar la medición
del área de una lámina de cuero de una forma confiable y robusta.
1.1 Motivación
En las actividades que se llevan a cabo en las curtiembres, uno de los procesos más
importantes es la medición del área de una lámina de cuero, ya sea el cuero azul (curtido en
cromo) 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 usaban
métodos manuales o mecánicos. Información más detallada sobre este aspecto puede ser
consultada en [1], el cual es un enlace en internet que muestra los diferentes métodos de
medición.
Los equipos electrónicos presentan mayores ventajas sobre los sistemas de medición
mecánicos y/o manuales debido a su precisión y velocidad. En la Figura 1.1-1, se observa
un 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
Introducción
6
• Mesa transportadora: Es un sistema mecánico que se encarga de desplazar el cuero
sobre 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éctrico
y debe mantener una iluminación constante.
• Arreglo de sensores fotoeléctricos: Este arreglo se encarga de capturar la
informació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 es
debido a que existe una distancia entre cada fotosensor de 2 cms. Sin embargo, el error
puede aumentar si existen cambios en la velocidad de la banda transportadora o en la
intensidad de la luz de las lámparas.
Adicionalmente, los equipos electrónicos tradicionales destinados a trabajar con cuero azul
sufren un fuerte deterioro de las tarjetas electrónicas, debido a que estas láminas de cuero
están impregnadas de cromo, lo cual conduce a la sulfatación de las partes metálicas y las
pistas de cobre en los circuitos impresos. Este tipo de deterioro produce un error mayor en
la medida y en consecuencia la confiabilidad se reduce.
Teniendo en cuenta, las ventajas y falencias que tienen los equipos electrónicos
tradicionales, en esta tesis se presenta el desarrollo de un equipo electrónico de medición
del área de las láminas de cuero, el cual usa una tecnología diferente a la tradicional y
cumple con las siguientes características:
• Alta confiabilidad: Error relativo inferior al 1%
• Alta robustez: Equipo bien compacto y separado físicamente de las sustancias
químicas destructoras del cobre.
Introducción
7
En este caso, el sistema electrónico de medición es un microsistema basado en FPGAs que
permite implementar varias técnicas o algoritmos de visión artificial en hardware
considerando procesamiento paralelo. En la Figura 1.1-2 se muestra el sistema de visión
artificial 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 de
cuero.
1.2 Contribución de la Tesis
En esta tesis se presenta el diseño de un microsistema usando FPGAs para medir el área de
una lámina de cuero. La principal contribución consiste en que el sistema desarrollado
presenta una alta confiabilidad debido a que se implementaron 4 algoritmos.
Adicionalmente, el sistema presenta una alta robustez debido a que se encuentra lo
suficientemente separado de la lámina de cuero. Teniendo en cuenta estas ventajas, este
sistema de medición es altamente competitivo con respecto a los productos existentes en el
mercado. Los algoritmos de umbralización en hardware son: OTSU, ISODATA, intermodal
y cálculo del valle.
1.3 Organización de la Tesis
La tesis está organizada en cinco capítulos. En el capítulo 1, se describen los
inconvenientes que presentan los sistemas electrónicos de medición tradicionales; en el
capítulo 2 se presenta el marco teórico necesario para soportar este proyecto; en el capítulo
3 se presenta una descripción sobre los métodos que permiten realizar una correcta
separación entre la imagen de la lámina de cuero y la imagen de la mesa. En el capítulo 4 se
presenta el diseño en hardware del microsistema de medición con los algoritmos
implementados y finalmente en el capítulo 5 se presentan las conclusiones y el trabajo
futuro.
Introducción
8
Bibliografía
[1] http://www.cueronet.com/tecnicacuero.htm
9
2.1 Introducción
En este capítulo se presentan los conceptos teóricos utilizados en el diseño del
microsistema basado en FPGA para la medición del área de una lámina de cuero. En este
caso, se usa una cámara de video como sensor de captura de la imagen de la lámina de
cuero, para ser procesada digitalmente y obtener de forma precisa y confiable la medida de
su área. Los algoritmos de procesamiento de la imagen son implementados en hardware de
forma embebida sobre el FPGA con el propósito de lograr mejores resultados en cuanto a
desempeño, portabilidad y confiabilidad. Por lo tanto, con el propósito de alcanzar un
excelente desempeño del diseño es necesario entender muy bien, las diversas técnicas para
el procesamiento digital de imágenes y sus posibles implementaciones en hardware.
En general, cualquier sistema para capturar una imagen y procesarla digitalmente debe
disponer como mínimo de:
1. Sistema de adquisición e iluminación de las imágenes: cámara de video y lámparas
de iluminación uniforme.
2. Sistema de procesamiento y visualización: tarjeta electrónica en la cual se
implementan 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 de
visión por computador. En la Figura 2.1-1 se muestran los diferentes elementos que hacen
parte de un sistema de visión por computador y más exactamente el sistema desarrollado en
este trabajo para la medición de una lamina de cuero.
Capítulo 2
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
10
Figura 2.1-1 Sistema para medir el área de una lámina de cuero usando un microsistema basado en
FPGA.
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 de
una 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, que
abarca desde la captura de la imagen, el modelo pinhole, los modelos de distorsión, hasta
los 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 digital
de imágenes que permiten dar mejor contrastes a la imagen analizada, destacando las
características de interés. También se presentan las seis técnicas de umbralización con la
explicación de varios algoritmos según sus técnicas.
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
11
En la sección 2.4 se presentan dieciseis implementaciones en hardware, entre las cuales se
describen arquitecturas para la captura de la imagen, para el realce y mejoramiento de la
imagen y para la umbralización de la imagen.
2.2 Fundamentos del Sistema de Captura de una Imagen
Para realizar una buena captura de una imagen se deben tener presentes, aspectos como el
tipo de sensor de captura que se va a usar, ya que si no se logra una buena copia digital de
la imagen a tratar, se hará más complejo el proceso de análisis de su información y la
extracción de sus características. De igual modo se deben conocer aspectos como el modelo
matemá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 de
captura de la imagen es el sistema de iluminación, ya que si la imagen se ilumina de forma
errónea esta imagen presentará efectos de sombras o brillos que alteraran la información de
la imagen.
2.2.1 Imagen digital
Una imagen es una función continua F(x,y), donde las coordenadas x, y son variables
espaciales del plano donde se forma la imagen. La amplitud de la función F, es la
intensidad 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ón
2.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 cantidades
discretas finitas, esta imagen es llamada una imagen digital. El proceso de discretizar las
variables 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)
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
12
Figura 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 en
asignarle a cada localización discreta x,y un valor entero 2b
, donde b es el número de bits
asignados a cada nivel de gris. La discretización y cuantización es descrita gráficamente por
la figura 2.2-2.
Figura 2.2-2. Representación grafica del proceso de discretización y cuantización.
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
13
2.2.2 Sistema de Adquisición de una Imagen
Para 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 distintos
pará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 las
CMOS 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 ambas
tecnologías y en [5] se presenta una aplicación de un sensor CCD para la segmentación de
imágenes. Se debe tener presente que los sensores CMOS se pueden integrar más que la
CCD, consumen menos potencia pero la imagen es de menor calidad, y son ampliamente
usados en cámaras para PC, sistemas de seguridad, escáneres códigos de barras entre otros
sistemas de bajo costo. Mientras las CCD son de mayor tamaño, de más consumo pero de
mejor calidad, son usadas frecuentemente en fotografía digital, aplicaciones digitales de
alta 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 CCD
Estos sensores de captura tienen características que deben ser tenidas en cuenta a la hora de
seleccionarlo, 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 cada
unidad de energía óptica incidente. Se define por la ecuación 2.2-3
∫
∫
Φ
Φ
=





λ
λ
λλλ
λλλ
dV
ds
Km
SA
lx
A
S
e
ne
dfdf
li
)()(
)()(
.
)8.632(
(2.2-3)
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
14
Donde: Sli es la responsividad luminosa en unidades de [Amperios/lux]. Sdf (632,8) es la
responsividad absoluta del detector fotométrico a 632,8 nm. Φe(λ) es la distribución
espectral de la fuente iluminante tipo A. Sn(λ) es la responsividad espectral relativa del
detector fotométrico. V(λ) es Eficiencia espectral luminosa para la visión fotópica. Km es
la eficiencia espectral luminosa máxima (683 lm/W). Adf es el área del detector
fotomé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 de
cuantos 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 la
ecuación 2.2-4
cvTiiq
Ti
iSNR
dcph
ph
ph 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 de
polarización del mismo. T es el periodo de exposición del fotodiodo en la captura de la
imagen. σ2
v es la varianza del ruido en el circuito. σ2
c es la varianza antes de iniciar la
conducción el fotodiodo. iph es la corriente del fotodiodo. Mayor ampliación sobre este
tema puede ser consultada en [7], en el numeral 1.2.1
3. Rango Dinámico: Es la razón entre el máximo nivel de luminosidad que el sensor puede
medir antes de saturarse y el mínimo nivel descontado el ruido de lectura. El rango
dinámico está definido por la ecuación 2.2-5.
cvTiq
Q
DR
ph
sat
2210log20
σσ ++
= (2.2-5)
Donde: DR es el rango dinámico. qiph es la carga de los electrones incidentes en el
fotodiodo. T es el periodo de exposición del fotodiodo en la captura de la imagen. σ2
v es la
varianza del ruido en el circuito. σ2
c es la varianza antes de iniciar la conducción el
fotodiodo. Mayor ampliación sobre este tema puede ser consultada en [7], en el numeral
1.2.1
4. Velocidad de captura: La velocidad de captura de una imagen está dada por la cantidad
de 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 arquitectura
de lectura digital que permite velocidades de captura de hasta los 10KFPS y la
arquictectura 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 secuencial
de píxel por píxel (PBP). En [8] el autor hace un análisis de las diferentes arquitecturas para
la captura de imágenes.
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
15
1−












+= ROADCPBP x
n
b
HxVFR ττ (2.2-6)
Donde, H y V, son el número de filas y columnas del arreglo de sensores, ADCτ es el tiempo
que toma la conversión de análogo a digital, ROτ es el tiempo que tarda el dispositivo en
enviar 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, esta
característica describe la relación entre el número de píxeles y el tamaño del sensor, entre
mas á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 la
imagen capturada. La respuesta uniforme, con esta característica se espera que un píxel
sometido al mismo nivel de excitación de luz que sus vecinos no presente cambios
apreciables respecto de ellos. El Blooming es el fenómeno por el cual un píxel que ha
alcanzado la saturación empieza a saturar a sus vecinos, creando efectos y patrones no
deseados.
2.2.3 Modelo Pinhole
El 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 luz
entran a la cámara y forman una imagen del cuerpo situado en frente de este orificio en su
interior, pero de forma invertida. En [9] el autor, en el capitulo11 hace la descripción del
modelo 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 agujero
e 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 un
comportamiento lineal se presentan deformaciones en la imagen proyectada dentro de la
cámara o en el sensor de captura, por lo tanto el modelo pinhole debe ser corregido por
medio de parámetros que corrijan su comportamiento no lineal y lo aproximen a la
apariencia 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 de
ejes, el plano imagen, de coordenadas u,v, se encuentra situado a una distancia igual a la
longitud 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 priori
desconocido. 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 Modelo
Pinhole.
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
16
Figura 2.2-4. Modelo Pinhole.
Un punto Xcam expresado en el sistema de coordenadas de la cámara, con coordenadas [X Y
Z], se proyecta en un punto del plano imagen Xim de coordenadas (x,y) aplicando el modelo
pinhole. Los valores de las coordenadas del plano imagen se obtienen a partir de las
ecuaciones de proyección de perspectiva para un objetivo de distancia focal f , suponiendo
que Z > f , esto es, todos los puntos en análisis se encuentran en frente de la lente, según la
ecuación 2.2-7






=





Y
X
Z
f
y
x
(2.2-7)
Las coordenadas en píxeles (u,v) de esta posición (x,y) en el plano imagen se obtienen
utilizando el tamaño horizontal y vertical de los píxeles. Posteriormente, se deben
referenciar dichos valores al origen superior izquierdo de la imagen en el sensor, por lo que
se 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 la
transformació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 de
la imagen captada.
0
0
.
.
vysv
uxsu
y
x
+=
+=
(2.2-8)
El punto tridimensional Xcam correspondiente al píxel de impacto (u,v) no es único. Todos
los puntos pertenecientes a la recta que une el centro de proyección C con el punto Xcam
inicialmente considerado son posibles puntos originales. Así cualquier punto M de la recta
R con coordenadas (X,Y,Z) cumple la igualdad de la ecuación 2.2-9, al proyectarse sobre el
píxel (u,v):
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
17
Cam
y
x
Z
Y
X
vf
uf
v
u




















=










100
0
0
1
0
0
λ (2.2-9)
Donde,
fsf
fsf
yy
xx
.
.
=
=
El subíndice cam para las coordenadas (X,Y,Z) indican que el punto M viene expresado en
el sistema de referencia de la cámara. En general, las coordenadas para objetos de la escena
vendrán dadas para un sistema de referencia global o particular para un objeto. Además se
nota que el centro C del sistema de coordenadas de la cámara, centro de proyección, no se
conoce a priori.
Si se consideran las coordenadas (X,Y,Z)w de un punto M de la escena para un cierto
sistema de referencia externo, dichas coordenadas se tienen que expresar en el sistema de
coordenadas de la cámara para así poder aplicar las ecuaciones de proyección del modelo
pinhole. La transformación entre ambos sistemas de coordenadas viene expresada como
una 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 un
punto 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ón
2.2-10
Wcam
Z
Y
X
r
r
r
r
r
r
r
r
r
Z
Y
X
























=












10001
33
23
13
32
22
12
31
21
11
(2.2-10)
La notación habitualmente empleada para expresar las ecuaciones de proyección P de un
punto M (X,Y,Z)w sobre el plano imagen en el píxel de coordenadas m (u,v) se describen en
la ecuación 2.2-11.
PMm → (2.2-11)
Donde la matriz P puede ser descrita por la ecuación 2.2-12:




































=
1000
0
0
0
100
0
0
33
23
13
32
22
12
31
21
11
0
0
z
y
x
y
x
t
t
t
r
r
r
r
r
r
r
r
r
vf
uf
P (2.2-12)
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
18
La 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 espesor
de los mismos se considera despreciable y se puede decir que todos los haces de rayos que
lo atraviesan lo hacen siempre por el mismo centro de proyección. En el caso, de trabajar
con lentes donde el espesor no es despreciable, lentes gruesos, este modelo no tiene en
cuenta que la transformación entre los puntos del espacio y sus puntos correspondientes en
el plano imagen vienen dados por dos planos principales diferentes. Por tanto, el parámetro
f representa la distancia del sistema de referencia de la cámara al plano imagen la cual no
es, en general, equivalente a la distancia focal efectiva del sistema óptico, cuyo valor es una
propiedad 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 de
objetos en una escena sobre el plano imagen al aplicar directamente la proyección
perspectiva.
2.2.4 Corrección de la Distorsión
Cuando se trata de realizar mediciones a través de una cámara como en este proyecto, el
modelo pinhole debe ser corregido con la ayuda de otros parámetros que modelan una
distorsión para lograr medidas de buena precisión. Es decir, además de considerar la
proyección perspectiva ideal dada por el modelo pinhole, hay que compensar los efectos
reales que no se tienen en cuenta. La distorsión introducida por los lentes se añade a las
coordenadas 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 el
impacto ideal dado por el modelo pinhole (modelo de proyección de perspectiva) y la
posición real que ocupa cada píxel en la imagen. En [10] el autor describe la calibración de
una cámara con zoom y movimiento pan-tilt.
Existen diferentes tipos de distorsión que vienen a modelar y corregir fenómenos y
aberraciones ópticas de distinto origen. En la calibración, se suelen considerar únicamente
dos tipos: distorsión radial y tangencial. La distorsión denominada radial se observa de
forma cada vez más apreciable al considerar píxeles más alejados del punto principal. Para
cámaras de gran angular donde la distancia focal es muy corta, se interpola un polinomio de
aproximación para corregir dicha posición con un grado de hasta quinto orden, que son
descritas por las ecuaciones 2.2-13 y 2.2-14.
2
0
2
02







 −
+




 −
=
yx f
vv
f
uu
r (2.2-13)
Distancia radial = 10
5
8
4
6
3
4
2
2
1 rarararara ++++ (2.2-14)
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
19
En cámaras de distancia focal muy corta es recomendable hacer uso de los cinco
parámetros ai, para cámaras con distancia focal intermedia el número de parámetros de
corrección de la distorsión es menor. En la Figura 2.2-5 se muestran los efectos de la
distorsión radial en una imagen.
Por otra parte, para corregir la no perpendicularidad entre el eje óptico del lente fijo y el
plano imagen se introduce un término de distorsión tangencial. Dicha distorsión expresada
por un polinomio de segundo orden y es modelada por los dos parámetros p1 y p2, siendo
diferentes las expresiones para las coordenadas u y v, como se describen en las ecuaciones
2.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.
2
0





 −
=
xf
uu
u (2.2-15)
2
0







 −
=
yf
vv
v (2.2-16)
222
vur += (2.2-17)
uvpurpuTangencialDist 2
22
1 2)2(__ ++= (2.2-18)
uvpvrpvTangencialDist 1
22
2 2)2(__ ++= (2.2-19)
Estos modelos de distorsión cubren una extensa variedad de distorsiones, siendo capaz de
modelar sin error cualquier fenómeno típico de distorsión de los lentes actuales de distancia
focal fija.
En el proceso de calibración de la cámara y posterior utilización del mismo en las
coordenadas ideales del modelo pinhole, se les añade los términos de distorsión radial y
tangencial correspondientes, como se describen en las Ecuaciones 2.2-20 y 2.2-21.
udistradDistuu
Zcam
Xcam
fuu x _tan__*)( 00 +−+=− (2.2-20)
vdistradDistvv
Zcam
Ycam
fvv y _tan__*)( 00 +−+=− (2.2-21)
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
20
Figura 2.2-5. Efectos de distorsión radial.
2.2.5 Iluminación de la imagen
La iluminación es una componente muy importante en un sistema de visión por
computador, ya que permite al sistema de captura de la imagen registrar de forma más
eficiente las características del objeto en análisis.
La iluminación se define como el flujo luminoso por unidad de superficie (Lúmenes/metro
cuadrado) y está dada por la ecuación 2.2-22, su unidad de medida es el LUX.
0ds
d
E
φ
= (2.2-22)
Si el tipo de iluminación es de una fuente puntual, su intensidad luminosa estará definida
por la potencia luminosa de la fuente en esa dirección por unidad de ángulo solido y es
medido en Lúmenes sobre Estereorradián y su unidad es la Candela. Se define por la
ecuación 2.2-23.
Ω
=
d
d
I
φ
(2.2-23)
La iluminación E y la intensidad luminosa I se relacionan por medio de la ley inversa de los
cuadrados y es descrita por la ecuación 2.2-24.
2
d
I
E = (2.2-24)
Donde d2
es la distancia entre la fuente de iluminación y el objeto iluminado. En la figura
2.2-6 se observa esta relación.
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
21
Figura 2.2-6. Ley de los cuadrados
Para relacionar la iluminación con el ángulo formado por la dirección del rayo incidente y
la perpendicular a la superficie se hace uso de la ley del coseno que esta descrita por la
ecuación 2.2-25
αcos2
d
I
E = (2.2-25)
A continuación se analiza la ley del coseno para los tipos de iluminación observados en la
figura 2.2-7.
1. Iluminación normal
2. Iluminación horizontal
3. Iluminación vertical
Figura 2.2-7. Tipos de iluminación
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
22
1. Iluminación normal: En este caso el ángulo de inclinación es de 900
y la iluminación la
describe la ecuación (2.2-24)
2. Iluminación horizontal: En este caso la podemos relacionar en función de la altura del
elemento de iluminación h y se describe por la ecuación 2.2-26
α3
2
cos
h
I
E = (2.2-26)
3. Iluminación vertical: En este caso, entre los ángulos α y β existe una relación sencilla, ya
que ambos pertenecen a un triángulo rectángulo, por los tanto α + β + 90=180 y aplicando
relaciones trigonométricas podemos llegar a la ecuación 2.2-27.
αsen
d
I
E 2
= (2.2-27)
Mayor información sobre luminotecnia puede ser consultada en [11]
2.3 Técnicas para el Procesamiento Digital de Imágenes
Cuando una imagen es capturada por el sistema de adquisición de imágenes, se deben
aplicar una serie de algoritmos que permitan mejorar la imagen capturada y realzar las
características importantes del objeto en análisis. Actualmente existe muchas técnicas que
permiten el procesamiento digital de una imagen, pero según la aplicación se deben escoger
té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 la
imagen, para poder realizar la medida correcta de dicha lámina. En este orden de ideas se
deben estudiar las técnicas de procesamiento de la imagen que permitan el mejoramiento y
la segmentación de la imagen, por lo tanto se abordarán los temas de mejoramiento y
segmentación de las imágenes.
2.3.1 Mejoramiento de la Imagen
Las técnicas de mejoramiento de la imagen tienen como objetivo principal procesar la
imagen capturada y modificarla de tal forma que la imagen resultante muestre las
características que deseamos analizar.
Las técnicas de mejoramiento de la imagen se usan según el tipo de aplicación o problema a
resolver, por lo tanto se analizaran las técnicas más competentes para este proyecto. Las
técnicas a analizar son:
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
23
1. Operaciones morfológicas
2. Filtrado en el dominio espacial
2.3.1.1 Operaciones Morfológicas
Las operaciones morfológicas aplicadas a imágenes, sirven para extraer sus componentes
principales como su contorno, el esqueleto, cerco convexo entre otras. Estas técnicas
morfológicas también son usadas en el pre-procesamiento de la imagen mediante el uso de
filtros morfológicos. En [1] en el numera 8.4 y en [12] se hace mayor análisis sobre este
tema. A continuación se describirán las siguientes técnicas:
1. Dilatación
2. Erosión
3. Apertura y cierre
4. Transformaciónes top hat y bottom hat
1. Dilatación
Esta técnica consiste en adicionar píxeles al contorno de los objetos presentes en la imagen
y se define para imágenes en escala de grises como: La dilatación de escala de grises de f
por 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 de
desplazamiento (s – x) y (f – y) tienen que estar contenidos en el dominio de f. La dilatación
de una imagen puede ser observada en la figura 2.3-1.
a) b)
Figura 2.3-1. Proceso de dilatación de una imagen
a) Imagen original. b) Imagen dilatada
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
24
2. Erosión
Esta 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ámetros
de desplazamiento ( s + x ) y ( f + y ) tienen que estar contenidos en el dominio de f. La
erosió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 imagen
a) Imagen original. b) Imagen erosionada
3. Apertura y Cierre
La apertura y el cierre de una imagen son operaciones que resultan de la combinación de la
dilatación y la erosión, por lo tanto, la apertura es una erosión seguida de una dilatación y
se 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, eliminar
pequeñas protuberancias y romper conexiones débiles. La apertura de una imagen se
muestra en la figura 2.3-3
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
25
a) b)
Figura 2.3-3. Proceso de apertura de una imagen
a) Imagen original. b) Imagen con apertura
De forma similar se define que el cierre es una dilatación seguida de una erosión y se
describe 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 en
la figura 2.3-4.
a) b)
Figura 2.3-4. Proceso de cerradura de una imagen
Imagen original. b) Imagen con cerradura
4. Transformación Top Hat y Bottom Hat
La transformación top hat sustrae a la imagen, la apertura de la imagen. Es útil para resaltar
objetos de color contrario al fondo o extraer detalles brillantes en presencia de sombras. Se
define por la ecuación 2.3-5.
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
26
)( bffh o−= (2.3-5)
En la figura 2.3-5 se observa esta transformación
a) b)
Figura 2.3-5. Transformación top hat en una imagen
Imagen original. b) Imagen con transformación
La transformación bottom hat sustrae a la imagen la cerradura de la imagen, es útil para
capturar detalles oscuros en zonas iluminadas. Se define por la ecuación 2.3-6
fbfh −•= )( (2.3-6)
En la figura 2.3-6 se observa esta transformación
a) b)
Figura 2.3-6. Transformación bottom hat en una imagen
Imagen original. b) Imagen con transformación
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
27
2.3.1.2 Filtrado en el Dominio Espacial
Los filtros en el procesamiento de digital de imágenes son usados para atenuar el ruido en
los píxeles de la imagen o resaltar las características que deseamos analizar o estudiar, los
filtros se pueden diseñar en el dominio espacial o en el dominio frecuencial. En este
proyecto 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 tal
como lo describe la ecuación 2.3-7, donde el píxel p en la posición (i,j) es el resultado de la
convolución, mxn en el tamaño de la máscara usada y los elementos wk son los
componentes de la máscara y los zk son los píxeles que intervienen en la operación.
∑=
=
mxn
k
kk zwjiP
1
),( (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ás
a fondo este tema
Figura 2.3-7. Operación de convolución sobre una imagen
Entre los filtros más importantes tenemos:
1. Filtrado espacial paso bajo
2. Filtrado por la mediana
3. Filtrado espacial paso alto
4. Filtrado high boost
5. Filtros diferenciales
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
28
1. Filtrado Espacial Paso Bajo
Según la respuesta de impulso para un filtro espacial paso bajo, es necesario que los
coeficientes de la máscara del filtro sean positivos. Este filtro tiene especial aplicación para
el suavizado o difuminado de una imagen. Un ejemplo de una máscara que puede ser usada
por esta imagen se muestra en la figura 2.3-8. Este filtro puede describirse por la ecuación
2.3-8.










=
111
111
111
9
1
xh
Figura 2.3-8. Máscara de convolución para un filtro paso bajo
∑=
=
M
i
i yxg
M
yxg
1
),(
1
),( (2.3-8)
La operación sobre una imagen de este filtro puede observarse en la figura 2.3-9
a) b)
Figura 2.3-9. Filtrado paso bajo
a) Imagen Original. b) Imagen filtrada por mascara de 35x35
2. Filtrado por la Mediana
El filtro mediana es un filtro no lineal, su operación consiste tomar los valores del píxel a
filtrar y de su entorno, ordenarlos y posteriormente calcular el valor de la mediana. El
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
29
filtrado por la mediana tiene especial aplicación cuando el objetivo es la disminución del
ruido producido por componentes puntuales fuertes similares al ruido sal y pimienta, pero
preservando los bordes de la imagen. Este filtro aplicado a una máscara de 3x3 se puede
definir 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(
),(
jifjifjif
jifjifjif
jifjifjif
medianajip (2.3-9)
a) b)
Figura 2.3-10. Filtro mediana
a) Imagen Original. b) Imagen filtrada por máscara de 3x3
3. Filtrado Espacial Paso Alto
La respuesta impulso necesaria para este filtro implica que el filtro debe tener coeficientes
negativos en la periferia de la máscara y en el centro valores positivos. Generalmente son
llamados filtros de realce, su principal aplicación está en la detección de los cambios
bruscos o desniveles de intensidad en la imagen, como es el caso de los bordes de una
imagen. 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ón
2.3-8










−−−
−−
−−−
=
111
181
111
9
1
xh
Figura 2.3-11. Máscara de convolución para un filtro paso alto
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
30
La operación sobre una imagen puede observarse en la figura 2.3-12
a) b)
Figura 2.3-12. Filtrado paso alto
a) Imagen Original. b) Imagen filtrada por mascara de 3x3
4. Filtrado High Boost
El filtro high boost es un caso especial del filtro paso alto donde el valor central de la
máscara esta dado por un valor w. Este valor w esta dado por un factor de amplificación A
de la imagen original, si A es mayor que 1, da como resultado la imagen original con bordes
mas definidos, si A es igual a 1, el resultado es un filtro pasa alto normal. Se define por la
ecuació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.










−−−
−−
−−−
=
111
11
111
9
1
wxh
Figura 2.3-13. Máscara de convolución para un filtro high boost
Donde w es igual a 9A-1, con A ≥ 1.
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
31
a) b)
Figura 2.3-14. Filtrado high boost
a) Imagen Original. b) Imagen filtrada con A = 1.7
5. Filtros Diferenciales
Los filtros diferenciales tienen como característica principal que aumentan la nitidez de la
imagen, 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 bordes
que tiene una imagen. Estos cambios bruscos son los píxeles alrededor de la imagen que
presentan variaciones rápidas en sus niveles de gris o de intensidad. El operador gradiente
en una imagen f (x,y) sobre un punto (x,y) se define como un vector bidimensional y esta
dado por la ecuación 2.3-10 y su módulo por la ecuación 2.3-11.












∂
∂
∂
∂
=∇
y
f
x
f
f (2.3-10)
22
22
)( 





∂
∂
+





∂
∂
=+=∇
y
f
x
f
GGfmag yx (2.3-11)
Este operador gradiente puede implementarse usando máscaras de 2x2 o 3x3, como se
observa en la figura 2.3-15, donde se muestran sus diferentes formas. Una aplicación en la
detección de discontinuidades puede ser consultada en [13].
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
32






−10
01






− 01
10
a)









 −−−
111
000
111










−
−
−
101
101
101
b)









 −−−
121
000
121










−
−
−
101
202
101
c)
Figura 2.3-15. Operadores de gradiente
a) Operador Roberts. b) Operador Prewitt. c) Operador Sobel
2.3.2 Segmentación de imágenes
La segmentación tiene como objetivo extraer información de una imagen, dividiéndola en
sus partes importantes u objetos. La segmentación se logra cuando los objetos de interés
son separados de la imagen, para este proyecto en especial, cuando se logra separar la
lámina del cuero del resto de la imagen. Información más profunda sobre segmentación
puede ser consultada en [1] en el capítulo 7.
La segmentación de imágenes monocromáticas generalmente se basan en dos propiedades
básicas de los niveles de gris: La discontinuidad y la similaridad. En los métodos basados
en discontinuidad se divide la imagen basándose en los cambios bruscos de los niveles de
gris, entre las técnicas mas comunes de la discontinuidad tenemos el operador gradiente que
fue descrito en el numeral anterior y el operador Laplaciano.
Los métodos basados en similaridad buscan construir objetos basándose en las regiones que
forma la imagen. Su función es encontrar píxeles vecinos que tengan una propiedad en
común. Una de las técnicas más conocidas de este método es la umbralización.
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
33
2.3.2.1 Operador Laplaciano
El operador Laplaciano es un operador de segunda derivada y tiene como objetivo principal
descubrir transiciones de intensidad en la imagen. El operador Laplaciano, al derivar dos
veces 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 para
detectar con precisión la ubicación de los bordes de objetos o finales de imágenes de pieza
o materia prima en procesos industriales, pero es muy susceptible al ruido de píxeles que se
mezcla con el objeto a analizar en la imagen. Este operador se usa generalmente con otros
métodos para lograr la detección óptima de los bordes ya que el operador por si solo genera
imágenes de polaridad. (+ Positivo al entrar al borde, - negativo al salir del borde, 0 en el
borde y demás partes de la imagen). Este operador esta descrito por la ecuación 2.3-12
)(4)1,()1,(),1(),1(2
2
2
2
2
xfyxfyxfyxfyxf
y
f
x
f
f −−+++−++=
∂
∂
+
∂
∂
=∇ (2.3-12)
Una máscara que puede describir este operador es observada en la figura 2.3-16










−
−−
−
=
010
141
010
h
Figura 2.3-16. Operador Laplaciano
La aplicación de este operador sobre una imagen puede observarse en la figura 2.3-17
a) b)
Figura 2.3-17. Operación del operador Laplaciano
a) Imagen Original. b) Imagen con aplicación del operador Laplaciano
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
34
2.3.2.2 Umbralización
La umbralización es una técnica de segmentación ampliamente utilizada en aplicaciones
industriales, donde existe una clara diferencia entre el objeto a extraer y el fondo de la
imagen.
Cuando se aplica un umbral T a una imagen, ésta quedará binaria, etiquetando con 0 los
píxeles que pertenecen al objeto y con 1 a los que pertenecen al fondo tal como se observa
en las Figura 2.3-18.
a) b)
Figura 2.3-18. Umbralización de una imagen
a) Imagen Original. b) Imagen umbralizada
Los 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 un
buen contraste entre el objeto y el fondo. Con los métodos automáticos se busca obtener
mayor robustez y se usan para ambientes en donde el ruido y la iluminación pueden no ser
siempre uniformes.
En [14] los autores hacen una evaluación entre los diferentes métodos de umbralización y
los 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. Ejemplos
de estos métodos son:
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
35
a. Umbralización basado en la concavidad del histograma: Este método se basa en el
análisis de los puntos de concavidad de la envolvente convexa de la función de masa de
probabilidad de la imagen. Los puntos más profundos en la concavidad convexa, son
candidatos potenciales para el umbral. La selección del umbral óptimo T, entre los puntos
candidatos 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 envolvente
convexa de la función de masa de probabilidad de la imagen . Una aplicación moderna de
esta 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 de
los picos del histograma suavizado. Se genera una señal detectora de picos r(g) por medio
de la convolución del histograma con el kernel de detección de picos, el cual es
completamente caracterizado por el parámetro N de suavizado, que se ajusta
automá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 promedien
en grupos de 3 valores consecutivos, hasta terminar con todos los datos, y se encuentren los
dos valores máximos. Para estos dos valores máximos se calculan sus posiciones j y k, y el
valor de umbral esta descrito por la ecuación 2.3-16, donde gmax y gmin son los picos
máximos y mínimos del histograma y gmid es el punto medio del histograma
∑=
−=
*
min
)()( minmax
midg
gg
opt gpggT (2.3-16)
Para que este método funcione adecuadamente, el histograma no debe tener picos muy
variables, 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 un
método basado en una función de dos niveles y de forma iterativa se minimiza la varianza
entre estas funciones.
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
36
2. 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 dos
distribuciones gausianas. Ejemplos de estos tenemos:
a. Umbralización ISODATA: (Iterative Self Organizing Data Analysis TEchiniques) procesa
los patrones repetidamente y en cada iteración se asignan al grupo más cercano una serie de
heurísticas con el objetivo de: eliminar agrupamientos poco numerosos, mezclar
agrupamientos cercanos y dividir agrupamientos dispersos. Este algoritmo se caracteriza
por usar la información directamente de la imagen. Este método es propuesto por [21]. A
continuació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 µ2
4. Asigne un nuevo umbral para T usando la ecuación 2.3-17
2
)( 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 trabaja
con imágenes del mundo real, donde la presencia de ruido y la mala iluminación son
características comunes de estos ambientes. Este método usa una imagen, la cual es una
funció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úmero
de píxeles con nivel de gris i, y la probabilidad de ocurrencia de este nivel se denominan fi
tal como se describe en la ecuación 2.3-18. Este método es propuesto por [22] y se describe
a continuación.
N
f
iP i
=)( (2.3-18)
Cuando la umbralización se realiza en dos niveles o binarización, los píxeles se dividen en
2 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
∑=
=
t
i
iPiq
1
1 )()( (2.3-19)
∑+=
=
k
ti
iPiq
1
2 )()( (2.3-20)
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
37
La media de las clases q1(i) y q2(i) están descritos por las Ecuaciones 2.3-21 y 2.3-22
∑=
=
t
i iq
iiP
t
1 1
1
)(
)(
)(µ (2.3-21)
∑+=
=
k
ti iq
iiP
t
1 2
2
)(
)(
)(µ (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
)(
)(
)]([)(
11
2
1
2
1
tq
iP
tit
t
i
∑=
−= µσ (2.3-23)
)(
)(
)]([)(
21
2
2
2
2
tq
iP
tit
I
ti
∑+=
−= µσ (2.3-24)
)()()()()( 2
22
2
11
2
ttqttqtw σσσ += (2.3-25)
En este caso, mediante la minimización de la ecuación 2.3-25 se obtiene el umbral de
OTSU. 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 el
del mínimo error propuesto por [24], y la umbralización por agrupamientos difusos
propuesto 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. Su
criterio se basa en encontrar un umbral óptimo que maximice la entropía entre el fondo y el
objeto en la imagen, y otros autores minimizan la entropía cruzada como un indicador de
preservació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 la
imagen en dos distribuciones de probabilidad, una que represente el objeto y otra que
represente el fondo. Se selecciona un valor t, tal que la suma de las entropías de estas
distribuciones de probabilidad sea máxima. Implementaciones de esta umbralización puede
ser consultada en [26,27]. En este caso, se considera una función de probabilidad de
distribución no lineal descrita por la ecuación 2.3-26
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
38
NXN
m
NxN
m
e
e
Nmfpd 9
9
1
1
),( −
−
−
+
= (2.3-26)
Donde N es un número par positivo y m pertenece a un valor entero entre {1,2…NxN}. La
entropía asociada con el objeto y el fondo están descritas por las Ecuaciones 2.3-27 y 2.3-
28
),(
)(
),(
ln
)(
),(
),( 0 1
Nmfpd
tp
mkp
tp
mkp
NtH
t
K
A
NxN
m
A
A ∑ ∑= =
−= (2.3-27)
),(
)(
),(
ln
)(
),(
),(
255
1 1
Nmfpd
tp
mkp
tp
mkp
NtH tK
B
NxN
m
B
B ∑ ∑+= =
−= (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 un
algoritmo que considera que el umbral de separación es la minimización de la distancia
teórica de la información. La distancia está descrita por la ecuación 2.3-31 y es llamada la
distancia. Kullback-Leibler. Esta distancia es la medida entre las dos distribuciones del
objeto 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.
∑ ∑= +=
+=
T
g
G
Tg
opt
T
g
T
gT
0 1 bf
]
)(m
g
logp(g)
)(m
g
logp(g)min[arg (2.3-32)
Considerando la restricción que la imagen original y la imagen umbralizada tienen el
mismo promedio de intensidad en el objeto y el fondo. La ecuación 2.3-33 describe la
anterior consideración.
∑ ∑∑ ∑ ≥ ≥≤ ≤
==
Tg Tg
b
Tg Tg
f TmgTmg )(;)( (2.3-33)
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
39
c. Umbralización basada en la maximización de la entropía por medio de coeficientes de
pertenencia difusa. Este método propuesto en [29], es un método de umbralización que se
basa en un coeficiente de pertenencia difusa, el cual es un valor en escala de grises que
separa el fondo del objeto en una imagen. Este valor es calculado en base a la función de
probabilidad acumulada. El valor de pertenencia difuso está dado por la ecuación 2.3-34, el
cual indica el grado de pertenencia al fondo de la imagen.
)(2
)()1(...)(
5.0)(
TP
iTpiTpTp
iTf
−+−−++
+=−µ (2.3-34)
La ecuación 2.3-35 indica el grado de pertenencia del objeto en la imagen.
))(-(12
)()1(...)1(
5.0)(
TP
iTpiTpTp
iTb
+++−+++
+=+µ (2.3-35)
El valor de umbral de separación debe tener la máxima incertidumbre como se describe en
la ecuación 2.3-36
5.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
∑=
−=
T
g
ff g
TP
gp
TH µ (2.3-38)
))(log(
)(1
)(
)(
1
∑+= −
−=
G
Tg
bb g
TP
gp
TH µ (2.3-39)
Una comparación de los métodos basados en la entropía pueden ser consultados en [30] y
una 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
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
40
seleccionado que corresponda a una medida de similitud entre la imagen original y la
imagen binarizada. Ejemplos de estos métodos tenemos:
a. Umbralización Basado en el Cálculo de Preservación de Momentos: En [32] el autor
propone un algoritmo de umbralización que considera que una imagen en escala de grises
es una versión borrosa de una imagen binaria ideal, por lo tanto se establece que los tres
primeros momentos de una imagen en escala de grises coincidan con los tres primeros
momentos de una imagen binaria. Los momentos de una imagen binaria bk y de una imagen
en escala de grises mk, están descritos por las Ecuaciones 2.3-40 y 2.3-41
∑=
=
G
g
k
k ggpm
0
)( (2.3-40)
k
bb
k
ffk 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ía
de conjuntos difusos para umbralizar imágenes. Considerando el índice difuso que se
obtiene calculando la distancia entre el nivel de gris y el nivel binario. El conjunto de la
imagen 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 difusa
perteneciente al objeto al fondo respectivamente. La medida difusa puede estar dada por las
medianas del objeto mf(T) y del fondo mb(T).
TjiI
C
TmjiI
TjiI
f
f ≤
−
+
= ),(si
)(),(
1
1
)),,((µ (2.3-45)
TjiI
C
TmjiI
TjiI
b
b ≥
−
+
= ),(si
)(),(
1
1
)),,((µ (2.3-46)
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
41
Donde C es un valor constante que cumple la condición descrita por la ecuación 2.3-47
1),((5.0 ≤≤ jiIFµ (2.3-47)
Por ejemplo, C puede tomar un valor como gmax – gmin o simplemente llamarlo G. Teniendo
en cuenta el valor de pertenencia difuso de cada píxel, se puede obtener un índice difuso de
toda la imagen mediante la entropía de Shannon o la medida de Yager. La entropía de
Shannon 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 la
ecuación 2.3-48
)]()).,(1log()),(1()),((log),(
2log
1
min[arg
0
2
gpTgTgTgTg
N
T fff
G
g
fopt µµµµ −−+−= ∑
=
(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 de
binarizar la imagen mientras se establece el tamaño correcto de los tamaños de los objetos
sobre el primer plano. En [35] el autor expone un método que considera que el umbral es el
cambio en la incertidumbre de una observación cuando se clasifica el fondo de la imagen
con el objeto a separar. En ausencia de cualquier observación la entropía de la escena es
medida por )1log()1(log)( αααα −−−−=XH , donde α es la probabilidad que un píxel
permanezca al primer plano (objeto), mientras α−1 es la probabilidad que pertenezca al
segundo 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 su
contexto, probabilidades de coocurrencia, funciones de correlación, modelos de
dependencia lineal local, entropía bi-dimensional entre otros. Ejemplos de estos métodos
tenemos:
a. Umbralización basada la probabilidad de coocurrencia: En [36] el autor lo propone para
dos 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 imagen
como 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
∑=
agen
mkc
Im
, δ (2.3-49)
Se propone establecer el umbral de tal manera que las probabilidades de coocurrencia de la
imagen original y la imagen binarizada sean mínimamente divergentes. Como medida de
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
42
similitud se usa divergencia dirigida o la distancia Kullback-Leibler . Se plantea una matriz
de coocurrencia para cuatro cuadrantes, donde el primer cuadrante se define como las
transiciones que tiene el fondo con el fondo, el segundo cuadrante se define como las
transiciones que tiene el fondo con el objeto, el tercer cuadrante se define como las
transiciones que tiene el objeto con el fondo y el cuarto cuadrante se define como las
transiciones que tiene el objeto con el objeto. La figura 2.3-19 muestra la matriz de
coocurrencia.
Figura 2.3-19. Matriz de coocurrencia
Usando las probabilidades de coocurrencia, que sería el resultado de las transiciones del
fondo 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.
∑∑= =
=
T
i
T
j
ijbb pTP
0 0
)( (2.3-50)
∑ ∑= +=
=
T
i
G
Tj
ijbf pTP
0 1
)( (2.3-51)
∑ ∑+= +=
=
G
Ti
G
Tj
ijff pTP
1 1
)( (2.3-52)
∑∑+= =
=
G
Ti
T
j
ijfb pTP
1 0
)( (2.3-53)
Las cantidades, que son la métrica se definen como Qbb(T), Qbf(T), Qff(T), Qfd(T) son usadas
para calcular el umbral óptimo según la ecuación 2.3-54
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
43
(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 de
grises con un umbral de valor T y una función de distancia esperada. La idea subyacente de
este método es que cada imagen en escala de grises da lugar a una distribución en un
conjunto aleatorio. En el contexto de la umbralización, cada valor de umbral genera un
conjunto de objetos binarios con diferentes propiedades de distancia. Así la función de
distancia esperada ubica el píxel (i,j), a una distancia ),( jid la cual es obtenida del promedio
del mapa de distancias );,( TFjid , para todos los valores de umbral entre 0 y G, o
alternativamente con los pesos que corresponden al valor del histograma. Donde FT
describe 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] el
autor propone un método que combina la entropía difusa y el histograma bi-dimensional de
los 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 una
función S dada por Kaufmann. Un píxel xi es asignado según la reglas difusas )( iA xµ que a
su vez caracterizan tres parámetros llamados (a,b,c), para obtener la mejores reglas difusas
se usa la ecuación 2.3-56 de entropía difusa
),(log),(),()(
,
yxpyxpyxAH
yx
Afuzzy ∑−= µ (2.3-56)
Donde A son los eventos del fondo o el objeto en la imagen, y el umbral óptimo se define
por la ecuación 2.3-57
{ })()(max
,,
FondoHObjetoHT fuzzyfuzzy
cba
opt += (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 de
la imagen, tal como rango, varianza, parámetros de superficie, etc. Ejemplos de estos
métodos tenemos:
a. Umbralización por la varianza local: Este método propuesto en [39] adapta el umbral
según a la media local m(i,j) y la desviación estándar σ(i,j) y calcula una ventana de bxb
píxeles. Se puede representar por la ecuación 2.3-58
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
44
433x3 Tj)VarI(i,orT),(Aveif1),( ><= jiIjiB (2.3-58)
b. Umbralización basada en el contraste local: Este método propuesto por [40] compara el
nivel de gris de un píxel, con el promedio de niveles de gris de sus vecinos. El umbral se
toma como el valor medio en el rango de valores de los vecinos. Puede representarse por la
ecuación 2.3-59
OtroCaso
biasjiIjiif
jiB w ∗<



=
),(),(
0
1
),(
µ
(2.3-59)
c. Umbralización por ajuste de superficie: Este método propuesto por [41] se basa en la
combinación de la detección de bordes y la información del nivel de gris para construir un
umbral de la superficie. Se calcula la magnitud del gradiente de la superficie y es
adelgazado para obtener los máximos gradientes locales. El umbral de superficie es
obtenido 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-60
4/),(),(),( 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 de
Imágenes
En esta sección se realiza una recopilación de diversas arquitecturas hardware para el
procesamiento digital de imágenes. Se inicia con arquitecturas propuestas para la captura de
la imagen desde el sensor, que pretenden mejorar características como la fidelidad de la
imagen y su velocidad de captura. Se muestra una arquitectura que permite corregir las
distorsiones generadas por el lente de la cámara de forma automática. También se presentan
varias arquitecturas para filtros como la mediana y el gausiano que pretenden mejorar la
imagen capturada, y finalmente se presenta dos arquitecturas que buscan la umbralización
de una imagen de forma automática.
2.4.1 Arquitecturas Hardware para la Captura de Imágenes
En la figura 2.4-1 se muestra la arquitectura interna del dispositivo LM9630 [42], con
capacidad para capturar imágenes monocromáticas de sensores CMOS de 100x128 con una
velocidad de captura de 580 fps
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
45
Figura 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 procesamiento
en tiempo real de imágenes propuesto por [43], donde el autor propone una arquitectura
para la captura de una imagen por medio de un sensor CMOS con una resolución de 1280 x
1024 píxeles, y permite enviar la imagen a un PC de forma paralela, además permite
realizar convoluciones con mascaras de nxn
Figura 2.4-2. Arquitectura basada en un FPGA para el procesamiento en tiempo real de imágenes
propuesto por [43]
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
46
La figura 2.4-3 muestra una arquitectura para la captura de imágenes de alta velocidad para
sensores CMOS propuesta por [44], con una resolución de 1280x1024, donde proponen una
velocidad de captura de 500 fps mediante convertidores ADC de 10 bits
Figura 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 captura
de una imagen, esta arquitectura permite capturar imágenes a una velocidad de 10.000 fps.
Esta arquitectura se observa en la figura 2.4-4
a)
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
47
b)
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íxel
2.4.2 Arquitecturas Hardware para la Corrección de Distorsiones en la
Captura de una Imagen
En la figura 2.4-5 se muestra una arquitectura propuesta por [45], donde el autor propone la
corrección de la imagen capturada por un sistema estereoscópico mediante el uso de un
FPGA, esta arquitectura tiene como componente principal un bloque llamado LDRU (Lens
Distortion 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 de
corregir una imagen capturada a una velocidad de 35 fps y de tamaño de 1024x1024
píxeles.
Figura 2.4-5. Arquitectura basada en un FPGA para la corrección de las distorsiones que generan
los lentes en una imagen propuesta por [45]
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
48
En la figura 2.4-6 se muestra una arquitectura propuesta en [46], para la corrección
geométrica generada por un lente en una imagen. La implementación de los cálculos
matemáticos son realizados a través del algoritmo CORDIC de forma paralela en pipeline
mostrado en la figura 2.3-6a, y la implementación de la arquitectura para la corrección
radial en pipeline se muestra en la figura 2.3-6b
a) b)
Figura 2.4-6. Arquitectura basada en un FPGA para la corrección de las distorsiones que
generan los lentes en una imagen propuesta por [46]
a) Arquitectura CORDIC b) Arquitectura para la corrección radial
2.4.3 Arquitecturas Hardware para la Mejora y el Realce de una Imagen
Uno de los cálculos más usados en el procesamiento digital de imágenes, es el cálculo del
histograma y en [47], los autores proponen una arquitectura en hardware para el cálculo del
histograma 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 los
datos almacenados. La PCH (Parallel Histogram Computation) Usa una memoria de dos
puertos, y se desarrolla en dos etapas, primero se almacenan en dos arreglos los píxeles de
las posiciones pares e impares respectivamente y de forma simultánea. En la segunda etapa
se actualiza el incremento del histograma.
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
49
a)
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 memoria
de dos puertos
En la figura 2.4-8 se muestra la implementación de un filtro FIR bi-dimensional propuesto
por [48]. La idea principal de este filtro es rotar la ventana formada por los vecinos de cada
píxel que se procesa a determinado ángulo, y realizar el filtrado sobre la ventana de la
imagen rotada con un banco de filtros FIR fijo.
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
50
Figura 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 observa
en la figura 2.4-9a y calcula la dirección y la magnitud del gradiente como se observa en la
figura 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 gradiente
En [50] los autores diseñan un filtro mediana para sistemas de inspeccion industrial en
tiempo real. El filtro mediana tiene la característica de ser un filtro no lineal y que su
algoritmo de implementación consiste en organizar un conjunto de datos y seleccionar la
posición media de este conjunto. Los autores proponen una arquitectura que reduce el
tiempo de cálculo de este filtro, mediante la reducción de los bloques comparadores que
requiere un filtro mediana clásico. La implementación de este filtro mediana es mostrada
por la figura 2.4-10.
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
51
a) 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 mediana
Otra 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 multiplexor
implementados mediante transistores pmos y nmos.
a) b)
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
52
c)
Figura 2.4-11. Arquitectura de un comparador basada en transistores pmos y nmos [51]
a) Full-adder. b) Multiplexor. c) Comparador
Para la detección y realce de bordes en [52] los autores proponen un detector de bordes
sobel , usando un filtro digital de aritmética distribuida con el objetivo de realzar bordes de
imá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 mostrada
en la figura 2.4-13. Esta arquitectura tiene como objetivo de realizar las operaciones básicas
de la matemática morfológica, para aplicarla como acelerador de hardware, en operaciones
de filtrado, segmentación y etiquetado de imágenes.
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
53
Figura 2.4-13. Arquitectura para la realización de las operaciones de dilatación y erosion en
imágenes implementada en [53]
2.4.4 Arquitecturas Hardware para la Segmentación y la Umbralización
de una Imagen
Una arquitectura para la umbralización basada en el algoritmo ISODATA es mostrada en la
figura 2.4-14. Esta implementación realizada por [54] diseña un datapath paralelizado y en
pipeline lo que aumenta la velocidad de cálculo del umbral.
Figura 2.4-14. Arquitectura para umbralización de una imagen mediante el algoritmo ISODATA
implementada en [54]
La figura 2.4-15 muestra una arquitectura para la segmentación de imágenes por el método de
crecimiento de regiones. Esta arquitectura diseñada por [55] tiene como objetivo separar
características de objetos en un video. La figura 2.4-15a muestra la arquitectura para la
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
54
segmentación y la extracción de características, la figura 2.4-15b muestra el circuito de
umbralización por crecimiento de regiones y la figura 2.4-15c muestra el circuito para la extracción
de características.
a)
b)
c)
Figura 2.4-15. Arquitectura para la segmentación y extracción de características de un video
implementada en [55]
a) Arquitectura principal. b) Circuito de umbralización. c) Circuito de extracción de
características
En [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 la
figura 2.4-16a muestra el circuito de segmentación del objeto y la figura 2.4-16b muestra el
circuito de umbralización.
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
55
a)
b)
Figura 2.4-16. Arquitectura para la umbralización por el método espacio temporal para video
implementada en [56]
a) Arquitectura principal. b) Circuito de umbralización.
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
56
Bibliografí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 of
Electrical Engineering. Stanford University, Stanford CA 94305. 2003
[3] Review of CMOS image sensors. M. Bigasa, E. Cabrujaa, J. Forestb, J. Salviba. Centre
Nacional de Microelectronica, IMB-CNM (CSIC), Campus Universitat Autonoma de
Barcelona, 08193 Bellaterra, Barcelona, Spain. Institut d’Informatica i Aplicacions Campus
Montilivi, 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, Fairchild
Imaging, Inc., 1801 McCarthy Boulevard, Milpitas, CA 95035. U.S. Army Night Vision
and Electronic Sensors Directorate, 10221 Burbeck Rd., Fort Belvoir, VA 22060-5806.
2003
[5] Image splicing detection using camera response function consistency and automatic
segmentation. 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 la
candela j. c. molina, j. c. Bermúdez Centro Nacional de Metrología, km 4,5 Carretera a los
Cués, El Marqués, Qro. México. 2006
[7] CMOS image sensors dynamic range and SNR enhancement via statistical signal
processing. A dissertation submitted to the department of electrical engineering and the
committee on graduate studies of stanford university in partial fulfillment of the
requirements for the degree of doctor of philosophy Xinqiao Liu. June 2002
[8] CMOS Image Sensors for High Speed Applications. Munir El-Desouki,M. Jamal
Deen,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
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
57
[11] Luminotecnia. Principios fundamentales, Capitulo 6. México 2002
[12] An overview of morphological filtering. Jean Serra & Luc Vincent. Centre de Morphologie
Mathematique. Ecole Nationale Superieure des Mines de Paris. Francia. 1992
[13] Detección de discontinuidades y mejora de contraste mediante el calculo de gradientes
usando 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 performance
evaluationMehmet SezginTubıtak Marmara Research Center Information Technologies
Research InstituteGebze, Kocaeli. Turkey. E-mail: sezgin@btae.mam.gov.tr, Bulent Sankur
Bogazic¸i University Electric-Electronic Engineering Department Bebek, I˙stanbul. Turkey.
2004
[15] An Adaptive Canny Edge Detector using Histogram Concavity Analysis. Jun Zeng, Dehua
Li.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 ching
Fan. 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. Pattern
Analysis and Machine Intelligence, PAMI-9. 1997
[19] Automatic threshold selection using the wavelet transform, J.C. Olivo, Graphical Models
and Image Processing. 1994.
[20] Thresholding Based on Histogram Approximation, N. Ramesh, J.H. Yoo, I.K. Sethi, IEE
Proc. Vis. Image, Signal Proc. 1995.
[21] Ridler, TW & Calvard, S , "Picture thresholding using an iterative selection method", IEEE
Transactions on Systems, Man and Cybernetics 8: 630-632. 1978
[22] A threshold selection method from gray-level histograms. N. Otsu. IEEE Transactions on
Systems, Man, and Cybernetics. 1979.
[23] T-tests, F-tests and Otsu’s Methods for Image Thresholding Jing-Hao Xue* and D. Michael
Titterington. Jing-Hao Xue* and D. Michael Titterington. IEEE TRANSACTIONS ON
IMAGE PROCESSING, 2010
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
58
[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 picture
thresholding using the entropy of the histogram,” Comput. Vision graphics Image
Process., vol. 29, pp. 273-285. 1985
[27] Yang Xiao, Zhiguo Cao , Tianxu Zhang. “Entropic Thresholding Based on Gray-level
Spatial 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, Abhijit
G, Graph. Models Image Process. 1994
[30] Survey and comparative analysis of entropy and relative entropy thresholding techniques
C.-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 Mating
Optimization Ming-Huwi Horng, Member, IAENG, Ting-Wei Jiang and Jin-Yi Chen.
Proceedings of the International MultiConference of Engineers and Computer Scientists
2009
[32] Moment-preserving thresholding: a new approach, W. Tsai, Computer Vision Graphics
Image 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, Graphical
Models 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.
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
59
[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, ICDAR'99: Int. Conf. On Document Analysis and
Recognition, 1999
[42] National Semiconductor LM9630. 2002
[43] Architecture Based on FPGA’s for Real-Time Image Processing. Ignacio Bravo, Pedro
Jimenez, 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 and
data 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 vision
sensor Emanuel Staudinger, Martin Humenberger and Wilfried Kubinger Austrian
Research Centers GmbH – ARC Donau-City-Str. 1, 1220 Vienna, Austria. 2008
[46] FPGA-based Optical Distortion Correction for Imaging Systems. Lin Qiang Nigel M
Allinson. Department of Electronic and Electrical Engineering, The University of Sheffield
Mappin Street, Sheffield, , Reino Unido. 2006
[47] FPGA Implementation of Parallel Histogram Computation. Asadollah Shahbahrami1, Jae
Young 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, Princeton
University, Princeton. 2009
[49] A Parallel Hardware Architecture for Image Feature Detection Vanderlei Bonato, Eduardo
Marques1, and George A. Constantinides. Institute of Mathematical and Computing
Sciences. The University of Sao Paulo. Brasil. 2008.
[50] An FPGA-based implementation for median filter meeting the real-time requirements of
automated 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 Sorting
Network Victor Jimenez-Fernandez, Denisse Martinez-Navarrete, Carlos Ventura-
Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes
60
Arizmendi, Zulma Hernandez-Paxtian, Joel Ramirez-Rodriguez, International journal of
circuits, systems and signal processing . Mexico 2011.
[52] Hardware implementation of sobel-edge detection distributed arithmetic digital filter.
Sorawat CHIVAPREECHA and Kobchai DEJHAN. Faculty of Engineering and Research
Center for Communication and Information Technology. 25th ACRS 2004. Thailand. 2004
[53] Image Processing Architectures for Binary Morphology and Labeling, Hugo Hedberg, The
Department of Electrical and Information Technology, Lund University,LUND, SWEDEN.
2008
[54] A Parallelized and Pipelined Datapath to Implement ISODATA Algorithm for Rosette Scan
Images on a Reconfigurable Hardware. Ehsan Rahimi, Shahriar B. Shokouhi, Ali Sadr. Iran
University. 2008
[55] Image Segmentation and Pattern Matching Based FPGA/ASIC Implementation
Architecture of Real-Time Object Tracking. K. Yamaoka, T. Morimoto, H. Adachi, T.
Koide, and H. J. Mattausch Research Center for Nanodevices and Systems, Hiroshima
University. 2006
[56] An FPGA-based implementation of spatio-temporal object segmentation. Kumara
Ratnayake and Aishy Amer. Concordia University, Electrical and Computer Engineering,
Montreal, Quebec, Canada. 2006
61
ILUMINACIÓN, CALIBRACIÓN Y SIMULACIÓN
FUNCIONAL DE LOS ALGORITMOS USADOS PARA
MEDIR UNA LÁMINA DE CUERO
3.1 Introducción
Este capítulo se divide en cinco secciones principales. La sección 3.2 que presenta los
resultados de las mediciones realizadas a la iluminación del sitio donde se realizaron las
capturas de las imágenes de la lámina de cuero. La sección 3.3 presentan los resultados de
la calibración del sistema de captura de la imagen, con sus parámetros de corrección del
lente. La sección 3.4 muestra la simulación de los algoritmos que realizan el mejoramiento
y realce de la lámina de cuero buscando facilitar su separación del fondo. En la sección 3.5
se presentan los criterios de evaluación usados para la selección de los umbralizadores a
diseñar en este proyecto, y finalmente en la sección 3.6 se presentan los resultados de
simulación de los umbralizadores seleccionados.
3.2 Implementación del Sistema de Iluminación
Para el desarrollo de este proyecto se ha implementado la iluminación horizontal por medio
de una lámpara de sodio de 250W de uso industrial similar a la mostrada en la figura 3.2.1
Figura 3.2-1. Lámpara usada para la iluminación de sitio de medición. Tomada de [1]
La altura a la cual se ha ubicado la lámpara es de 5 metros. Estas lámparas tienen una
intensidad luminosa de 33000 lumen según [1]. Con esta información se calcula el flujo
Capítulo 3
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

Mais conteúdo relacionado

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

Estudio de investigación sobre técnicas de calibración de cámaras
Estudio de investigación sobre técnicas de calibración de cámarasEstudio de investigación sobre técnicas de calibración de cámaras
Estudio de investigación sobre técnicas de calibración de cámaras
Jaime Martínez Verdú
 
SISTEMA DE INSPECCIÓN DE PANTÓGRAFOS MEDIANTE VISIÓN ARTIFICIAL
SISTEMA DE INSPECCIÓN DE PANTÓGRAFOS MEDIANTE VISIÓN ARTIFICIALSISTEMA DE INSPECCIÓN DE PANTÓGRAFOS MEDIANTE VISIÓN ARTIFICIAL
SISTEMA DE INSPECCIÓN DE PANTÓGRAFOS MEDIANTE VISIÓN ARTIFICIAL
Ícaro Álvarez Giménez
 

Semelhante a Diseño de un microsistema basado en FPGAs para la medicion de una lamina de cuero (20)

Estudio de investigación sobre técnicas de calibración de cámaras
Estudio de investigación sobre técnicas de calibración de cámarasEstudio de investigación sobre técnicas de calibración de cámaras
Estudio de investigación sobre técnicas de calibración de cámaras
 
Diseã±o de moldes de inyecciã³n de plã¡stico con ingenierã a concurrente
Diseã±o de moldes de inyecciã³n de plã¡stico con ingenierã a concurrenteDiseã±o de moldes de inyecciã³n de plã¡stico con ingenierã a concurrente
Diseã±o de moldes de inyecciã³n de plã¡stico con ingenierã a concurrente
 
manual-de-diseno-geometrico-invias-98
manual-de-diseno-geometrico-invias-98manual-de-diseno-geometrico-invias-98
manual-de-diseno-geometrico-invias-98
 
PFM miriam esteve velazquez__Escenografía intermedial:Nuevos medios y tecnol...
PFM  miriam esteve velazquez__Escenografía intermedial:Nuevos medios y tecnol...PFM  miriam esteve velazquez__Escenografía intermedial:Nuevos medios y tecnol...
PFM miriam esteve velazquez__Escenografía intermedial:Nuevos medios y tecnol...
 
IET-SAL-CAS-15.pdf
IET-SAL-CAS-15.pdfIET-SAL-CAS-15.pdf
IET-SAL-CAS-15.pdf
 
tesis de Garbarino
tesis de Garbarinotesis de Garbarino
tesis de Garbarino
 
SISTEMA DE INSPECCIÓN DE PANTÓGRAFOS MEDIANTE VISIÓN ARTIFICIAL
SISTEMA DE INSPECCIÓN DE PANTÓGRAFOS MEDIANTE VISIÓN ARTIFICIALSISTEMA DE INSPECCIÓN DE PANTÓGRAFOS MEDIANTE VISIÓN ARTIFICIAL
SISTEMA DE INSPECCIÓN DE PANTÓGRAFOS MEDIANTE VISIÓN ARTIFICIAL
 
Proyecto Final de Carrera. Ing.Informática. HELP-DESK
Proyecto Final de Carrera. Ing.Informática. HELP-DESKProyecto Final de Carrera. Ing.Informática. HELP-DESK
Proyecto Final de Carrera. Ing.Informática. HELP-DESK
 
Clasificadora de tuercas
Clasificadora de tuercasClasificadora de tuercas
Clasificadora de tuercas
 
Jorge freiria pereira
Jorge freiria pereiraJorge freiria pereira
Jorge freiria pereira
 
Torque y potencia
Torque y potenciaTorque y potencia
Torque y potencia
 
Ups ct007537
Ups ct007537Ups ct007537
Ups ct007537
 
Proyecto final facultad de ingeniería.pdf
Proyecto final facultad de ingeniería.pdfProyecto final facultad de ingeniería.pdf
Proyecto final facultad de ingeniería.pdf
 
Estimacion de la orientacion de un cuerpo rigido: Estudio experimental compar...
Estimacion de la orientacion de un cuerpo rigido: Estudio experimental compar...Estimacion de la orientacion de un cuerpo rigido: Estudio experimental compar...
Estimacion de la orientacion de un cuerpo rigido: Estudio experimental compar...
 
Tesis completo
Tesis   completoTesis   completo
Tesis completo
 
Tesis
TesisTesis
Tesis
 
Tesis
TesisTesis
Tesis
 
Tesis
TesisTesis
Tesis
 
Jk (1)
Jk (1)Jk (1)
Jk (1)
 
Sílabo Fotogrametría II 2014(2)
Sílabo Fotogrametría II 2014(2)Sílabo Fotogrametría II 2014(2)
Sílabo Fotogrametría II 2014(2)
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (11)

investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 

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

  • 1. DISEÑO DE UN MICROSISTEMA USANDO FPGAs PARA MEDIR EL ÁREA DE UNA LÁMINA DE CUERO JHOHANN FABIÁN SALAZAR LOAIZA UNIVERSIDAD DEL VALLE FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA PROGRAMA DE POSTGRADO EN INGENIERÍA ELÉCTRICA Y ELECTRÓNICA SANTIAGO DE CALI 2012
  • 2. DISEÑO DE UN MICROSISTEMA USANDO FPGAs PARA MEDIR EL ÁREA DE UNA LÁMINA DE CUERO JHOHANN FABIÁN SALAZAR LOAIZA Trabajo de grado en opción al título de: Magíster en Ingeniería - Énfasis Ingeniería Electrónica Director: Jaime Velasco Medina Ph.D Escuela de Ingeniería Eléctrica y Electrónica UNIVERSIDAD DEL VALLE FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA PROGRAMA DE POSTGRADO EN INGENIERÍA ELÉCTRICA Y ELECTRÓNICA SANTIAGO DE CALI 2012
  • 3. iii Tabla de Contenido INTRODUCCIÓN 5 1.1 MOTIVACIÓN 5 1.2 CONTRIBUCIÓN DE LA TESIS 7 1.3 ORGANIZACIÓN DE LA TESIS 7 BIBLIOGRAFÍA 8 FUNDAMENTOS E IMPLEMENTACIONES HARDWARE PARA EL PROCESAMIENTO DIGITAL DE IMÁGENES 9 2.1 INTRODUCCIÓN 9 2.2 FUNDAMENTOS DEL SISTEMA DE CAPTURA DE UNA IMAGEN 11 2.2.1 Imagen digital 11 2.2.2 Sistema de Adquisición de una Imagen 13 2.2.3 Modelo Pinhole 15 2.2.4 Corrección de la Distorsión 18 2.2.5 Iluminación de la imagen 20 1. Iluminación normal 22 2. Iluminación horizontal 22 3. Iluminación vertical 22 2.3 TÉCNICAS PARA EL PROCESAMIENTO DIGITAL DE IMÁGENES 22 2.3.1 Mejoramiento de la Imagen 22 2.3.1.1 Operaciones Morfológicas 23 1. Dilatación 23 2. Erosión 24 3. Apertura y Cierre 24 4. Transformación Top Hat y Bottom Hat 25 2.3.1.2 Filtrado en el Dominio Espacial 27 1. Filtrado espacial paso bajo 28 2. Filtrado por la mediana 28 3. Filtrado espacial paso alto 29 4. Filtrado high boost 30 5. Filtros diferenciales 31 2.3.2 Segmentación de imágenes 32 2.3.2.1 Operador Laplaciano 33 2.3.2.2 Umbralización 34 1. Métodos Basados en la Forma del Histograma. 34 2. Métodos Basados en Agrupamiento de Píxeles o Clustering. 36 3. Métodos Basados en Información de la Entropía del Histograma. 37 4. Métodos Basados en los Atributos de la Imagen. 39 5. Métodos Basados en Información Espacial. 41 6. Métodos basados en características locales. 43 2.4 IMPLEMENTACIONES HARDWARE PARA EL PROCESAMIENTO DIGITAL DE IMÁGENES 44 2.4.1 Arquitecturas Hardware para la Captura de Imágenes 44 2.4.2 Arquitecturas Hardware para la Corrección de Distorsiones en la Captura de una Imagen 47 2.4.3 Arquitecturas Hardware para la Mejora y el Realce de una Imagen 48 2.4.4 Arquitecturas Hardware para la Segmentación y la Umbralización de una Imagen 53 BIBLIOGRAFÍA 56
  • 4. iv ILUMINACIÓN, CALIBRACIÓN Y SIMULACIÓN FUNCIONAL DE LOS ALGORITMOS USADOS PARA MEDIR UNA LÁMINA DE CUERO 61 3.1 INTRODUCCIÓN 61 3.2 IMPLEMENTACIÓN DEL SISTEMA DE ILUMINACIÓN 61 3.3 CALIBRACIÓN DEL SISTEMA DE CAPTURA DE LA IMAGEN 63 3.4 SIMULACIÓN DE LOS ALGORITMOS DE MEJORAMIENTO Y REALCE DE LA IMAGEN. 67 3.4.1 Simulación del Filtro Mediana 67 3.4.2 Simulación de la Supresión del Fondo de la Imagen 69 3.4.3 Simulación del Filtro High Boost 72 3.5 SELECCIÓN DE ALGORITMOS DE UMBRALIZACIÓN 73 3.5.1 Criterios para la evaluación de los algoritmos de umbralización 74 3.5.1.1 Criterio basado en la clasificación errónea. 74 3.5.1.2 Criterio basado en el error relativo del área del objeto. 74 3.5.2 Evaluación de los algoritmos de umbralización 75 3.5.2.1 Resultados para la Figura Cuadrado 77 3.5.2.2 Resultados para la Figura Círculo 79 3.5.2.3 Resultados para la Figura Triángulo 81 3.6 SIMULACIÓN DE LOS ALGORITMOS DE UMBRALIZACIÓN SELECCIONADOS SOBRE LÁMINAS DE CUERO 83 BIBLIOGRAFÍA 88 IMPLEMENTACIÓN HARDWARE DE LOS ALGORITMOS PARA MEDIR UNA LÁMINA DE CUERO 89 4.1 INTRODUCCIÓN 89 4.1.1 Diagrama de Bloques para Medir una Lámina de Cuero 89 4.2 ETAPA DE ADECUACIÓN DE LA IMAGEN ORIGINAL 91 4.2.1 Filtrado Mediana de la Imagen 92 4.2.2 Supresión del Fondo de la Imagen 98 4.2.2.1 Bloque Restador de Fondo 98 4.2.2.1 Filtrado Morfológico Bottom Hat 100 4.2.3 Filtrado High Boost de la Imagen 105 4.3 ETAPA DE UMBRALIZACIÓN DE LA IMAGEN 108 4.3.1 Arquitectura Hardware para el Algoritmo de Umbralización de Otsu 108 4.3.1.1 Implementación del Bloque para el Cálculo del Histograma 111 4.3.1.2 Implementación del Bloque Estadístico 112 4.3.1.3 Implementación del Bloque para Cálculo del Umbral Otsu 113 4.3.2 Arquitectura Hardware para el Algoritmo de Umbralización ISODATA 114 4.3.3 Arquitectura Hardware para el Algoritmo de Umbralización Intermodal 116 4.3.4 Arquitectura Hardware para el Algoritmo de Umbralización Valles y Colinas 119 4.4 ETAPA PARA EL CÁLCULO DEL ÁREA ÓPTIMA DE LA LÁMINA DE CUERO 121 4.4.1 Ejemplo con Círculos para Calcular el Área Óptima de la Lámina de Cuero 121 4.4.2 Arquitectura Hardware para el Cálculo del Valor Optimo. 123 BIBLIOGRAFÍA 126 CONCLUSIONES Y TRABAJO FUTURO 127
  • 5. v LISTA DE FIGURAS Figura 1.1-1. Sistema electrónico tradicional para medir el área de una lámina de cuero. 6 Figura 1.1-2. Sistema de visión artificial basado en FPGAs para medir el área de una lámina de cuero. 7 Figura 2.1-1. Sistema para medir el área de una lámina de cuero usando un microsistema basado en FPGA 10 Figura 2.2-1. Representación grafica de la función muestreo bidimensional. 12 Figura 2.2-2. Representación grafica del proceso de discretización y cuantización. 12 Figura 2.2-3. Dispositivos de captura. 13 Figura 2.2-4. Modelo Pinhole. 16 Figura 2.2-5. Efectos de distorsión radial. 20 Figura 2.2-6. Ley de los cuadrados 21 Figura 2.2-7. Tipos de iluminación 21 Figura 2.3-1. Proceso de dilatación de una imagen 23 Figura 2.3-2. Proceso de erosión de una imagen 24 Figura 2.3-3. Proceso de apertura de una imagen 25 Figura 2.3-4. Proceso de cerradura de una imagen 25 Figura 2.3-5. Transformación top hat en una imagen 26 Figura 2.3-6. Transformación bottom hat en una imagen 26 Figura 2.3-7. Operación de convolución sobre una imagen 27 Figura 2.3-8. Mascara de convolución para un filtro paso bajo 28 Figura 2.3-9. Filtrado paso bajo 29 Figura 2.3-10. Filtro mediana 29 Figura 2.3-11. Mascara de convolución para un filtro paso alto 29 Figura 2.3-12. Filtrado paso alto 30 Figura 2.3-13. Mascara de convolución para un filtro high boost 30 Figura 2.3-14. Filtrado high boost 31
  • 6. vi Figura 2.3-15. Operadores de gradiente 32 Figura 2.3-16. Operador Laplaciano 33 Figura 2.3-17. Operación del operador Laplaciano 33 Figura 2.3-18. Umbralizacion de una imagen 34 Figura 2.3-19. Matriz de coocurrencia 42 Figura 2.4-1. Arquitectura para el dispositivo LM9630 producido por [42] 45 Figura 2.4-2. Arquitectura basada en un FPGA para el procesamiento en tiempo real de imágenes propuesto por [43] 45 Figura 2.4-3. Arquitectura basada en un FPGA para la captura de imágenes de un sensor CMOS, propuesto por [44] 46 Figura 2.4-4. Bloque DSP para la captura de imágenes de un sensor CMOS, propuesto por [7] 47 Figura 2.4-5. Arquitectura basada en un FPGA para la corrección de las distorsiones que generan los lentes en una imagen propuesta por [45] 47 Figura 2.4-6. Arquitectura basada en un FPGA para la corrección de las distorsiones que generan los lentes en una imagen propuesta por [46] 48 Figura 2.4-7. Arquitectura basada en un FPGA para el cálculo del histograma propuesta por [47] 49 Figura 2.4-8. Arquitectura basada en un FPGA de un filtro FIR bi-dimensional [48] 50 Figura 2.4-9. Arquitectura basada en un FPGA de un filtro Gausiano [49] 50 Figura 2.4-10. Arquitectura basada en un FPGA de un filtro mediana [50] 51 Figura 2.4-11. Arquitectura de un comparador basada en transistores pmos y nmos [51] 52 Figura 2.4-12. Arquitectura de detector de bordes sobel implementado por [52] 52 Figura 2.4-13. Arquitectura para la realización de las operaciones de dilatación y erosion en imágenes implementada en [53] 53 Figura 2.4-14. Arquitectura para umbralizacion de una imagen mediante el algoritmo ISODATA implementada en [54] 53 Figura 2.4-15. Arquitectura para la segmentación y extracción de características de un video implementada en [55] 54 Figura 2.4-16. Arquitectura para la umbralizacion por el método espacio temporal para video implementada en [56] 55 Figura 3.2-1. Lámpara usada para la iluminación de sitio de medición. Tomada de [1] 61 Figura 3.2-1. Iluminación de la lámina de cuero 62 Figura 3.3-1. Toolbox en Matlab para la calibración de cámaras. 63
  • 7. vii Figura 3.3-2. Patrón de Calibración de 64 cuadros de 20 mm c/u. 63 Figura 3.3-3. Imágenes de calibración cargadas en el toolbox calibration. 64 Figura 3.3-4. Parámetros extrínsecos de la cámara. 65 Figura 3.3-5. Modelo de distorsión radial. 65 Figura 3.3-6. Modelo de distorsión tangencial. 66 Figura 3.4-1. Aplicación del Filtro mediana a diferentes laminas de cuero 68 Figura 3.4-2. Supresión del fondo a una la lámina de cuero por diferencia con el fondo 70 Figura 3.4-3. Supresion del fondo a una la lámina de cuero por filtrado bottom hat 71 Figura 3.4-4. Mejoramiento de bordes a una lamina de cuero sin fondo, por filtrado High boost 73 Figura 3.5-1. Figuras geométricas de prueba y sus histogramas 77 Figura 3.5-2. Umbralizacion de la figura cuadrado de 2500 pixeles 78 Figura 3.5-3. Umbralizacion de la figura circulo de 1861 pixeles 80 Figura 3.5-4. Umbralizacion de la figura triangulo de 16000 pixeles 82 Figura 3.6-1. Láminas de cuero capturadas en escala de grises 83 Figura 3.6-2. Histogramas de las láminas de cuero en escala de grises. 85 Figura 4.1-1 Diagrama de bloques para medir una lámina de cuero 90 Figura 4.2-1 Bloque funcional para la adecuación de la imagen 91 Figura 4.2-2 Arreglo sistólico de un filtro mediana 92 Figura 4.2-3 Arreglo sistólico de un filtro mediana mejorado en [2] 93 Figura 4.2-4 Filtro no lineal tipo mediana implementado en pipeline 94 Figura 4.2-5 circuito de manejo de memoria y la imagen de ejemplo 97 Figura 4.2-6 Bloque hardware del restador de fondo y su funcionamiento 100 Figura 4.2-7 Elementos estructurales para las operaciones de dilatación y erosión 101 Figura 4.2-8 Arquitectura pipeline para realizar las operaciones de dilatación y erosión 102 Figura 4.2-9 Simulación de las operaciones de dilatación y erosión 104 Figura 4.2-10 Arquitectura pipeline para realizar el filtro high boost 105 Figura 4.2-11 Simulación del filtrado high boost 107 Figura 4.3-1 Imagen de prueba para calcular el umbral de Otsu 109
  • 8. viii Figura 4.3-2 Umbralizacion de Otsu de forma grafica 110 Figura 4.3-3 Cálculo en hardware del histograma 112 Figura 4.3-4 Arquitectura hardware del bloque estadístico 112 Figura 4.3-5 Arquitectura hardware del bloque que cálculo el umbral de Otsu 113 Figura 4.3-6. Arquitectura hardware para el cálculo del umbral ISODATA 115 Figura 4.3-7 Algoritmos intermodal mostrado gráficamente 117 Figura 4.3-8. Arquitectura hardware del algoritmo intermodal 118 Figura 4.3-9 Cálculo del mínimo valle gráficamente 119 Figura 4.3-10. Calculo del umbral valles y colinas 120 Figura 4.4-1. Círculos de prueba 121 Figura 4.4-2. Intersección de las imágenes binarias 122 Figura 4.4-3. Arquitectura a bloques para el cálculo del área optimo 125
  • 9. ix LISTA DE TABLAS Tabla 3.2-1. Muestras tomadas en el área de medición 62 Tabla 3.3-1. Valores de calibración de la cámara 64 Tabla 3.3-2. Valores de calibración para cada punto 67 Tabla 3.5-1. Algoritmos de umbralizacion a evaluar 75 Tabla 3.5-2. Calculo de los valores de los criterios de selección para la figura en forma de cuadrado 79 Tabla 3.5-3. Calculo de los valores de los criterios de selección para la figura en forma de círculo 80 Tabla 3.5-4. Calculo de los valores de los criterios de selección para la figura en forma de triangulo 82 Tabla 3.6-1. Resultados de simulación de la medida del cuero para la lamina de la figura 3.6-1a 86 Tabla 3.6-2. Resultados de simulación de la medida del cuero para la lamina de la figura 3.6-1b 86 Tabla 3.6-3. Resultados de simulación de la medida del cuero para la lamina de la figura 3.6-1c 86 Tabla 3.6-4. Resultados de simulación de la medida del cuero para la lamina de la figura 3.6-1d 87 Tabla 4.2-1 Resultados de simulación del filtro mediana 98 Tabla 4.2-2 Resultados de simulación del supresor del fondo 100 Tabla 4.2-3 Resultados de simulación del filtro Bottom hat 105 Tabla 4.2-4 Resultados de simulación del filtro High boost 108 Tabla 4.3-1 Resultados de simulación del umbralizador de Otsu 114 Tabla 4.3-2 Resultados de simulación del umbralizador ISODATA 116 Tabla 4.3-3 Resultados de simulación del umbralizador Intermodal 119 Tabla 4.3-4 Resultados de simulación del umbralizador valles y colinas 120 Tabla 4.4-1. Resultados de las intersecciones de los círculos mostrados en la figura 4.3-2 123 Tabla 4.4-2 Resultados de simulación para el cálculo del área optima 125
  • 10. 5 INTRODUCCIÓN Las láminas de cuero son comercializadas de acuerdo al tamaño de su superficie y las unidades típicas son: el decímetro cuadrado, el pie cuadrado y el metro cuadrado. Para realizar esta medida se utilizan actualmente sistemas electrónicos de medición, en su mayoría de fabricación extranjera, esto conlleva a los problemas de falta de soporte y mantenimiento, además, la electrónica incorporada en todo el sistema usa en promedio entre 80 y 160 sensores fotoeléctricos, los cuales son propensos a fallas por contaminación del medio ambiente u oxidación por las sustancias usadas en el proceso, lo que conlleva a un mantenimiento frecuente, generando interrupciones en el proceso de producción y altos costos 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 y compactos, se puede disminuir las fallas del sistema y los inconvenientes en el proceso de medición del área de una lámina de cuero. Entonces, con el propósito de mitigar los anteriores inconvenientes en los equipos electrónicos usados en la medición de una lámina de cuero, esta tesis de maestría presenta el diseño de un microsistema basado en FPGAs para medir el área de una lámina de cuero. Es decir, mediante la implementación en hardware de algoritmos de visión artificial usando FPGAs es posible realizar la medición del área de una lámina de cuero de una forma confiable y robusta. 1.1 Motivación En las actividades que se llevan a cabo en las curtiembres, uno de los procesos más importantes es la medición del área de una lámina de cuero, ya sea el cuero azul (curtido en cromo) 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 usaban métodos manuales o mecánicos. Información más detallada sobre este aspecto puede ser consultada en [1], el cual es un enlace en internet que muestra los diferentes métodos de medición. Los equipos electrónicos presentan mayores ventajas sobre los sistemas de medición mecánicos y/o manuales debido a su precisión y velocidad. En la Figura 1.1-1, se observa un esquema de un equipo electrónico tradicional. Un equipo electrónico tradicional para medir el área de una lámina de cuero está conformado por: Capítulo 1
  • 11. Introducción 6 • Mesa transportadora: Es un sistema mecánico que se encarga de desplazar el cuero sobre 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éctrico y debe mantener una iluminación constante. • Arreglo de sensores fotoeléctricos: Este arreglo se encarga de capturar la informació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 es debido a que existe una distancia entre cada fotosensor de 2 cms. Sin embargo, el error puede aumentar si existen cambios en la velocidad de la banda transportadora o en la intensidad de la luz de las lámparas. Adicionalmente, los equipos electrónicos tradicionales destinados a trabajar con cuero azul sufren un fuerte deterioro de las tarjetas electrónicas, debido a que estas láminas de cuero están impregnadas de cromo, lo cual conduce a la sulfatación de las partes metálicas y las pistas de cobre en los circuitos impresos. Este tipo de deterioro produce un error mayor en la medida y en consecuencia la confiabilidad se reduce. Teniendo en cuenta, las ventajas y falencias que tienen los equipos electrónicos tradicionales, en esta tesis se presenta el desarrollo de un equipo electrónico de medición del área de las láminas de cuero, el cual usa una tecnología diferente a la tradicional y cumple con las siguientes características: • Alta confiabilidad: Error relativo inferior al 1% • Alta robustez: Equipo bien compacto y separado físicamente de las sustancias químicas destructoras del cobre.
  • 12. Introducción 7 En este caso, el sistema electrónico de medición es un microsistema basado en FPGAs que permite implementar varias técnicas o algoritmos de visión artificial en hardware considerando procesamiento paralelo. En la Figura 1.1-2 se muestra el sistema de visión artificial 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 de cuero. 1.2 Contribución de la Tesis En esta tesis se presenta el diseño de un microsistema usando FPGAs para medir el área de una lámina de cuero. La principal contribución consiste en que el sistema desarrollado presenta una alta confiabilidad debido a que se implementaron 4 algoritmos. Adicionalmente, el sistema presenta una alta robustez debido a que se encuentra lo suficientemente separado de la lámina de cuero. Teniendo en cuenta estas ventajas, este sistema de medición es altamente competitivo con respecto a los productos existentes en el mercado. Los algoritmos de umbralización en hardware son: OTSU, ISODATA, intermodal y cálculo del valle. 1.3 Organización de la Tesis La tesis está organizada en cinco capítulos. En el capítulo 1, se describen los inconvenientes que presentan los sistemas electrónicos de medición tradicionales; en el capítulo 2 se presenta el marco teórico necesario para soportar este proyecto; en el capítulo 3 se presenta una descripción sobre los métodos que permiten realizar una correcta separación entre la imagen de la lámina de cuero y la imagen de la mesa. En el capítulo 4 se presenta el diseño en hardware del microsistema de medición con los algoritmos implementados y finalmente en el capítulo 5 se presentan las conclusiones y el trabajo futuro.
  • 14. 9 2.1 Introducción En este capítulo se presentan los conceptos teóricos utilizados en el diseño del microsistema basado en FPGA para la medición del área de una lámina de cuero. En este caso, se usa una cámara de video como sensor de captura de la imagen de la lámina de cuero, para ser procesada digitalmente y obtener de forma precisa y confiable la medida de su área. Los algoritmos de procesamiento de la imagen son implementados en hardware de forma embebida sobre el FPGA con el propósito de lograr mejores resultados en cuanto a desempeño, portabilidad y confiabilidad. Por lo tanto, con el propósito de alcanzar un excelente desempeño del diseño es necesario entender muy bien, las diversas técnicas para el procesamiento digital de imágenes y sus posibles implementaciones en hardware. En general, cualquier sistema para capturar una imagen y procesarla digitalmente debe disponer como mínimo de: 1. Sistema de adquisición e iluminación de las imágenes: cámara de video y lámparas de iluminación uniforme. 2. Sistema de procesamiento y visualización: tarjeta electrónica en la cual se implementan 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 de visión por computador. En la Figura 2.1-1 se muestran los diferentes elementos que hacen parte de un sistema de visión por computador y más exactamente el sistema desarrollado en este trabajo para la medición de una lamina de cuero. Capítulo 2
  • 15. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 10 Figura 2.1-1 Sistema para medir el área de una lámina de cuero usando un microsistema basado en FPGA. 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 de una 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, que abarca desde la captura de la imagen, el modelo pinhole, los modelos de distorsión, hasta los 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 digital de imágenes que permiten dar mejor contrastes a la imagen analizada, destacando las características de interés. También se presentan las seis técnicas de umbralización con la explicación de varios algoritmos según sus técnicas.
  • 16. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 11 En la sección 2.4 se presentan dieciseis implementaciones en hardware, entre las cuales se describen arquitecturas para la captura de la imagen, para el realce y mejoramiento de la imagen y para la umbralización de la imagen. 2.2 Fundamentos del Sistema de Captura de una Imagen Para realizar una buena captura de una imagen se deben tener presentes, aspectos como el tipo de sensor de captura que se va a usar, ya que si no se logra una buena copia digital de la imagen a tratar, se hará más complejo el proceso de análisis de su información y la extracción de sus características. De igual modo se deben conocer aspectos como el modelo matemá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 de captura de la imagen es el sistema de iluminación, ya que si la imagen se ilumina de forma errónea esta imagen presentará efectos de sombras o brillos que alteraran la información de la imagen. 2.2.1 Imagen digital Una imagen es una función continua F(x,y), donde las coordenadas x, y son variables espaciales del plano donde se forma la imagen. La amplitud de la función F, es la intensidad 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ón 2.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 cantidades discretas finitas, esta imagen es llamada una imagen digital. El proceso de discretizar las variables espaciales x, y se conoce como muestreo y está definida por la ecuación 2.2-2, gráficamente se observa en la figura 2.2-1. ∫ ∫ ∞ ∞− =−− ),(),(),( 0000 yxfdxdyyyxxyxf δ (2.2-2)
  • 17. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 12 Figura 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 en asignarle a cada localización discreta x,y un valor entero 2b , donde b es el número de bits asignados a cada nivel de gris. La discretización y cuantización es descrita gráficamente por la figura 2.2-2. Figura 2.2-2. Representación grafica del proceso de discretización y cuantización.
  • 18. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 13 2.2.2 Sistema de Adquisición de una Imagen Para 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 distintos pará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 las CMOS 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 ambas tecnologías y en [5] se presenta una aplicación de un sensor CCD para la segmentación de imágenes. Se debe tener presente que los sensores CMOS se pueden integrar más que la CCD, consumen menos potencia pero la imagen es de menor calidad, y son ampliamente usados en cámaras para PC, sistemas de seguridad, escáneres códigos de barras entre otros sistemas de bajo costo. Mientras las CCD son de mayor tamaño, de más consumo pero de mejor calidad, son usadas frecuentemente en fotografía digital, aplicaciones digitales de alta 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 CCD Estos sensores de captura tienen características que deben ser tenidas en cuenta a la hora de seleccionarlo, 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 cada unidad de energía óptica incidente. Se define por la ecuación 2.2-3 ∫ ∫ Φ Φ =      λ λ λλλ λλλ dV ds Km SA lx A S e ne dfdf li )()( )()( . )8.632( (2.2-3)
  • 19. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 14 Donde: Sli es la responsividad luminosa en unidades de [Amperios/lux]. Sdf (632,8) es la responsividad absoluta del detector fotométrico a 632,8 nm. Φe(λ) es la distribución espectral de la fuente iluminante tipo A. Sn(λ) es la responsividad espectral relativa del detector fotométrico. V(λ) es Eficiencia espectral luminosa para la visión fotópica. Km es la eficiencia espectral luminosa máxima (683 lm/W). Adf es el área del detector fotomé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 de cuantos 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 la ecuación 2.2-4 cvTiiq Ti iSNR dcph ph ph 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 de polarización del mismo. T es el periodo de exposición del fotodiodo en la captura de la imagen. σ2 v es la varianza del ruido en el circuito. σ2 c es la varianza antes de iniciar la conducción el fotodiodo. iph es la corriente del fotodiodo. Mayor ampliación sobre este tema puede ser consultada en [7], en el numeral 1.2.1 3. Rango Dinámico: Es la razón entre el máximo nivel de luminosidad que el sensor puede medir antes de saturarse y el mínimo nivel descontado el ruido de lectura. El rango dinámico está definido por la ecuación 2.2-5. cvTiq Q DR ph sat 2210log20 σσ ++ = (2.2-5) Donde: DR es el rango dinámico. qiph es la carga de los electrones incidentes en el fotodiodo. T es el periodo de exposición del fotodiodo en la captura de la imagen. σ2 v es la varianza del ruido en el circuito. σ2 c es la varianza antes de iniciar la conducción el fotodiodo. Mayor ampliación sobre este tema puede ser consultada en [7], en el numeral 1.2.1 4. Velocidad de captura: La velocidad de captura de una imagen está dada por la cantidad de 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 arquitectura de lectura digital que permite velocidades de captura de hasta los 10KFPS y la arquictectura 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 secuencial de píxel por píxel (PBP). En [8] el autor hace un análisis de las diferentes arquitecturas para la captura de imágenes.
  • 20. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 15 1−             += ROADCPBP x n b HxVFR ττ (2.2-6) Donde, H y V, son el número de filas y columnas del arreglo de sensores, ADCτ es el tiempo que toma la conversión de análogo a digital, ROτ es el tiempo que tarda el dispositivo en enviar 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, esta característica describe la relación entre el número de píxeles y el tamaño del sensor, entre mas á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 la imagen capturada. La respuesta uniforme, con esta característica se espera que un píxel sometido al mismo nivel de excitación de luz que sus vecinos no presente cambios apreciables respecto de ellos. El Blooming es el fenómeno por el cual un píxel que ha alcanzado la saturación empieza a saturar a sus vecinos, creando efectos y patrones no deseados. 2.2.3 Modelo Pinhole El 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 luz entran a la cámara y forman una imagen del cuerpo situado en frente de este orificio en su interior, pero de forma invertida. En [9] el autor, en el capitulo11 hace la descripción del modelo 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 agujero e 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 un comportamiento lineal se presentan deformaciones en la imagen proyectada dentro de la cámara o en el sensor de captura, por lo tanto el modelo pinhole debe ser corregido por medio de parámetros que corrijan su comportamiento no lineal y lo aproximen a la apariencia 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 de ejes, el plano imagen, de coordenadas u,v, se encuentra situado a una distancia igual a la longitud 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 priori desconocido. 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 Modelo Pinhole.
  • 21. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 16 Figura 2.2-4. Modelo Pinhole. Un punto Xcam expresado en el sistema de coordenadas de la cámara, con coordenadas [X Y Z], se proyecta en un punto del plano imagen Xim de coordenadas (x,y) aplicando el modelo pinhole. Los valores de las coordenadas del plano imagen se obtienen a partir de las ecuaciones de proyección de perspectiva para un objetivo de distancia focal f , suponiendo que Z > f , esto es, todos los puntos en análisis se encuentran en frente de la lente, según la ecuación 2.2-7       =      Y X Z f y x (2.2-7) Las coordenadas en píxeles (u,v) de esta posición (x,y) en el plano imagen se obtienen utilizando el tamaño horizontal y vertical de los píxeles. Posteriormente, se deben referenciar dichos valores al origen superior izquierdo de la imagen en el sensor, por lo que se 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 la transformació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 de la imagen captada. 0 0 . . vysv uxsu y x += += (2.2-8) El punto tridimensional Xcam correspondiente al píxel de impacto (u,v) no es único. Todos los puntos pertenecientes a la recta que une el centro de proyección C con el punto Xcam inicialmente considerado son posibles puntos originales. Así cualquier punto M de la recta R con coordenadas (X,Y,Z) cumple la igualdad de la ecuación 2.2-9, al proyectarse sobre el píxel (u,v):
  • 22. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 17 Cam y x Z Y X vf uf v u                     =           100 0 0 1 0 0 λ (2.2-9) Donde, fsf fsf yy xx . . = = El subíndice cam para las coordenadas (X,Y,Z) indican que el punto M viene expresado en el sistema de referencia de la cámara. En general, las coordenadas para objetos de la escena vendrán dadas para un sistema de referencia global o particular para un objeto. Además se nota que el centro C del sistema de coordenadas de la cámara, centro de proyección, no se conoce a priori. Si se consideran las coordenadas (X,Y,Z)w de un punto M de la escena para un cierto sistema de referencia externo, dichas coordenadas se tienen que expresar en el sistema de coordenadas de la cámara para así poder aplicar las ecuaciones de proyección del modelo pinhole. La transformación entre ambos sistemas de coordenadas viene expresada como una 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 un punto 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ón 2.2-10 Wcam Z Y X r r r r r r r r r Z Y X                         =             10001 33 23 13 32 22 12 31 21 11 (2.2-10) La notación habitualmente empleada para expresar las ecuaciones de proyección P de un punto M (X,Y,Z)w sobre el plano imagen en el píxel de coordenadas m (u,v) se describen en la ecuación 2.2-11. PMm → (2.2-11) Donde la matriz P puede ser descrita por la ecuación 2.2-12:                                     = 1000 0 0 0 100 0 0 33 23 13 32 22 12 31 21 11 0 0 z y x y x t t t r r r r r r r r r vf uf P (2.2-12)
  • 23. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 18 La 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 espesor de los mismos se considera despreciable y se puede decir que todos los haces de rayos que lo atraviesan lo hacen siempre por el mismo centro de proyección. En el caso, de trabajar con lentes donde el espesor no es despreciable, lentes gruesos, este modelo no tiene en cuenta que la transformación entre los puntos del espacio y sus puntos correspondientes en el plano imagen vienen dados por dos planos principales diferentes. Por tanto, el parámetro f representa la distancia del sistema de referencia de la cámara al plano imagen la cual no es, en general, equivalente a la distancia focal efectiva del sistema óptico, cuyo valor es una propiedad 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 de objetos en una escena sobre el plano imagen al aplicar directamente la proyección perspectiva. 2.2.4 Corrección de la Distorsión Cuando se trata de realizar mediciones a través de una cámara como en este proyecto, el modelo pinhole debe ser corregido con la ayuda de otros parámetros que modelan una distorsión para lograr medidas de buena precisión. Es decir, además de considerar la proyección perspectiva ideal dada por el modelo pinhole, hay que compensar los efectos reales que no se tienen en cuenta. La distorsión introducida por los lentes se añade a las coordenadas 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 el impacto ideal dado por el modelo pinhole (modelo de proyección de perspectiva) y la posición real que ocupa cada píxel en la imagen. En [10] el autor describe la calibración de una cámara con zoom y movimiento pan-tilt. Existen diferentes tipos de distorsión que vienen a modelar y corregir fenómenos y aberraciones ópticas de distinto origen. En la calibración, se suelen considerar únicamente dos tipos: distorsión radial y tangencial. La distorsión denominada radial se observa de forma cada vez más apreciable al considerar píxeles más alejados del punto principal. Para cámaras de gran angular donde la distancia focal es muy corta, se interpola un polinomio de aproximación para corregir dicha posición con un grado de hasta quinto orden, que son descritas por las ecuaciones 2.2-13 y 2.2-14. 2 0 2 02         − +      − = yx f vv f uu r (2.2-13) Distancia radial = 10 5 8 4 6 3 4 2 2 1 rarararara ++++ (2.2-14)
  • 24. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 19 En cámaras de distancia focal muy corta es recomendable hacer uso de los cinco parámetros ai, para cámaras con distancia focal intermedia el número de parámetros de corrección de la distorsión es menor. En la Figura 2.2-5 se muestran los efectos de la distorsión radial en una imagen. Por otra parte, para corregir la no perpendicularidad entre el eje óptico del lente fijo y el plano imagen se introduce un término de distorsión tangencial. Dicha distorsión expresada por un polinomio de segundo orden y es modelada por los dos parámetros p1 y p2, siendo diferentes las expresiones para las coordenadas u y v, como se describen en las ecuaciones 2.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. 2 0       − = xf uu u (2.2-15) 2 0         − = yf vv v (2.2-16) 222 vur += (2.2-17) uvpurpuTangencialDist 2 22 1 2)2(__ ++= (2.2-18) uvpvrpvTangencialDist 1 22 2 2)2(__ ++= (2.2-19) Estos modelos de distorsión cubren una extensa variedad de distorsiones, siendo capaz de modelar sin error cualquier fenómeno típico de distorsión de los lentes actuales de distancia focal fija. En el proceso de calibración de la cámara y posterior utilización del mismo en las coordenadas ideales del modelo pinhole, se les añade los términos de distorsión radial y tangencial correspondientes, como se describen en las Ecuaciones 2.2-20 y 2.2-21. udistradDistuu Zcam Xcam fuu x _tan__*)( 00 +−+=− (2.2-20) vdistradDistvv Zcam Ycam fvv y _tan__*)( 00 +−+=− (2.2-21)
  • 25. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 20 Figura 2.2-5. Efectos de distorsión radial. 2.2.5 Iluminación de la imagen La iluminación es una componente muy importante en un sistema de visión por computador, ya que permite al sistema de captura de la imagen registrar de forma más eficiente las características del objeto en análisis. La iluminación se define como el flujo luminoso por unidad de superficie (Lúmenes/metro cuadrado) y está dada por la ecuación 2.2-22, su unidad de medida es el LUX. 0ds d E φ = (2.2-22) Si el tipo de iluminación es de una fuente puntual, su intensidad luminosa estará definida por la potencia luminosa de la fuente en esa dirección por unidad de ángulo solido y es medido en Lúmenes sobre Estereorradián y su unidad es la Candela. Se define por la ecuación 2.2-23. Ω = d d I φ (2.2-23) La iluminación E y la intensidad luminosa I se relacionan por medio de la ley inversa de los cuadrados y es descrita por la ecuación 2.2-24. 2 d I E = (2.2-24) Donde d2 es la distancia entre la fuente de iluminación y el objeto iluminado. En la figura 2.2-6 se observa esta relación.
  • 26. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 21 Figura 2.2-6. Ley de los cuadrados Para relacionar la iluminación con el ángulo formado por la dirección del rayo incidente y la perpendicular a la superficie se hace uso de la ley del coseno que esta descrita por la ecuación 2.2-25 αcos2 d I E = (2.2-25) A continuación se analiza la ley del coseno para los tipos de iluminación observados en la figura 2.2-7. 1. Iluminación normal 2. Iluminación horizontal 3. Iluminación vertical Figura 2.2-7. Tipos de iluminación
  • 27. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 22 1. Iluminación normal: En este caso el ángulo de inclinación es de 900 y la iluminación la describe la ecuación (2.2-24) 2. Iluminación horizontal: En este caso la podemos relacionar en función de la altura del elemento de iluminación h y se describe por la ecuación 2.2-26 α3 2 cos h I E = (2.2-26) 3. Iluminación vertical: En este caso, entre los ángulos α y β existe una relación sencilla, ya que ambos pertenecen a un triángulo rectángulo, por los tanto α + β + 90=180 y aplicando relaciones trigonométricas podemos llegar a la ecuación 2.2-27. αsen d I E 2 = (2.2-27) Mayor información sobre luminotecnia puede ser consultada en [11] 2.3 Técnicas para el Procesamiento Digital de Imágenes Cuando una imagen es capturada por el sistema de adquisición de imágenes, se deben aplicar una serie de algoritmos que permitan mejorar la imagen capturada y realzar las características importantes del objeto en análisis. Actualmente existe muchas técnicas que permiten el procesamiento digital de una imagen, pero según la aplicación se deben escoger té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 la imagen, para poder realizar la medida correcta de dicha lámina. En este orden de ideas se deben estudiar las técnicas de procesamiento de la imagen que permitan el mejoramiento y la segmentación de la imagen, por lo tanto se abordarán los temas de mejoramiento y segmentación de las imágenes. 2.3.1 Mejoramiento de la Imagen Las técnicas de mejoramiento de la imagen tienen como objetivo principal procesar la imagen capturada y modificarla de tal forma que la imagen resultante muestre las características que deseamos analizar. Las técnicas de mejoramiento de la imagen se usan según el tipo de aplicación o problema a resolver, por lo tanto se analizaran las técnicas más competentes para este proyecto. Las técnicas a analizar son:
  • 28. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 23 1. Operaciones morfológicas 2. Filtrado en el dominio espacial 2.3.1.1 Operaciones Morfológicas Las operaciones morfológicas aplicadas a imágenes, sirven para extraer sus componentes principales como su contorno, el esqueleto, cerco convexo entre otras. Estas técnicas morfológicas también son usadas en el pre-procesamiento de la imagen mediante el uso de filtros morfológicos. En [1] en el numera 8.4 y en [12] se hace mayor análisis sobre este tema. A continuación se describirán las siguientes técnicas: 1. Dilatación 2. Erosión 3. Apertura y cierre 4. Transformaciónes top hat y bottom hat 1. Dilatación Esta técnica consiste en adicionar píxeles al contorno de los objetos presentes en la imagen y se define para imágenes en escala de grises como: La dilatación de escala de grises de f por 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 de desplazamiento (s – x) y (f – y) tienen que estar contenidos en el dominio de f. La dilatación de una imagen puede ser observada en la figura 2.3-1. a) b) Figura 2.3-1. Proceso de dilatación de una imagen a) Imagen original. b) Imagen dilatada
  • 29. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 24 2. Erosión Esta 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ámetros de desplazamiento ( s + x ) y ( f + y ) tienen que estar contenidos en el dominio de f. La erosió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 imagen a) Imagen original. b) Imagen erosionada 3. Apertura y Cierre La apertura y el cierre de una imagen son operaciones que resultan de la combinación de la dilatación y la erosión, por lo tanto, la apertura es una erosión seguida de una dilatación y se 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, eliminar pequeñas protuberancias y romper conexiones débiles. La apertura de una imagen se muestra en la figura 2.3-3
  • 30. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 25 a) b) Figura 2.3-3. Proceso de apertura de una imagen a) Imagen original. b) Imagen con apertura De forma similar se define que el cierre es una dilatación seguida de una erosión y se describe 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 en la figura 2.3-4. a) b) Figura 2.3-4. Proceso de cerradura de una imagen Imagen original. b) Imagen con cerradura 4. Transformación Top Hat y Bottom Hat La transformación top hat sustrae a la imagen, la apertura de la imagen. Es útil para resaltar objetos de color contrario al fondo o extraer detalles brillantes en presencia de sombras. Se define por la ecuación 2.3-5.
  • 31. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 26 )( bffh o−= (2.3-5) En la figura 2.3-5 se observa esta transformación a) b) Figura 2.3-5. Transformación top hat en una imagen Imagen original. b) Imagen con transformación La transformación bottom hat sustrae a la imagen la cerradura de la imagen, es útil para capturar detalles oscuros en zonas iluminadas. Se define por la ecuación 2.3-6 fbfh −•= )( (2.3-6) En la figura 2.3-6 se observa esta transformación a) b) Figura 2.3-6. Transformación bottom hat en una imagen Imagen original. b) Imagen con transformación
  • 32. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 27 2.3.1.2 Filtrado en el Dominio Espacial Los filtros en el procesamiento de digital de imágenes son usados para atenuar el ruido en los píxeles de la imagen o resaltar las características que deseamos analizar o estudiar, los filtros se pueden diseñar en el dominio espacial o en el dominio frecuencial. En este proyecto 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 tal como lo describe la ecuación 2.3-7, donde el píxel p en la posición (i,j) es el resultado de la convolución, mxn en el tamaño de la máscara usada y los elementos wk son los componentes de la máscara y los zk son los píxeles que intervienen en la operación. ∑= = mxn k kk zwjiP 1 ),( (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ás a fondo este tema Figura 2.3-7. Operación de convolución sobre una imagen Entre los filtros más importantes tenemos: 1. Filtrado espacial paso bajo 2. Filtrado por la mediana 3. Filtrado espacial paso alto 4. Filtrado high boost 5. Filtros diferenciales
  • 33. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 28 1. Filtrado Espacial Paso Bajo Según la respuesta de impulso para un filtro espacial paso bajo, es necesario que los coeficientes de la máscara del filtro sean positivos. Este filtro tiene especial aplicación para el suavizado o difuminado de una imagen. Un ejemplo de una máscara que puede ser usada por esta imagen se muestra en la figura 2.3-8. Este filtro puede describirse por la ecuación 2.3-8.           = 111 111 111 9 1 xh Figura 2.3-8. Máscara de convolución para un filtro paso bajo ∑= = M i i yxg M yxg 1 ),( 1 ),( (2.3-8) La operación sobre una imagen de este filtro puede observarse en la figura 2.3-9 a) b) Figura 2.3-9. Filtrado paso bajo a) Imagen Original. b) Imagen filtrada por mascara de 35x35 2. Filtrado por la Mediana El filtro mediana es un filtro no lineal, su operación consiste tomar los valores del píxel a filtrar y de su entorno, ordenarlos y posteriormente calcular el valor de la mediana. El
  • 34. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 29 filtrado por la mediana tiene especial aplicación cuando el objetivo es la disminución del ruido producido por componentes puntuales fuertes similares al ruido sal y pimienta, pero preservando los bordes de la imagen. Este filtro aplicado a una máscara de 3x3 se puede definir 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( ),( jifjifjif jifjifjif jifjifjif medianajip (2.3-9) a) b) Figura 2.3-10. Filtro mediana a) Imagen Original. b) Imagen filtrada por máscara de 3x3 3. Filtrado Espacial Paso Alto La respuesta impulso necesaria para este filtro implica que el filtro debe tener coeficientes negativos en la periferia de la máscara y en el centro valores positivos. Generalmente son llamados filtros de realce, su principal aplicación está en la detección de los cambios bruscos o desniveles de intensidad en la imagen, como es el caso de los bordes de una imagen. 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ón 2.3-8           −−− −− −−− = 111 181 111 9 1 xh Figura 2.3-11. Máscara de convolución para un filtro paso alto
  • 35. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 30 La operación sobre una imagen puede observarse en la figura 2.3-12 a) b) Figura 2.3-12. Filtrado paso alto a) Imagen Original. b) Imagen filtrada por mascara de 3x3 4. Filtrado High Boost El filtro high boost es un caso especial del filtro paso alto donde el valor central de la máscara esta dado por un valor w. Este valor w esta dado por un factor de amplificación A de la imagen original, si A es mayor que 1, da como resultado la imagen original con bordes mas definidos, si A es igual a 1, el resultado es un filtro pasa alto normal. Se define por la ecuació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.           −−− −− −−− = 111 11 111 9 1 wxh Figura 2.3-13. Máscara de convolución para un filtro high boost Donde w es igual a 9A-1, con A ≥ 1.
  • 36. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 31 a) b) Figura 2.3-14. Filtrado high boost a) Imagen Original. b) Imagen filtrada con A = 1.7 5. Filtros Diferenciales Los filtros diferenciales tienen como característica principal que aumentan la nitidez de la imagen, 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 bordes que tiene una imagen. Estos cambios bruscos son los píxeles alrededor de la imagen que presentan variaciones rápidas en sus niveles de gris o de intensidad. El operador gradiente en una imagen f (x,y) sobre un punto (x,y) se define como un vector bidimensional y esta dado por la ecuación 2.3-10 y su módulo por la ecuación 2.3-11.             ∂ ∂ ∂ ∂ =∇ y f x f f (2.3-10) 22 22 )(       ∂ ∂ +      ∂ ∂ =+=∇ y f x f GGfmag yx (2.3-11) Este operador gradiente puede implementarse usando máscaras de 2x2 o 3x3, como se observa en la figura 2.3-15, donde se muestran sus diferentes formas. Una aplicación en la detección de discontinuidades puede ser consultada en [13].
  • 37. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 32       −10 01       − 01 10 a)           −−− 111 000 111           − − − 101 101 101 b)           −−− 121 000 121           − − − 101 202 101 c) Figura 2.3-15. Operadores de gradiente a) Operador Roberts. b) Operador Prewitt. c) Operador Sobel 2.3.2 Segmentación de imágenes La segmentación tiene como objetivo extraer información de una imagen, dividiéndola en sus partes importantes u objetos. La segmentación se logra cuando los objetos de interés son separados de la imagen, para este proyecto en especial, cuando se logra separar la lámina del cuero del resto de la imagen. Información más profunda sobre segmentación puede ser consultada en [1] en el capítulo 7. La segmentación de imágenes monocromáticas generalmente se basan en dos propiedades básicas de los niveles de gris: La discontinuidad y la similaridad. En los métodos basados en discontinuidad se divide la imagen basándose en los cambios bruscos de los niveles de gris, entre las técnicas mas comunes de la discontinuidad tenemos el operador gradiente que fue descrito en el numeral anterior y el operador Laplaciano. Los métodos basados en similaridad buscan construir objetos basándose en las regiones que forma la imagen. Su función es encontrar píxeles vecinos que tengan una propiedad en común. Una de las técnicas más conocidas de este método es la umbralización.
  • 38. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 33 2.3.2.1 Operador Laplaciano El operador Laplaciano es un operador de segunda derivada y tiene como objetivo principal descubrir transiciones de intensidad en la imagen. El operador Laplaciano, al derivar dos veces 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 para detectar con precisión la ubicación de los bordes de objetos o finales de imágenes de pieza o materia prima en procesos industriales, pero es muy susceptible al ruido de píxeles que se mezcla con el objeto a analizar en la imagen. Este operador se usa generalmente con otros métodos para lograr la detección óptima de los bordes ya que el operador por si solo genera imágenes de polaridad. (+ Positivo al entrar al borde, - negativo al salir del borde, 0 en el borde y demás partes de la imagen). Este operador esta descrito por la ecuación 2.3-12 )(4)1,()1,(),1(),1(2 2 2 2 2 xfyxfyxfyxfyxf y f x f f −−+++−++= ∂ ∂ + ∂ ∂ =∇ (2.3-12) Una máscara que puede describir este operador es observada en la figura 2.3-16           − −− − = 010 141 010 h Figura 2.3-16. Operador Laplaciano La aplicación de este operador sobre una imagen puede observarse en la figura 2.3-17 a) b) Figura 2.3-17. Operación del operador Laplaciano a) Imagen Original. b) Imagen con aplicación del operador Laplaciano
  • 39. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 34 2.3.2.2 Umbralización La umbralización es una técnica de segmentación ampliamente utilizada en aplicaciones industriales, donde existe una clara diferencia entre el objeto a extraer y el fondo de la imagen. Cuando se aplica un umbral T a una imagen, ésta quedará binaria, etiquetando con 0 los píxeles que pertenecen al objeto y con 1 a los que pertenecen al fondo tal como se observa en las Figura 2.3-18. a) b) Figura 2.3-18. Umbralización de una imagen a) Imagen Original. b) Imagen umbralizada Los 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 un buen contraste entre el objeto y el fondo. Con los métodos automáticos se busca obtener mayor robustez y se usan para ambientes en donde el ruido y la iluminación pueden no ser siempre uniformes. En [14] los autores hacen una evaluación entre los diferentes métodos de umbralización y los 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. Ejemplos de estos métodos son:
  • 40. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 35 a. Umbralización basado en la concavidad del histograma: Este método se basa en el análisis de los puntos de concavidad de la envolvente convexa de la función de masa de probabilidad de la imagen. Los puntos más profundos en la concavidad convexa, son candidatos potenciales para el umbral. La selección del umbral óptimo T, entre los puntos candidatos 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 envolvente convexa de la función de masa de probabilidad de la imagen . Una aplicación moderna de esta 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 de los picos del histograma suavizado. Se genera una señal detectora de picos r(g) por medio de la convolución del histograma con el kernel de detección de picos, el cual es completamente caracterizado por el parámetro N de suavizado, que se ajusta automá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 promedien en grupos de 3 valores consecutivos, hasta terminar con todos los datos, y se encuentren los dos valores máximos. Para estos dos valores máximos se calculan sus posiciones j y k, y el valor de umbral esta descrito por la ecuación 2.3-16, donde gmax y gmin son los picos máximos y mínimos del histograma y gmid es el punto medio del histograma ∑= −= * min )()( minmax midg gg opt gpggT (2.3-16) Para que este método funcione adecuadamente, el histograma no debe tener picos muy variables, 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 un método basado en una función de dos niveles y de forma iterativa se minimiza la varianza entre estas funciones.
  • 41. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 36 2. 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 dos distribuciones gausianas. Ejemplos de estos tenemos: a. Umbralización ISODATA: (Iterative Self Organizing Data Analysis TEchiniques) procesa los patrones repetidamente y en cada iteración se asignan al grupo más cercano una serie de heurísticas con el objetivo de: eliminar agrupamientos poco numerosos, mezclar agrupamientos cercanos y dividir agrupamientos dispersos. Este algoritmo se caracteriza por usar la información directamente de la imagen. Este método es propuesto por [21]. A continuació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 µ2 4. Asigne un nuevo umbral para T usando la ecuación 2.3-17 2 )( 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 trabaja con imágenes del mundo real, donde la presencia de ruido y la mala iluminación son características comunes de estos ambientes. Este método usa una imagen, la cual es una funció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úmero de píxeles con nivel de gris i, y la probabilidad de ocurrencia de este nivel se denominan fi tal como se describe en la ecuación 2.3-18. Este método es propuesto por [22] y se describe a continuación. N f iP i =)( (2.3-18) Cuando la umbralización se realiza en dos niveles o binarización, los píxeles se dividen en 2 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 ∑= = t i iPiq 1 1 )()( (2.3-19) ∑+= = k ti iPiq 1 2 )()( (2.3-20)
  • 42. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 37 La media de las clases q1(i) y q2(i) están descritos por las Ecuaciones 2.3-21 y 2.3-22 ∑= = t i iq iiP t 1 1 1 )( )( )(µ (2.3-21) ∑+= = k ti iq iiP t 1 2 2 )( )( )(µ (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 )( )( )]([)( 11 2 1 2 1 tq iP tit t i ∑= −= µσ (2.3-23) )( )( )]([)( 21 2 2 2 2 tq iP tit I ti ∑+= −= µσ (2.3-24) )()()()()( 2 22 2 11 2 ttqttqtw σσσ += (2.3-25) En este caso, mediante la minimización de la ecuación 2.3-25 se obtiene el umbral de OTSU. 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 el del mínimo error propuesto por [24], y la umbralización por agrupamientos difusos propuesto 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. Su criterio se basa en encontrar un umbral óptimo que maximice la entropía entre el fondo y el objeto en la imagen, y otros autores minimizan la entropía cruzada como un indicador de preservació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 la imagen en dos distribuciones de probabilidad, una que represente el objeto y otra que represente el fondo. Se selecciona un valor t, tal que la suma de las entropías de estas distribuciones de probabilidad sea máxima. Implementaciones de esta umbralización puede ser consultada en [26,27]. En este caso, se considera una función de probabilidad de distribución no lineal descrita por la ecuación 2.3-26
  • 43. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 38 NXN m NxN m e e Nmfpd 9 9 1 1 ),( − − − + = (2.3-26) Donde N es un número par positivo y m pertenece a un valor entero entre {1,2…NxN}. La entropía asociada con el objeto y el fondo están descritas por las Ecuaciones 2.3-27 y 2.3- 28 ),( )( ),( ln )( ),( ),( 0 1 Nmfpd tp mkp tp mkp NtH t K A NxN m A A ∑ ∑= = −= (2.3-27) ),( )( ),( ln )( ),( ),( 255 1 1 Nmfpd tp mkp tp mkp NtH tK B NxN m B B ∑ ∑+= = −= (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 un algoritmo que considera que el umbral de separación es la minimización de la distancia teórica de la información. La distancia está descrita por la ecuación 2.3-31 y es llamada la distancia. Kullback-Leibler. Esta distancia es la medida entre las dos distribuciones del objeto 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. ∑ ∑= += += T g G Tg opt T g T gT 0 1 bf ] )(m g logp(g) )(m g logp(g)min[arg (2.3-32) Considerando la restricción que la imagen original y la imagen umbralizada tienen el mismo promedio de intensidad en el objeto y el fondo. La ecuación 2.3-33 describe la anterior consideración. ∑ ∑∑ ∑ ≥ ≥≤ ≤ == Tg Tg b Tg Tg f TmgTmg )(;)( (2.3-33)
  • 44. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 39 c. Umbralización basada en la maximización de la entropía por medio de coeficientes de pertenencia difusa. Este método propuesto en [29], es un método de umbralización que se basa en un coeficiente de pertenencia difusa, el cual es un valor en escala de grises que separa el fondo del objeto en una imagen. Este valor es calculado en base a la función de probabilidad acumulada. El valor de pertenencia difuso está dado por la ecuación 2.3-34, el cual indica el grado de pertenencia al fondo de la imagen. )(2 )()1(...)( 5.0)( TP iTpiTpTp iTf −+−−++ +=−µ (2.3-34) La ecuación 2.3-35 indica el grado de pertenencia del objeto en la imagen. ))(-(12 )()1(...)1( 5.0)( TP iTpiTpTp iTb +++−+++ +=+µ (2.3-35) El valor de umbral de separación debe tener la máxima incertidumbre como se describe en la ecuación 2.3-36 5.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 ∑= −= T g ff g TP gp TH µ (2.3-38) ))(log( )(1 )( )( 1 ∑+= − −= G Tg bb g TP gp TH µ (2.3-39) Una comparación de los métodos basados en la entropía pueden ser consultados en [30] y una aplicación de los métodos de cross-entropia puede ser consultado en [31]. 4. Métodos Basados en los Atributos de la Imagen. Estos métodos utilizan características de la imagen como formas, texturas, niveles de gris, conectividad, etc. Su criterio se basa en encontrar un valor de umbral según el atributo
  • 45. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 40 seleccionado que corresponda a una medida de similitud entre la imagen original y la imagen binarizada. Ejemplos de estos métodos tenemos: a. Umbralización Basado en el Cálculo de Preservación de Momentos: En [32] el autor propone un algoritmo de umbralización que considera que una imagen en escala de grises es una versión borrosa de una imagen binaria ideal, por lo tanto se establece que los tres primeros momentos de una imagen en escala de grises coincidan con los tres primeros momentos de una imagen binaria. Los momentos de una imagen binaria bk y de una imagen en escala de grises mk, están descritos por las Ecuaciones 2.3-40 y 2.3-41 ∑= = G g k k ggpm 0 )( (2.3-40) k bb k ffk 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ía de conjuntos difusos para umbralizar imágenes. Considerando el índice difuso que se obtiene calculando la distancia entre el nivel de gris y el nivel binario. El conjunto de la imagen 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 difusa perteneciente al objeto al fondo respectivamente. La medida difusa puede estar dada por las medianas del objeto mf(T) y del fondo mb(T). TjiI C TmjiI TjiI f f ≤ − + = ),(si )(),( 1 1 )),,((µ (2.3-45) TjiI C TmjiI TjiI b b ≥ − + = ),(si )(),( 1 1 )),,((µ (2.3-46)
  • 46. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 41 Donde C es un valor constante que cumple la condición descrita por la ecuación 2.3-47 1),((5.0 ≤≤ jiIFµ (2.3-47) Por ejemplo, C puede tomar un valor como gmax – gmin o simplemente llamarlo G. Teniendo en cuenta el valor de pertenencia difuso de cada píxel, se puede obtener un índice difuso de toda la imagen mediante la entropía de Shannon o la medida de Yager. La entropía de Shannon 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 la ecuación 2.3-48 )]()).,(1log()),(1()),((log),( 2log 1 min[arg 0 2 gpTgTgTgTg N T fff G g fopt µµµµ −−+−= ∑ = (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 de binarizar la imagen mientras se establece el tamaño correcto de los tamaños de los objetos sobre el primer plano. En [35] el autor expone un método que considera que el umbral es el cambio en la incertidumbre de una observación cuando se clasifica el fondo de la imagen con el objeto a separar. En ausencia de cualquier observación la entropía de la escena es medida por )1log()1(log)( αααα −−−−=XH , donde α es la probabilidad que un píxel permanezca al primer plano (objeto), mientras α−1 es la probabilidad que pertenezca al segundo 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 su contexto, probabilidades de coocurrencia, funciones de correlación, modelos de dependencia lineal local, entropía bi-dimensional entre otros. Ejemplos de estos métodos tenemos: a. Umbralización basada la probabilidad de coocurrencia: En [36] el autor lo propone para dos 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 imagen como 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 ∑= agen mkc Im , δ (2.3-49) Se propone establecer el umbral de tal manera que las probabilidades de coocurrencia de la imagen original y la imagen binarizada sean mínimamente divergentes. Como medida de
  • 47. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 42 similitud se usa divergencia dirigida o la distancia Kullback-Leibler . Se plantea una matriz de coocurrencia para cuatro cuadrantes, donde el primer cuadrante se define como las transiciones que tiene el fondo con el fondo, el segundo cuadrante se define como las transiciones que tiene el fondo con el objeto, el tercer cuadrante se define como las transiciones que tiene el objeto con el fondo y el cuarto cuadrante se define como las transiciones que tiene el objeto con el objeto. La figura 2.3-19 muestra la matriz de coocurrencia. Figura 2.3-19. Matriz de coocurrencia Usando las probabilidades de coocurrencia, que sería el resultado de las transiciones del fondo 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. ∑∑= = = T i T j ijbb pTP 0 0 )( (2.3-50) ∑ ∑= += = T i G Tj ijbf pTP 0 1 )( (2.3-51) ∑ ∑+= += = G Ti G Tj ijff pTP 1 1 )( (2.3-52) ∑∑+= = = G Ti T j ijfb pTP 1 0 )( (2.3-53) Las cantidades, que son la métrica se definen como Qbb(T), Qbf(T), Qff(T), Qfd(T) son usadas para calcular el umbral óptimo según la ecuación 2.3-54
  • 48. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 43 (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 de grises con un umbral de valor T y una función de distancia esperada. La idea subyacente de este método es que cada imagen en escala de grises da lugar a una distribución en un conjunto aleatorio. En el contexto de la umbralización, cada valor de umbral genera un conjunto de objetos binarios con diferentes propiedades de distancia. Así la función de distancia esperada ubica el píxel (i,j), a una distancia ),( jid la cual es obtenida del promedio del mapa de distancias );,( TFjid , para todos los valores de umbral entre 0 y G, o alternativamente con los pesos que corresponden al valor del histograma. Donde FT describe 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] el autor propone un método que combina la entropía difusa y el histograma bi-dimensional de los 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 una función S dada por Kaufmann. Un píxel xi es asignado según la reglas difusas )( iA xµ que a su vez caracterizan tres parámetros llamados (a,b,c), para obtener la mejores reglas difusas se usa la ecuación 2.3-56 de entropía difusa ),(log),(),()( , yxpyxpyxAH yx Afuzzy ∑−= µ (2.3-56) Donde A son los eventos del fondo o el objeto en la imagen, y el umbral óptimo se define por la ecuación 2.3-57 { })()(max ,, FondoHObjetoHT fuzzyfuzzy cba opt += (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 de la imagen, tal como rango, varianza, parámetros de superficie, etc. Ejemplos de estos métodos tenemos: a. Umbralización por la varianza local: Este método propuesto en [39] adapta el umbral según a la media local m(i,j) y la desviación estándar σ(i,j) y calcula una ventana de bxb píxeles. Se puede representar por la ecuación 2.3-58
  • 49. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 44 433x3 Tj)VarI(i,orT),(Aveif1),( ><= jiIjiB (2.3-58) b. Umbralización basada en el contraste local: Este método propuesto por [40] compara el nivel de gris de un píxel, con el promedio de niveles de gris de sus vecinos. El umbral se toma como el valor medio en el rango de valores de los vecinos. Puede representarse por la ecuación 2.3-59 OtroCaso biasjiIjiif jiB w ∗<    = ),(),( 0 1 ),( µ (2.3-59) c. Umbralización por ajuste de superficie: Este método propuesto por [41] se basa en la combinación de la detección de bordes y la información del nivel de gris para construir un umbral de la superficie. Se calcula la magnitud del gradiente de la superficie y es adelgazado para obtener los máximos gradientes locales. El umbral de superficie es obtenido 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-60 4/),(),(),( 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 de Imágenes En esta sección se realiza una recopilación de diversas arquitecturas hardware para el procesamiento digital de imágenes. Se inicia con arquitecturas propuestas para la captura de la imagen desde el sensor, que pretenden mejorar características como la fidelidad de la imagen y su velocidad de captura. Se muestra una arquitectura que permite corregir las distorsiones generadas por el lente de la cámara de forma automática. También se presentan varias arquitecturas para filtros como la mediana y el gausiano que pretenden mejorar la imagen capturada, y finalmente se presenta dos arquitecturas que buscan la umbralización de una imagen de forma automática. 2.4.1 Arquitecturas Hardware para la Captura de Imágenes En la figura 2.4-1 se muestra la arquitectura interna del dispositivo LM9630 [42], con capacidad para capturar imágenes monocromáticas de sensores CMOS de 100x128 con una velocidad de captura de 580 fps
  • 50. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 45 Figura 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 procesamiento en tiempo real de imágenes propuesto por [43], donde el autor propone una arquitectura para la captura de una imagen por medio de un sensor CMOS con una resolución de 1280 x 1024 píxeles, y permite enviar la imagen a un PC de forma paralela, además permite realizar convoluciones con mascaras de nxn Figura 2.4-2. Arquitectura basada en un FPGA para el procesamiento en tiempo real de imágenes propuesto por [43]
  • 51. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 46 La figura 2.4-3 muestra una arquitectura para la captura de imágenes de alta velocidad para sensores CMOS propuesta por [44], con una resolución de 1280x1024, donde proponen una velocidad de captura de 500 fps mediante convertidores ADC de 10 bits Figura 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 captura de una imagen, esta arquitectura permite capturar imágenes a una velocidad de 10.000 fps. Esta arquitectura se observa en la figura 2.4-4 a)
  • 52. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 47 b) 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íxel 2.4.2 Arquitecturas Hardware para la Corrección de Distorsiones en la Captura de una Imagen En la figura 2.4-5 se muestra una arquitectura propuesta por [45], donde el autor propone la corrección de la imagen capturada por un sistema estereoscópico mediante el uso de un FPGA, esta arquitectura tiene como componente principal un bloque llamado LDRU (Lens Distortion 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 de corregir una imagen capturada a una velocidad de 35 fps y de tamaño de 1024x1024 píxeles. Figura 2.4-5. Arquitectura basada en un FPGA para la corrección de las distorsiones que generan los lentes en una imagen propuesta por [45]
  • 53. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 48 En la figura 2.4-6 se muestra una arquitectura propuesta en [46], para la corrección geométrica generada por un lente en una imagen. La implementación de los cálculos matemáticos son realizados a través del algoritmo CORDIC de forma paralela en pipeline mostrado en la figura 2.3-6a, y la implementación de la arquitectura para la corrección radial en pipeline se muestra en la figura 2.3-6b a) b) Figura 2.4-6. Arquitectura basada en un FPGA para la corrección de las distorsiones que generan los lentes en una imagen propuesta por [46] a) Arquitectura CORDIC b) Arquitectura para la corrección radial 2.4.3 Arquitecturas Hardware para la Mejora y el Realce de una Imagen Uno de los cálculos más usados en el procesamiento digital de imágenes, es el cálculo del histograma y en [47], los autores proponen una arquitectura en hardware para el cálculo del histograma 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 los datos almacenados. La PCH (Parallel Histogram Computation) Usa una memoria de dos puertos, y se desarrolla en dos etapas, primero se almacenan en dos arreglos los píxeles de las posiciones pares e impares respectivamente y de forma simultánea. En la segunda etapa se actualiza el incremento del histograma.
  • 54. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 49 a) 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 memoria de dos puertos En la figura 2.4-8 se muestra la implementación de un filtro FIR bi-dimensional propuesto por [48]. La idea principal de este filtro es rotar la ventana formada por los vecinos de cada píxel que se procesa a determinado ángulo, y realizar el filtrado sobre la ventana de la imagen rotada con un banco de filtros FIR fijo.
  • 55. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 50 Figura 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 observa en la figura 2.4-9a y calcula la dirección y la magnitud del gradiente como se observa en la figura 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 gradiente En [50] los autores diseñan un filtro mediana para sistemas de inspeccion industrial en tiempo real. El filtro mediana tiene la característica de ser un filtro no lineal y que su algoritmo de implementación consiste en organizar un conjunto de datos y seleccionar la posición media de este conjunto. Los autores proponen una arquitectura que reduce el tiempo de cálculo de este filtro, mediante la reducción de los bloques comparadores que requiere un filtro mediana clásico. La implementación de este filtro mediana es mostrada por la figura 2.4-10.
  • 56. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 51 a) 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 mediana Otra 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 multiplexor implementados mediante transistores pmos y nmos. a) b)
  • 57. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 52 c) Figura 2.4-11. Arquitectura de un comparador basada en transistores pmos y nmos [51] a) Full-adder. b) Multiplexor. c) Comparador Para la detección y realce de bordes en [52] los autores proponen un detector de bordes sobel , usando un filtro digital de aritmética distribuida con el objetivo de realzar bordes de imá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 mostrada en la figura 2.4-13. Esta arquitectura tiene como objetivo de realizar las operaciones básicas de la matemática morfológica, para aplicarla como acelerador de hardware, en operaciones de filtrado, segmentación y etiquetado de imágenes.
  • 58. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 53 Figura 2.4-13. Arquitectura para la realización de las operaciones de dilatación y erosion en imágenes implementada en [53] 2.4.4 Arquitecturas Hardware para la Segmentación y la Umbralización de una Imagen Una arquitectura para la umbralización basada en el algoritmo ISODATA es mostrada en la figura 2.4-14. Esta implementación realizada por [54] diseña un datapath paralelizado y en pipeline lo que aumenta la velocidad de cálculo del umbral. Figura 2.4-14. Arquitectura para umbralización de una imagen mediante el algoritmo ISODATA implementada en [54] La figura 2.4-15 muestra una arquitectura para la segmentación de imágenes por el método de crecimiento de regiones. Esta arquitectura diseñada por [55] tiene como objetivo separar características de objetos en un video. La figura 2.4-15a muestra la arquitectura para la
  • 59. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 54 segmentación y la extracción de características, la figura 2.4-15b muestra el circuito de umbralización por crecimiento de regiones y la figura 2.4-15c muestra el circuito para la extracción de características. a) b) c) Figura 2.4-15. Arquitectura para la segmentación y extracción de características de un video implementada en [55] a) Arquitectura principal. b) Circuito de umbralización. c) Circuito de extracción de características En [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 la figura 2.4-16a muestra el circuito de segmentación del objeto y la figura 2.4-16b muestra el circuito de umbralización.
  • 60. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 55 a) b) Figura 2.4-16. Arquitectura para la umbralización por el método espacio temporal para video implementada en [56] a) Arquitectura principal. b) Circuito de umbralización.
  • 61. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 56 Bibliografí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 of Electrical Engineering. Stanford University, Stanford CA 94305. 2003 [3] Review of CMOS image sensors. M. Bigasa, E. Cabrujaa, J. Forestb, J. Salviba. Centre Nacional de Microelectronica, IMB-CNM (CSIC), Campus Universitat Autonoma de Barcelona, 08193 Bellaterra, Barcelona, Spain. Institut d’Informatica i Aplicacions Campus Montilivi, 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, Fairchild Imaging, Inc., 1801 McCarthy Boulevard, Milpitas, CA 95035. U.S. Army Night Vision and Electronic Sensors Directorate, 10221 Burbeck Rd., Fort Belvoir, VA 22060-5806. 2003 [5] Image splicing detection using camera response function consistency and automatic segmentation. 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 la candela j. c. molina, j. c. Bermúdez Centro Nacional de Metrología, km 4,5 Carretera a los Cués, El Marqués, Qro. México. 2006 [7] CMOS image sensors dynamic range and SNR enhancement via statistical signal processing. A dissertation submitted to the department of electrical engineering and the committee on graduate studies of stanford university in partial fulfillment of the requirements for the degree of doctor of philosophy Xinqiao Liu. June 2002 [8] CMOS Image Sensors for High Speed Applications. Munir El-Desouki,M. Jamal Deen,Qiyin Fang, Louis Liu, Frances Tse and David Armstrong. ISSN 1424-8220. Canada. 2009 [9] Visión por computador. Gonzalo Pajares, Jesus M. de la Cruz. 2002 [10] Calibración de una cámara con zoom y movimiento pan-tilt. Alfredo Gardel Vicente. Universidad de alcala, Escuela politécnica superior. Tesis de doctorado. Apéndice A. Calibracion de objetos con distancia focal fija. 2004
  • 62. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 57 [11] Luminotecnia. Principios fundamentales, Capitulo 6. México 2002 [12] An overview of morphological filtering. Jean Serra & Luc Vincent. Centre de Morphologie Mathematique. Ecole Nationale Superieure des Mines de Paris. Francia. 1992 [13] Detección de discontinuidades y mejora de contraste mediante el calculo de gradientes usando 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 performance evaluationMehmet SezginTubıtak Marmara Research Center Information Technologies Research InstituteGebze, Kocaeli. Turkey. E-mail: sezgin@btae.mam.gov.tr, Bulent Sankur Bogazic¸i University Electric-Electronic Engineering Department Bebek, I˙stanbul. Turkey. 2004 [15] An Adaptive Canny Edge Detector using Histogram Concavity Analysis. Jun Zeng, Dehua Li.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 ching Fan. 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. Pattern Analysis and Machine Intelligence, PAMI-9. 1997 [19] Automatic threshold selection using the wavelet transform, J.C. Olivo, Graphical Models and Image Processing. 1994. [20] Thresholding Based on Histogram Approximation, N. Ramesh, J.H. Yoo, I.K. Sethi, IEE Proc. Vis. Image, Signal Proc. 1995. [21] Ridler, TW & Calvard, S , "Picture thresholding using an iterative selection method", IEEE Transactions on Systems, Man and Cybernetics 8: 630-632. 1978 [22] A threshold selection method from gray-level histograms. N. Otsu. IEEE Transactions on Systems, Man, and Cybernetics. 1979. [23] T-tests, F-tests and Otsu’s Methods for Image Thresholding Jing-Hao Xue* and D. Michael Titterington. Jing-Hao Xue* and D. Michael Titterington. IEEE TRANSACTIONS ON IMAGE PROCESSING, 2010
  • 63. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 58 [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 picture thresholding using the entropy of the histogram,” Comput. Vision graphics Image Process., vol. 29, pp. 273-285. 1985 [27] Yang Xiao, Zhiguo Cao , Tianxu Zhang. “Entropic Thresholding Based on Gray-level Spatial 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, Abhijit G, Graph. Models Image Process. 1994 [30] Survey and comparative analysis of entropy and relative entropy thresholding techniques C.-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 Mating Optimization Ming-Huwi Horng, Member, IAENG, Ting-Wei Jiang and Jin-Yi Chen. Proceedings of the International MultiConference of Engineers and Computer Scientists 2009 [32] Moment-preserving thresholding: a new approach, W. Tsai, Computer Vision Graphics Image 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, Graphical Models and Image Processing, 1998. [36] A note on the use of gray level co-occurrence matrix in threshold selection, B. Chanda, D.D. Majumder, Signal Processing, 15 1988 [37] A new thresholding technique based on random sets, Pattern Recognition, N. Friel, I.S. Molchanov, 1999.
  • 64. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 59 [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, ICDAR'99: Int. Conf. On Document Analysis and Recognition, 1999 [42] National Semiconductor LM9630. 2002 [43] Architecture Based on FPGA’s for Real-Time Image Processing. Ignacio Bravo, Pedro Jimenez, 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 and data 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 vision sensor Emanuel Staudinger, Martin Humenberger and Wilfried Kubinger Austrian Research Centers GmbH – ARC Donau-City-Str. 1, 1220 Vienna, Austria. 2008 [46] FPGA-based Optical Distortion Correction for Imaging Systems. Lin Qiang Nigel M Allinson. Department of Electronic and Electrical Engineering, The University of Sheffield Mappin Street, Sheffield, , Reino Unido. 2006 [47] FPGA Implementation of Parallel Histogram Computation. Asadollah Shahbahrami1, Jae Young 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, Princeton University, Princeton. 2009 [49] A Parallel Hardware Architecture for Image Feature Detection Vanderlei Bonato, Eduardo Marques1, and George A. Constantinides. Institute of Mathematical and Computing Sciences. The University of Sao Paulo. Brasil. 2008. [50] An FPGA-based implementation for median filter meeting the real-time requirements of automated 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 Sorting Network Victor Jimenez-Fernandez, Denisse Martinez-Navarrete, Carlos Ventura-
  • 65. Fundamentos e Implementaciones Hardware para el Procesamiento Digital de Imágenes 60 Arizmendi, Zulma Hernandez-Paxtian, Joel Ramirez-Rodriguez, International journal of circuits, systems and signal processing . Mexico 2011. [52] Hardware implementation of sobel-edge detection distributed arithmetic digital filter. Sorawat CHIVAPREECHA and Kobchai DEJHAN. Faculty of Engineering and Research Center for Communication and Information Technology. 25th ACRS 2004. Thailand. 2004 [53] Image Processing Architectures for Binary Morphology and Labeling, Hugo Hedberg, The Department of Electrical and Information Technology, Lund University,LUND, SWEDEN. 2008 [54] A Parallelized and Pipelined Datapath to Implement ISODATA Algorithm for Rosette Scan Images on a Reconfigurable Hardware. Ehsan Rahimi, Shahriar B. Shokouhi, Ali Sadr. Iran University. 2008 [55] Image Segmentation and Pattern Matching Based FPGA/ASIC Implementation Architecture of Real-Time Object Tracking. K. Yamaoka, T. Morimoto, H. Adachi, T. Koide, and H. J. Mattausch Research Center for Nanodevices and Systems, Hiroshima University. 2006 [56] An FPGA-based implementation of spatio-temporal object segmentation. Kumara Ratnayake and Aishy Amer. Concordia University, Electrical and Computer Engineering, Montreal, Quebec, Canada. 2006
  • 66. 61 ILUMINACIÓN, CALIBRACIÓN Y SIMULACIÓN FUNCIONAL DE LOS ALGORITMOS USADOS PARA MEDIR UNA LÁMINA DE CUERO 3.1 Introducción Este capítulo se divide en cinco secciones principales. La sección 3.2 que presenta los resultados de las mediciones realizadas a la iluminación del sitio donde se realizaron las capturas de las imágenes de la lámina de cuero. La sección 3.3 presentan los resultados de la calibración del sistema de captura de la imagen, con sus parámetros de corrección del lente. La sección 3.4 muestra la simulación de los algoritmos que realizan el mejoramiento y realce de la lámina de cuero buscando facilitar su separación del fondo. En la sección 3.5 se presentan los criterios de evaluación usados para la selección de los umbralizadores a diseñar en este proyecto, y finalmente en la sección 3.6 se presentan los resultados de simulación de los umbralizadores seleccionados. 3.2 Implementación del Sistema de Iluminación Para el desarrollo de este proyecto se ha implementado la iluminación horizontal por medio de una lámpara de sodio de 250W de uso industrial similar a la mostrada en la figura 3.2.1 Figura 3.2-1. Lámpara usada para la iluminación de sitio de medición. Tomada de [1] La altura a la cual se ha ubicado la lámpara es de 5 metros. Estas lámparas tienen una intensidad luminosa de 33000 lumen según [1]. Con esta información se calcula el flujo Capítulo 3