usando DSP TMS320C6711tesis.ipn.mx/jspui/bitstream/123456789/2723/1/1499... · video transmission...

63
INSTITUTO POLITECNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA Unidad Culhuacan SECCIÓN DE ESTUDIOS DE POSGRADO E INVESTIGACIÓN Filtrado 3D de Secuencias de Imágenes en Tiempo Real usando DSP TMS320C6711 T E S I S Para obtener el Grado en Maestría en Microelectrónica PRESENTA Ing. Alejandro López Rodríguez ASESOR: DR. VOLODYMYR PONOMARYOV México D. F Noviembre 2006

Transcript of usando DSP TMS320C6711tesis.ipn.mx/jspui/bitstream/123456789/2723/1/1499... · video transmission...

INSTITUTO POLITECNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA Unidad Culhuacan

SECCIÓN DE ESTUDIOS DE POSGRADO E INVESTIGACIÓN

Filtrado 3D de Secuencias de Imágenes en Tiempo Real

usando DSP TMS320C6711

T E S I S

Para obtener el Grado en Maestría en Microelectróni ca

PRESENTA

Ing. Alejandro López Rodríguez

ASESOR: DR. VOLODYMYR PONOMARYOV

México D. F Noviembre 2006

3

4

Agradecimientos A Dios, por afrontarme a este reto y apoyarme siempre. A mi Hija, iluminas y alegras mi corazón, eres mi mayor acierto, mi inspiración y orgullo. A mi Esposa, tu apoyo, tu amor son mi alimento, te amo. A mis Padres, un inmenso amor los ha unido para darme vida, de esa magnitud es mi deuda con ustedes, sea entonces esta una pequeña retribución. A mis Hermanos, por fortalecer el lazo sanguíneo con compañerismo. Benjamín, tu autenticidad me enriquece. Armando, tu recuerdo fortalece mi Convicción. A mi Familia: tíos, abuelos, primos, mis logros son consecuencia de su afecto y confianza. A mis profesores, muy en específico al Dr. Volodymyr, ejemplo de Disciplina, Constancia y Sabiduría. A mis compañeros, porque el crecimiento no fue solo en lo intelectual, sino también en el aspecto humano, han logrado enaltecer mi significado de amistad. Al IPN y CONACYT por su colaboración en el desarrollo de mis habilidades, incremento de capacidades y posibilitar un mejor futuro.

3

INDICE RESUMEN 1. Introducción 1.1 Objetivo ………………………………………………………………... 1.2 Metas …………………………………………………………………… 1.3 Justificación …………………………………………………………… 1.4 Antecedentes …………………………………………………………… 1.4.1 Procesamiento de imágenes y video ……………............................... 1.4.2 Representación digital ..……………………………………………… 1.4.3 Procesamiento de Imágenes en Etapas ………………………………. 1.4.4 Video digital ………………………………………………………….

2. ESTADO DE ARTE 2.1 Métodos de Domino espacial ………………………………………….. 2.2 Filtrado lineal y no lineal ……………………………………………… 2.3 Filtrado espacial ………………………………………………………..

2.3.1 Filtrado espacial paso bajo (Filtros suavizantes) ……………. 2.3.2 Filtrado espacial de pasa alto básico ………………………… 2.3.3 Filtros diferenciales …………………………………………..

2.4 Filtrado espacio-temporal …………………………………………….

2.4.1 Filtrado por la mediana ....………………………………….. 2.5 Ruido impulsivo ………………………………………………………. 2.6 Criterios de Fidelidad ………………………………………………… 2.7 Conclusiones ………………………………………………………….

1

3 3 3 4 4 4 7 8

10 11 12 13 13 14 16 17 18 19 20

4

3. FILTROS IMPLEMENTADOS. 3.1 Filtro de Media y de Mediana ……………………………………….. 3.2 Cubo-Mediana ……………………………………………………….. 3.3 Filtro ROM 3-D ……………………………………………………... 3.4 Filtro Alfa-Trim ……………………………………………………... 3.5 Filtro MM-KNN en secuencias ……………………………………… 3.6 Filtro WM-KNN ……………………………………………………..

3.6.1 Filtro Wilcoxon …………………………..………………….. 3.6.2 Filtro WM-KNN ……………………………………………..

3.7 Conclusiones …………………………………………………………

4. RESULTADOS

4.1 Resultados de la simulación …………………………………………. 4.2 Conclusiones …………………………………………………………

5. RESULTADOS VISUALES

5.1 Resultados de la simulación …………………………………………. 5.2 Imágenes de Error ….…………………………………………………

6. IMPLEMENTACION EN TIEMPO REAL.

6.1 DSP TMS320C67X ………………………………………………….. 6.2 Software (Code Componer Studio 3.0) ……………………………… 6.3 Tiempos de ejecución ………………………………………………... 6.4 Conclusiones …………………………………………………………

CONCLUSIONES Conclusiones Generales ……………………………………………... Trabajo Futuro ……………………………………………………………

REFERENCIAS ……………………………………………………………….. ANEXOS

21 21 22 23 24 25 25 26 26 28 34 35

41 45 46 48

49 50 51 52

1

Resumen Actualmente el procesamiento de imágenes se ha convertido en un instrumento más común, hay una amplia variedad de programas (software) los cuales ya disponen de herramientas para resaltado de bordes, mejoramiento del contraste o filtrados sencillos, generalmente se aplica en fotografías. Además, existe un rápido crecimiento de la transmisión del video sobre Internet, entre otras muy diversas aplicaciones del video en tiempo real, tales como: ultrasonidos, sistemas meteorológicos y cámaras de vigilancia. Cualquiera de estas secuencias puede sufrir deterioro durante sus procesos de adquisición y/o almacenamiento. Esta pérdida de los valores originales modifica la percepción visual y en el caso particular de imágenes medicas, puede ser muy perjudicial en un diagnostico. Este trabajo busca determinar métodos efectivos en la reducción del ruido que contamina dichas secuencias. Al mismo tiempo deben ser lo suficientemente rápidos para trabajar en tiempo real. Se muestran diferentes algoritmos, algunos basados en técnicas de filtrado a color para imágenes fijas. Una propiedad que nos brindan las secuencias de imágenes es la alta correlación temporal, es decir, la gran similitud que existe entre imágenes fijas que son contiguas dentro de las secuencias, esta característica es aprovechada por los algoritmos aquí mostrados y sus resultados son comparados con métodos de 2 dimensiones. Estas mediciones se realizan bajo los criterios PSNR y MAE. También se muestran imágenes de error para ser consideradas en la definición del método de filtrado más efectivo. Otro criterio muy importante para nuestro resultado final es el tiempo de ejecución, mediante el cual se puede determinar qué algoritmos sirven para trabajar en tiempo real. Las mediciones se hacen considerando la ejecución de los algoritmos en una tarjeta DSP TMS320C6711 con una velocidad de 250 Mhz. Se ha dedicado un capítulo para la descripción de la tarjeta, así como sus herramientas de programación empleada. Por último, existe una sección de conclusiones.

2

Abstract Now a day the image processing has become a most common instrument there is a lot of programs variety (software) which have tools to detection of edges, contrast improvement simple filtrates. Generally it is applied in photos. In addition, there is a fast growth of the video transmission on Internet, among others diverse applications of real time video in such as: meteorological ultrasounds, systems and monitoring cameras. Anyone of these sequences can suffer during its acquisition and/or storage processes. This lost one of the original values modifies the visual perception and in the particular case of medical images, it can be very detrimental in a diagnose.

This work looks for determine effective methods in the reduction of the noise that contaminates these sequences. At the same time, they must be the enough fast to work in real time. Are there different algorithms, based on color filtrate techniques to fixed images. A property that the sequences of images offer us, is the high temporary correlation, for example, the great similarity that exists between fixed images that are contiguous within the sequences. This characteristic takes advantage by the algorithms shown here and their results are compared with 2D methods.

This measurement is made under criteria PSNR and MAE. Also it shows error images to be considered in the definition of the effective filtrate method. Another very important criteria for our final result is the run time, by means of which it is possible to be determined which algorithms serve to work in real time. The measurements are made considering the execution of the algorithms in a card DSP TMS320C6711 with a speed of 250 Mhz. There is a chapter for the description of the card, as well as used programming its tools. Finally, exists a chapter of conclusions.

3

1. INTRODUCCION

1.1 Objetivo Investigar e implementar filtros no lineales que aprovechen la correlación temporal existente en las secuencias, y además, sean lo suficientemente rápidos para trabajar en tiempo real.

1.2 Metas Investigar los algoritmos empleados actualmente para disminuir el ruido impulsivo en imágenes fijas así como para secuencias de imágenes Proponer métodos de filtrado 3D para secuencias de imágenes, a partir de filtros 2D y métodos aplicados a imágenes a color Implementar los mejores métodos propuestos y realizar simulaciones preliminares (MATLAB) Obtener secuencias contaminadas con el modelo de ruido definido. Caracterizar el comportamiento de los algoritmos por criterios objetivos: Error Absoluto Medio y Relación Pico de Señal a Ruido (MAE y PSNR, por sus siglas en ingles), además, de criterios subjetivos: Imágenes de Error. Realizar simulaciones exhaustivas con los mejores métodos de filtrado 3D y realizar comparativo con filtrado 2D Medición de los tiempos de ejecución de los algoritmos en la tarjeta DSP

1.3 Justificación Es muy amplia la gama de aplicaciones para mejoramiento de imágenes fijas en escala de grises y a color. Sin embargo, la tendencia actual, marca un rápido crecimiento de aplicaciones del video, por ello, se requiere de métodos los cuales aprovechen la correlación temporal y además que sean muy veloces en su desempeño.

En atención al incremento en la demanda de métodos de filtrado para secuencias de imágenes, se ha realizado el presente trabajo con aplicaciones principalmente en Medicina (ultrasonidos), secuencias obtenidas a partir de cámaras de vigilancia, meteorología, tele conferencia y otras áreas donde puedan emplearse secuencias de imágenes

4

1.4 Antecedentes

1.4.1 Procesamiento de imágenes y video El estudio del tratamiento digital de imágenes es necesario para permitir su procesamiento en una máquina con fines de mejoramiento para la percepción del ser humano. Dicho mejoramiento puede implicar varios procesamientos de imagen, tales como morfología, compresión, reconocimiento de objetos dentro de la imagen, o bien, supresión del ruido. Este último del cual derivan una increíble diversidad de aplicaciones. Se puede decir que cada rama de la ciencia tiene subdisciplinas que emplean sensores o dispositivos de grabado para recaudar datos de imágenes del universo a nuestro alrededor. Astronomía, meteorología, radares, vigilancia, ultrasonidos, guía de robots son algunos ejemplos. A principios del siglo pasado se comienza a experimentar con la transmisión de imágenes, se realizaron investigaciones enviando fotografías digitalizadas pertenecientes a un periódico, a través de un cable submarino desde la ciudad de Nueva York hasta Londres. Con la tecnología existente en aquella época, la transferencia requería de semanas para completarse, sin embargo, el trabajo realizado optimizó ese periodo de tiempo reduciéndolo a horas. Las primeras complicaciones que surgen a partir de estas pruebas son para conservar la claridad de la imagen, las limitaciones de una impresora de telégrafo que simula un patrón de semitonos, no satisface la percepción del ojo humano. Los primeros trabajos para mejorar la calidad visual estuvieron vinculados con los procesos de impresión buscando ampliar la gama de niveles de brillo que estos proporcionan. En su origen estos dispositivos permitían solo 5 niveles evolucionando hasta los 15 niveles. Para el comienzo de la era espacial estas dificultades dejaron de ser significativas. Sin embargo las primeras transmisiones provenientes de sondas espaciales hacia la tierra originan nuevos obstáculos; computadoras digitales fueron dedicadas a realizar tareas de mejoramiento, buscando corregir diversos tipos de distorsiones, aquellos propios de la cámara a bordo, así como los provocados por la magnitud de la transmisión. Estas técnicas llevaban por objeto realzar detalles de la luna en misiones como Surveyor, entre otras misiones dirigidas a Marte, o también, para vuelos tripulados como los realizados por el Apolo. Para el campo de la medicina estos procedimientos toman especial importancia, por ejemplo, aquellos que realzan el contraste o la intensidad de los colores, los cuales permiten con facilidad el análisis humano. De esta forma, imágenes de rayos X, tomografías o ultrasonidos favorecen a diagnósticos con mayor precisión, esto trae consigo un beneficio directo a la salud de los pacientes, un fin muy noble que justifica estas labores. 1.4.2 Representación digital Para hacer a una imagen comprensible a la computadora, se debe convertir a un formato binario consistente en 0’s y 1’s lógicos, para obtener una imagen digital. Todo aquello que

