INSTITUTO POLITÉCNICO NACIONAL
CENTRO DE INVESTIGACIÓN EN COMPUTACIÓN
Secretaría de Investigación y Posgrado
Algoritmos de reconstrucción de imágenes de escala de
grises mediante GPU
TESIS
Que para obtener el grado de:
MAESTRÍA EN CIENCIAS EN INGENIERÍA DE
CÓMPUTO
Presenta:
Ing. Alejandro Ivan Callejas Ramos
Director de tesis:
Dr. Oleksiy Pogrebnyak
Ciudad de México Diciembre 2016
1
2
3
Resumen
La búsqueda de métodos para la supresión de ruido en imágenes aún sigue siendo
un reto en el cruce de análisis y estadísticas funcionales. En este trabajo se
presenta una metodología para la supresión de ruido Gaussiano en imágenes
digitales de escala de grises, el cual es una señal no deseada que se manifiesta con
gran frecuencia debido a la sensibilidad que presentan los sistemas de captura.
En el primer capítulo del presente trabajo se hace un repaso de algunos algoritmos
del estado del arte para la supresión de ruido, con el fin de usarlos como métodos
de comparación en los experimentos.
Para el desarrollo del método de supresión de ruido Gaussiano en imágenes
digitales de escala de grises se propone el filtro, basado en la Transformada
Discreta del Coseno (DCT) aplicada a bloques de la imagen. Se eligió esta
transformada por tener la propiedad de compactación de energía y decorrelacionar
los coeficientes en el dominio de la transformada; es una de las transformadas
ortogonales con mayor ventaja sobre otras, ya que utiliza únicamente funciones
coseno de varios números de onda como funciones base y opera con señales y
coeficientes espectrales de valor real, lo que reduce la complejidad de cómputo, a
diferencia de la Transformada de Fourier Discreta (TDF) que siempre produce un
espectro con valores complejos incluso en caso de que la señal original sea
estrictamente de valores reales; pero ni la parte real ni la parte imaginaria de la
Transformada de Fourier son suficientes para representar completamente la señal.
Para realizar la supresión de ruido, se anulan los coeficientes menores que el
umbral óptimo derivado en este trabajo analíticamente según la teoría del filtrado
de Wiener. Con la técnica propuesta, los bloques son solapados y el tamaño de
bloque que minimiza el nivel de ruido blanco aditivo Gaussiano dependiendo de
propiedades estadísticas locales alrededor del pixel considerado se encontró está en
el rango de 6x6 a 12x12 pixeles.
4
Abstract
The search for images denoising techniques still remains a challenge, at the
intersection of functional analysis and statistics. This work presents a
methodology for the suppression of Gaussian noise, in digital images in grayscale,
which is an unwanted signal that is most frequently manifested in these, due to
the sensitivity of the acquisition systems.
In the first chapter of the current work, a review of some algorithms of the state of
the art for the suppression of noise is presented in order to use them as methods of
comparison in the experiments.
The development of the Gaussian noise suppression method in grayscale digital
images is based on a filter is proposed; which uses the Discrete Cosine
Transformation (DCT) applied to the image blocks. This transform was chosen
because it has the property of energy compaction and decorrelate the coefficients
in the transform domain. This transform it is one of the orthogonal transforms
with mayor advantage over others; it uses only cosine functions of several wave
numbers as base functions and operates with signals and spectral coefficients of
real values that reduces the calculation complexity. This is different to Discrete
Fourier Transform (DFT), which is designed to process signals of complex numbers
and always produces spectra of complex values, even if the original signal is
strictly of real values, but neither the real nor the imaginary parts of the Fourier
transform are sufficient to represent the signal completely.
To perform noise suppression, the coefficients lower than the optimal threshold are
cancelled; this threshold is derived in this work through analytic analysis
according to the Wiener filtering theory. With the proposed technique, the blocks
are overlapped and the block size that minimizes the level of additive white
Gaussian noise depending on local statistical properties around the considered
pixel was found is in the range from 6x6 to 12x12.
5
Agradecimientos
A mi familia, mi esposa María del Ángel Zavala Aguilar y a mi hijo Yael Alejandro
Callejas Zavala, mis padres Alejandro Callejas Aguilar y Leticia Ramos Reyes, que
siempre me han apoyado y alentado para salir adelante y por ser mi motivo e
inspiración día con día.
A mi asesor el Dr. Oleksiy Pogrebnyak, por su dedicación y apoyo incondicional en
la labor de esta tesis. De no ser por su apoyo este trabajo jamás se habría
realizado.
Al CONACyT y a la SIP-IPN por el apoyo económico brindado, sin el cual el
presente trabajo de tesis no hubiera sido posible.
6
Índice General
Resumen ............................................................................................................................. 3
Abstract .............................................................................................................................. 4
Agradecimientos ................................................................................................................. 5
Índice General ..................................................................................................................... 6
Índice de figuras .................................................................................................................. 8
Índice de tablas ................................................................................................................. 10
Capítulo 1 Introducción ..................................................................................................... 11 1.1. Antecedentes ................................................................................................................ 12 1.2. Problemática a abordar ................................................................................................. 13 1.3. Justificación ................................................................................................................... 13 1.4. Hipótesis ....................................................................................................................... 14 1.5. Objetivos ....................................................................................................................... 14
1.5.1. Objetivo general ............................................................................................................. 14 1.5.2. Objetivos específicos ...................................................................................................... 14
1.6. Alcance del trabajo ........................................................................................................ 15 1.7. Contribuciones .............................................................................................................. 15 1.8. Método de investigación y desarrollo utilizado ............................................................... 15 1.9. Organización de la tesis ................................................................................................. 16
Capítulo 2 Estado del arte .................................................................................................. 17 2.1. Restauración de imágenes ............................................................................................. 18 2.2. Orígenes del procesamiento digital de imágenes ............................................................ 19 2.3. Aplicaciones de la restauración de imágenes digitales .................................................... 21 2.4. Campos que usan el procesamiento digital de imágenes ................................................. 22 2.5. Filtros no locales de supresión de ruido en imágenes digitales ........................................ 24
2.5.1. Descomposición en Valores Singulares K (K-SVD-K-Singular Values Descomposition) . 24 2.5.2. Representación escasa no-localmente centralizada NCSR (Non-locally Centralized Sparse Representation) ................................................................................................................... 26 2.5.3. Algoritmo BM3D............................................................................................................. 29 2.5.4. K-LLD............................................................................................................................... 37 2.5.5. GPH (Preservación del Histograma de Gradiente) ......................................................... 40
2.6. Estimador de mínimo error cuadrático medio (MMSE).................................................... 42 2.7. Desviación Absoluta Media (MAD) ................................................................................. 43 2.8. Filtrado MAP (Máxima Aproximación a Posteriori) ......................................................... 45 2.9. Filtrado Local de Wiener ................................................................................................ 46
7
Capítulo 3 Marco Teórico ................................................................................................... 49 3.1. Imagen digital................................................................................................................ 50 3.2. Representación de una imagen digital ............................................................................ 51 3.3. Imagen en escala de grises ............................................................................................. 52 3.4. Mapa de bits ................................................................................................................. 52 3.5. Imágenes degradadas .................................................................................................... 54 3.6. Modelo del proceso de degradación ............................................................................... 54 3.7. Captura de la imagen ..................................................................................................... 55 3.8. Modelos de ruido .......................................................................................................... 57
3.8.1. Ruido Gaussiano ............................................................................................................. 58 3.8.2. Ruido blanco................................................................................................................... 59 3.8.3. Propiedades espaciales y de frecuencia del ruido ......................................................... 60
3.9. Algunas funciones importantes de densidad de probabilidad del ruido ........................... 61 3.10. Filtrado óptimo lineal: el filtro de Wiener ....................................................................... 61
3.10.1. Formulación del problema del filtrado óptimo lineal. ................................................... 61 3.10.2. Filtro de Wiener de imágenes digitales.......................................................................... 62
3.11. La Transformada Discreta del Coseno (DCT) .................................................................... 66 3.11.1. DCT de una dimensión ................................................................................................... 66 3.11.2. Funciones Base de la DCT ............................................................................................... 67 3.11.3. DCT Bidimensional ......................................................................................................... 68 3.11.4. Propiedades importantes de la DCT .............................................................................. 70 3.11.5. Esquema de adaptación local del filtrado en el dominio DCT ....................................... 72 3.11.6. Estimación previa de la imagen libre de ruido mediante filtrado DCT de umbral ......... 73 3.11.7. Separabilidad .................................................................................................................. 81
3.12. Transformada de Hadamard .......................................................................................... 82 3.13. Métricas de restauración ............................................................................................... 84
3.13.1. El Structural Similarity Index (SSIM) ............................................................................... 84 3.13.2. Valoración de Calidad de Imágenes usando SSIM ......................................................... 86 3.13.3. PSNR (Peak Signal to Noise Ratio) .................................................................................. 87 3.13.4. MSE (Mean Square Error) .............................................................................................. 87 3.13.5. ISNR (Improvement Signal to Noise Ratio) .................................................................... 88 3.13.6. Criterios de fidelidad ...................................................................................................... 88
3.14. Errores de restauración .................................................................................................. 89 3.15. Filtros adaptativos locales óptimos ................................................................................ 91 3.16. Implementación en una Tarjeta GPU con MATLAB .......................................................... 92
Capítulo 4 Metodología propuesta..................................................................................... 95 4.1. Derivación analítica del umbral óptimo para el filtrado de Wiener en el dominio DCT ..... 96 4.2. Técnica de filtrado propuesta ....................................................................................... 100
4.2.1. Algoritmo de búsqueda de bloques similares .............................................................. 100 4.2.2. Filtrado de los parches de DCT usando la transformada de Hadamard ...................... 101 4.2.3. Filtrado final usando minimización de representación esparcida ............................... 102
4.3. Implementación de DCT/IDCT en GPU. ......................................................................... 104 4.3.1. Modelo de memoria y uso ........................................................................................... 106
Capítulo 5 Resultados ...................................................................................................... 107 5.1. Resultados de supresión de ruido con el filtro local Wiener propuesto .......................... 108 5.2. Resultados de la supresión de ruido con el filtro propuesto adaptativo en dominio DCT 113 5.3. Análisis de rendimiento en GPU ................................................................................... 117
Capítulo 6 Conclusiones y trabajos futuros ....................................................................... 119
8
6.1. Conclusiones ............................................................................................................... 120 6.2. Trabajo futuro ............................................................................................................. 120
Referencias ..................................................................................................................... 121
Índice de figuras Figura 2. 1 Modelo de degradación ........................................................................... 18
Figura 2. 2 Avance en la tecnología de imagen: (a) imagen de 1921, (b) imagen de
1922, (c) imagen de 1929 ........................................................................................... 20
Figura 2. 3 Primera imagen de la Luna .................................................................... 21
Figura 2. 4 Ejemplo de coeficientes de codificación escasa por el uso de KSVD [17] ......... 27
Figura 2. 5 Distribución de SNC cuando la imagen de Lena es ruidosa (a-1), (a-2)
ruido y emborramiento y (a-3) muestreado. (b-1)-(b-3) muestra la misma
distribución de (a-1)-(a-3) en el dominio del logaritmo, respectivamente. .............. 29
Figura 2. 6 Esquema del algoritmo BM3D ............................................................... 31
Figura 2. 7 Notación .................................................................................................. 31
Figura 2. 8 Parches, ventana de búsqueda y solapamiento ..................................... 32
Figura 2. 9 Los parches verdes tendrán un peso superior a los parches rojos,
porque tienen más dispersión (Tienen menos coeficientes de transformación
distintos de cero). ....................................................................................................... 34
Figura 2. 10 Diagrama de bloques del K-LLD .......................................................... 38
Figura 2. 11 Comparación de eliminación de ruido en una imagen corrompida por
ruido Gaussiano. ........................................................................................................ 39
Figura 2. 12 Proceso del algoritmo ............................................................................ 41
Figura 2. 13 Gráfica correspondiente a la función de coste ..................................... 42
Figura 2. 14 grafica mediana de una distribución es el punto que separa dicha
distribución en dos regiones ...................................................................................... 44
Figura 2. 15 grafica de caso límite de una familia de estimadores bayesianos ...... 45
Figura 2. 16 Comparación de dos imágenes a las que se les eliminó el ruido por
filtrado local de Wiener. ............................................................................................. 48
Figura 3. 1 Espectro visible por el ojo humano......................................................... 50
Figura 3. 2 Mapa de bits ............................................................................................ 53
Figura 3. 3 Modelo del proceso de degradación ........................................................ 54
Figura 3. 4 Muestras del LCD ................................................................................... 57
Figura 3. 5 Gráfica de Gauss ..................................................................................... 59
Figura 3. 6 Influencia del ruido Gaussiano según la varianza ................................ 59
Figura 3. 7 Filtro óptimo lineal ................................................................................. 62
Figura 3. 8 Funciones base de la DCT … para .................... 68
Figura 3. 9 Aplicación de la DCT a una imagen 8x8 ................................................ 69
9
Figura 3. 10 (a) Figura de tres componentes, (b) y (c) salida MSE para distintos
valores de . ............................................................................................................... 74
Figura 3. 11 Diagrama a bloques que muestra el proceso de restauración por
filtrado DCT de umbral en bloques de 3x3. .............................................................. 76
Figura 3. 12 Solapamiento de los bloques para los pixeles de la siguiente columna
y la siguiente fila. ....................................................................................................... 77
Figura 3. 13 Efecto ringing causado por las propiedades globales de la DFT ......... 90
Figura 3. 14 Paralelismo dinámico ........................................................................... 92
Figura 3. 15 Rendimiento de la geforce gtx-780 ....................................................... 93
Figura 3. 16 Geforce GTX 780 de NVIDEA .............................................................. 94
Figura 4. 1 filtro propuesto basado en BM3D, trabajando en el dominio de la DCT
y usando un filtro adaptativo. ................................................................................. 103
Figura 4. 2 modelo de cálculo de la DCT de 2D ...................................................... 104
Figura 4. 3 Matriz de pixeles transferidos .............................................................. 104
Figura 4. 4 Modelo de mapeo computacional .......................................................... 105
Figura 4. 5 Relleno de memoria .............................................................................. 106
Figura 5. 1 Conjunto de imágenes de prueba empleadas en simulaciones, de izquierda a
derecha y de arriba hacia abajo: F-16, Lena, peppers, aerial, baboon, bridge. ..................... 108
Figura 5. 2 Gráfica de resultados en términos de PSNR de los filtros a)KSVD,
b)BM3D, c)Propuesto ............................................................................................... 114
Figura 5. 3 Gráfica de resultados en términos de índice de similitud SSIM de los filtros
a)KSVD, b)BM3D, c)Propuesto ............................................................................... 115
Figura 5. 4 Imagen de Lena con el mismo tamaño de búsqueda definida por el
parámetro shift=21. De izquierda a derecha y de arriba hacia abajo, a) imagen
ruidosa, b) NCSR, c) BM3D y d) filtro propuesto. .................................................. 116
Figura 5. 5 Comparación de desempeño de DCT en CPU vs GPU ........................ 117
Figura 5. 6 velocidad CPU vs GPU ......................................................................... 118
10
Índice de tablas
Tabla 5. 1 Resultados de las simulaciones de restauración de imágenes de prueba
contaminadas por el ruido aditivo Gaussiano, con la ventana del filtro 3x3 ........ 109
Tabla 5. 2 Resultados de las simulaciones de restauración de imágenes de prueba
contaminadas por el ruido aditivo Gaussiano, con la ventana del filtro 4x4 ........ 109
Tabla 5. 3 Resultados de las simulaciones de restauración de imágenes de prueba
contaminadas por el ruido aditivo Gaussiano, con la ventana del filtro 5x5 ........ 109
Tabla 5. 4 Resultados de las simulaciones de restauración de imágenes de prueba
contaminadas por el ruido aditivo Gaussiano, con la ventana del filtro 6x6 ........ 109
Tabla 5. 5 Resultados de las simulaciones de restauración de imágenes de prueba
contaminadas por el ruido aditivo Gaussiano, con la ventana del filtro 7x7 ........ 110
Tabla 5. 6 Resultados de las simulaciones de restauración de imágenes de prueba
contaminadas por el ruido aditivo Gaussiano, con la ventana del filtro 8x8 ........ 110
Tabla 5. 7 Resultados de las simulaciones de restauración de imágenes de prueba
contaminadas por el ruido aditivo Gaussiano, con la ventana del filtro 9x9 ........ 110
Tabla 5. 8 Resultados de las simulaciones de restauración de imágenes de prueba
contaminadas por el ruido aditivo Gaussiano, con la ventana del filtro 10x10 .... 110
Tabla 5. 9 Resultados de las simulaciones de restauración de imágenes de prueba
contaminadas por el ruido aditivo Gaussiano, con la ventana del filtro 11x11 .... 111
Tabla 5. 10 Resultados de las simulaciones de restauración de imágenes de prueba
contaminadas por el ruido aditivo Gaussiano, con la ventana del filtro 12x12 .... 111
Tabla 5. 11 Resultados de las simulaciones de restauración de imágenes de prueba
contaminadas por el ruido aditivo Gaussiano, con la ventana del filtro 13x13 .... 111
Tabla 5. 12 Resultados de las simulaciones de restauración de imágenes de prueba
contaminadas por el ruido aditivo Gaussiano, con la ventana del filtro 14x14 .... 111
Tabla 5. 13 Resultados de las simulaciones de restauración de imágenes de prueba
contaminadas por el ruido aditivo Gaussiano, con la ventana del filtro 15x15 .... 112
Tabla 5. 14 Resultados de las simulaciones de restauración de imágenes de prueba
contaminadas por el ruido aditivo Gaussiano, con la ventana del filtro 16x16 .... 112
Tabla 5. 15 Los resultados de supresión de ruido Gaussiano en imágenes de prueba con las
técnicas propuestas en comparación con las técnicas del estado del arte, en términos de PSNR,
dB. ............................................................................................................................. 113
• Tabla 5. 16 Los resultados de supresión de ruido Gaussiano en imágenes de prueba con
las técnicas propuestas en comparación con las técnicas del estado del arte, en términos de
índice de similitud SSIM con el mismo tamaño del área de búsqueda definida por el parámetro
shift=21. ...................................................................................................................... 114
Tabla 5. 17 Comparación de desempeño de DCT en CPU vs GPU ........................ 117
11
Capítulo 1 Introducción
En este capítulo se introduce la problemática abordada en el presente trabajo. Se
inicia hablando brevemente de los motivos y antecedentes que han dado origen a la
idea de utilizar las ventajas de por qué utilizar la DCT para la supresión de ruido
Gaussiano en imágenes en escala de grises; se continúa con los antecedentes de
dicha transformada ortogonal, se describe el problema planteado, su justificación,
los objetivos perseguidos, los alcances y las aportaciones logradas.
12
1.1. Antecedentes
La restauración de imágenes es una práctica que precede a la era de las
computadoras. Comenzó primariamente con los esfuerzos de los científicos
relacionados con los programas espaciales tanto de los Estados Unidos como de la
Unión Soviética a finales de los años 50’s y principios de los 60’s. El ruido es uno
de los principales factores que contribuye a la degradación o distorsión en una
imagen [46], [47], el cual puede contener información pero que es irrelevante. Este
no solo influye fluctuaciones desde muy suaves (offsets, bajas frecuencias, deriva o
gradientes), hasta aquellas muy abruptas (altas frecuencias), sino también
comprende señales coherentes y “limpias”, pero cuya información no es relevante
al estudio, es externa a los datos de interés y debe ser separada o filtrada.
Existen diferentes tipos fundamentales de ruido que se pueden presentar en las
imágenes, tal como el ruido binario o impulsivo, que comúnmente se conoce en
imágenes como “sal y pimienta”, ruido multiplicativo, ruido blanco aditivo
Gaussiano (AWGN- Additive White Gaussian Noise), el ruido aditivo
espacialmente correlacionado, dependiente de la señal.
Diversas técnicas de filtrado han sido desarrolladas para la supresión de este
factor, cada una con ventajas y desventajas [48]. Un problema secundario común
en todos los filtros es la afectación o degradación de ciertas características de la
imágenes, tales como el emborronamiento de contornos y pérdida de detalles. Por
lo tanto, el desarrollo e investigación de los filtros para la supresión de ruido en
imágenes digitales tiene como principal objetivo la obtención de la mayor
supresión de todo tipo de ruido con la menor afectación a las características de
dichas imágenes. Esto se logra con algoritmos matemáticos que resulten factibles
de implementarlos en equipos de uso común para poder llevarlos a aplicaciones
prácticas. Por ello se propone el uso de la Transformada Discreta de Coseno por
sus ventajas de compactación de energía.
El filtrado de Wiener es un filtro lineal óptimo, que puede ser usado para
predicción, estimación, interpolación, filtrado de señal y ruido, etc., obteniendo una
salida con menor error cuadrático medio (MSE- Mean Square Error) bajo ciertas
condiciones. Para su desarrollo se necesita tener un conocimiento previo apropiado
de las propiedades estadísticas de la señal de entrada. El problema reside en que
este conocimiento generalmente no se puede obtener. Por ello se usan filtros
adaptativos en su lugar, que hacen uso de los datos de entrada para aprender los
datos estadísticos requeridos.
13
1.2. Problemática a abordar
Cualquier persona que haya tomado una fotografía entenderá que capturar una
imagen exactamente como aparece en el mundo real es muy difícil, si no imposible.
Está el ruido contenido, que en el caso de una fotografía puede ser el causado por
un movimiento de la cámara o el objeto, problemas de enfoque y una calidad
imperfecta, empeora hasta el mejor sistema de lentes. El resultado de todas estas
degradaciones hace que la imagen sea tan solo una aproximación de la escena.
La restauración de la imagen busca mejorarla en un sentido predeterminado.
Intenta reconstruir o recobrar una imagen que ha sido degradada utilizando
conocimiento a priori del modelo de degradación y aplicando el proceso inverso a
éste para poder recobrar así la imagen original. Los métodos de restauración
generalmente involucran la formulación de criterios probabilísticos que nos
llevarán a la estimación de los resultados deseados. El proceso de degradación se
modela como una función de degradación que, junto con un término de ruido
aditivo, opera sobre una imagen de entrada para producir una imagen degradada;
el objetivo de la restauración es obtener un estimado de la función original.
Los recientes problemas con el Telescopio Espacial Hubble son un ejemplo: la
óptica de las imágenes producidas no se aproximaba al potencial del telescopio, y
una misión de reparación inmediata no era posible. Los ordenadores fueron
utilizados para reparar algunas distorsiones causadas por la óptica y el resultado
dio imágenes que eran de alta calidad. La restauración de la imagen es el arte y
ciencia de mejorar la calidad de una imagen, con base en una medición absoluta.
Implica generalmente algunos métodos para deshacer una distorsión que ha sido
impuesta, por ejemplo, un movimiento borroso o un grado de aspereza. Esto no se
puede realizar de una manera perfecta, pero las mejoras son posibles en algunas
circunstancias. Las técnicas de restauración de la imagen son de naturaleza
matemática.
Por lo tanto, el propósito de este trabajo es el de desarrollar un método para la
supresión del ruido Gaussiano presente en imágenes de escala de grises utilizando
la Transformada Discreta del Coseno, para minimizar la complejidad
computacional aplicando bloques solapados en la imagen.
1.3. Justificación
14
En los últimos años se ha notado un creciente interés por grupos de investigadores
de diferentes ámbitos humanísticos por recuperar diversos aspectos relacionados
con las imágenes, pero pocos han logrado buenos resultados.
Hoy en día se encuentran al alcance de la mano un sinnúmero de aplicaciones para
la edición y manipulación de imágenes, gracias a la Internet; por ejemplo, Adobe
Photoshop, Pixrl, SumoPaint, por mencionar algunos, los cuales cuentan con
ciertas herramientas básicas con las cuales se puede realizar la restauración de
imágenes; sin embargo, dichos sistemas son generalmente muy costosos. Por otro
lado existe software gratuito y de código abierto, pero con funcionalidades un poco
más limitadas que su contraparte comercial, por lo que las funciones de
restauración, ya de por sí básicas en los sistemas comerciales, dejan mucho que
desear; por lo general sólo ofrecen la capacidad de suprimir el efecto de
emborronamiento o realizar filtrado básico para eliminar el ruido, como filtros
Gaussianos o de media.
En esta tesis se implementará un algoritmo de supresión de ruido aplicado en
bloques que mejore la imagen en escala de grises.
1.4. Hipótesis
Es posible mejorar la calidad de una imagen haciendo uso de una transformada
ortogonal que realice la supresión de ruido aditivo Gaussiano en imágenes en
escala de grises.
1.5. Objetivos
1.5.1. Objetivo general
Desarrollar un filtro local adaptativo usando la transformada discreta del coseno,
que realice la supresión del ruido aditivo Gaussiano en imágenes digitales en
escala de grises.
1.5.2. Objetivos específicos
Objetivo 1. Realizar una revisión de las técnicas modernas de supresión de ruido
aditivo Gaussiano en imágenes digitales.
15
Objetivo 2. Desarrollar un método de restauración de imágenes digitales en escala de grises degradadas con ruido aditivo Gaussiano con base en la transformada discreta del coseno (DCT) calculada en bloques de imagen de tamaño variable.
Objetivo 3. Derivar analíticamente, empleando la teoría de filtrado lineal de Wiener, el umbral en función de la desviación estándar del ruido, para la supresión de los coeficientes en el dominio de la transformada menores que este umbral, que sea óptimo en el sentido del mínimo de error cuadrático medio.
Objetivo 4. Realizar la comparación de la calidad de la restauración de imágenes de prueba estándares contaminadas con ruido aditivo Gaussiano, variando el tamaño de los bloques de filtro en el rango de 3x3 hasta 16x16 y el valor del umbral en función de la desviación estándar del ruido utilizando GPU; comprobar la optimización del umbral derivado analíticamente.
Objetivo 5. Realizar comparaciones de la calidad de la restauración de imágenes de prueba estándares contaminadas con el ruido aditivo Gaussiano, empleando el filtro desarrollado y los mejores filtros del estado del arte.
1.6. Alcance del trabajo En este trabajo se desarrollan los algoritmos necesarios para suprimir el ruido aditivo Gaussiano en imágenes digitales en escala de grises y los métodos necesarios para realizar la restauración de las mismas. Para el desarrollo de los métodos de restauración se hace uso de filtrado lineal adaptativo utilizando transformadas ortogonales; en específico se hace uso de la Transformada Discreta del Coseno (DCT), debido a las ventajas que presenta respecto a otras transformadas ortogonales.
1.7. Contribuciones Con el desarrollo del presente trabajo se obtuvieron las siguientes contribuciones:
Se propuso un algoritmo que realiza la restauración de imágenes digitales en escala de grises de imágenes degradadas con ruido aditivo Gaussiano (AWGN).
Se realizaron comparaciones de la calidad de la restauración con otros métodos conocidos, utilizando métricas escogidas para este propósito.
Los resultados fueron presentados en dos congresos: uno internacional (MICAI2016) y otro nacional (CORE 2016).
1.8. Método de investigación y desarrollo utilizado La metodología utilizada en este trabajo para solucionar la problemática de la investigación consiste en:
16
Estudiar métodos contemporáneos para la restauración de imágenes digitales contaminadas por ruido aditivo Gaussiano que han sido probados en diferentes imágenes de prueba y con los cuales se obtuvieron buenos resultados.
Implementar algunos de estos métodos de restauración de imágenes para estudiar su comportamiento bajo ciertas circunstancias y parámetros de degradación.
Proponer y desarrollar un método para la restauración de imágenes digitales basado en el filtrado local del ruido aditivo Gaussiano utilizando la transformada discreta del coseno.
Probar las propiedades de dicho método y compararlo con otros métodos conocidos para comprobar sus ventajas sobre estos.
1.9. Organización de la tesis
El presente trabajo se encuentra estructurado en seis capítulos. El primer capítulo contiene la presente introducción. En el capítulo 2, se hace una revisión del estado actual de las técnicas empleadas en el desarrollo de métodos para la restauración de imágenes. En el capítulo 3, se presenta el fundamento teórico utilizado para el desarrollo de los algoritmos implementados en nuestra metodología. En el capítulo 4, se describe el desarrollo y los bloques funcionales de la metodología propuesta. En el capítulo 5, se presentan las pruebas realizadas y los resultados obtenidos con nuestra metodología. Finalmente, en el capítulo 6 se presentan las conclusiones y las posibles mejoras a la metodología propuesta.
17
Capítulo 2 Estado del arte
En el presente capítulo se hace la revisión de los algoritmos más relevantes para la supresión de ruido en imágenes digitales. Se da un breve repaso del origen de la restauración de imágenes y cómo ha evolucionado esta área con el paso del tiempo para ser aprovechada por las distintas disciplinas que se apoyan en ella. Los temas que se contemplan son: los conceptos básicos en la restauración de imágenes, los factores que contribuyen a la degradación de una imagen, filtros locales adaptativos y filtros no-locales. También se hace una breve revisión de distintas técnicas utilizadas en este campo desde la aparición del filtrado de Wiener.
18
2.1. Restauración de imágenes
La restauración de imágenes intenta reconstruir o recobrar una imagen que ha
sido degradada, mediante el conocimiento a priori del modelo de degradación
Figura 2.1 y aplicando el proceso inverso a éste [25].
Dominio espacial (2.1)
Dominio frecuencial (2.2)
Figura 2. 1 Modelo de degradación
Los métodos de restauración generalmente involucran la formulación de criterios
probabilísticos que nos llevarán a la estimación de los resultados deseados. En
contraste, los métodos de realce son básicamente procedimientos heurísticos
diseñados para manipular una imagen con el fin de aprovechar las propiedades del
sistema visual humano.
El campo de la restauración de imágenes llega primero con los esfuerzos de
científicos envueltos en los programas espaciales, ambos de Estados Unidos y la
formación de la Unión Soviética en 1950 y a inicios de 1960. Estos programas
fueron los responsables de producir muchas imágenes increíbles de la Tierra y de
nuestro sistema solar que en ese tiempo eran inimaginables.
Las imágenes que se producían tenían incalculables beneficios científicos que solo
llegaron a hacerse claros en los siguientes años; la carrera por llegar a la Luna
utilizó más y más de nuestros esfuerzos y presupuestos científicos. Sin embargo,
las imágenes obtenidas de varias misiones planetarias en el tiempo, tal como la del
Ranger, la Órbita Lunar y misiones marinas, estuvieron sujetas a muchas
degradaciones fotográficas. Esas fueron el resultado de ambientes de formación de
imágenes de mala calidad, la vibración en la maquinaria, la rotación y el giro de la
f(x,y) Función de
degradación
H
g(x,y)
Proceso de
restauración
Ruido
f(x,y) +
19
nave espacial, etc. Las fotografías de las misiones de la tripulación espacial fueron
también borrosas por la inhabilidad del astronauta para mantenerse firme en un
entorno gravitacional mientras tomaba las fotografías. La degradación de las
imágenes no fue un gran problema, considerando el enorme gasto requerido para
obtener tales imágenes en primer lugar. La pérdida de información debido a la
degradación en las imágenes fue devastadora. Por ejemplo las 22 fotografías
producidas durante la misión del Mariner IV que voló a Marte en 1964 fue la
última estimación de costo de casi $10 millones de dólares en términos de bits
transmitidos. Algunas degradaciones redujeron considerablemente el valor
científico de estas imágenes y claramente el costo del dinero de las agencias
espaciales.
Esta fue probablemente la primera instancia en la comunidad de ingeniería en
donde la extrema necesidad de conseguir principalmente información de imágenes
degradadas fue encontrada. Como un resultado, esto no duró mucho antes de que
alguno de los más comunes algoritmos del procesamiento de señales
unidimensionales y la teoría de la estimación, encontrara una forma de restaurar
las imágenes en el campo que hoy en día es conocido como “restauración de
imágenes digitales” [7].
2.2. Orígenes del procesamiento digital de imágenes
Los antecedentes históricos del procesamiento digital de imágenes PDI se
remontan a la impresión de periódicos en 1921. En aquella época la codificación y
la transmisión de datos se realizaba por cable submarino entre las ciudades de
Londres y Nueva York, en donde se reconstruía e imprimía.
Una mejora al proceso ocurrió en 1922, cuando se empleó una técnica basada en la
reproducción fotográfica realizada a través de cintas perforadas en las terminales
telegráficas receptoras, que permitieron 5 niveles de gris. Hacia 1929, la técnica se
mejoró hasta obtener 15 niveles de gris en la reproducción Figura 2.2.
20
Figura 2. 2 Avance en la tecnología de imagen: (a) imagen de 1921, (b) imagen de 1922, (c) imagen de 1929
A pesar de estos avances, las imágenes producidas con esas técnicas no se
consideran los inicios del PDI debido a que su creación no involucró el uso de la
computadora.
Dada su definición, la historia del PDI está directamente relacionada con el
desarrollo y evolución de las computadoras, dado que el PDI requiere un alto poder
computacional para almacenar y procesar las imágenes. Por tanto, su progreso ha
ido de la mano con el desarrollo de tecnologías de hardware.
Entre los principales aportes tecnológicos para el PDI se encuentran la invención
del transistor en los laboratorios Bell en 1948, el desarrollo de lenguajes de
programación de alto nivel en la década de los 60, la invención del circuito
integrado (CI) por Texas Instrument en 1958, el desarrollo de los sistemas
operativos a inicios de la década los de los 60, la introducción de la computadora
personal (PC) por el gigante corporativo IBM en 1981, la miniaturización de
componentes a gran escala (LSI) en 1970, posteriormente a muy gran escala
(VLSI) en 1980 y ultra gran escala (ULSI) hasta la actualidad, además de los
avances en el desarrollo de sistemas de almacenamiento y visualización.
Es a partir de las máquinas poderosas de los 60 en conjunto con el Programa
Espacial de los Estados Unidos de Norteamérica, lo que dio origen a lo que hoy
conocemos como PDI.
En este sentido cabe recordar la primera imagen tomada de la Luna por el Ranger
7 y transmitida a la tierra el 31 de julio de 1964, la toma tardó alrededor de 17
minutos antes de impactar la superficie de la Luna en la Figura 2.3.
21
Figura 2. 3 Primera imagen de la Luna
De manera paralela al desarrollo del Programa Espacial en los años 60 y 70, el
PDI comenzó a ser muy utilizado en áreas como la de las imágenes médicas,
observaciones terrestres remotas, astronomía, geografía, arqueología, biología y
aplicaciones industriales, entre otras disciplinas [6].
2.3. Aplicaciones de la restauración de imágenes digitales
Los primeros encuentros con la restauración de imágenes digitales en la
comunidad de ingeniería fueron en el área de las imágenes astronómicas. Sistemas
de imágenes basadas en la Tierra estuvieron sujetos al emborronamiento debido al
rápido cambio de la refracción atmosférica.
Las observaciones extraterrestres de la Tierra y de los planetas fueron degradadas
a causa del desenfoque por movimiento como un resultado de la lenta velocidad del
obturador de la cámara respecto al rápido movimiento de la nave espacial. Las
imágenes obtenidas estuvieron sujetas a ruido de una forma u otra. Por ejemplo, el
problema de la degradación de imágenes astronómicas es a menudo caracterizado
por el ruido Poisson, que es una señal dependiente y tiene sus raíces en las
estadísticas de recuento de fotones envuelta con bajas fuentes de luz. Otro tipo de
ruido encontrado en otra aplicación de imágenes digitales es el ruido Gaussiano,
que a menudo surge de los componentes electromagnéticos en el sistema de
imágenes y los efectos de la emisión de transmisiones.
En el área de las imágenes médicas, la restauración ciertamente ha jugado una
parte importante. La restauración ha sido utilizada para el filtrado de la
distribución de ruido de Poisson en el pecho por rayos X para la detección de
22
cáncer, mamografías e imágenes digitales angiográficas, y para remover el ruido
aditivo en imágenes de resonancia magnética. Otra aplicación para la restauración
de imágenes emergió en la medicina en el área de la autoradiografía cuantitativa
(QAR-Quantitative Auto-radiography). En este campo, las imágenes son obtenidas
por exposición de rayos X sensitivas para un espécimen radioactivo; QAR es
realizado en estudios post-mortem, y proporciona una más alta resolución que
otras técnicas tales como la tomografía por emisión positrónica, rayos X de
tomografía computarizada (CAT-Computer Aided Tomography), e imágenes de
resonancia magnética (MRI-Magnetic Resonance Images), pero todavía necesita
ser mejorado en resolución para estudiar la difusión del fármaco y la captación
celular en el cerebro. Esto puede ser realizado a través de las técnicas de
restauración de imágenes digitales.
2.4. Campos que usan el procesamiento digital de imágenes
Existe una inmensa gama de áreas donde el PDI se utiliza de manera habitual.
Una manera sencilla de categorizar a las imágenes es dependiendo de la fuente de
su obtención (rango visible del espectro electromagnético, rayos X, imágenes
acústicas, etc.).
La principal fuente de energía para generar las imágenes que están en uso hoy día
es el espectro electromagnético.
Otra forma de generar imágenes es empleando rayos Gamma; sus aplicaciones
incluyen la medicina nuclear y observaciones astronómicas. Por ejemplo la
gammagrafía ósea, la Tomografía por Emisión de Positrones (PET-Positron
Emission Tomography) [8], el ciclo Cygnus, generado por la explosión de una
estrella en la constelación Cygnus, además de la detección de la radiación
producida por el escape de una válvula defectuosa de reactor nuclear, entre otras.
Por otra parte, las imágenes generadas por el uso de rayos X tienen sus principales
aplicaciones en la medicina, astronomía y la industria. Por ejemplo, en imágenes
del tórax, angiogramas de la aorta, la técnica de Tomografía Axial Computarizada
(TAC), en tarjetas de circuitos impresos para examinar componentes, pistas rotas o
faltantes, inclusive en la astronomía para el análisis del ciclo Cygnus con rayos X.
También es posible obtener imágenes empleando la banda ultravioleta del espectro
electromagnético, teniendo como principales aplicaciones la litografía, la
inspección industrial, la microscopía, láser, imágenes biológicas y la astronomía,
como por ejemplo la microscopía de florescencia o el ciclo Cygnus con banda
ultravioleta.
23
Respecto a las imágenes captadas en la banda visible e infrarroja del espectro, sus
aplicaciones principales están en la microscopía de luz, la astronomía, el sensado
remoto y la rama industrial. Por ejemplo, visualizar imágenes con un microscopio
de luz como el taxol, colesterol, un microprocesador, una capa delgada de óxido de
níquel, la superficie de un CD o de un superconductor de audio, por citar algunos
casos. Dentro de las aplicaciones climatológicas, se encuentra la visualización de
fenómenos atmosféricos, como los huracanes, por satélite. A través de las imágenes
satelitales también es posible realizar un inventario global de asentamientos
humanos, definir el consumo global de energía, etc. Por ejemplo, en las bandas
entre 10 y 13.4 10−6 m es posible observar luces muy tenues en la superficie de la
Tierra: ciudades, pueblos, villas, flamas de gas y fuego.
Respecto a las aplicaciones de las imágenes en la banda visible se encuentran la
inspección automática de objetos industriales. Por ejemplo, la tarjeta controladora
de CD-ROM, contenedores de cápsulas, detectores de botellas que no cumplen con
el nivel de llenado requerido, piezas de plástico con burbujas de aire, muestras de
cereal para inspección del color, implantes intraoculares para defectos del aterial,
etc. Otras aplicaciones son la identificación o conteo de objetos, por ejemplo la
huella digital, el papel moneda, lectura automática de placas, etc.
Las imágenes de la banda de microondas tienen aplicaciones de radar, ya que éste
puede penetrar nubes, y bajo ciertas condiciones se puede ver a través del hielo o
la vegetación e incluso en suelo muy seco. La energía de microondas es reflejada en
una antena de radar y de ahí se reconstruye la imagen [6].
En aplicaciones de medicina, es posible pasar ondas de radio a través del cuerpo
humano en pulsos cortos. Cada pulso causa un pulso respuesta del tejido, cuya
localización y potencia se utilizan por una computadora para reconstruir la
imagen, con ello es posible obtener imágenes de resonancia magnética nuclear
(MRI-Magnetic Resonance Images) de diversas partes del cuerpo, por ejemplo
rodilla, columna vertebral, etc.
Las imágenes de la banda de radio tienen su mejor aplicación en astronomía y
medicina. En medicina las ondas de radio son usadas en imágenes de resonancia
magnética (MRI). En astronomía pueden obtenerse imágenes del “Crab Pulsar”
(una explosión de supernova gigante seguida del colapso masivo de estrellas en
evolución) en la banda del radio, permitiendo visualizar información diferente a la
aportada por imágenes obtenidas de la banda de rayos X, gamma e infrarojo.
Otras formas de obtener imágenes, es de los fenómenos acústicas; el ejemplo más
notorio de este tipo de imágenes es el ultrasonido, en donde un sistema despliega
las distancias e intensidades de los ecos reflejados por los tejidos en una pantalla.
A través del ultrasonido es posible realizar un seguimiento del embarazo, o captar
imágenes de partes del cuerpo como de la tiroides o de las capas musculares.
24
Dentro de otras modalidades de obtención de imágenes se encuentran las
imágenes electrónicas, como la microscopía electrónica, la microscopía de escaneo
de electrones (SEM-Scanning Electronic Microscopy) y la microscopía de
transmisión de electrones (TEM-Transmission Electronic Microscopy); en este
tipo de obtención de imágenes se utilizan rayos de electrones enfocados en vez de
rayos de luz como en los microscopios ópticos. A través de esta técnica es posible
captar un filamento de tungsteno o detectar un circuito integrado dañado.
2.5. Filtros no locales de supresión de ruido en imágenes
digitales
A continuación se explican brevemente los mejores filtros no locales considerados en el estado del arte para la supresión de ruido.
2.5.1. Descomposición en Valores Singulares K (K-SVD-K-Singular
Values Descomposition)
El K-SVD es una técnica no-local basada en clustering y formación de diccionarios de parches. El algoritmo K-SVD trabaja en conjunto con cualquier otro algoritmo de búsqueda. Se considera un algoritmo simple y diseñado para ser una generalización directa del algoritmo K-media. El K-SVD es muy eficiente debido a la alta codificación esparcida o escasa, además de tener un método de actualización de diccionarios acelerado. Se muestra el K-SVD en detalle. La función objetivo es:
(2.3)
Se considera en primer lugar la fase de codificación esparcda, donde asumimos que
es fija, y consideramos el problema de optimización anterior como una búsqueda
de representación esparcida con coeficientes resumidos en la matriz .
El término de penalización puede ser reescrito como:
∑
(2.4)
donde se refiere a la norma 2, que es distancia Euclidiana.
25
Pasamos ahora a la segunda parte, al proceso de actualización de los diccionarios
con los coeficientes diferente de cero. Asumimos que X y D son fijas poniendo en
cuestión una columna en el diccionario , y a los coeficientes que le corresponden
de la i-ésima fila en X denotado como (este no es un vector que está en la i-
ésima columna de X).
El término de penalización pueden ser descritas como:
‖ ‖ ‖ ∑
‖
‖( ∑
)
‖
‖
‖
(2.5)
Se ha descompuesto la multiplicación DX en la suma de K matrices de rango 1.
La matriz representa el error para todos los ejemplos N cuando se retira el
átomo de k-ésimo. Para este caso estaría bien el uso del SVD para encontrar y
. El SVD encuentra el rango más cercano que se aproxime a , lo que reducirá
el error el error definido en la ecuación (2.5). Sin embargo habrá un error porque el
nuevo vector será ocupado por una nueva actualización de no logrando
cumplir la restricción de escasez.
Un remedio para el problema es simple y bastante intuitivo. Se define 𝑤𝑖 como un
grupo de índices apuntados para los ejemplos { 𝑖} que usa el átomo donde 𝑖
es diferente de cero.
Dado que el aprendizaje de diccionarios es limitado en el manejo de pequeños
parches de imagen, surge la dificultad natural de cómo usarse en imágenes de
tamaño arbitrario. En el trabajo [9] se propone una imagen global previa que
fuerza la escasez sobre parches en cada lugar de la imagen (con superposiciones).
Esto se alinea con una idea similar que aparece en [10].
A continuación se presenta el algoritmo del K-SVD en la Tabla 2.1.
Entrada • Conjunto de señales de entrenamiento .
• Nivel de poca densidad
Inicialización • Fijar el diccionario con las columnas normalizadas
bajo la norma y el contador de iteración
26
Iteración Repetir hasta alcanzar convergencia.
• Etapa de codificación poco densa: Use cualquier algoritmo de
búsqueda para calcular los vectores de representación para
cada ejemplar por aproximación de la solución de
‖ ‖
sujeto a ‖ ‖ 𝑖
Etapa de actualización del diccionario: Para cada columna
en , actualizar por
1. Definir el grupo de ejemplares en que usan este átomo,
𝑖 𝑖 𝑖
2. Calcular la matriz de error de la representación general, , por
∑
3. Restringir escogiendo solo las columnas correspondientes a , y
obtener .
4. Aplicar descomposición SVD = . Elegir la columna
actualizada del diccionario como la primera columna de .
Actualizar el vector de coeficientes como la primera columna de
multiplicado por .
• Establezca
• Chequear criterio de parada.
Tabla 2. 1 Algoritmo K-SVD. Mientras K-media aplica K cálculos de las principales actualizaciones del código, el K-SVD obtiene una actualización del diccionario por el cálculo K-SVD, que determina una columna [9].
2.5.2. Representación escasa no-localmente centralizada NCSR (Non-
locally Centralized Sparse Representation)
En [17] se representa el modelo de representación esparcida no centralizada localmente para la restauración de la imagen. Utilizando un ruido de codificación escaso para definir el código disperso de la imagen degradada y la imagen original desconocida. También se utiliza para aumentar el rendimiento de la restauración de imágenes basadas en la representación del modelo de la escasez. El objetivo de la restauración de imagen cambia la codificación de ruido escasa. En el escenario de restauración de imágenes, lo que observamos es la señal de imagen degradada por , donde es la matriz de degradación, es el vector de la imagen original y es el vector de ruido aditivo. Para recuperar de , primero es escasamente codificada con respecto a , donde resolviendo el siguiente problema de minimización:
𝑖 ‖ ‖ ‖ ‖ (2.6)
27
Y entonces es reconstruida por . Claramente, se espera que se acerque lo
bastante a . Sin embargo, es difícil recuperar el verdadero código escaso de de . Usando solamente la restricción de escases local ‖ ‖ en la ecuación (2.6), puede no lograr una reconstrucción suficientemente precisa de la imagen. Por otro lado, se sabe que los coeficientes de codificación escasa de la imagen no se distribuyen aleatoriamente debido a las correlaciones locales y no locales existentes en las imágenes naturales. En la Figura 2.4, se visualizan los escasos coeficientes de codificación de varias imágenes de ejemplo. Se puede observar que los coeficientes de codificación escasa están correlacionados, mientras que las correlaciones fuertes nos permiten desarrollar un modelo escaso mucho más exacto explotando las redundancias locales y no locales.
Figura 2. 4 Ejemplo de coeficientes de codificación escasa por el uso de KSVD [17]
(a) Algunas imágenes naturales. (b) Distribuciones correspondientes de los coeficientes de código escaso asociado con el 3er átomo asociado al KSVD de las rutas extraídas
de cada pixel.
El NCSR puede ser resuelto efectivamente por el algoritmo de encogimiento iterativo convencional [12] que permite la regularización de parámetros adaptativamente desde un punto de vista Bayesiano. El NCSR basado en el método de restauración de imágenes, puede lograr un rendimiento altamente competitivo a los métodos de desmontaje más avanzados [13] [14] [15] (BM3D Y LSSC [16]). La siguiente notación es usada en [19] para una imagen , donde denotada
como una ruta de imagen de tamaño √ √ extraída en la localización 𝑖, donde es la ruta de extracción de la matriz de en la localización 𝑖. Dado un diccionario , cada ruta puede ser representada esparcidamente como resolviendo un problema
de -minimización 𝑖 {‖ ‖ ‖ ‖ } . Entonces el entero de la
imagen x puede ser representado por el conjunto de código escaso . Los parches pueden ser superpuestos para suprimir los artefactos de frontera, y obtenemos una representación basada en parche redundante. Reconstruyendo de es un sistema sobre determinado y
28
una solución de mínimos cuadrados directa es [19]: ∑
∑
. Para
la conveniencia de la expresión se tiene:
∑
∑
(2.7)
Donde denota la concatenación de todos los . La ecuación anterior no es más que decir
que la imagen global se reconstruye promediando cada parche reconstruido de . En el escenario de restauración de imágenes (IR), la imagen observada se modela como . La escases basada en IR recupera de resolviendo el problema de minimización ecuación (2.4). En donde la imagen es entonces reconstruida como .
Codificación escasa del ruido. Para una efectiva restauración en la imagen, los códigos escasos obtenidos resolviendo la
función objetivo en la ecuación (2.7) estén lo más cerca posible de los verdaderos códigos escasos de la imagen original . Sin embargo, debido a la degradación de la imagen observada , los códigos escasos se desviarán de , y la calidad de la IR depende del nivel
de codificación escasa del ruido (SCN), que se define como la diferencia entre y .
(2.8)
Para investigar las propiedades estadísticas del SCN , en [11] desarrollaron experimentos en problemas típicos en IR. Se usó la imagen de Lena como un ejemplo, en el primer experimento, se agregó ruido blanco Gaussiano en la imagen original para conseguir la imagen con ruido (el nivel de ruido =15). Después se calcula y resolviendo por la
ecuación (2.9)
𝑖 ‖ ‖ ‖ ‖ (2.9)
Y ecuación (2.6), respectivamente. Las bases de la DCT son adoptadas en el experimento. Después el SCN es calculado, en la Figura 2.5 (a-1), se grafica la distribución de correspondiente al cuarto átomo en el diccionario, similarmente, en la Figura 2.5 (a-2) y la Figura 2.5 (a-3) se grafican las distribuciones de cuando los datos observados están borrosos (Por un núcleo de desenfoque Gaussiano con desviación estándar 1.6) y muestreado por el factor 3 en ambas direcciones, horizontal y vertical (Después de borrosa por un núcleo de desenfoque gaussiano con desviación estándar 1.6), respectivamente. Se puede ver que las distribuciones empíricas de SCN pueden ser bien caracterizadas por distribuciones Laplacianas, mientras que las distribuciones Gaussianas tienen errores de ajuste mucho mayores. Para observar mejor el ajuste de las colas, también se grafican estas distribuciones en el dominio del logaritmo en la Figura 2.5 (b-1-b-3).
29
Figura 2. 5 Distribución de SNC cuando la imagen de Lena es ruidosa (a-1), (a-2) ruido y emborramiento y (a-3) muestreado.
(b-1)-(b-3) muestra la misma distribución de (a-1)-(a-3) en el dominio del logaritmo, respectivamente.
2.5.3. Algoritmo BM3D
Se considera que el BM3D es el mejor filtro actual para la supresión de ruido Gaussiano.El BM3D es una aproximación novedosa al filtrado no paramétrico adaptativo no local. El método propuesto en [20] adopta una aproximación híbrida la cual agrupa bloques similares y aplica un filtrado colaborativo en el dominio de la transformada del coseno discreta (DCT). El dominio transformado permite distinguir la señal del ruido más fácilmente que en el dominio espacial. Es un método reciente de eliminación de ruido basado en el hecho de que una imagen tiene una representación localmente esparcida en el dominio de la transformada. Esta dispersión se mejora al agrupar parches de imagen 2D similares en grupos 3D. En [20] se propone una implementación de código abierto del método. La iteración colaborativa es el nombre del procedimiento de agrupación y clasificación del BM3D. Se realiza en cuatro pasos: ´ 1) Visualizar los parches de imagen similares a un parche de imagen dado y agruparlos en un bloque 3D 2) Transformación 3D lineal del bloque 3D 3) Reducción de los coeficientes del espectro de transformación 4) Transformación inversa en 3D. Por lo tanto, esta iteración 3D elimina simultáneamente todos los parches de imagen 2D en el bloque 3D.
30
Al atenuar el ruido, la iteración colaborativa revela incluso los detalles compartidos por los parches agrupados. Los parches se devuelven a sus posiciones originales. Desde los parches solapados, se obtienen muchas estimaciones que deben combinarse para cada píxel. La agregación es un procedimiento de promediado particular utilizado para aprovechar esta redundancia. El primer paso de la iteración colaborativa es mejorado por un segundo paso usando la iteración de Wiener. Este segundo paso imita el primer paso, con dos diferencias. La primera diferencia es que compara los parches en lugar de los parches originales. La segunda diferencia es que el nuevo grupo 3D (construido con las muestras de imágenes sin procesar, pero usando las distancias de parche de la imagen filtrada) es procesado por la iteración de Wiener en lugar de un mero umbral. El paso de agregación es idéntico al de la primera etapa. El método propuesto mejorado en el método NL [20] significa que reemplaza conjuntamente parches similares, pero sólo mediante la realización de un promedio de parches, lo que equivale a una iteración 1D en el bloque 3D. La iteración 3D en BM3D se realiza en las tres dimensiones simultáneamente. Generalmente se considera que se consiguen los mejores límites de rendimiento en la eliminación de imágenes de color por medio del BM3D. Al igual que para los medios NL, existe una variante con parches adaptativos [22] a la forma. En este algoritmo denominado BM3D-SAPCA, la escasez de representación de imagen se mejora en dos aspectos. En primer lugar, emplea parches de imagen que pueden tener datos de forma adaptativa. En segundo lugar, las bases PCA se obtienen por descomposición de valores propios de matrices empíricas de segundo momento que se calculan a partir de un grupo de vecindades de forma adaptativa similares. Este método mejora M3D especialmente en la preservación de los detalles de la imagen y la introducción de muy pocos artefactos. Los parches anisotrópicos adaptativos a la forma se obtienen utilizando las técnicas 8-direccionales LPA-ICI [23]. En los desarrollos muy recientes de BM3D, [24] y [25], se generaliza para convertirse en una herramienta genérica de restauración de imágenes, incluyendo la eliminación de la borrosidad. Un análisis previo sobre BM3D [27] estudia la fuerte caída del rendimiento de la eliminación de ruido cuando la desviación estándar del ruido alcanza los 40. En [26] se han estudiado pocos parámetros y sólo para un gran valor de ruido. Para un gran valor de ruido, el valor de umbral durante la primera etapa necesita ser aumentado y los mejores resultados se consiguen usando una ondeleta 2D biortogonal, durante el segundo paso y manteniendo un tamaño de parches 8x8 en ambos pasos. Además es interesante notar que los artículos recientes que tratan de evaluar los límites inherentes de los métodos de eliminación de parches basados en parches sostienen que BM3D está realmente cerca de los límites de optimización [28], [29]. En la familia de los filtros no locales se destaca el filtro BM3D que demostró ser más eficiente para procesar la mayoría de las imágenes en escala de grises [8], [12] y las componentes de las imágenes en colores
31
[50] contaminadas por el ruido AWGN. Arquitectura del algoritmo Continuación se describe cómo procesar imágenes en niveles de gris. La extensión a las imágenes en colores se explicará más adelante. En todo lo que sigue trabajamos en el caso del ruido Gaussiano blanco donde la varianza se denota por El algoritmo se divide en dos pasos:
1) El primer paso estima la imagen degradada usando umbrales duros durante el colapso de la iteración. Los parámetros en este paso son denotados por el exponente duro.
2) El segundo paso se basa tanto en la imagen ruidosa original como en la estimación
básica obtenida en la primera etapa. Utiliza la iteración de Wiener. Por lo tanto, el segundo paso es denotado por el exponente Wiener.
El algoritmo se resume en las dos pasos como se muestra en la Figura 2.6. La Figura 2.8 muestra los parches, una ventana de búsqueda centrada en el parche de referencia P, e ilustra la superposición de parches que conduce a múltiples estimaciones. La Figura 2.7 muestra la notación.
Figura 2. 6 Esquema del algoritmo BM3D
Figura 2. 7 Notación
32
Figura 2. 8 Parches, ventana de búsqueda y solapamiento
El primer paso de eliminación de ruido. Denotamos con el parche actual de referencia cuyo tamaño es del bucle de la imagen. La primera sub-etapa es la agrupación. La imagen ruidosa original se busca en un P-centro de parches vecinos similares a la referencia del parche . El conjunto de parches similares es simplemente definido por:
(2.10) Donde:
es el umbral de distancia para bajo el cual dos parches se asumen similares
‖ ‖
es la normalización de la distancia cuadrática entre los
parches
es un operador de umbral duro con umbralado . Para uno tiene
. Simplemente se ponen en cero los coeficientes del parche con un valor
absoluto por debajo del umbralado . Los otros coeficientes no varían. Para
todos los coeficientes no varían.
es la varianza del ruido Gaussiano de media cero.
33
El grupo 3D, denotado por , se construye acumulando los parches emparejados .
Para aumentar la velocidad del proceso, solamente los parches en que están más cerca del parche de referencia se mantienen en el grupo 3D. Los parches en se clasificarán según su distancia a , para tomar los parches similares más fácilmente. Así, naturalmente, el primer parche será P porque su distancia a sí misma es cero. El orden de los parches en el grupo 3D no es importante: Los resultados son similares, independientemente de si se ordenan según su distancia al parche de referencia, o simplemente al azar. Filtrado colaborativo Una vez construido el bloque 3D P(P), se aplica la iteración colaborativa. Se aplica una transformación lineal isométrica 3D al grupo, seguida por una contracción del espectro de transformación. Finalmente se aplica la transformación lineal inversa para estimar para cada parche.
(2.11)
Donde es un operador de umbralado duro con umbral :
(2.12)
𝑖
Agregación Cuando se realiza el filtrado colaborativo, obtenemos una estimación para cada parche utilizado y luego un número variable de estimaciones para cada píxel. Estas estimaciones se guardan en un buffer:
(2.13)
Donde define el numerador en la parte de la imagen obtenida al final del paso de agrupación.
es la estimación del palor del pixel x al parche Q obtenido durante el filtrado de la referencia del parche P.
(2.14)
34
Es el número de coeficientes retenidos (no nulos) en el bloque 3D después de un umbral duro. El interés de esta ponderación es que da prioridad a los parches homogéneos (donde hay muchos coeficientes cancelados). Los parches que contengan un borde serán menos tomados en cuenta que los homogéneos en el borde de la arista. En la Figura 2.9 se ilustra este hecho: se da prioridad a los parches verdes durante la agregación.
Figura 2. 9 Los parches verdes tendrán un peso superior a los parches rojos, porque tienen más dispersión (Tienen menos coeficientes de transformación distintos de cero).
El resultado es una reducción de los artefactos alrededor de los bordes y evita los efectos clásicos del timbre observables con los métodos del umbral de transformación. Con el fin de reducir más los efectos fronterizos que pueden aparecer, una ventana Kaiser se utiliza como parte de los pesos. Simplemente se realiza como una multiplicación elemento por elemento entre la ventana de Kaiser y el parche estimado después de la transformación inversa en 3D. La estimación básica después del primer paso esta dada por:
(2.15)
35
Que es simplemente obtenida por la división de dos buffers (numerador y denominador) elemento por elemento, con si y solo si en otro caso.
El segundo paso eliminación de ruido
En esta segunda parte del algoritmo una estimación básica de la imagen degradada esta disponible. El segundo paso realiza un filtrado de Wiener de la imagen original u, pero utiliza
como oráculo la estimación básica . Agrupando La concordancia de parches sólo se procesa en la estimación básica. Cuando un conjunto de parches similares
(2.16) Han sido obtenidos dos grupos 3D son formados:
por apilamiento de los parches de la estimación básica y; P(P) por apilar los parches en el mismo orden junto de la misma imagen original con ruido u. Filtrado colaborativo Cuando los dos grupos 3D son obtenidos el filtro colaborativo puede ser lanzado. Para ello, los coeficientes empíricos de Wiener se definen por
(2.17)
El filtro colaborativo de Wiener de P(P) se realiza multiplicando elemento por elemento de la
transformada 3D de la imagen con ruido con los coeficientes de Wiener. A través
de este sub-proceso una estimación del grupo 3D es obtenido como:
(2.18) Agregación
36
El filtrado colaborativo es obtenido, las estimaciones para todos los pixeles son guardados en un buffer:
(2.19) En [20], durante la sub-etapa de agregación de parches, se aplica una ventana Kaiser a cada parche para atenuar ligeramente los bordes del parche. Sin embargo, los resultados experimentales muestran que las ventanas Kaiser no mejoran el PSNR, y son visualmente menos eficientes que la ponderación.
Representación esparcida La representación esparcida de señales ha sido de gran interés de estudio en los
años recientes. El problema a resolver de la representación esparcida está en la
búsqueda de compactar una señal en términos de una combinación lineal de
átomos en un “diccionario sobre-completo”. Comparando los métodos basados en
transformaciones orto-normales o procesamiento en el dominio del tiempo, la
representación esparcida ofrece un mejor rendimiento en el modelado de señales.
Las señales discretas son vectores en N-dimensiones denotados en un espacio
euclidiano por . El conjunto de señales atómicas es llamado base
para el conjunto si las señales atómicas, también llamadas átomos, son
linealmente independientes.
Esto implica que cada señal en puede ser únicamente reconstruida por una sola
combinación lineal de átomos en .
∑ (2.20)
Donde y es una matriz compuesta de columnas y las
entradas del vector son los coeficientes de esta combinación
lineal.
Si los elementos de la base son mutuamente otonormales entonces si
𝑖 y cada átomo radicara en la híper- esfera . Después de
esto, la base está completa como es el caso de la base de Fourier.
37
Permitiendo el uso de átomos linealmente dependientes el diccionario respectivo
de la matriz llega a ser redundante. Existen múltiples opciones del vector para
la construcción de una señal acorde a .
Decimos que la señal admite una representación esparcida sobre la base
cuando es concisamente reconstruida con pocos átomos y la señal es caracterizada
por un factor esparsivo L cuando su representación esparcida tiene L entradas
diferente de cero .
L (2.21)
El resultado de la representación, es un poderoso modelo para reducción de
almacenamiento y transmisión. Este modelo sugiere diccionarios redundantes
óptimos para diferentes clases de señales.
2.5.4. K-LLD
En [30] se propone el K-LLD, es una técnica basada en clustering y formación de
diccionarios de parches para supresión de ruido localmente adaptable usando la
regresión kernel. Para un mejor desempeño en clustering, se emplean como
características funciones de peso local derivadas de [31].Estos pesos son
extremadamente informativos y robustos en transmitir información local fiable
sobre la imagen incluso en presencia de cantidades significativas de ruido. Se
modela cada región (o agrupación) -que puede no ser espacialmente contigua-
"aprendiendo" una mejor base describiendo los parches dentro de ese grupo usando
el análisis de componentes principales.
Esta base aprendida (o "diccionario") se emplea entonces para estimar
óptimamente los valores de píxeles subyacentes usando un marco de regresión de
kernel. Se elige el tamaño de parche para cada grupo usando el estimador de
riesgo imparcial de Stein (SURE).
El algoritmo tiene como objetivo mejorar el exitoso marco de regresión del kernel
eliminando ciertas limitaciones; A saber, la naturaleza estática del diccionario, y la
constancia del orden de aproximación a través de la imagen. Se realiza esta tarea
con un algoritmo basado en clusters que consta de tres etapas como se muestra en
la Figura 2.10: el paso de agrupación en el que se agrupa la imagen utilizando
características que capturan la estructura local de los datos de imagen
subyacentes (parches de píxeles de la imagen), La etapa de selección de diccionario
en la que se forma un diccionario optimizado que se adapta a la estructura
geométrica de los parches de imagen en cada grupo; Y, finalmente, la etapa de
38
cálculo de coeficientes donde se calculan los coeficientes para la combinación lineal
de átomos de diccionario, sujetos a los pesos de núcleo (de dirección).
Figura 2. 10 Diagrama de bloques del K-LLD
En la Figura 2.11 se muestra la comparación de varios métodos en la eliminación
de ruido en donde se toma como muestra una imagen de un perico degradada por
ruido Gaussiano. Los resultados obtenidos por dos versiones del método K-LLD, en
el caso en el que el tamaño del soporte del núcleo es fijo y el caso en el que se
permite que el tamaño del soporte varíe entre clústeres.
Para la versión de tamaño de ventana fija, se utilizó un tamaño de parche
típicamente entre 11x11 y 15x15, dependiendo de la cantidad de ruido presente en
la imagen.
39
Figura 2. 11 Comparación de eliminación de ruido en una imagen corrompida por ruido Gaussiano.
(a) Imagen original (b) imagen con ruido (c) GSM [32] (d) BM3D (e) SKR (f) K-SVD
(g) K-LLD (arreglando el tamaño del kernel) (h) K-LLD (adaptando el tamaño del
kernel).
Regresión del Núcleo Directivo
Mientras que la regresión del núcleo es un método bien estudiado en la estadística
y el procesamiento de la señal, recientemente se usó con buenos resultados para
tratar problemas de procesamiento de imágenes como, interpolación y eliminación
de la borrosidad por Takeda et al. [33]. Aunque se puede demostrar que muchos
métodos de eliminación de imágenes tienen una correspondiente formulación de
regresión del núcleo [34], [35] - [36], el método de regresión del núcleo de dirección
(SKR) se distingue por la forma en que forma los pesos de regresión local. Los
pesos utilizados en cada uno de los métodos en [38], [39], [40] pueden considerarse
una medida de similitud de un grupo de píxeles en comparación con un
determinado píxel o vecindad de píxeles en consideración. Para los métodos
localizados, un parche local de pesos alrededor de cada píxel (en lo sucesivo
denominado núcleos) necesita ser estimado. En SKR, una estimación robusta del
gradiente se tiene en cuenta al analizar la similitud radiométrica de dos píxeles en
un barrio (parche). Esta información se utiliza para determinar la forma y el
tamaño de un Núcleo canónico (en particular, un Gaussiano). El núcleo de
dirección en este caso particular puede expresarse como
√
{( )
} (2.22)
Donde describe la similaridad del j-ésimo pixel con respecto del i-ésimo pixel,
denota la localización del i-ésimo y el j-ésimo pixeles respectivamente y
40
es un parámetro que controla el soporte de dirección del kernel. La matriz
denota la matriz simétrica de covarianza del gradiente formado de la estimación
vertical y horizontal de los gradientes del j-ésimo pixel.
2.5.5. GPH (Preservación del Histograma de Gradiente)
Es una técnica no-local basada en clustering, formación de diccionarios de parches
basados en PCA y medidas especiales para preservar histogramas locales.
En [41] se propone un método de degradación de imagen mejorada mediante la
imposición del histograma de gradiente de la imagen degradada para que esté
cerca de un histograma de gradiente de referencia de la imagen original. Dado el
histograma de gradiente de referencia, se desarrolla un nuevo algoritmo de
conservación de histograma de gradiente (GHP) para mejorar las estructuras de
textura mientras se elimina el ruido. Se proponen dos variantes basadas en
regiones de GHP para la eliminación de imágenes que consisten en regiones con
diferentes texturas.
Un problema común de los métodos de degradación de imagen es que los detalles
de escala fina de la imagen tales como estructuras de textura serán suavizados.
Una imagen excesivamente suavizada tendrá gradientes mucho más débiles que la
imagen original. Intuitivamente, una buena estimación de x sin alisar demasiado
las texturas debe tener una distribución de gradiente similar a la de x. Con esta
motivación, en [44] un modelo de degradación de la conservación del histograma
(GHP) para la degradación de imagen mejorada de textura, cuyo marco se ilustra
en la Figura 2.12.
41
Figura 2. 12 Proceso del algoritmo
Los buenos priores de las imágenes naturales son cruciales para el éxito de un
algoritmo de eliminación de imágenes. Una adecuada integración de diferentes
prioridades podría mejorar aún más el rendimiento de eliminación. Por ejemplo,
los métodos en [41], [42], [43] integran la imagen anterior con no local NSS, y han
mostrado prometedores resultados en la eliminación de ruido.
En el GPH, se adopta el siguiente término de regularización no local escaso
propuesto en el modelo de representación esparcida no centralizada (NCSR) [41]:
(2.23)
El GPH puede ser modelado como
(2.24)
42
2.6. Estimador de mínimo error cuadrático medio (MMSE)
El estimador de mínimo error cuadrático medio (Minimum Mean Square Error,
MMSE) es el asociado a la función de coste y por lo tanto
queda caracterizado por
𝑖 𝑖 ∫ ( )
(2.25)
La Figura 2.13 ilustra el problema de diseño del estimador de minimo error
cuadrático medio. El coste medio a posteriori se puede obtener integrando en la
función que resulta del producto de la función coste y de la densidad de
probabilidad a posteriori de S. el argumento para la minimización es , lo que
permite desplazar la gráfica correspondiente a la función de coste (representada
con trazo discontinuo) de forma que el resultado de dicha integral sea mínimo.
Figura 2. 13 Gráfica correspondiente a la función de coste
43
Wl valor de puede obtenerse de forma analítica tomando la derivada del
coste medio a posteriori e igualando el resultado a 0. El cálculo de la derivada no
plantea ninguna dificultad ya que la derivada y la integral pueden conmutarse (se
integra respecto de y se deriva respecto de ):
{ }
|
∫
(2.26)
Teniendo en cuenta la integral que aparece debe anularse, y utilizando el hecho de
que ∫ , resulta sencillo demostrar que el estimador de mínimo
error cuadrático medio de S viene dado por
∫
(2.27)
En otras palabras, el estimador de mínimo error cuadrático medio de S es la media
a posteriori de S dado X, i.e., la media de
2.7. Desviación Absoluta Media (MAD)
De forma similar a como hemos procedido para el caso del estimador ,
podemos calcular el estimador asociado al valor absoluto del error de estimación,
. Dicho estimador, al que nos referimos como estimador de
mínimo error absoluto (Mean Absolute Deviation, MAD), esta caracterizado por
𝑖 𝑖 ∫ ( )
(2.28)
Nuevamente, resulta sencillo ilustrar el proceso de cálculo del coste medio a
posteriori superponiendo en unos mismos ejes el coste expresado como función de s
y la distribución a posteriori de la variable a estimas. Dicha representación sugiere
también la conveniencia de partir la integral en dos tramos correspondientes a las
dos ramas de la función de coste:
∫ ∫
[∫ ∫
] ∫
∫
(2.29)
El teorema fundamental del cálculo permite obtener la derivada del sote medio a
posteriori como
44
{ }
(2.30)
Donde es la función de distribución a posteriori de S dado X. dado que
representa el mínimo del coste medio, la derivada anterior debe anularse
para el estimador, por lo que se ha de verificar que Dicho de
otra manera, el estimador de mínimo error absoluto viene dado por la mediana de
:
Figura 2. 14 grafica mediana de una distribución es el punto que separa dicha distribución en dos regiones
𝑖 (2.31)
La mediana de una distribución es el punto que separa dicha distribución en dos
regiones que acaparan la misma probabilidad, como se muestra en la Figura 2.14,
por lo que el estimador de mínimo error absoluto medio verificara que:
(2.32)
45
2.8. Filtrado MAP (Máxima Aproximación a Posteriori)
Como su propio nombre indica, el estimador de máximo a posteriori (Maximum a
Posteriori, MAP) se define como el valor de S que maximiza la distribución de
probabilidad a posteriori de dicha variable, i.e., el valor de S que concentra mayor
densidad de probabilidad para cada valor de la variable observable:
(2.33)
En sentido estricto, el estimador MAP no es bayesiano, porque no minimiza
ningún coste medio, no obstante, si consideramos la función de coste
{
(2.34)
Y denotamos por el estimador bayesiano asociado a la misma, puede
comprobarse que . El estimador MAP es, por tanto, un caso límite
de una familia de estimadores bayesianos.
Figura 2. 15 grafica de caso límite de una familia de estimadores bayesianos
46
Por otro lado, por motivos prácticos, para la maximización de
(2.35)
Puede ser útil introducir una función auxiliar que simplifique la forma analítica
de la función a maximizar. Así, por ejemplo,
(2.36)
Es completamente equivalente a
[ ] (2.37)
Dado que la función logaritmo está definida para todo valor positivo de su
argumento y es estrictamente creciente (lo que significa que si
, como se muestra en la Figura 2.15, entonces también [ ]
[ ]. La introducción de la función logaritmo resultará útil cuando la
distribución a posteriori de S dado X presente productos o exponenciales, ya que
transformará productos en sumas y cancelará las exponenciales. De esta manera,
el proceso de maximización puede simplificarse considerablemente.
2.9. Filtrado Local de Wiener
De la teoría de procesos estocásticos se sabe que cualquier combinación lineal de
dos procesos de ruido Gaussiano resulta en un proceso Gaussiano, mientras que el
promedio de dos imágenes no produce otra que sea legítima. Más aún, la
permutación aleatoria del ruido Gaussiano no altera sus propiedades estadísticas,
mientras que la permutación aleatoria de los pixeles de una imagen destruiría con
seguridad su contenido; de tal suerte que podemos asegurar que el AWGN es
invariante a la traslación o fuertemente estacionario, mientras que las
propiedades estadísticas de una imagen varías de región en región. A pesar de que
la técnica del filtrado local de Wiener fue desarrollado hace ya más de treinta años
[26], la idea básica detrás de la estimación local de la media y la varianza sigue
siendo relevante y ha sido utilizada ampliamente en la literatura de la eliminación
de ruido basado en la transformada Wavelet. Como sugiere la fórmula del filtrado
clásico de Wiener, un filtro óptimo para una variable aleatoria Gaussiana
contaminada por AWGN 𝑤 está dada por
47
,
(2.38)
donde ,
denotan la varianza de la señal y del ruido, respectivamente. En
presencia de muestras ruidosas ,…, , una estimación de máxima
verosimilitud de la varianza de la señal se puede obtener por
∑
(2.39)
donde
∑
es la media de la señal (bajo la condición de media cero
del AWGN).
El único parámetro definido por el usuario es el tamaño de la venta local ,
decrementar o incrementar el tamaño de la ventana deberá reflejar el hecho de
que las propiedades estadísticas locales cambien más rápido o más lento de región
en región. La Figura 2.16) muestra la comparación de la eliminación de ruido de
dos imágenes con el mismo nivel de ruido, por el filtrado local de Wiener, con
ventanas de distinto tamaño.
48
Figura 2. 16 Comparación de dos imágenes a las que se les eliminó el ruido por
filtrado local de Wiener.
Lena (arriba) y Bárbara (abajo), imágenes con y diferentes tamaños de
ventanas: izquierda – [3,3], centro – [11,11], derecha – [19,19].
En la Figura 2.16 es posible observar que (1) conforme el tamaño de la ventana se
incrementa, la supresión de ruido es más efectiva para las imágenes restauradas
parecen más emborronadas; (2) entre Lena y Bárbara, esta última es peor
recuperada por el filtrado local de Wiener debido a que las abundantes texturas
tienden a exceder la varianza estimada de la señal.
Dentro del contexto de la eliminación de ruido en las imágenes, una visión
novedosa a finales de la década de 1980 fue la caracterización de cambios locales o
eventos transitorios. En otras palabras, cómo preservar singularidades (contornos,
líneas, esquinas, etc.) en las imágenes fotográficas podría modificar nuestra
comprensión del filtrado local de Wiener y las herramientas relacionadas.
49
Capítulo 3 Marco Teórico
El presente capítulo versa sobre las técnicas con mayor una breve introducción de
las técnicas más importantes de restauración de imágenes digitales utilizadas en
la actualidad y se sientan las bases teóricas de la restauración de imágenes
digitales así como del proceso de captura de las mismas. Se realiza un modelo de
degradación lineal que da como resultado la imagen observada. Se hace un estudio
de los diferentes modelos de ruido que se utilizan para la restauración de los
fenómenos físicos de degradación. Se definen las herramientas matemáticas
utilizadas en este trabajo como la transformada coseno discreta (DCT) y el
filtrado de Wiener. También se hace un repaso de las diferentes métricas de
restauración utilizadas en este trabajo, principalmente en el capítulo de
experimentos y pruebas realizadas. Se define el fenómeno de deburringing y se
hace una introducción a los filtros adaptables locales óptimos.
50
3.1. Imagen digital
En numerosas ocasiones se piensa en” ‘lo que se ve”’ como en” ‘lo que está ahí”’,
cuando en realidad el ojo humano sólo percibe una pequeña zona del espectro
electro-magnético (E-M) conocida como ” ‘espectro visible”’. Con el avance de la
tecnología existe un amplio rango de la radiación E-M que se puede detectar y
registrar como imágenes, para posteriormente analizar, transmitir o almacenar
Figura 3.1.
Figura 3. 1 Espectro visible por el ojo humano.
Una imagen puede definirse como una función bidimensional, , donde y
son coordenadas (planas) espaciales y la amplitud de , en cualquier par de
coordenadas , es llamada la intensidad o nivel de gris de la imagen en ese
punto.
51
Cuando , y los valores de amplitud de son todos cantidades discretas finitas,
le llamamos a la imagen una imagen digital.
De acuerdo a la resolución que presenta la imagen, estática o dinámica, se podrá
hablar de gráfico rasterizado (o mapa de bits; representa una rejilla rectangular de
píxeles o punto de color, la cual se puede visualizar en un monitor, en un papel o
en cualquier otro dispositivo de representación que se emplee) o de gráfico
vectorial (imagen producto de objetos de geométricos independientes; la principal
diferencia que presenta respecto de la anterior es la posibilidad de ampliar el
tamaño de la imagen sin que la misma pierda su escala tal como sucede en el caso
de los gráficos rasterizados), respectivamente.
Mientras tanto, la imagen digital podrá ser obtenida a partir de dispositivos de
conversión analógica digital, tal es el caso de los escáneres y las cámaras
fotográficas digitales, o en su defecto a través de programas informáticos
pertinentes como ser realizando dibujos con el mouse o por medio de un programa
de renderización 2D.
Respecto de su conformación, la mayoría de los formatos digitales respetan una
misma estructura: cabecera con atributos: dimensión de la imagen y el tipo de
codificación, entre otros; datos de la imagen en sí. Tanto los atributos como los
datos de la imagen serán diferentes en cada formato.
3.2. Representación de una imagen digital
El término "imagen monocromática" o imagen simplemente, se refiere a una
función de intensidad de luz bidimensional f(x,y), donde x e y indican las
coordenadas espaciales y el valor de f en cualquier punto (x,y) es proporcional a la
luminosidad (o nivel de gris) de la imagen en dicho punto.
Una imagen digital es una imagen (función) f(x,y) que ha sido discretizada tanto
en coordenadas espaciales como en luminosidad. Una imagen digital puede ser
considerada como una matriz cuyos índices de renglón y columna identifican un
punto (un lugar en el espacio bidimensional) en la imagen y el correspondiente
valor de elemento de matriz identifica el nivel de gris en aquel punto. Los
elementos de estos arreglos digitales son llamados elementos de imagen o pixels.
52
En el tratamiento de imágenes se pueden distinguir tres etapas principales:
1. Captura de la imagen.
2. Procesamiento de la imagen.
3. Presentación al observador.
3.3. Imagen en escala de grises
Una imagen en escala de grises está conformada únicamente por una capa, la cual
muestra la intensidad de luz que refleja cada objeto en tonos de gris, que va en un
rango de 0 a 255.
Una forma sencilla de convertir una imagen en color a una imagen en escala de
grises es sumando los tres valores de las bandas RGB y después dividirlos entre 3.
𝑖
(3.1)
Donde f es la imagen, i el valor vertical del pixel, j el valor horizontal del pixel y R,
G y B son los canales de los tres colores primarios. Al convertir una imagen a
escala de grises, se pierden los valores originales de la imagen a color, es decir el
proceso no es reversible, por lo que al convertir una imagen a escala de grises no se
puede recuperar la imagen original.
3.4. Mapa de bits
El concepto de mapa de bits se emplea para designar a aquella imagen que
justamente se presenta en mapa de bits, que consiste en una estructura de forma
rectangular formada por píxeles o puntos de color, y que puede visualizarse en un
monitor, en un papel, o en cualquier otro dispositivo que permita la representación
de imágenes.
Cabe destacar que al mapa de bits también es posible denominarlo como imagen
matricial, bitmap y raster image, siendo las últimas dos denominaciones comunes
en el idioma inglés.
53
Figura 3. 2 Mapa de bits
Al tipo de imagen en mapa de bits se las determina tanto por su altura como por
su ancho de píxeles y por la profundidad del color. Tales cuestiones son las que
terminan por establecer el número de colores diferentes que se pueden almacenar
en cada punto y por tanto también determinará la calidad del color de la imagen.
Se trata de un tipo de formato sumamente extendido en el mundo entero y es el
que más se emplea a la hora de la toma de fotografías digitales y de grabaciones en
video, en la Figura 3.2 se muestra el mapa de bits. Para poder obtener las
imágenes se emplean dispositivos que admiten la conversión de analógico a digital
como ser los escáneres y las cámaras digitales.
Cada punto de color que se representa en la imagen debe contar con la
correspondiente información del color, la cual podrá presentar transparencia o no.
A la transparencia es posible lograrla combinando los colores primarios, rojo,
amarillo y azul.
La imagen en mapa de bits no puede modificar su dimensión sin que tal acción
atente directamente contra la pérdida de calidad, si esto sucede, vaya que será
importante el resentimiento de calidad de imagen. La mencionada es la principal
desventaja que este tipo de imagen implica respecto de la otra alternativa: los
gráficos vectoriales, que sí pueden adaptar la resolución a la del dispositivo de
54
visualización que se trate. Vale mencionar que cuando se intenta aumentar el
tamaño de la imagen es cuando más resiente la calidad.
Por tal cuestión es que el tipo de mapa de bits se aconseja para tomar fotos o
grabar videos, en cambio, los gráficos vectoriales son ideales para representar
figuras geométricas.
3.5. Imágenes degradadas
Las imágenes digitales no se aprecian en su forma original ya que son afectadas
por señales indeseadas que degradan la imagen obtenida, y esto se debe a muchos
factores que pueden ser externos como el sensor de la cámara con la que
capturamos la imagen, a un mal ajuste de las lentes al momento de obtener la
imagen o a un movimiento relativo entre el objeto capturado y el dispositivo de
captura.
3.6. Modelo del proceso de degradación
El proceso de degradación se modela como la función de degradación que, junto con
un término de ruido aditivo, opera sobre una imagen de entrada f(x,y) para
producir una imagen degradada g(x,y) como en la Figura 3.3.
Figura 3. 3 Modelo del proceso de degradación
Dada g(x,y), algún conocimiento de la función de degradación H, y algún
conocimiento del término de ruido aditivo (x,y) , el objetivo de la restauración es
obtener un estimado de la función original .
55
Queremos estimar lo más cercanamente posible la imagen original de entrada, y
en general se tiene que, mientras más sepamos de H y , estará más cerca
de .
Si H es lineal y es un proceso invariante a la posición, entonces la imagen
degradada está dada, en el dominio espacial por:
(3.2)
Donde h(x,y) es la representación espacial de la función de degradación y, el
símbolo “*” indica convolución
Sabemos, por el teorema de la convolución, que la convolución en el dominio
espacial es igual a la multiplicación en el dominio de la frecuencia, por lo que la
forma equivalente del modelo de degradación en el dominio de la frecuencia está
dada por:
(3.3)
Donde los términos en mayúscula representan las transformadas de Fourier de los
términos correspondientes a la ecuación anterior.
3.7. Captura de la imagen
La captura de la imagen está a cargo de algún transductor o conjunto de
transductores que mediante la manipulación de la luz o de alguna otra forma de
radiación que es emitida o reflejada por los cuerpos, se logra formar una
representación del objeto dando lugar a la imagen. Ejemplos: el ojo humano,
sensores de una cámara fotográfica o de vídeo, tomógrafos. Es importante saber
que durante la etapa de captura, los transductores agregan ruido a la imagen.
Además del ruido, los transductores poseen una resolución limitada, lo cual
repercute en la apreciación de dicha imagen. El procesamiento digital de la imagen
consiste en eliminar la mayor cantidad de ruido que se le agrega durante la
captura así como también mejorar las características de dicha imagen como:
definición de contornos, color, brillo, etc., valiéndose de procedimientos y
herramientas matemáticas. En esta etapa se encuentran también técnicas de
codificación para el almacenamiento o bien para la transmisión. La presentación al
observador consiste en el método empleado para exponer la imagen la cual puede
56
ser impresa o por medios electrónicos como la televisión, el monitor de una
computadora, o algún otro medio. Para la presentación de la imagen se deben
considerar ciertos aspectos de percepción humana así como las velocidades de
despliegue del dispositivo utilizado. Algunos de los problemas característicos en el
diseño de estos subsistemas que involucran el uso de representaciones de señales
son las siguientes: Los dispositivos sensoriales realizan un número limitado de
mediciones sobre las señales de entrada; estas mediciones deben ser adecuadas
para obtener aproximaciones útiles. Decidir que mediciones realizar y como
usarlas de tal manera que aproximen mejor a la señales de entrada son los
problemas que deben ser resueltos. Para la selección del procesamiento y/o
codificación que se hará sobre una señal, es necesaria una interpretación de las
componentes de la señal. El modelo del sistema de visión humano puede ser
utilizado en ciertas etapas de procesamiento para dicha interpretación. Los
dispositivos de despliegue sintetizan una imagen usando un número finito de
respuestas básicas de despliegue, como los puntos de fósforo utilizados en un tubo
de rayos catódicos. Seleccionar el tamaño y la forma de éstas respuestas de
despliegue, la configuración (número y posición relativa) y como pueden ser
controlados de la mejor manera óptima para obtener imágenes con la
calidad/fidelidad requerida son aspectos que deben ser cubiertos. Realizar un breve
estudio sobre el funcionamiento del sistema visual humano (Human Visual
System, HVS) será de utilidad para entender mejor la forma en que percibimos las
imágenes y con ello, poder explotar estas características en el tratamiento digital
de imágenes. Es posible modelar el ojo humano como un sistema lineal e
invariante en el tiempo (SLI). Para ello se deben tener presentes dos conceptos: La
respuesta al impulso, que es una función que describe el comportamiento en el
tiempo de un sistema, en nuestro caso el sistema es el ojo. Una vez obtenida la
respuesta al impulso, se realiza la convolución de la función obtenida con cualquier
otra función con el objetivo de observar y conocer la respuesta del sistema a esa
nueva función. La función de transferencia; esta función describe al sistema en el
dominio de la frecuencia, y es la transformada de Fourier de la respuesta a
impulso. El ojo se puede modelar como un sistema que modifica funciones y que
depende de tres variables, dos espaciales y una temporal. La respuesta puede ser
representada como una función que también depende de tres variables (dos
espaciales y una temporal). En un primer análisis del sistema visual humano se
pueden omitir las variables espaciales y solamente evaluar su comportamiento con
la variable temporal. Se encontró que el ojo es incapaz de distinguir una sucesión
rápida de imágenes, y al observar su respuesta en frecuencia, se determinó que su
comportamiento correspondía al de un filtro paso-bajas, cuya frecuencia de corte se
ubicaba en el intervalo de 24 a 30 imágenes por segundo. Este fenómeno se puede
apreciar en los televisores antiguos, pues su frecuencia de barrido vertical es de
57
menor rapidez que el necesario, para que el ojo pueda ver una imagen continua,
presentando un efecto conocido como flicker. También la respuesta en frecuencia
del ojo puede variar, según la intensidad de la luz, ante imágenes poco brillantes la
frecuencia de corte es menor, y con imágenes altamente brillantes la frecuencia de
corte aumenta. En el sentido espacial el comportamiento del ojo también ha sido
motivo de estudio, lo que ha permitido conocer más acerca de cómo vemos. Por
ejemplo, en las pantallas de cristal líquido (LCD, Liquid Crystal Display), los
cristales de un mismo color se colocaban en líneas verticales, lo que daba como
resultado una resolución desagradable a la vista del observador; esto motivó a los
investigadores a buscar una solución que mejorara la calidad de la imagen. Esta
investigación arrojó dos posibles soluciones: disminuir el tamaño de los cristales de
tal forma que la resolución aumentara, o cambiar la disposición de los cristales de
forma que en lugar de formar líneas verticales formaran líneas diagonales. En
cualquiera de ambos casos, la apariencia de la imagen mejoró significativamente a
la vista del observador. Se eligió la segunda opción porque se invierte la misma
cantidad de dinero en la construcción de la pantalla, pero se mejora
considerablemente la calidad; la explicación es que las células receptoras de luz del
ojo están dispuestas de tal manera que forman arreglos hexagonales, y las líneas
de LCD al ser diagonales, también construyen pequeños hexágonos que permiten
tener una mejor adaptación a las células receptoras del ojo. En la siguiente Figura
3.4, se puede entender la explicación anterior.
Figura 3. 4 Muestras del LCD
El ruido en las imágenes se manifiesta como un aumento en la brillantez de
algunos pixels más que en otros, es un problema común y complicado de resolver.
3.8. Modelos de ruido
Las fuentes principales de ruido en las imágenes digitales son durante la captura
(digitalización) y/o durante la transmisión. El desempeño de los sensores de
imágenes es afectado por una variedad de factores, como son las condiciones
58
ambientales durante la captura de la imagen y por la calidad de los elementos de
sensor.
Por ejemplo, cuando capturamos imágenes con una cámara CCD, los niveles de
iluminación y la temperatura del sensor son los factores primordiales que afectan
con ruido a las imágenes. Las imágenes se corrompen durante la transmisión
debido principalmente a interferencias en el canal de transmisión.
3.8.1. Ruido Gaussiano
Debido a su facilidad matemática tanto en el dominio espacial como en el de la
frecuencia, el modelo de ruido Gausiano (tambien llamado normal) se utiliza
enormemente en la práctica.
La FDP de una variable aleatoria Gausiana z, está dada por:
√
(3.4)
donde z representa el nivel de gris, es el valor promedio de z, y es su desviación
estándar. La desviación estándar al cuadrado, , se llama la varianza de z.
Cuando z se describe mediante la ecuación anterior, aproximadamente el 70% de
sus valores caen en el rango de [(- ), (+ )] , y alrededor del 95 % estarán en el
rango de [(-2 ),(+ )].
59
Figura 3. 5 Gráfica de Gauss
Figura 3. 6 Influencia del ruido Gaussiano según la varianza
3.8.2. Ruido blanco
El ruido blanco o sonido blanco es una señal aleatoria (proceso estocástico) que se
caracteriza por el hecho de que sus valores de señal en dos tiempos diferentes no
guardan correlación estadística. Como consecuencia de ello, su densidad espectral
de potencia (PSD, siglas en inglés de power spectral density) es una constante, es
decir, su gráfica es plana. Esto significa que la señal contiene todas las frecuencias
y todas ellas muestran la misma potencia. Igual fenómeno ocurre con la luz blanca,
de allí la denominación.
Ruido blanco - Ruido aleatorio que posee la misma densidad espectral de potencia
a lo largo de toda la banda de frecuencias. Dado que la luz blanca es aquella que
contiene todas las frecuencias del espectro visible, el ruido blanco deriva su
nombre de contener también todas las frecuencias, pero de sonido.
El ruido blanco es una señal no correlativa, es decir, en el eje del tiempo la señal
toma valores sin ninguna relación unos con otros. Cuando se dice que tiene una
densidad espectral de potencia plana, con un ancho de banda teóricamente infinito,
es que en una gráfica espectral de frecuencia tras haber realizado una
descomposición espectral de Fourier, en el dominio de la frecuencia veríamos todos
60
los componentes con la misma amplitud, haciendo el efecto de una línea continua
paralela al eje horizontal.
Si la PSD no es plana, entonces se dice que el ruido está "coloreado"
(correlacionado). Según la forma que tenga la gráfica de la PSD del ruido, se
definen diferentes colores.
El ruido blanco es un caso particular de proceso estocástico WSS en el cual
las variables aleatorias que lo forman no están correlacionadas. Es decir, si se
tiene un proceso estocástico {\displaystyle w(k)} WSS (lo supondremos de
tiempo discreto y real, de manera equivalente para procesos de tiempo continuo),
debe ocurrir entonces que:
(3.5)
Si, en lugar de tener la distribución de probabilidad del proceso, lo que tenemos es
una realización temporal del mismo en forma de vector w, entonces las ecuaciones
anteriores se expresarán normalmente en forma matricial.
(3.6)
3.8.3. Propiedades espaciales y de frecuencia del ruido
Serán relevantes en esta discusión, los parámetros que definen las características
espaciales del ruido y si el ruido está o no correlacionado con la imagen.
Las propiedades de frecuencia se refieren al contenido de frecuencias del ruido en
el sentido de Fourier. Por ejemplo, cuando el contenido del espectro de Fourier del
ruido es constante se conoce como ruido blanco.
61
Con excepción del ruido espacial periódico, asumiremos en esta discusión, que el
ruido es independiente de las coordenadas espaciales, y que no existe correlación
con respecto a la imagen misma.
3.9. Algunas funciones importantes de densidad de
probabilidad del ruido
Basados en las suposiciones anteriores, el descriptor de ruido espacial en el que
nos enfocaremos está relacionado con el comportamiento estadístico de los valores
de los niveles de gris en las componentes del ruido del modelo de degradación.
Estos componentes pueden ser considerados como variables aleatorias y son
caracterizados por una función de densidad de probabilidad (FDP). En adelante
veremos dos tipos importantes de FDP encontradas en aplicaciones de
procesamiento de imágenes.
3.10. Filtrado óptimo lineal: el filtro de Wiener
Se considera una clase de filtros óptimos lineales de tiempo discreto, como filtros
de Wiener. La teoría para filtros de Wiener es formulada para el caso general de
series de tiempo de valores complejos con el filtro especificado en términos a su
respuesta al impulso. Las series temporales de valores complejos es muy útil en la
práctica; en muchas aplicaciones, como comunicaciones, radar y sonar, la señal de
interés de banda base aparece en forma compleja; el término banda de base se usa
para designar una banda de frecuencias, que representa la señal original
entregada por la fuente de información.
3.10.1. Formulación del problema del filtrado óptimo lineal.
El diagrama de bloques de la Figura 3.7 representa el problema de la filtración
estadística. El diagrama es construido alrededor de un filtro lineal de tiempo
discreto. La entrada consiste en una serie de tiempo y el filtro es
caracterizado por su respuesta al impulso En algún tiempo discreto ,
62
el filtro produce una salida denotada como . Se usa una salida como una
estimación de una respuesta deseada. El error de estimación se define como la
diferencia entre la respuesta deseada y la salida del filtro .
Figura 3. 7 Filtro óptimo lineal
La salida del filtro se define con la suma de la convolución lineal:
,...2,1,0 ,0
*
nknuwnyk
k (3.7)
Donde el asterisco denota la operación de conjugación compleja. La esencia del problema de filtración óptima lineal es diseñar un filtro lineal de tiempo discreto, cuya salida provee una estima de una respuesta deseada con un conjunto dado de muestras de entrada la cual minimiza el valor cuadrático mínimo del error de estimación , el cual se define como la diferencia entre la respuesta deseada y la respuesta actual .
3.10.2. Filtro de Wiener de imágenes digitales
El filtro de Wiener trata de encontrar una estimación de la forma que
minimice el error cuadrático promedio entre la imagen original y la imagen
estimada, , donde es el operador de esperanza matemática.
Los valores óptimos de y se pueden obtener mediante el principio de
ortogonalidad, el cual especifica dos condiciones:
Entrada
u ,u ,u ,...(0) (1) (2)Filtro
lineal detiempo discreto
, , ,...w w w0 1 2
Salida
y(n)
Respuestadeseadad(n)
- +
Errorde estimacióne(n)
63
(1) el valor esperado de la estimación debe ser igual al valor esperado de la imagen
original, esto es { } ; y
(2) el error de restauración debe ser ortogonal a la observación alrededor de la
media, esto es {( ) } . De la primera condición, el término de
desviación se puede escribir como:
(3.8)
y sustituyendo ese término de desviación y en la segunda condición, la
matriz de restauración resulta:
(3.9)
Donde:
es la matriz de covarianza cruzada entre la imagen
original y la observada.
es la matriz de covarianza de la observación.
Mientras que la solución aplica al ruido al ruido variante espacial también, se
puede simplificar aún más para un sistema lineal invariante espacial. Asumiendo
que la imagen original y el ruido no están correlacionados, el filtro de Wiener para
un sistema lineal invariante espacial se convierte:
(3.10)
Donde:
y son las matrices de covarianza de la imagen original y el ruido.
A menos que los valores esperados de la imagen original y la observada sean cero,
el término de desviación será diferente de cero y deberá ser tomado en cuenta en
la estimación, pero en la práctica es posible evitar tratar con el término de
desviación estimando la media de las imágenes observada y real, restando la
media de la imagen observada de antes de aplicar el filtro y finalmente
añadiendo la media de imagen real para obtener la solución.
64
Podemos obtener un entendimiento más detallado examinando el filtro de Wiener
en la versión del dominio de Fourier, el cual es:
(3.11)
Donde:
y son las densidades de potencia
espectrales del ruido y la imagen original y la imagen estimada
. En las frecuencias donde la potencia de la señal sea mucho mayor
que la potencia del ruido, el término
es muy pequeño, y el filtro de Wiener
se vuelve el filtro inverso
. Por otro lado, en las frecuencias donde la
potencia del ruido sea mucho mayor que la potencia de la señal, el filtro de Wiener
se aproximará a cero, previniendo que la amplificación del ruido domine la
solución. Para implementar el filtro de Wiener en la práctica, se necesita estimar
las densidades de potencia espectral y . Para el ruido aditivo
Gaussiano, es igual a la varianza del ruido, que se puede estimar de varias
maneras, tal como el estimador robusto de media.
Para estimar se puede estimar primero la densidad espectral de potencia
de la medición y usar la relación
para estimar de la estimación de y . Una segunda
alternativa para estimar es simplemente usar la densidad de potencia
espectral obtenida de un conjunto de un conjunto representativo de imágenes con
contenido similar. Una tercera alternativa para el cálculo de es usar un
modelo paramétrico, el cual es generalmente una función decreciente exponencial,
y estimar los parámetros del modelo de los datos medidos.
El filtrado inverso directo visto no puede de manera explícita manejar el ruido.
Ahora veremos un método que incorpora ambos, la función de degradación y las
características estadísticas del ruido, en el proceso de restauración.
El método consiste en considerar imagen y ruido como un proceso aleatorio, y el
objetivo es encontrar un estimador de la imagen no-corrupta de tal manera que
el error promedio cuadrado entre ellas sea mínimo. Este error está dado por:
{( ) } (3.12)
65
Donde Es el valor esperado (la esperanza) del argumento.
Se asume que el ruido y la imagen no están correlacionados, que una o la otra
tienen media igual a cero, y que lo niveles de gris en la estimación son una función
lineal de los niveles de la imagen degradada. Basados en estas condiciones, la
función de error mínima está dada en el dominio de la frecuencia por:
[
]
[
]
[
] (3.13)
En la ecuación anterior usamos el hecho de que el producto de una cantidad
compleja con su conjugado es igual a la magnitud de la cantidad compleja al
cuadrado. Este resultado se le conoce como filtro de Wiener, propuesto por Wiener
(1942). El filtro que consiste en los términos dentro de los corchetes, también se
conoce como filtro de error promedio mínimo al cuadrado, o filtro de error de
mínimos cuadrados.
Los términos de la ecuación anterior son como sigue:
= función de degradación.
= conjugado complejo de . . = espectro de potencia del ruido.
= espectro de potencia de la imagen no degradada.
Como antes, es la transformada de la función de degradación y la
transformada de la imagen degradada.
Note que si el ruido es cero, el espectro de potencia se elimina y el filtro Wiener se
convierte en un filtro inverso.
Cuando nos encontramos con ruido espectral blanco, el espectro es una
constante, lo cual simplifica las cosas considerablemente. Sin embargo, el espectro
de potencia de la imagen no degradada casi nunca es conocido. Una técnica
utilizada regularmente cuando estas cantidades no se conocen o no pueden ser
estimadas es aproximarlas utilizando la expresión:
66
[
] (3.14)
Donde K es una constante especificada.
3.11. La Transformada Discreta del Coseno (DCT)
Formalmente la transformada de coseno discreta es una función lineal e
invertible del dominio real al dominio real , que también se puede entender
de forma equivalente a una matriz de NxN posiciones.
También existe la DCT multidimensional que se puede considerar como la
multiplicación separable de varias DCT. Por ejemplo la DCT de dos dimensiones es
una transformada normal calculada por cada fila y columna.
La Transformada de Fourier está diseñada para procesar señales de números
complejos, y siempre produce un espectro con valores complejos incluso en caso de
que la señal original sea estrictamente de valores reales. La razón es que ni la
parte real ni la imaginaria de la Transformada de Fourier es suficiente para
representar completamente la señal. En otras palabras, la señal coseno
correspondiente a la parte real o la señal seno correspondiente a la parte
imaginaria por sí mismas no constituyen un conjunto completo de funciones base.
Por otro lado, sabemos que una señal de valores reales tiene un espectro de
Fourier simétrico, así que sólo se tienen que calcular la mitad de los coeficientes
espectrales sin tener pérdida de información de la señal.
Existen varias transformaciones espectrales que tienen propiedades similares a la
DFT pero que no trabajan con funciones de números complejos. La Transformada
Coseno Discreta (DCT) es un buen ejemplo que es de especial interés en nuestro
contexto ya que es frecuentemente utilizada en el procesamiento de imágenes
digitales, sobre todo en algoritmos de compresión. La DCT utiliza únicamente
funciones coseno de varios números de onda como funciones base y opera con
señales y coeficientes espectrales de valor real. De forma similar, también existe la
Transformada Seno Discreta (DST) basada en un sistema de funciones seno.
3.11.1. DCT de una dimensión
67
En el caso unidimensional, la transformada directa coseno para una señal de
longitud se define como
(3.15)
para , y la transformada inversa es
(3.16)
para , respectivamente, con
{
√
(3.17)
Notar que los índices de las variables se utilizan de diferente modo en la
transformada directa (3.15) y en la transformada inversa el par de transformadas
son, en contraste con la DFT, no simétricas.
3.11.2. Funciones Base de la DCT
Para que la DCT trabaje sin la función seno, se pueden dividir todas las
frecuencias a la mitad tal que éstas sean espaciadas más densamente y así la
resolución en el espectro se duplique. Comparando las partes coseno de las
funciones base de la DFT y la DCT:
(3.18)
podemos observar que, para un número de onda dado , el periodo (
de
las funciones base de la DCT correspondiente es el doble del periodo de las
funciones base de la DFT (
. Note que las funciones base de la DCT también
tienen un desfase de 0.5 unidades.
La Figura 3.8 muestra las funciones base de la DCT para la longitud de
señal y los números de onda . Por ejemplo, la función base
para el número de onda realiza siete ciclos completos sobre una longitud de
unidades y entonces tiene la frecuencia radial ⁄ .
68
Figura 3. 8 Funciones base de la DCT …
para
3.11.3. DCT Bidimensional
La DCT unidimensional puede extenderse a dos dimensiones para su
aplicación a imágenes. La Figura 3.9 muestra un conjunto de 64 funciones base
cosinusoidales bidimensionales (imágenes base) que se generaron multiplicando
un conjunto de funciones base unidimensionales (de ocho puntos) orientadas
horizontalmente por un conjunto verticalmente orientado de las mismas funciones.
69
Las imágenes base orientadas horizontalmente representan las frecuencias
horizontales y las orientadas verticalmente representan las frecuencias verticales.
Por convenio, el termino DC de las funciones base horizontales está situado a la
izquierda, y arriba en el caso de las funciones base verticales. Por consiguiente, la
fila superior y la columna de la izquierda tienen variaciones de intensidad en una
dimensión, que si se representan, serían las mismas que en la figura anterior.
Figura 3. 9 Aplicación de la DCT a una imagen 8x8
Al aplicar la transformada discreta del coseno muchos de los coeficientes
obtenidos son pequeños, es decir, la mayoría de la energía de los datos se almacena
en pocos coeficientes. El par de la transformada discreta del coseno bidimensional
se obtiene de forma sencilla a partir del caso unidimensional y de la propiedad de
separabilidad,
∑ ∑ [
] [
]
,
{√
√
(3.19)
70
∑ ∑ [
] [
]
,
3.11.4. Propiedades importantes de la DCT
1. La DCT es real y ortogonal, es decir,
(3.20)
2. La DCT no es la parte real de la DFT unitaria. Sin embargo, la DCT de una
secuencia esta relacionada con la DFT de su extensión simétrica.
3. La DCT es una transformada rápida. La DCT de un vector de N elementos
puede calcularse en operaciones a través de una FFT de N-puntos.
Para demostrar esto definimos una nueva secuencia en la que
reordenamos los elementos pares e impares de F(n) de la forma,
} (
) (3.21)
Ahora, dividiremos el sumatorio de la ecuación (par transformado), en
términos pares e impares,
{
∑ [
]
( )
∑ [
]
( )
{∑ [
]
(
)
∑ [
]
(
)
(3.22)
Cambiando el índice del sumatorio en el segundo término a y
reagrupando, obtenemos
∑ [
]
(3.23)
71
La DCT es miembro de las familias de transformadas sinusoidales unitarias.
Emplea solo valores del coseno.
∫
(3.24)
La DCT es real y ortogonal. Si la matriz coseno es real y ortogonal, cumple
también con ser unitaria, es decir,
La transformada Discreta de Coseno no es la parte real de la Transformada
Discreta de Fourier.
La DCT de un vector de tamaño N puede calcularse mediante aproximadamente
operaciones mediante el concurso de la Transformada Rápida de Fourier
(TRF), esta técnica constituye uno de los métodos alternativos de cálculo de la
DTC. Para esto se procede a separar a la secuencia en sus partes:
Par 𝑤
Impar
De la siguiente manera:
}
{
} (3.25)
Los vectores propios de la matriz tridiagonal simétrica , representan los vectores
bases de la transformada coseno y además son las filas de la matriz C,
[
]
(3.26)
72
3.11.5. Esquema de adaptación local del filtrado en el dominio DCT
1. Calcular la varianza local para todos los pixeles de imagen en bloque de
tamaño 3x3
2. Dependiendo del valor de la varianza local, elegir el tamaño de bloque de la
DCT para el filtrado y obtener así la estimación del bloque de tamaño m de
imagen sin ruido ),(ˆ jis m
local
3. Sumar los resultados del filtrado de todos los bloques restaurados,
obteniéndose así la estimación previa de la imagen sin ruido ),(ˆ jis .
jiQ
qm
m
local
jiQ
qjisjis
,
1 ,
),,(ˆ),(ˆ (3.27)
4. Esta estimación se utiliza para el cálculo del espectro local de potencia
qpPs ,ˆ , como
21
0
1
0 2
)12(cos
2
)12(cos),(ˆ,ˆ
m
ql
m
pkljkis
m
qpqpP
m
k
m
l
m
s
. (3.28)
Usando la respuesta en frecuencia del filtro de Wiener local adaptativo se formula,
como:
2,,ˆ
,ˆ,ˆ
qpcqpP
qpPqpH
mm
s
m
sm
W , (3.29)
donde
contrario caso elen
1
0 ,0
,
m
qpif
qpc m (3.30)
El filtrado final de bloques de la imagen es obtenido tomando la transformada
inversa como m=8:
m
lj
m
kiqpHqpUkp
mljkis
m
p
m
q
m
Wprev
m
W2
)12(cos
2
)12(cos,ˆ,
1),(ˆ
1
0
1
0
(3.31)
73
donde qpU prev , es la DCT del bloque de tamaño mxm de la estimación previa de
la imagen sin ruido
m
ql
m
pkljkis
m
qpqpU
m
k
m
l
prev2
)12(cos
2
)12(cos),(ˆ,
1
0
1
0
(3.32)
3.11.6. Estimación previa de la imagen libre de ruido mediante
filtrado DCT de umbral
La expresión para el filtro de Wiener se puede simplificar asignando una ganancia
unitaria para todas las frecuencias espaciales tales que | ( )| y
ganancia cero en cualquier otro caso. Esto resulta en una técnica de umbralado
[75]:
( ) { si | ( )|
en otro caso
(3.33)
donde es un parámetro de control. Si ( ) se encuentra disponible, la regla
de decisión se puede interpretar como | ( )| que corresponde con
el filtro de Wiener pasa banda con una frecuencia de corte de . En la práctica,
la regla de decisión se basa en la imagen observada, | ( )| .
En este caso, fue probada tener un valor casi óptimo de [55 – 58]. Para
confirmar esto, se presentarán unos resultados alcanzados en [55]. En la Figura
3.10 se muestra una imagen (a) de tres componentes a las que se ha añadido ruido
aditivo Gaussiano y fue restaurada con un filtro DCT con bloques completamente
solapados de , en (b) y (c) se muestra la salida de MSE para las tres
componentes para desviaciones de 7 y 10, respectivamente. Se observa claramente
que el valor mínimo de error para ambos casos ocurre cuando es ligeramente
mayor que 2.5.
74
Figura 3. 10 (a) Figura de tres componentes, (b) y (c) salida MSE para distintos valores de .
El filtro de umbralado puede ser utilizado como un estimado preliminar de la
imagen para después determinar ( ) para el filtro de Wiener.
El filtrado pasa-bajas se basa en la suposición de que una imagen “natural” tienen
más energía en los coeficientes de baja frecuencia que en los coeficientes de alta
frecuencia; mientras que el ruido afecta por igual a todos los coeficientes. De esta
forma, remover los coeficientes de alta frecuencia eliminará comparativamente
más ruido que señal. El problema es que hay coeficientes de alta frecuencia en las
imágenes, como lo son los que representan los bordes de los objetos. Eliminar el
ruido por un filtrado pasa-bajas atenuará estos coeficientes lo que ocasionará el
efecto de emborronamiento.
La propiedad utilizada en el umbralado de magnitud es la dispersión, ya que las
imágenes “naturales” tienden a tener casi siempre sólo un conjunto pequeño de
coeficientes grandes que no son cero en el dominio de la frecuencia. Al añadir ruido
uniforme (e independiente de los pixeles) es equivalente a añadir un valor
aleatorio pequeño a todos los coeficientes de frecuencia. El resultado será que todos
los coeficientes que no eran cero en la imagen original ahora tendrá un valor
pequeño; mientras que los coeficientes que eran grandes en la imagen original no
cambiarán. Haciendo un umbral a coeficientes con valores pequeños cancelará la
contribución del ruido en los coeficientes, mientras que no se recuperará el efecto
del ruido en los coeficientes grandes. En la Figura 3.11 se muestra el proceso de
filtrado por umbral DCT en bloques de 3x3 pixeles.
La imagen es de tamaño y 𝑖 es la intensidad de la imagen en la 𝑖-ésima
fila y la -ésima columna, en la que la intensidad varía de 0 a 255 en escala de
grises. Para la mayoría de las imágenes la energía cae en las frecuencias bajas;
esto aparecería en la esquina superior izquierda de los coeficientes de la matriz
75
DCT. El ruido generalmente es un fenómeno que ocurre en las frecuencias altas en
el dominio espacial. De esta forma, al comprimir una imagen los coeficientes en
esta banda de frecuencias son los suficientemente pequeños como para ser
despreciados con poca distorsión visible lo que resulta en la eliminación del ruido
en la imagen.
Pero elegir un umbral adecuado para descartar los coeficientes es una tarea difícil
ya que las imágenes no son del mismo tipo de distribución. Un nivel particular en
el umbral para remover el ruido de forma eficiente en una imagen puede no ser
una buena elección para otras imágenes. De forma general hay dos maneras de
elegir un nivel de umbral. El umbralado duro y el umbralado suave [59]. En el
umbralado duro el mínimo umbral fijo se utiliza para todos los bloques de imagen
y es predeterminado. En cambio, en el caso del umbralado suave el umbral puede
variar de un bloque de imagen a otro dependiente de las propiedades estadísticas
del bloque que se está trabajando.
76
Figura 3. 11 Diagrama a bloques que muestra el proceso de restauración por filtrado DCT de umbral en bloques de 3x3.
77
Existen métodos que no utilizan un umbral fuerte ni uno suave, como el propuesto
en [59], que busca un compromiso entre ambos. Dicho método es adaptativo y en él
se elige de entre cuatro posibles ventanas que serán multiplicadas por el bloque de
coeficientes de la DCT. Cada ventana deja pasar un número distinto de
coeficientes de frecuencias dependiendo del porcentaje de pixeles de borde que hay
dentro del bloque. La razón de lo anterior es que si el porcentaje de pixeles de
borde es bajo, entonces muy probablemente se trate de una región plana o
monótona que se codificará en el dominio de la DCT con un número pequeño de
coeficientes. Por otro lado, si el porcentaje de pixeles de borde es elevado, entonces
el bloque de imagen seleccionado será codificado con un número de coeficientes de
la DCT mayor para preservar mejor los bordes y los detalles finos de la imagen.
En este trabajo el objetivo principal es analizar el potencial y la eficiencia del
filtrado de imágenes basado en la DCT para bloques completamente solapados de
, y pixeles. En la Figura 3.12 se muestra el solapamiento de los
bloques para los pixeles de la siguiente columna y la siguiente fila.
Figura 3. 12 Solapamiento de los bloques para los pixeles de la siguiente columna y la siguiente fila.
Estimados más precisos de ( ) son utilizados para el filtrado de Wiener, y
de esta forma se obtienen mejores resultados en el sentido del MSE (o de igual
78
forma, en el sentido de la relación señal a ruido de pico definida por representación
de imágenes de byte como (
)). De esta manera, se pueden
usar estimadores locales espectrales para tener en cuenta la actividad de datos
locales para un mejor filtrado del ruido. Para este propósito, el filtrado puede ser
realizado con bloques de pixeles, y tales bloques pueden ser solapados para
una mejor supresión del ruido.
En este trabajo, supondremos que los bloques serán solapados completamente, por
ejemplo, los bloques que forman el vecindario tienen un área de
solapamiento de pixeles si la posición de su esquina superior izquierda
es desplazada con respecto con cada uno de los demás por sólo un pixel como se
aprecia en la Figura 3.11. En [60] y [61] se demuestra que el filtrado basado en
DCT con solapamiento de bloques reduce efectos de bloqueo y produce una mejor
salida PSNR. La eliminación de ruido basado en DCT con solapamiento completo
es más eficiente en el sentido del criterio MSE que el procesamiento con
solapamiento parcial o en bloques sin solapamiento [62]. Mientras tanto, el filtrado
del ruido con bloques completamente solapados requiere más tiempo de
procesamiento. Sin embargo, debido a que la DCT se puede implementar
fácilmente utilizando algoritmos óptimos y/o software o hardware especializado; el
filtrado de ruido basado en DCT con bloques solapados completamente es lo
suficientemente rápido.
Así, para el filtrado de imágenes adaptativo local de Wiener basado en la DCT
utilizamos la transformada normalizada DCT-2 [63] dada por
∑ ∑ 𝑖 [
] [
]
(3.34)
donde el tamaño del bloque es , 𝑖 , son las coordenadas de la esquina
superior izquierda del bloque de datos en la imagen completa,
{
,
√ ,
(3.35)
La transformada inversa está dada por
79
𝑖
∑ ∑
[
] [
]
(3.36)
Usando la definición (3.33), la respuesta en frecuencia del filtrado de umbral es
{
si | |
de otra forma
(3.37)
El bloque de la imagen filtrada se obtiene tomando la transformada inversa, como
𝑖
∑ ∑
[
] [
]
(3.38)
Nótese que, a diferencia del filtrado de escaneo por ventanas, los valores filtrados
se obtienen simultáneamente para todos los pixeles de un bloque dado. Entonces,
si se aplica un procesamiento con solapamiento, estos valores filtrados se deben
agregar como se describe más adelante.
Ahora, proponemos usar el estimado (4.36) para determinar el espectro de potencia
local como
[
∑ ∑
𝑖
[
] [
]]
(3.39)
Usando (3.40), la respuesta en frecuencia del filtrado de imágenes local de Wiener
DCT se puede formular así:
(3.40)
donde
{ , si
de otra manera
(3.41)
80
El bloque de la imagen filtrada se obtiene tomando la transformada inversa como:
𝑖
∑ ∑
[
] [
]
(3.42)
Por otro lado, el solapamiento de los bloques filtrados (4.36) y (4.40) resulta en una
alta redundancia de los datos filtrados que fueron agregados para producir la
imagen filtrada 𝑖 . La agregación se puede realizar promediando los pixeles del
bloque donde ocurre el solapamiento. También puede ser realizado usando alguna
ponderación como se propone en [64], o usando un parche de media de mínimos
cuadrados ponderado. Sin embargo, se ha determinado mediante simulaciones que
este simple cálculo de la media por agregación de datos a bloques
𝑖 ∑
𝑖
𝑖
(3.43)
produce resultados satisfactorios, donde
𝑖 es el 𝑖 – ésimo pixel del q –
ésimo bloque solapado (3.38) o (3.42) de tamaño , 𝑖 denota el número de
bloques solapados en el 𝑖 – ésimo pixel. Notar que la eficiencia del filtro puede ser
un poco mala para pixeles cercanos a los bordes de la imagen debido a que para
esos pixeles un pequeño número de valores filtrados de los bloques solapados
procesados es agregado (por ejemplo, sólo uno para los cuatros pixeles de las
esquinas de la imagen).
Después, se ha encontrado mediante simulaciones [55], que la agregación de los
bloques solapados de tamaños diferentes puede mejorar más la eliminación de
ruido. Para tal fin, en cada posición de un pixel, valores diferentes de en (3.34),
(3.35), (3.38) y (3.42) se utilizan y entonces los bloques solapados procesados de
diferentes tamaños se agregan usando algún criterio de ponderación. En
particular, se ha determinado [55] que los siguientes pesos producen buenos
resultados para diferentes imágenes y diferentes niveles de ruido.
𝑖 ∑
𝑖 𝑖
𝑖
𝑖 𝑖 𝑖
(3.44)
donde 𝑖 es el número de bloques solapados de tamaño . Este enfoque
se puede denominar como un filtro multi – escala basado en DCT.
81
3.11.7. Separabilidad
De igual forma que la DFT, la DCT bidimensional se puede separar en dos
transformadas unidimensionales. Para esclarecer esto, la DCT directa (ecuación
3.19) se puede expresar de la siguiente forma:
(3.41)
DCT unidimensional de
La expresión interna en la ecuación 3.21 corresponde a la DCT unidimensional de
la línea número de de la señal bidimensional. Así, como con la DFT
bidimensional, se puede aplicar primero la DCT unidimensional a cada línea de
una imagen y después la DCT a cada columna. Por supuesto, esto se puede hacer
de forma inversa, procesando primero cada columna y después las filas.
Correlación
Covarianza (bidimensional, dependiente) | |
Ala relación se le llamara comento de covarianza
En este caso las variables aleatorias son dependientes
|
| (3.42)
Se busca la medida de la dependencia de dos variables aleatorias para encontrar
esta medida solamente basta recordar los momentos mutuales, en los cuales está
involucrada la f.d.p. bidimensional. Para esta es necesario investigar las
propiedades que existen de los momentos mutuales de primer orden que en este
caso bidimensional serian como de segundo orden. Vamos a calcular este momento
para los casos extremos.
∬ (3.43)
Caso 1
son variables aleatorias independientes (caso continuo)
82
∬ ∬
∫ ∫ (3.44)
Para variables aleatorias independientes el primer momento central es cero.
Caso 2
son variables aleatorias dependientes (caso discreto)
Para el caso particular y dependencia funcional
(3.45)
La DCT proporciona mejores ratios de compresión que DFT. La DCT se utiliza
más por su buen compromiso entre complejidad computacional, minimización del
error de reconstrucción y ratio de compresión. Sus funciones base tienen paridad
(pues se forman a partir de funciones coseno, lo que contribuye a mejorar los
errores típicos en las fronteras de las subimágenes (efecto de aparición de bloques).
∑ ∑ [
] [
]
∑ ∑ [
] [
]
{
√
√
(3.46)
3.12. Transformada de Hadamard
A diferencia de la transformada de Fourier, que se basa en términos
trigonométricos, la transformada de Hadamard consiste en un desarrollo en serie
de funciones básicas cuyos valores son +1 o -1.
La transformada de Hadamard, H(u,v), de una imagen f(x,y) de dimensiones N x
N donde viene dada por la fórmula
83
(3.47)
donde u=0,1,...,N-1 y v=0,1,...,N-1 y es el j-ésimo bit de la representación
binaria de z.
La transformada inversa de Hadarmad es idéntica a la anterior, intercambiando
las funciones H y f.
(3.48)
La ventaja que tiene esta transformada es que cualquier algoritmo que calcule la
transformada directa de Hadamard, puede emplearse sin modificaciones para
calcular la transformada inversa.
Los núcleos de la transformada de Hadamard también son simétricos y separables.
(3.49)
donde
(3.50)
Por tanto para calcular la transformada de Hadamard bidimensional, se calcula
dos veces consecutivas la transformada de Hadamard unidimensional:
84
(3.51)
Llamemos g(x,u) al núcleo de esta transformada. Es muy fácil calcular la matriz
del núcleo para cualquier de forma inductiva.
La matriz de Hadamard, de menor k, es
(3.52)
Inductivamente,
(3.53)
La matriz de transformación A tal que H=AFA, donde F es la imagen
original, viene dada por .
Por ser la formulación de la transformada inversa es idéntica a lo anterior.
3.13. Métricas de restauración
Los métodos de restauración de imágenes utilizan una serie de parámetros a la
hora de establecer medidas tanto del proceso de degradación como de la calidad de
restauración. Ahora se hará mención de los parámetros que se utilizarán en los
experimentos de la tesis.
3.13.1. El Structural Similarity Index (SSIM)
Dejan claro que en función de cómo se interprete o modele la información
estructural de la imagen, puede haber métricas diferentes basadas en este
framework. La implementación de SSIM es una implementación específica desde
la perspectiva de la formación de las imágenes.
85
En el espacio multidimensional descrito antes, a la imagen Origen (situada en el
centro del circulo) que corresponde a la A se le pueden aplicar diferentes
distorsiones, unas perceptualmente más destacables que otras, pero si todas ellas
producen un mismo valor de MSE se situarán en el círculo cuyo radio será el valor
del MSE en que se degrada la imagen original.
Esto lleva a pensar en que las variaciones de luminancia y contraste no producen
una distorsión en la estructura de los objetos de la escena sustancial, aunque son
importantes y por tanto cuantificables y deben formar parte de la métrica final.
Esto tiene un gran sentido físico, las variaciones de contraste y luminosidad no
afectan la estructura física de los objetos. Así que llegan a la conclusión que se
debe de poder separar las variaciones que sufren las imágenes en variación de
luminancia, de contraste y estructurales.
Otra vez sobre el espacio de las imágenes, se muestra como los vectores de
variación de luminancia y contraste sobre una imagen original definen un
subplano y es en él donde se encuentran las imágenes B y C de la figura anterior,
lo que da una idea de la separabilidad de estos tipos de variación, siendo la
variación estructural la rotación de este plano sobre su eje en un ángulo que
determinará la medida de dicha variación.
Finalmente la métrica será la combinación f(.) de la variación de luminancia l(x,y),
de contraste c(x,y) y de estructura s(x,y), tal como se muestra en la ecuación 3.54.
Las funciones f(.), es decir combinación de las variaciones, la métrica, deberá
cumplir ciertas condiciones, como ser simétrica (da igual que imagen se compare
con cual), estar limitada superiormente (<= 1 donde 1 indica exactamente iguales)
y tener un máximo único (solo hay una forma de ser exactamente iguales).
(3.54)
Por último mostrar la formula del SSIM donde los exponentes, alfa, beta y gamma
son parametros para ajustar la importancia relativa de los tres componentes de la
variación sufrida. Recordar también que las muestras de la imgen pueden ser la
intensidad de los pixels de la imagen o cualquier otra característica extraida de la
imagen como por ejemplo los coeficientes de una transformación lineal.
86
3.13.2. Valoración de Calidad de Imágenes usando SSIM
La métrica mide la Similitud Estructural entre las señales correspondientes a dos
imagenes. Si una de ellas se considera perfecta, la métrica se puede ver como una
medida de la calidad de la otra.
Cuando se aplica a imágenes grandes es conveniente calcularla localmente en vez
de globalmente. Las características estadísticas de las imágenes normalmente no
son estacionarias en el espacio. Debido al muestreo no uniforme de la retina, en
función de la distancia, sólo se percibe con alta resolución una porción local de la
imagen. El cálculo local puede proporcionar un mapa de calidad espacial que
puede usarse para indicar variaciones de calidad a lo largo de la imagen o para
ajustar el control de calidad de la imagen en sistemas de procesamiento de
imágenes sensibles a la variación espacial de éstas, como por ejemplo las regiones
de interés, o el procesamiento foveal.
Las primeras implementaciones de utilizaban un bloque 8x8, pero causaba
blockiness en el mapa de calidad de la métrica, lo que no es deseable porque surjen
de la forma en que se aplica o implementa la métrica, no de las distorsiones en si.
En Wang_Bovik_Sheikh_Simoncelli_2004 aplican una función de peso circular
gausiana y simétrica. Aplicada localmente el mapa de calidad de la métrica
muestra isotropia local y ponderada en función de la calidad medida.
El último paso es combinar las medidas de calidad locales en un único índice para
la imagen completa. Una forma conveniente de hacerlo es mediante una suma
ponderada. Si todas las muestras locales del mapa de calidad se ponderan con
igual peso tendremos la MSSIM o Mean.
Hay dos casos en los que puede ser deseable una ponderación no uniforme. Cuando
existe conocimiento previo relativo a la importancia de ciertas regiones de la
escena o en sistemas de procesamiento foveal de la imagen.
87
3.13.3. PSNR (Peak Signal to Noise Ratio)
El Pico de Relación Señal a Ruido (PSNR) es el criterio usado para comparar el
rendimiento de supresión de ruido entre diferentes filtros, usualmente es medido
en decibeles y es definido en la ecuación 3.55 [2]:
(
) (3.55)
Donde es el Error Cuadrático Medio.
Y es el valor máximo posible de un pixel de una imagen. Cuando los pixeles
se representan usando 8 bits por muestral, este valor es 255.
Usualmente los valores del PSNR un compresión de imagen y video con pérdida, se
encuentra entre 30 y 50 dB, donde mientras más grande sea el valor, es mejor.
3.13.4. MSE (Mean Square Error)
El Error Cuadrático Medio (MSE) es el criterio que representa una medida
objetiva de la desviación del promedio cuadrado para encontrar la estimación del
valor verdadero (es la medida más común para comparar la calidad del filtrado
entre la imagen original y la filtrada), y está dado por la ecuación 3.56 [2].
∑ ∑ 𝑖 𝑖
(3.56)
donde MN es el tamaño o dimensiones de la imagen, 𝑖 es la imagen original y
𝑖 es la imagen restaurada o filtrada.
El MSE es la varianza del ruido en la imagen restaurada. Si la imagen restaurada
es exactamente igual a la original el MSE valdría cero y por lo tanto el PSNR
tiende a infinito y se tiene la total supresión de ruido, en el extremo opuesto si la
imagen restaurada y la original fueran completamente diferentes el MSE valdría
y la PSNR tendría un valor de cero dB, es decir la señal y el ruido tendrían
la misma Potencia. Así los valores que toma el criterio PSNR van desde 0 a ∞.
De esta manera el MSE evalúa la calidad de un estimador o conjunto de predicciones en términos de su variación y grado de descentralización.
88
3.13.5. ISNR (Improvement Signal to Noise Ratio)
El parámetro ISNR (Improvement Signal-to-Noise Ratio) es el valor más habitual
para medir objetivamente la calidad de un algoritmo de restauración y se expresa
como
(3.57)
donde es la imagen estimada por un método de restauración, es la imagen
original y la imagen degradada. La unidad de medida es el dB.
Dada la dependencia con la imagen original , esta métrica sólo puede usarse para
casos de simulación donde se dispone de la imagen original. No obstante, esta es
ampliamente extendida para comparar de forma estándar diferentes técnicas de
restauración.
3.13.6. Criterios de fidelidad
Las medidas más típicas son:
El error cuadrático medio total, E
Raíz del error cuadrático medio,
Relación señal-ruido, SNR
Error cuadrático medio total:
∑ ∑
𝑖 𝑖 (3.58)
Raíz del error cuadrático medio entre y promediado sobre MxN:
√
∑ ∑
𝑖 𝑖 (3.59)
Relación señal-ruido al cuadrado:
89
∑ ∑
∑ ∑
𝑖 𝑖 (3.60)
: valor de pixel de la imagen original MxN no comprimida
: valor de pixel de la imagen MxN reconstruida, descomprimida
Otros criterios de fidelidad
√∑ ∑
∑ ∑
∑ ∑
(3.61)
: Imagen descomprimida
: Imagen original
L: el número de niveles de gris
3.14. Errores de restauración
Los parámetros indicados hasta ahora son una medida objetiva, numérica y que
por tanto no siempre refleja las características perceptuales del ojo humano
respecto a la imagen restaurada. Por el contrario, las medidas subjetivas están
dedicadas a observar las imágenes restauradas desde dos puntos de vista: el
ringing y la amplificación de ruido.
Sea un filtro de restauración lineal aplicado sobre una imagen degradada por un
filtro y ruido , entonces se define el error dependiente de la imagen (o ringing)
y el error dependiente del ruido como
(3.62)
donde es conocido como el producto de regularización.
El error de ringing es, en consecuencia, una función tanto de la PSF como del filtro
de restauración . Cuando el producto se acerca a la identidad, este error
tiende a cero. Por el contrario, las soluciones regularizadas tienden a un producto
90
alejado de la identidad, tanto más cuanto mayor sea la regularización. Así
pues, los resultados de restauración sobre-regularizados provocan un alto error de
ringing. El caso más crítico sería cuando el error fuera un negativo de la imagen
original, es decir, = − con = 0. En la Figura 2.10 (a) se representa una
imagen restaurada con un nivel considerable de regularización a partir de una
versión emborronada y sin ruido. Se puede observar la presencia de los artefactos
del ringing a modo de “ondas” en los contornos de la figura de Lena y la falta de
nitidez debido a la regularización cuadrática de Tikhonov. De hecho, se puede
demostrar que el efecto de ringing aparece sobre las zonas de alto contraste, es
decir, en los bordes de los objetos que componen la imagen.
Con respecto al error dependiente del ruido, es precisamente el resultado del mal.
La multiplicación equivale al efecto del filtro de restauración sobre el ruido ,
lo que significa su amplificación para el caso de que no exista regularización. A
medida que la regularización es mayor, los efectos del error dependiente del ruido
son reducidos por el suavizado del filtro. La forma en que el error se presenta
sobre la imagen restaurada es mediante un falseado de las texturas tal y como
demuestra la Figura 3.10 (b).
Figura 3. 13 Efecto ringing causado por las propiedades globales de la DFT
Obviamente, la imagen restaurada ideal sería aquella que consiguiera un
equilibrio razonable entre ambos errores. Esto implica que el nivel de
regularización no sea ni demasiado intenso como para que el efecto de ringing sea
muy patente en el resultado; ni demasiado bajo como para que la magnificación del
ruido se imponga sobre el nivel de señal. Esta situación sería aún mejor si se
aplicara de forma adaptativa al espacio, pues en diferentes regiones de la imagen
interesan comportamientos distintos del filtro de restauración.
91
3.15. Filtros adaptativos locales óptimos
Para el diseño de un filtro óptimo se debe formular un criterio de optimización. El
diseño de filtros adaptativos locales se basa en criterios locales que evalúan la
calidad del procesamiento para cada muestra particular de la imagen como un
promedio, sobre cierta vecindad del pixel, de una cierta función de pérdida que
calcula la desviación de la estimación de cada pixel en la vecindad de su valor
verdadero. En lo que sigue asumiremos que las imágenes a ser procesadas se
componen por niveles de grises. Se puede asumir que la estimación de cada pixel
se obtiene de la suma ponderada de los pixeles en la vecindad. De esta manera se
llega a los filtros lineales locales adaptativos.
Para los filtros locales adaptativos, los coeficientes del filtro se deben determinar
en cada posición particular de la ventana deslizante de las muestras de la imagen
observada dentro de la ventana en base a información a priori de las imágenes a
procesar. Mientras que la formulación de dicha información en el dominio espacial
es aparentemente problemática, se simplifica de manera considerable en el
dominio de transformadas ortogonales, como la DFT y la DCT, debido a que el
espectro de potencia de los fragmentos de la imagen en dichas transformaciones
exhiben un comportamiento mucho más regular que los pixeles por sí mismos. Por
ejemplo, es bien sabido, que el espectro de una imagen en el dominio DFT y DCT
usualmente decae más o menos rápidamente para las altas frecuencias.
El mejoramiento de imágenes es un proceso orientado a asistir el análisis visual de
imágenes. Algunas bases razonables para el diseño de los parámetros de filtros
lineales para el mejoramiento de imágenes es asumir que el filtrado debe
“restaurar” una señal “útil”, que son detalles a ser mejorados o extraídos para las
necesidades de los usuarios finales, contra un fondo “ruidoso” que dificulta la
interpretación de los detalles.
92
3.16. Implementación en una Tarjeta GPU con MATLAB
En el proceso de reconstrucción, las operaciones de cómputo son operaciones
basadas en pixel o voxel. Estas operaciones tienen pocas dependencias y se
ejecutan, comúnmente, en una estructura repetitiva (bucle) muy larga. Las
plataformas más apropiadas para este tipo de operaciones son los procesadores
vectoriales o arquitecturas masivamente paralelas y las unidades de
procesamiento gráfico (GPUs). En la figura 3.14 se muestra el paralelismo
dinamico.
Figura 3. 14 Paralelismo dinámico
NVIDIA es una compañía que hasta hace algunos años se dedicaba principalmente
al mercado de palcas de video para videojuegos y para computadoras, actualmente
diseña y desarrolla productos basados en una arquitectura multinúcleos
denominada CUDA, esta arquitectura permite realizar cálculo paralelo
aprovechando la gran potencia de la GPU (unidad de procesamiento gráfico), la
misma se halla en GPUs de las series GeForce y Tesla entre otras.
Existe para MATLAB un toolbox (Parallel Computing Toolbox,) gratuito (GPUMat) que
permite utilizar CUDA y provee versiones paralelizadas de funciones y de
operaciones de MATLAB para ser ejecutadas sobre la GPU. En el presente trabajo
se muestran resultados obtenidos, usando las toolbox de MATLAB con
paralelización implícita con GPUMat sobre una placa del tipo GeForce gtx-780,
mostrada en la figura 3.16, esta tarjeta tiene un total de 2304 núcleos con 5GB de
memoria compartida por todos los núcleos, gracias a su arquitectura NVIDIA
Kepler, en la figura 3.15, se muestra el rendimiento de la GPU. Este toolbox se
93
diseñó originalmente para aprovechar las redes de computadoras en donde hay
una que distribuye trabajo (planificador) a las demás (trabajadores). Los
trabajadores reciben un programa del planificador, lo ejecutan y devuelven el
resultado al mismo. El toolbox de computación distribuida fue evolucionando hasta
la actualidad, de modo que permite simular trabajadores locales dentro de una
computadora con un procesador de varios núcleos. De esta forma cada núcleo
trabaja sobre un programa (o un ciclo for) y devuelve un resultado al terminar.
El toolbox de MATLAB, Parallel Computing Toolbox, es compatible con:
GPUs compatibles con NVIDIA CUDA con capacidad de cálculo de la
versión 1.3 o posterior, incluidas las GPUs de Tesla. Estas GPUs admiten
los cálculos de precisión doble. En una versión futura, se eliminará el
soporte para dispositivos GPU de capacidad de cálculo 2.x. En ese momento,
se requerirá una capacidad de cálculo mínima de 3,0.
Utilización de GPUs directamente desde MATLAB
Funciones de MATLAB compatibles con GPU como fft, filter y diversas
operaciones de álgebra lineal
Funciones compatibles con GPU incluidas en toolboxes: Image Processing
Toolbox, Communications System Toolbox, Neural Network Toolbox, Phased
Array Systems Toolbox y Signal Processing Toolbox (más información sobre
la compatibilidad de GPUs con los algoritmos de procesamiento de señales)
Integración del kernel CUDA en las aplicaciones de MATLAB mediante una
única línea de código de MATLAB
Varias GPUs en estaciones de trabajo y clusters de ordenadores mediante
MATLAB workers en Parallel Computing Toolbox y MATLAB Distributed
Computing Server
Figura 3. 15 Rendimiento de la geforce gtx-780
Además de utilizar MATLAB para desarrollar aplicaciones y modelos acelerados en la GPU, los
programadores de CUDA pueden utilizarlo para crear prototipos de algoritmos y desarrollar y probar
kernels de CUDA de forma incremental. MATLAB puede utilizarse para:
Escribir prototipos de código para probar algoritmos antes implementarlos en CUDA
94
Evaluar los kernels rápidamente con diferentes datos de entrada
Analizar y visualizar los resultados de los kernels
Escribir conjuntos de pruebas automatizadas para verificar si los kernels funcionan
correctamente
Figura 3. 16 Geforce GTX 780 de NVIDEA
95
Capítulo 4 Metodología propuesta
En el presente capítulo se describen los métodos utilizados en el desarrollo del
algoritmo, explicando su funcionamiento en relación con la supresión de ruido
Gaussiano en imágenes en escala de grises.
96
4.1. Derivación analítica del umbral óptimo para el filtrado
de Wiener en el dominio DCT
Consideramos una ecuación adicional de observación (modelo)
yxnyxsyxu ,,, (4.1)
donde yxu , es la observación del ruido, yx, son puntos cartesianos, yxs ,
denotando ruido en la imagen, y yxn , es ruido Gaussiano blanco no
correlacionado con yxs , . El problema es encontrar una estimación del ruido en la
imagen yxs ,ˆ dado que este minimiza el error cuadrático (MSE) 2,ˆ, yxsyxsE
, donde denota el operador de expectación.
El filtro lineal óptimo que minimiza el MSE es el bien conocido filtro de Wiener
[53] esta es la solución de la ecuación de Wiener expresado en matrices
pRw , (4.2)
donde es una matriz de auto correlación de ruido en la imagen, w es un vector de
coeficientes de respuesta de impulso de Wiener y p es un vector de correlación
cruzada entre el ruido y el ruido libre en la imagen. La ecuación puede ser
representada como
pwr * , (4.3)
donde ns rrr es un vector de ruido en la imagen yxu , función de auto
correlación en el caso del modelo de ruido aditivo (4.1), * denota el operador de
convolución, sr es una función de auto correlación de dos señales 2D yxs , y nr es
una función de auto correlación del ruido usando las propiedades de la
transformada de Fourier para la convolución y el teorema de Wiener que describe
la correlación y el espectro, se puede obtener cada uno de la ecuación de Wiener en
el dominio espectral de dos señales que está dado por:
yxusyxWyxnyxs PHPP ,,,, , (4.4)
Donde ( ) , ( ) son densidades espectrales del
ruido libre en la imagen y el ruido, denota la transformada de Fourier, yx ,
son frecuencias espaciales, ( ) es un espectro cruzado entre el
ruido libre en la imagen y el ruido, y yxWH , es una frecuencia 2D que responde
97
al filtro de Wiener. Donde el ruido no está correlacionado con la imagen, srp y la
siguiente expresión:
yxsyxus PP ,, . (4.5)
El filtro de Wiener en el dominio del espectro se formula como:
yxnyxs
yxs
yxWPP
PH
,,
,,
. (4.6)
Las densidades del poder spectral yxnyxs PP ,,, . El uso de las
aproximaciones espectrales:
yxnyxs
yxs
yxWPP
PH
,ˆ,ˆ
,ˆ,ˆ
, (4.7)
donde yxWH ,ˆ es una estimación de frecuencia que responde al filtro de Wiener,
yxnyxs PP ,ˆ,,ˆ son densidades espectrales estimadas del ruido y ruido libre en
la imagen respectivamente.
En el caso del ruido aditivo blanco Gaussiano, el modelo para la densidad espectral
del ruido está dado por:
2,ˆ yxnP , (4.8)
donde 2 es la varianza del ruido, yxc , es proporcional al tamaño de la
imagen, y 00,0 c porque nosotros asumimos que el ruido Gaussiano Tiene cero
en la principal. La formula del filtro de Wiener se transforma en
2,ˆ
,ˆ,ˆ
yxs
yxs
yxWP
PH . (4.9)
Para la mayoría de las señales en la práctica, el espectro de la señal está
concentrado en las frecuencias bajas, y para tales señales es válida aplicar un filtro
óptimo pasa bajas. La frecuencia de corte de banda de paso del filtro de Wiener
pasa bajas asumimos está en punto de ganancia de -3dB, con ello,
2
1
,ˆ
,ˆ,ˆ
23
3
3
yx
dB
s
yx
dB
s
yx
dB
WP
PH . (4.10)
98
De esta condición, encontramos que
223 414.212
1,ˆ
yx
dB
sP . (4.11)
Por otra parte, en este punto de ganancia de -3dB, contando con el modelo (4.1)
233 ,ˆ2,ˆ,
yx
dB
syx
dB
syxu PPP . (4.12)
Utilizando (4.11), se obtiene:
1
12
12,ˆ
12
12,ˆ, 23223 yx
dB
syx
dB
syxu PPP .
(4.13)
De (4.13) expresemos la estimación de yx
dB
sP ,~ 3 en términos de yxuP , :
223 10754795.4,112
12,,
~
yxuyxuyx
dB
s PPP .
(4.14)
Ahora, podemos considerar la respuesta en frecuencia del filtro de Wiener en
términos de la estimación (4.14) y en punto de -3dB:
2
1
,~ˆ
,~
,~
23
3
3
yx
dB
s
yx
dB
s
yx
dB
W
P
PH ;
2
1
112
12,
112
12,
22
2
yxu
yxu
P
P
. (4.15)
De (4.15), se puede encontrar la condición para la frecuencia de corte de banda de
paso en nivel de -3dB del filtro de Wiener pasa bajas (punto de -3dB):
222 112
121
12
122,,2
yxuyxu PP ;
22 52176151.612
112112
12
,
yxuP . (4.16)
99
En concordancia con (4.16), la respuesta en frecuencia del filtro de Wiener paso
bajas se puede expresar así:
contrario caso elen 0,
y si ,1,
yCUTyxCUTx
yx
LP
WH
, (4.17)
donde xCUT , yCUT son valores de frecuencias de corte de pasa banda, cuales se
determinan como valores mínimos de yx , :para los cuales
252176151.6,:,minarg, yxuyxyCUTxCUT P . (4.18)
La condición (4.18) se puede expresar de otra manera, evitando el cálculo de
yxuP , :
55377397.2,:,minarg, yx
m
yxyCUTxCUT U , (4.19)
donde yxU , es el espectro de voltaje de la señal observada yxu , : ( )
.
El filtrado con el filtro propuesto se propone realizar en el dominio de la
transformada discreta de coseno y de una maneara adaptativa, utilizando para ello
bloques solapados de imagen de diferente tamaño de 3x3 hasta 16x16.
Para un filtro local adaptativo basado en la DCT aplicado a la imagen nosotros
usamos una transformada normalizada DCT-2dada por
m
ql
m
pkljkiu
m
qpqpU
m
k
m
l
m
2
)12(cos
2
)12(cos),(,
1
0
1
0
,
(4.20)
donde mm es el tamaño del bloque, ji, son las coordenadas de la parte superior
izquierda del bloque de datos en la imagen completa,
0,
2
111,1
x
mx
x . (4.21)
La transformación inversa esta dada por:
m
lq
m
kpqpUkp
mljkiu
m
p
m
q
m
2
)12(cos
2
)12(cos,
1),(
1
0
1
0
.
(4.22)
100
El filtrado de bloques en la imagen también se obtiene tomando la transformada
inversa como:
m
lq
m
kpqpHqpUkp
mljkis
m
p
m
q
mLP
W
m
local2
)12(cos
2
)12(cos,,
1),(ˆ
1
0
1
0
. (4.23)
Note que, el opuesto de escanear el filtro de ventana, los valores filtrados son
obtenidos simultáneamente, por todos los pixeles de un bloque dado. Y entonces, si
el proceso con bloques solapados es aplicado, estos valores filtrados deben ser
agregados.
Usando la ecuación (4.16), la estimación de respuesta de frecuencia del filtro de
Wiener y la DCT propuesto puede ser formulada como:
contrario casoen 0
55377397.2, ,1,ˆ qpUifqpH
mm
W . (4.24)
4.2. Técnica de filtrado propuesta
En este trabajo presentamos una técnica avanzada de filtrado basada en la
estrategia de filtrado BM3D [26] que supone la búsqueda de bloques similares en
las cercanías del bloque actual de la imagen, formando listas de parches con los
coeficientes DCT, su procesamiento mediante la transformada de Hadamard,
umbralización dura y el agregado de los parches procesados para formar la imagen
filtrada. La técnica de filtrado propuesta comienza con la etapa de
preprocesamiento para formar los parches de la DCT para cada píxel de la imagen
en el rango de mNmM pixeles, donde NM es el tamaño de la imagen
donde se realiza la búsqueda de los bloques de imagen similares con los datos
transformados por la DCT. Después del preprocesamiento, el primer paso de
filtrado se realiza con la imagen prefiltrada para el filtrado final; para ruido con
varianza pequeña se realiza el filtrado usando KLT; en el caso cuando el nivel de
ruido es alto, se utiliza el filtrado de Wiener de acuerdo con (4.24). El algoritmo
propuesto se muestra en la figura 4.1
4.2.1. Algoritmo de búsqueda de bloques similares
El algoritmo propuesto realiza la búsqueda de bloques similares dentro de un
rango especificado de entre los parches de bloques transformados por la DCT
101
(4.34). Es una variante de la búsqueda jerárquica que calcula las distancias desde
el valor medio del bloque corriente ji, -ésimo de la imagen y los valores medios de
los parches de bloques dentro del rango especificado; estos valores corresponden a
la componente de corriente directa (DC) con 0 yx del espectro (Ec. 4.25):
2
1,11,1
1 ,,, shiftjshiftiUjiUji d , (4.25)
donde el parámetro shift define el rango de la zona de búsqueda. Luego, se
ordenan según las distancias, y la mitad de los bloques encontrados se consideran
para la búsqueda más precisa usando los coeficientes DCT de los bloques
encontrados en el paso siguiente (Ec. 4.26):
21,1;5,1,,,,,22
,
,
1
,
2 1
shiftkqpUjidjiUji ji
qpkqp
dd , (4.26)
donde 1
kd denota el parche k-ésimo de los coeficientes DCT encontrado en el
primer paso. Nótese que qp, varían de 1 a 5, excluyendo en este paso la
componente DC, 1,1U . La complejidad computacional de la técnica de búsqueda
propuesta es considerablemente menor que en el caso del cálculo de todas las
distancias entre los píxeles del bloque actual )(m
u y los pixeles de todos bloques
dentro del rango: 21,1;,1,,,,22
shiftkmjikjkiujiujid .
En la etapa final de la búsqueda de bloques, se forma y se guarda la lista de las
coordenadas de los parches, ,...,,max1 jiljilji bU l , donde jiljil b ,...,
max1 , maxb es
el número máximo de parches similares, y el vector con las distancias
correspondientes, para su uso en el proceso de filtrado final.
4.2.2. Filtrado de los parches de DCT usando la transformada de
Hadamard
En la segunda etapa, se lleva a cabo un filtrado preliminar para formar la
estimación de la imagen para su uso en la tercera etapa. Antes de este filtrado, la
estimación del espectro sP del actual ji, -ésimo bloque de imagen se calcula usando
la lista de parches jiU ,l (Ec. 4.27):
2
1
max
,,,ˆb
k
P
kkks jiwjilUjiP , (4.27)
donde jiwP
k , es un coeficiente de ponderación normalizado calculado a partir de
las distancias entre los parches (Ec. 4.28):
ji
jidjiw
P
kP
k,
200/,exp,
w
, (4.28)
donde jiP ,w denota la suma de los coeficientes no normalizados. Con la
estimación sP , la respuesta en frecuencia del filtro Wiener provisional en la
102
posición del ji, -ésimo bloque yxjiH ,ˆ
, se forma en concordancia con (4.27).
Después, la transformada de Hadamard en tercera dimensión se aplica al grupo de
parches max,1 ,,, bkjilji kk UU , jiHadamardHadamard ,UU . Se propone
aplicar a HadamardU el siguiente umbralado duro (Ec. 4.29):
yxyxHadamardyxHadamard
yxyxHadamard
Hadamard Tsi
si
,
caso otroen 0
,,
0 ,~
UU
U
U , (4.29)
donde los umbrales se forman usando yxjiH ,ˆ
, como se ve en la ecuación (4.30).
caso otroen
3.0,ˆ i
87.0,ˆ
, ,max
,min
yxji
yxji
yx Hs
Hsi
T , (4.30)
y 1min , 9.2max ; 55377397.2 de la ecuación (4.24).
Al realizar el umbralado y la transformada inversa de Hadamard,
HadamardHadamardji UU~
,~ 1 , se realza el agrupamiento de todos los parches del
grupo ji,l . El agregado promediado se calcula, como
max
1
,.,ˆ,ˆ
b
k
A
kkkU jiwjilji Uls ,
max
1
,,b
k
A
kU jiwjiR l ,
500/,exp, jidjiw k
A
k ,
*
**
ˆ~
R
ss (4.31)
donde ji,ˆ ls es la suma de los bloques definidos por la lista ji,l , jiR ,l es la
suma de los coeficientes de ponderación jiwA
k , , s~ es la estimación de la imagen
que resulta de la etapa de prefiltrado y * indica las operaciones para cada
elemento.
4.2.3. Filtrado final usando minimización de representación esparcida
En la tercera etapa, si la varianza del ruido es mayor o igual que 100, 1002 , se
aplica el filtro de Wiener empírico a los grupos de bloques encontrados en la
primera etapa, ji,l (Ec. 4.32):
jiHadamardHadamard ,UU ,
jiHadamardHadamard ,~~SS , max,1 ,,
~,
~bkjilji kk SS
*
2
*
*
1
~
~
,ˆS
SUU HadamardHadamardji , (4.32)
103
donde TDCTDCT TsTS ~~ es la transformada DCT del bloque de la imagen pre-filtrada
s~ .
En el caso de ruido de pequeña varianza, 1002 , se propone el tratamiento
siguiente: si la varianza de los datos del bloque es pequeña, i.e, menor que ,2 2 se
toma como el resultado la estimación previa, ss ~ˆ ; en cualquier otro caso, se
realiza la minimización de la representación esparcida. Para ello, primero se
calcula la matriz de covarianza del bloque ji, -ésimo (Ec. 4.33):
1
,~,,~,,
mm
jijijijiji
Tssss
C (4.33)
En este cálculo, proponemos usar los datos prefiltrados en calidad de la estimación
de valores promedio de los pixeles para obtener mejores resultados en el filtrado.
Después, los eigenvectores Q de ji,C se determinan y se calcula la KLT de los
primeros dos bloques de la lista en ji,l , se calcula: jiji ,~, ssQS y se realiza
la umbralización dura (Ec. 4.34):
casootroen
if
0
7.2ˆ **
*
SSS , (4.34)
Con ello se obtiene la estimación de los datos del bloque (Ec. 4.35):
sSQs ~ˆˆ T . (4.35)
Finalmente, el agregado de los dos bloques procesados es similar a (4.31), la que se
calcula usando los pesos 40/,exp, jidjiw kk .
Figura 4. 1 filtro propuesto basado en BM3D, trabajando en el dominio de la DCT y usando un filtro adaptativo.
104
4.3. Implementación de DCT/IDCT en GPU.
Durante la etapa de pre procesamiento, la imagen es dividida en 8x8 bloques, la
DCT de 2D puede ser obtenida por primera vez de las columnas en la matriz de
DCT de 1D, seguido por las filas en la matriz calculada de la DCT de 1D en la
primera DCT de 1D como se muestra en la Figura 4.2.
Figura 4. 2 modelo de cálculo de la DCT de 2D
El modelo matemático y los coeficientes relacionados usados en la implementación
se obtienen de (4.20).
Con el propósito de trabajar la imagen en el dominio de la DCT, se pusieron en
cero los coeficientes de valor pequeño en el dominio de la DCT. Solamente se
guardó un número pequeño de coeficientes, los cuales contienen más información
de la imagen para poder recuperar la imagen usando esos coeficientes. En la
Figura 4.3 tal tenemos la simulación en MATLAB.
Figura 4. 3 Matriz de pixeles transferidos
105
Para la implementación en GPU se utilizó el procesador gráfico NVIDIA GTX-780.
El GPU tiene canales paralelos, lo que nos permitiría ejecutar diferentes conjuntos
de entrada en diferentes canales.
En la multiplicación de matrices el mismo programa es ejecutado en muchos
elementos de datos, que hacen que el cómputo paralelo llegue a ser un buen
candidato para ayudar a mejorar la eficiencia. Hay muchas aplicaciones que
utilizan un modelo de programación de datos paralelos para acelerar el cálculo de
grandes conjuntos de datos como la matriz. Y como un procesador de flujo, la GPU
tiene algunas características que son especialmente buenas para resolver los
problemas de los datos paralelos de los cálculos.
Por lo tanto, elegimos la multiplicación de matriz directa como nuestro algoritmo
principal para realizar DCT/IDCT, como se muestra en la Figura 4.4. Donde, los
bloques se separan para cubrir el tamaño entero del problema; cada hilo dentro de
cada bloque calcula un elemento y cada bloque calcula una sub-matriz cuadrada
(cuadro amarillo).
Figura 4. 4 Modelo de mapeo computacional
El tamaño del bloque se establece en 16, el múltiplo del tamaño del sesgo y el
número de banco de memoria compartida, lo que evitaría conflictos bancarios al
acceder a los datos. Los hilos en cada bloque serían 256 que está dentro del rango
permitido para cada bloque (64,512).
Los bloques azules muestran cómo se lleva a cabo el cálculo. Los elementos
correspondientes en la matriz de los píxeles originales y la matriz de coeficientes
106
de transferencia se destacan con diferentes colores. Para la transferencia de la
segunda columna, las matrices cambiarían de lugar pero el algoritmo
permanecería igual. Los registros acumularían el valor de cada multiplicación
hasta que el bucle termine el ancho de la matriz original.
4.3.1. Modelo de memoria y uso
Cada elemento se carga desde la memoria global para compartir la memoria. Dado
que el tamaño de bloque se establece en 16, el índice de hilo sería el número de
índice de bancos. Después de terminar el cálculo, los datos en la memoria
compartida se cargarían de vuelta a la memoria global.
Para ajustar el modelo al tamaño de imagen cuya matriz de píxeles no sería el
múltiplo de 16, usamos la ubicación de relleno para conducir a accesos de memoria
alineados.
Figura 4. 5 Relleno de memoria
En la Figura 4.5, el tamaño del problema está cubierto por la textura y el espacio
de relleno se deja en azul claro. Establecemos los elementos en esta región a cero,
lo cual no afectaría los resultados finales porque tomamos los elementos dentro del
tamaño del problema.
107
Capítulo 5 Resultados
En este capítulo se presentan los resultados obtenidos de las simulaciones y los
experimentos realizados de los métodos desarrollados para restaurar imágenes
digitales contaminadas por el ruido aditivo Gaussiano con la metodología
propuesta.
108
Las imágenes elegidas para realizar las pruebas, son imágenes estándares de
prueba de escala de grises de la bases de datos existente accesible en [59].
La figura 5.1 muestra las imágenes de prueba de tamaño 512x512 que fueron
empleadas en simulaciones de supresión de ruido aditivo Gaussiano.
Figura 5. 1 Conjunto de imágenes de prueba empleadas en simulaciones, de izquierda a derecha y de arriba hacia abajo: F-16,
Lena, peppers, aerial, baboon, bridge.
Para simulaciones, se eligieron diferentes niveles de ruido Gaussiano,
caracterizado por el nivel de la varianza: 25, 100, 225, 400.
5.1. Resultados de supresión de ruido con el filtro local
Wiener propuesto En esta sección, se presentan los resultados de simulaciones de restauración de
imágenes de prueba contaminadas por el ruido aditivo Gaussiano, de diferentes
niveles de varianza de ruido. La restauración se realizó con el filtro local Wiener
propuesto, Ec. (25), variando el tamaño de ventana del filtro en un rango amplio de
3x3 a 16x16 pixeles. Los resultados en términos de relación PSNR se presentan en
las tablas 5.1 – 5.13, en las cuales las imágenes de prueba son divididas en dos
grupos: imágenes de objetos suaves (bridge, F-16, Lena, peppers) e imágenes con
objetos que contienen texturas (aerial, baboon).
109
Tabla 5. 1 Resultados de las simulaciones de restauración de imágenes de prueba contaminadas por el ruido aditivo Gaussiano, con la ventana del filtro 3x3
Imagen 25 100 225 400
F-16 36.325 34.257 32.595 31.368
Lena 37.526 34.589 33.5987 31.255
peppers 36.658 34.987 33.526 31.524
aerial 35.65 31.598 30.359 27.766
baboon 34.59 30.897 27.875 25.542
bridge 34.789 31.157 28.258 26.754
Tabla 5. 2 Resultados de las simulaciones de restauración de imágenes de prueba contaminadas por el ruido aditivo
Gaussiano, con la ventana del filtro 4x4
Imagen 25 100 225 400
F-16 38.212 34.835 32.855 31.468
Lena 38.838 34.884 33.169 31.995
peppers 36.792 34.008 32.621 31.564
aerial 36.598 32.638 29.329 27.665
baboon 34.275 31.687 27.318 25.572
bridge 34.58 31.1528 27.842 26.977
Tabla 5. 3 Resultados de las simulaciones de restauración de imágenes de prueba contaminadas por el ruido aditivo
Gaussiano, con la ventana del filtro 5x5
Imagen 25 100 225 400
F-16 38.256 34.827 31.555 33.498
Lena 37.891 34.828 35.569 33.825
peppers 36.784 34.069 36.921 33.584
aerial 29.88 31.677 32.829 29.795
baboon 34.287 29.656 27.86 27.752
bridge 34.698 31.167 29.854 26.387
Tabla 5. 4 Resultados de las simulaciones de restauración de imágenes de prueba contaminadas por el ruido aditivo
Gaussiano, con la ventana del filtro 6x6
Imagen 25 100 225 400
F-16 38.216 35.857 35.246 33.498
Lena 38.121 35.778 33.465 33.585
peppers 37.874 36.019 32.546 33.364
aerial 37.658 31.257 31.457 23.255
baboon 34.264 32.646 29.354 25.692
110
bridge 34.687 30.152 29.54 28.577
Tabla 5. 5 Resultados de las simulaciones de restauración de imágenes de prueba contaminadas por el ruido aditivo
Gaussiano, con la ventana del filtro 7x7
Imagen 25 100 225 400
F-16 38.286 35.837 33.855 32.468
Lena 37.801 35.888 34.169 32.895
peppers 36.774 35.009 33.621 32.564
aerial 39.98 32.637 30.329 28.765
baboon 39.277 30.696 28.318 26.772
bridge 38.698 31.157 28.842 27.377
Tabla 5. 6 Resultados de las simulaciones de restauración de imágenes de prueba contaminadas por el ruido aditivo
Gaussiano, con la ventana del filtro 8x8
Imagen 25 100 225 400
F-16 39.286 35.837 33.855 32.468
Lena 38.801 35.888 34.169 32.895
peppers 37.774 35.009 33.621 32.564
aerial 36.98 32.637 30.329 28.765
baboon 35.277 30.696 28.318 26.772
bridge 35.698 31.157 28.842 27.377
Tabla 5. 7 Resultados de las simulaciones de restauración de imágenes de prueba contaminadas por el ruido aditivo
Gaussiano, con la ventana del filtro 9x9
Imagen 25 100 225 400
F-16 39.286 35.837 33.855 32.468
Lena 38.801 35.888 34.169 32.895
peppers 37.774 35.009 33.621 32.564
aerial 36.98 32.637 30.329 28.765
baboon 35.277 30.696 28.318 26.772
bridge 35.698 31.157 28.842 27.377
Tabla 5. 8 Resultados de las simulaciones de restauración de imágenes de prueba contaminadas por el ruido aditivo
Gaussiano, con la ventana del filtro 10x10
Imagen 25 100 225 400
F-16 39.286 35.837 33.855 32.468
Lena 38.801 35.888 34.169 32.895
peppers 37.774 35.009 33.621 32.564
111
aerial 36.98 32.637 30.329 28.765
baboon 35.277 30.696 28.318 26.772
bridge 35.698 31.157 28.842 27.377
Tabla 5. 9 Resultados de las simulaciones de restauración de imágenes de prueba contaminadas por el ruido aditivo
Gaussiano, con la ventana del filtro 11x11
Imagen 25 100 225 400
F-16 39.286 35.837 33.855 32.468
Lena 38.801 35.888 34.169 32.895
peppers 37.774 35.009 33.621 32.564
aerial 36.98 32.637 30.329 28.765
baboon 35.277 30.696 28.318 26.772
bridge 35.698 31.157 28.842 27.377
Tabla 5. 10 Resultados de las simulaciones de restauración de imágenes de prueba contaminadas por el ruido aditivo
Gaussiano, con la ventana del filtro 12x12
Imagen 25 100 225 400
F-16 39.286 35.837 33.855 32.468
Lena 38.801 35.888 34.169 32.895
peppers 37.774 35.009 33.621 32.564
aerial 36.98 32.637 30.329 28.765
baboon 35.277 30.696 28.318 26.772
bridge 35.698 31.157 28.842 27.377
Tabla 5. 11 Resultados de las simulaciones de restauración de imágenes de prueba contaminadas por el ruido aditivo
Gaussiano, con la ventana del filtro 13x13
Imagen 25 100 225 400
F-16 39.286 35.837 33.855 32.468
Lena 38.801 35.888 34.169 32.895
peppers 37.774 35.009 33.621 32.564
aerial 36.98 32.637 30.329 28.765
baboon 35.277 30.696 28.318 26.772
bridge 35.698 31.157 28.842 27.377
Tabla 5. 12 Resultados de las simulaciones de restauración de imágenes de prueba contaminadas por el ruido aditivo
Gaussiano, con la ventana del filtro 14x14
Imagen 25 100 225 400
F-16 39.286 35.837 33.855 32.468
112
Lena 38.801 35.888 34.169 32.895
peppers 37.774 35.009 33.621 32.564
aerial 36.98 32.637 30.329 28.765
baboon 35.277 30.696 28.318 26.772
bridge 35.698 31.157 28.842 27.377
Tabla 5. 13 Resultados de las simulaciones de restauración de imágenes de prueba contaminadas por el ruido aditivo
Gaussiano, con la ventana del filtro 15x15
Imagen 25 100 225 400
F-16 39.286 35.837 33.855 32.468
Lena 38.801 35.888 34.169 32.895
peppers 37.774 35.009 33.621 32.564
aerial 36.98 32.637 30.329 28.765
baboon 35.277 30.696 28.318 26.772
bridge 35.698 31.157 28.842 27.377
Tabla 5. 14 Resultados de las simulaciones de restauración de imágenes de prueba contaminadas por el ruido aditivo
Gaussiano, con la ventana del filtro 16x16
Imagen 25 100 225 400
F-16 39.582 35.258 38.855 32.468
Lena 38.258 35.542 38.169 35.895
peppers 37.268 35.524 38.621 32.564
aerial 36.682 32.87 33.329 28.765
baboon 35.284 30.874 28.318 35.772
bridge 35.548 31.157 28.842 27.377
El análisis de los resultados de las simulaciones, presentadas en las tablas 5.1-5.14
muestra, que los mejores resultados para las imágenes de prueba con objetos
suaves, se obtienen con los tamaños de ventana del filtro de 4x4 a 15x15 para
niveles de ruido bajos, menores de 100. Para ruido de niveles de moderados a altos,
los mejores resultados se obtuvieron con los tamaños de ventana del filtro de 6x6 a
12x12.
Para las imágenes de prueba que contienen objetos de textura, los mejores
resultados se obtuvieron con los tamaños de ventana del filtro pequeñas de 3x3 a
5x5 para diferentes niveles de ruido.
Con base en estos resultados, se puede concluir, que tamaños de ventana pequeños
3x3 son adecuados para filtrar regiones de imágenes que contienen texturas. Y
para regiones suaves en imágenes, con los tamaños de 6x6 a 16x16 se puede
obtener un nivel de supresión de ruido mejor, que con tamaños de ventana
pequeños.
113
Así, un filtro de supresión de ruido Gaussiano que adapta el tamaño de su
ventana, puede mejorar su desempeño comparando con un filtro de tamaño de
ventana fijo ya que las imágenes naturales con frecuencia contienen objetos de
ambas tipos, suaves y de textura.
5.2. Resultados de la supresión de ruido con el filtro
propuesto adaptativo en dominio DCT
Con base en las resultados y conclusiones presentados en 5.3, se propone utilizar el esquema de
adaptación local del filtrado en el dominio DCT, desarrollado en 4.2, con las ventanas de
tamaño (16x16), adaptando así el filtro a los objetos de diferente naturaleza contenidos en las
imágenes digitales.
La tabla 5.15 presenta los resultados en términos de PSNR, y la tabla 5.16 presenta los
resultados de coeficiente de similitud SSIM [51],[52].
Tabla 5. 15 Los resultados de supresión de ruido Gaussiano en imágenes de prueba con las técnicas propuestas en comparación
con las técnicas del estado del arte, en términos de PSNR, dB.
Imagen Varianza Sin procesar Filtro KSVD Filtro BM3D Filtro propuesto
adaptativo
Lena
25 34.14 38.352 38.676 38.801
100 28.132 35.428 35.909 35.888
225 24.616 33.693 34.255 34.169
400 22.137 32.466 33.045 32.895
F-16
25 34.14 39.055 39.26 39.286
100 28.132 35.503 35.868 35.837
225 24.627 33.438 33.908 33.855
400 22.191 31.997 32.549 32.468
peppers
25 34.146 37.15 37.594 37.774
100 28.167 34.606 34.995 35.009
225 24.681 33.174 33.706 33.621
400 22.22 32.079 32.704 32.564
aerial
25 34.145 36.761 37.088 36.98
100 28.142 32.396 32.802 32.637
225 24.644 30.039 30.441 30.329
400 22.199 28.442 28.84 28.765
baboon
25 34.141 35.119 35.219 35.277
100 28.135 30.445 30.57 30.696
225 24.618 27.99 28.176 28.318
400 22.129 26.373 26.602 26.772
bridge
25 34.159 35.628 35.736 35.698
100 28.169 30.976 31.156 31.157
225 24.682 28.587 28.763 28.842
400 22.23 27.073 27.235 27.377
114
Figura 5. 2 Gráfica de resultados en términos de PSNR de los filtros a)KSVD, b)BM3D, c)Propuesto
En las gráficas de la Figura 5.1, se puede observar que el filtro propuesto es
competitivo con el filtro BM3D en términos de PSNR. La mayoría de las veces
cuando la varianza del ruido aumenta, el filtro BM3D es superior en las imágenes
de objetos suaves (Lena, F-16) y en imágenes con objetos que contienen texturas
(aerial). Por otro lado, el filtro propuesto es superior en una imagen con objetos de
textura (baboon) y en una imagen con objetos suaves (bridge). Sacando ventaja el
BM3D sobre el filtro propuesto al eliminar el ruido en la imagen peppers, ya que
este puede tener mejores resultados cuando la varianza del ruido aumenta.
• Tabla 5. 16 Los resultados de supresión de ruido Gaussiano en imágenes de prueba con las técnicas propuestas en
comparación con las técnicas del estado del arte, en términos de índice de similitud SSIM con el mismo tamaño del
área de búsqueda definida por el parámetro shift=21.
Imagen Varianza Sin procesar Filtro KSVD
Filtro BM3D
Filtro propuesto adaptativo
Lena
25 0.6500 0.7015 0.7059 0.7299
100 0.4341 0.6183 0.6221 0.6358
225 0.3210 0.5685 0.5720 0.5820
400 0.2509 0.5304 0.5334 0.5389
F-16
25 0.5736 0.6785 0.6748 0.6876
100 0.4076 0.5869 0.5856 0.5950
225 0.3221 0.5329 0.5342 0.5404
400 0.2664 0.4920 0.4950 0.5001
peppers
25 0.6981 0.6931 0.7041 0.7351
100 0.4601 0.5879 0.5796 0.6006
225 0.3342 0.5397 0.5350 0.5485
400 0.2590 0.5072 0.5049 0.5140
aerial 25 0.8425 0.9052 0.9074 0.9063
0
5
10
15
20
25
30
35
40
45
25
10
0
22
5
40
0
25
10
0
22
5
40
0
25
10
0
22
5
40
0
25
10
0
22
5
40
0
25
10
0
22
5
40
0
25
10
0
22
5
40
0
Lena F-16 peppers aerial baboon bridge
PSN
R
Varianza
Sin procesar
Filtro KSVD
Filtro BM3D
Filtro propuestoadaptativo
115
100 0.6976 0.8268 0.8338 0.8329
225 0.5871 0.7625 0.7745 0.7727
400 0.5007 0.7047 0.7214 0.7200
baboon
25 0.9183 0.9228 0.9260 0.9275
100 0.7905 0.8273 0.8274 0.8410
225 0.6786 0.7490 0.7516 0.7679
400 0.5856 0.6793 0.6862 0.7068
bridge
25 0.9136 0.9380 0.9407 0.9398
100 0.7809 0.8531 0.8586 0.8632
225 0.6587 0.7693 0.7758 0.7870
400 0.5561 0.6931 0.7005 0.7188
Figura 5. 3 Gráfica de resultados en términos de índice de similitud SSIM de los filtros a)KSVD, b)BM3D, c)Propuesto
Sin embargo podemos observar que en la gráfica de la figura 5.2 el filtro propuesto
es el que mejores resultados muestra en términos de índice de similitud SSIM con
el mismo tamaño del área de búsqueda definida por el parámetro shift=21, al
recuperar imágenes degradadas por ruido cuando la varianza aumenta. Las
imágenes se muestran con menor ruido al usar el filtro propuesto.
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
25 225 25 225 25 225 25 225 25 225 25 225
Lena F-16 peppers aerial baboon bridge
Térm
ino
s d
e ín
dic
e d
e s
imili
tud
, SSI
M
Varianza
Sin procesar
Filtro KSVD
Filtro BM3D
Filtro propuestoadaptativo
116
Figura 5. 4 Imagen de Lena con el mismo tamaño de búsqueda definida por el parámetro shift=21. De izquierda a derecha y
de arriba hacia abajo, a) imagen ruidosa, b) NCSR, c) BM3D y d) filtro propuesto.
En la figura 5.3, podemos observar que al recuperar la imagen con el filtro K-SVD
obtenemos demasiado suavizado en la barbilla y nariz de Lena, mientras que con
el filtro NCSR, existe una fractura en la mejilla de esta. Sin embargo, con el filtro
propuesto las partes de la piel de Lena son mejoradas pero obtenemos un
suavizado en la parte del cabello.
117
5.3. Análisis de rendimiento en GPU
En la Figura 5.5 y la Tabla 5.17, se observa que el tiempo de ejecución de la DCT
en GPU es mucho menor que el tiempo de ejecución en CPU.
Figura 5. 5 Comparación de desempeño de DCT en CPU vs GPU
Dimensión de la matriz
3*3 4*4 5*5 6*6 7*7 8*8 9*9 10*10 11*11 12*12 13*13 14*14 15*15 16*16
Tiempo en CPU
0.0212 0.0213 0.0223 0.0244 0.0246 0.0258 0.0259 0.0261 0.0278 0.0287 0.0289 0.0294 0.0296 0.0299
Tiempo en GPU
0.0013 0.0013 0.0014 0.0015 0.0015 0.0016 0.0016 0.0018 0.0018 0.0019 0.0019 0.0021 0.0021 0.0022
velocidad 0.4215 0.6548 0.7852 0.8515 1.0369 1.1258 1.2587 2.0698 2.1258 3.5896 3.6984 4.1025 4.1285 5.6565
Tabla 5. 17 Comparación de desempeño de DCT en CPU vs GPU
0
0.005
0.01
0.015
0.02
0.025
0.03
0.035
Tiempo enCPU
Tiempo enGPU
118
Figura 5. 6 velocidad CPU vs GPU
En la Figura 5.6 se observa que el tiempo consumido por el programa de la CPU
aumenta "exponencialmente" a medida que aumenta la dimensión de la matriz,
mientras que la GPU utiliza mucho menos tiempo especialmente para la matriz
grande. También notamos que para un tamaño pequeño de matriz, la CPU
funciona mejor. Esto no socavará nuestros esfuerzos porque la única gran matriz
de computación necesita GPU para acelerar mientras que la aplicación sólo
implica un tamaño pequeño de la imagen no tiene que pasar por todos los
problemas de la GPU.
0
1
2
3
4
5
6
3*3 4*4 5*5 6*6 7*7 8*8 9*9 10*1011*1112*1213*1314*1415*1516*16
Velocidad
119
Capítulo 6 Conclusiones y trabajos
futuros
En este capítulo se muestran las conclusiones obtenidas de los resultados
anteriores. Así como posibles trabajos futuros.
120
6.1. Conclusiones
En este trabajo se realizaron las siguientes tareas:
• Con base en la revisión de las técnicas modernas de supresión de ruido
aditivo Gaussiano en imágenes digitales se desarrolló el método de restauración de
imágenes digitales en escala de grises degradadas con ruido aditivo Gaussiano con
base en la transformada discreta del coseno (DCT) calculada en bloques de imagen
de tamaño variable.
• Se desarrolló un algoritmo basado en la DCT ya que arroja coeficientes de
correlación con los que se puede llevar de manera más fácil a la programación,
obteniendo una mayor computación de la imagen y menor perdida de datos posible.
• Se derivó analíticamente empleando la teoría de filtrado lineal de Wiener el
umbral en función de la desviación estándar del ruido para la supresión de los
coeficientes en el dominio de la transformada menores que este umbral, que es
óptimo en el sentido del mínimo de error cuadrático medio.
• Se realizó la comparación de la calidad de la restauración de imágenes de
prueba estándares contaminadas con ruido aditivo Gaussiano, variando el tamaño
de los bloques de filtro en el rango de 3x3 hasta 16x16 y el valor del umbral en
función de la desviación estándar del ruido utilizando GPU; se comprobó la
optimalidad del umbral derivado analíticamente.
• La complejidad computacional del algoritmo desarrollado es menor a otros
en el estado del arte.
• Se compararon los resultados con otros algoritmos propuestos en el estado
del arte (BM3D, K-SVD, NCSR). Se realizaron comparativas de calidad de
restauración utilizando diferentes métricas, PSNR y SSIM.
• En términos de PNSR es competitivo con técnicas en el estado del arte. En
términos de SSIM tiene mejora que otros.
6.2. Trabajo futuro
Probar el criterio de Índice de similitud de rasgos FSIM.
Emplear lógica difusa para encontrar el valor del umbral local
121
Referencias
[1] Rafael C. González & Richard E. Woods, Tratamiento digital de imágenes,
Addison-Wesley/Díaz de Santos, 1996, pp. 175-236.
[2] A. Bovik, Handbook of Image and Video Processing, Acadamic Press, San Diego
CA, 2000.
[3] I. Pitas, A. N. VenetsanoPoulos, Nonlinear Digital Filters: Principles and
Applications, Kluwer Academic Publisher, 1990.
[4] J. Astola and P. Kuosmanen, Fundamentals of Nonlinear Digital Filtering,
CRC Press, Boca Raton-New York, 1997.
[5] K.N. Plataniotis, A.N. VenetsanoPoulos, Color Image Processing and
Applications. Springer Verlag, Berlin, 2000.
[6] R. C. Gonzalez y R. E. Woods, “Digital Image Processing”, Pearson Education,
2008
[7] E.B. Stobie, R.J. Hanisch and R.L. White, “Implementation of the Richardson--‐Lucy algorithm in STSDAS,” Astronomical Data Analysis Software and Systems
III, vol. 61, pp. 296--‐299, 1994.
[8] Javier Altamirano Ley / Gisela Estrada S., “Tomografía por Emisión de
Positrones y Tomografía Computarizada”, Aplicaciones clínicas, pp 120-135, 2013.
[9] IEEE Transactions on Image Processing, vol. 15, no. 12, december 2006
[10] E. Haber and L. Tenorio, “Learning regularization functionals,” Inv. Probl.,
vol. 19, pp. 611–626, 2003.
[11] Weisheng Dong, Lei Zhang, Member, IEEE, Guangming Shi, Senior Member,
IEEE,
and Xin Li, Senior Member, IEEE
[12] I. Daubechies, M. Defriese, and C. DeMol, “An iterative thresholding
algorithm for linear inverse problems with a sparsity constraint,” Commun. Pure
Appl. Math., vol. 57, no. 11, pp. 1413–1457, 2004.
122
[13] K. Dabov, A. Foi, V. Katkovnik, and K. Egiazarian, “Image denoising by
sparse 3-D transform-domain collaborative filtering,” IEEE Trans. Image Process.,
vol. 16, no. 8, pp. 2080–2095, Aug. 2007.
[14] V. Katkovnik, A. Foi, K. Egiazarian, and J. Astola, “From local kernel to
nonlocal multiple-model image denoising,” Int. J. Comput. Vis., vol. 86, no. 1, pp.
1–32, Jan. 2010.
[15] K. Dabov, A. Foi, V. Katkovnik, and K. Egiazarian, “BM3D image denoising
with shape-adaptive principal component analysis,” in Proc. Workshop Signal
Process. Adaptive Sparse Struct. Represent., Saint-Malo, France, Apr. 2009, pp. 1–
6.
[16] A. Danielyan, V. Katkovnik, and K. Egiazarian, “BM3D frames and
variational image deblurring,” IEEE Trans. Image Process., vol. 21, no. 4, pp.
1715–1728, Apr. 2012.
[17] M. Aharon, M. Elad, and A. Bruckstein, “K-SVD: An algorithm for designing
overcomplete dictionaries for sparse representation,” IEEE Trans. Signal Process.,
vol. 54, no. 11, pp. 4311–4322, Nov. 2006.
[18] J. Mairal, F. Bach, J. Ponce, G. Sapiro, and A. Zisserman, “Non-local sparse
models for image restoration,” in Proc. IEEE Int. Conf. Comput. Vis., Tokyo,
Japan, Sep.–Oct. 2009, pp. 2272–2279.
[19] M. Elad and M. Aharon, “Image denoising via sparse and redundant
representations over learned dictionaries,” IEEE Trans. Image Process., vol. 15,
no. 12, pp. 3736–3745, Dec. 2006.
[20] K. Dabov, A. Foi, V. Katkovnik, K. Egiazarian, “Image denoising by sparse 3D
transform-domain collaborative filtering,” IEEE Transactions on Image Processing
16(8), (2007) 2080–2095.
[21] A. Buades, B. Coll, J.M. Morel, et al. A review of image denoising algorithms,
with a new one. Multiscale Modeling and Simulation, 4(2):490{530, 2006.
http://dx.doi.org/10.1137/040616024.
[22] K. Dabov, A. Foi, V. Katkovnik, K. Egiazarian, et al. Bm3d image denoising
with shape-adaptive principal component analysis. Proc. of the Workshop on
Signal Processing with Adaptive Sparse Structured Representations, Saint-Malo,
France, April 2009.
[23] V.I.A. Katkovnik, V. Katkovnik, K. Egiazarian, and J. Astola. Local
approximation techniques in signal and image processing, volume PM157. Society
of Photo Optical, 2006. http://dx. doi.org/10.1117/3.660178
123
[24] V. Katkovnik, A. Danielyan, and K. Egiazarian. Decoupled inverse and
denoising for image deblurring: variational BM3D-frame technique. In
Proceedings of IEEE International Conference on Image Processing (ICIP, 2011),
2011. http://dx.doi.org/10.1109/ICIP.2011.6116455.
[25] Danielyan, V. Katkovnik, and K. Egiazarian. Bm3d frames and variational
image deblurring. IEEE Transactions on Image Processing, 2012.
http://dx.doi.org/10.1109/TIP.2011. 2176954.
[26] Marc Lebrun, An Analysis and Implementation of the BM3D Image Denoising
Method, Image Processing On Line, 2 (2012), pp. 175{213.
http://dx.doi.org/10.5201/ipol.2012.l-bm3d
[27] Yingkun Hou, Chunxia Zhao, Deyun Yang, and Yong Cheng. Comments on
\image denoising by sparse 3-d transform-domain collaborative _ltering". IEEE
Transactions on Image Processing, 20(1), January 2011.
http://dx.doi.org/10.1109/TIP.2010.2052281.
[28] P. Chatterjee and P. Milanfar. Is denoising dead? Image Processing, IEEE
Transactions on, 19(4):895{911, 2010. http://dx.doi.org/10.1109/TIP.2009.2037087.
[29] Levin and B. Nadler. Natural image denoising: Optimality and inherent
bounds. In Computer Vision and Pattern Recognition (CVPR), 2011 IEEE
Conference on, pages 2833{2840. IEEE, 2011.
http://dx.doi.org/10.1109/CVPR.2011.5995309
[30] P. Chatterjee, P. Milanfar, “Clustering-based Denoising with Locally Learned
Dictionaries,” IEEE Trans. on Image Processing 18(7), (2009) 1438–1451.
[31] H. Takeda, S. Farsiu, and P. Milanfar, “Kernel regression for image
processing and reconstruction,” IEEE Trans. Image Process., vol. 16, no. 2, pp.
349–366, Feb. 2007
[32] J. Portilla, V. Strela, M. J. Wainwright, and E. P. Simoncelli, “Image
denoising using a scale mixture of Gaussians in the wavelet domain,” IEEE Trans.
Image Process., vol. 12, no. 11, pp. 1338–1351, Nov. 2003.
[33] H. Takeda, S. Farsiu, and P. Milanfar, “Deblurring using regularized locally-
adaptive kernel regression,” IEEE Trans. Image Process., vol. 17, no. 4, pp. 550–
563, Apr. 2008
[34] Buades, B. Coll, and J.-M. Morel, “The staircasing effect in neighborhood
filters and its solution,” IEEE Trans. Image Process., vol. 15, no. 7, pp. 1499–1505,
Jul. 2006
124
[35] H. Takeda, S. Farsiu, and P. Milanfar, “Higher order bilateral filters and their
properties,” in Proc. SPIE Conf. Computational Imaging V, Feb. 2007, vol. 6498, p.
64980S.
[36] P. Chatterjee and P. Milanfar, “A generalization of non-local means via kernel
regression,” in Proc. IS&T/SPIE Conf. Computational Imaging VI, San Jose, CA,
Jan. 2008, vol. 6814, p. 68140P.
[37] H. J. Seo and P. Milanfar, “Video denoising using higher order optimal space-
time adaptation,” in Proc. IEEE Int. Conf. Acoustics, Speech and Signal
Processing, Las Vegas, NV, Apr. 2008, pp. 1249–1252.
[38] Buades, B. Coll, and J.-M. Morel, “A non-local algorithm for image denoising,”
in Proc. IEEE Conf. Computer Vision and Pattern Recognition, Washington, DC,
Oct. 2005, vol. 2, pp. 60–65.
[39] C. Kervrann and J. Boulanger, “Optimal spatial adaptation for patchbased
image denoising,” IEEE Trans. Image Process., vol. 15, no. 10, pp. 2866–2878, Oct.
2006.
[40] C. Tomasi and R. Manduchi, “Bilateral filtering for gray and color images,” in
Proc. 6th Int. Conf. Computer Vision, Washington, DC, Jan. 1998, pp. 839–846
[41] J. Mairal, F. Bach, J. Ponce, G. Sapiro, and A. Zisserman, “Non-local sparse
models for image restoration,” in Proc. Int. Conf. Comput. Vis., pp. 2272-2279,
Sept. 29 2009-Oct. 2 2009.
[42] W. Dong, L. Zhang, G. Shi, and X. Li, “Nonlocally centralized sparse
representation for image restoration,” IEEE Trans. Image Process., vol. 22, no. 4,
pp. 1620-1630, Apr. 2013.
[43] J. Jancsary, S. Nowozin, and C. Rother, “Loss-specific training of
nonparametric image restoration models: a new state of the art,” in Proc. Eur.
Conf. Comput. Vis., 2012.
[44] W. Zuo, L. Zhang, C. Song, D. Zhang, and H. Gao, “Gradient Histogram
Estimation and Preservation for Texture Enhanced Image Denoising,” IEEE
Trans. on Image Processing 23(6), (2014) 2459–2472.
[45] W.K. Pratt, Digital Image Processing, 4-th Edition, NY, USA, Wiley-
Interscience (2007).
[46] Buades, B. Coll and J. M. Morel, “A review of image denoising algorithms,
with a new one”, J. SIAM, vol. 2, no. 4, (2005).
125
[47] Ning He, Jin-Bao Wang, Lu-Lu Zhang, Guang-Mei Xu, Ke Lu. “Non-local
sparse regularization model with application to image denoising,” Multimedia
Tools and Applications, Vol. 75, Issue 5, pp. 2579-2594, 2016
[48] P. Chatterjee, P. Milanfar, “Is Denoising Dead?”, IEEE Trans. on Image
Processing, Vol. 19, No. 4, 895-911, (2010).
[49] Oleksiy Pogrebnyak, Vladimir V. Lukin. “Wiener discrete cosine transform-
based image filtering”, Journal of Electronic Imaging, Volume 21, Issue 4, USA,
p.p. 043020-1-043020-15, October–December 2012, ISSN 1017-9909, DOI:
10.1117/1.JEI.21.4.043020.
[50] D. Fevralev, V. Lukin, N. Ponomarenko, S. Abramov, K. Egiazarian, J. Astola,
“Efficiency analysis of color image filtering,” EURASIP Journal on Advances in
Signal Processing, Vol. 2011:41, doi:10.1186/1687-6180-2011-41 (2011).
[51] Z. Wang, A. C. Bovik, H. R. Sheikh, and E. P. Simoncelli, "Image Quality
Assessment: From Error Visibility to Structural Similarity," IEEE Transactions on
Image Processing, Volume 13, Issue 4, pp. 600- 612, 2004.
[52] Wang, Z.; Simoncelli, E.P.; Bovik, A.C. (2003-11-01). "Multiscale structural
similarity for image quality assessment". Conference Record of the Thirty-Seventh
Asilomar Conference on Signals, Systems and Computers, 2004 2: 1398–1402
Vol.2.
[53] K. Dabov, A. Foi, V. Katkovnik, K. Egiazarian, “Image denoising by sparse 3-
D transform- domain collaborative filtering,” IEEE Trans. on Image Proc., vol. 16,
No. 8, 2080-2095 (2007).
[54] K.N. Plataniotis, A.N. Venetsanopoulos, Color Image Processing and
Applications, NY.: Springer-Verlag, 355 p. (2000).
[55] O. Pogrebnyak y V. Lukin, “Wiener DCT Based Image Filtering”, Journal of
Electronic Imaging, Volumen 21, Dic. 2012.
[56] V. Lukin, N. Ponomarenko, K. Egiazarian, J. Astola, “Adaptive DCT-based
filtering of images corrupted by spatially correlated noise,” Proc. of SPIE Conf.
Image Proc.: Algorithms and Systems, San Jose, CA, USA, Vol. 6812, 12 p.
(2008).
[57] V.V. Lukin, R. Oktem, N. Ponomarenko, K. Egiazarian, “Image filtering based
on discrete cosine transform,” Telecommunications and Radio Engineering, Vol.
66, No. 18, 1685-1701 (2007).
126
[58] R. Oktem, K. Egiazarian, V.V. Lukin, N.N. Ponomarenko, O.V. Tsymbal,
“Locally adaptive DCT filtering for signal-dependent noise removal”, EURASIP
Journal on Advances in Signal Processing, Vol. 2007:042472,
DOI:10.1155/2007/42472, 10 p. (2007)
[59] The USC-SIPI Image Database, Volume 3: Miscellaneous.” Disponible en:
http://sipi.usc.edu/database/database.php?volume=misc (visitada 11 Febrero de 2016).