19
Marcas de agua con FHT Marcas de agua con FHT Fernando Pomares Reyes Miguel J. Vázquez Rebollo

Marcas de agua con FHT Fernando Pomares Reyes Miguel J. Vázquez Rebollo

Embed Size (px)

Citation preview

Page 1: Marcas de agua con FHT Fernando Pomares Reyes Miguel J. Vázquez Rebollo

Marcas de agua con FHTMarcas de agua con FHT

Fernando Pomares Reyes

Miguel J. Vázquez Rebollo

Page 2: Marcas de agua con FHT Fernando Pomares Reyes Miguel J. Vázquez Rebollo

Marcas de agua con FHTMarcas de agua con FHT

1. Introducción2. Objetivo3. Marcas de agua4. La transformada rápida de Hadamard5. Inserción de la marca de agua6. Extracción de la marca de agua7. Programa8. Conclusiones9. Referencias

Page 3: Marcas de agua con FHT Fernando Pomares Reyes Miguel J. Vázquez Rebollo

1. Introducción1. Introducción

Se describirá un algoritmo de inserción/extracción de marcas de agua en imágenes para la detección de posibles manipulaciones en la imagen original.

Para la inserción y extracción de la marca de agua en el algoritmo se usará la transformada rápida de Hadamard (FHT).

El uso de la FHT hace que el procesado de la imagen sea más rápido que con el uso de otras transformadas, pero menos robusto ante algunos ataques.

Page 4: Marcas de agua con FHT Fernando Pomares Reyes Miguel J. Vázquez Rebollo

2. Objetivo2. Objetivo

El objetivo principal es detectar que la imagen que llega es la que realmente se envió o ha sido manipulada en el camino.

Manda la imagen con la marca de agua insertada

Modifica la imagen

Recibe la imagen y extrae la marca de agua para comprobar si se ha modificado

Page 5: Marcas de agua con FHT Fernando Pomares Reyes Miguel J. Vázquez Rebollo

3. Marcas de agua3. Marcas de agua

Una marca de agua puede definirse como una imagen digital que puede introducirse en la imagen original y posteriormente ser utilizada para probar quién es el propietario de la imagen, el comprador, el tipo de uso, si ha sido manipulada, etc.. en función de la aplicación.

La realización de este proceso sobre la imagen deberá ser imperceptible para el usuario, no afectando por tanto a su calidad.

Page 6: Marcas de agua con FHT Fernando Pomares Reyes Miguel J. Vázquez Rebollo

3. Marcas de agua3. Marcas de agua

Los principales tipos de marcas de agua son:

Marcas visibles para protección de derechos de autor. Marcas invisibles para detectar alteraciones en las

imágenes. Marcas invisibles para detectar la apropiación indebida de

imágenes. Marcas invisibles como prueba de propiedad.

Page 7: Marcas de agua con FHT Fernando Pomares Reyes Miguel J. Vázquez Rebollo

4. La transformada rápida de 4. La transformada rápida de HadamardHadamard

Siendo [U] la imagen original y [V] la imagen transformada, la transformada de Hadamard bidimensional viene dada por la siguiente fórmula:

N

HUHV nn

donde Hn representa la matriz de Hadamard de orden NxN con N=2n , n = 1, 2, 3... cuyos elementos tienen valores +1 o –1.

Page 8: Marcas de agua con FHT Fernando Pomares Reyes Miguel J. Vázquez Rebollo

4. La transformada rápida de 4. La transformada rápida de HadamardHadamard

La transformada inversa de Hadamard bidimensional viene dada por:

N

HVHU nn

donde Hn representa la matriz de Hadamard de orden NxN

Page 9: Marcas de agua con FHT Fernando Pomares Reyes Miguel J. Vázquez Rebollo

4. La transformada rápida de 4. La transformada rápida de HadamardHadamard

En el algoritmo que se usará para la inserción de la marca de agua se aplicará la transformada a sub-bloques 8x8 de la imagen entera, por lo que se usará la matriz de Hadamard de orden 8x8, que viene dada por:

1111

1111

1111

1111

1111

1111

1111

11111111

1111

1111

1111

1111

1111

1111

1111

3H

Page 10: Marcas de agua con FHT Fernando Pomares Reyes Miguel J. Vázquez Rebollo

5. Inserción de la marca de 5. Inserción de la marca de aguaagua

Imagen original

Marca de agua

Cálculo de FHT

Cálculo de FHT

Matriz de coficientes FHT

Matriz de coficientes FHT

Inserción de las AC de la marca de agua en las AC de la imagen

Cálculo de iFHT

Imagen original

con marca de agua

Page 11: Marcas de agua con FHT Fernando Pomares Reyes Miguel J. Vázquez Rebollo

