Marca de Agua Digital en Imágenes

Anuncio
Marca de Agua
Digital en Imágenes
Omar X. Avelar
PROCESAMIENTO DIGITAL DE SEÑALES (ESI05AA)
Instituto Tecnológico y de Estudios Superiores de Occidente (ITESO)
Departamento de Electrónica, Sistemas e Informática (DESI)
SINTESIS
Una marca de agua digital es un mensaje que se esconde dentro
de algún contenido multimedia (música, imagen, vídeo) y contiene información sobre el propio contenido (por ejemplo: quién es
el autor, si existe permiso para copiarlo, si ha sido alterado de alguna manera, etc.).
La prueba del concepto sera aplicada a imágenes monocromáticas y se probaran sistemas de codificación y decodificación de 1
Bit y otro de 4 Bits.
c. El patrón de mensaje se multiplica por algún factor de
escala α y se convierte en el patrón de suma, w a .
2. El patrón de suma,
co
wa
, se suma al contenido (la imagen)
, y se produce el contenido con marca de agua
cw
.
INTRODUCCION
Se trabajara en este caso en particular con 20 imágenes a blanco
y negro con una resolución de 512x512 píxeles, después se procederá a aplicar varias técnicas de codificación de marcas de
agua y se probara con un sistema implementado en GNU Octave
sus ventajas analizando características especificas.
Después de analizar las optimizaciones añadidas al sistema se
determinara que tan perceptible son las marcas de agua aplicadas.
DESARROLLO
Fig. 1: Codificador básico de marca de agua.
Modelo Básico
El proceso de codificar (esconder) una marca de agua en una
imagen requiere dos pasos (ver Fig. 1).
1. El mensaje binario
wa
m
se mapea en un patrón de suma,
, que tiene las mismas dimensiones que la imagen donde
se va a esconder el mensaje. En la mayoría de los procesos de
marca de agua el patrón de suma se calcula en varios pasos:
Esta imagen con marca de agua puede sufrir alguna distorsión, la
cual podemos modelar sumándole ruido a c w . Se dice que el
decodificador de la Fig. 2 es ciego porque no tiene como dato la
imagen original. La marca de agua se detecta vía la correlación
de la imagen con marca de agua y los patrones de referencia (la
llave es un dato que sí tiene el decodificador).
a. Generalmente, se comienza con uno o más patrones de
referencia, w r0 , w r1 , ..., los cuales son patrones predeterminados, generados previamente con la ayuda de una llave (o
sea, un número que sirve como semilla para generar una secuencia de números pseudoaleatorios).
b. Estos patrones se combinan para producir un patrón
que codifique el mensaje, el cual se llama patrón de mensaje,
wm .
Fig. 2: Decodificador básico de marca de agua.
Tema: Procesamiento Digital de Señales – Pag. 1 of 15
Guadalajara, México // lun 20 de abril de 2009.
ITESO
Marca de agua Digital en Imágenes
Instituto Tecnológico y de Estudios Superiores de Occidente (ITESO),
Periférico Sur Manuel Gómez Morín 8585, Tlaquepaque, Jalisco, México, C.P. 45090.
Departamento de Electrónica, Sistemas e Informática (DESI).
Por: Omar X. Avelar
Usando los modelos de las Figs. 1 y 2, podemos construir un
ejemplo sencillo de un sistema de marca de agua para imágenes. Para facilitar las cosas, vamos a suponer que el mensaje
que se va a esconder tiene sólo un bit de información. Esto es,
que m es un 0 o un 1.
Experimentos :
• Para probar este sistema, genera un arreglo pseudoaleatorio
de 256 × 256 elementos con distribución uniforme. Normaliza
este arreglo y utilízalo como patrón de referencia wr .
• Asígnale al parámetro α el valor de 1.
• Codifica 20 imágenes de 256 × 256 píxeles en escala de grises
bajo las dos posibles condiciones: m = 0 y m = 1 (en total tendrás 40 imágenes con marca de agua).
Codificador :
El sistema usa un solo patrón de referencia, w r , que es un
arreglo de píxeles del mismo tamaño que la imagen donde se va
a esconder la marca de agua. Este patrón se genera de manera
pseudoaleatoria utilizando una llave. El patrón de mensaje
w m , el patrón de suma w a , y la imagen con marca de
agua
cw
, se obtienen de la siguiente manera:
{
, si m=1
, si m=0
w m= wr
−w r
}
• Pasa las 40 imágenes marcadas y las 20 imágenes originales
por el decodificador, seleccionando un valor de umbral τ = 0.7.
• En base a tus experimentos, explica numéricamente qué tan
bueno es el sistema de marca de agua que implementaste (sugerencia: apóyate en un histograma).
• Estima también la cantidad de positivos falsos y de negativos
falsos que se obtienen con este sistema (positivo falso: cuando
tu decodificador detecta una marca de agua donde no existe tal;
negativo falso: cuando tu decodificador detecta la ausencia de
una marca de agua donde sí existe).
(1)
• ¿Qué puedes hacer para que tu sistema resulte más robusto?
w a=αw m
(2)
• ¿Qué puedes hacer para mejorar la fidelidad de las imágenes
marcadas?
c w =c o wa
(3)
• Diseña un sistema que esconda un mensaje de cuatro bits en
imágenes de 256 × 256 píxeles. Hazle las mismas pruebas que
al mensaje anterior.
Nota: α es el factor de escala que controla el compromiso entre
visibilidad y robustez de la marca de agua.
Decodificador
Para detectar la marca de agua, debemos detectar la señal
± wr en la imagen con marca de agua. La mejor manera para
detectar el mensaje es calculando la correlación lineal entre la
imagen recibida, c wn , y el patrón de referencia w r :
r c w n , w r =c wn • wr = ∑ c wn [ x , y ] w r [ x , y ]
c wn [ x , y ]
En (4),
píxeles en el renglón
pectivamente.
N
wr[ x , y]
y
x
(4)
denotan los valores de los
, columna y de
c wn
y
wr
, res-
es el número de píxeles de la imagen.
Podemos determinar si la marca de agua está presente seleccionando un valor de umbral, τ , para compararlo con la magni-
r c wn , wr 
tud de
{
y obtener la salida del decodificador:
1
m n= No hay marca de agua
0
, si r c wn , wr 
, si ≤r  c wn ,w r ≤
, si r  c wn , w r 
}
Tema: Procesamiento Digital de Señales – Pag. 2 of 15
Guadalajara, México // lun 20 de abril de 2009.
ITESO
Marca de agua Digital en Imágenes
Instituto Tecnológico y de Estudios Superiores de Occidente (ITESO),
Periférico Sur Manuel Gómez Morín 8585, Tlaquepaque, Jalisco, México, C.P. 45090.
Departamento de Electrónica, Sistemas e Informática (DESI).
Por: Omar X. Avelar
CÓDIGO
switch(m)
------------------------- BLOQUE PRINCIPAL -------------------------% Image watermarking algorithm
case 0
% for 256 px by 256 px grayscale
wm = -wr;
% images.
case 1
%
wm = +wr;
% Images must be located in folder "/files"
case 2
%
wm = zeros(size(img,1), size(img,2));
% by Omar X. Avelar
% April 8th, 2009
endswitch
%
wa = alpha.*wm;
fopen("Stats.txt", 'w');
clear all;
wm_img = uint8(img + wa);
%%%%%%%% Configuration Parameters %%%%%%%%
% Stores the data in a structure
% Seed for pattern generation
stat(struct_count).img_name = img_list(l).name;
key_seed = [ 3571, 35742549198872617291353508656626642567,
1627, 359334085968622831041960188598043661065388726959079837
] ;
% Strength factor of the watermark
alpha = 4;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
stat(struct_count).encoded_bit = m;
[ stat(struct_count).decoded_bit,
stat(struct_count).corr ] = bit_decode(wm_img, wr);
[ dummy, corrcoeffs(struct_count) ] = bit_decode(wm_img, wr);
clc;
struct_count++; cd files;
%%%%%%%%%%%%% Batch Testing %%%%%%%%%%%%%
cd files; img_list = dir;
endfor
% No. of tests
endfor
n_images = length(img_list) - 2;
toc()
struct_length = (n_images)*3;
struct_count = 1;
cd ..
% Generates the table file
% 0, 1 or No watermark
fid = fopen("Stats.txt", 'a', 'native');
tic()
fprintf(fid, "
for ( m = 0 : 2 )
for ( k = 1 : length(stat) )
for ( l = 3 : length(img_list) )
Image \t In \t Out \t
Corr. \n\n");
fprintf(fid, " %s \t %i \t %i \t %f \n",
stat(k).img_name, stat(k).encoded_bit, stat(k).decoded_bit,
stat(k).corr);
% Reads the image
img = imread(img_list(l).name); cd ..
endfor
fclose(fid);
[ wr ] = pattern(key_seed, size(img,1), size(img,2));
-------------------- FIN DEL BLOQUE PRINCIPAL -------------------
Tema: Procesamiento Digital de Señales – Pag. 3 of 15
Guadalajara, México // lun 20 de abril de 2009.
ITESO
Marca de agua Digital en Imágenes
Instituto Tecnológico y de Estudios Superiores de Occidente (ITESO),
Periférico Sur Manuel Gómez Morín 8585, Tlaquepaque, Jalisco, México, C.P. 45090.
Departamento de Electrónica, Sistemas e Informática (DESI).
Por: Omar X. Avelar
-------------------------------- FUNCIONES -----------------------------
## Copyright (C) 2009 Omar X. Avelar
## Copyright (C) 2009 Omar X. Avelar
##
##
## Pattern key generator implemented with randn.
## Decodes the bit from the image.
##
##
## Usage: [ wm ] = key_encode( seed, M, N )
## Usage: bit = bit_decode( img, pattern )
##
## Detects if the image has been watermarked.
##
function [ wr ] = pattern( seed, M, N )
function [ bit, corr ] = bit_decode( img, pattern )
# Key codification & pattern generation
tU = +0.0070;
% Threshold
randn("state", seed);
tL = -0.0070;
wr = rand(M, N);
r = corr2(double(img), double(pattern));
corr = r(1);
endfunction
if ( (r(1) < tU) && (r(1) > tL) )
% No watermark detected
bit = 255;
elseif ( r(1) > tU )
% Bit is 1
bit = 1;
elseif ( r(1) < tL )
% Bit is 0
bit = 0;
endif
endfunction
-------------------------- FIN DE FUNCIONES -----------------------Tema: Procesamiento Digital de Señales – Pag. 4 of 15
Guadalajara, México // lun 20 de abril de 2009.
ITESO
Marca de agua Digital en Imágenes
Instituto Tecnológico y de Estudios Superiores de Occidente (ITESO),
Periférico Sur Manuel Gómez Morín 8585, Tlaquepaque, Jalisco, México, C.P. 45090.
Departamento de Electrónica, Sistemas e Informática (DESI).
Por: Omar X. Avelar
PRUEBAS
Primero tenemos que mencionar que se definió un valor =4
. A continuación analizaremos la distribución de los valores de
correlación de acuerdo a los valores codificados. (Fig. 3).
Podemos ver claramente como se asemejan a una distribución
normal, por lo que vamos a definir un valor de umbral para las
diferentes codificaciones y así poderlo detectar en el decodificador.
0 =−0.0070
1 =−0.0070
(5)
En la siguiente pagina se analizara el efecto de escoger estos
valores de umbral.
Fig. 3: Distribuciones de las diferentes imágenes procesadas.
Tema: Procesamiento Digital de Señales – Pag. 5 of 15
Guadalajara, México // lun 20 de abril de 2009.
ITESO
Marca de agua Digital en Imágenes
Instituto Tecnológico y de Estudios Superiores de Occidente (ITESO),
Periférico Sur Manuel Gómez Morín 8585, Tlaquepaque, Jalisco, México, C.P. 45090.
Departamento de Electrónica, Sistemas e Informática (DESI).
Con estos valores de umbral definidos (5) podemos pasar las
imágenes en el programa automático y observar el archivo
“Stats.txt” que este genera. A continuación observaremos los
valores obtenidos con las 20 imágenes pruebas a blanco y negro
que se encuentran en la sección de anexos.
Image
In
Out
Corr.
testimage01.tif
0
0
-0.014128
testimage02.tif
0
0
-0.022887
testimage03.tif
0
0
-0.020510
testimage04.tif
0
0
-0.018478
testimage05.tif
0
255
-0.006438
testimage06.tif
0
0
-0.011071
testimage07.tif
0
0
-0.015194
testimage08.tif
0
0
-0.019834
testimage09.tif
0
0
-0.020243
testimage10.tif
0
0
-0.017172
testimage11.tif
0
0
-0.017550
testimage12.tif
0
0
-0.011824
testimage13.tif
0
0
-0.008177
testimage14.tif
0
0
-0.023926
testimage15.tif
0
0
-0.012137
testimage16.tif
0
0
-0.014092
testimage17.tif
0
255
-0.006963
testimage18.tif
0
0
-0.018826
testimage19.tif
0
0
-0.019438
testimage20.tif
0
0
-0.020555
testimage01.tif
1
1
0.010528
testimage02.tif
1
1
0.024137
testimage03.tif
1
1
0.021198
testimage04.tif
1
1
0.018957
testimage05.tif
1
1
0.008828
testimage06.tif
1
1
0.012375
testimage07.tif
1
1
0.020519
testimage08.tif
1
1
0.023374
testimage09.tif
1
1
0.016521
testimage10.tif
1
1
0.022550
testimage11.tif
1
1
0.011892
Por: Omar X. Avelar
testimage12.tif
1
1
0.017850
testimage13.tif
1
1
0.018857
testimage14.tif
1
1
0.023428
testimage15.tif
1
1
0.013968
testimage16.tif
1
1
0.018137
testimage17.tif
1
1
0.012654
testimage18.tif
1
1
0.007821
testimage19.tif
1
1
0.016286
testimage20.tif
1
1
0.016741
testimage01.tif
2
255
-0.000574
testimage02.tif
2
255
-0.000450
testimage03.tif
2
0
-0.007543
testimage04.tif
2
255
-0.000816
testimage05.tif
2
0
-0.009640
testimage06.tif
2
255
-0.002610
testimage07.tif
2
255
-0.000353
testimage08.tif
2
255
0.006451
testimage09.tif
2
255
-0.000638
testimage10.tif
2
255
-0.006121
testimage11.tif
2
255
0.002998
testimage12.tif
2
255
0.002330
testimage13.tif
2
255
0.003684
testimage14.tif
2
255
-0.002376
testimage15.tif
2
255
0.004248
testimage16.tif
2
255
-0.001844
testimage17.tif
2
255
0.004413
testimage18.tif
2
255
-0.001296
testimage19.tif
2
255
-0.001803
testimage20.tif
2
255
0.004213
Explicación:
0
→ 0
1
→ 1
2 o 255 → Nada codificado
Tema: Procesamiento Digital de Señales – Pag. 6 of 15
Guadalajara, México // lun 20 de abril de 2009.
ITESO
Marca de agua Digital en Imágenes
Instituto Tecnológico y de Estudios Superiores de Occidente (ITESO),
Periférico Sur Manuel Gómez Morín 8585, Tlaquepaque, Jalisco, México, C.P. 45090.
Departamento de Electrónica, Sistemas e Informática (DESI).
Analizando esa tabla podemos poner los resultados del experimento en la siguiente tabla (60 pruebas):
Número de positivos falsos
2
Número de negativos falsos
2
Por: Omar X. Avelar
Al definir los limites de la ecuación (5) en el decodificador y compararlos con esos limites marcados podemos ver que todavía
nos encontramos cercanos a los valores y se encuentran entre
±3  y ±2  , lo cual en el peor de los casos nos daría un
porcentaje de error máximo de 4.4 % .
A continuación se mostraran ciertas imágenes para ver que tan
perceptible es nuestra marca de agua.
Ahora, separando las tres poblaciones de imágenes, analizaremos la desviación estándar de cada una en el valor de la correlación usado para nuestro decodificador.
Tipo de codificación
σ
Sin marca de agua
0.00417280
0
0.00519380
1
0.00498250
Fig. 4: Distribución Gaussiana.
Lo que indica que suponiendo una distribución Gaussiana, la probabilidad de salirnos de rango y encontrarnos con otra población
estando en el limite de ±3  es de aproximadamente
0.2 % (Fig. 4).
Tipo de codificación
3σ
Media
Sin marca de agua
0.0125
-0.00040
0
0.0155
-0.01597
1
0.0149
0.01683
Entonces nuestro limite para pasar de
±3 
Sin marca de agua a 0 es: -0.0129
Sin marca de agua a 1 es: 0.01210
Tema: Procesamiento Digital de Señales – Pag. 7 of 15
Guadalajara, México // lun 20 de abril de 2009.
ITESO
Marca de agua Digital en Imágenes
Instituto Tecnológico y de Estudios Superiores de Occidente (ITESO),
Periférico Sur Manuel Gómez Morín 8585, Tlaquepaque, Jalisco, México, C.P. 45090.
Departamento de Electrónica, Sistemas e Informática (DESI).
Por: Omar X. Avelar
IMPLEMENTACION DE 4 BITS
El siguiente paso es ahora aplicar este algoritmo ahora incrementando el numero de bits a 4. Para esto; aplicaremos el mismo concepto pero seccionando la imagen en 4 cuadrantes, definiendo el orden de los bits de acuerdo al cuadrante en el que se
encuentra.
Bit_0
Bit_2
Bit_1
Bit_3
Donde Bit_0 es el LSB y el Bit_3 es el MSB. En la siguiente pagina
se encuentra el código de la codificación de 4 Bits seccionada.
Tema: Procesamiento Digital de Señales – Pag. 8 of 15
Guadalajara, México // lun 20 de abril de 2009.
ITESO
Marca de agua Digital en Imágenes
Instituto Tecnológico y de Estudios Superiores de Occidente (ITESO),
Periférico Sur Manuel Gómez Morín 8585, Tlaquepaque, Jalisco, México, C.P. 45090.
Departamento de Electrónica, Sistemas e Informática (DESI).
Por: Omar X. Avelar
CÓDIGO
------------------------- BLOQUE PRINCIPAL -------------------------% Image watermarking algorithm
wrb);
stat(struct_count).decoded_bits = bit_decode4(wm_img,
% for 256 px by 256 px grayscale
% images.
struct_count++; cd files;
%
% Images must be located in folder "/files"
endfor
%
%
endfor
% by Omar X. Avelar
toc()
% April 8th, 2009
%
cd ..
% Generates the table file
fopen("Stats.txt", 'w');
fid = fopen("Stats.txt", 'a', 'native');
clear all;
fprintf(fid, "
Image \t In \t Out\n\n");
for ( k = 1 : length(stat) )
clc;
%%%%%%%%%%%%% Batch Testing %%%%%%%%%%%%%
fprintf(fid, " %s \t %s \t %s \n", stat(k).img_name,
stat(k).encoded_bits, stat(k).decoded_bits);
cd files; img_list = dir;
endfor
fclose(fid);
% No. of tests
n_images = length(img_list) - 2;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
struct_length = (n_images)*3;
struct_count = 1;
% 2 Different random keys tested for each image
tic()
for ( j = 1 : 2 )
for ( l = 3 : length(img_list) )
% Reads the image
img = imread(img_list(l).name); cd ..
m = randint(1,1,15);
[ wm_img, wrb ] = bit_pattern4(dec2bin(m,4), img);
% Stores the data in a structure
stat(struct_count).img_name = img_list(l).name;
stat(struct_count).encoded_bits = dec2bin(m,4);
-------------------- FIN DEL BLOQUE PRINCIPAL -------------------
Tema: Procesamiento Digital de Señales – Pag. 9 of 15
Guadalajara, México // lun 20 de abril de 2009.
ITESO
Marca de agua Digital en Imágenes
Instituto Tecnológico y de Estudios Superiores de Occidente (ITESO),
Periférico Sur Manuel Gómez Morín 8585, Tlaquepaque, Jalisco, México, C.P. 45090.
Departamento de Electrónica, Sistemas e Informática (DESI).
Por: Omar X. Avelar
-------------------------------- FUNCIONES ----------------------------endswitch
## Copyright (C) 2009 Omar X. Avelar
##
% Third bit
switch(str2num(key(3)))
## 4 Bit encoder based on watermarks.
##
case 0
## Usage: [ wm_img ] = key_encode4( key, img )
##
wmR = -wrb;
case 1
wmR = +wrb;
function [ wm_img, wrb ] = bit_pattern4( key, img )
% Seed for pattern generation
seed = [ 3571, 35742549198872617291353508656626642567,
1627,
359334085968622831041960188598043661065388726959079837 ] ;
case 2
wmR = zeros(M, N);
endswitch
% Strength factor of the watermark
alpha = 4;
% Fourth bit
switch(str2num(key(4)))
% Key codification & pattern generation
M = size(img,1); N = size(img,2);
randn("state", seed);
wrb = rand(M/2, N/2);
case 0
wmR = vertcat(wmR,-wrb);
case 1
wmR = vertcat(wmR,+wrb);
% First bit
switch(str2num(key(1)))
case 0
case 2
wmR = vertcat(wmR,zeros(M, N));
endswitch
wmL = -wrb;
case 1
wm = horzcat(wmL,wmR);
wmL = +wrb;
case 2
wa = alpha.*wm;
wmL = zeros(M, N);
wm_img = uint8(img + wa);
endswitch
% Second bit
endfunction
switch(str2num(key(2)))
case 0
wmL = vertcat(wmL,-wrb);
case 1
wmL = vertcat(wmL,+wrb);
case 2
wmL = vertcat(wmL,zeros(M, N));
Tema: Procesamiento Digital de Señales – Pag. 10 of 15
Guadalajara, México // lun 20 de abril de 2009.
ITESO
Marca de agua Digital en Imágenes
Instituto Tecnológico y de Estudios Superiores de Occidente (ITESO),
Periférico Sur Manuel Gómez Morín 8585, Tlaquepaque, Jalisco, México, C.P. 45090.
Departamento de Electrónica, Sistemas e Informática (DESI).
## Copyright (C) 2009 Omar X. Avelar
Por: Omar X. Avelar
bit(2) = 1;
##
## Decodes the bits watermarked in the image.
elseif ( r(1) < tL )
% Bit is 0
##
## Usage: bit = bit_decode4( img, pattern )
bit(2) = 0;
function [ bits ] = bit_decode4( img, pattern )
tU = +0.0070;
% Threshold
tL = -0.0070;
endif
% Third bit
r = corr2(double(img(M/2+1:M,1:N/2)), double(pattern));
corr(3) = r(1);
% Four correlation figures must be calculated per image
M = size(img,1); N = size(img,2);
if ( (r(1) < tU) && (r(1) > tL) )
% First bit
% No watermark detected
bit(3) = 8;
r = corr2(double(img(1:M/2,1:N/2)), double(pattern));
corr(1) = r(1);
if ( (r(1) < tU) && (r(1) > tL) )
elseif ( r(1) > tU )
% No watermark detected
bit(1) = 8;
elseif ( r(1) > tU )
bit(3) = 1;
elseif ( r(1) < tL )
% Bit is 1
bit(1) = 1;
elseif ( r(1) < tL )
% Bit is 1
% Bit is 0
bit(3) = 0;
endif
% Bit is 0
% Fourth bit
r = corr2(double(img(M/2+1:M,N/2+1:N)), double(pattern));
bit(1) = 0;
corr(4) = r(1);
endif
if ( (r(1) < tU) && (r(1) > tL) )
% Second bit
% No watermark detected
bit(4) = 8;
r = corr2(double(img(1:M/2,N/2+1:N)), double(pattern));
corr(2) = r(1);
if ( (r(1) < tU) && (r(1) > tL) )
elseif ( r(1) > tU )
% No watermark detected
bit(2) = 8;
elseif ( r(1) > tU )
bit(4) = 1;
elseif ( r(1) < tL )
% Bit is 1
% Bit is 1
% Bit is 0
bit(4) = 0;
Tema: Procesamiento Digital de Señales – Pag. 11 of 15
Guadalajara, México // lun 20 de abril de 2009.
ITESO
Instituto Tecnológico y de Estudios Superiores de Occidente (ITESO),
Periférico Sur Manuel Gómez Morín 8585, Tlaquepaque, Jalisco, México, C.P. 45090.
Departamento de Electrónica, Sistemas e Informática (DESI).
Marca de agua Digital en Imágenes
Por: Omar X. Avelar
endif
s = num2str(bit);
bits = strcat(s(1),s(9),s(5),s(13));
corrs = corr;
endfunction
-------------------------- FIN DE FUNCIONES ------------------------
Tema: Procesamiento Digital de Señales – Pag. 12 of 15
Guadalajara, México // lun 20 de abril de 2009.
ITESO
Marca de agua Digital en Imágenes
Instituto Tecnológico y de Estudios Superiores de Occidente (ITESO),
Periférico Sur Manuel Gómez Morín 8585, Tlaquepaque, Jalisco, México, C.P. 45090.
Departamento de Electrónica, Sistemas e Informática (DESI).
Por: Omar X. Avelar
PRUEBAS
testimage04.tif
0111
0111
Ya que nos encontramos usando el mismo algoritmo para codificar cada bit donde tenemos un error máximo de 4.4 % , por
lo que al expenderlo y seccionarlo en una codificación de 4 Bits
la probabilidad de tener un código erróneo aumenta a
17.6 % . Esto indica que la tasa de error por cada 10 imágenes es de alrededor de entre 1 y 2.
testimage05.tif
0010
0010
testimage06.tif
0111
0111
testimage07.tif
0110
0110
testimage08.tif
0011
0x11
testimage09.tif
0011
0011
testimage10.tif
1101
1x01
testimage11.tif
0111
0111
testimage12.tif
0110
011x
testimage13.tif
0000
0000
testimage14.tif
1101
1101
testimage15.tif
1000
1000
testimage16.tif
0110
0110
testimage17.tif
0100
0100
testimage18.tif
0110
0110
testimage19.tif
1010
1010
testimage20.tif
0010
0010
A continuación ponemos nuestro sistema a prueba para obtener
los siguientes resultados:
Image
In
Out
testimage01.tif
0110
0110
testimage02.tif
0100
0100
testimage03.tif
1110
1110
testimage04.tif
1001
1001
testimage05.tif
0011
x011
testimage06.tif
1011
1011
testimage07.tif
0110
0110
testimage08.tif
0111
0111
testimage09.tif
0011
0011
testimage10.tif
1001
1001
testimage11.tif
0101
0101
testimage12.tif
1011
1011
testimage13.tif
1101
11xx
testimage14.tif
0000
0000
testimage15.tif
0011
0011
testimage16.tif
0110
011x
testimage17.tif
0101
0101
testimage18.tif
1101
1101
testimage19.tif
0000
0000
testimage20.tif
1110
1110
testimage01.tif
0011
001x
testimage02.tif
0001
0001
testimage03.tif
1000
1000
Explicación:
0
1
x
→ 0
→ 1
→ Bit erróneo
De esta tabla experimental podemos sacar lo siguiente:
Numero de muestras
40
Enumero de errores
7
Lo que nos da como resultado un porcentaje de errores de
17.5 % contra el máximo precedido de 17.6 % .
Tema: Procesamiento Digital de Señales – Pag. 13 of 15
Guadalajara, México // lun 20 de abril de 2009.
ITESO
Marca de agua Digital en Imágenes
Instituto Tecnológico y de Estudios Superiores de Occidente (ITESO),
Periférico Sur Manuel Gómez Morín 8585, Tlaquepaque, Jalisco, México, C.P. 45090.
Departamento de Electrónica, Sistemas e Informática (DESI).
A continuación se presentara unas imágenes con marca de agua
de 4 Bits en comparación con la original para ver que tan perceptible es.
Por: Omar X. Avelar
Para determinar que tan perceptible era la marca de agua, se le
pregunto a 9 individuos* de diferentes edades y sexo si podrían
notar diferencias entre las 6 imágenes presentadas en el reporte
y los resultados fueron los siguientes:
Las veo iguales
Si veo diferencia
1 Bit
24 imágenes
3 imágenes
4 Bit
23 imágenes
4 imágenes
*Cada individuo analizo 6 pares de imágenes sabiendo que debería de
buscar diferencias entre ellas.
Tema: Procesamiento Digital de Señales – Pag. 14 of 15
Guadalajara, México // lun 20 de abril de 2009.
ITESO
Instituto Tecnológico y de Estudios Superiores de Occidente (ITESO),
Periférico Sur Manuel Gómez Morín 8585, Tlaquepaque, Jalisco, México, C.P. 45090.
Departamento de Electrónica, Sistemas e Informática (DESI).
Marca de agua Digital en Imágenes
Por: Omar X. Avelar
CONCLUSIONES
Una gran limitación del algoritmo implementado aquí es que por
cada bits que se le quiera agregar basado en este algoritmo presenta un incremento directo en la tasa de error de 4.4 % en
el peor de los casos. Esto vuelve el algoritmo bastante limitado y
se deben buscar otras alternativas como seria trabajar en la frecuencia con la DCT.
Otra limitación que me encontré en el algoritmo es al trabajar
con imágenes con un gran numero de píxeles en blanco o negro
ya que al trabajar cerca de los niveles de saturación de la imagen y sumarle o restarle algo puede ser un poco mas perceptible.
Tema: Procesamiento Digital de Señales – Pag. 15 of 15
Guadalajara, México // lun 20 de abril de 2009.
Descargar