5

podemos observar a nuestro alrededor, le corresponde una función continua en el tiempo, sin embargo, para su estudio, la señal que se origina a partir de la función obtenida de la imagen percibida, se vuelve discreta en f (x,y) para la cual involucra un muestreo. Durante el muestreo se asignan valores discretos a las diferentes amplitudes de la señal (proceso de cuantización). Estas asignaciones se presentan a una determinada frecuencia estipulada por el teorema de muestreo, el cual nos precisa la densidad de los datos con los cuales se representa una imagen. Al mismo tiempo se esta determinando el detalle de la imagen que es despreciado, el costo de almacenamiento, la velocidad a la debe ser procesada[1]. Todo lo anterior resulta muy significativo para aplicaciones en tiempo real, sin embargo, se debe dar prioridad a que la pérdida de información durante este proceso de muestreo resulte mínima.

Figura 1.1 Digitalización de la Imagen.

En la discretización mostrada en la figura, hablamos de una sola dimensión, el tiempo. Sin embargo es común representar imágenes a través de dos dimensiones Para esta representación x y y son las coordenadas espaciales y f es un valor que corresponde a la intensidad de brillo (nivel de gris) perteneciente a esa coordenada dentro de la imagen. De esta forma una imagen digital significa manipular una matriz cuyos índices de fila y de columna le brindan identidad propia al punto dentro de la imagen, y su valor nos indica la cuantización de este mismo. Por lo que deducimos que una imagen digital parte de dos subprocesos, el muestreo y la cuantización (muestreo espacial). Normalmente tratamos con imágenes congeladas, sin embargo cuando se habla de video, existe movimiento de los objetos contenidos en la imagen en correspondencia con el tiempo. Se deduce que el video digital se obtiene a partir de la combinación de muestreo espacial con tiempo.

6

Figura 1.2 Muestreo y Cuantización.

Finalmente, para cada uno de los elementos de la imagen, será sencillo reconocerlos nombrándolos píxel, derivado de la abreviación en ingles de “Picture Elements”. Donde cada uno de estos elementos mantiene su identidad por las coordenadas (u,v) que indican su posición dentro de la imagen y un valor n dado por la cuantización, determinado por el nivel de gris de dicho píxel. Para el caso del video, t indicara la imagen a la cual pertenece el píxel dentro de la secuencia. El numero de bits utilizados para la cuantización de un píxel afecta de manera directa el aspecto de la imagen. Si un solo bits define la cuantización, la apariencia de la imagen será binaria y, por lo tanto, muy pobre. Por otra parte, el espacio requerido para su almacenamiento será muy bajo. Las imágenes con 8 bits de cuantización nos brindan una gama de 255 niveles de grises. En una representación más formal, si tenemos N y M como lo valores que corresponden al tamaño de la imagen, además G proporciona los niveles de gris resulta conveniente manejarlas todas como potencia enteras de 2, de modo tal:

N=2n , M=2k , y G = 2m (1.1) Bajo esta relación, la cantidad de bits necesarios para el almacenamiento de una imagen sin compresión alguna corresponde a:

B = N x M x m (1.2) Formatos como el BMP el cual no tiene ninguna compresión ocupan demasiado espacio. La siguiente tabla muestra algunos cálculos realizados para diferentes valores de N y m. Se considera N = M.

7

N m 1 2 3 4 5 6 7 8

32 1,024 2,048 3,072 4,096 5,120 6,144 7,168 8,192

64 4,096 8,192 12,288 16,384 20,480 24,576 28,672 32,768

128 16,384 32,768 49,152 65,536 81,920 98,304 114,688 131,072

256 65,536 131,072 196,608 262,144 327,680 393,216 458,752 524,288

512 262,144 524,288 786,432 1,048,576 1,310,720 1,572,864 1,835,008 2,097,152

1,024 1,049,576 2,099,152 3,148,728 4,198,304 5,247,880 6,297,456 7,347,032 8,396,608 Tabla 1.1 Numero de bits de almacenamiento para varios valores de N y m.

1.4.3 Procesamiento de Imágenes en Etapas El siguiente diagrama [15] involucra las etapas fundamentales que conforman el procesamiento de imágenes. A partir de la hipótesis que la aplicación de esta secuencia de pasos, tuvo origen en alguna necesidad de resolver un problema el cual ya se tiene plenamente dominado, de este modo al completarse todas las etapas en este proceso se obtiene un resultado.

Figura 1.3 Etapas del procesamiento de Imágenes

Como principio del proceso se considera la adquisición de la imagen, valiéndose para ello de sensores que hacen posible obtener una imagen digital, tales como: cámaras de televisión. Estas funcionan realizando un barrido de línea para producir una imagen bidimensional. Dependiendo la naturaleza de los sensores se hará necesario una conversión analógica / digital o viceversa, y su inverso para su representación a la salida. Ya con la imagen digital, la siguiente etapa es el preprocesamiento en donde se busca principalmente un mejoramiento de la imagen con la finalidad de reducir probabilidades de error en etapas siguientes. Ejemplos prácticos es la eliminación de ruido, enriquecimiento del contraste o alguna rotación.

8

Se considera la segmentación como la siguiente etapa, en esta fase la imagen es separada en los objetos que la forman, algunos tendrán mayor importancia en función del objetivo planteado por el problema que se busca solucionar. La robustez de esta etapa influye directamente en los resultados finales, es decir, si la segmentación es débil, el riesgo de que una falla se presente es mayor. En caso contrario, puede significar una inversión de tiempo y recursos de cómputo considerable, que será necesario valorar en función del desempeño eficiente de todo el procesamiento. Una aplicación simple que pone especial énfasis en esta etapa es el reconocimiento de caracteres. Al hacer la selección de la representación de la imagen, se debe considerar, el como van a ser tratados por la computadora y además respetar los rasgos de interés. Es en la etapa de descripción donde se identifican los datos que aportan la información de interés, o bien, los criterios para realizar la discriminación de la información que no tiene trascendencia. La etapa de reconocimiento consiste en designar un identificador a un objeto caracterizado por sus descriptores, mientras la interpretación trabaja con un conjunto de estos objetos reconocidos. Por ejemplo, si dentro de una imagen buscamos reconocer un círculo, todos los descriptores de un círculo llevan esa etiqueta, pero si asociamos un conjunto de círculos como un solo cuerpo, una misma entidad, hablamos entonces de una representación. La base de conocimiento es común para todas la etapas, aquí se contiene un conocimiento previo, la complejidad de este conocimiento es totalmente diverso. Cumple una doble función, sirve de pauta para el funcionamiento de cada uno de los módulos, así como un coordinador de su trabajo conjunto, lo que justifica la interacción con cada uno de ellos. 1.4.4 Video digital En el mundo actual las exigencias son altas cuando el procesamiento de imágenes involucran el video, ya sea para su transmisión, almacenamiento y/o mejoramiento de manera eficiente. Se requiere entonces de nuevo hardware y desarrollo de algoritmos específico para estas labores. Es amplia la gama de aplicaciones y así como diversas las ramas de la ciencia que se pueden ver beneficiadas con este estudio. De este modo, podemos visualizar a la inédita industria del video digital un campo de investigación muy fructífero. Se puede decir que el video digital es la frontera y el futuro de la investigación del procesamiento de imágenes, justificado por su rápido crecimiento y el requerimiento de nuevas tecnologías. Video Conferencia, Televisión digital de alta definición (HDTV), video sobre Internet, video médico, cine digital, dan la idea de la creciente demanda. Se ha descrito que el video digital implica un proceso de muestreo en el cual se ve involucrado el muestreo espacial y una tercera dimensión (o bien cuarta), el tiempo (t), ello implica algunas técnicas y conceptos distintos. No hay que perder de vista, que el tiempo implica siempre una misma dirección, de pasado hacia futuro. Además, regularmente el

9

video es procesado en tiempo real, con la dificultad que significa el procesarlo de manera imperceptible al ojo humano y muy efectiva. Si una imagen digital se obtiene discretizando una señal f (u,v), ahora el video digital, se adquiere de una función continua f ( u,v, t ), la cual es muestreada en la dirección de t. Este escaneo resulta en una serie de muestras en el tiempo, en las cuales existen imágenes completas (frames). En el caso particular de la televisión, buscando aprovechar mejor el ancho de banda para la transmisión, el escaneo de líneas de realiza de modo intercalado, esto reduce a la mitad la cantidad de datos que es necesario transmitir. Debido a la cantidad de frames que son mostrados en la pantalla en el lapso de un segundo, a la persistencia del ojo humano esta intercalación no es perceptible. Si el número de frames por segundo es menor a 50, se hace presente un efecto denominado “flicker” que no es más que un parpadeo o fluctuación constante [2]. Este efecto no resulta agradable a la percepción humana y fue común en los primeros filmes comerciales del siglo pasado. Los monitores actuales realizan el escaneo en un tiempo aproximado de 1/72 segundo, esto supera en casi un 50 % el mínimo requerido por el ojo humano para evitar el efecto “flicker”. En resumen, el video digital puede resultar de muestreo en tres dimensiones (espacio-tiempo) y la distribución de la intensidad de la incidencia sobre un censor. O bien, como resultado de una secuencia en el tiempo de arreglos de dos dimensiones espacio- intensidad. Las herramientas para el mejoramiento del video, serán similares a las empleadas en imágenes fijas. Considerando que la relación entre los frames adyacentes puede ser útil como una referencia en la recuperación de información dañada, por dar un ejemplo. Entonces podemos entender que el procesamiento de video ofrece muchos retos, pero también existen otras características que lo tornan viable. A continuación se habla de algunas de estas herramientas.

10

2. ESTADO DE ARTE 2.1 Métodos de Domino espacial. Para este trabajo con imágenes, son importantes algunas operaciones entre píxeles, la relación más sencilla de establecer entre píxeles se presenta en los definidos como vecinos tanto horizontales como verticales y cuyas coordenadas vienen dadas por:

(u + 1, v), (u – 1, v), (u, v + 1), (u, v – 1) (2.1) Este conjunto comúnmente denominado 4-vecinos de p, se caracteriza por la distancia unitaria entre ellos, para los píxeles en el borde de la imagen algunos de sus elementos del conjunto 4-vecinos ya no pertenecen a la imagen. También se consideran los vecinos en forma diagonal a ellos corresponden las siguientes coordenadas:

(u + 1, v + 1), (u + 1, v – 1), (u – 1, v + 1), (u – 1, v – 1) (2.2) la unión de estos dos conjuntos también tiene denominación propia, es reconocida como 8-vecinos de p, o bien N8(p). Para el mejoramiento de las imágenes existen dos corrientes: los métodos de dominio espacial, los cuales manipulan de manera directa los píxeles de la imagen y el procesamiento en el dominio de la frecuencia basado en la transformada de Fourier de la imagen y como influye la modificación de su transformada. Si bien existen mejoramientos híbridos, no interesan los que son de dominio espacial debido a sus características que se detallan más adelante. Este tipo de funciones suelen simbolizarse como sigue:

g(u,v) = T [f(u,v)] (2.3) Donde f(u,v) es función que corresponde a la imagen original y g(u,v) se entiende como la imagen procesada. Entonces T es un operador que se encuentra definida en (u,v) y actúa sobre f . Por lo tanto, los métodos en el dominio espacial son procedimientos que operan directamente sobre los píxeles. Para definir el entorno de un píxel (u, v) se emplea una subimagen cuadrada centrada en el píxel (u, v), esta misma recorre toda la imagen píxel a píxel. En este tipo de métodos resulta muy común el término mascaras, ventanas o filtros, generalmente sus dimensiones son 3x3 o 5x5, cuyo efecto sobre la imagen se encuentra precisado por los coeficientes tal seria el caso de la detección de bordes [1], [2], [5]. El empleo de mascaras o ventanas espaciales para el procesamientos de imágenes puede tener muchos fines como mejoramiento de contraste o, como en nuestro caso, filtrado de ruido. Aquí el procesamiento ya no es sobre un punto, sino considera la distribución bidimensional de niveles de gris en la vecindad en cada píxel de la imagen efectuando la acción definida por T.

11

Figura 2.1 Ejemplo de un método de dominio espacial La más sencilla de estas funciones es la denominada de correspondencia, s = T(r), la cual tiene efecto directo sobre el contraste de la imagen. Las características de la función permiten no ser tan drásticos en los efectos sobre el contraste, se trata de un ligero recorrido hacia el negro o blanco respectivamente, sin llegar al extremo de obtener una imagen binaria. 2.2 Filtrado lineal y no lineal Simplicidad de diseño e implementación son las cualidades más destacadas de los filtros lineales. Son muy efectivos cuando se trabaja en dominio de la frecuencia (Watermarking, esteganografia) y también para disminuir ruido que se encuentra en una frecuencia específica. Sin embargo, la principal desventaja es nublar los contornos de las imágenes y alisar los detalles finos, lo cual disminuye la calidad de la percepción pues emborrona la imagen filtrada y no suprime el ruido de manera efectiva. Esta comprobado que tienen un pobre desempeño en presencia de ruidos que no son aditivos, o con estadísticas no Gaussianas y en general cualquier sistema no lineal. Si para un sistema bidimensional S es un proceso de transformación de la imagen como el mostrado en la figura.

Figura 2.2 Sistema bidimensional

De este modo tenemos:

g (u, v) = S [ f (u, v) ] (2.4)

12

Si consideramos que S es lineal solo si para f1(u, v), f2 (u, v) entonces:

g1(u, v) = S [ f1(u, v) ], g2 (u, v) = S [ f2 (u, v) ] (2.5) donde para cualquiera constantes a,b se cumple:

ag1(u, v)+ bg2(u, v) = S [ af1(u, v ) + bf2(u, v ) ] (2.6) para toda (u, v). Esto es reconocido como la propiedad de superposición de los sistemas lineales. Aun desconociendo bastante acerca del funcionamiento del ojo humano, se puede concluir que sus características son no lineales, por lo tanto, las cualidades de los filtros no lineales son los que más se asemejan a las características de nuestro sistema visual. Existe en la actualidad una amplia bibliografía referente a técnicas de filtrado no lineal, con una gran variedad de aplicaciones (telecomunicaciones, procesamiento de imágenes, medicina, cámaras de vigilancia) dado que tienen un mejor desempeño que los filtros lineales [1], [2], [3], [4], [5],[15]. Entre sus principales ventajas esta remover especialmente el ruido impulsivo, además estos filtros son muy útiles cuando la señal y el ruido ocupan la misma frecuencia. Resulta de mucha ayuda en el análisis de imágenes por sus mínimos requerimientos de linealidad. 2.3 Filtrado espacial. Retomando los conceptos de procesamiento de imágenes en el dominio espacial. Estas máscaras son reconocidas como filtros espaciales las cuales pueden clasificarse como lineales o no lineales. Existen filtros pasa bajos cuyos efecto sobre la imagen es eliminar los componentes de alta frecuencia que personifican los bordes y detalles de una imagen, de tal modo, aplicar ese filtrado a una imagen vuelve a esta borrosa. El efecto de un filtro paso altos es directo sobre las lentas variaciones de la imagen aquellas que le brindan el contraste o la intensidad media, por lo tanto al aplicar este tipo de filtro a la imagen resulta en una depreciación de esas características, pero su contraparte significa un enriquecimiento en los bordes y detalles finos de la propia imagen. Un tercer tipo de filtros son los pasa banda en donde es posible ser específicos en las características de la imagen las cuales queremos enriquecer o discriminar, son muy útiles en la restauración de las imágenes. La figura 2.3 nos muestra una serie de grafica en donde se indican las curvas características de los diferentes tipos de filtros, primero en dominio de la frecuencia y posteriormente sus correspondientes con coordenadas espaciales.

13

Figura 2.3 Curvas características de los filtros.

2.3.1 Filtrado espacial paso bajo (Filtros suavizantes) Estos filtros hacen a la imagen parecer más borrosa, pero son empleados principalmente para la reducción del ruido, una imagen borrosa es útil cuando el reconocimiento de objetos grandes es la finalidad, debido a que los espacios pequeños entre las líneas o bien curvas son rellenados. Una característica de los filtros suavizantes es que en el caso lineal todos sus coeficientes son positivos. Si construimos un filtro suavizante simple de 3x3 con todos sus coeficientes igual a 1, al obtener la suma total de los productos sucederá con frecuencia que el resultado sobrepasa el nivel máximo de gris de la imagen, entonces se requiere normalizar nuestro resultado realizando una división entre 9, o en un caso general el numero de elementos que componen la ventana que se esta evaluando, al observar estas operaciones se deduce que hablamos de un promedio del entorno del píxel. El tamaño de la ventana influye directamente en el grado del suavizado, entre mayor es el tamaño de la ventana será mayor la desaparición de los detalles finos y los bordes de la imagen. 2.3.2 Filtrado espacial de pasa alto básico Una ventana que busque resaltar los detalles finos, se debe caracterizar por contener un coeficiente positivo en el centro de la ventana, así como coeficientes negativos en la periferia de esta ventana. Si ejemplificamos con una ventana de 3x3 se analiza otra condición para establecer los coeficientes y es que la suma de todos ellos es igual a cero, de este modo cuando la mascara procesa una sección con nivel de gris prácticamente uniforme, no tiene efecto alguno o este llega a ser imperceptible.

14

Fig 2.4 Ventana de Filtro pasa altos.

2.3.3 Filtros diferenciales La consecuencia de promediar los píxeles de una imagen, como ya se ha indicado, es la difuminación de la imagen, esta operación resulta análoga a la integración y siguiendo esa analogía la diferenciación entrega el resultado contrario, es decir se mejora la nitidez de la imagen. Para lograr estos efectos en las imágenes se emplea como herramienta el gradiente. Para la función f(x,y) el gradiente depende del punto de coordenadas (x,y) se define como el vector.

∂∂∂∂

=∇

y

fx

f

f

(2.7)

para obtener el modulo de dicho vector es necesario el siguiente calculo:

21