5. Inserción de la marca de 5. Inserción de la marca de aguaagua

1. Aplicar FHT a la marca de agua w(x,y) obteniéndose una matriz de coeficientes FHT del mismo tamaño.

2. Se almacenan las componentes DC (alta frecuencia), y las AC (baja frecuencia) serán las que se usen para insertar la marca.

3. La imagen original, f(x,y), se descompone en sub-bloques hxh, denotados por fk(x’,y’), k=0, 1, ..., K-1,

donde K indica el número de sub-bloques.

Page 12: Marcas de agua con FHT Fernando Pomares Reyes Miguel J. Vázquez Rebollo

5. Inserción de la marca de 5. Inserción de la marca de aguaagua

4. Se aplica FHT a los sub-bloques, obteniéndose una matriz hxh de coeficientes de Hadamard. Usando la matriz H anterior, los sub-bloques serán de tamaño 8x8.

5. Si denotamos por xi y xi* a las componentes AC de los coeficientes FHT de los sub-bloques de la imagen original antes y después de insertar la marca de agua y por mi a los coeficientes FHT de la marca de agua la fórmula de la inserción será:

xi*=mi i(0,n] donde n es el número de coeficientes de la marca de

agua a sustituir y vale 0.8.

Page 13: Marcas de agua con FHT Fernando Pomares Reyes Miguel J. Vázquez Rebollo

5. Inserción de la marca de 5. Inserción de la marca de aguaagua

6. Tras la inserción anterior, se obtiene para cada sub-bloque una nueva matriz de coeficientes FHT, a la que se aplica la transformada inversa de Hadamard, obteniéndose después de esto la imagen con la marca de agua insertada, f’(x,y).

7. La imagen con la marca de agua insertada, f’(x,y), no tiene diferencias visuales apreciables con la anterior, ya que la inserción se produce en componentes de bajo valor visual.

Page 14: Marcas de agua con FHT Fernando Pomares Reyes Miguel J. Vázquez Rebollo

6. Extracción de la marca de 6. Extracción de la marca de aguaagua

Imagen original con marca de agua

Marca de agua

Cálculo de FHT

Cálculo de FHT

Matriz de coficientes FHT

Matriz de coficientes FHT

Extracción de las AC de la marca de agua en las AC de la imagen

Cálculo de iFHT

Marca de agua original

Page 15: Marcas de agua con FHT Fernando Pomares Reyes Miguel J. Vázquez Rebollo

6. Extracción de la marca de 6. Extracción de la marca de aguaagua

1. Una vez recibida la imagen con la marca de agua insertada, f’’(x,y), se aplica FHT a todos los sub-bloques, fk(x’,y’), obteniéndose una matriz de coeficientes de Hadamard para cada sub-bloque del mismo tamaño que éste.

2. Si denotamos las componentes de baja frecuencia por xi*’, y por mi’ los coeficientes FHT de la marca extraídos, la fórmula de la extracción es:

mi’=xi*’/ i(0,n] donde n es el número de coeficientes de la marca de agua a sustituir y vale 0.8

Page 16: Marcas de agua con FHT Fernando Pomares Reyes Miguel J. Vázquez Rebollo

6. Extracción de la marca de 6. Extracción de la marca de aguaagua

3. Las componentes AC de la marca de agua extraída junto con las componentes DC almacenadas se reordenan para formar una matriz de coeficientes FHT de la marca de agua, del mismo tamaño que ésta.

4. Se aplica la transformada inversa de Hadamard a la matriz anterior, obteniéndose la marca de agua.

5. Se analiza la marca de agua extraída para comprobar si la imagen recibida ha sufrido modificaciones.

Page 17: Marcas de agua con FHT Fernando Pomares Reyes Miguel J. Vázquez Rebollo

7. Programa7. Programa

Page 18: Marcas de agua con FHT Fernando Pomares Reyes Miguel J. Vázquez Rebollo

8. Conclusiones8. Conclusiones

La utilidad del método presentado reside en que nos proporciona la capacidad de averiguar si una imagen recibida ha sido manipulada después de haber sido enviada con solo aplicar el algoritmo de extracción a la imagen recibida.

Además se trata de un método más rápido que otras transformadas tradicionales y menos complejo de implementar.

Page 19: Marcas de agua con FHT Fernando Pomares Reyes Miguel J. Vázquez Rebollo

9. Referencias9. Referencias

Digital image-in-image watermarking for copyright protection of satellite images using the fast Hadamard transform (Anthony T.S. Ho, Jun Shen, Soon Hie Tan, Alex C. Kot)

Manual de C++ Builder

 Diferentes páginas webs indicadas en el documento