Está en la página 1de 29

Terceiro Simpsio em Estatstica Espacial e Modelagem de Imagens

III - SEEMI 2010



Parque Tecnolgico ITAIPU-PTI, Foz de Iguau, Brasil.
Dezembro 14, 15 e 16 de 2010.

TRANSFORMADA RPIDA FRACTAL
Dr. Ing. Jess Rubn Azor Montoya
Universidad de Mendoza

La Transformada Fractal permite la codificacin de una imagen
basada en la Teora de las Funciones Iteradas (IFS).
La Transformada Fractal explota la auto-similitud asociada con
las imgenes naturales
Todas las imgenes presentan la caracterstica de auto-similitud
y en base a esta caracterstica Arnaud Jacquin discpulo de
Michael Barnsley, a principio de los 80s desarroll un esquema
de compresin fractal que explotaba las auto-similitudes
locales dentro de las imgenes.

Con la estrategia propuesta por Jacquin, se logran algoritmos
eficientes y seguros para codificar, y por ende comprimir con
tasas muy altas, imgenes del mundo real con niveles de
fidelidad suficientemente aceptables.

Vale decir que, el proceso supone un anlisis de la imagen que
lleve a la obtencin de los correspondientes cdigos IFS, que
sern el ncleo de la informacin que se habr de archivar en el
codebook.
Jacquin sugiri dividir a la imagen en dos tipos de
bloques: el Dominio y el Rango, con la condicin de
que siempre sean cuadrados y que el tamao del
Dominio sea el doble del tamao del Rango.

Bloque Dominio (a la derecha) y bloque Rango (a la
izquierda). w indica la transformacin que sufre el
Dominio para ser comparado con el Rango, siendo i y k
los ndices que indican posicin espacial

Los 8 mapeos afines contractivos transforman un bloque padre
cuadrado en uno ms pequeo, llamado bloque hijo.
Los datos de entrada son:

- Matriz cuadrada de l
2
elementos conteniendo la informacin de la
imagen a codificar (con l didico)

- Tamao de los bloques Rango (rangesize), de modo que se obtienen
(l/rangesize)
2
bloques Rango y (l/2*rangesize)
2
bloques Dominio.
2) Se reescalan los bloques Dominio (al mismo tamao de los bloques
Rango) por diezmado y se resta a cada elemento el promedio.
Algoritmo Para la Codificacin fractal

1) Se promedia la suma de los elementos del bloque Rango (por ejemplo,
el primero de ellos), se redondea y se guarda el resultado en la variable o
(Offset). Luego se resta a cada elemento del bloque la media calculada.

o=round((133+255+188+31)/4)=round(151.75)=152

Nuevo Bloque Rango sin media
-19 103
36 -121
3) Se encuentran las 8 transformaciones posibles para cada bloque
Dominio transformado.
4) Se compara el primer bloque Rango con el primer bloque Dominio en
sus ocho versiones transformadas para encontrar el que mejor se le
parezca.
Para ello, en cada transformacin del Bloque Dominio escalado se hace
una prediccin lineal de primer orden para estimar el Bloque Rango
desde cada Bloque Dominio. Al parmetro se lo denomina ss:
ss
1
2
j 1
2
i
R_scaled
i j ,
D_scaled
i j ,
( )