22

)(

∂∂+

∂∂=∇=∇

y

f

x

ffmagf

(2.8)

Estas ecuaciones sientan las bases para las aproximaciones a la diferenciación de la imagen. Retomando las mascaras de3x3 contenidas en una arreglo de modo tal que (x-1,y-1) equivale a z1 y (x, y-1) corresponde a z2 y así sucesivamente; la anterior ecuación se calcula alrededor de z5 a partir de la diferencia (z5 – z8) en dirección horizontal y la (z5 – z6) en la dirección vertical, para posteriormente relacionarlas como sigue:

2

12

652

85 ])()[( zzzzf −+−=∇ (2.9)

O bien, podemos emplear las diferencias cruzadas.

2

12

862

95 ])()[( zzzzf −+−=∇ (2.10)

15

Para ambas ecuaciones, existen términos en la mascara de 3x3 que no son empleados, por lo cual puede hacerse un simplificación en el tamaño de esta mascara y emplearse una de dimensión 2x2. Este tipo de ventanas son reconocidas como operadores de Roberts de gradiente. Aunque existen aproximaciones de estos operadores definidas para ventanas de 3x3, conservando a z5 como el centro de la ventana y regidos por la siguiente relación.

≈∇f | (z7 + z8 + z9) – (z1 + z2 + z3 )| + |(z3 + z6 + z9) - (z1 + z4 + z7)| (2.11) El primer valor absoluto nos brinda una aproximación de la derivada en una dirección horizontal por lo tanto el segundo valor absoluto nos deja aproximar la derivada en dirección vertical. Mascaras conocidas como operadores de Prewitt, son la implementación de esta ecuación. A continuación se muestran esta y otros tipo de ventanas empleadas para la detección de bordes principalmente.

16

Figura 2.5 Filtros para detección de Bordes. 2.4 Filtrado espacio-temporal El termino domino espacial se refiere al conjunto de píxeles que componen una imagen, Las propias mascaras se denominan filtros espaciales y dependiendo el tipo de operación que se les aplique son clasificados en filtros espaciales lineales o no lineales. Para el filtrado espacio-temporal se rige bajo los mismos principios, pero en lugar de ventanas se emplean cubos como filtros, en donde ahora se considera la distribución de niveles de gris en la vecindad de cada voxel partir de varias imágenes dentro de una secuencia tal como se puede ver en la figura

Figura 2.6 Esquema de Mascara y Cubo.

Para imágenes de filtrado espacial se implementa una ventana de nxn, en el caso de las secuencias donde se aplica un filtrado espacio-temporal se implementa un cubo de nxnxn = n3. En la figura se especifica la unidad mínima para cada filtrado: pixel (picture element) para filtrado en 2D y voxels (volume element) en el caso del filtrado 3D.

17

Método de

filtrado

Píxeles involucrados en el filtrado

Filtrado Temporal

e(u,v,t-1),e(u,v,t) , e(u,v,t+1)

Filtrado Espacial e(u-11,v-1,t), … , e(u5,v5,t), … , e(u+1,v+1,t)

Filtrado espacio- temporal

e(u-1,v-1,t-1), e(u+1,v+1,t-1), …, e(u+1,v+1,t), ..., e(u,v,t), … , e(u+1,v+1,t), ... , e(u-1,v-1,t+1), e(u,v,t+1), e(u+1,v+1,t+1)

Tabla 2.1 Métodos de Filtrado.

Para una secuencia, entre las imágenes fijas que la componen su diferencia es mínima, excepto cuando existe algún cambio brusco de escena. Esto nos brinda una propiedad denominada correlación temporal, la cual puede ser muy conveniente al momento de realizar tareas de filtrado secuencias de imágenes.[23] Esta característica es la cual se busca aprovechar empleando el filtrado 3D o filtrado espacio temporal y ha sido aprovechada con fines de detección de movimiento. [22] Dentro de una ventana, al tener ya definidos los coeficientes de la mascara, la imagen resultante presentara resultados con un comportamiento lineal, sin embargo podemos filtrar la imagen basándonos puramente en los coeficientes de los 8-vecinos, es decir, no existe ninguna operación producto durante el procesamiento del filtrado, debido a que no existen coeficientes predeterminados, no hay pesos específicos para el filtrado. Un ejemplo es el filtro máximo, que nos entrega el píxel con mayor brillo dentro del arreglo de los valores pertenecientes a la ventana. 2.4.1 Filtrado por la mediana Un procesamiento en el cual el píxel que se esta evaluando es sustituido por la mediana de los niveles de gris que pertenecen a los vecinos, pudiendo o no estar incluido el píxel del centro en la obtención de la mediana, permite un filtrado de la imagen en el cual de preservan las altas frecuencias. Entre las buenas características de este tipo de filtrado son los óptimos resultados cuando la contaminación de la imagen tiene componentes de ruido fuertes o picudas. Para el calculo de este filtro, se entiende por mediana el valor m que hace que la mitad de los valores de un conjunto, en este caso valores de la ventana de 3x3, estén por debajo de él, mientras la otra mitad que da por encima. De tal modo que en esta ventana en particular m se encuentra en el quinto valor mayor, mientras que para una ventana de 5x5 es el décimo tercer valor. Al analizar el comportamiento de este filtro, se observa como su función elemental es introducir puntos con intensidades distintas lo más parecidos posibles a los valores propios de sus vecinos. Se han definido métodos los cuales buscan aprovechar la correlación temporal, a partir de técnicas para imágenes a color [4],[10],[11]. Se ha modificado el filtro: Vector Median Filter (VMF) [9] para emplearlo en filtrado de secuencias. Son conocidos los efectos no

18

deseados de los filtros mediana, por ello, la implementación de este filtro se hace en conjunto con estimadores de entropía local a partir del contraste lo cual permite dejar sin procesar muestras libres de ruido. Otra forma adaptiva de un filtro 3D para secuencias de imágenes se muestra en [12], [26], donde en base a una configuración especifica para el cubo de filtrado, se toman solo los voxels más significativos a consideración del autor. Para determinar si un voxel û (u,v,t) forma parte de imagen original se estima una diferencia backward definida por :

y(u, v, t-1) – û (u, v, t) (2.12) donde y(u, v, t-1) es la salida del filtro en la iteración anterior y se calcula también la diferencia forward definida como:

û(u, v, t) - û(u, v, t + 1) (2.13) Estas diferencias no deben sobrepasar los umbrales determinados en base a voxels de ruido encontrados anteriormente y cuyos valores óptimos ya conocidos a partir de los experimentos realizados. Este sensor en base a las diferencias es susceptible a cambios de imagen bruscos en la secuencia. Además se lleva a cabo un a comparación con métodos de filtrado en 2D comprobando los mejores resultado de los métodos en 3D. Filtros como WVMF buscan a través de coeficientes en posiciones especificas mejorar los resultados tal y como los vistos anteriormente para detección de bordes. Basic Vector Directional (BVDF), Directional Distance (DDF) y Adaptive Nearest Directional (ANNF) son métodos alternativos al VMF [3], [8], [9], [13], [18], [19]. 2.5 Ruido impulsivo Se define como ruido cualquier información no deseada que contamina la imagen. Su origen es muy variado definiendo sus cualidades particulares, por lo tanto, no hay un método de filtrado totalmente efectivo para todo tipo de ruido. En el caso del ruido impulsivo, su fuente más común son los errores en el canal de comunicación de la secuencia, o bien, durante su almacenamiento. Si consideramos que se requiere de conversiones para pasar desde el sistema de adquisición de la imagen hasta la recuperación en el medio receptor. Durante cualquiera de estas etapas, o bien, desde la imagen analógica original, la imagen puede estar contaminada por fenómenos naturales. Esto ocasiona pérdida de bits y los píxeles toman valores aleatorios que afectan la imagen original.

19

Figura 2.7 Origen del Ruido Impulsivo.

Los Modelos de Ruido más frecuentes son Gaussiano (normal), uniforme o impulsivo. Las mejores técnicas para reducir cada uno de ellos están muy bien definidas. La importancia de esta tarea radica en la alteración a la percepción humana cuando las decisiones se basan en la interpretación de las imágenes Nosotros trabajamos con ruido de tipo impulsivo, con una distribución uniforme de 0 a 255 por tratarse de imágenes en escala de grises. Dicho modelo se muestra a continuación.

=p)-(1 adprobabilidcon ),,(

adprobabilidcon ),,,(),,(ˆ

tvuu

ptvuntvuu

(2.14)

Donde û (u, v, t) es la imagen contaminada con ruido impulsivo, n(u,v, t) es la imagen de ruido siendo u(u, v, t) la imagen original. Por último p es la probabilidad con la que se presenta el ruido en la imagen contaminada, durante los experimentos este porcentaje fue variando [2], [4], [5]. 2.6 Criterios de Fidelidad Para lograr la valoración de los resultados visuales, se emplean métodos repetibles y reproducibles de cuantificación de la naturaleza y el alcance de la pérdida de información. La valoración es subjetiva cuando esta sujeta a la percepción del ojo humano, para ello se emplea una escala de valores absoluta, donde se pueden evaluar la preservación de contornos y detalles finos. El criterio MAE esta definido como:

∑∑∑−

=

=

=

−=1

0

1

0

1

0

),,(ˆ),,(1 L

u

M

v

N

t

tvuutvuuLMN

MAE (2.15)

Se considera un criterio de valoración objetiva cuando el nivel de pérdida de la información esta expresado como función de la imagen original e imagen filtrado por algún método. El criterio para comparar el rendimiento de supresión de ruido en filtros 3D es la relación pico de señal a ruido (PSNR)

20

•=

MSEPSNR

2

10

)255(log10

(2.16)

Donde MSE es el error cuadrático medio que permite la medida objetiva de la desviación del promedio cuadrado.

[ ]∑∑∑−

=

=

=

−=1

0

1

0

1

0

2),,(ˆ),,(1 L

u

M

v

N

t

tvuutvuuLMN

MSE (2.17)

2.7 Conclusiones.

• Por sus características aquí descritas, se seleccionó a los filtros no lineales como los más apropiados para la disminución de ruido impulsivo. • Se demostró que la correlación temporal es una propiedad de las secuencias la cual se aprovecha en el filtrado tipo 3D, y permite una mejora los resultados en comparación con técnicas de filtrado 2D. • Los efectos causados por los algoritmos que usan el filtrado espacial sobre las altas frecuencias de la imagen es un factor el cual define su utilidad para esta investigación.

• La naturaleza digital de las secuencias las hace susceptibles al ruido de tipo impulsivo. • Medir los resultados obtenidos mediante criterios objetivos (PSNR por ejemplo), siempre llevara a la par criterios subjetivos tal como las imágenes de error.

21

3. FILTROS IMPLEMENTADOS. Se estudiaron filtros en 3D, pero se muestran filtros 2D con la finalidad de hacer un comparativo en los resultados. La mayoría de los filtros aquí mostrados emplean estadística de orden en sus algoritmos. Posterior a su implementación en MATLAB fueron programados en lenguaje C++ para poder cargarlos en una tarjeta programable. En un capítulo posterior se muestran los tiempos tomados en la ejecución para cada uno. 3.1 Filtro de Media y de Mediana. Los filtro media o de mediana son filtros que emplean la metodología espacial o filtros de ventana deslizante. En el caso del filtro media, los valores de los píxeles de la ventana con centro en (u,v) son sumarizados para ser divididos entre el numero de elementos. Este promedio es el valor del píxel û (u,v) definido por:

( )N

xxxxmedia

N

nN∑

=

++= 1

21

)(L

(3.1)

Mientras la el filtro mediana se realiza un ordenamiento en forma ascendente y se toma el valor determinado por:

+

=+

par para2

1

impar para

)(122

2

nxx

nx

xmedianann

n

(3.2)

la analogía entre la media y mediana se da en el dominio estadístico de estimación del parámetro, donde se puede mostrar que la mediana es el estimador de máxima probabilidad (maximum likelihood ML) ubicado como un parámetro constante en ruido Laplaciano. Del mismo modo, la muestra de la media es el estimador ML ubicado como un parámetro constante en ruido gaussiano. Por esta razón el filtro medio es el mejor para eliminar este tipo de ruido, mientras el filtro mediana resulta más robusto para contaminaciones con densidades de probabilidad más pesadas que las Gaussianas (ruido impulsivo por ejemplo). 3.2 Cubo-Mediana Se trata de una expansión del filtro de estadística de orden mediana en 2-D, en el cual, se consideran los 8-vecinos de el píxel evaluado, así como el píxel mismo, esta misma ventana de 3X3 se toma para las imágenes (t-1) y (t+1) dando un total de 27 píxeles.

22

Figura 3.1 Configuración del Cubo M, en posición x(u,v,t) al centro de la ventana en imagen t

Teniendo todos en un solo arreglo, son ordenados con el fin de obtener la mediana de ellos. El resultado será promovido como el píxel resultado f (u,v,t) .

W(u,v,t)=(x(u-1,v-1,t-1), x(u,v-1,t-1),... x(u,v,t), ..., x (u+1, v+1, t+1)) f (u,v,t) = med (W(u,v,t))

(3.3)

Es una forma sencilla de aprovechar la correlación temporal, sin embargo puede tener un efecto de suavización muy grande, a pesar de ello, ha resultado ser muy efectivo en la reducción del ruido impulsivo. 3.3 Filtro ROM 3-D Retomado de [6] se consideró el filtro ROM (Rank, Order Mean) para aplicarlo en filtrado de secuencias, este filtro destaca por su forma adaptiva de aplicar el filtrado, la esencia de su funcionamiento radica en formar un arreglo solo con píxeles aportan mayor información a consideración del autor y por medio de los cuales la estimación de la imagen original a partir de una contaminada es más efectiva. La configuración de los voxeles esta definida por: W(u,v,t)={x(u-1,v-1,t), x(u,v-1,t), x(u+1,v-1,t), x(u-1,v,t), x(u+1,v,t), x(u-1,v,t),

x(u,v+1,t), x(u+1,v+1,t), x(u,v,t+1), y(u,v,t-1)} (3.4)

Tal como se muestra en la siguiente figura. Además el último píxel se denota como y(u,v,t-1) debido a que corresponde a una imagen resultante del la iteración anterior.

23

Figura 3.2. Configuración del cubo para filtro ROM.

A partir de la obtención de los píxeles de W se realiza el ordenamiento de menor a mayor excluyendo el píxel que se está evaluando x(u,v,t), quedando:

R(u,v,t) = {r1(u,v,t), r2(u,v,t),..., r10(u,v,t)} (3.5) Es entonces cuando se realiza el cálculo del ROM en base a la posición de los píxeles dentro de este arreglo definido por:

2

),,(),,(),,( 65 tvurtvurtvum

+= (3.6)

En [6] se implementa un switch el cual elige entre dos filtros nonlinear rank filter low y un nonlinear rank filter-high dependiendo de una diferencia backward definida por :

y(u, v, t-1) – û (u, v, t) (3.7) donde y(u, v, t-1). Se calcula también la diferencia forward dada por:

û(u, v, t) - û(u, v, t + 1) (3.8)

En caso de que estas diferencias no sobrepasen los umbrales determinados en base a voxels de ruido encontrados anteriormente se dejara intacto el voxel que se evalúa evitando de este modo reducir el costo computacional y, en consecuencia, el tiempo de ejecución del filtro. En caso contrario, el algoritmo determina el nonlinear rank filter a ser aplicado. Los valores óptimos para estos umbrales son conocidos a partir de los experimentos realizados. Al aplicar el ROM directamente sobre las secuencias se han obtenido buenos resultados. 3.4 Filtro alfa-trim En este filtro se busca tener las mejores características de los filtros media y mediana: la buena supresión de ruido impulsivo de la mediana y la buena supresión de ruido Gaussiano de la media.

24

El filtro Trimmed Mean [5], [15] tiene como primer paso llevar a cabo el ordenamiento de los elementos de la ventana o para el caso de las secuencias, de los elementos del cubo. Posteriormente en el filtro definido como (r, s) – fold trimmed mean se omiten los elementos que tienen subíndice r + s, de tal forma que obtendremos el promedio de los elementos restantes.

∑−

+=−−=

sn

riiX

srnTrMean

1)(

1

(3.9)

Cuando tenemos r = s significa que el número de elementos recortados al principio y fin del arreglo son iguales, y se denota como α y obtenemos así el filtro α-trimmed mean descrito como:

∑−

+=−=

NN

NiiX

NNTM

α

ααα

1)(2

1

(3.10)

Al omitir del calculo del promedio los valores más distantes a la medina de la ventana, suprimimos el posible ruido impulsivo, además de aminorar el efecto de emborronado de la imagen. Las características propias del promedio hacen al filtro alfa.trimmed mean efectivo para el ruido Gaussiano. 3.5 Filtro MM-KNN en secuencias. Los filtros lineales presentan desventajas con el ruido que no es aditivo, por la comentada pérdida de las altas frecuencias de la imagen. Los estimadores usan métodos iterativos para definir parámetros locales empleados en el filtrado. En la deducción del estimador-M los límites son definidos por una función de influencia[14]. Es este documento se uso una función de corte simple como función de influencia. El filtro MM-KNN esta determinado por:

( )( )ntmvlugmedtvue qqMMKNN +++= ,,),,(ˆ )()( (3.11)

Donde ( )ntmvlug q +++ ,,)( es el conjunto de los Kclose voxels con peso de acuerdo a la función de influencia usada y encerrados por el valor de la estimación anterior

),,(ˆ )1( tvue qMMKNN

− ; la estimación inicial es ),,(),,(ˆ )0( tvuutvueMMKNN = , u(u,v,t) es la imagen degradada por ruido impulsivo, 2)12( +L es el tamaño del cubo del filtro con l,m,n = -L,…,L; q es el índice de la iteración actual. Las iteraciones n detenidas cuando:

),,(ˆ),,(ˆ )1()( tvuetvue qMMKNN

qMMKNN

−= (3.12)

Kclose(u,v,t) es el numero de voxeles vecinos.

[ ] maxmin )),,((),,( KtvuxDaKtvuK sclose ≤•+= (3.13)

25

En donde a es un sensor de detección de bordes; Kmin es el mínimo de vecinos requeridos para el filtrado y Kmax define el número máximo de voxeles para evitar la disminución de las altas frecuencias. )),,(( tvuxDs es el detector de impulsos y MAD es la mediana absoluta de las diferencias con respecto a la mediana:

( ) { }{ }

{ }{ }),,(

),,(5.0

),,(

),,(),,(),,(

gtfveuxmed

tvuxMAD

tvuxMAD

nkmjluxtvuxmedtvuxDs +++

++++−

= (3.14)

{ } { }}{ ),,(),,(),,( nkmjlixmednkmjlixmedtvuxMAD +++−+++= (3.15)

Las funciones de influencia que se pueden emplear se describen a continuación comenzando por la función Simplest Cut:

>≤

=•= − rX

rXXXXX rrrcut ,0

,)(1)( ],[)(ψ

(3.16)

Hampel (Hampel’s three part redescending function)

<

≤<−−

≤<⋅≤≤

=

Xr

rXr

XrXX

XX

Xr

,0

,

),sgn(

0,

)(,, ββ

α

βααα

ψ βα

(3.17)

Seno de Andrews

>≤

=ππ

ψrX

rXrXXr ,0

,)sin()()sin(

(3.18)

Tukey

>≤−

=rX

rXXrXXrbi ,0

),()(

222

)(ψ (3.19)

Bernoull

[ ] )(1)( ,222

)( XXrXX rrrber −⋅−=ψ (3.20)

26

3.6 Filtro WM-KNN 3.6.1 Filtro Wilcoxon

≤≤≤+= NjiXXMEDXXXWIL jiN 1),(2

1),...,,( 21

(3.21)

Es un caso de filtro híbrido de mediana, consiste en un operación lineal, promedio de Walsh 2)(),( jivu XXW += y una operación no lineal, la mediana. Tiene mejor estimación

cuando la distribución tiene forma simétrica. 3.6.2 Filtro WM-KNN Es combinación de los estimadores R y M definido como [7]:

+++++++=

2

),,(),,(),,( 111

)()()( ntmvluhntmvluhmedtvuf

www

WMKNN (3.22)

Donde: ),,()( ntmvluh w +++ y ),,( 111

)( ntmvluh w +++ es un conjunto de closek voxels

con peso de acuerdo a la función (X)Ψ usada y encerrados por el valor del cubo del filtro

con la estimación del paso previo ),,()1(

tvufw

RMKNN

−∧; la estimación inicial es

),,(),,()0(

tvuutvuf RMKNN =∧

donde u es la imagen contaminada con ruido impulsivo y w

denota la iteración actual. Las estimaciones terminan cuando:

),,(),,()1()(

tvuftvufw

RMKNN

w

RMKNN

−∧∧=

(3.23)

Cuenta con un detector de impulsos

( ) { }{ }

{ }{ }),,(

),,(5.0

),,(

),,(),,(),,(

gtfveuumed

tvuuMAD

tvuuMAD

ntmvluutvuumedtvuuDs +++

++++−

= (3.24)

Mediana de las desviaciones absolutas de la mediana

{ } { }}{ ),,(),,(),,( nkmjlixmednkmjlixmedtvuxMAD +++−+++= (3.25)

3.7 Conclusiones

• El adecuar métodos 2D para secuencias de imágenes, es decir, un filtrado 3D, se han logrado mejores reducciones de ruido.

27

• La forma adaptiva de los filtros reduce los tiempos de ejecución, y mejora los resultados al permitir conservar píxeles de la imagen original.

• La retroalimentación en los algoritmos demostró ser una propiedad útil para el mejoramiento de las imágenes.

• Los algoritmos con mayor grado de complejidad, disminuyen de buena forma la contaminación por el ruido impulsivo, respetando los detalles finos de las imágenes. Sin embargo, su tiempo de ejecución requerido no les permite el trabajar en tiempo real.

28

4. RESULTADOS 4.1 Resultados de la Simulación. Para las simulaciones de esta investigación se involucró ruido impulsivo con distribución uniforme en la secuencia Flowers en diferentes porcentajes: 5%, 10%, 20% y 30% de densidad. En el resultado de los filtros mediana 2D, Cubo Mediana, ROM, mediana configuración X, alfa-trimmed, MM-KNN y WMKNN muestran la capacidad para disminuir ruido preservando los detalles para cada uno de ellos. En las siguientes tablas se muestran los resultados de la simulación llevada a cabo en el procesamiento 3D usando la secuencia Flowers en formato QCIF con dimensión 180x116 medidos en criterios MAE y PSNR.

Secuencia Flowers al 2% de Ruido Impulsivo (PSNR)

10 20 30 40 50 PROM

MED 2-D 20.16765 20.0075 20.27874 20.84825 20.94153 20.4487

MED 3-D 20.8867 20.84377 21.00026 21.6381 21.42426 21.1586

ROM 20.7174 20.7020 20.8447 21.4466 21.3640 21.0149

MED X 20.9895 20.9878 21.1018 21.7482 21.5557 21.2766

ALFA-T 20.0382 20.08569 20.17725 20.61341 20.41641 20.2662

MMKNN 20.9005 20.90938 21.02956 21.66322 21.42664 21.1859

WMKNN 20.8881 20.90958 21.02956 21.6597 21.42458 21.1823 Tabla 4.1 Índice PSNR para secuencia Flowers con 5% de contaminación

Secuencia Flowers al 2% de Ruido Impulsivo (MAE)

10 20 30 40 50 PROM

MED 2-D 18.4184 18.2774 17.8914 16.7751 17.0758 17.6876

MED 3-D 17.8666 17.7279 17.6103 16.4583 16.8438 17.3014

ROM 18.5238 18.2323 18.0938 16.9075 17.0741 17.7663

MED X 17.6751 17.6345 17.3959 16.2446 16.6561 17.1212

ALFA-T 21.5661 21.3114 21.1781 20.3249 20.5407 20.9842

MMKNN 17.8866 17.75385 17.64064 16.57354 16.90916 17.3528

WMKNN 17.90502 17.75263 17.64064 16.57753 16.91131 17.3574 Tabla 4.2 Índice MAE para secuencia Flowers con 5% de contaminación

29

Para este porcentaje de contaminación, es significativa la pérdida de las altas frecuencias en el caso de los filtros MED 3D y ALFA-TRIM. La mayoría de los filtros alcanza a eliminar visualmente el ruido impulsivo. La diferencia entre el resultado del filtro MED 2D y el resto no es muy reveladora.

Secuencia Flowers con 10% de ruido Impulsivo (PSNR)

10 20 30 40 50 SUM

MED 2-D 18.916527 18.897518 18.97757 19.274122 19.007381 95.07312

MED 3-D 18.927322 19.028946 18.972235 19.30311 18.982643 95.21426

ROM 18.872606 19.007452 18.915838 19.262997 18.997227 95.05612

MED X 18.830734 18.912159 18.878893 19.151932 18.90848 94.6822

ALFA-T 18.924362 18.896505 18.974686 19.365826 18.971954 95.1333

MMKNN 19.428623 19.364178 19.466129 19.144476 19.287827 96.69123

WMKNN 19.4251 19.364178 19.465792 19.14344 19.787827 97.18634 Tabla 4.3 Índice PSNR para secuencia Flowers con 10% de contaminación

Secuencia Flowers con 10% de ruido Impulsivo ( MAE)

imagen 10 20 30 40 50 SUM

MED 2-D 17.408724 17.518518 17.247223 16.261404 16.379435 84.8153

MED 3-D 17.086842 17.138401 17.000536 16.109406 16.378607 83.71379

ROM 17.092836 16.950001 16.921101 15.96155 16.083918 83.00941

MED X 17.491081 17.482115 17.33309 16.443275 16.655458 85.40502

ALFA-T 17.274658 17.379435 17.170467 16.149902 16.733967 84.70843

MMKNN 16.543226 16.763256 16.478168 15.926901 16.001608 81.71316

WMKNN 16.551121 16.763256 16.479582 15.940253 16.005362 81.73957 Tabla 4.4 Índice MAE para secuencia Flowers con 10% de contaminación

Los filtros MED -2D y MED X comienzan a decaer en su desempeño, las secuencias resultado de estos filtrados aun contienen un poco de ruido.

30

Secuencia Flowers con 20% de Ruido Impulsivo (PSNR)

10 20 30 40 50 PROM

MED 2-D 18.244205 18.512945 18.248402 18.730486 18.492926 18.44579

MED 3-D 18.850101 18.987753 18.95878 19.277319 18.93441 19.00167

ROM 18.648636 18.875286 18.759365 19.186493 18.87212 18.86838

MED X 18.721359 18.859121 18.802351 19.124071 18.869648 18.87531

ALFA-T 18.379353 18.456991 18.519579 18.937326 18.519688 18.56259

MMKNN 19.324699 19.424208 19.41268 19.41268 19.342398 19.38333

WMKNN 19.32354 19.4252 19.408844 19.231266 19.342398 19.34625 Tabla 4.5 Índice PSNR para secuencia Flowers con 20% de contaminación

Secuencia Flowers con 20% de Ruido Impulsivo (MAE)

10 20 30 40 50 PROM

MED 2-D 19.091034 18.636988 19.133625 17.714815 17.900974 18.49549

MED 3-D 17.58153 17.476852 17.394249 16.420467 16.822416 17.1391

ROM 17.875195 17.405994 17.619396 16.471346 16.602144 17.19482

MED X 18.070566 17.862476 17.880556 16.856579 17.133966 17.56083

ALFA-T 19.76535 19.504629 19.462574 18.253752 19.03499 19.20426

MMKNN 17.043762 16.980312 16.884844 16.102533 16.38343 16.67898

WMKNN 17.046442 16.977095 16.892544 16.113937 16.390644 16.68413 Tabla 4.6 Índice MAE para secuencia Flowers con 20% de contaminación

Las secuencia Flowers, contiene un alto nivel de detalles, sobre todo en la parte inferior, la mayoría de los filtros aquí mostrados, no mantiene la forma original de las flores (se puede observar en el próximo capitulo), mas aun, la velocidad con la que estos píxeles cambian su valor conforme avanza la secuencia, vuelve mas difícil la recuperación de sus valores originales. Es por ello que los valores otorgados por los criterios MAE y PSNR pueden llegar a ser elevados. La siguiente secuencia analizada es Miss America, la cual contiene una mayor cantidad de superficies uniformes, sin embargo, en las facciones del rostro de la persona (ojos, nariz, y boca) se puede percibir la pérdida de los detalles.

31

Secuencia Miss America con 5% de Ruido Impulsivo (PSNR)

Filtro 10 20 30 40 50 PROM

MED 2-D 22.107086 22.14406 22.199986 22.244923 22.150862 22.169383

MED 3-D 22.124338 22.17746 22.18252 22.293703 22.194248 22.194454

ROM 22.011965 22.059666 22.091576 22.162439 22.107914 22.086712

MED X 22.118477 22.162764 22.210304 22.251263 22.212781 22.191118

MMKNN 22.138535 22.180267 22.199213 22.279594 22.232515 22.206025

WMKNN 22.134577 22.173433 22.199863 22.17899 22.178948 22.173162

Tabla 4.7 Índice PSNR para secuencia Miss America con 5% de contaminación.

Secuencia Miss America con 5% de Ruido Impulsivo (MAE)

Filtro 10 20 30 40 50 PROM

MED 2-D 7.451803 7.696101 7.373879 7.279094 7.713402 7.502856

MED 3-D 7.505751 7.824025 7.443714 7.407261 7.880214 7.612193

ROM 7.799123 7.990789 7.718665 7.610965 7.984357 7.820780

MED X 7.526023 7.861842 7.431286 7.437281 7.846296 7.620546

MMKNN 7.526218 7.834064 7.427095 7.436891 7.840546 7.612963

WMKNN 7.522123 7.790101 7.514565 7.421281 7.840296 7.617673

Tabla 4.8 Índice MAE para secuencia Miss America con 5% de contaminación. Se decidió elevar el porcentaje de contaminación mínimo a 5% debido a la gran cantidad de zonas homogéneas de la secuencia, en este caso en particular para el índice MAE se observa que el filtro el cual entrega mejor resultado es MED 2-D, mediante la ultima columna podemos observar que la diferencia con filtro de 3D no es significativa, sin embargo se presento de este modo.

32

Secuencia Miss America con 10% de Ruido Impulsivo (PSNR)

Filtro 10 20 30 40 50 PROM

MED 2-D 21.972172 21.959644 22.021267 22.14839 22.020737 22.024442

MED 3-D 22.116842 22.109776 22.181744 22.242523 22.195103 22.169198

ROM 21.693699 21.701391 21.736069 21.777615 21.71059 21.723873

MED X 21.8792 21.876984 21.903782 21.982946 21.937725 21.916127

MMKNN 22.103025 22.115227 22.148846 22.262657 22.211611 22.168273

WMKNN 22.394539 22.107876 22.160984 22.229087 22.189909 22.216479

Tabla 4.9 Índice PSNR para secuencia Miss America con 10% de contaminación.

Secuencia Miss America con 10% de Ruido Impulsivo (MAE)

Filtro 10 20 30 40 50 PROM

MED 2-D 7.602047 7.84654 7.563353 7.417154 7.853899 7.656599

MED 3-D 7.570907 7.886355 7.522027 7.456238 7.95268 7.677641

ROM 8.306677 8.511647 8.24191 8.109406 8.521735 8.338275

MED X 7.764961 8.115789 7.715692 7.678119 8.13923 7.882758

MMKNN 7.574367 7.901949 7.474951 7.469493 7.929727 7.670097

WMKNN 7.5984 8.1064089 7.385051 7.5208119 7.953499 7.712834

Tabla 4.10 Índice PSNR para secuencia Miss America con 10% de contaminación.

La tendencia existente para el porcentaje de contaminación anterior (5%) en el criterio MAE se ha revertido, nuevamente son los métodos 3D los que entregan mejores resultados, en este caso el MM-KNN. En estos dos primeros porcentajes de contaminación el criterio PSNR marca a los filtros 3D con mejores resultados.

33

Secuencia Miss America con 20% de Ruido Impulsivo (PSNR)

Filtro 10 20 30 40 50 PROM

MED 2-D 21.732962 21.69421 21.732784 21.796696 21.771351 21.745601

MED 3-D 21.736734 21.703091 21.725351 21.828787 21.774281 21.753649

ROM 20.163183 20.151222 20.160934 20.237942 20.159626 20.174581

MED X 20.767597 20.758709 20.806171 20.847229 20.755503 20.787042

MMKNN 21.87052 21.887533 21.857056 22.009371 21.891138 21.903124

WMKNN 21.815121 21.580021 21.832154 21.960546 21.980032 21.833575

Tabla 4.11 Índice PSNR para secuencia Miss America con 20% de contaminación.

Secuencia Miss America con 20% de Ruido Impulsivo (MAE)

Filtro 10 20 30 40 50 PROM

MED 2-D 8.210136 8.633869 8.176023 8.149902 8.660136 8.366013

MED 3-D 8.164035 8.550243 8.142301 8.114182 8.624513 8.319055

ROM 11.119152 11.379143 11.059551 10.981872 11.381287 11.184201

MED X 9.556969 9.947563 9.497515 9.502388 9.97695 9.696277

MMKNN 7.880409 8.14615 7.867836 7.718811 8.137915 7.950224

WMKNN 7.304035 8.301489 7.880236 7.94582 8.335136 7.953343

Tabla 4.12 Índice MAE para secuencia Miss America con 20% de contaminación. En ambas secuencias, métodos como el ROM y MED 3D son efectivos para reducir este nivel de contaminación sin embargo el emborronamiento de la secuencia persiste y es más marcado en MED 3D. Los filtros MM-KNN y WM-KNN muestra el mejor desempeño para altos porcentajes de contaminación aunque requiere mayor tiempo de ejecución.

34

4.2 Conclusiones.

• Se hace evidente que mientras más altos sean los porcentajes de contaminación, la diferencia entre técnicas de filtrado 2D y filtrado 3D se hace más notoria. • Cuando más intensa es la contaminación de la imagen, mayor cantidad de píxeles son necesarios para reducir el ruido en mejor forma. • La diversidad en las características individuales de los filtros aquí implementados, favorece la validez de los resultados. • Los algoritmos que cuentan son estimadores de entropía local, resultan ser más efectivos en la reducción de ruido, motivando la preservación de los bordes de la imagen.

• Solo los filtros MM-KNN y WM-KNN conservan de mejor forma las frecuencias altas de las imágenes fijas las cuales forman las secuencias.

35

5. RESULTADOS VISUALES 5.1 Resultados de la simulación La siguiente figura corresponde a imágenes fijas para la secuencia Flower, la contaminación de la secuencia se realizó de manera uniforme con ruido impulsivo con un porcentaje de 2%. La secuencia originalmente tiene un tamaño de 180 x 116. Esta secuencia en específico, contiene muchos detalles en la parte inferior, lo cual puede ser muy revelador para nuestro comparativo. Todos los filtros eliminaron por completo el ruido, sin embargo emborronaron la parte inferior.

Figura 5.1.a Imágenes fijas 10, 20, 30, 40 y 50 para secuencia original.

Figura 5.1.b Imágenes fijas 10, 20, 30, 40 y 50 para contaminación al (2%).

Figura 5.1.c Imágenes fijas 10, 20, 30, 40 y 50 para el Filtro Mediana 2D contaminada al (2%).

Figura 5.1.d Imágenes fijas 10, 20, 30, 40 y 50 para el Filtro Mediana 3D contaminada al (2%).

Figura 5.1.e Imágenes fijas 10, 20, 30, 40 y 50 para el filtro ROM contaminadas al (2%).

36

Figura 5.1.f Imágenes fijas 10, 20, 30, 40 y 50 para el filtro MM-KNN contaminadas al (2%).

Se muestra la secuencia Flowers y sus resultados para una contaminación constante durante la secuencia en un porcentaje de 10%. El filtro MED 2D no entrega resultados visuales satisfactorios, los mejores son MED 3D y MM-KNN.

Figura 5.2.a Imágenes fijas 10, 20, 30, 40 y 50 para secuencia original.

Figura 5.2.b Imágenes fijas 10, 20, 30, 40 y 50 para contaminación al (10%).

Figura 5.2.c Imágenes fijas 10, 20, 30, 40 y 50 para el Filtro Mediana 2D contaminada al (10%).

Figura 5.2.d Imágenes fijas 10, 20, 30, 40 y 50 para el Filtro Mediana 3D contaminada al (10%).

Figura 5.2.e Imágenes fijas 10, 20, 30, 40 y 50 para el filtro ROM contaminadas al (10%).

Figura 5.2.f Imágenes fijas 10, 20, 30, 40 y 50 para el filtro MM-KNN contaminadas al (10%).

37

Se muestran los resultados para una en un porcentaje de 20% para la secuencia Flowers. Filtros como el ROM y MED 2D aun muestran pixeles de ruido, por otra parte, el filtro MED 3D, ha eliminado el ruido, pero existe mucho emborronamiento en sus resultados. Esto deja al filtro MM-KNN como el que tiene mejor resultado.

Figura 5.3.a Imágenes fijas 10, 20, 30, 40 y 50 para secuencia original.

Figura 5.3.b Imágenes fijas 10, 20, 30, 40 y 50 para contaminación al (20%).

Figura 5.3.c Imágenes fijas 10, 20, 30, 40 y 50 para el Filtro Mediana 2D contaminada al (20%).

Figura 5.3.d Imágenes fijas 10, 20, 30, 40 y 50 para el Filtro Mediana 3D contaminada al (20%).

Figura 5.3.e Imágenes fijas 10, 20, 30, 40 y 50 para el filtro ROM contaminadas al (20%).

Figura 5.3.f Imágenes fijas 10, 20, 30, 40 y 50 para el filtro MM-KNN contaminadas al (20%).

38

Se emplea ahora la secuencia Miss America aplicando un porcentaje de contaminación del 2%. Esta secuencia tiene un tamaño de 176x144 y sus zonas con mayor cantidad de detalle es la que corresponde al rostro de la persona. Los resultados entre los filtros aplicados en esta secuencia son muy similares entre si, en todos se logró la eliminación del ruido.

Figura 5.4.a Imágenes fijas 10, 20, 30, 40 y 50 para secuencia original.

Figura 5.4.b Imágenes fijas 10, 20, 30, 40 y 50 para contaminación al (2%).

Figura 5.4.c Imágenes fijas 10, 20, 30, 40 y 50 para el Filtro Mediana 2D contaminada al (2%).

Figura 5.4.d Imágenes fijas 10, 20, 30, 40 y 50 para el Filtro Mediana 3D contaminada al (2%).

Figura 5.4.e Imágenes fijas 10, 20, 30, 40 y 50 para el filtro ROM contaminadas al (2%).

Figura 5.4.f Imágenes fijas 10, 20, 30, 40 y 50 para el filtro MM-KNN contaminadas al (2%).

39

Se ha aumentado la contaminación a un porcentaje del 10%, nuevamente los filtros MED 2D y ROM han dejado pixeles de contaminación y el deterioro del rostro es mayor en el filtro MED 2D. Los mejores resultados para este porcentaje corresponde a los filtros MED 3D y MM-KNN

Figura 5.5.a Imágenes fijas 10, 20, 30, 40 y 50 para secuencia original.

Figura 5.5.b Imágenes fijas 10, 20, 30, 40 y 50 para contaminación al (10%).

Figura 5.5.c Imágenes fijas 10, 20, 30, 40 y 50 para el Filtro Mediana 2D contaminada al (10%).

Figura 5.5.d Imágenes fijas 10, 20, 30, 40 y 50 para el Filtro Mediana 3D contaminada al (10%).

Figura 5.5.e Imágenes fijas 10, 20, 30, 40 y 50 para el filtro ROM contaminadas al (10%).

Figura 5.5.f Imágenes fijas 10, 20, 30, 40 y 50 para el filtro MM-KNN contaminadas al (10%).

40

Los resultados para la secuencia Miss America, no varían a pesar de aumentar su contaminación a un porcentaje del 20%. Los filtros qué logran disminuir de manera más eficiente el ruido nuevamente es MED 3D y MM-KNN . Sin embargo es ligeramente mejor el segundo por tener menor emborronamiento.

Figura 5.6.a Imágenes fijas 10, 20, 30, 40 y 50 para secuencia original.

Figura 5.6.b Imágenes fijas 10, 20, 30, 40 y 50 para contaminación al (20%).

Figura 5.6.c Imágenes fijas 10, 20, 30, 40 y 50 para el Filtro Mediana 2D contaminada al (20%).

Figura 5.6.d Imágenes fijas 10, 20, 30, 40 y 50 para el Filtro Mediana 3D contaminada al (20%).

Figura 5.6.e Imágenes fijas 10, 20, 30, 40 y 50 para el filtro ROM contaminadas al (20%).

Figura 5.6.f Imágenes fijas 10, 20, 30, 40 y 50 para el filtro MM-KNN contaminadas al (20%).

41

5.2 Imágenes de Error A continuación se muestran las imágenes error de los filtrados. Se ha asignado un reglón a cada imagen fija para poder hacer un mejor comparativo entre los filtros. Se utilizó primero la secuencia Flowers con una contaminación del 2%

Figura 5.7.a Imagen fija no. 10, Original, Contaminada, error mediana 2D, mediana 3D, ROM, y MM-KNN

Figura 5.7.b Imagen fija no. 20, Original, Contaminada, error mediana 2D, mediana 3D, ROM, y MM-KNN

Figura 5.7.c Imagen fija no. 30, Original, Contaminada, error mediana 2D, mediana 3D, ROM, y MM-KNN

Figura 5.7.d Imagen fija no. 40, Original, Contaminada, error mediana 2D, mediana 3D, ROM, y MM-KNN

Figura 5.7.e Imagen fija no. 50, Original, Contaminada, error mediana 2D, mediana 3D, ROM, y MM-KNN

42

Se muestra los resultados mediante imágenes de error para la secuencia Miss America contaminada con ruido impulsivo en un porcentaje del 2%.

Figura 5.8.a Imagen fija no. 10, Original, Contaminada, error mediana 2D, mediana 3D, ROM, y MM-KNN

Figura 5.8.b Imagen fija no. 20, Original, Contaminada, error mediana 2D, mediana 3D, ROM, y MM-KNN

Figura 5.8.c Imagen fija no. 30, Original, Contaminada, error mediana 2D, mediana 3D, ROM, y MM-KNN

Figura 5.8.d Imagen fija no. 40, Original, Contaminada, error mediana 2D, mediana 3D, ROM, y MM-KNN

Figura 5.8.e Imagen fija no. 50, Original, Contaminada, error mediana 2D, mediana 3D, ROM, y MM-KNN

43

La secuencia empleada es flowers y la contaminación corresponde a un porcentaje del 20%, en todos los filtros hay una pérdida grande en los detalles de la imagen.

Figura 5.9.a Imagen fija no. 10, Original, Contaminada, error mediana 2D, mediana 3D, ROM, y MM-KNN

Figura 5.9.b Imagen fija no. 20, Original, Contaminada, error mediana 2D, mediana 3D, ROM, y MM-KNN

Figura 5.9.c Imagen fija no. 30, Original, Contaminada, error mediana 2D, mediana 3D, ROM, y MM-KNN

Figura 5.9.d Imagen fija no. 40, Original, Contaminada, error mediana 2D, mediana 3D, ROM, y MM-KNN

Figura 5.9.e Imagen fija no. 50, Original, Contaminada, error mediana 2D, mediana 3D, ROM, y MM-KNN

44

Estas son las imágenes de error obtenidas a partir de la secuencia Miss America contaminada en un porcentaje del 20%. El error resultado se obtuvo mediante los filtros mediana 2D, mediana 3D, ROM y MM-KNN

Figura 5.10.a Imagen fija no. 10, Original, Contaminada, error mediana 2D, mediana 3D, ROM, y MM-KNN

Figura 5.10.b Imagen fija no. 20, Original, Contaminada, error mediana 2D, mediana 3D, ROM, y MM-KNN

Figura 5.10.c Imagen fija no. 30, Original, Contaminada, error mediana 2D, mediana 3D, ROM, y MM-KNN

Figura 5.10.d Imagen fija no. 40, Original, Contaminada, error mediana 2D, mediana 3D, ROM, y MM-KNN

Figura 5.10.f Imagen fija no. 50, Original, Contaminada, error mediana 2D, mediana 3D, ROM, y MM-KNN

45

6. IMPLEMENTACION EN TIEMPO REAL. 6.1 DSP TMS320C67X

Figura 6.1 Esquema de la tarjeta TMS320C6711

CARACTERÍSTICAS DEL DSP TMS320C67X La familia DSP TMS320C67X ha sido utilizada en una amplia gama de aplicaciones en tiempo real [21] El DSP TMS320C6711 tiene la capacidad de realizar más de 1350 millones de operaciones de punto flotante por segundo, (MFLOPS , million floating-point operations per second) con una velocidad de reloj de 250 Mhz. El procesador tiene 32 registros de uso general cada uno de 32 bits. Además posee ocho unidades funcionales independientes, de ellas, cuatro son de punto flotante/fijo, dos de punto fijo y dos multiplicadores de punto flotante/fijo. La memoria cache consiste de dos niveles. L1P destinada al programa con un tamaño de 32 Kbit es una cache de mapeo directo; L1D del mismo nivel, es la cache de datos de la misma capacidad pero con set-associative de doble dirección; por último L2 son 512 Kbits que puede ser empleado de manera compartida por el programa y los datos, también se puede configurar como mapeo directo, cache o una combinación de ambas [16]. Existen artículos donde se ha empleado hardware distinto al DSP, por ejemplo: FPGA’s y VLSI, [20], [24] nosotros estaremos enfocados a la tecnología del DSP.

Principales Características de la Tarjeta DSP empleada

46

• inst de 32 bits / ciclos • V. Reloj 100, 150, 167, 200, 250 Mhz • Tiempo por C. inst 10, 6.7, 6, 5, 4 ns. • 600, 900, 1000, 1200, 1500 MFLOP • Palabras largas de instrucción avanzada ( VLIW) • 8 unidades funcionales independientes • 4 ALUs (Punto fijo o flotante) • 2 ALUs (Punto fijo), • 32 reg. de 32 bits de almacenamiento de carga de propósito gral.

6.2 Software (Code Componer Studio 3.0) El Code Composer Studio incluye los siguientes componentes

o Herramientas Generadoras de Código TMS320C6000 o Entorno de Desarrollo Integral (IDE) o DSP/BIOS plug-ins and API o RTDX plug-in, host interface and API

Trabajan de la siguiente manera

Figura 6.2 Componentes del Code Compose Studio

Entorno de desarrollo integrado del Code Composer Studio • Permite editar, construir y depurar los programas para DSP

47

• Se puede observar el código fuente C con su correspondiente código fuente ensamblador

• Se agregan archivos en un proyecto con código fuente en C o ensamblador, archivos objeto, librerías , archivos comando vinculo'.

Figura 6.3 Elementos del proyecto en CCS.

Características de la aplicación de depuración de Code Composter Studio [17].

• Establecer puntos de rompimiento con opción a un numero de pasos

• Actualización de las ventanas a los puntos de rompimiento

• Vigilancia de variables

• Inspección y edición de memoria y registros

• Inspección de las llamadas de punteros Tiempos del DSP Los algoritmos son reestructurados por funciones, el no de ciclos para ejecución total, no de llamadas la función y tiempo por cada ejecución los entrega el comando load6x –g *.out Se aplica formula para calcular el tiempo de ejecución en seg. Archivos *.vaa

Figura 6.4 Archivo *.vaa, ciclos de ejecución por función del programa.

6.3 Tiempos de ejecución

48

La tabla indica las medidas en segundos para los tiempos de ejecución para una tarjeta DSP TMS320C64711 con una velocidad de 250 Mhz, bajo la consideración que ejecuta 8 instrucciones por ciclo de reloj. Tomando en cuenta estos resultados el filtro mediana 3D tiene la mejor razón filtrado/tiempo de ejecución. Imágenes de 180 X 116

Algoritmo n ciclos Tiempo (seg)*

MED 2D MED 3D ROM MED X Alfa-Trim

6815938 10234066 6907178 6994465 61159779

0.003407 0.005117 0.003453 0.003497 0.030579

MM-KNN WM-KNN

22743844 21862549

0.011371 0.010931

Tabla 6.1 Tiempos de Ejecución

ciclos de Procesador del Velocidad

1Ejecución de Tiempo n⋅=

(6.1)

En la siguiente tabla se tiene ordenado por columnas los filtros partiendo desde el que mejor resultado en PSNR obtuvo (primer renglón) hasta el que resulto menos efectivo para este el porcentaje de contaminación que se observa como titulo de la columna. Excepto en la última columna para la cual se ordenan los filtros del más rápido en el primer renglón, hasta el que mayor tiempo de ejecución requirió. De esta forma muestra la dificultad para definir el método más adecuado para las secuencias cuando se trabaja en tiempo real, no se puede sacrificar ni calidad, ni velocidad, debe existir un justo equilibrio.

5 10 20 30 Tiempo

MMKNN WMKNN WMKNN WMKNN

MED 2D

WMKNN ROM ROM ROM ROM

MED 2-D MMKNN MMKNN MMKNN MED X

ROM MED X MED X MED X MED 3D

MED 3-D MED 3-D MED 3-D MED 3-D WM-KNN

MED X MED 2-D MED 2-D MED 2-D MM-KNN

Tabla 6.2 Resultados Generales.

49

6.4 Conclusiones.

• De todos los filtros implementados, solo MM-KNN y WM-KNN no tienen tiempos de ejecución aceptables para el trabajo en tiempo real. • El empleo de lenguaje ensamblador para la programación de la tarjeta DSP redujo los tiempos de ejecución significativamente. • La tarjeta DSP TMS320C64711 ha resultado ser la más adecuada para las tareas realizadas en esta investigación. • Al emplear la interfaz gráfica (Windows XP) del software Code Componer Studio se dispone de una amplia variedad de herramientas para la explotación de las capacidades de la tarjeta DSP.

50

Conclusiones Generales. • Se definió servirse de filtros no lineales que emplean estadística de orden al reconocer que sus características son las más apropiados para los objetivos de este trabajo.

• Se demostró como mejoran los resultados cuando se aprovecha la correlación temporal de las secuencias, en las técnicas de filtrado tipo 3D, en comparación con técnicas de filtrado 2D.

• Las secuencias que son digitales durante su: almacenamiento y/o trasmisión son susceptibles al ruido de tipo impulsivo. Es esta la razón para investigar en este tipo de ruido específico.

• Se emplearon criterios objetivos (PSNR por ejemplo), y además criterios subjetivos tal como las imágenes de error, parae determinar el justo valor de los resultados entregados por cada filtro implementado.

• El adecuar métodos 2D para secuencias de imágenes con un filtrado 3D, ha mejorado sus resultados. También ha sido útil transformar técnicas de filtrado para imágenes fijas a color y aplicarlos en secuencias de imágenes en escalas de grises.

• El usar algoritmos los cuales cuentan con una retroalimentación aporta buena información al proceso mejoramiento de las imágenes.

• Mientras más intensa sea la contaminación de la imagen, los métodos cuales incluyen una mayor cantidad de píxeles en su filtrado son los que reducen mejor el ruido.

• Cuando los porcentajes de contaminación son más altos, la diferencia entre técnicas de filtrado 2D y filtrado 3D se acentúa.

• Solo los filtros MM-KNN y WM-KNN los que conservan de mejor forma las frecuencias altas de las imágenes fijas las cuales forman las secuencias. Sin embargo, su limitante la encontramos en el tiempo de ejecución, impedimento para trabajar en tiempo real

• Los algoritmos que cuentan con estimadores de entropía local, son más efectivos al reducir ruido, además, colaboran en la preservación de los bordes de la imagen al dejar los píxeles de la secuencia original y en algunos casos se reduce los tiempos de ejecución.

• Al sustituir con lenguaje ensamblador código en la programación de los algoritmos a ser ejecutados en el DSP, la velocidad de ejecución aumenta significativamente.

51

• La tarjeta DSP TMS320C64711 es una herramienta muy completa, conforme más se adentra uno en su conocimiento, más bondades se encuentran, ha resultado ser la más adecuada para las tareas realizadas en esta investigación.

Trabajo Futuro Continuar con la optimización de código en los algoritmos, con la finalidad de reducir tiempos de ejecución. Manejar secuencias de imágenes contenidas en otros formatos de video distintos. Comprobar los tiempos de ejecución en modelos más recientes de la tarjeta DSP. Seguir implementando algoritmos con distintas características adaptivas, modificando constantemente sus parámetros hasta obtener los resultados más óptimos

52

Referencias. [1] J.Astola y Kousmanen, Fundamentals of Nonlinear Digital Filtering, CRC Press, Boca Raton – New

Cork, 1997 [2] Al Bovik, HandBook of image an Video Processing. Academic Press, San Diego CA, 2000 [3] R. Lukac, B. Smolka, K. Plataniotis and . Venetsanopoulos, “Three-dimensional entropy vector median

filter for color video filtering” Proceedings of SPIE Vol.5150 (2003) 1642-1649. [4] Venetsanopulus & Plataniotis, Springer . Color Image Processing and Applications. [5] J. Wiley & sons. Digital Image Processing Algorithms and Applications, I. Pitas, 2000. [6] J.S. Kim, H. Wook Park “Adaptive 3-D median filtering for restoration of an image sequence corrupted

by impulse noise” Signal Processing: Image Communication 16 (2001) 657-668. [7] F. Gomeztagle, V. Ponomaryov “Real-Time processing scheme Based on RM estimators” SPIE Vol 5012,

(2003) 37 -48. [8] Vector Directional Filters- A new class of multichannel image processing filters, “IEEE Trans. On Image

Proc”, Vol.2, No.4, October 1993, Págs.. 528-534 [9] Vector median filters, “Proceedings of the IEEE”, Vol. 78, No. 4, April 1990 [10] A. Rosales Silva, V. Ponomaryov, F. Funes” Supresión de ruido impulsivo y Preservación de Bordes y

Detalles finos en imágenes a color “ [11] Directional Processing of Color Images: Theory and Experimental Results “IEEE Trans. On Image

Processing”, Vol. 5, No. 6, June 1996 [12] B.Smolka, R. Lukac, A.Chydzinski, K.N. Plataniotis, W. Wojciechowski “Fast Adaptive similarity based

impulsive noise reduction filter” Real time Imaging 9 (2003) 261-276. [13] L.Lucat, P. Siohan, D. Barba, “Adaptive and global optimization methods for weighted vector median

filters” Signal Processing: Image Communication 17 (2002) 509-524. [14] R.Sansores, V.Ponomaryov, “Investigación e implementación de los algoritmos de estadística de orden

para filtrar las imágenes 3D”, 7° Congreso Nacional de ingenieria electromecanica de sistemas (2003) [15] R. Gonzalez and R. Woods. Tratamiento Digital de Imágenes.1996, Addison Wesley [16] Texas Instruments, TMS320C6711, TMS320C6711B, TMS320C6711C Floating-Point Digital Signal

Processors, SPRS088H, 1998, Revised 2003. [17] Texas Instruments, TMS320C6000 Optimizing Compiler User’s Guide, SPRU187I, Texas Instruments

Incorporated, 2001. [18] Rastislav Lukec, “Adaptive vector median filtering” , Pattern Recognition Letters 24, 1889-1899. 2003 [19] Laurent Lucat, Pierre Siohan, Dominique Barba. “Adaptive and global optimization methods for

weighted vector median filters” Signal Processing: Image Communication 17 (2002) 509 – 524

53

[20] L. Kessal, N. Abel, D. Demigny, “Real-time image processing with dynamically reconfigurable architecture”, Real-Time Imaging 9 (2003) 297–313.

[21] A. Bensrhair1, N. Chaqui and P. Miche, “Implementation of a 3D Vision System on DSPs TMS320C31”

Real-Time Imaging 6, 213 - 221 (2000). [22] Chiou-Ting Hsu, Yu-Chun Tsan,” Mosaics of video sequences with moving objects”, Signal Processing:

Image Communication 19 (2004) 81–98. [23] Livio Tenze, Sergio Carrato;; Stefano Olivier. “Design and real-time implementation of a low-

cost noise reduction system for video applications”, Signal Processing 84 (2004) 453 – 466. [24] Mahmoud Meribout, Mamoru Nakanishi and Takeshi Ogura, “Accurate and Real-time Image Processing

on a New PC-compatible Board”, Real-Time Imaging 8, 35-51 (2002) [25] Etienne Memin and Tanguy Risset. “VLSI Design Methodology for Edge-Preserving Image,

Reconstruction”, Real-Time Imaging 7, 109 - 126 (2001) [26] Chen, T., Wu. “Adaptive impulse detection using center-weighted median filters“. IEEE Signal Process.

Lett. 8, 1–3. (2001). [27] Smolka, B., Chydzinski, A., Wojciechowski, K., Plataniotis, K.N., Venetsanopoulos, “On the reduction

of impulsive noise in multichannel image processing” , Opt.Engng. 4040, 902–908. (2001).

54

Índice de Imágenes. 1.1 Digitalización de la Imagen ……………………………………………….. 1.2 Muestreo y Cuantización ………………………………………………….. 1.3 Etapas del procesamiento de Imágenes ……………………………………. 2.1 Ejemplo de un método de dominio espacial ………………………………. 2.2 Sistema bidimensional …………………………………………………….. 2.3 Curvas características de los filtros …………...…………………………… 2.4 Ventana de Filtro pasa altos ……………………………………………….. 2.5 Filtros para detección de Bordes …………………………………………... 2.6 Esquema de Mascara y Cubo ……………………………………………… 2.7 Origen del Ruido Impulsivo ……………………………………………….. 3.1 Configuración del Cubo M ……………………………………...…............ 3.2. Configuración del cubo para filtro ROM ………………………………….. 5.1 Resultados para secuencia Flowers contaminación 2% …………………… 5.2 Resultados para secuencia Flowers contaminación 10% ……...………… 5.3 Resultados para secuencia Flowers contaminación 20% ………………… 5.4 Resultados para secuencia Miss America contaminación 2% …………….. 5.5 Resultados para secuencia Miss America contaminación 10% …………… 5.6 Resultados para secuencia Miss America contaminación 10% …………… 5.7 Imágenes de error secuencia Flowers contaminación 2% …………………. 5.8 Imágenes de error secuencia Miss America contaminación 2% …………... 5.9 Imágenes de error secuencia Flowers contaminación 20% ………………... 5.10 Imágenes de error secuencia Miss America contaminación 20% ………...

5 6 7 11 11 13 14 16 16 19 22 23 35 36 37 38 39 40 41 42 43 44

55

6.1 Esquema de la tarjeta TMS320C6711 …………………………………….. 6.2 Componentes del Code Compose Studio ………………………………….. 6.3 Elementos del proyecto en CCS …………………………………………… 6.4 Archivo *.vaa, ciclos de ejecución por función del programa ……………..

45 46 47 47

56

Índice de Tablas. 1.1 Numero de bits de almacenamiento para varios valores de N y m ………... 2.1 Métodos de Filtrado ………………………....…………………………….. 4.1 Índice PSNR para secuencia flowers con 5% de contaminación ………….. 4.2 Índice MAE para secuencia flowers con 5% de contaminación ………….. 4.3 Índice PSNR para secuencia flowers con 10% de contaminación ………… 4.4 Índice MAE para secuencia flowers con 10% de contaminación …………. 4.5 Índice PSNR para secuencia flowers con 20% de contaminación ………… 4.6 Índice MAE para secuencia flowers con 20% de contaminación …………. 4.7 Índice PSNR para secuencia Miss America con 5% de contaminación …… 4.8 Índice MAE para secuencia Miss America con 5 de contaminación ………. 4.9 Índice PSNR para secuencia Miss America con 10% de contaminación ….. 4.10 Índice MAE para secuencia Miss America con 10% de contaminación…. 4.11 Índice PSNR para secuencia Miss America con 20% de contaminación … 4.12 Índice MAE para secuencia Miss America con 20% de contaminación…. 6.1 Tiempos de Ejecución ……………………………………………………... 6.2 Resultados Generales ………………………………………………………

7 17

28 28 29 29 30 30 31 31 32 32 33 33 48 48

57

Publicaciones [1] Alejandro Lopez R., Volodymyr Ponomaryov, MCIS/COMSI 2006 MEXICAN CONFERENCE ON INFORMATICS SECURITY 2006. CONGRESO MEXICANO DE SEGURIDAD INFORMÁTICA 2006. (INTERNATIONAL CONFERENCE APPROVED BY IEEE COMPUTER SOCIETY), 3D Images Sequences Denoisin, México,D.F. del 14 - 17 de Noviembre del 2006.

[2] Alejandro López R., Volodymyr Ponomaryov, 9° CONGRESO NACIONAL DE INGENIERÍA ELECTROMECÁNICA Y DE SISTEMAS, Filtrado de Secuencias de Imágenes en Tiempo Real, México,D.F. del 13-17 de noviembre del 2006.

[3] Alejandro Lopez R., Volodymyr Ponomaryov, CAS TOUR / ICED IEE LATIN AMERICAN CAS TOUR & INTERNATIONAL CONFERENCE ON ELECTRONIC DESIGN 2004, 3D Images Sequences Denoisin, Boca del Río, Veracruz. 16 – 19 de Noviembre del 2004.

[4] Alejandro López R., V. Ponomaryov, XIX CONGRESO DE INSTRUMENTACIÓN,

Filtrado de Secuencias de Imágenes, Pachuca, Hidalgo, 25-29 de Octubre 2004. [5] Alejandro López R., V. Ponomaryov, 8° CONGRESO INTERNACIONAL DE INGENIERÍA ELECTROMECÁNICA Y DE SISTEMAS, Filtrado de Secuencias de Imágenes en Tiempo Real, México,D.F. del 15 al 19 de Noviembre 2004.