(
(
(

1
2
j 1
2
i
D_scaled
i j ,
( )
2

(
(
(

1.308 = :=
El algoritmo exige que 0 < ss < 1 (Transformacin Afn Contractiva)
5) La prediccin (de las ocho transformaciones) que mejor mapea a
los valores del Rango en consideracin, es la llamada "distancia de
collage" sobre dicho Rango.

Se utiliza para determinarla el mean absolute error (error absoluto
promedio) que es una cantidad usada para medir qu tan cerca de
las previsiones o predicciones estn los posibles resultados.
El mean absolute error (MAE) est dado por:
Como el nombre lo sugiere, el error absoluto promedio es un
promedio de los errores absolutos e
i
= f
i
y
i
, donde f
i
es la
prediccin e y
i
el valor verdadero.
Se lo indicar con el nombre de variable minerror,
Cumplen con la condicin:
ss M minerror
0.2956 3 60.0653
0.8638 7 54.4494
0.7397 8 59.7877
Cumplen con la condicin:
ss M minerror
0.9735 1 61.9536
0.5386 7 61.1926
Cumplen con la condicin:
ss M minerror
0.2558 2 70.7093
0.5850 5 71.9438
0.9578 8 66.1582
Cumplen con la condicin:
ss M minerror
0.7993 1 53.5555
0.6137 3 58.1175
0.2972 7 57.7610
En resumen, de las 11 comparaciones vlidas minerror resulta ser:
Se sobremarca el menor de los valores minerror, correspondiente al
Bloque Dominio con vtice superior izquierdo en (5 , 5) y con la
transformacin 1.
Se salvan en el Codebook los siguientes coeficientes:

Ubicacin del Dominio del mejor ajuste:

- Abscisa del vrtice superior izquierdo ( e )

- Ordenada del vrtice superior izquierdo ( f )

- La mejor transformacin (conforme a un criterio, nmero del 1 al
8).

- Contraste (factor de escalamiento, round(ss*100)).

- Offset (o).

6) Se contina haciendo lo mismo para el resto de los bloques
Rango hasta que sea alcanzado el ltimo.
Codificacin total de la imagen ejemplo:
Algoritmo para la Transformada Rpida Fractal
El algoritmo propuesto en este trabajo, apunta a agilizar el
algoritmo clsico, a travs de un pre-proceso, que se
adelanta a las comparaciones de los bloques Dominio y
Rango, utilizando como herramienta estadstica la suma de
las desviaciones medias absolutas de los mismos

Para calcular la suma de desviaciones medias absolutas de
un vector A de elementos {A
i
, i=1n}, se utiliza la siguiente
expresin:
sdma
1
n
.

i1
n
absA
i
meanA
Desarrollo del algoritmo
Se parte de los mismos datos del algoritmo clsico, esto es se forman
dos arreglos unidimensionales de Rango ({R
i
}) y Dominio ({D
i
}).
Al arreglo de arreglos Dominio, ({D
i
}). que no est escalado, se lo
escala a travs de un diezmado y se calcula la suma de las
desviaciones medias absolutas de cada uno de estos elementos del
arreglo unidimensional conformndose un vector.
Los elementos de este vector son la suma de las desviaciones
medias absolutas de cada uno de los bloques Dominio escalados.
Del mismo modo, se calcula la suma de las desviaciones medias
absolutas de cada uno de estos elementos del arreglo unidimensional
de Rangos, conformndose otro vector.
Los elementos de este nuevo vector son la suma de las
desviaciones medias absolutas de cada uno de los bloques Rango.
Se recorren todos los bloques Rango, comparando la suma de
las desviaciones medias absolutas de cada uno de ellos con la de
todos los bloques Dominio escalados, hasta encontrar el de suma
de las desviaciones medias absolutas ms prxima. En ese punto,
se toma nota (en otro vector, que lo que se llamar ndicador) del
ndice de Dominio para el cual se da esta cercana.

Posteriormente, se vuelve a recorrer todos los bloques Rango,
pero ya con la informacin de los bloques Dominio que darn la
mayor proximidad y se realizan las comparaciones
correspondientes para obtener el nmero de la mejor
transformacin (de 1 a 8, en la Figura 2.1 de izquierda a derecha
y de arriba abajo) y encontrando el contraste y el escalamiento.
Resultados experimentales

Con el objeto de hacer consistentes los resultados de la aplicacin
de este nuevo algoritmo con otras investigaciones sobre el mismo
tema, se usa la famosa imagen de Lenna en un arreglo de
512x512 pixeles en escala de grises en forma de archivo .bmp.

Para toda la experimentacin se ha usado una computadora
porttil con procesador Intel Celeron (t.m.) de 1.5 Mhz, ejecutando
el software Matlab 7.0 (t.m.).

En primer lugar, se muestra la aplicacin del mtodo tradicional a
la citada imagen y se registra el tiempo de codificacin. Junto a
este valor, se agregan el Root Mean Squared Error (RMSE) y el
Peak Signal to Noise Ratio (PSNR) de la imagen decodificada,
ambos como medidas de fidelidad de reproduccin.
El Error Raz Media cuadrada (Root Mean Squared Error, RMSE)
es una buena medida de la fidelidad de una imagen estimada.
Siendo u la imagen original de tamao MxN, se define:
Otra medida de la calidad de imagen relacionada es la Relacin
Seal a Rudo Pico (Peak Signal to Noise Ratio, PSNR), la cual
es inversamente proporcional al RMSE, sus unidades estn en
decibeles (dB) y est formalmente definida por:
Resultados correspondientes al algoritmo tradicional
Repeticin de la experiencia para tres tamaos distintos del bloque
Rango, pero aplicando el mtodo de la Transformada Rpida Fractal.
Como se puede apreciar, los tiempos de ejecucin son notablemente
menores con la aplicacin del mtodo propuesto, ante iguales
rangesize.
Si se observan las primeras filas de ambas tablas, se ve que se
adquiere una fidelidad de imagen comparable utilizando un rangesize
de 8 en el mtodo tradicional que uno de 4 en el propuesto, pero esto
con una relacin en tiempo de 2374/62=38.29 a favor de este ltimo,
esto est indicando una rapidez de casi 40 veces.

a) Imagen de Lenna original, b) Tradicional, rangesize=8, c) Tradicional,
rangesize=16, Rpido, rangesize=4, Rpido, rangesize=8, Rpido, rangesize=8. En
todos los casos, la decodificacin se ha hecho con 6 iteraciones.
Conclusiones

Conforme a lo visto en los pargrafos anteriores, el
algoritmo propuesto tiene todas las capacidades del
de la Transformada Fractal clsica, pero su
velocidad de ejecucin es notablemente ms rpida
para una misma fidelidad de reconstruccin.

Se ha elegido un estadstico en particular, la suma de
desviaciones medias absolutas, pero esto no agota
la bsqueda de algn otro, que pueda interpretar en
forma ms ajustada, la pre bsqueda que se propone
en el trabajo como ncleo significativo del algoritmo.

También podría gustarte