Esquema de Marcas de Agua para Imágenes Médicas

Esquema de Marcas de Agua para Imágenes Médicas Por Raúl Rodríguez Colín Tesis sometida como requisito parcial para obtener el grado de MAESTRO EN CIENCIA EN LA ESPECIALIDAD DE CIENCIAS COMPUTACIONALES en el Instituto Nacional de Astrofísica, Óptica y Electrónica. INAOE Supervisada por: Dra. Claudia Feregrino Uribe INAOE Tonantzintla, Puebla. MEXICO Noviembre, 2006 i Resumen En este trabajo… i ii Índice General CAPÍTULO 1 1 Introducción ............................................................................................................. 1 1.1 Motivación ...................................................................................................... 4 1.2 Objetivo general .............................................................................................. 4 1.3 Objetivos específicos ...................................................................................... 5 1.4 Estructura de la tesis........................................................................................ 5 CAPÍTULO 2 2 Marco Teórico.......................................................................................................... 7 2.1 Compresión de datos ....................................................................................... 7 2.1.1 Compresores estadísticos .................................................................. 10 2.1.2 Algoritmo de Huffman...................................................................... 11 2.2 Criptografía ................................................................................................... 16 2.2.1 Cifradores de bloque ......................................................................... 18 2.2.2 Cifradores de flujo ............................................................................ 19 2.2.3 Aplicaciones de la criptografía.......................................................... 20 2.3 Esteganografía............................................................................................... 21 2.3.1 Métodos esteganográficos................................................................. 21 2.3.2 Ataques a la esteganografía............................................................... 23 Conclusiones ......................................................................................................... 24 CAPÍTULO 3 3 Marcas de agua....................................................................................................... 27 3.1 Clasificación.................................................................................................. 28 3.2 Aplicaciones.................................................................................................. 32 3.3 Requerimientos ............................................................................................. 34 3.4 Esquema de un sistema de marcas de agua................................................... 35 3.4.1 Inserción de la marca ........................................................................ 35 3.4.2 Detección / extracción de la marca ................................................... 36 3.5 Ataques.......................................................................................................... 37 3.6 Técnicas de marcas de agua .......................................................................... 39 3.6.1 En el dominio del espacio ................................................................. 39 3.6.2 En el dominio de transformada ......................................................... 41 3.7 Marcas de agua en imágenes médicas............................................................. 42 Conclusiones ......................................................................................................... 45 iii CAPÍTULO 4 4 Esquema de marcas de agua para imágenes médicas .............................................47 4.1 Esquema general............................................................................................47 4.2 Algoritmo propuesto......................................................................................48 4.2.1 Generación de la marca de agua ........................................................49 4.2.2 Invariantes geométricos......................................................................49 4.2.3 Selección de regiones no homogéneas ..............................................52 4.2.4 Inserción / extracción de la información ...........................................53 Conclusiones..........................................................................................................56 CAPÍTULO 5 5 Experimentación y análisis de los resultados .........................................................57 5.1 Banco de pruebas...........................................................................................57 5.2 Evaluación de resultados ...............................................................................59 5.3 Experimentos .................................................................................................60 5.4 Resultados......................................................................................................67 5.5 Discusión de resultados .................................................................................74 CAPÍTULO 6 6 Conclusiones y trabajo futuro.................................................................................77 6.1 Conclusiones..................................................................................................77 6.2 Trabajo futuro ................................................................................................78 APÉNDICES A Implementación en Matlab ....................................................................................79 BIBLIOGRAFÍA .......................................................................................................89 iv Índice de figuras y tablas CAPÍTULO 2 Figura 2.1 Construcción de un árbol de Huffman .......................................................... 15 Figura 2.2 Sistema criptográfico ............................................................................... 18 Figura 2.3 Sistema esteganográfico .......................................................................... 21 Tabla 2.1 Probabilidades de los símbolos de un mensaje ......................................... 13 Tabla 2.2 Códigos Huffman de los símbolos de un mensaje .................................... 15 CAPÍTULO 3 Figura 3.1 Clasificación de las marcas de agua. ....................................................... 28 Figura 3.2 Compromiso establecido en las técnicas de marcas de agua................... 35 Figura 3.3 Proceso de inserción ................................................................................ 36 Figura 3.4 Proceso de detección/extracción.............................................................. 37 Figura 3.5 Planos que conforman la imagen............................................................. 40 Figura 3.6 Ocultando información en los bits menos significativos......................... 40 Figura 3.7 Marca insertada en planos diferentes de una imagen .............................. 40 Figura 3.8 Proceso de inserción basado en transformada ......................................... 41 Figura 3.9 Proceso de extracción/detección basado en transformada....................... 41 Figura 3.10 Esquema de inserción de marca de agua aditiva ................................... 42 Figura 3.11 Componentes de seguridad de la información médica .......................... 43 Tabla 3.1 Técnicas de marca de agua según su dominio .......................................... 39 CAPÍTULO 4 Figura 4.1 Figura 4.2 Figura 4.3 Figura 4.4 Figura 4.5 Figura 4.6 Esquema general del algoritmo propuesto............................................... 47 Generación de la marca de agua .............................................................. 49 Recorrido en espiral realizado en la imagen............................................ 52 Modificación de pixeles en el proceso de inserción ................................ 53 Corrección de distorsión geométrica (rotación) ...................................... 54 Corrección de distorsión geométrica (reflexión) ..................................... 55 CAPÍTULO 5 Figura 5.1 Figura 5.2 Figura 5.3 Figura 5.4 Figura 5.5 Figura 5.6 Imágenes obtenidas en “Prueba 1” .......................................................... 61 Imágenes obtenidas en “Prueba 2” .......................................................... 63 Imágenes obtenidas en “Prueba 3” .......................................................... 65 Degradación producida en una imagen.................................................... 67 Capacidad máxima en imagen “Brain”.................................................... 68 Capacidad máxima en imagen “Chest” ................................................... 68 v Figura 5.7 Capacidad máxima en imagen “Shoulder” ..............................................69 Figura 5.8 Capacidad máxima en imagen “Knee” ....................................................69 Figura 5.9 Degradación contra Capacidad en imagen “Brain” .................................70 Figura 5.10 Degradación contra Capacidad en imagen “Chest” ...............................71 Figura 5.11 Degradación contra Capacidad en imagen “Shoulder”..........................71 Figura 5.12 Degradación contra Capacidad en imagen “Knee”................................72 Tabla 5.1 Imágenes utilizadas en los experimentos ..................................................58 Tabla 5.2 Características de las imágenes utilizadas.................................................58 Tabla 5.3 Información utilizada como marca de agua...............................................59 Tabla 5.4 Parámetros y resultados del algoritmo en “Prueba 1” ...............................60 Tabla 5.5 Ejecución en Matlab de “Prueba 1”...........................................................62 Tabla 5.6 Parámetros y resultados del algoritmo en “Prueba 2” ...............................62 Tabla 5.7 Ejecución en Matlab de “Prueba 2”...........................................................64 Tabla 5.8 Parámetros y resultados del algoritmo en “Prueba 3” ...............................64 Tabla 5.9 Ejecución en Matlab de “Prueba 3”...........................................................67 Tabla 5.10 Degradación y Robustez de la marca en “Brain” 1 .................................72 Tabla 5.11 Degradación y Robustez de la marca en “Brain” 2 .................................73 Tabla 5.12 Degradación y Robustez de la marca en “Chest” 1.................................73 Tabla 5.13 Degradación y Robustez de la marca en “Chest” 2.................................73 Tabla 5.14 Degradación y Robustez de la marca en “Knee” 1..................................73 Tabla 5.15 Degradación y Robustez de la marca en “Knee” 2..................................74 Tabla 5.16 Degradación y Robustez de la marca en “Shoulder” 1............................74 Tabla 5.17 Degradación y Robustez de la marca en “Shoulder” 2............................74 APÉNDICE A Figura A.1 Programa principal.....................................................................................80 Figura A.2 Función que genera la marca a partir de un archivo ...............................81 Figura A.3 Función que recorre la imagen ................................................................84 Figura A.4 Función para insertar la información ......................................................85 Figura A.5 Función para recuperar la información ...................................................85 Figura A.6 Calcula la homogeneidad y luminancia de una imagen ..........................86 Figura A.7 Calcula el angulo de una imagen.............................................................86 Figura A.8 Código utilizado para corregir reflexiones en una imagen .....................87 Figura A.9 Función que elimina la rotación en una imagen......................................87 Figura A.10 Función que elimina una reflexión en una imagen ...............................88 Figura A.11 Métricas para evaluación de resultados.................................................88 vi Capítulo 1 Introducción Los avances en el conocimiento médico y la técnica, han hecho posible el diagnóstico de numerosas enfermedades del hombre. El uso de los Rayos X y la radiología ha sido un factor importante para el desarrollo de la medicina en el siglo XXI. En años recientes la propagación de la tecnología digital en el campo médico se ha acelerado. En este campo, y en especial el área de radiología se ha ampliado con el uso de otras técnicas: ultrasonido, medicina nuclear, tomografía computarizada, resonancia magnética, radiología digital y técnicas de intervención que incrementan cada vez más la capacidad de los radiólogos para diagnosticar y curar enfermedades. Esta tecnología digital consiste en dispositivos de adquisición de imágenes, unidades de almacenamiento, estaciones de visualización y bases de datos. Muchos de los sistemas de exploración empleados para el diagnóstico médico se basan en el estudio de imágenes, dichos sistemas obtienen una imagen en un soporte físico (placas radiográficas, papel) que puede ser reproducido y archivado. Una de las ventajas que ofrece la utilización de tecnología digital es la manipulación de imágenes digitales para un mejor diagnóstico y la reducción del número de exposiciones de los pacientes a la radiación. Esto permite incrementar la velocidad de operación del área de radiología y reducir los costos de operación. 1 Las necesidades de almacenamiento y manipulación de imágenes médicas surge a partir de los años 70’s como consecuencia del desarrollo de la tomografía computarizada como medio de diagnostico basado en imágenes digitales. Desde entonces, se han desarrollado diferentes técnicas en la obtención de imágenes. Estas técnicas han contribuido a la generación de diferentes tipos de imágenes médicas digitales para diagnostico, junto con el consecuente incremento en la producción de las mismas. La radiología convencional y los sistemas de radiología computada (que utilizan placas de fósforo), ocupan entre el 70 y el 80%, e incluso, llegando en algunos servicios de radiología a alcanzar el 85% del volumen total de exploraciones radiográficas. La gran cantidad de imágenes producidas para diagnóstico, han hecho complicado el manejo de las imágenes principalmente en la impresión y almacenamiento posterior, produciendo una gran demanda de medios de almacenamiento mas apropiados (no impresiones en papel o en placas radiográficas) y, a su vez, métodos de transferencia entre dispositivos manufacturados por diferentes compañías. Para el caso de las imágenes médicas, además de los atributos de la imagen y de la imagen misma, normal o comprimida, se agregan datos demográficos y de identificación del paciente, información acerca de las condiciones de adquisición y, en algunos casos, información del examen, serie a la que pertenece la imagen y orden que guarda en un estudio. Por lo tanto, es necesario contar con sistemas de información que ofrezcan una alternativa en el manejo de imágenes médicas a gran escala, facilitando todas las actividades relacionadas con las mismas en beneficio de los pacientes de un hospital. Los sistemas PACS (Picture Archiving and Communication Systems) ofrecen una alternativa para el manejo de imágenes digitales de forma eficiente, además de ofrecer ventajas sobre el manejo manual de imágenes. 2 • Se obtiene la facilidad de transmitir una imagen a un lugar remoto vía una red de telecomunicación. • Se puede incorporar la información de diagnóstico a las imágenes. • Se tiene la posibilidad de consultar bancos de imágenes con patologías similares con la finalidad de apoyar la capacitación y la enseñanza de los radiólogos en formación. Los sistemas PACS están integrados por un conjunto de dispositivos, cuya responsabilidad es la de ofrecer todos los elementos operacionales en el área de radiología y áreas dependientes, entre estas demandas se incluye la Adquisición de imágenes; muchas de las modalidades de radiología son digitales (tomografía computarizada, resonancia magnética, medicina nuclear, entre otras). Sin embargo existen modalidades cuya información es analógica requiere de digitalizadores (radiología convencional y ultrasonido). En un principio, para el caso de las imágenes médicas digitales, cada fabricante de equipos generadores de imágenes médicas tenía su propia especificación para el manejo de información. Esto provocó el surgimiento de problemas al tratar de integrar los distintos formatos de imágenes digitales particulares de cada fabricante. Por estas razones surgió la necesidad de estandarizar el proceso de manipulación de imágenes médicas digitales. Este trabajo fue iniciado en 1983 por un comité formado por el Colegio Americano de Radiología (ACR) y la Asociación Nacional de Manufactura Eléctrica (NEMA), así surgió el estándar DICOM (Digital Imaging and Communication in Medicine) que es utilizado mundialmente para el intercambio de imágenes médicas, así como manejo, almacenamiento, impresión y transmisión de imágenes médicas. 3 DICOM permite la integración de escáners, servidores, estaciones de trabajo, impresoras y hardware de red de múltiples proveedores dentro de un sistema de almacenamiento y comunicación de imágenes. El estándar describe el formato de archivos y la especificación de los datos primordiales de un paciente en la imagen así como el encabezado requeridos, describiendo un lenguaje común a distintos sistemas médicos. De esta forma las imágenes vienen acompañadas de mediciones, cálculos e información descriptiva relevante para diagnósticos. 1.1 Motivación Dentro del ámbito médico se ha enfatizado la importancia de la seguridad en el manejo de la información médica (nombre del paciente, edad, sexo, estudio realizado, diagnóstico, etc.), ya que es habitual que el médico utilice como material didáctico imágenes y expedientes clínicos de sus pacientes. En este caso también se debe contar con el consentimiento del paciente ya que existe la posibilidad de que el paciente dé al médico sus datos para que éste los utilice únicamente para fines médicos y no para emplearlos con fines de investigación o para la docencia. 1.2 Objetivo General • Diseñar e implementar un algoritmo que combine técnicas de marcas de agua utilizadas en algoritmos robustos con técnicas esteganográficas de algoritmos de alta capacidad para ocultar información, referente al paciente y al estudio radiológico. 4 1.3 Objetivos Específicos • Ocultar información en imágenes radiológicas en escala de grises sin sacrificar en gran medida la calidad de la imagen, es decir, la degradación producida en la imagen marcada sea mínima. • Desarrollar un algoritmo que supere la capacidad de ocultamiento de información en imágenes médicas digitales de los algoritmos robustos actuales. 1.4 Estructura de la tesis En el capítulo 2 se mencionan los fundamentos necesarios para el desarrollo del presente trabajo. Entre estos fundamentos se mencionan algunos relacionados con la protección de información tales como criptografía y la esteganografía, así como la compresión de datos, la cual nos permite ocultar más información en imágenes médicas. En el capítulo 3 se describen a detalle las características de técnica de marcas de agua: clasificación, aplicaciones, requerimientos, esquema general de un sistema de marcas de agua (inserción, detección y extracción de la información oculta), ataques, etc. Al final del capítulo se hace una recopilación de manera breve de los diferentes algoritmos existentes. En el capítulo 4 se describe el esquema del algoritmo de marcas de agua propuesto. En este capítulo se hace uso de técnicas de compresión de datos para incrementar la cantidad de información que se puede ocultar en las imágenes médicas, así como técnicas criptográficas para incrementar la seguridad en los datos que se ocultan en 5 dichas imágenes, finalmente, la utilización de las marcas de agua, para ocultar la presencia de la información en las imágenes médicas. En el capítulo 5 se muestran los resultados obtenidos, la implementación del algoritmo propuesto, así como la descripción del conjunto de imágenes utilizadas en las pruebas, al final se discuten los resultados obtenidos. Finalmente, en el capítulo 6 se mencionan las conclusiones a las que se llegaron durante el desarrollo de este trabajo así como el trabajo futuro. 6 Capítulo 2 Marco Teórico Para el desarrollo de este trabajo se requiere conocer las diferentes técnicas que existen para la protección de información, es decir, la manera en que la información es procesada para establecer medidas de seguridad contra personas que no están autorizadas para conocer dicha información. En este capítulo se presentan los fundamentos teóricos para realizar el desarrollo de un algoritmo de marcas de agua aplicado a imágenes médicas radiológicas. 2.1 Compresión de datos En los últimos años, el aumento en la capacidad de almacenamiento de información como en la velocidad de procesamiento en la computadoras y el aumento de velocidad en dispositivos de almacenamiento ponen en cuestionamiento la necesidad de utilizar la compresión de datos, en este trabajo se utiliza la compresión de información para incrementar la capacidad de ocultamiento en las imágenes médicas. Una de las técnicas que ayudan a mejorar el funcionamiento de una red es la compresión de datos. La compresión de datos beneficia en el sentido que el proceso compresión-transmisión-descompresión es más rápido que el proceso de transmitir datos sin compresión. La compresión de datos es el proceso de codificar información usando menos bits o unidades de información utilizando esquemas de codificación 7 específicos. Los algoritmos de compresión buscan redundancia en los datos y la eliminan, por lo tanto, entre más sea la redundancia, es mayor la razón de compresión que se obtiene. La redundancia depende del tipo de datos (texto, imágenes, audio, etc.), por lo tanto, no existe un método de compresión universal que pueda ser óptimo para todos los tipos de datos [1]. La compresión de datos no sólo es para la transmisión de información, sino también para el almacenamiento. La compresión de datos ayuda a reducir el consumo de recursos, tales como espacio en disco duro o ancho de banda. El desempeño de un algoritmo de compresión se mide según la razón de compresión que alcanza (ecuación 2.1) y el factor de compresión (ecuación 2.2); siendo este último el inverso del primero. Rc = tamaño del archivo comprimido (bytes) tamaño del archivo original (bytes) (2.1) Fc = tamaño del archivo original (bytes) tamaño del archivo comprimido (bytes) (2.2) Los algoritmos de compresión se pueden clasificar tomando en cuenta los siguientes factores: • Por el tiempo necesario para comprimir/descomprimir. 1. Simétricos: En este tipo de compresores el proceso de descompresión consume una cantidad de tiempo igual al consumido en el proceso de compresión. Este tipo de compresores son muy utilizados en aplicaciones que requieren la transmisión de datos en tiempo real. Por ejemplo, aplicaciones de videoconferencias, voz sobre IP y aplicaciones de telemedicina. 8 2. Asimétricos: En este tipo de compresores el tiempo requerido para la compresión y descompresión difiere, generalmente el proceso de compresión tarda mucho tiempo en comparación con la descompresión. Estos compresores son utilizados generalmente para comprimir grandes volúmenes de datos, con la característica de que el proceso de compresión generalmente se realiza solo una vez, mientras que la descompresión se lleva a cabo muchas veces. • Según el modelo utilizado, se clasifican en: 1. No adaptativo: En este tipo de compresores, el proceso de compresión es constante. Estos tipos de compresores son rápidos, pues no es necesario un reconocimiento previo de los datos a comprimir. La implementación del algoritmo de compresión es muy sencillo pero la razón de compresión generalmente es muy baja [1]. 2. Semi-adaptativo: Estos compresores definen el modelo basado en una exploración previa del total de datos a comprimir y después se aplica dicho modelo de forma invariable en el proceso de compresión. Para el funcionamiento de estos compresores se requiere que los datos a comprimir estén almacenados o que su transmisión se lleve a cabo dos veces (en la primera transmisión se establece el modelo y en la siguiente se aplica dicho modelo para realizar la codificación). 3. Adaptativo: Este tipo de compresores se caracteriza por la actualización dinámica del modelo. Es decir, conforme se realiza la compresión, el modelo aplicado varia dependiendo del comportamiento de los datos de entrada. 9 La compresión de datos se puede dividir en dos tipos principales: compresión con pérdida (lossy compression) y compresión sin pérdida (lossless compression). En la compresión sin pérdida, es posible reconstruir exactamente los datos originales a partir del archivo comprimido. Por otro lado, en la compresión con pérdida, la descompresión produce una aproximación a los datos originales. La compresión de datos sin pérdida es comúnmente utilizada en aplicaciones como la compresión de texto, donde la pérdida de un solo bit de información afecta el resultado obtenido en la descompresión. La compresión con pérdida a menudo es utilizada en aplicaciones de compresión de imágenes y audio. No es el caso en aplicaciones de compresión de imágenes médicas [2]. Los métodos de compresión con pérdida obtienen mejores razones de compresión que las técnicas sin pérdida. 2.1.1 Compresores Estadísticos Los métodos de compresión estadísticos usan las propiedades estadísticas de los datos que van a comprimirse para asignar códigos de longitud variable a los símbolos individuales en los datos. Existen varios métodos estadísticos, la principal diferencia entre ellos es la forma en la que cada uno obtiene las probabilidades de los símbolos [3]. Los métodos estadísticos emplean un modelo para obtener las probabilidades de los símbolos, la calidad de la compresión que se logra depende de qué tan bueno sea ese modelo. Para obtener buena compresión, la estimación de la probabilidad se basa en el contexto en el que ocurren los símbolos. Dadas las probabilidades de los símbolos, la codificación se encarga de convertir dichas probabilidades en una cadena de bits para obtener los datos en forma comprimida. Los métodos estadísticos comúnmente usados son Codificación Huffman, Codificación Aritmética y PPM. 10 En estos compresores, se pueden utilizar las siguientes variantes del modelo estadístico: 1. No adaptativo: En este tipo de compresores, las probabilidades de los símbolos son constantes. Son rápidos, pues solo se realiza una sola pasada sobre los datos, pero la razón de compresión es muy baja. El algoritmo de compresión es muy sencillo. 2. Semi-adaptativo: Los compresores semi-adaptativos realizan dos pasadas sobre la secuencia de símbolos a codificar. En la primera pasada se calculan las probabilidades asociadas y el la segunda se realiza la codificación. 3. Adaptativo: Las probabilidades instantáneas de los símbolos varían conforme se produce la compresión. Se realiza un único recorrido de los símbolos codificados. Así, la longitud de los códigos que son asignados a los símbolos, aumenta o disminuye según la frecuencia de aparición de estos en el tiempo. A continuación se describirá el algoritmo de Huffman, este algoritmo estadístico no adaptativo, el cual es utilizado en este trabajo para realizar la compresión de la información, ya que ofrece una razón de compresión de 2:1. 2.1.2 Algoritmo de Huffman La codificación de Huffman fue descrita por primera vez por David A. Huffman en 1952 en un artículo llamado “A Method fo the Construction of Minimun Redundancy Codes”. Debido a su facilidad de cómputo, es ampliamente utilizado en programas de compresión, facsímiles y en esquemas de compresión de imágenes como JPEG. El compresor de Huffman presenta las siguientes características: 11 1. Utiliza códigos de longitud variable, asignando a los símbolos más frecuentes un código de compresión de menor longitud a costa de asignar códigos de mayor longitud a los menos frecuentes. 2. El número de bits por código de compresión es un número entero. Esto provoca que si la entropía de un símbolo es 2.5 bits, el código de Huffman asignará un código con una longitud de 2 ó 3 bits, pero no 2.5 bits. Debido a esto, la codificación de Huffman no puede ser considerada como un método de codificación óptimo, pero si es la mejor aproximación para construir códigos de compresión con un número entero de bits. 3. Aunque los códigos asociados a símbolos diferentes tienen diferente longitud, éstos pueden ser decodificados de forma única e instantánea. Esto debido a que en la codificación Huffman se usan códigos instantáneos Para construir un código de Huffman normalmente se utiliza un árbol binario que se construye a partir de las probabilidades de los símbolos que se desean codificar. El diseño de dicho árbol se realiza de la siguiente forma: 1. Crear tantos nodos (que serán las hojas del árbol) como símbolos se vayan a codificar. En cada nodo se almacena el símbolo codificado y su probabilidad. Estos nodos forman la lista de nodos sin procesar. 2. Extraer los dos nodos de la lista de nodos sin procesar que tengan la probabilidad menor. 3. Insertar en la lista un nodo que sea padre de los nodos seleccionados. Este nodo no tiene asociado ningún símbolo y su probabilidad será la suma de las probabilidades de los nodos hijos. 4. Repetir los pasos 2 y 3 hasta que únicamente se tenga un nodo en las lista de nodos sin procesar, nodo que debe tener una probabilidad igual a 1 y que se llama nodo raíz del árbol de Huffman. 12 Una vez construido el árbol, el código de compresión asociado a un símbolo se calcula recorriendo el árbol desde la raíz hasta el símbolo codificado. Ejemplo: Si las probabilidades de las letras en un mensaje son: Letra Probabilidad a 0.121 b 0.051 c 0.137 d 0.094 e 0.274 f 0.281 g 0.042 Tabla 2.1 Probabilidades de los símbolos de un mensaje Entonces la construcción del árbol de Huffman es: Paso 1: Paso 2: 13 Paso 3: Paso 4: Paso 5: Paso 6: 14 Paso 7: Figura 2.1 Construcción de un árbol de Huffman Finalmente, los códigos asignados a las letras son: Letra Código binario a 010 b 0000 c 011 d 001 e 10 f 11 g 0001 Tabla 2.2 Códigos Huffman de los símbolos de un mensaje Es importante observar que el código generado por el algoritmo para cada uno de los símbolos es único, es decir, no tendrá palabras código prefijos de otras palabras código. 15 2.2 Criptografía La palabra criptografía proviene del griego krypto que significa escondido y de la palabra graphein que significa escritura, por tanto, cuando se habla de criptografía, se refiere a esconder, ocultar o hacer ininteligible cierta información. El objetivo de la criptografía es proteger el contenido de los archivos durante su transmisión, modificando los datos originales de manera que sólo puedan ser recuperados por personas autorizadas. Una vez que los datos son recibidos y descifrados, la protección del contenido se pierde y éste queda expuesto a diversos ataques. Durante siglos, el principal uso de la criptografía se redujo principalmente a sus aplicaciones en la diplomacia, particularmente en tiempos de guerra. Los primeros sistemas criptográficos realizaban el ocultamiento de la información mediante técnicas de transposición y sustitución. Algunos ejemplos de estos sistemas son el Cifrado de César, la Escítala y la máquina Enigma [4]. Sin embargo, en años recientes se han dado grandes avances en las tecnologías para comunicación digital y móvil; tales como telefonía inalámbrica y celular, sistemas de comunicación personal, etc. La transmisión y almacenamiento seguro de la gran cantidad de información digital utilizada en estas aplicaciones tiene una importancia crucial, especialmente, en el caso del comercio electrónico y móvil. La criptografía es crucial en los sistemas de seguridad [5]. Los sistemas criptográficos (criptosistemas) son controlados por el uso de una llave, con la cual realizan la transformación de la información. Los criptosistemas realizan los tres objetivos de la seguridad de la información: confidencialidad, integridad y disponibilidad. La confidencialidad e integridad se dividen en 5 servicios: 16 • Confidencialidad: El acceso a la información es restringido a entidades autorizadas. • Autenticación de usuario: Las partes involucradas en una transacción segura son quienes dicen ser. • Autenticación de datos de origen: Se asegura el origen de los datos. • Integridad de los datos: Los datos no han sido modificados por entidades no autorizadas durante la transmisión. • No repudio: Quien ha realizado una transacción, no puede negar después que fue quien la realizó. Históricamente, los criptosistemas han proporcionado únicamente el servicio de confidencialidad [6]. La confidencialidad se logra a través del cifrado de los datos. El cifrado transforma datos legibles “texto en claro” (cleartext) en datos totalmente ininteligibles “texto cifrado” (ciphertext) mediante la aplicación de un algoritmo cuya entrada es una cadena de bits conocida como llave (Figura 2.1). El proceso inverso de convertir texto cifrado en texto en claro es llamado descifrado y se requiere nuevamente de una llave para realizarlo. Un criptosistema consiste de una 5-tupla (M, C, K, E, D), donde: • M representa el conjunto de todos los mensajes sin cifrar (texto en claro). • C representa el conjunto de todos los posibles mensajes cifrados. • K representa el conjunto de claves que se pueden emplear en el criptosistema. • E es el conjunto de transformaciones de cifrado o familia de funciones que se aplica a cada elemento de M para obtener un elemento de C. • D es el conjunto de transformaciones de descifrado, análogo a E. 17 Figura 2.2 Sistema criptográfico 2.2.1 Cifradores de bloque Los algoritmos de cifrado por bloques toman bloques de tamaño fijo del texto en claro (cleartext) y producen un bloque de tamaño fijo de texto cifrado (ciphertext), generalmente del mismo tamaño que la entrada. El tamaño del bloque debe ser lo suficientemente grande como para evitar ataques de texto cifrado. La asignación de bloques de entrada a bloques de salida debe ser uno a uno para hacer el proceso reversible y parecer aleatoria. Para la asignación de bloques los algoritmos de cifrado simétrico realizan sustituciones y permutaciones en el texto en claro hasta obtener el texto cifrado. • La sustitución es el reemplazo de un valor de entrada por otro de los posibles valores de salida, en general, si usamos un tamaño de bloque k, el bloque de entrada puede ser sustituido por cualquiera de los 2k bloques posibles. • La permutación es un tipo especial de sustitución en el que los bits de un bloque de entrada son reordenados para producir el bloque cifrado, de este modo se preservan las estadísticas del bloque de entrada (el número de unos y ceros). 18 Los algoritmos de cifrado por bloques iterativos funcionan aplicando en sucesivas rotaciones una transformación (función de rotación) a un bloque de texto en claro. La misma función es aplicada a los datos usando una subclave obtenida de la clave secreta proporcionada por el usuario. El número de rotaciones en un algoritmo de cifrado por bloques iterativo depende del nivel de seguridad deseado. 2.2.2 Cifradores de flujo Generalmente operan sobre 1 bit (o sobre bytes o palabras de 16 ó 32 bits) de los datos de entrada cada vez. El algoritmo genera una secuencia (secuencia cifrante o keystream en inglés) de bits que se emplea como clave. El cifrado se realiza combinando la secuencia cifrante con el texto en claro. El paradigma de este tipo de algoritmos es el One Time Pad, que funciona aplicando una XOR (ó-exclusiva) a cada bit de la entrada junto con otro generado de forma aleatoria para obtener cada bit de la salida. La secuencia de bits aleatorios es la clave de la sesión, secuencia de cifrado o el pad, que es del mismo tamaño que la entrada y la salida. Para recuperar el texto original, el texto cifrado debe pasar por el mismo proceso empleado para cifrar usando el mismo pad. Este algoritmo es conocido por ser el único incondicionalmente seguro, aunque, como las claves son del mismo tamaño que la entrada, es de poca utilidad práctica. Los algoritmos de este tipo son intentos de conseguir algoritmos prácticos que se aproximen al funcionamiento del one time pad. 19 2.2.3 Aplicaciones de la criptografía La criptografía es una disciplina con multitud de aplicaciones, muchas de las cuales están en uso hoy en día. Entre las más importantes destacamos las siguientes: • Seguridad de las comunicaciones. Es la principal aplicación de la criptografía a las redes de computadoras, ya que permiten establecer canales seguros sobre redes que no lo son. Además, con el poder de procesamiento actual y empleando algoritmos de cifrado simétrico (que se intercambian usando algoritmos de clave pública) se consigue la privacidad sin perder velocidad en la transferencia. • Identificación y autenticación. Gracias al uso de firmas digitales y otras técnicas criptográficas es posible identificar a un individuo o validar el acceso a un recurso en un entorno de red con más garantías que con los sistemas de usuario y clave tradicionales. • Certificación. La certificación es un esquema mediante el cual agentes fiables (como una entidad certificadora) validan la identidad de agentes desconocidos (como usuarios reales). El sistema de certificación es la extensión lógica del uso de la criptografía para identificar y autenticar cuando se emplea a gran escala. • Comercio electrónico. Gracias al empleo de canales seguros y a los mecanismos de identificación se posibilita el comercio electrónico, ya que tanto las empresas como los usuarios tienen garantías de que las operaciones no pueden ser espiadas, reduciéndose el riesgo de fraudes y robos. 20 2.3 Esteganografía Mientras que la criptografía se encarga de proteger el contenido de los mensajes, la esteganografía es una técnica que se encarga de ocultar y proteger tanto el mensaje como la existencia del mensaje. Esteganografía proviene de los vocablos griegos stegos que significa oculto y graphos que significa escritura, es decir esteganografía significa escritura oculta. Figura 2.3 Sistema esteganográfico 2.3.1 Métodos esteganográficos Métodos clásicos. La esteganografía da sus primeros pasos en la antigua Grecia. Se cuenta en “Las Historias de Herodoto” que Demeratus quería comunicar a la ciudad de Esparta que Xerxes tenía planes para invadir Grecia. Para evitar ser capturado por espionaje en los controles, escribió sus mensajes en tablas que luego fueron cubiertas con cera, de forma que parecían no haber sido usadas. Ésta es posiblemente una de las primeras manifestaciones en la historia de mensajes esteganográficos. Otro método usado durante siglos consistía en tatuar al mensajero (generalmente un esclavo) un mensaje en la cabeza afeitada para después dejarle crecer el pelo y enviar así el mensaje oculto. 21 Cifrado nulo (Null Cipher). El método de escritura de meta-información en un texto es usado desde hace siglos, y sigue siendo usado hoy en día. Esto es debido a que se trata posiblemente de uno de los métodos más sencillos de ocultar información. Consiste en escribir un texto aparentemente inofensivo donde, mediante algún mecanismo conocido por el legítimo receptor de la información (actualmente hablamos de algoritmos y claves), subyace la información realmente importante. Veamos un ejemplo de un mensaje real enviado por un espía alemán durante la Segunda Guerra Mundial: Apparently neutral's protest is thoroughly discounted and ignored. Isman hard hit. Blockade issue affects pretext for embargo on by products, ejecting suets and vegetable oils. Si de este inocente texto extraemos la segunda letra de cada palabra, obtendremos este otro mensaje: Pershing sails from NY June 1 Aquí vemos lo fácil que es esconder información en textos, así como comprendemos la necesidad de gran cantidad de información (ruido) para ocultar la auténtica información de forma que no llame la atención. Tinta invisible. Aunque el método de escritura con tinta invisible es usado desde la edad media, es en la Segunda Guerra Mundial cuando adquiere una importancia capital. Fue usado muy activamente por la resistencia en los campos de prisioneros nazis. Generalmente se usa de la siguiente forma: en primer lugar se escribe una carta completamente normal, y después se escribe, entre las líneas de esa carta, otro texto donde está la información importante. Era habitual el uso de vinagre, zumos de frutas 22 u orina, aunque hoy en día existen compuestos químicos específicos que sirven igualmente y no desprenden olores tan fuertes (que serían fácilmente detectados por un perro entrenado). Al calentar el papel, la escritura oculta se hace visible. Micropuntos. La tecnología de los micropuntos fue inventada por los alemanes durante la Segunda Guerra Mundial y fue usada de forma muy activa durante la época de la guerra fría. La técnica se basa en esconder puntos minúsculos en fotografías, tan pequeños que para el ojo humano e incluso para instrumentos ópticos básicos como lupas- resultan invisibles, pero que forman un patrón de información significativa. Debido a la naturaleza analógica de esta técnica, resultaba fácilmente detectable para los servicios de inteligencia, si bien advertir la presencia de mensajes esteganográficos no siempre significa que puedan ser legibles. Aún así, descubrir la presencia de un mensaje esteganográfico se considera un fracaso de la esteganografía que lo soporta, pues la imposibilidad de comprender su contenido conforma su capa de cifrado. 2.3.2 Ataques a la esteganografía. Los dos métodos más usados para detectar y atacar la esteganografía son: • Ataque visual Consiste en buscar de forma manual diferencias entre el medio original (imagen, audio, etc.) y el stego-medio, siempre y cuando dispongamos del archivo original. En caso de no disponer de él, se pueden buscar irregularidades en el stego-archivo para tratar de encontrar signos de la existencia de datos ocultos, pero difícilmente se puede obtener información útil más allá de la existencia de los mismos. Esta técnica es la más rudimentaria a la hora de realizar análisis esteganográfico y no tiene mucha utilidad real. 23 • Ataque estadístico El concepto de este tipo de ataques se basa en la comparación de la frecuencia de distribución de colores de un posible stego-medio con la frecuencia que se puede esperar en teoría de un stego-medio. Aunque los resultados son bastante buenos (ha demostrado en muchas ocasiones ser efectiva), esta técnica es extremadamente lenta. El ataque estadístico es muy complicado, por lo que se automatiza mediante diversos programas. Conclusiones En este capitulo se han presentado los fundamentos de la compresión y de la criptografía que serán utilizados en el desarrollo de este trabajo de investigación. Primeramente se hizo una descripción de los métodos de compresión estadísticos, de los cuales el algoritmo de Huffman fue elegido para este trabajo. Posteriormente se describieron los métodos de criptografía, de estos, se seleccionó un algoritmo de cifrado de flujo, ya que su implementación es sencilla y el costo computacional es mínimo. Se concluye que es factible la combinación de técnicas de compresión con técnicas de cifrado de datos, este proceso de combinación debe ser en el orden compresióncifrado, en este orden, se reduce la información que debe ser cifrada y por consiguiente el costo computacional se reduce. Si el proceso es invertido cifradocompresión, no se aprovechan las ventajas de ambos esquemas; debido a que el cifrado convierte los datos originales en datos ininteligibles, con esto, la redundancia que existía en los datos originales se pierde, impidiendo que el compresor obtenga una buena razón de compresión de los datos. 24 Finalmente, la esteganografía permite ocultar información en archivos multimedia, de manera que la existencia de esta información sea desapercibida, la utilización de la compresión, la criptografía y la esteganografía en un sólo esquema permiten: • Aumentar la cantidad de información a ocultar en archivos multimedia (audio, imagen, video) mediante la utilización de técnicas de compresión. • Incrementar la seguridad en la información comprimida mediante el uso de técnicas de cifrado, aunado a esto, la seguridad que ofrecen los esquemas esteganográficos en el proceso de transmisión o almacenamiento de datos. 25 26 Capítulo 3 Marcas de Agua El nombre de esta técnica (watermarking en inglés) proviene de las tradicionales técnicas utilizadas por algunas personas para certificar la autenticidad y el origen de documentos de papel a través de variaciones en la opacidad de los mismos. El caso más claro es el que se aprecia en los billetes de banco cuando se miran a contraluz. Las marcas de agua digitales es otra técnica de protección de información. El objetivo de esta técnica es ocultar o insertar cierta cantidad de información en un medio digital (imagen, audio o video), modificando este medio de manera mínima, y posteriormente extraer la información insertada del medio modificado para ciertos propósitos (autenticación, control de copias, verificación de la integridad de la información, derechos de autor, etc.). La información insertada es llamada “marca de agua” (watermark) y el medio donde se inserta es llamado “medio o señal de cobertura” (cover médium, host medium), mientras el medio modificado es llamado “medio marcado o stego-medio” (watermarked medium, stego-medium). Aunque la esteganografía y las marcas de agua son técnicas utilizadas para la comunicación encubierta, la esteganografía se encarga solo de cubrir la comunicación punto a punto entre dos partes [ref. 1a]. Los métodos esteganográficos no son robustos ante ataques o modificaciones en los datos que pudieran ocurrir durante la transmisión, almacenamiento o conversión de formato [ref. 2a]. 27 Las marcas de agua con respecto a la esteganografía tienen requerimientos adicionales de robustez contra posibles ataques. Un sistema esteganográfico ideal debe insertar una gran cantidad de información perfectamente segura, sin degradación visible en el medio de cobertura. Es por eso que en las marcas de agua existe un compromiso entre la capacidad y la seguridad para obtener mayor robustez [ref. 3a]. 3.1 Clasificación Las marcas de agua y las técnicas de marcas de agua pueden ser divididas en tres categorías (tipo de dominio, formato de la información y tipo de percepción humana); a su vez, cada categoría contiene subclasificaciones (ver Figura 3.1). Figura 3.1 Clasificación de las marcas de agua. 28 Las técnicas de marcas de agua pueden ser divididas en cuatro categorías acorde al tipo de información multimedia (texto, imagen, audio y video): MARCAS DE AGUA EN TEXTO 1. Alteración de los espacios en blanco: La alteración del espacio entre líneas, entre palabras, o la inclusión de espacios en blanco al final de una frase, son difícilmente detectables y permite construir códigos fácilmente. 2. Métodos sintácticos: Un posible sistema de marcado se basa en la alteración de los signos de puntuación en aquellos casos en los que no afecte al significado. La cantidad de bits que se puede ocultar con este método es muy baja. Entre las aplicaciones del ocultamiento de información en textos cabe resaltar que: • Permite a los editores de texto comprobar si un archivo ha sido modificado, además de insertar los datos del autor dentro del propio archivo. • Protección de documentos ante una difusión no autorizada del material. MARCAS DE AGUA EN IMÁGENES Entre los diferentes esquemas para ocultar información en imágenes se encuentran: 1. Modificación del bit menos significativo (LSB): Consiste en modificar el bit menos significativo de los píxeles para insertar la marca de agua. 2. Marcado en el dominio de frecuencia: Esta técnica consiste en modificar los coeficientes resultantes de aplicar una transformada a la imagen y posteriormente aplicar la transformada inversa para obtener la imagen marcada. 29 MARCAS DE AGUA EN AUDIO Entre los diferentes esquemas para ocultar información en audio se encuentran: 1. Modificación del bit menos significativo (LSB): consiste en modificar el bit menos significativo de cada una de las muestras de la señal. La desventaja de esta técnica es que introduce ruido perceptible en la señal. 2. Codificación de fase: El sistema auditivo humano es insensible a cambios absolutos en la fase de la señal. De esta forma se puede ocultar información en la fase dividiendo una señal de audio en segmentos (tramas) y sustituyendo la fase del segmento inicial por la información a ocultar. 3. Técnicas de espectro ensanchado: Se trata de un método similar al utilizado en sistemas de comunicaciones. Este método concentra el mensaje a transmitir en un ancho de banda lo más limitado posible, para obtener un uso eficiente del canal de comunicaciones. 4. Introducción de eco: Consiste en introducir eco en la señal que contendrá la información. Los datos a ocultar se codifican en la amplitud inicial. MARCAS DE AGUA EN VIDEO Similar a las técnicas en imágenes, con la diferencia de que el marcado se realiza en cada uno de los cuadros (frames) que componen el video. Acorde al tipo de percepción humana, las marcas de agua digitales pueden ser divididas en dos tipos: • Marca de agua visible: Es aquella la cual aparece visible ante los usuarios con una cuidadosa inspección, es decir, la marca de agua es visible a simple vista. Una marca de agua visible puede utilizarse para que los usuarios verifiquen rápidamente cuál es la fuente de los datos. • Marca de agua invisible: La inserción de una marca de agua implica la modificación del archivo donde es insertada, las marcas de agua invisibles logran 30 que estos cambios sean imperceptibles, esto es posible debido a que el sistema visual humano (SVH) no es un detector perfecto y esto es aprovechado para lograr que ciertas modificaciones pasen desapercibidas. • Marca de agua dual: La marca de agua dual es una combinación de marcas de agua visible e invisible. En este esquema de marca de agua, una marca invisible es utilizada como respaldo de la marca visible. Acorde a la resistencia de la marca a la manipulación (ataques1) del contenido del medio pueden ser divididas en: • Robusta: La marca de agua robusta, es aquella que se inserta de tal forma que las alteraciones realizadas en la imagen marcada no se distinguen perceptualmente; este tipo de marca de agua debe resistir operaciones clásicas (también llamadas ataques, ver sección 3.4) de manera que la información insertada puede ser recuperada [Ref. 4]. Generalmente es utilizada para protección de derechos de autor, esta área de aplicación se basa en la identificación del propietario de la información así como de la identificación de los compradores. • Frágil: La marca de agua invisible y frágil es insertada de tal forma que cualquier manipulación o alteración de la imagen, deberá alterar o destruir la marca de agua [Ref. 4]. Generalmente se utilizan para la autenticación de imágenes, proceso que verifica que el contenido no ha sido modificado o que el emisor sea quien dice ser. 1 Se le denominan ataques a las manipulaciones o modificaciones realizadas a la información con el objetivo de alterar o eliminar la marca insertada, tales como filtrados, operaciones geométricas, etc. 31 Acorde a los elementos necesarios para detectar/extraer la marca insertada, las técnicas de marca de agua de dividen en: • Privado: Un esquema invisible, robusto y privado requiere de al menos la imagen original para poder detectar la marca de agua insertada. Existen dos tipos de sistemas: 1. Extraen la marca de la imagen posiblemente alterada y utilizan la imagen original para identificar las regiones donde la imagen está posiblemente distorsionada. 2. Similar al anterior, pero en estos sistemas, es necesaria una copia de la marca de agua insertada, en este esquema, sólo es posible conocer si la marca está en la imagen, es decir, la salida del sistema es un valor binario. • Público: En un esquema invisible, robusto y público (también conocido como marca de agua “ciega”) no se requiere de la imagen original, ni la marca de agua insertada, sólo se tiene la stego-imagen 2 y la llave/imagen secreta para poder detectar la información. 3.2 Aplicaciones Los requisitos que deben cumplir en la práctica los algoritmos de marca de agua son establecidos con base en la aplicación en la cual serán utilizados. Dentro de las aplicaciones de marcas de agua de encuentran las siguientes: • Comunicaciones secretas: en este tipo de aplicación, la marca es insertada en los archivos multimedia; es utilizada por dos o más personas para comunicarse de manera secreta sin levantar sospecha a terceros, es una aplicación clásica de la esteganografía (ocultar información dentro de otra). 2 Se le denomina stego-imagen a la imagen que contiene información insertada, también se conoce como imagen marcada. 32 • Protección de derechos: Para la protección de la propiedad intelectual, los archivos multimedia pueden contener una marca de agua representando información de derechos de autor del propietario. Esta marca de agua puede tomarse como prueba de la propiedad intelectual ante una corte cuando alguien ha infringido los derechos de autor. • Control de Copias: Para rastrear el origen de copias ilegales, el propietario puede hacer uso de técnicas de identificación (fingerprinting). En este caso, el propietario puede insertar diferentes marcas de agua en las copias de los datos que han sido entregadas a diferentes clientes. Esta técnica puede insertar un número de serie en los datos, el cual es relacionado con la identidad de los clientes. Esta técnica permite al dueño de la propiedad intelectual identificar a aquellos clientes que han infringido el acuerdo de licencia proveyendo de la información a terceras personas. • Autenticación: Las marcas de agua frágiles pueden ser utilizadas para verificar la autenticidad de la información. Una marca de agua frágil indica si la información ha sido alterada, asimismo permite localizar la posición en donde se produjo dicha alteración. • Seguridad Médica: Insertar información de los pacientes (nombre, fecha de nacimiento, sexo, etc.) en las imágenes médicas puede ser una medida de seguridad útil. • Ocultamiento de Información: La técnicas de marcas de agua pueden ser utilizadas para la transmisión secreta de mensajes. 33 3.3 Requerimientos Los requerimientos más importantes de marcas de agua digitales son: • Robustez: Las imágenes están expuestas a muchos tipos de modificaciones o distorsiones: las pérdidas por compresión, los cambios producidos por el mejoramiento de las imágenes, etc. Una marca de agua se considera robusta si perdura después de estas operaciones y, en el caso de las marcas en imágenes, también deben persistir después de transformaciones geométricas [Ref. 1]. • Imperceptibilidad: La imperceptibilidad o transparencia de la marca de agua tiene como base el comportamiento del sistema de percepción humano. Una marca de agua es imperceptible, si la degradación que causa en los archivos donde se ha insertado es muy difícil de apreciar. Este concepto se contrapone al de la robustez (Figura 3.2), si se tiene en cuenta que un sistema robusto debe insertar la marca en las regiones significativas de la imagen. En algunas aplicaciones se puede aceptar una pequeña degradación de los datos, a cambio de lograr mayor robustez del algoritmo [Ref. 1]. • Capacidad: Este es un factor importante cuando una gran cantidad de información se debe ocultar, dicha información es usualmente relacionada con la imagen. Por ejemplo, cuando se transmiten imágenes médicas; los datos del paciente y el diagnóstico pueden ser ocultados en la misma imagen [Ref. 1]. 34 Figura 3.2 Compromiso establecido entre requerimientos de las marcas de agua 3.4 Esquema de un sistema de marcas de agua En esta sección se describen cada una de las partes que componen un esquema de marcas de agua, cada una de estas partes es descrita de manera general, ya que cada esquema tiene alguna característica o parámetros que las diferencia entre ellas. 3.4.1 Inserción de la marca de agua. En la Figura 3.4.1 se muestra un ejemplo de inserción de información. Sea I la imagen original, y W = {w1, w2, w3,…,wL}la marca de agua a insertar de longitud L, y I’ la imagen marcada o stego-imagen. La función de inserción toma la imagen I y la marca de agua W y genera la imagen marcada I’. Dependiendo de la técnica a utilizar, la imagen original es transformada al dominio de frecuencia (ecuación 3.1) o puede utilizarse el dominio espacial (ecuación 3.2), esto depende de la técnica seleccionada. 35 E ( I ,W ) = I ' (3.1) E ( f ,W ) = I ' (3.2) La figura 3.2 ilustra el proceso de inserción de marcas de agua, J denota la imagen marcada después de ser distorsionada. Figura 3.3 Proceso de inserción 3.4.2 Detección/Extracción de la marca de agua. La fase de detección/extracción de la marca de agua toma la imagen J (J puede ser una imagen alterada) de la cual será extraída la marca insertada W’. Dependiendo el algoritmo de marca de agua, la imagen original puede ser necesaria para recuperar la marca. A continuación se describe el proceso de detección/extracción de la marca: 1. Se extrae la marca de la imagen J. D( J , I ) = W ' 2. (3.3) Posteriormente la secuencia extraída W’ es comparada con la secuencia original, la salida de este proceso es 1 si la marca existe en J y 0 si la marca no existe en J. ⎧1 si c < δ Cδ (W ' , W ) = ⎨ ⎩0 en otro caso 36 (3.4) Donde c es la correlación que existe entre W y W’ y δ es el valor del umbral para determinar si la marca extraída es similar a la original. Figura 3.4 Proceso de detección/extracción 3.5 Ataques En la práctica, un archivo multimedia marcado puede ser alterado a propósito o accidentalmente, por lo tanto el sistema de marca de agua debe ser capaz de detectar y extraer la marca de agua insertada. Las distorsiones son limitadas a aquellas que no producen degradación excesiva, de otra forma el archivo marcado será inservible. Estas distorsiones también introducen degradación en el desempeño del sistema. Los ataques son clasificados en dos tipos: • Ataques Pasivos: Este tipo de ataque evalúa estadísticamente las características de la imagen marcada para determinar si tiene información oculta. Este tipo de ataque no pretende eliminar la marca solamente detectar la presencia de información oculta, es utilizado en aplicaciones de comunicaciones encubiertas. • Ataques Activos: Este tipo de ataque altera o distorsiona la imagen marcada con el propósito de modificar o eliminar la información que se insertó en la imagen. o Ataques por promediado estadístico: Intentan calcular la marca y extraerla de la imagen marcada. 37 o Ataques en el proceso de detección de la marca: El intruso intenta por diversos medios deducir el proceso del detector de la marca, encontrando las posibles regiones donde se insertó la marca y tratando de eliminarla. o Ataque por confabulación: En este tipo de ataque se utilizan varias copias de los archivos marcados con diferentes marcas (utilizando el mismo algoritmo) para generar un archivo que no contenga la marca. o Falsificación: en este ataque, se intenta insertar una marca falsa que pueda ser reconocida como válida. A continuación de listan algunos ataques que se aplican a sistemas de marcas de agua: • Adición de Ruido: Este ataque se origina en cierto tipo de aplicaciones que utilizan convertidores D/A (digital-analógico) y A/D (analógico-digital) o por errores en la transmisión. • Filtrado: Este tipo de ataque aplica filtrado linear a la imagen como: filtros pasa baja, filtro pasa alta, filtro gaussiano, filtro mediana, etc., los cuales no introducen una degradación considerable a la imagen marcada, pero puede afectar dramáticamente el resultado en el proceso de extracción de la marca. • Compresión: Este tipo de ataque generalmente es no intencional, el cual es muy frecuente en aplicaciones multimedia. Prácticamente todo el audio, video e imágenes que se encuentran en internet han sido comprimidas. • Ataques Geométricos: Este tipo de ataque no pretende eliminar la marca insertada en la imagen, pero genera distorsiones espaciales en la marca de 38 agua. Con este tipo de ataques, la función para detectar la marca pierde sincronización con respecto a la información insertada. Los ataques geométricos comunes son rotación, escalado, escalado no uniforme, traslación, entre otros. 3.6 Técnicas de marcas de agua Los algoritmos (técnicas) de marca de agua pueden ser aplicados tanto en el dominio espacial como en el dominio de transformada. La Tabla 3.6.1 muestra una comparación entre las técnicas de marcas de agua. Requerimiento Dominio espacial Dominio de transformada Costo computacional Bajo Alto Robustez Frágil Robusto Calidad Alto Bajo Capacidad Aplicaciones Alto(depende del tamaño de la imagen) Autenticación Bajo Control de Copias Tabla 3.1 Técnicas de marca de agua según su dominio 3.6.1 Técnicas en el dominio espacial Las técnicas en el dominio espacial modifican directamente la intensidad o el valor de color de algunos píxeles seleccionados. Una de las técnicas más comunes en el dominio del espacio es la denominada LSB (acrónimo en inglés de Least Significant Bit) en la cual la marca de agua es insertada en el bit menos significativo de algunos píxeles seleccionados [Ref. 1-6]. Esta técnica es muy fácil de implementar y muy rápida, pero su robustez baja. La Figura 3.5 muestra un ejemplo de esta técnica, la 39 cual selecciona el plano menos significativo de la imagen y reemplaza el valor del plano con la información de la marca que se desea ocultar (Figura 3.6). Figura 3.5 Planos que conforman la imagen Figura 3.6 Ocultando información en los bits menos significativos El siguiente ejemplo (Figura 3.7) muestra el resultado de insertar una imagen en diferentes bits de la imagen original. Se observa que la marca es visible si es insertada en los bits de planos más significativos de la imagen original. Imagen original Marca de agua 4 LSB Figura 3.7 Marca insertada en planos diferentes de una imagen 40 7 LSB 3.6.2 Técnicas en el dominio de transformada Las técnicas en el dominio de transformada modifican los valores de los coeficientes de algunas transformadas. Esto significa que los coeficientes en el dominio de transformada deben ser modificados para insertar la marca de agua y finalmente la transformada inversa debe ser aplicada para obtener la imagen marcada o stegoimagen [6]. Las transformadas comunes utilizadas para propósitos de marca de agua, son las siguientes: DCT (Discrete Cosine Transform) [], DWT (Discrete Wavelet Transform) [] y DFT (Discrete Fourier Transform) []. La figura 3.8 presenta un esquema general del funcionamiento de los esquemas de marcas de agua en el dominio de transformada. Figura 3.8 Proceso de inserción basado en transformada Figura 3.9 Proceso de extracción/detección basado en transformada 41 La siguiente figura muestra un esquema de inserción en el dominio de transformada, en los cuales, la marca es insertada en los coeficientes obtenidos después de aplicar alguna transformada. Figura 3.10 Esquema de inserción de marca de agua aditiva 3.7 Marcas de agua en imágenes médicas La imaginología médica es un campo donde la protección de la integridad y confidencialidad de la información médica se deriva de estricta ética y reglas legislativas. Los registros de información médica de los pacientes es un expediente complejo integrado por exámenes, diagnósticos, prescripciones, e imágenes en varias modalidades. Esta información es utilizada para diferentes propósitos (investigación clínica, estudios de epidemiología). Todos los registros médicos, electrónicos o no, están ligados al secreto médico, y por lo tanto deben ser confidenciales. Por lo anterior, se imponen tres características para los expedientes clínicos de pacientes (Figura 3.11): • Confidencialidad. Significa que sólo entidades autorizadas pueden acceder a la información. • 42 Confiabilidad. Esta característica tiene dos aspectos: o Integridad. Se refiere a que la información no ha sido modificada por entidades no autorizadas. o Autenticación: Se refiere a tener una prueba de que la información pertenece al paciente correcto. • Disponibilidad. Se refiere a la característica de que los sistemas de información sean utilizados por entidades autorizadas. Figura 3.11 Componentes de seguridad de la información médica Recientemente ha existido mucho interés en las técnicas de marcas de agua para proteger la propiedad intelectual en formatos digitales (imágenes, audio, video, software). A consecuencia de este interés, un gran número de técnicas de marcas de agua han surgido. El número de estudios en la literatura dedicados a las marcas de agua en imágenes médicas no es muy extenso. Anand et al. [Ref. 7] proponen insertar una versión encriptada del expediente electrónico de pacientes (EPR) en los bits menos significativos (LSB) de las imágenes es escala de grises. Aunque la degradación en la calidad de la imagen obtenida es mínima, las limitaciones y la fragilidad de las marcas de agua en bits menos significativos es muy conocida. Miaou et al. [Ref. 8] propone un método para autenticar el origen de la información (identificar el hospital donde se realizó el estudio), y la información que se oculta en las imágenes es un registro de electrocardiograma (ECG), el diagnóstico y datos del médico que realizó 43 el estudio, la técnica utilizada es similar a utilizada por Anand et al. [Ref. 7], es decir, insertar la información en los bits menos significativos de la imagen. De igual forma Macq y Deweyand [Ref. 9] insertan la información en la cabecera de las imágenes. Las marcas de agua en el contexto médico requieren de tres objetivos: 1. Ocultamiento de información con el propósito de insertar meta-datos, anotaciones y otro tipo de información que haga a las imágenes más útiles y fáciles de utilizar. 2. Control de integridad, es decir, verificar que la imagen está intacta, que no ha sido modificada de manera no autorizada 3. Autenticidad, es decir, verificar que la imagen es realmente la que el usuario supone que es. Requerimientos para marcas de agua en imágenes médicas: • Imperceptible: En el ámbito médico, la calidad de las imágenes es muy estricta, es decir, no está permitido alterar en ningún sentido, por esta razón, el método de marcas de agua debe ser reversible, es decir que los píxeles de la imagen original deben ser recuperados, esto limita significativamente la capacidad y el número de posibles métodos a utilizar. • Control de Integridad: Es necesario probar que la información que se ha insertado en las imágenes ha preservado su integridad, es decir, no ha sido alterada de alguna manera. • Autenticación: Este es un requerimiento crítico en los registros clínicos de los pacientes, especialmente en las imágenes. 44 Conclusiones En este capítulo se presentaron las diversas técnicas que existen en el área de las marcas de agua, haciendo énfasis en las técnicas más utilizadas. Se presentó la clasificación de las diferentes técnicas, los requerimientos que deben de cumplir y las diferentes aplicaciones en donde son utilizadas, finalmente se presentaron los diferentes ataques a los cuales están expuestas las imágenes resultantes (imágenes marcadas o stego-imágenes). Se observó que las técnicas basadas en dominio espacial generan menos degradación en las imágenes, pero la marca insertada utilizando estas técnicas son frágiles ante ataques geométricos o ante aplicación de filtrado en la imagen marcada. Los esquemas basados en dominio de transformada presentan mayor robustez antes ataques efectuados en la imagen marcada, pero al contrario de las técnicas de dominio espacial, introducen más degradación en la imagen, es decir, a mayor robustez de la marca, más degradación en la imagen marcada. Son pocos los esquemas que trabajan con imágenes médicas, y estos esquemas simplemente ocultan información de carácter médico en las imágenes, no se reportan ataques aplicados a las imágenes marcadas, solamente se reportan resultados con respecto a la degradación y la capacidad de los esquemas descritos. En el siguiente capitulo se presenta un esquema de marcas de agua en el dominio espacial aplicado a imágenes médicas de carácter radiológico resistente a ataques; este esquema utiliza las métricas estadísticas para determinar zonas de la imagen no homogéneas en donde se pueda ocultar información, sin degradar demasiado la imagen; es decir, se localizan zonas como bordes, zonas con textura, en las cuales los cambios producidos por la inserción de la información sean imperceptibles. 45 46 Capítulo 4 Esquema de Marcas de Agua para Imágenes Médicas 4.1 Esquema general En la siguiente figura se presenta el esquema general de marcas de agua aplicado a imágenes médicas en este trabajo. Figura 4.1 Esquema general del algoritmo propuesto 47 4.2 Algoritmo propuesto El algoritmo de marcas de agua para imágenes médicas está dividido en 4 secciones: • Generación de la marca de agua En esta sección el algoritmo obtiene de un archivo DICOM la imagen y parte de la información la cual será utilizada para generar la marca que se insertará en la imagen. • Invariantes Geométricos En esta sección se explica parte de la teoría de momentos geométricos de una imagen, estos momentos geométricos ayudan a obtener características invariantes (por ejemplo centro de masa o centroide, el cual es invariante a rotación, escalado y traslación) de una imagen. • Selección de regiones no homogéneas En esta sección se utiliza un método estadístico para seleccionar las posiciones donde será insertada la información; estas regiones permiten insertar información en zonas poco homogéneas de manera que sea imperceptible. Dicho método utiliza medidas obtenidas a partir de la distribución de intensidad en los niveles de gris (homogeneidad) para caracterizar texturas. • Inserción/Extracción de la información En esta sección se explica la manera en que la imagen es recorrida con el objetivo de localizar regiones que permitan insertar la marca en la imagen. Posteriormente se describe el procesamiento que hace en la imagen previo a la extracción de la información insertada. 48 4.2.1 Generación de la marca de agua. En la figura 4.2 se ejemplifica la generación de la marca de agua, el proceso para su obtención es el siguiente: 1. Extraer la imagen y los meta datos del archivo DICOM. 2. Comprimir los datos extraídos, en este esquema se utiliza el algoritmo de Huffman, con el objetivo de reducir la cantidad de información a insertar. 3. Cifrar la información comprimida en el paso anterior con el objetivo de incrementar la seguridad en la información, en este esquema se utiliza un cifrador de flujo RC4. 4. Generar una secuencia de bits a partir de la información cifrada que servirá como marca. Figura 4.2 Generación de la marca de agua 4.2.2 Invariantes Geométricos Los momentos de imágenes son una técnica comúnmente utilizada en el proceso de extracción de características, donde cada uno de los momentos que se obtiene aporta diferente información para la misma imagen [Ref. 1]. 49 En general, dada una imagen representada por una función arbitraria representativa de los niveles de gris en cada imagen, f(x, y), se define el momento de orden (p, q), mpq como: M −1 N −1 m pq = ∑∑ x p ⋅ y q ⋅ f ( x, y ) (4.1) x =0 y =0 Donde f es una matriz con datos de la imagen de tamaño MxN. Para las imágenes digitales, el momento de orden cero es definido como: M −1 N −1 m00 = ∑∑ f ( x, y) (4.2) x =0 y =0 Esta formula también es conocida como la masa de la matriz f. de manera similar, el momento de orden 1 de la imagen es definido como: M −1 N −1 m10 = ∑∑ x ⋅ f ( x, y ) (4.3) x =0 y = 0 M −1 N −1 m01 = ∑∑ y ⋅ f ( x, y) (4.4) x =0 y = 0 Los dos momentos de primer orden, m10 y m01 [Ref. 2], son utilizados para localizar el centro de masa de la matriz f. El centroide de la imagen puede ser calculado con: x0 = m10 ; m00 y0 = m01 m00 (4.5) El centroide obtenido es utilizado en el proceso de inserción y en el proceso de extracción. Teniendo en cuenta que las coordenadas del centroide de la función f(x, y) son x0 y y0, se pueden definir los momentos centrales: M −1 N −1 µ pq = ∑∑ ( x − x0 ) p ⋅ ( y − y0 )q ⋅ f ( x, y) x =0 y =0 50 (4.6) Los momentos centrales de tercer orden, µ12, µ21, µ30 y µ03 se utilizan para determinar la relación (ángulo) que existe entre una imagen rotada f(x’, y’) con la imagen original f(x, y) [Ref. 1], estos momentos son calculados con: M −1 N −1 µ12 = ∑∑ ( x − x0 )1 ⋅ ( y − yo )2 ⋅ f (x, y ) (4.7) x =0 y =0 M −1 N −1 µ 21 = ∑∑ (x − x0 )2 ⋅ ( y − y 0 )1 ⋅ f (x, y ) (4.8) x =0 y =0 M −1 N −1 µ 30 = ∑∑ ( x − x0 )3 ⋅ f (x, y ) (4.9) x =0 y =0 M −1 N −1 µ 03 = ∑∑ ( y − y0 )3 ⋅ f (x, y ) (4.10) x =0 y =0 En otras palabras, con una imagen rotada en cualquier dirección, el ángulo de rotación θ de la imagen es obtenido utilizando: ⎛ µ12 + µ 30 ⎞ ⎟⎟ ⎝ µ 21 + µ 03 ⎠ θ = arctan⎜⎜ − (4.11) Con la ecuación 4.11 obtenemos θn, el cual será empleado en el proceso de extracción de la marca. En la sección 4.2.4 se explica la utilización de la ecuación (4.11) en el proceso de extracción en la marca insertada en la imagen ante posibles ataques geométricos. Para determinar si la imagen ha sido reflejada horizontal o verticalmente, se calculan los momentos geométricos de primer orden µ10 para reflexiones horizontales y µ01 para reflexiones verticales, de estos valores, se obtiene el signo. 51 4.2.3 Selección de regiones no homogéneas Para seleccionar aquellas posiciones en las cuales la información de la marca será insertada, se sigue el siguiente proceso: • Se recorre la imagen mediante una espiral a partir del centroide calculado en la sección anterior (ecuación 4.5). Figura 4.3 Recorrido realizado en la imagen, indicando la posición de los posibles píxeles en donde se ocultará la información • Para determinar si una posición es “apropiada” para ocultar información, se calcula la homogeneidad mediante la varianza (σ2) de sus vecinos, utilizando una ventana de tamaño kxk. La Figura 4.4 muestra un ejemplo de una ventana de tamaño 3x3. 1 k −1 k −1 ( f (x, y ) − µ )2 σ = ∑∑ MN x=0 y =0 2 (4.12) Donde: 1 µ= MN 52 k −1 k −1 ∑∑ f (x, y ) x =0 y = 0 (4.13) • Para determinar si es posible insertar un bit de información en la posición seleccionada, se verifica la siguiente condición: si σ2 > Th entonces el píxel es seleccionado para insertar información en esa posición, Th es un umbral de homogeneidad, el cual es ingresado por el usuario. σ2 Th Lmean = 0.0330 Å vía 4.12 = 0.03 = 73.6 Lreal Lreal σ2 = Lmean – δ2 Å 4.15 = 50 = 0.0309 Figura 4.4 Modificación de pixeles en el proceso de inserción 4.2.4 Inserción/Extracción de la información Proceso de Inserción Mediante la ecuación (4.11) obtenemos el ángulo de la imagen original θn, el cual es necesario en el proceso de extracción de la imagen, este valor es parte de la llave que permitirá recuperar la información oculta. Posteriormente, el proceso de inserción utiliza las posiciones obtenidas en la sección anterior y realiza el siguiente procedimiento: • Obtiene un bloque de tamaño kxk con centro en la posición del píxel seleccionado (Figura 4.4). • Si el bit a insertar es “1”, se modifica el valor de la luminancia del píxel central, cumpliendo la siguiente condición: Lreal ≥ Lmean + δ 1 (4.14) 53 • Si el bit a insertar es “0”, se modifica el valor de la luminancia del píxel central, cumpliendo la siguiente condición: Lreal < Lmean − δ 2 (4.15) Donde δ1 y δ2 son calculados con base en la homogeneidad y la luminancia del bloque de tamaño kxk, Lreal es el nivel de gris del píxel central y Lmean es el nivel de gris medio del bloque. Proceso de Extracción Antes de extraer la información, la imagen es procesada para corregir las posibles rotaciones realizadas en la imagen marcada, el proceso se lista a continuación. 1. Se obtiene θd mediante la ecuación 4.11, verificando que el valor de θd cumpla la siguiente condición: ⎧µ 03 + µ 21 > 0 entonces θ d = θ θd = ⎨ ⎩µ 03 + µ 21 < 0 entonces θ d = θ1 + π (4.16) 2. Para corregir la distorsión, la imagen es rotada θc grados en sentido contrario a la rotación inicial, donde θc es calculado con: θc = θd − θn (4.17) La figura 4.5 muestra un ejemplo de la corrección de rotación en una imagen. a) b) Figura 4.5 a) Imagen marcada (rotada 66º), b) imagen con rotación corregida 54 Para determinar si la imagen ha sido reflejada horizontal o verticalmente, es necesario comparar el cambio de signo de los momentos geométricos de primer orden µ10 y µ01 de la imagen marcada y atacada. La figura 4.6 muestra un ejemplo de la corrección de una imagen reflejada horizontal y/o verticalmente. a) b) c) d) Figura 4.6 a), b) y c) Posibles reflexiones en la imagen, d) imagen con reflexión corregida Después de corregir las posibles rotaciones o reflexiones en la imagen marcada y atacada, se realiza el siguiente proceso para extraer la marca. • Localizar los píxeles que fueron modificados en la sección 4.2.3. • Para cada posición obtenida en el paso anterior, se utiliza un umbral de decisión para extraer la marca, la información es extraída cumpliendo las siguientes condiciones: o Se extrae un bit “1” si: Lreal ≥ Lmean (4.18) o Se extrae un bit “0” si: Lreal < Lmean (4.19) En este proceso los valores de δ1 y δ2 no son requeridos para la extracción de la marca. 55 Conclusiones En este capitulo se presentó un esquema de marcas de agua en cual es aplicado a imágenes medicas de carácter radiológico. El esquema presentado utilizada la homogeneidad y la luminancia de la imagen para realizar el proceso de inserción de la marca (generada con la información extraída de archivos DICOM). El esquema propuesto es robusto ante manipulaciones comunes en el ámbito médico, como rotaciones, reflexiones, mediante la utilización de características invariantes de la imagen, así como a cambios de contraste, cambios de brillo, etc. es importante mencionar que estas modificaciones son menores, ya que las imágenes no deben sufrir modificaciones que afecten la calidad de la misma. Una de las ventajas importantes del esquema propuesto es que solamente se requiere de la imagen marcada o la imagen marcada y atacada para recuperar la información insertada, no se requiere de ninguna otra información adicional, esto es un factor importante, ya que muchos de los esquemas que son “ciegos”, necesitan información extra para poder recuperar la información oculta. El algoritmo propuesto utiliza un recorrido de la imagen en forma de espiral, ya que el centroide, que es el origen de este recorrido, se encuentra cercano al centro de la imagen; muchas de las imágenes médicas concentran sus regiones de interés en el centro de la imagen, debido a esta razón, el recorrido de la imagen parte del centroide y recorre la imagen buscando regiones con textura que permitan ocultar información de manera que la degradación en la imagen final sea mínima e imperceptible. 56 Capítulo 5 Experimentación y Análisis de los Resultados En este capitulo, se presentan los experimentos realizados utilizando el algoritmo de marcas de agua descrito en el capitulo previo. En cada apartado de muestran y se discuten los resultados obtenidos y aplicando el algoritmo de marcas de agua en imágenes médicas de carácter radiológico extraídas de archivos DICOM3. 5.1 Banco de pruebas El algoritmo fue aplicado en imágenes médicas de carácter radiológico, dichas imágenes fueron extraídas de archivos DICOM. Las imágenes utilizadas en los experimentos tienes las siguientes características: imágenes en escala de grises, 512x512 pixeles y 8 bits de profundidad por pixel (256 niveles de gris). La tabla 5.1 muestra algunas imágenes utilizadas en los experimentos. La tabla 5.2 muestra las características de las imágenes utilizadas en los experimentos; la cantidad de información a ocultar así como la degradación producida en las imágenes depende de las siguientes características (Cantidad de contornos, zonas homogéneas y texturas en la imagen es decir regiones con gran variación en los niveles de gris). La tabla 5.3 3 DICOM (Digital Imaging and Communications in Medicine) es un estándar que facilita la interoperabilidad de imágenes médicas. 57 muestra un ejemplo de marca de agua utilizado en los experimentos, la información corresponde a datos extraídos del archivo DICOM, así como un pequeño diagnostico. La obtención de las imágenes se realizó mediante el toolbox de procesamiento de imágenes de Matlab4, el cual nos permite acceder a las imágenes y los metadatos de archivos en formato DICOM. Chest Shoulder Tabla 5.1 Imágenes utilizadas en los experimentos Brain Imagen Knee Contornos Zonas Homogéneas Texturas Brain Alto Medio Medio Chest Alto Medio Bajo Shoulder Medio Alto Bajo Knee Medio Medio Alto Baboon Medio Bajo Alto Tabla 5.2 Características de las imágenes utilizadas en los experimentos 2002-05-08 REYNA VALDEZ PEREZ 62 DR. LUIS TEODORO GARCIA TAC ABDOMEN COMPLETO -CARDIOMEGALIA GRADO I, POR CRECIMIENTO VENTRICULAR IZQUIERDO 4 MatLab es un lenguaje de programación matemático de Mathworks que permite procesar imágenes digitales. 58 -HIGADO, BAZO, PANCREAS, GRANDES VASOS, AL IGUAL QUE RIÑON DERECHO SIN ALTERACION -RIÑON IZQUIERDO CON PEQUEÑO QUISTE EN PARED LATERAL -VESICULA Y VIA BILIAR SIN PATOLOGIA -UTERO CON CALCIFICAIONES EN SUS PAREDES EN RELACION PROBABLE CON MIOMAS Y ENDOMETRIO ENGROSADO -NO SE APRECIA ADENOPATIAS INGUINALES -CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR -RESTO SIN ALTERACIONES. SUGERIMOS CORRELACION CLINICA Tabla 5.3 Ejemplo de información utilizada como marca de agua 5.2 Evaluación de resultados Para la evaluación de los resultados se aplicaron métricas que permiten evaluar la calidad de una imagen que ha sido modificada con respecto a su estado original (PSNR, MSE), de esta manera es posible cuantificar la distorsión generada después de aplicar el algoritmo a una imagen. Para obtener la similaridad entre la marca insertada con la marca recuperada se utilizo la métrica NCC. MSE (Mean Square Error) MSE = 1 MN M −1 N −1 ∑∑ ( f ( x, y) − f ' ( x, y)) 2 (5.1) x =0 y = 0 Donde M y N son las dimensiones de la imagen, f(x, y) y f’(x, y) representan la imagen original y la imagen marcada respectivamente. Esta métrica nos permite conocer la cantidad de degradación que fue introducida en la imagen marcada, valores cercanos a cero indican menor degradación. PSNR (Peak Signal-to-Noise-Ratio) PSNR =10 × log10 255 2 dB MSE (5.2) NCC (Normalized Cross-Correlation) 59 R −1 C −1 NCC = (5.3) ∑∑W ( x, y) ⋅ W ' ( x, y) x =0 y =0 R −1 C −1 ∑∑ W ( x, y) 2 x =0 y =0 Donde R y C son las dimensiones de la marca insertada, W(x, y) y W’(x, y) representan la marca original y la marca extraída respectivamente. Los valores obtenidos al aplicar esta métrica se encuentran en el rango de 0 a 1, siendo 0 marcas o imágenes completamente diferentes y 1 completamente similares. 5.3 Experimentos Esta sección muestra algunos experimentos realizados en las imágenes médicas, a continuación se presentan pruebas realizadas variando el valor de los parámetros del algoritmo. A continuación se presentan algunos ejemplos de imágenes marcadas e imágenes marcadas-atacadas, mostrando los parámetros utilizado en el algoritmo y los valores obtenidos en términos de degradación y extracción de la marca insertada. Prueba 1. Imagen “Brain” Tamaño del bloque Umbral Th Desplazamiento Información (bits) 3x3 0.001 3 (sin traslape) 2344 PSNR MSE NCC Método 1 33.82 26.93 1.0000 Método 2 45.20 19.60 0.9918 Tabla 5.4 Parámetros y resultados del algoritmo en “Prueba 1” 60 Imagen Marcada 1 Posiciones Atacada (brillo) Imagen Marcada 2 Posiciones Atacada (brillo) Figura 5.1 Imágenes obtenidas en “Prueba 1” ******************************************************************************** Iniciando programa de marcas de agua en imágenes médicas ******************************************************************************** Umbral para homogeneidad normalizada = 0.001 Desplazamiento = 3 Tamaño de ventana = 3 ******************** METODO 1 ******************** Inserción --> Pixeles modificados : 2344, [ 293 Bytes ] Métricas de calidad de la imagen [Original vs. Marcada] --> PSNR = 3.382708e+001 MSE = 2.693844e+001 --------------- Marca de Agua original --------------2002-05-08 REYNA VALDEZ PEREZ 62 DR. LUIS TEODORO GARCIA TAC ABDOMEN -CARDIOMEGALIA GRADO I, POR CRECIMIENTO VENTRICULAR IZQUIERDO -RIÑON IZQUIERDO CON PEQUEÑO QUISTE EN PARED LATERAL -VESICULA Y VIA BILIAR SIN PATOLOGIA -NO SE APRECIA ADENOPATIAS INGUINALES -CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR ---------- Marca de Agua extraída (Atacada) ---------2002-05-08 REYNA VALDEZ PEREZ 62 DR. LUIS TEODORO GARCIA TAC ABDOMEN 61 -CARDIOMEGALIA GRADO I, POR CRECIMIENTO VENTRICULAR IZQUIERDO -RIÑON IZQUIERDO CON PEQUEÑO QUISTE EN PARED LATERAL -VESICULA Y VIA BILIAR SIN PATOLOGIA -NO SE APRECIA ADENOPATIAS INGUINALES -CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR Porcentaje recuperado NCC = 1.000000 ******************** METODO 2 ******************** Inserción --> Pixeles modificados : 2344, [ 293 Bytes ] Métricas de calidad de la imagen [Original vs. Marcada] --> PSNR = 4.520637e+001 MSE = 1.960844e+000 --------------- Marca de Agua original --------------2002-05-08 REYNA VALDEZ PEREZ 62 DR. LUIS TEODORO GARCIA TAC ABDOMEN -CARDIOMEGALIA GRADO I, POR CRECIMIENTO VENTRICULAR IZQUIERDO -RIÑON IZQUIERDO CON PEQUEÑO QUISTE EN PARED LATERAL -VESICULA Y VIA BILIAR SIN PATOLOGIA -NO SE APRECIA ADENOPATIAS INGUINALES -CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR ---------- Marca de Agua extraída (Atacada) ---------2002-05-08 REYNA VALDEZ PEREZ 62 DR. LUIS TEODOROàGARCIA TAC ABDOMEN -CARDIOMEGALIA GRADO K, POR CVECIMIENTO VENTRICULAR IZQUIEVDO -RIÑON IZQUIEZDO CON PEQUEÑO QUISTE EN PARED LATERAL -vESÉCULA Y VIA BILIAR SIN PATOLOGIA -NO SE APRECIA ATENOPATIAS INGUINALES -CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR Porcentaje recuperado NCC = 0.991803 ******************************************************************************** Finalizando programa de marcas de agua en imágenes médicas ******************************************************************************** Tabla 5.5 Ejecución en Matlab de “Prueba 1” Prueba 2. Imagen “Chest” Tamaño del bloque Umbral Th Desplazamiento Información (bits) 3x3 0.001 3 (sin traslape) 2344 PSNR (dB) MSE NCC Método 1 23.64 281.09 1.0000 Método 2 46.67 1.39 0.9554 Tabla 5.6 Parámetros y resultados del algoritmo en “Prueba 2” 62 Imagen Marcada 1 Posiciones Atacada (brillo) Imagen Marcada 2 Posiciones Atacada (brillo) Figura 5.2 Imágenes obtenidas en “Prueba 2” ******************************************************************************** Iniciando programa de marcas de agua en imágenes médicas ******************************************************************************** Umbral para homogeneidad normalizada = 0.001 Desplazamiento = 3 Tamaño de ventana = 3 ******************** METODO 1 ******************** Inserción --> Pixeles modificados : 2344, [ 293 Bytes ] Métricas de calidad de la imagen [Original vs. Marcada] --> PSNR = 2.364222e+001 MSE = 2.810986e+002 --------------- Marca de Agua original --------------2002-05-08 REYNA VALDEZ PEREZ 62 DR. LUIS TEODORO GARCIA TAC ABDOMEN -CARDIOMEGALIA GRADO I, POR CRECIMIENTO VENTRICULAR IZQUIERDO -RIÑON IZQUIERDO CON PEQUEÑO QUISTE EN PARED LATERAL -VESICULA Y VIA BILIAR SIN PATOLOGIA -NO SE APRECIA ADENOPATIAS INGUINALES -CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR ---------- Marca de Agua extraída (Atacada) ---------2002-05-08 REYNA VALDEZ PEREZ 62 DR. LUIS TEODORO GARCIA TAC ABDOMEN 63 -CARDIOMEGALIA GRADO I, POR CRECIMIENTO VENTRICULAR IZQUIERDO -RIÑON IZQUIERDO CON PEQUEÑO QUISTE EN PARED LATERAL -VESICULA Y VIA BILIAR SIN PATOLOGIA -NO SE APRECIA ADENOPATIAS INGUINALES -CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR Porcentaje recuperado NCC = 1.000000 ******************** METODO 2 ******************** Inserción --> Pixeles modificados : 2344, [ 293 Bytes ] Métricas de calidad de la imagen [Original vs. Marcada] --> PSNR = 4.667357e+001 MSE = 1.398697e+000 --------------- Marca de Agua original --------------2002-05-08 REYNA VALDEZ PEREZ 62 DR. LUIS TEODORO GARCIA TAC ABDOMEN -CARDIOMEGALIA GRADO I, POR CRECIMIENTO VENTRICULAR IZQUIERDO -RIÑON IZQUIERDO CON PEQUEÑO QUISTE EN PARED LATERAL -VESICULA Y VIA BILIAR SIN PATOLOGIA -NO SE APRECIA ADENOPATIAS INGUINALES -CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR ---------- Marca de Agua extraída (Atacada) ---------2002-05%0 REYNA VAL E PERAZ 62 DB. HUIS TEODORO GAR@IA TAC ABDOM N -C@R@IOMEGAIA GRADO I, POR BRECHMIENDO VENPRICUAR IZQUIARDO -RIÑON IZQUI@RDO CMN PEQ EÑO PUISTE EN PARED LAPE AL -V PICULA Y IA`BILHAR SIL PATO_GIA ,JO SE APRECIA ADENOPATIAS INGEINALES - AMBIOR DEGENERATIVOS E LA BNHUMNA DU B@R Porcentaje recuperado NCC = 0.955428 ******************************************************************************** Finalizando programa de marcas de agua en imágenes médicas ******************************************************************************** Tabla 5.7 Ejecución en Matlab de “Prueba 2” Prueba 3. Imagen “Baboon” Tamaño del bloque Umbral Th Desplazamiento Información (bits) 3x3 0.003 2 (con traslape) 8104 PSNR (dB) MSE NCC Método 1 21.94 415.50 1.0000 Método 2 36.00 16.32 0.9627 Tabla 5.8 Parámetros y resultados del algoritmo en “Prueba 3” 64 Imagen Marcada 1 Posiciones Atacada (brillo) Imagen Marcada 2 Posiciones Atacada (brillo) Figura 5.3 Imágenes obtenidas en “Prueba 3” ******************************************************************************** Iniciando programa de marcas de agua en imágenes médicas ******************************************************************************** Umbral para homogeneidad normalizada = 0.003 Desplazamiento = 2 Tamaño de ventana = 3 ******************** METODO 1 ******************** Inserción --> Pixeles modificados : 8104, [ 1013 Bytes ] Métricas de calidad de la imagen [Original vs. Marcada] --> PSNR = 2.194504e+001 MSE = 4.155050e+002 --------------- Marca de Agua original --------------FECHA : 08 DE MAYO DEL 2002. NOMBRE : REYNA VALDEZ PEREZ. EDAD : 62 AÑOS. REFIERE : DR. LUIS TEODORO GARCIA. TAC ABDOMEN COMPLETO SE REALIZARON CORTES DE TOMOGRAFIA AXIAL COMPUTADA DESDE EL LA BASE DIAFRAGMATICA HASTA HUECO PELVICO. PREVIA INGESTION DE MEDIO DE CONTRASTE IODADO LIQUIDO, Y CONTRASTE ENDOVENOSO SE OBSERVO LO SIGUIENTE. 1.- CARDIOMEGALIA GRADO I, SIN ALTERACION EN BASES PULMONARES, NI ENGROSAMIENTO PLEURAL O DERRAME. 2.- CARDIOMEGALIA GRADO I, POR CRECIMIENTO VENTRICULAR IZQUIERDO. 3.- HIGADO, BAZO, PANCREAS, GRANDES VASOS, AL IGUAL QUE RIÑON DERECHO SIN ALTERACION. 4.- RIÑON IZQUIERDO CON PEQUEÑO QUISTE EN PARED LATERAL. 5.- VESICULA Y VIA BILIAR SIN PATOLOGIA. 65 6.- UTERO CON CALCIFICAIONES EN SUS PAREDES EN RELACION PROBABLE CON MIOMAS Y ENDOMETRIO ENGROSADO. 7.- NO SE APRECIA ADENOPATIAS INGUINALES. 8.- CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR. 9.- RESTO SIN ALTERACIONES. SUGERIMOS CORRELACION CLINICA. ---------- Marca de Agua extraída (Atacada) ---------FECHA : 08 DE MAYO DEL 2002. NOMBRE : REYNA VALDEZ PEREZ. EDAD : 62 AÑOS. REFIERE : DR. LUIS TEODORO GARCIA. TAC ABDOMEN COMPLETO SE REALIZARON CORTES DE TOMOGRAFIA AXIAL COMPUTADA DESDE EL LA BASE DIAFRAGMATICA HASTA HUECO PELVICO. PREVIA INGESTION DE MEDIO DE CONTRASTE IODADO LIQUIDO, Y CONTRASTE ENDOVENOSO SE OBSERVO LO SIGUIENTE. 1.- CARDIOMEGALIA GRADO I, SIN ALTERACION EN BASES PULMONARES, NI ENGROSAMIENTO PLEURAL O DERRAME. 2.- CARDIOMEGALIA GRADO I, POR CRECIMIENTO VENTRICULAR IZQUIERDO. 3.- HIGADO, BAZO, PANCREAS, GRANDES VASOS, AL IGUAL QUE RIÑON DERECHO SIN ALTERACION. 4.- RIÑON IZQUIERDO CON PEQUEÑO QUISTE EN PARED LATERAL. 5.- VESICULA Y VIA BILIAR SIN PATOLOGIA. 6.- UTERO CON CALCIFICAIONES EN SUS PAREDES EN RELACION PROBABLE CON MIOMAS Y ENDOMETRIO ENGROSADO. 7.- NO SE APRECIA ADENOPATIAS INGUINALES. 8.- CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR. 9.- RESTO SIN ALTERACIONES. SUGERIMOS CORRELACION CLINICA. Porcentaje recuperado NCC = 1.000000 ******************** METODO 2 ******************** Inserción --> Pixeles modificados : 8104, [ 1013 Bytes ] Métricas de calidad de la imagen [Original vs. Marcada] --> PSNR = 3.600343e+001 MSE = 1.632066e+001 --------------- Marca de Agua original --------------FECHA : 08 DE MAYO DEL 2002. NOMBRE : REYNA VALDEZ PEREZ. EDAD : 62 AÑOS. REFIERE : DR. LUIS TEODORO GARCIA. TAC ABDOMEN COMPLETO SE REALIZARON CORTES DE TOMOGRAFIA AXIAL COMPUTADA DESDE EL LA BASE DIAFRAGMATICA HASTA HUECO PELVICO. PREVIA INGESTION DE MEDIO DE CONTRASTE IODADO LIQUIDO, Y CONTRASTE ENDOVENOSO SE OBSERVO LO SIGUIENTE. 1.- CARDIOMEGALIA GRADO I, SIN ALTERACION EN BASES PULMONARES, NI ENGROSAMIENTO PLEURAL O DERRAME. 2.- CARDIOMEGALIA GRADO I, POR CRECIMIENTO VENTRICULAR IZQUIERDO. 3.- HIGADO, BAZO, PANCREAS, GRANDES VASOS, AL IGUAL QUE RIÑON DERECHO SIN ALTERACION. 4.- RIÑON IZQUIERDO CON PEQUEÑO QUISTE EN PARED LATERAL. 5.- VESICULA Y VIA BILIAR SIN PATOLOGIA. 6.- UTERO CON CALCIFICAIONES EN SUS PAREDES EN RELACION PROBABLE CON MIOMAS Y ENDOMETRIO ENGROSADO. 7.- NO SE APRECIA ADENOPATIAS INGUINALES. 8.- CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR. 9.- RESTO SIN ALTERACIONES. SUGERIMOS CORRELACION CLINICA. ---------- Marca de Agua extraída (Atacada) ---------FECHA : 08 DE MAYO DEL 2002. NOMBRE : REYNA VALDEZ PEREZ. EDAD : 62 AÑOS. REFIERE : DR. LUIS TEODORO GARCIA. " $0 TAC ABDOMEN COMPLETO ` SE REALKZARON CORTES(DE TOMOGRAFIA AxIAL COmRUTADA DGSDE EL NA$BASE DIANÓAGMATIGa HASTA HUEKO PELViÃO. PREVIA INGESTION DE MetKO DE CONTRASTE IODADO!NMqUMeO, Y CONTRASTE ENDOVENOSO 66 ×e"ORSERVO°LO SIGUKENTE> 1®-1OIRDIOMEgALIA GRALO Il SIN AL\ERACION"ENàBASES PULMONARES, NI ENOZOSAMIENTO ÐLEURÁL O DERRAME. 2./`CARDKoMEGALIA GRADO I. P_R0CRECIMIENtO öENURICULAV IZQUIERDO. 3.- HIGADo,`FAZO, ÐÁncREAS,`GRANLES0VASOS,!aL IGUAL QÕE RIÓÏN DERECH SIN ALÔERACION.` 4.-0rIÑON IZQUIERDO COÎ PEQUEÑO QUISTE EN PARED laTEÒALn 5.m VESICU\A Y VÉA BÉLIQR SIN PATOLOGIA. 6.- UTeRO CON CáL[IFICAIONES EN SUS pAREDE[ eN ReLASION(\ROBACLE CON MIOMAS ] ENDOMETRIO ENWrOSaDO. 7.- No SE APRECIA ADENOPATIAS INGUINALESn! 8.- CAMBIOS TUGUNERA\IVOS DE LA COLUMNA LUMBAR. 9®m RESTO SIN ALÔErACIONEW. SUGERIMOS SORRELACION CLINiãAn Porcentaje recuperado NCC = 0.962735 ******************************************************************************** Finalizando programa de marcas de agua en imágenes médicas ******************************************************************************** Tabla 5.9 Ejecución en Matlab de “Prueba 3” 5.4 Resultados En esta sección se presentan los resultados obtenidos en los diferentes experimentos efectuado en las imágenes médicas. La figura 5.x muestra un ejemplo de la degradación producida en la imagen al aplicar el algoritmo de marca de agua. En la figura 5.x b) las modificaciones realizadas son perceptibles (contornos de la imagen), lo que lleva a tener mas degradación en la imagen marcada, pero mayor robustez en el proceso de extracción de la marca. La figura 5.x c) presenta menos degradación que la figura 5.x b), pero la marca insertada es menos robusta, provocando que la extracción de la marca no sea completa. a) Imagen Original b) Imagen Marcada 1 c) Imagen Marcada 2 Figura 5.4 Degradación producida en una imagen 67 Las siguientes graficas muestran la capacidad máxima de cada una de las imágenes variando los parámetros de desplazamiento entre la ventana y el umbral de homogeneidad (Th). Figura 5.5 Capacidad máxima variando desplazamiento y umbral en imagen “Brain” Figura 5.6 Capacidad máxima variando desplazamiento y umbral en imagen “Chest” 68 Figura 5.7 Capacidad máxima variando desplazamiento y umbral en imagen “Shoulder” Figura 5.8 Capacidad máxima variando desplazamiento y umbral en imagen “Knee” 69 Como se observa el las graficas anteriores, que la capacidad de la imagen crece al utilizar las ventanas de búsqueda de manera traslapadas. De igual forma el utilizar valores mayores para el umbral, permite encontrar regiones con mucha textura, es decir, los valores de la imagen varían mucho y por consecuencia la modificación es imperceptible al sistema visual humano, en contraparte esta característica limita la cantidad de información que puede ser insertada en la imagen. Las siguientes graficas muestran la degradación producida en las imágenes, variando la cantidad de bits a ocultar así como el valor asignado para δ1 y δ2. Los valores asignados para δ1 y δ2 en PSNR1 (Método 1) son calculados utilizando valores proporcionales a la luminancia media del bloque que se está procesando. Los valores asignados para δ1 y δ2 en PSNR2 (Método 2) son calculados utilizando el valor de la homogeneidad y luminancia del bloque que se está procesando. Figura 5.9 Degradación contra Capacidad en imagen “Brain” 70 Figura 5.10 Degradación contra Capacidad en imagen “Chest” Figura 5.11 Degradación contra Capacidad en imagen “Shoulder” 71 Figura 5.12 Degradación contra Capacidad en imagen “Knee” Las siguientes tablas muestran la robustez de la marca en el proceso de extracción, variando la cantidad de información a ocultar. La cantidad de información que es posible ocultar en las imágenes depende de las características de las mismas, si la imagen cuenta con muchas zonas homogéneas limita la cantidad de información a ocultar; si los valores de los niveles de gris en los contornos tienen poca textura, impiden que la marca de agua insertada sea imperceptible provocando una mayor degradación en la imagen. Método 1 Bits a insertar 4300 4000 2500 1500 1000 Método 2 PSNR (dB) NCC PSNR (dB) NCC 39.27 39.37 41.78 44.10 46.01 1.0000 1.0000 1.0000 1.0000 1.0000 42.18 42.30 44.67 47.09 48.89 0.9962 0.9965 0.9960 0.9946 0.9900 Tabla 5.10 Degradación y Robustez de la marca en imagen “Brain”. Con umbral 0.001, k=3 y sin traslape de ventana 72 Método 1 Bits a insertar 4300 4000 2500 1500 1000 Método 2 PSNR (dB) NCC PSNR (dB) NCC 39.52 39.86 42.15 45.16 47.46 1.0000 1.0000 1.0000 1.0000 1.0000 42.17 42.64 44.67 47.49 49.77 0.9888 0.9890 0.9849 0.9893 0.9960 Tabla 5.11 Degradación y Robustez de la marca en imagen “Brain”. Con umbral 0.001, k=3 y con traslape de ventana Método 1 Bits a insertar 4300 4000 2500 1500 1000 Método 2 PSNR (dB) NCC PSNR (dB) NCC 21.18 22.40 33.74 34.53 36.61 1.0000 1.0000 1.0000 1.0000 1.0000 34.11 35.56 46.36 47.78 49.72 0.8039 0.8381 0.9422 0.9516 0.9512 Tabla 5.12 Degradación y Robustez de la marca en imagen “Chest”. Con umbral 0.001, k=3 y sin traslape de ventana Método 1 Bits a insertar 4300 4000 2500 1500 1000 Método 2 PSNR (dB) NCC PSNR (dB) NCC 30.71 30.75 32.29 35.69 38.23 1.0000 1.0000 1.0000 1.0000 1.0000 43.32 43.45 45.11 47.72 50.09 0.9453 0.9484 0.9465 0.9512 0.9509 Tabla 5.13 Degradación y Robustez de la marca en imagen “Chest”. Con umbral 0.001, k=3 y con traslape de ventana Método 1 Bits a insertar 4300 4000 2500 1500 1000 Método 2 PSNR (dB) NCC PSNR (dB) NCC 45.22 45.77 48.15 50.36 52.54 1.0000 1.0000 1.0000 1.0000 1.0000 46.22 46.62 48.79 51.40 53.07 0.9995 0.9995 1.0000 0.9986 0.9980 Tabla 5.14 Degradación y Robustez de la marca en imagen “Knee”. Con umbral 0.001, k=3 y sin traslape de ventana 73 Método 1 Bits a insertar 4300 4000 2500 1500 1000 Método 2 PSNR (dB) NCC PSNR (dB) NCC 45.87 46.27 48.01 50.08 51.59 1.0000 1.0000 1.0000 1.0000 1.0000 46.52 46.89 48.57 50.83 52.46 0.9990 1.0000 0.9992 0.9973 1.0000 Tabla 5.15 Degradación y Robustez de la marca en imagen “Knee”. Con umbral 0.001, k=3 y con traslape de ventana Método 1 Bits a insertar 2000 1500 1000 500 200 Método 2 PSNR (dB) NCC PSNR (dB) NCC 43.62 45.44 47.45 51.86 56.99 1.0000 1.0000 1.0000 1.0000 1.0000 48.54 50.26 52.13 56.19 61.09 1.0000 1.0000 1.0000 1.0000 1.0000 Tabla 5.16 Degradación y Robustez de la marca en imagen “Shoulder”. Con umbral 0.001, k=3 y sin traslape de ventana Método 1 Bits a insertar 2000 1500 1000 500 200 Método 2 PSNR (dB) NCC PSNR (dB) NCC 44.72 46.26 49.36 52.86 57.85 1.0000 1.0000 1.0000 1.0000 1.0000 49.37 50.75 53.27 56.76 60.73 1.0000 1.0000 1.0000 1.0000 1.0000 Tabla 5.17 Degradación y Robustez de la marca en imagen “Shoulder”. Con umbral 0.001, k=3 y con traslape de ventana 5.5 Discusión de resultados De los resultados obtenidos se puede concluir que se obtuvieron buenos resultados con respecto a la cantidad de información recuperada en el proceso de extracción de la marca, obteniendo porcentajes de recuperación por arriba del noventa por ciento, sin embargo, es importante mencionar que la información medica utilizada como marca en este trabajo es sensible a alteraciones en la misma. 74 Un claro ejemplo es el mostrado en la Tabla 5.4, por un lado, si queremos recuperar completamente la información insertada, es necesario sacrificar la calidad de la imagen final, por otro lado, si se desea que la calidad de la imagen no sea degradada o alterada de tal forma que interfiera en una mala interpretación de la imagen, es necesario sacrificar la información insertada. En la Tabla 5.5 se aprecian errores en la información recuperada, que pueden afectar el diagnostico o la interpretación que fue insertada originalmente, esta aspecto toma mayor importancia si los datos que se manejan son numéricos. Por otro lado, si la información que se desea ocultar es otra imagen, los resultados obtenidos demuestran que es factible recuperar la marca e identificarla, aun cuando la imagen marcada presente mucha degradación con respecto a la original. 75 76 Capítulo 6 Conclusiones y trabajo futuro 6.1 Conclusiones En este trabajo de investigación se implementó en software para marcas de agua aplicado en imágenes médicas de carácter radiológico; este esquema combina técnicas como compresión y cifrado de datos, así como técnicas de marcas de agua para incrementar la seguridad en la información referente a pacientes y sus diagnósticos. Por un lado, la compresión de datos permite incrementar la capacidad de información que se puede ocultar en las imágenes, satisfaciendo así el requerimiento de capacidad de los esquemas de marca de agua; por otro lado, técnicas de cifrado de datos permiten proteger información relevante de personas no autorizadas para conocer el contenido. Aunado a esto, la seguridad se incrementa al utilizar esquemas de marcas de agua permitiendo que la información insertada pase desapercibida. Hasta el momento, no existe algún esquema o algoritmo que sea robusto ante todos los ataques posibles que pueden ser aplicados a una imagen, cada uno de los algoritmos es diseñado dependiendo la aplicación en la cual será utilizado; es por eso 77 que este campo de investigación está en constante desarrollo, ideando e implementando métodos que sean robustos a mas ataques. 6.2 Trabajo futuro Basando se en la experiencia obtenida durante el desarrollo de este trabajo, se proponen lo siguiente: La utilización de técnicas de corrección de errores que permitan recuperar la información insertada de un amanera mas confiable, por un lado, la utilización de estas técnicas permitirán recuperar mas información, pero limitando la capacidad de datos a insertar, ya que estas técnicas agregan bits de redundancia para poder detectar y corregir errores en la información recuperada. Utilización de otras técnicas para realizar la inserción de la información en la imagen, que permitan que la degradación causada sea mínima, permitiendo que la calidad de la imagen no sea afectada por la información que será insertada. 78 Apéndice A Implementación en Matlab En esta sección se presenta el código en Matlab del esquema de marcas de agua para imágenes médicas. Se muestra el código de cada una de las etapas explicado en el capitulo cuatro de este trabajo. En la siguiente Figura se presenta el programa principal para el esquema de marcas de agua en imágenes médicas. En esta función, se establecen los parámetros para el recorrido de las imágenes, así como para la inserción de la información. clear all; close all; % Imagen Original IMG = imread('F:\00 Articulo MCIS 2006\Shoulder.jpg'); % Se obtiene el tamaño de la imagen. N = size(IMG,1); % Se convierten las matrices a double. IMG = double(IMG); %------------------------------------------------------------------------------% SE GENERA UNA MARCA DE AGUA ALEATORIA. %------------------------------------------------------------------------------Marca = lee_marca_agua('Diagnostico_2.txt'); % 1013 bytes de información. ani = size(Marca,1); sec = size(Marca,2); % Se inicializa la matriz que contendrá la marca recuperada Marca2 = zeros(ani,sec)-2; % Obtenemos la cantidad de bits a ocultar t_bits = anillos * sectores; % Se centra la imagen con respecto al centroide [IMG,mx11,my11] = Centrar(IMG,N,N,5); 79 %------------------------------------------------------------------------------% INICIALIZACION DE PARAMETROS %------------------------------------------------------------------------------rec = 3; t_v = 3; umb = 0.003; fprintf(1,'\nUmbral para homogeneidad normalizada = %d',umb); fprintf(1,'\nDesplazamiento = %d',rec); fprintf(1,'\nTamaño de ventana = %d',t_v); %------------------------------------------------------------------------------% SE INSERTA LA MARCA EN LA IMAGEN. %------------------------------------------------------------------------------[mx1,my1] = ait_centroid(IMG); [IMG_F,Marca] = Espiral_cuadrada(IMG,Marca,mx1,my1,rec,t_v,umb,N,sec,1,t_bits); degra = PSNR(IMG,IMG_F,N,N); fprintf(1,'PSNR = %d\n',degra); error = MSE(IMG,IMG_F,N,N); fprintf(1,'MSE = %d\n',error); muestra_marca(Marca,sec,ani); %------------------------------------------------------------------------------% Se calcula en angulo de la imagen para eliminar posibles rotaciones % angulo_1 = Calcula_Angulo_Imagen(IMG_F,N); % Se calculan el signo de los momentos centrales de primer orden para eliminar % posibles reflexiones en la imagen. % [or_x,or_y] = Calcula_signo(IMG_F,N); %------------------------------------------------------------------------------% A T A Q U E S %------------------------------------------------------------------------------% Reflejar la imagen. %IMG_F = fliplr(IMG_F); %IMG_F = flipud(IMG_F); %IMG_F = Elimina_flip(IMG_F,N,or_x,or_y); %------------------------------------------------------------------------------% SE EXTRAE LA MARCA DE LA IMAGEN MARCADA %------------------------------------------------------------------------------% Se elimina la posible rotacion en la imagen marcada. %IMG_F = Eliminar_rotacion_imagen(IMG_F,N,angulo_1); % Se eliminan las posibles reflexiones en la imagen marcada. %IMG_F = Elimina_flip(IMG_F,N,or_x,or_y); [mx1,my1] = ait_centroid(IMG_F); [IMG_F,Marca2] = Espiral_cuadrada(IMG_F,Marca2,mx1,my1,rec,t_v,umb,N,sec,2,t_bits); resulta = corr2(Marca,Marca2); fprintf(1,'\nPorcentaje recuperado = %f\n',resulta); muestra_marca(Marca2,sectores,anillos); A.1 Programa principal 80 La siguiente figura, muestra el código para leer un archivo y generar la secuencia de bits que será insertada en la imagen. function [marca] = lee_marca_agua(arch) marca = []; fid=fopen(arch); while 1 tline = fgetl(fid); if ~ischar(tline), break, end %disp(tline) tam = length(tline); for i = 1:tam elem = tline(i); marca = [marca,rellena(dec2bin(elem))]; end end fclose(fid); function [cad] = rellena(nume) cad = []; h = length(nume); if h

0 downloads 18 Views 2MB Size

Recommend Stories


CONDICIONES PARA EL REGISTRO DE LAS MARCAS
07/07/2016 PROHIBICIONES RELATIVAS DE REGISTRO DE MARCAS Angela Delgado Sergio Chuez Junio 2016 CONDICIONES PARA EL REGISTRO DE LAS MARCAS PROHIBIC

Boquillas para equipos de todas las marcas
12/18/07 10:15 AM Page 1 Boquillas para equipos de todas las marcas VAC-001 Nozzle Catalog SP:VAC-001 Nozzle Catalog_f VAC-001 Nozzle Catalog SP

Tarjeta roja para marcas deportivas
Encuentran químicos peligrosos en mercancía de la Copa Mundial. www . greenpeace . org Tarjeta roja para marcas deportivas. Resumen ejecutivo El p

Story Transcript

Esquema de Marcas de Agua para Imágenes Médicas Por

Raúl Rodríguez Colín

Tesis sometida como requisito parcial para obtener el grado de

MAESTRO EN CIENCIA EN LA ESPECIALIDAD DE CIENCIAS COMPUTACIONALES en el

Instituto Nacional de Astrofísica, Óptica y Electrónica. INAOE

Supervisada por:

Dra. Claudia Feregrino Uribe INAOE

Tonantzintla, Puebla. MEXICO Noviembre, 2006

i

Resumen En este trabajo…

i

ii

Índice General CAPÍTULO 1 1 Introducción ............................................................................................................. 1 1.1 Motivación ...................................................................................................... 4 1.2 Objetivo general .............................................................................................. 4 1.3 Objetivos específicos ...................................................................................... 5 1.4 Estructura de la tesis........................................................................................ 5

CAPÍTULO 2 2 Marco Teórico.......................................................................................................... 7 2.1 Compresión de datos ....................................................................................... 7 2.1.1 Compresores estadísticos .................................................................. 10 2.1.2 Algoritmo de Huffman...................................................................... 11 2.2 Criptografía ................................................................................................... 16 2.2.1 Cifradores de bloque ......................................................................... 18 2.2.2 Cifradores de flujo ............................................................................ 19 2.2.3 Aplicaciones de la criptografía.......................................................... 20 2.3 Esteganografía............................................................................................... 21 2.3.1 Métodos esteganográficos................................................................. 21 2.3.2 Ataques a la esteganografía............................................................... 23 Conclusiones ......................................................................................................... 24

CAPÍTULO 3 3 Marcas de agua....................................................................................................... 27 3.1 Clasificación.................................................................................................. 28 3.2 Aplicaciones.................................................................................................. 32 3.3 Requerimientos ............................................................................................. 34 3.4 Esquema de un sistema de marcas de agua................................................... 35 3.4.1 Inserción de la marca ........................................................................ 35 3.4.2 Detección / extracción de la marca ................................................... 36 3.5 Ataques.......................................................................................................... 37 3.6 Técnicas de marcas de agua .......................................................................... 39 3.6.1 En el dominio del espacio ................................................................. 39 3.6.2 En el dominio de transformada ......................................................... 41 3.7 Marcas de agua en imágenes médicas............................................................. 42 Conclusiones ......................................................................................................... 45

iii

CAPÍTULO 4 4 Esquema de marcas de agua para imágenes médicas .............................................47 4.1 Esquema general............................................................................................47 4.2 Algoritmo propuesto......................................................................................48 4.2.1 Generación de la marca de agua ........................................................49 4.2.2 Invariantes geométricos......................................................................49 4.2.3 Selección de regiones no homogéneas ..............................................52 4.2.4 Inserción / extracción de la información ...........................................53 Conclusiones..........................................................................................................56

CAPÍTULO 5 5 Experimentación y análisis de los resultados .........................................................57 5.1 Banco de pruebas...........................................................................................57 5.2 Evaluación de resultados ...............................................................................59 5.3 Experimentos .................................................................................................60 5.4 Resultados......................................................................................................67 5.5 Discusión de resultados .................................................................................74

CAPÍTULO 6 6 Conclusiones y trabajo futuro.................................................................................77 6.1 Conclusiones..................................................................................................77 6.2 Trabajo futuro ................................................................................................78

APÉNDICES A Implementación en Matlab ....................................................................................79

BIBLIOGRAFÍA .......................................................................................................89

iv

Índice de figuras y tablas CAPÍTULO 2 Figura 2.1 Construcción de un árbol de Huffman .......................................................... 15 Figura 2.2 Sistema criptográfico ............................................................................... 18 Figura 2.3 Sistema esteganográfico .......................................................................... 21 Tabla 2.1 Probabilidades de los símbolos de un mensaje ......................................... 13 Tabla 2.2 Códigos Huffman de los símbolos de un mensaje .................................... 15

CAPÍTULO 3 Figura 3.1 Clasificación de las marcas de agua. ....................................................... 28 Figura 3.2 Compromiso establecido en las técnicas de marcas de agua................... 35 Figura 3.3 Proceso de inserción ................................................................................ 36 Figura 3.4 Proceso de detección/extracción.............................................................. 37 Figura 3.5 Planos que conforman la imagen............................................................. 40 Figura 3.6 Ocultando información en los bits menos significativos......................... 40 Figura 3.7 Marca insertada en planos diferentes de una imagen .............................. 40 Figura 3.8 Proceso de inserción basado en transformada ......................................... 41 Figura 3.9 Proceso de extracción/detección basado en transformada....................... 41 Figura 3.10 Esquema de inserción de marca de agua aditiva ................................... 42 Figura 3.11 Componentes de seguridad de la información médica .......................... 43 Tabla 3.1 Técnicas de marca de agua según su dominio .......................................... 39

CAPÍTULO 4 Figura 4.1 Figura 4.2 Figura 4.3 Figura 4.4 Figura 4.5 Figura 4.6

Esquema general del algoritmo propuesto............................................... 47 Generación de la marca de agua .............................................................. 49 Recorrido en espiral realizado en la imagen............................................ 52 Modificación de pixeles en el proceso de inserción ................................ 53 Corrección de distorsión geométrica (rotación) ...................................... 54 Corrección de distorsión geométrica (reflexión) ..................................... 55

CAPÍTULO 5 Figura 5.1 Figura 5.2 Figura 5.3 Figura 5.4 Figura 5.5 Figura 5.6

Imágenes obtenidas en “Prueba 1” .......................................................... 61 Imágenes obtenidas en “Prueba 2” .......................................................... 63 Imágenes obtenidas en “Prueba 3” .......................................................... 65 Degradación producida en una imagen.................................................... 67 Capacidad máxima en imagen “Brain”.................................................... 68 Capacidad máxima en imagen “Chest” ................................................... 68

v

Figura 5.7 Capacidad máxima en imagen “Shoulder” ..............................................69 Figura 5.8 Capacidad máxima en imagen “Knee” ....................................................69 Figura 5.9 Degradación contra Capacidad en imagen “Brain” .................................70 Figura 5.10 Degradación contra Capacidad en imagen “Chest” ...............................71 Figura 5.11 Degradación contra Capacidad en imagen “Shoulder”..........................71 Figura 5.12 Degradación contra Capacidad en imagen “Knee”................................72 Tabla 5.1 Imágenes utilizadas en los experimentos ..................................................58 Tabla 5.2 Características de las imágenes utilizadas.................................................58 Tabla 5.3 Información utilizada como marca de agua...............................................59 Tabla 5.4 Parámetros y resultados del algoritmo en “Prueba 1” ...............................60 Tabla 5.5 Ejecución en Matlab de “Prueba 1”...........................................................62 Tabla 5.6 Parámetros y resultados del algoritmo en “Prueba 2” ...............................62 Tabla 5.7 Ejecución en Matlab de “Prueba 2”...........................................................64 Tabla 5.8 Parámetros y resultados del algoritmo en “Prueba 3” ...............................64 Tabla 5.9 Ejecución en Matlab de “Prueba 3”...........................................................67 Tabla 5.10 Degradación y Robustez de la marca en “Brain” 1 .................................72 Tabla 5.11 Degradación y Robustez de la marca en “Brain” 2 .................................73 Tabla 5.12 Degradación y Robustez de la marca en “Chest” 1.................................73 Tabla 5.13 Degradación y Robustez de la marca en “Chest” 2.................................73 Tabla 5.14 Degradación y Robustez de la marca en “Knee” 1..................................73 Tabla 5.15 Degradación y Robustez de la marca en “Knee” 2..................................74 Tabla 5.16 Degradación y Robustez de la marca en “Shoulder” 1............................74 Tabla 5.17 Degradación y Robustez de la marca en “Shoulder” 2............................74

APÉNDICE A Figura A.1 Programa principal.....................................................................................80 Figura A.2 Función que genera la marca a partir de un archivo ...............................81 Figura A.3 Función que recorre la imagen ................................................................84 Figura A.4 Función para insertar la información ......................................................85 Figura A.5 Función para recuperar la información ...................................................85 Figura A.6 Calcula la homogeneidad y luminancia de una imagen ..........................86 Figura A.7 Calcula el angulo de una imagen.............................................................86 Figura A.8 Código utilizado para corregir reflexiones en una imagen .....................87 Figura A.9 Función que elimina la rotación en una imagen......................................87 Figura A.10 Función que elimina una reflexión en una imagen ...............................88 Figura A.11 Métricas para evaluación de resultados.................................................88

vi

Capítulo 1 Introducción Los avances en el conocimiento médico y la técnica, han hecho posible el diagnóstico de numerosas enfermedades del hombre. El uso de los Rayos X y la radiología ha sido un factor importante para el desarrollo de la medicina en el siglo XXI.

En años recientes la propagación de la tecnología digital en el campo médico se ha acelerado. En este campo, y en especial el área de radiología se ha ampliado con el uso de otras técnicas: ultrasonido, medicina nuclear, tomografía computarizada, resonancia magnética, radiología digital y técnicas de intervención que incrementan cada vez más la capacidad de los radiólogos para diagnosticar y curar enfermedades. Esta tecnología digital consiste en dispositivos de adquisición de imágenes, unidades de almacenamiento, estaciones de visualización y bases de datos.

Muchos de los sistemas de exploración empleados para el diagnóstico médico se basan en el estudio de imágenes, dichos sistemas obtienen una imagen en un soporte físico (placas radiográficas, papel) que puede ser reproducido y archivado. Una de las ventajas que ofrece la utilización de tecnología digital es la manipulación de imágenes digitales para un mejor diagnóstico y la reducción del número de exposiciones de los pacientes a la radiación. Esto permite incrementar la velocidad de operación del área de radiología y reducir los costos de operación.

1

Las necesidades de almacenamiento y manipulación de imágenes médicas surge a partir de los años 70’s como consecuencia del desarrollo de la tomografía computarizada como medio de diagnostico basado en imágenes digitales. Desde entonces, se han desarrollado diferentes técnicas en la obtención de imágenes. Estas técnicas han contribuido a la generación de diferentes tipos de imágenes médicas digitales para diagnostico, junto con el consecuente incremento en la producción de las mismas.

La radiología convencional y los sistemas de radiología computada (que utilizan placas de fósforo), ocupan entre el 70 y el 80%, e incluso, llegando en algunos servicios de radiología a alcanzar el 85% del volumen total de exploraciones radiográficas. La gran cantidad de imágenes producidas para diagnóstico, han hecho complicado el manejo de las imágenes principalmente en la impresión y almacenamiento posterior, produciendo una gran demanda de medios de almacenamiento mas apropiados (no impresiones en papel o en placas radiográficas) y, a su vez, métodos de transferencia entre dispositivos manufacturados por diferentes compañías.

Para el caso de las imágenes médicas, además de los atributos de la imagen y de la imagen misma, normal o comprimida, se agregan datos demográficos y de identificación del paciente, información acerca de las condiciones de adquisición y, en algunos casos, información del examen, serie a la que pertenece la imagen y orden que guarda en un estudio. Por lo tanto, es necesario contar con sistemas de información que ofrezcan una alternativa en el manejo de imágenes médicas a gran escala, facilitando todas las actividades relacionadas con las mismas en beneficio de los pacientes de un hospital.

Los sistemas PACS (Picture Archiving and Communication Systems) ofrecen una alternativa para el manejo de imágenes digitales de forma eficiente, además de ofrecer ventajas sobre el manejo manual de imágenes.

2



Se obtiene la facilidad de transmitir una imagen a un lugar remoto vía una red de telecomunicación.



Se puede incorporar la información de diagnóstico a las imágenes.



Se tiene la posibilidad de consultar bancos de imágenes con patologías similares con la finalidad de apoyar la capacitación y la enseñanza de los radiólogos en formación.

Los sistemas PACS están integrados por un conjunto de dispositivos, cuya responsabilidad es la de ofrecer todos los elementos operacionales en el área de radiología y áreas dependientes, entre estas demandas se incluye la Adquisición de imágenes; muchas de las modalidades de radiología son digitales (tomografía computarizada, resonancia magnética, medicina nuclear, entre otras). Sin embargo existen modalidades cuya información es analógica requiere de digitalizadores (radiología convencional y ultrasonido).

En un principio, para el caso de las imágenes médicas digitales, cada fabricante de equipos generadores de imágenes médicas tenía su propia especificación para el manejo de información. Esto provocó el surgimiento de problemas al tratar de integrar los distintos formatos de imágenes digitales particulares de cada fabricante. Por estas razones surgió la necesidad de estandarizar el proceso de manipulación de imágenes médicas digitales. Este trabajo fue iniciado en 1983 por un comité formado por el Colegio Americano de Radiología (ACR) y la Asociación Nacional de Manufactura Eléctrica (NEMA), así surgió el estándar DICOM (Digital Imaging and Communication in Medicine) que es utilizado mundialmente para el intercambio de imágenes médicas, así como manejo, almacenamiento, impresión y transmisión de imágenes médicas.

3

DICOM

permite la integración de escáners, servidores, estaciones de trabajo,

impresoras y hardware de red de múltiples proveedores dentro de un sistema de almacenamiento y comunicación de imágenes. El estándar describe el formato de archivos y la especificación de los datos primordiales de un paciente en la imagen así como el encabezado requeridos, describiendo un lenguaje común a distintos sistemas médicos. De esta forma las imágenes vienen acompañadas de mediciones, cálculos e información descriptiva relevante para diagnósticos.

1.1 Motivación Dentro del ámbito médico se ha enfatizado la importancia de la seguridad en el manejo de la información médica (nombre del paciente, edad, sexo, estudio realizado, diagnóstico, etc.), ya que es habitual que el médico utilice como material didáctico imágenes y expedientes clínicos de sus pacientes. En este caso también se debe contar con el consentimiento del paciente ya que existe la posibilidad de que el paciente dé al médico sus datos para que éste los utilice únicamente para fines médicos y no para emplearlos con fines de investigación o para la docencia.

1.2

Objetivo General •

Diseñar e implementar un algoritmo que combine técnicas de marcas de agua utilizadas en algoritmos robustos con técnicas esteganográficas de algoritmos de alta capacidad para ocultar información, referente al paciente y al estudio radiológico.

4

1.3

Objetivos Específicos •

Ocultar información en imágenes radiológicas en escala de grises sin sacrificar en gran medida la calidad de la imagen, es decir, la degradación producida en la imagen marcada sea mínima.



Desarrollar un algoritmo que supere la capacidad de ocultamiento de información en imágenes médicas digitales de los algoritmos robustos actuales.

1.4

Estructura de la tesis

En el capítulo 2 se mencionan los fundamentos necesarios para el desarrollo del presente trabajo. Entre estos fundamentos se mencionan algunos relacionados con la protección de información tales como criptografía y la esteganografía, así como la compresión de datos, la cual nos permite ocultar más información en imágenes médicas.

En el capítulo 3 se describen a detalle las características de técnica de marcas de agua: clasificación, aplicaciones, requerimientos, esquema general de un sistema de marcas de agua (inserción, detección y extracción de la información oculta), ataques, etc. Al final del capítulo se hace una recopilación de manera breve de los diferentes algoritmos existentes.

En el capítulo 4 se describe el esquema del algoritmo de marcas de agua propuesto. En este capítulo se hace uso de técnicas de compresión de datos para incrementar la cantidad de información que se puede ocultar en las imágenes médicas, así como técnicas criptográficas para incrementar la seguridad en los datos que se ocultan en

5

dichas imágenes, finalmente, la utilización de las marcas de agua, para ocultar la presencia de la información en las imágenes médicas.

En el capítulo 5 se muestran los resultados obtenidos, la implementación del algoritmo propuesto, así como la descripción del conjunto de imágenes utilizadas en las pruebas, al final se discuten los resultados obtenidos.

Finalmente, en el capítulo 6 se mencionan las conclusiones a las que se llegaron durante el desarrollo de este trabajo así como el trabajo futuro.

6

Capítulo 2 Marco Teórico Para el desarrollo de este trabajo se requiere conocer las diferentes técnicas que existen para la protección de información, es decir, la manera en que la información es procesada para establecer medidas de seguridad contra personas que no están autorizadas para conocer dicha información. En este capítulo se presentan los fundamentos teóricos para realizar el desarrollo de un algoritmo de marcas de agua aplicado a imágenes médicas radiológicas.

2.1

Compresión de datos

En los últimos años, el aumento en la capacidad de almacenamiento de información como en la velocidad de procesamiento en la computadoras y el aumento de velocidad en dispositivos de almacenamiento ponen en cuestionamiento la necesidad de utilizar la compresión de datos, en este trabajo se utiliza la compresión de información para incrementar la capacidad de ocultamiento en las imágenes médicas.

Una de las técnicas que ayudan a mejorar el funcionamiento de una red es la compresión de datos. La compresión de datos beneficia en el sentido que el proceso compresión-transmisión-descompresión es más rápido que el proceso de transmitir datos sin compresión. La compresión de datos es el proceso de codificar información usando menos bits o unidades de información utilizando esquemas de codificación

7

específicos. Los algoritmos de compresión buscan redundancia en los datos y la eliminan, por lo tanto, entre más sea la redundancia, es mayor la razón de compresión que se obtiene. La redundancia depende del tipo de datos (texto, imágenes, audio, etc.), por lo tanto, no existe un método de compresión universal que pueda ser óptimo para todos los tipos de datos [1]. La compresión de datos no sólo es para la transmisión de información, sino también para el almacenamiento. La compresión de datos ayuda a reducir el consumo de recursos, tales como espacio en disco duro o ancho de banda.

El desempeño de un algoritmo de compresión se mide según la razón de compresión que alcanza (ecuación 2.1) y el factor de compresión (ecuación 2.2); siendo este último el inverso del primero.

Rc =

tamaño del archivo comprimido (bytes) tamaño del archivo original (bytes)

(2.1)

Fc =

tamaño del archivo original (bytes) tamaño del archivo comprimido (bytes)

(2.2)

Los algoritmos de compresión se pueden clasificar tomando en cuenta los siguientes factores: •

Por el tiempo necesario para comprimir/descomprimir.

1. Simétricos: En este tipo de compresores el proceso de descompresión consume una cantidad de tiempo igual al consumido en el proceso de compresión. Este tipo de compresores son muy utilizados en aplicaciones que requieren la transmisión de datos en tiempo real. Por ejemplo, aplicaciones de videoconferencias, voz sobre IP y aplicaciones de telemedicina.

8

2. Asimétricos: En este tipo de compresores el tiempo requerido para la compresión y descompresión difiere, generalmente el proceso de compresión tarda mucho tiempo en comparación con la descompresión. Estos compresores son utilizados generalmente para comprimir grandes volúmenes de datos, con la característica de que el proceso de compresión generalmente se realiza solo una vez, mientras que la descompresión se lleva a cabo muchas veces. •

Según el modelo utilizado, se clasifican en:

1. No adaptativo: En este tipo de compresores, el proceso de compresión es constante. Estos tipos de compresores son rápidos, pues no es necesario un reconocimiento previo de los datos a comprimir. La implementación del algoritmo de compresión es muy sencillo pero la razón de compresión generalmente es muy baja [1].

2. Semi-adaptativo: Estos compresores definen el modelo basado en una exploración previa del total de datos a comprimir y después se aplica dicho modelo de forma invariable en el proceso de compresión. Para el funcionamiento de estos compresores se requiere que los datos a comprimir estén almacenados o que su transmisión se lleve a cabo dos veces (en la primera transmisión se establece el modelo y en la siguiente se aplica dicho modelo para realizar la codificación).

3. Adaptativo: Este tipo de compresores se caracteriza por la actualización dinámica del modelo. Es decir, conforme se realiza la compresión, el modelo aplicado varia dependiendo del comportamiento de los datos de entrada.

9

La compresión de datos se puede dividir en dos tipos principales: compresión con pérdida (lossy compression) y compresión sin pérdida (lossless compression). En la compresión sin pérdida, es posible reconstruir exactamente los datos originales a partir del archivo comprimido. Por otro lado, en la compresión con pérdida, la descompresión produce una aproximación a los datos originales.

La compresión de datos sin pérdida es comúnmente utilizada en aplicaciones como la compresión de texto, donde la pérdida de un solo bit de información afecta el resultado obtenido en la descompresión. La compresión con pérdida a menudo es utilizada en aplicaciones de compresión de imágenes y audio. No es el caso en aplicaciones de compresión de imágenes médicas [2]. Los métodos de compresión con pérdida obtienen mejores razones de compresión que las técnicas sin pérdida.

2.1.1 Compresores Estadísticos Los métodos de compresión estadísticos usan las propiedades estadísticas de los datos que van a comprimirse para asignar códigos de longitud variable a los símbolos individuales en los datos. Existen varios métodos estadísticos, la principal diferencia entre ellos es la forma en la que cada uno obtiene las probabilidades de los símbolos [3]. Los métodos estadísticos emplean un modelo para obtener las probabilidades de los símbolos, la calidad de la compresión que se logra depende de qué tan bueno sea ese modelo. Para obtener buena compresión, la estimación de la probabilidad se basa en el contexto en el que ocurren los símbolos. Dadas las probabilidades de los símbolos, la codificación se encarga de convertir dichas probabilidades en una cadena de bits para obtener los datos en forma comprimida. Los métodos estadísticos comúnmente usados son Codificación Huffman, Codificación Aritmética y PPM.

10

En estos compresores, se pueden utilizar las siguientes variantes del modelo estadístico:

1. No adaptativo: En este tipo de compresores, las probabilidades de los símbolos son constantes. Son rápidos, pues solo se realiza una sola pasada sobre los datos, pero la razón de compresión es muy baja. El algoritmo de compresión es muy sencillo.

2. Semi-adaptativo: Los compresores semi-adaptativos realizan dos pasadas sobre la secuencia de símbolos a codificar. En la primera pasada se calculan las probabilidades asociadas y el la segunda se realiza la codificación.

3. Adaptativo: Las probabilidades instantáneas de los símbolos varían conforme se produce la compresión. Se realiza un único recorrido de los símbolos codificados. Así, la longitud de los códigos que son asignados a los símbolos, aumenta o disminuye según la frecuencia de aparición de estos en el tiempo.

A continuación se describirá el algoritmo de Huffman, este algoritmo estadístico no adaptativo, el cual es utilizado en este trabajo para realizar la compresión de la información, ya que ofrece una razón de compresión de 2:1.

2.1.2 Algoritmo de Huffman La codificación de Huffman fue descrita por primera vez por David A. Huffman en 1952 en un artículo llamado “A Method fo the Construction of Minimun Redundancy Codes”. Debido a su facilidad de cómputo, es ampliamente utilizado en programas de compresión, facsímiles y en esquemas de compresión de imágenes como JPEG. El compresor de Huffman presenta las siguientes características:

11

1. Utiliza códigos de longitud variable, asignando a los símbolos más frecuentes un código de compresión de menor longitud a costa de asignar códigos de mayor longitud a los menos frecuentes.

2. El número de bits por código de compresión es un número entero. Esto provoca que si la entropía de un símbolo es 2.5 bits, el código de Huffman asignará un código con una longitud de 2 ó 3 bits, pero no 2.5 bits. Debido a esto, la codificación de Huffman no puede ser considerada como un método de codificación óptimo, pero si es la mejor aproximación para construir códigos de compresión con un número entero de bits.

3. Aunque los códigos asociados a símbolos diferentes tienen diferente longitud, éstos pueden ser decodificados de forma única e instantánea. Esto debido a que en la codificación Huffman se usan códigos instantáneos

Para construir un código de Huffman normalmente se utiliza un árbol binario que se construye a partir de las probabilidades de los símbolos que se desean codificar. El diseño de dicho árbol se realiza de la siguiente forma:

1. Crear tantos nodos (que serán las hojas del árbol) como símbolos se vayan a codificar. En cada nodo se almacena el símbolo codificado y su probabilidad. Estos nodos forman la lista de nodos sin procesar. 2. Extraer los dos nodos de la lista de nodos sin procesar que tengan la probabilidad menor. 3. Insertar en la lista un nodo que sea padre de los nodos seleccionados. Este nodo no tiene asociado ningún símbolo y su probabilidad será la suma de las probabilidades de los nodos hijos. 4. Repetir los pasos 2 y 3 hasta que únicamente se tenga un nodo en las lista de nodos sin procesar, nodo que debe tener una probabilidad igual a 1 y que se llama nodo raíz del árbol de Huffman.

12

Una vez construido el árbol, el código de compresión asociado a un símbolo se calcula recorriendo el árbol desde la raíz hasta el símbolo codificado.

Ejemplo: Si las probabilidades de las letras en un mensaje son:

Letra

Probabilidad

a

0.121

b

0.051

c

0.137

d

0.094

e

0.274

f

0.281

g

0.042

Tabla 2.1 Probabilidades de los símbolos de un mensaje

Entonces la construcción del árbol de Huffman es: Paso 1:

Paso 2:

13

Paso 3:

Paso 4:

Paso 5:

Paso 6:

14

Paso 7:

Figura 2.1 Construcción de un árbol de Huffman

Finalmente, los códigos asignados a las letras son:

Letra

Código binario

a

010

b

0000

c

011

d

001

e

10

f

11

g

0001

Tabla 2.2 Códigos Huffman de los símbolos de un mensaje

Es importante observar que el código generado por el algoritmo para cada uno de los símbolos es único, es decir, no tendrá palabras código prefijos de otras palabras código.

15

2.2

Criptografía

La palabra criptografía proviene del griego krypto que significa escondido y de la palabra graphein que significa escritura, por tanto, cuando se habla de criptografía, se refiere a esconder, ocultar o hacer ininteligible cierta información. El objetivo de la criptografía es proteger el contenido de los archivos durante su transmisión, modificando los datos originales de manera que sólo puedan ser recuperados por personas autorizadas. Una vez que los datos son recibidos y descifrados, la protección del contenido se pierde y éste queda expuesto a diversos ataques.

Durante siglos, el principal uso de la criptografía se redujo principalmente a sus aplicaciones en la diplomacia, particularmente en tiempos de guerra. Los primeros sistemas criptográficos realizaban el ocultamiento de la información mediante técnicas de transposición y sustitución. Algunos ejemplos de estos sistemas son el Cifrado de César, la Escítala y la máquina Enigma [4]. Sin embargo, en años recientes se han dado grandes avances en las tecnologías para comunicación digital y móvil; tales como telefonía inalámbrica y celular, sistemas de comunicación personal, etc. La transmisión y almacenamiento seguro de la gran cantidad de información digital utilizada en estas aplicaciones tiene una importancia crucial, especialmente, en el caso del comercio electrónico y móvil.

La criptografía es crucial en los sistemas de seguridad [5]. Los sistemas criptográficos (criptosistemas) son controlados por el uso de una llave, con la cual realizan la transformación de la información. Los criptosistemas realizan los tres objetivos de la seguridad de la información: confidencialidad, integridad y disponibilidad. La confidencialidad e integridad se dividen en 5 servicios:

16



Confidencialidad: El acceso a la información es restringido a entidades autorizadas.



Autenticación de usuario: Las partes involucradas en una transacción segura son quienes dicen ser.



Autenticación de datos de origen: Se asegura el origen de los datos.



Integridad de los datos: Los datos no han sido modificados por entidades no autorizadas durante la transmisión.



No repudio: Quien ha realizado una transacción, no puede negar después que fue quien la realizó.

Históricamente, los criptosistemas han proporcionado únicamente el servicio de confidencialidad [6]. La confidencialidad se logra a través del cifrado de los datos. El cifrado transforma datos legibles “texto en claro” (cleartext) en datos totalmente ininteligibles “texto cifrado” (ciphertext) mediante la aplicación de un algoritmo cuya entrada es una cadena de bits conocida como llave (Figura 2.1). El proceso inverso de convertir texto cifrado en texto en claro es llamado descifrado y se requiere nuevamente de una llave para realizarlo. Un criptosistema consiste de una 5-tupla (M, C, K, E, D), donde: •

M representa el conjunto de todos los mensajes sin cifrar (texto en claro).



C representa el conjunto de todos los posibles mensajes cifrados.



K representa el conjunto de claves que se pueden emplear en el criptosistema.



E es el conjunto de transformaciones de cifrado o familia de funciones que se aplica a cada elemento de M para obtener un elemento de C.



D es el conjunto de transformaciones de descifrado, análogo a E.

17

Figura 2.2 Sistema criptográfico

2.2.1 Cifradores de bloque Los algoritmos de cifrado por bloques toman bloques de tamaño fijo del texto en claro (cleartext) y producen un bloque de tamaño fijo de texto cifrado (ciphertext), generalmente del mismo tamaño que la entrada. El tamaño del bloque debe ser lo suficientemente grande como para evitar ataques de texto cifrado. La asignación de bloques de entrada a bloques de salida debe ser uno a uno para hacer el proceso reversible y parecer aleatoria.

Para la asignación de bloques los algoritmos de cifrado simétrico realizan sustituciones y permutaciones en el texto en claro hasta obtener el texto cifrado. •

La sustitución es el reemplazo de un valor de entrada por otro de los posibles valores de salida, en general, si usamos un tamaño de bloque k, el bloque de entrada puede ser sustituido por cualquiera de los 2k bloques posibles.



La permutación es un tipo especial de sustitución en el que los bits de un bloque de entrada son reordenados para producir el bloque cifrado, de este modo se preservan las estadísticas del bloque de entrada (el número de unos y ceros).

18

Los algoritmos de cifrado por bloques iterativos funcionan aplicando en sucesivas rotaciones una transformación (función de rotación) a un bloque de texto en claro. La misma función es aplicada a los datos usando una subclave obtenida de la clave secreta proporcionada por el usuario. El número de rotaciones en un algoritmo de cifrado por bloques iterativo depende del nivel de seguridad deseado.

2.2.2 Cifradores de flujo Generalmente operan sobre 1 bit (o sobre bytes o palabras de 16 ó 32 bits) de los datos de entrada cada vez. El algoritmo genera una secuencia (secuencia cifrante o keystream en inglés) de bits que se emplea como clave. El cifrado se realiza combinando la secuencia cifrante con el texto en claro.

El paradigma de este tipo de algoritmos es el One Time Pad, que funciona aplicando una XOR (ó-exclusiva) a cada bit de la entrada junto con otro generado de forma aleatoria para obtener cada bit de la salida. La secuencia de bits aleatorios es la clave de la sesión, secuencia de cifrado o el pad, que es del mismo tamaño que la entrada y la salida. Para recuperar el texto original, el texto cifrado debe pasar por el mismo proceso empleado para cifrar usando el mismo pad. Este algoritmo es conocido por ser el único incondicionalmente seguro, aunque, como las claves son del mismo tamaño que la entrada, es de poca utilidad práctica.

Los algoritmos de este tipo son intentos de conseguir algoritmos prácticos que se aproximen al funcionamiento del one time pad.

19

2.2.3 Aplicaciones de la criptografía La criptografía es una disciplina con multitud de aplicaciones, muchas de las cuales están en uso hoy en día. Entre las más importantes destacamos las siguientes: •

Seguridad de las comunicaciones. Es la principal aplicación de la criptografía a las redes de computadoras, ya que permiten establecer canales seguros sobre redes que no lo son. Además, con el poder de procesamiento actual y empleando algoritmos de cifrado simétrico (que se intercambian usando algoritmos de clave pública) se consigue la privacidad sin perder velocidad en la transferencia.



Identificación y autenticación. Gracias al uso de firmas digitales y otras técnicas criptográficas es posible identificar a un individuo o validar el acceso a un recurso en un entorno de red con más garantías que con los sistemas de usuario y clave tradicionales.



Certificación. La certificación es un esquema mediante el cual agentes fiables (como una entidad certificadora) validan la identidad de agentes desconocidos (como usuarios reales). El sistema de certificación es la extensión lógica del uso de la criptografía para identificar y autenticar cuando se emplea a gran escala.



Comercio electrónico. Gracias al empleo de canales seguros y a los mecanismos de identificación se posibilita el comercio electrónico, ya que tanto las empresas como los usuarios tienen garantías de que las operaciones no pueden ser espiadas, reduciéndose el riesgo de fraudes y robos.

20

2.3

Esteganografía

Mientras que la criptografía se encarga de proteger el contenido de los mensajes, la esteganografía es una técnica que se encarga de ocultar y proteger tanto el mensaje como la existencia del mensaje. Esteganografía proviene de los vocablos griegos stegos que significa oculto y graphos que significa escritura, es decir esteganografía significa escritura oculta.

Figura 2.3 Sistema esteganográfico

2.3.1 Métodos esteganográficos Métodos clásicos. La esteganografía da sus primeros pasos en la antigua Grecia. Se cuenta en “Las Historias de Herodoto” que Demeratus quería comunicar a la ciudad de Esparta que Xerxes tenía planes para invadir Grecia. Para evitar ser capturado por espionaje en los controles, escribió sus mensajes en tablas que luego fueron cubiertas con cera, de forma que parecían no haber sido usadas. Ésta es posiblemente una de las primeras manifestaciones en la historia de mensajes esteganográficos. Otro método usado durante siglos consistía en tatuar al mensajero (generalmente un esclavo) un mensaje en la cabeza afeitada para después dejarle crecer el pelo y enviar así el mensaje oculto.

21

Cifrado nulo (Null Cipher). El método de escritura de meta-información en un texto es usado desde hace siglos, y sigue siendo usado hoy en día. Esto es debido a que se trata posiblemente de uno de los métodos más sencillos de ocultar información. Consiste en escribir un texto aparentemente inofensivo donde, mediante algún mecanismo conocido por el legítimo receptor de la información (actualmente hablamos de algoritmos y claves), subyace la información realmente importante. Veamos un ejemplo de un mensaje real enviado por un espía alemán durante la Segunda Guerra Mundial:

Apparently neutral's protest is thoroughly discounted and ignored. Isman hard hit. Blockade issue affects pretext for embargo on by products, ejecting suets and vegetable oils.

Si de este inocente texto extraemos la segunda letra de cada palabra, obtendremos este otro mensaje: Pershing sails from NY June 1

Aquí vemos lo fácil que es esconder información en textos, así como comprendemos la necesidad de gran cantidad de información (ruido) para ocultar la auténtica información de forma que no llame la atención.

Tinta invisible. Aunque el método de escritura con tinta invisible es usado desde la edad media, es en la Segunda Guerra Mundial cuando adquiere una importancia capital. Fue usado muy activamente por la resistencia en los campos de prisioneros nazis. Generalmente se usa de la siguiente forma: en primer lugar se escribe una carta completamente normal, y después se escribe, entre las líneas de esa carta, otro texto donde está la información importante. Era habitual el uso de vinagre, zumos de frutas

22

u orina, aunque hoy en día existen compuestos químicos específicos que sirven igualmente y no desprenden olores tan fuertes (que serían fácilmente detectados por un perro entrenado). Al calentar el papel, la escritura oculta se hace visible.

Micropuntos. La tecnología de los micropuntos fue inventada por los alemanes durante la Segunda Guerra Mundial y fue usada de forma muy activa durante la época de la guerra fría.

La técnica se basa en esconder puntos minúsculos en fotografías, tan pequeños que para el ojo humano e incluso para instrumentos ópticos básicos como lupas- resultan invisibles, pero que forman un patrón de información significativa.

Debido a la naturaleza analógica de esta técnica, resultaba fácilmente detectable para los servicios de inteligencia, si bien advertir la presencia de mensajes esteganográficos no siempre significa que puedan ser legibles. Aún así, descubrir la presencia de un mensaje esteganográfico se considera un fracaso de la esteganografía que lo soporta, pues la imposibilidad de comprender su contenido conforma su capa de cifrado.

2.3.2 Ataques a la esteganografía. Los dos métodos más usados para detectar y atacar la esteganografía son: •

Ataque visual Consiste en buscar de forma manual diferencias entre el medio

original

(imagen, audio, etc.) y el stego-medio, siempre y cuando dispongamos del archivo original. En caso de no disponer de él, se pueden buscar irregularidades en el stego-archivo para tratar de encontrar signos de la existencia de datos ocultos, pero difícilmente se puede obtener información útil más allá de la existencia de los mismos. Esta técnica es la más rudimentaria a la hora de realizar análisis esteganográfico y no tiene mucha utilidad real.

23



Ataque estadístico El concepto de este tipo de ataques se basa en la comparación de la frecuencia de distribución de colores de un posible stego-medio con la frecuencia que se puede esperar en teoría de un stego-medio. Aunque los resultados son bastante buenos (ha demostrado en muchas ocasiones ser efectiva), esta técnica es extremadamente lenta. El ataque estadístico es muy complicado, por lo que se automatiza mediante diversos programas.

Conclusiones En este capitulo se han presentado los fundamentos de la compresión y de la criptografía que serán utilizados en el desarrollo de este trabajo de investigación. Primeramente se hizo una descripción de los métodos de compresión estadísticos, de los cuales el algoritmo de Huffman fue elegido para este trabajo. Posteriormente se describieron los métodos de criptografía, de estos, se seleccionó un algoritmo de cifrado de flujo, ya que su implementación es sencilla y el costo computacional es mínimo.

Se concluye que es factible la combinación de técnicas de compresión con técnicas de cifrado de datos, este proceso de combinación debe ser en el orden compresióncifrado, en este orden, se reduce la información que debe ser cifrada y por consiguiente el costo computacional se reduce. Si el proceso es invertido cifradocompresión, no se aprovechan las ventajas de ambos esquemas; debido a que el cifrado convierte los datos originales en datos ininteligibles, con esto, la redundancia que existía en los datos originales se pierde, impidiendo que el compresor obtenga una buena razón de compresión de los datos.

24

Finalmente, la esteganografía permite ocultar información en archivos multimedia, de manera que la existencia de esta información sea desapercibida, la utilización de la compresión, la criptografía y la esteganografía en un sólo esquema permiten: •

Aumentar la cantidad de información a ocultar en archivos multimedia (audio, imagen, video) mediante la utilización de técnicas de compresión.



Incrementar la seguridad en la información comprimida mediante el uso de técnicas de cifrado, aunado a esto, la seguridad que ofrecen los esquemas esteganográficos en el proceso de transmisión o almacenamiento de datos.

25

26

Capítulo 3 Marcas de Agua El nombre de esta técnica (watermarking en inglés) proviene de las tradicionales técnicas utilizadas por algunas personas para certificar la autenticidad y el origen de documentos de papel a través de variaciones en la opacidad de los mismos. El caso más claro es el que se aprecia en los billetes de banco cuando se miran a contraluz.

Las marcas de agua digitales es otra técnica de protección de información. El objetivo de esta técnica es ocultar o insertar cierta cantidad de información en un medio digital (imagen, audio o video),

modificando este medio de manera mínima, y

posteriormente extraer la información insertada del medio modificado para ciertos propósitos (autenticación, control de copias, verificación de la integridad de la información, derechos de autor, etc.). La información insertada es llamada “marca de agua” (watermark) y el medio donde se inserta es llamado “medio o señal de cobertura” (cover médium, host medium), mientras el medio modificado es llamado “medio marcado o stego-medio” (watermarked medium, stego-medium).

Aunque la esteganografía y las marcas de agua son técnicas utilizadas para la comunicación encubierta, la esteganografía se encarga solo de cubrir la comunicación punto a punto entre dos partes [ref. 1a]. Los métodos esteganográficos no son robustos ante ataques o modificaciones en los datos que pudieran ocurrir durante la transmisión, almacenamiento o conversión de formato [ref. 2a].

27

Las marcas de agua con respecto a la esteganografía

tienen requerimientos

adicionales de robustez contra posibles ataques. Un sistema esteganográfico ideal debe insertar una gran cantidad de información perfectamente segura, sin degradación visible en el medio de cobertura. Es por eso que en las marcas de agua existe un compromiso entre la capacidad y la seguridad para obtener mayor robustez [ref. 3a].

3.1

Clasificación

Las marcas de agua y las técnicas de marcas de agua pueden ser divididas en tres categorías (tipo de dominio, formato de la información y tipo de percepción humana); a su vez, cada categoría contiene subclasificaciones (ver Figura 3.1).

Figura 3.1 Clasificación de las marcas de agua.

28

Las técnicas de marcas de agua pueden ser divididas en cuatro categorías acorde al tipo de información multimedia (texto, imagen, audio y video):

MARCAS DE AGUA EN TEXTO 1. Alteración de los espacios en blanco: La alteración del espacio entre líneas, entre palabras, o la inclusión de espacios en blanco al final de una frase, son difícilmente detectables y permite construir códigos fácilmente. 2. Métodos sintácticos: Un posible sistema de marcado se basa en la alteración de los signos de puntuación en aquellos casos en los que no afecte al significado. La cantidad de bits que se puede ocultar con este método es muy baja.

Entre las aplicaciones del ocultamiento de información en textos cabe resaltar que: •

Permite a los editores de texto comprobar si un archivo ha sido modificado, además de insertar los datos del autor dentro del propio archivo.



Protección de documentos ante una difusión no autorizada del material.

MARCAS DE AGUA EN IMÁGENES Entre los diferentes esquemas para ocultar información en imágenes se encuentran: 1. Modificación del bit menos significativo (LSB): Consiste en modificar el bit menos significativo de los píxeles para insertar la marca de agua. 2. Marcado en el dominio de frecuencia: Esta técnica consiste en modificar los coeficientes resultantes de aplicar una transformada a la imagen y posteriormente aplicar la transformada inversa para obtener la imagen marcada.

29

MARCAS DE AGUA EN AUDIO Entre los diferentes esquemas para ocultar información en audio se encuentran: 1. Modificación del bit menos significativo (LSB): consiste en modificar el bit menos significativo de cada una de las muestras de la señal. La desventaja de esta técnica es que introduce ruido perceptible en la señal. 2. Codificación de fase: El sistema auditivo humano es insensible a cambios absolutos en la fase de la señal. De esta forma se puede ocultar información en la fase dividiendo una señal de audio en segmentos (tramas) y sustituyendo la fase del segmento inicial por la información a ocultar. 3. Técnicas de espectro ensanchado: Se trata de un método similar al utilizado en sistemas de comunicaciones. Este método concentra el mensaje a transmitir en un ancho de banda lo más limitado posible, para obtener un uso eficiente del canal de comunicaciones. 4. Introducción de eco: Consiste en introducir eco en la señal que contendrá la información. Los datos a ocultar se codifican en la amplitud inicial.

MARCAS DE AGUA EN VIDEO Similar a las técnicas en imágenes, con la diferencia de que el marcado se realiza en cada uno de los cuadros (frames) que componen el video.

Acorde al tipo de percepción humana, las marcas de agua digitales pueden ser divididas en dos tipos: •

Marca de agua visible: Es aquella la cual aparece visible ante los usuarios con una cuidadosa inspección, es decir, la marca de agua es visible a simple vista. Una marca de agua visible puede utilizarse para que los usuarios verifiquen rápidamente cuál es la fuente de los datos.



Marca de agua invisible: La inserción de una marca de agua implica la modificación del archivo donde es insertada, las marcas de agua invisibles logran

30

que estos cambios sean imperceptibles, esto es posible debido a que el sistema visual humano (SVH) no es un detector perfecto y esto es aprovechado para lograr que ciertas modificaciones pasen desapercibidas. •

Marca de agua dual: La marca de agua dual es una combinación de marcas de agua visible e invisible. En este esquema de marca de agua, una marca invisible es utilizada como respaldo de la marca visible.

Acorde a la resistencia de la marca a la manipulación (ataques1) del contenido del medio pueden ser divididas en: •

Robusta: La marca de agua robusta, es aquella que se inserta de tal forma que las alteraciones realizadas en la imagen marcada no se distinguen perceptualmente; este tipo de marca de agua debe resistir operaciones clásicas (también llamadas ataques, ver sección 3.4) de manera que la información insertada puede ser recuperada [Ref. 4]. Generalmente es utilizada para protección de derechos de autor, esta área de aplicación se basa en la identificación del propietario de la información así como de la identificación de los compradores.



Frágil: La marca de agua invisible y frágil es insertada de tal forma que cualquier manipulación o alteración de la imagen, deberá alterar o destruir la marca de agua [Ref. 4]. Generalmente se utilizan para la autenticación de imágenes, proceso que verifica que el contenido no ha sido modificado o que el emisor sea quien dice ser.

1

Se le denominan ataques a las manipulaciones o modificaciones realizadas a la información con el objetivo de alterar o eliminar la marca insertada, tales como filtrados, operaciones geométricas, etc.

31

Acorde a los elementos necesarios para detectar/extraer la marca insertada, las técnicas de marca de agua de dividen en: •

Privado: Un esquema invisible, robusto y privado requiere de al menos la imagen original para poder detectar la marca de agua insertada. Existen dos tipos de sistemas: 1. Extraen la marca de la imagen posiblemente alterada y utilizan la imagen original para identificar las regiones donde la imagen está posiblemente distorsionada. 2. Similar al anterior, pero en estos sistemas, es necesaria una copia de la marca de agua insertada, en este esquema, sólo es posible conocer si la marca está en la imagen, es decir, la salida del sistema es un valor binario.



Público: En un esquema invisible, robusto y público (también conocido como marca de agua “ciega”) no se requiere de la imagen original, ni la marca de agua insertada, sólo se tiene la stego-imagen 2 y la llave/imagen secreta para poder detectar la información.

3.2

Aplicaciones

Los requisitos que deben cumplir en la práctica los algoritmos de marca de agua son establecidos con base en la aplicación en la cual serán utilizados. Dentro de las aplicaciones de marcas de agua de encuentran las siguientes: •

Comunicaciones secretas: en este tipo de aplicación, la marca es insertada en los archivos multimedia; es utilizada por dos o más personas para comunicarse de manera secreta sin levantar sospecha a terceros, es una aplicación clásica de la esteganografía (ocultar información dentro de otra).

2

Se le denomina stego-imagen a la imagen que contiene información insertada, también se conoce como imagen marcada.

32



Protección de derechos: Para la protección de la propiedad intelectual, los archivos multimedia pueden contener una marca de agua representando información de derechos de autor del propietario. Esta marca de agua puede tomarse como prueba de la propiedad intelectual ante una corte cuando alguien ha infringido los derechos de autor.



Control de Copias: Para rastrear el origen de copias ilegales, el propietario puede hacer uso de técnicas de identificación (fingerprinting). En este caso, el propietario puede insertar diferentes marcas de agua en las copias de los datos que han sido entregadas a diferentes clientes. Esta técnica puede insertar un número de serie en los datos, el cual es relacionado con la identidad de los clientes. Esta técnica permite al dueño de la propiedad intelectual identificar a aquellos clientes que han infringido el acuerdo de licencia proveyendo de la información a terceras personas.



Autenticación: Las marcas de agua frágiles pueden ser utilizadas para verificar la autenticidad de la información. Una marca de agua frágil indica si la información ha sido alterada, asimismo permite localizar la posición en donde se produjo dicha alteración.



Seguridad Médica: Insertar información de los pacientes (nombre, fecha de nacimiento, sexo, etc.) en las imágenes médicas puede ser una medida de seguridad útil.



Ocultamiento de Información: La técnicas de marcas de agua pueden ser utilizadas para la transmisión secreta de mensajes.

33

3.3

Requerimientos

Los requerimientos más importantes de marcas de agua digitales son: •

Robustez: Las imágenes están expuestas a muchos tipos de modificaciones o distorsiones: las pérdidas por compresión, los cambios producidos por el mejoramiento de las imágenes, etc. Una marca de agua se considera robusta si perdura después de estas operaciones y, en el caso de las marcas en imágenes, también deben persistir después de transformaciones geométricas [Ref. 1].



Imperceptibilidad: La imperceptibilidad o transparencia de la marca de agua tiene como base el comportamiento del sistema de percepción humano. Una marca de agua es imperceptible, si la degradación que causa en los archivos donde se ha insertado es muy difícil de apreciar. Este concepto se contrapone al de la robustez (Figura 3.2), si se tiene en cuenta que un sistema robusto debe insertar la marca en las regiones significativas de la imagen. En algunas aplicaciones se puede aceptar una pequeña degradación de los datos, a cambio de lograr mayor robustez del algoritmo [Ref. 1].



Capacidad: Este es un factor importante cuando una gran cantidad de información se debe ocultar, dicha información es usualmente relacionada con la imagen. Por ejemplo, cuando se transmiten imágenes médicas; los datos del paciente y el diagnóstico pueden ser ocultados en la misma imagen [Ref. 1].

34

Figura 3.2 Compromiso establecido entre requerimientos de las marcas de agua

3.4

Esquema de un sistema de marcas de agua

En esta sección se describen cada una de las partes que componen un esquema de marcas de agua, cada una de estas partes es descrita de manera general, ya que cada esquema tiene alguna característica o parámetros que las diferencia entre ellas.

3.4.1 Inserción de la marca de agua. En la Figura 3.4.1 se muestra un ejemplo de inserción de información. Sea I la imagen original, y W = {w1, w2, w3,…,wL}la marca de agua a insertar de longitud L, y I’ la imagen marcada o stego-imagen.

La función de inserción toma la imagen I y la marca de agua W y genera la imagen marcada I’. Dependiendo de la técnica a utilizar, la imagen original es transformada al dominio de frecuencia (ecuación 3.1) o puede utilizarse el dominio espacial (ecuación 3.2), esto depende de la técnica seleccionada.

35

E ( I ,W ) = I '

(3.1)

E ( f ,W ) = I '

(3.2)

La figura 3.2 ilustra el proceso de inserción de marcas de agua, J denota la imagen marcada después de ser distorsionada.

Figura 3.3 Proceso de inserción

3.4.2 Detección/Extracción de la marca de agua. La fase de detección/extracción de la marca de agua toma la imagen J (J puede ser una imagen alterada) de la cual será extraída la marca insertada W’. Dependiendo el algoritmo de marca de agua, la imagen original puede ser necesaria para recuperar la marca. A continuación se describe el proceso de detección/extracción de la marca: 1. Se extrae la marca de la imagen J.

D( J , I ) = W ' 2.

(3.3)

Posteriormente la secuencia extraída W’ es comparada con la secuencia original, la salida de este proceso es 1 si la marca existe en J y 0 si la marca no existe en J. ⎧1 si c < δ Cδ (W ' , W ) = ⎨ ⎩0 en otro caso

36

(3.4)

Donde c es la correlación que existe entre W y W’ y δ es el valor del umbral para determinar si la marca extraída es similar a la original.

Figura 3.4 Proceso de detección/extracción

3.5

Ataques

En la práctica, un archivo multimedia marcado puede ser alterado a propósito o accidentalmente, por lo tanto el sistema de marca de agua debe ser capaz de detectar y extraer la marca de agua insertada. Las distorsiones son limitadas a aquellas que no producen degradación excesiva, de otra forma el archivo marcado será inservible. Estas distorsiones también introducen degradación en el desempeño del sistema.

Los ataques son clasificados en dos tipos: •

Ataques Pasivos: Este tipo de ataque evalúa estadísticamente las características de la imagen marcada para determinar si tiene información oculta. Este tipo de ataque no pretende eliminar la marca solamente detectar la presencia de información oculta,

es

utilizado

en

aplicaciones de

comunicaciones encubiertas. •

Ataques Activos: Este tipo de ataque altera o distorsiona la imagen marcada con el propósito de modificar o eliminar la información que se insertó en la imagen.

o Ataques por promediado estadístico: Intentan calcular la marca y extraerla de la imagen marcada.

37

o Ataques en el proceso de detección de la marca: El intruso intenta por diversos medios deducir el proceso del detector de la marca, encontrando las posibles regiones donde se insertó la marca y tratando de eliminarla.

o Ataque por confabulación: En este tipo de ataque se utilizan varias copias de los archivos marcados con diferentes marcas (utilizando el mismo algoritmo) para generar un archivo que no contenga la marca.

o Falsificación: en este ataque, se intenta insertar una marca falsa que pueda ser reconocida como válida.

A continuación de listan algunos ataques que se aplican a sistemas de marcas de agua: •

Adición de Ruido: Este ataque se origina en cierto tipo de aplicaciones que utilizan convertidores D/A (digital-analógico) y A/D (analógico-digital) o por errores en la transmisión.



Filtrado: Este tipo de ataque aplica filtrado linear a la imagen como: filtros pasa baja, filtro pasa alta, filtro gaussiano, filtro mediana, etc., los cuales no introducen una degradación considerable a la imagen marcada, pero puede afectar dramáticamente el resultado en el proceso de extracción de la marca.



Compresión: Este tipo de ataque generalmente es no intencional, el cual es muy frecuente en aplicaciones multimedia. Prácticamente todo el audio, video e imágenes que se encuentran en internet han sido comprimidas.



Ataques Geométricos: Este tipo de ataque no pretende eliminar la marca insertada en la imagen, pero genera distorsiones espaciales en la marca de

38

agua. Con este tipo de ataques, la función para detectar la marca pierde sincronización

con respecto a la información insertada. Los ataques

geométricos comunes son rotación, escalado, escalado no uniforme, traslación, entre otros.

3.6

Técnicas de marcas de agua

Los algoritmos (técnicas) de marca de agua pueden ser aplicados tanto en el dominio espacial como en el dominio de transformada. La Tabla 3.6.1 muestra una comparación entre las técnicas de marcas de agua.

Requerimiento

Dominio espacial

Dominio de transformada

Costo computacional

Bajo

Alto

Robustez

Frágil

Robusto

Calidad

Alto

Bajo

Capacidad Aplicaciones

Alto(depende del tamaño de la imagen) Autenticación

Bajo Control de Copias

Tabla 3.1 Técnicas de marca de agua según su dominio

3.6.1 Técnicas en el dominio espacial Las técnicas en el dominio espacial modifican directamente la intensidad o el valor de color de algunos píxeles seleccionados. Una de las técnicas más comunes en el dominio del espacio es la denominada LSB (acrónimo en inglés de Least Significant Bit) en la cual la marca de agua es insertada en el bit menos significativo de algunos píxeles seleccionados [Ref. 1-6]. Esta técnica es muy fácil de implementar y muy rápida, pero su robustez baja. La Figura 3.5 muestra un ejemplo de esta técnica, la

39

cual selecciona el plano menos significativo de la imagen y reemplaza el valor del plano con la información de la marca que se desea ocultar (Figura 3.6).

Figura 3.5 Planos que conforman la imagen

Figura 3.6 Ocultando información en los bits menos significativos

El siguiente ejemplo (Figura 3.7) muestra el resultado de insertar una imagen en diferentes bits de la imagen original. Se observa que la marca es visible si es insertada en los bits de planos más significativos de la imagen original.

Imagen original

Marca de agua

4 LSB

Figura 3.7 Marca insertada en planos diferentes de una imagen

40

7 LSB

3.6.2 Técnicas en el dominio de transformada Las técnicas en el dominio de transformada modifican los valores de los coeficientes de algunas transformadas. Esto significa que los coeficientes en el dominio de transformada deben ser modificados para insertar la marca de agua y finalmente la transformada inversa debe ser aplicada para obtener la imagen marcada o stegoimagen [6].

Las transformadas comunes utilizadas para propósitos de marca de agua, son las siguientes: DCT (Discrete Cosine Transform) [], DWT (Discrete Wavelet Transform) [] y DFT (Discrete Fourier Transform) []. La figura 3.8 presenta un esquema general del funcionamiento de los esquemas de marcas de agua en el dominio de transformada.

Figura 3.8 Proceso de inserción basado en transformada

Figura 3.9 Proceso de extracción/detección basado en transformada

41

La siguiente figura muestra un esquema de inserción en el dominio de transformada, en los cuales, la marca es insertada en los coeficientes obtenidos después de aplicar alguna transformada.

Figura 3.10 Esquema de inserción de marca de agua aditiva

3.7

Marcas de agua en imágenes médicas

La imaginología médica es un campo donde la protección de la integridad y confidencialidad de la información médica se deriva de estricta ética y reglas legislativas. Los registros de información médica de los pacientes es un expediente complejo integrado por exámenes, diagnósticos, prescripciones, e imágenes en varias modalidades. Esta información es utilizada para diferentes propósitos (investigación clínica, estudios de epidemiología). Todos los registros médicos, electrónicos o no, están ligados al secreto médico, y por lo tanto deben ser confidenciales. Por lo anterior, se imponen tres características para los expedientes clínicos de pacientes (Figura 3.11): •

Confidencialidad. Significa que sólo entidades autorizadas pueden acceder a la información.



42

Confiabilidad. Esta característica tiene dos aspectos:

o Integridad. Se refiere a que la información no ha sido modificada por entidades no autorizadas. o Autenticación: Se refiere a tener una prueba de que la información pertenece al paciente correcto. •

Disponibilidad. Se refiere a la característica de que los sistemas de información sean utilizados por entidades autorizadas.

Figura 3.11 Componentes de seguridad de la información médica

Recientemente ha existido mucho interés en las técnicas de marcas de agua para proteger la propiedad intelectual en formatos digitales (imágenes, audio, video, software). A consecuencia de este interés, un gran número de técnicas de marcas de agua han surgido.

El número de estudios en la literatura dedicados a las marcas de agua en imágenes médicas no es muy extenso. Anand et al. [Ref. 7] proponen insertar una versión encriptada del expediente electrónico de pacientes (EPR) en los bits menos significativos (LSB) de las imágenes es escala de grises. Aunque la degradación en la calidad de la imagen obtenida es mínima, las limitaciones y la fragilidad de las marcas de agua en bits menos significativos es muy conocida. Miaou et al. [Ref. 8] propone un método para autenticar el origen de la información (identificar el hospital donde se realizó el estudio), y la información que se oculta en las imágenes es un registro de electrocardiograma (ECG), el diagnóstico y datos del médico que realizó

43

el estudio, la técnica utilizada es similar a utilizada por Anand et al. [Ref. 7], es decir, insertar la información en los bits menos significativos de la imagen. De igual forma Macq y Deweyand [Ref. 9] insertan la información en la cabecera de las imágenes.

Las marcas de agua en el contexto médico requieren de tres objetivos: 1. Ocultamiento de información con el propósito de insertar meta-datos, anotaciones y otro tipo de información que haga a las imágenes más útiles y fáciles de utilizar. 2. Control de integridad, es decir, verificar que la imagen está intacta, que no ha sido modificada de manera no autorizada 3. Autenticidad, es decir, verificar que la imagen es realmente la que el usuario supone que es.

Requerimientos para marcas de agua en imágenes médicas: •

Imperceptible: En el ámbito médico, la calidad de las imágenes es muy estricta, es decir, no está permitido alterar en ningún sentido, por esta razón, el método de marcas de agua debe ser reversible, es decir que los píxeles de la imagen original deben ser recuperados, esto limita significativamente la capacidad y el número de posibles métodos a utilizar.



Control de Integridad: Es necesario probar que la información que se ha insertado en las imágenes ha preservado su integridad, es decir, no ha sido alterada de alguna manera.



Autenticación: Este es un requerimiento crítico en los registros clínicos de los pacientes, especialmente en las imágenes.

44

Conclusiones En este capítulo se presentaron las diversas técnicas que existen en el área de las marcas de agua, haciendo énfasis en las técnicas más utilizadas. Se presentó la clasificación de las diferentes técnicas, los requerimientos que deben de cumplir y las diferentes aplicaciones en donde son utilizadas, finalmente se presentaron los diferentes ataques a los cuales están expuestas las imágenes resultantes (imágenes marcadas o stego-imágenes).

Se observó que las técnicas basadas en dominio espacial generan menos degradación en las imágenes, pero la marca insertada utilizando estas técnicas son frágiles ante ataques geométricos o ante aplicación de filtrado en la imagen marcada. Los esquemas basados en dominio de transformada presentan mayor robustez antes ataques efectuados en la imagen marcada, pero al contrario de las técnicas de dominio espacial, introducen más degradación en la imagen, es decir, a mayor robustez de la marca, más degradación en la imagen marcada.

Son pocos los esquemas que trabajan con imágenes médicas, y estos esquemas simplemente ocultan información de carácter médico en las imágenes, no se reportan ataques aplicados a las imágenes marcadas, solamente se reportan resultados con respecto a la degradación y la capacidad de los esquemas descritos. En el siguiente capitulo se presenta un esquema de marcas de agua en el dominio espacial aplicado a imágenes médicas de carácter radiológico resistente a ataques; este esquema utiliza las métricas estadísticas para determinar zonas de la imagen no homogéneas en donde se pueda ocultar información, sin degradar demasiado la imagen; es decir, se localizan zonas como bordes, zonas con textura, en las cuales los cambios producidos por la inserción de la información sean imperceptibles.

45

46

Capítulo 4 Esquema de Marcas de Agua para Imágenes Médicas 4.1

Esquema general

En la siguiente figura se presenta el esquema general de marcas de agua aplicado a imágenes médicas en este trabajo.

Figura 4.1 Esquema general del algoritmo propuesto

47

4.2

Algoritmo propuesto

El algoritmo de marcas de agua para imágenes médicas está dividido en 4 secciones: •

Generación de la marca de agua En esta sección el algoritmo obtiene de un archivo DICOM la imagen y parte de la información la cual será utilizada para generar la marca que se insertará en la imagen.



Invariantes Geométricos En esta sección se explica parte de la teoría de momentos geométricos de una imagen, estos momentos geométricos ayudan a obtener características invariantes (por ejemplo centro de masa o centroide, el cual es invariante a rotación, escalado y traslación) de una imagen.



Selección de regiones no homogéneas En esta sección se utiliza un método estadístico para seleccionar las posiciones donde será insertada la información; estas regiones permiten insertar información en zonas poco homogéneas de manera que sea imperceptible. Dicho método utiliza medidas obtenidas a partir de la distribución de intensidad en los niveles de gris (homogeneidad) para caracterizar texturas.



Inserción/Extracción de la información En esta sección se explica la manera en que la imagen es recorrida con el objetivo de localizar regiones que permitan insertar la marca en la imagen. Posteriormente se describe el procesamiento que hace en la imagen previo a la extracción de la información insertada.

48

4.2.1 Generación de la marca de agua. En la figura 4.2 se ejemplifica la generación de la marca de agua, el proceso para su obtención es el siguiente: 1. Extraer la imagen y los meta datos del archivo DICOM. 2. Comprimir los datos extraídos, en este esquema se utiliza el algoritmo de Huffman, con el objetivo de reducir la cantidad de información a insertar. 3. Cifrar la información comprimida en el paso anterior con el objetivo de incrementar la seguridad en la información, en este esquema se utiliza un cifrador de flujo RC4. 4. Generar una secuencia de bits a partir de la información cifrada que servirá como marca.

Figura 4.2 Generación de la marca de agua

4.2.2 Invariantes Geométricos Los momentos de imágenes son una técnica comúnmente utilizada en el proceso de extracción de características, donde cada uno de los momentos que se obtiene aporta diferente información para la misma imagen [Ref. 1].

49

En general, dada una imagen representada por una función arbitraria representativa de los niveles de gris en cada imagen, f(x, y), se define el momento de orden (p, q), mpq como: M −1 N −1

m pq = ∑∑ x p ⋅ y q ⋅ f ( x, y )

(4.1)

x =0 y =0

Donde f es una matriz con datos de la imagen de tamaño MxN. Para las imágenes digitales, el momento de orden cero es definido como: M −1 N −1

m00 = ∑∑ f ( x, y)

(4.2)

x =0 y =0

Esta formula también es conocida como la masa de la matriz f. de manera similar, el momento de orden 1 de la imagen es definido como: M −1 N −1

m10 = ∑∑ x ⋅ f ( x, y )

(4.3)

x =0 y = 0

M −1 N −1

m01 = ∑∑ y ⋅ f ( x, y)

(4.4)

x =0 y = 0

Los dos momentos de primer orden, m10 y m01 [Ref. 2], son utilizados para localizar el centro de masa de la matriz f. El centroide de la imagen puede ser calculado con:

x0 =

m10 ; m00

y0 =

m01 m00

(4.5)

El centroide obtenido es utilizado en el proceso de inserción y en el proceso de extracción. Teniendo en cuenta que las coordenadas del centroide de la función f(x, y) son x0 y y0, se pueden definir los momentos centrales: M −1 N −1

µ pq = ∑∑ ( x − x0 ) p ⋅ ( y − y0 )q ⋅ f ( x, y) x =0 y =0

50

(4.6)

Los momentos centrales de tercer orden, µ12, µ21, µ30 y µ03 se utilizan para determinar la relación (ángulo) que existe entre una imagen rotada f(x’, y’) con la imagen original f(x, y) [Ref. 1], estos momentos son calculados con: M −1 N −1

µ12 = ∑∑ ( x − x0 )1 ⋅ ( y − yo )2 ⋅ f (x, y )

(4.7)

x =0 y =0

M −1 N −1

µ 21 = ∑∑ (x − x0 )2 ⋅ ( y − y 0 )1 ⋅ f (x, y )

(4.8)

x =0 y =0

M −1 N −1

µ 30 = ∑∑ ( x − x0 )3 ⋅ f (x, y )

(4.9)

x =0 y =0

M −1 N −1

µ 03 = ∑∑ ( y − y0 )3 ⋅ f (x, y )

(4.10)

x =0 y =0

En otras palabras, con una imagen rotada en cualquier dirección, el ángulo de rotación θ de la imagen es obtenido utilizando: ⎛ µ12 + µ 30 ⎞ ⎟⎟ ⎝ µ 21 + µ 03 ⎠

θ = arctan⎜⎜ −

(4.11)

Con la ecuación 4.11 obtenemos θn, el cual será empleado en el proceso de extracción de la marca. En la sección 4.2.4 se explica la utilización de la ecuación (4.11) en el proceso de extracción en la marca insertada en la imagen ante posibles ataques geométricos.

Para determinar si la imagen ha sido reflejada horizontal o verticalmente, se calculan los momentos geométricos de primer orden µ10 para reflexiones horizontales y µ01 para reflexiones verticales, de estos valores, se obtiene el signo.

51

4.2.3 Selección de regiones no homogéneas Para seleccionar aquellas posiciones en las cuales la información de la marca será insertada, se sigue el siguiente proceso: •

Se recorre la imagen mediante una espiral a partir del centroide calculado en la sección anterior (ecuación 4.5).

Figura 4.3 Recorrido realizado en la imagen, indicando la posición de los posibles píxeles en donde se ocultará la información



Para determinar si una posición es “apropiada” para ocultar información, se calcula la homogeneidad mediante la varianza (σ2) de sus vecinos, utilizando una ventana de tamaño kxk. La Figura 4.4 muestra un ejemplo de una ventana de tamaño 3x3.

1 k −1 k −1 ( f (x, y ) − µ )2 σ = ∑∑ MN x=0 y =0 2

(4.12)

Donde:

1 µ= MN

52

k −1 k −1

∑∑ f (x, y ) x =0 y = 0

(4.13)



Para determinar si es posible insertar un bit de información en la posición seleccionada, se verifica la siguiente condición: si σ2 > Th entonces el píxel es seleccionado para insertar información en esa posición, Th es un umbral de homogeneidad, el cual es ingresado por el usuario.

σ2 Th Lmean

= 0.0330 Å vía 4.12 = 0.03 = 73.6

Lreal Lreal

σ2

= Lmean – δ2 Å 4.15 = 50 = 0.0309

Figura 4.4 Modificación de pixeles en el proceso de inserción

4.2.4 Inserción/Extracción de la información Proceso de Inserción Mediante la ecuación (4.11) obtenemos el ángulo de la imagen original θn, el cual es necesario en el proceso de extracción de la imagen, este valor es parte de la llave que permitirá recuperar la información oculta. Posteriormente, el proceso de inserción utiliza las posiciones obtenidas en la sección anterior y realiza el siguiente procedimiento: •

Obtiene un bloque de tamaño kxk con centro en la posición del píxel seleccionado (Figura 4.4).



Si el bit a insertar es “1”, se modifica el valor de la luminancia del píxel central, cumpliendo la siguiente condición:

Lreal ≥ Lmean + δ 1

(4.14)

53



Si el bit a insertar es “0”, se modifica el valor de la luminancia del píxel central, cumpliendo la siguiente condición:

Lreal < Lmean − δ 2

(4.15)

Donde δ1 y δ2 son calculados con base en la homogeneidad y la luminancia del bloque de tamaño kxk, Lreal es el nivel de gris del píxel central y Lmean es el nivel de gris medio del bloque.

Proceso de Extracción Antes de extraer la información, la imagen es procesada para corregir las posibles rotaciones realizadas en la imagen marcada, el proceso se lista a continuación. 1. Se obtiene θd mediante la ecuación 4.11, verificando que el valor de θd cumpla la siguiente condición: ⎧µ 03 + µ 21 > 0 entonces θ d = θ

θd = ⎨

⎩µ 03 + µ 21 < 0 entonces θ d = θ1 + π

(4.16)

2. Para corregir la distorsión, la imagen es rotada θc grados en sentido contrario a la rotación inicial, donde θc es calculado con:

θc = θd − θn

(4.17)

La figura 4.5 muestra un ejemplo de la corrección de rotación en una imagen.

a)

b)

Figura 4.5 a) Imagen marcada (rotada 66º), b) imagen con rotación corregida

54

Para determinar si la imagen ha sido reflejada horizontal o verticalmente, es necesario comparar el cambio de signo de los momentos geométricos de primer orden µ10 y µ01 de la imagen marcada y atacada. La figura 4.6 muestra un ejemplo de la corrección de una imagen reflejada horizontal y/o verticalmente.

a)

b)

c)

d)

Figura 4.6 a), b) y c) Posibles reflexiones en la imagen, d) imagen con reflexión corregida

Después de corregir las posibles rotaciones o reflexiones en la imagen marcada y atacada, se realiza el siguiente proceso para extraer la marca. •

Localizar los píxeles que fueron modificados en la sección 4.2.3.



Para cada posición obtenida en el paso anterior, se utiliza un umbral de decisión para extraer la marca, la información es extraída cumpliendo las siguientes condiciones:

o Se extrae un bit “1” si:

Lreal ≥ Lmean

(4.18)

o Se extrae un bit “0” si:

Lreal < Lmean

(4.19)

En este proceso los valores de δ1 y δ2 no son requeridos para la extracción de la marca.

55

Conclusiones En este capitulo se presentó un esquema de marcas de agua en cual es aplicado a imágenes medicas de carácter radiológico. El esquema presentado utilizada la homogeneidad y la luminancia de la imagen para realizar el proceso de inserción de la marca (generada con la información extraída de archivos DICOM).

El esquema propuesto es robusto ante manipulaciones comunes en el ámbito médico, como rotaciones, reflexiones, mediante la utilización de características invariantes de la imagen, así como a cambios de contraste, cambios de brillo, etc. es importante mencionar que estas modificaciones son menores, ya que las imágenes no deben sufrir modificaciones que afecten la calidad de la misma.

Una de las ventajas importantes del esquema propuesto es que solamente se requiere de la imagen marcada o la imagen marcada y atacada para recuperar la información insertada, no se requiere de ninguna otra información adicional, esto es un factor importante, ya que muchos de los esquemas que son “ciegos”, necesitan información extra para poder recuperar la información oculta.

El algoritmo propuesto utiliza un recorrido de la imagen en forma de espiral, ya que el centroide, que es el origen de este recorrido, se encuentra cercano al centro de la imagen; muchas de las imágenes médicas concentran sus regiones de interés en el centro de la imagen, debido a esta razón, el recorrido de la imagen parte del centroide y recorre la imagen buscando regiones con textura que permitan ocultar información de manera que la degradación en la imagen final sea mínima e imperceptible.

56

Capítulo 5 Experimentación y Análisis de los Resultados En este capitulo, se presentan los experimentos realizados utilizando el algoritmo de marcas de agua descrito en el capitulo previo. En cada apartado de muestran y se discuten los resultados obtenidos y aplicando el algoritmo de marcas de agua en imágenes médicas de carácter radiológico extraídas de archivos DICOM3.

5.1 Banco de pruebas El algoritmo fue aplicado en imágenes médicas de carácter radiológico, dichas imágenes fueron extraídas de archivos DICOM. Las imágenes utilizadas en los experimentos tienes las siguientes características: imágenes en escala de grises, 512x512 pixeles y 8 bits de profundidad por pixel (256 niveles de gris). La tabla 5.1 muestra algunas imágenes utilizadas en los experimentos. La tabla 5.2 muestra las características de las imágenes utilizadas en los experimentos; la cantidad de información a ocultar así como la degradación producida en las imágenes depende de las siguientes características (Cantidad de contornos, zonas homogéneas y texturas en la imagen es decir regiones con gran variación en los niveles de gris). La tabla 5.3

3

DICOM (Digital Imaging and Communications in Medicine) es un estándar que facilita la interoperabilidad de imágenes médicas.

57

muestra un ejemplo de marca de agua utilizado en los experimentos, la información corresponde a datos extraídos del archivo DICOM, así como un pequeño diagnostico.

La obtención de las imágenes se realizó mediante el toolbox de procesamiento de imágenes de Matlab4, el cual nos permite acceder a las imágenes y los metadatos de archivos en formato DICOM.

Chest Shoulder Tabla 5.1 Imágenes utilizadas en los experimentos

Brain

Imagen

Knee

Contornos Zonas Homogéneas Texturas

Brain

Alto

Medio

Medio

Chest

Alto

Medio

Bajo

Shoulder

Medio

Alto

Bajo

Knee

Medio

Medio

Alto

Baboon

Medio

Bajo

Alto

Tabla 5.2 Características de las imágenes utilizadas en los experimentos

2002-05-08 REYNA VALDEZ PEREZ 62 DR. LUIS TEODORO GARCIA TAC ABDOMEN COMPLETO -CARDIOMEGALIA GRADO I, POR CRECIMIENTO VENTRICULAR IZQUIERDO

4

MatLab es un lenguaje de programación matemático de Mathworks que permite procesar imágenes digitales.

58

-HIGADO, BAZO, PANCREAS, GRANDES VASOS, AL IGUAL QUE RIÑON DERECHO SIN ALTERACION -RIÑON IZQUIERDO CON PEQUEÑO QUISTE EN PARED LATERAL -VESICULA Y VIA BILIAR SIN PATOLOGIA -UTERO CON CALCIFICAIONES EN SUS PAREDES EN RELACION PROBABLE CON MIOMAS Y ENDOMETRIO ENGROSADO -NO SE APRECIA ADENOPATIAS INGUINALES -CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR -RESTO SIN ALTERACIONES.

SUGERIMOS CORRELACION CLINICA

Tabla 5.3 Ejemplo de información utilizada como marca de agua

5.2 Evaluación de resultados Para la evaluación de los resultados se aplicaron métricas que permiten evaluar la calidad de una imagen que ha sido modificada con respecto a su estado original (PSNR, MSE), de esta manera es posible cuantificar la distorsión generada después de aplicar el algoritmo a una imagen. Para obtener la similaridad entre la marca insertada con la marca recuperada se utilizo la métrica NCC.

MSE (Mean Square Error) MSE =

1 MN

M −1 N −1

∑∑ ( f ( x, y) − f ' ( x, y))

2

(5.1)

x =0 y = 0

Donde M y N son las dimensiones de la imagen, f(x, y) y f’(x, y) representan la imagen original y la imagen marcada respectivamente. Esta métrica nos permite conocer la cantidad de degradación que fue introducida en la imagen marcada, valores cercanos a cero indican menor degradación.

PSNR (Peak Signal-to-Noise-Ratio) PSNR =10 × log10

255 2 dB MSE

(5.2)

NCC (Normalized Cross-Correlation)

59

R −1 C −1

NCC =

(5.3)

∑∑W ( x, y) ⋅ W ' ( x, y) x =0 y =0

R −1 C −1

∑∑ W ( x, y)

2

x =0 y =0

Donde R y C son las dimensiones de la marca insertada, W(x, y) y W’(x, y) representan la marca original y la marca extraída respectivamente. Los valores obtenidos al aplicar esta métrica se encuentran en el rango de 0 a 1, siendo 0 marcas o imágenes completamente diferentes y 1 completamente similares.

5.3 Experimentos Esta sección muestra algunos experimentos realizados en las imágenes médicas, a continuación se presentan pruebas realizadas variando el valor de los parámetros del algoritmo. A continuación se presentan algunos ejemplos de imágenes marcadas e imágenes marcadas-atacadas, mostrando los parámetros utilizado en el algoritmo y los valores obtenidos en términos de degradación y extracción de la marca insertada.

Prueba 1. Imagen “Brain” Tamaño del bloque

Umbral Th

Desplazamiento

Información (bits)

3x3

0.001

3 (sin traslape)

2344

PSNR

MSE

NCC

Método 1

33.82

26.93

1.0000

Método 2

45.20

19.60

0.9918

Tabla 5.4 Parámetros y resultados del algoritmo en “Prueba 1”

60

Imagen Marcada 1

Posiciones

Atacada (brillo)

Imagen Marcada 2

Posiciones

Atacada (brillo)

Figura 5.1 Imágenes obtenidas en “Prueba 1”

******************************************************************************** Iniciando programa de marcas de agua en imágenes médicas ******************************************************************************** Umbral para homogeneidad normalizada = 0.001 Desplazamiento = 3 Tamaño de ventana = 3 ******************** METODO 1 ******************** Inserción --> Pixeles modificados : 2344, [ 293 Bytes ] Métricas de calidad de la imagen [Original vs. Marcada] --> PSNR = 3.382708e+001 MSE = 2.693844e+001 --------------- Marca de Agua original --------------2002-05-08 REYNA VALDEZ PEREZ 62 DR. LUIS TEODORO GARCIA TAC ABDOMEN -CARDIOMEGALIA GRADO I, POR CRECIMIENTO VENTRICULAR IZQUIERDO -RIÑON IZQUIERDO CON PEQUEÑO QUISTE EN PARED LATERAL -VESICULA Y VIA BILIAR SIN PATOLOGIA -NO SE APRECIA ADENOPATIAS INGUINALES -CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR ---------- Marca de Agua extraída (Atacada) ---------2002-05-08 REYNA VALDEZ PEREZ 62 DR. LUIS TEODORO GARCIA TAC ABDOMEN

61

-CARDIOMEGALIA GRADO I, POR CRECIMIENTO VENTRICULAR IZQUIERDO -RIÑON IZQUIERDO CON PEQUEÑO QUISTE EN PARED LATERAL -VESICULA Y VIA BILIAR SIN PATOLOGIA -NO SE APRECIA ADENOPATIAS INGUINALES -CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR Porcentaje recuperado NCC = 1.000000

******************** METODO 2 ******************** Inserción --> Pixeles modificados : 2344, [ 293 Bytes ] Métricas de calidad de la imagen [Original vs. Marcada] --> PSNR = 4.520637e+001 MSE = 1.960844e+000 --------------- Marca de Agua original --------------2002-05-08 REYNA VALDEZ PEREZ 62 DR. LUIS TEODORO GARCIA TAC ABDOMEN -CARDIOMEGALIA GRADO I, POR CRECIMIENTO VENTRICULAR IZQUIERDO -RIÑON IZQUIERDO CON PEQUEÑO QUISTE EN PARED LATERAL -VESICULA Y VIA BILIAR SIN PATOLOGIA -NO SE APRECIA ADENOPATIAS INGUINALES -CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR ---------- Marca de Agua extraída (Atacada) ---------2002-05-08 REYNA VALDEZ PEREZ 62 DR. LUIS TEODOROàGARCIA TAC ABDOMEN -CARDIOMEGALIA GRADO K, POR CVECIMIENTO VENTRICULAR IZQUIEVDO -RIÑON IZQUIEZDO CON PEQUEÑO QUISTE EN PARED LATERAL -vESÉCULA Y VIA BILIAR SIN PATOLOGIA -NO SE APRECIA ATENOPATIAS INGUINALES -CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR Porcentaje recuperado NCC = 0.991803 ******************************************************************************** Finalizando programa de marcas de agua en imágenes médicas ********************************************************************************

Tabla 5.5 Ejecución en Matlab de “Prueba 1”

Prueba 2. Imagen “Chest” Tamaño del bloque

Umbral Th

Desplazamiento

Información (bits)

3x3

0.001

3 (sin traslape)

2344

PSNR (dB)

MSE

NCC

Método 1

23.64

281.09

1.0000

Método 2

46.67

1.39

0.9554

Tabla 5.6 Parámetros y resultados del algoritmo en “Prueba 2”

62

Imagen Marcada 1

Posiciones

Atacada (brillo)

Imagen Marcada 2

Posiciones

Atacada (brillo)

Figura 5.2 Imágenes obtenidas en “Prueba 2”

******************************************************************************** Iniciando programa de marcas de agua en imágenes médicas ******************************************************************************** Umbral para homogeneidad normalizada = 0.001 Desplazamiento = 3 Tamaño de ventana = 3 ******************** METODO 1 ******************** Inserción --> Pixeles modificados : 2344, [ 293 Bytes ] Métricas de calidad de la imagen [Original vs. Marcada] --> PSNR = 2.364222e+001 MSE = 2.810986e+002 --------------- Marca de Agua original --------------2002-05-08 REYNA VALDEZ PEREZ 62 DR. LUIS TEODORO GARCIA TAC ABDOMEN -CARDIOMEGALIA GRADO I, POR CRECIMIENTO VENTRICULAR IZQUIERDO -RIÑON IZQUIERDO CON PEQUEÑO QUISTE EN PARED LATERAL -VESICULA Y VIA BILIAR SIN PATOLOGIA -NO SE APRECIA ADENOPATIAS INGUINALES -CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR ---------- Marca de Agua extraída (Atacada) ---------2002-05-08 REYNA VALDEZ PEREZ 62 DR. LUIS TEODORO GARCIA TAC ABDOMEN

63

-CARDIOMEGALIA GRADO I, POR CRECIMIENTO VENTRICULAR IZQUIERDO -RIÑON IZQUIERDO CON PEQUEÑO QUISTE EN PARED LATERAL -VESICULA Y VIA BILIAR SIN PATOLOGIA -NO SE APRECIA ADENOPATIAS INGUINALES -CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR Porcentaje recuperado NCC = 1.000000

******************** METODO 2 ******************** Inserción --> Pixeles modificados : 2344, [ 293 Bytes ] Métricas de calidad de la imagen [Original vs. Marcada] --> PSNR = 4.667357e+001 MSE = 1.398697e+000 --------------- Marca de Agua original --------------2002-05-08 REYNA VALDEZ PEREZ 62 DR. LUIS TEODORO GARCIA TAC ABDOMEN -CARDIOMEGALIA GRADO I, POR CRECIMIENTO VENTRICULAR IZQUIERDO -RIÑON IZQUIERDO CON PEQUEÑO QUISTE EN PARED LATERAL -VESICULA Y VIA BILIAR SIN PATOLOGIA -NO SE APRECIA ADENOPATIAS INGUINALES -CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR ---------- Marca de Agua extraída (Atacada) ---------2002-05%0 REYNA VAL E PERAZ 62 DB. HUIS TEODORO GAR@IA TAC ABDOM N -C@R@IOMEGAIA GRADO I, POR BRECHMIENDO VENPRICUAR IZQUIARDO -RIÑON IZQUI@RDO CMN PEQ EÑO PUISTE EN PARED LAPE AL -V PICULA Y IA`BILHAR SIL PATO_GIA ,JO SE APRECIA ADENOPATIAS INGEINALES - AMBIOR DEGENERATIVOS E LA BNHUMNA DU B@R Porcentaje recuperado NCC = 0.955428 ******************************************************************************** Finalizando programa de marcas de agua en imágenes médicas ********************************************************************************

Tabla 5.7 Ejecución en Matlab de “Prueba 2”

Prueba 3. Imagen “Baboon” Tamaño del bloque

Umbral Th

Desplazamiento

Información (bits)

3x3

0.003

2 (con traslape)

8104

PSNR (dB)

MSE

NCC

Método 1

21.94

415.50

1.0000

Método 2

36.00

16.32

0.9627

Tabla 5.8 Parámetros y resultados del algoritmo en “Prueba 3”

64

Imagen Marcada 1

Posiciones

Atacada (brillo)

Imagen Marcada 2

Posiciones

Atacada (brillo)

Figura 5.3 Imágenes obtenidas en “Prueba 3”

******************************************************************************** Iniciando programa de marcas de agua en imágenes médicas ******************************************************************************** Umbral para homogeneidad normalizada = 0.003 Desplazamiento = 2 Tamaño de ventana = 3 ******************** METODO 1 ******************** Inserción --> Pixeles modificados : 8104, [ 1013 Bytes ] Métricas de calidad de la imagen [Original vs. Marcada] --> PSNR = 2.194504e+001 MSE = 4.155050e+002 --------------- Marca de Agua original --------------FECHA : 08 DE MAYO DEL 2002. NOMBRE : REYNA VALDEZ PEREZ. EDAD : 62 AÑOS. REFIERE : DR. LUIS TEODORO GARCIA. TAC ABDOMEN COMPLETO SE REALIZARON CORTES DE TOMOGRAFIA AXIAL COMPUTADA DESDE EL LA BASE DIAFRAGMATICA HASTA HUECO PELVICO. PREVIA INGESTION DE MEDIO DE CONTRASTE IODADO LIQUIDO, Y CONTRASTE ENDOVENOSO SE OBSERVO LO SIGUIENTE. 1.- CARDIOMEGALIA GRADO I, SIN ALTERACION EN BASES PULMONARES, NI ENGROSAMIENTO PLEURAL O DERRAME. 2.- CARDIOMEGALIA GRADO I, POR CRECIMIENTO VENTRICULAR IZQUIERDO. 3.- HIGADO, BAZO, PANCREAS, GRANDES VASOS, AL IGUAL QUE RIÑON DERECHO SIN ALTERACION. 4.- RIÑON IZQUIERDO CON PEQUEÑO QUISTE EN PARED LATERAL. 5.- VESICULA Y VIA BILIAR SIN PATOLOGIA.

65

6.- UTERO CON CALCIFICAIONES EN SUS PAREDES EN RELACION PROBABLE CON MIOMAS Y ENDOMETRIO ENGROSADO. 7.- NO SE APRECIA ADENOPATIAS INGUINALES. 8.- CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR. 9.- RESTO SIN ALTERACIONES. SUGERIMOS CORRELACION CLINICA. ---------- Marca de Agua extraída (Atacada) ---------FECHA : 08 DE MAYO DEL 2002. NOMBRE : REYNA VALDEZ PEREZ. EDAD : 62 AÑOS. REFIERE : DR. LUIS TEODORO GARCIA. TAC ABDOMEN COMPLETO SE REALIZARON CORTES DE TOMOGRAFIA AXIAL COMPUTADA DESDE EL LA BASE DIAFRAGMATICA HASTA HUECO PELVICO. PREVIA INGESTION DE MEDIO DE CONTRASTE IODADO LIQUIDO, Y CONTRASTE ENDOVENOSO SE OBSERVO LO SIGUIENTE. 1.- CARDIOMEGALIA GRADO I, SIN ALTERACION EN BASES PULMONARES, NI ENGROSAMIENTO PLEURAL O DERRAME. 2.- CARDIOMEGALIA GRADO I, POR CRECIMIENTO VENTRICULAR IZQUIERDO. 3.- HIGADO, BAZO, PANCREAS, GRANDES VASOS, AL IGUAL QUE RIÑON DERECHO SIN ALTERACION. 4.- RIÑON IZQUIERDO CON PEQUEÑO QUISTE EN PARED LATERAL. 5.- VESICULA Y VIA BILIAR SIN PATOLOGIA. 6.- UTERO CON CALCIFICAIONES EN SUS PAREDES EN RELACION PROBABLE CON MIOMAS Y ENDOMETRIO ENGROSADO. 7.- NO SE APRECIA ADENOPATIAS INGUINALES. 8.- CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR. 9.- RESTO SIN ALTERACIONES. SUGERIMOS CORRELACION CLINICA. Porcentaje recuperado NCC = 1.000000

******************** METODO 2 ******************** Inserción --> Pixeles modificados : 8104, [ 1013 Bytes ] Métricas de calidad de la imagen [Original vs. Marcada] --> PSNR = 3.600343e+001 MSE = 1.632066e+001 --------------- Marca de Agua original --------------FECHA : 08 DE MAYO DEL 2002. NOMBRE : REYNA VALDEZ PEREZ. EDAD : 62 AÑOS. REFIERE : DR. LUIS TEODORO GARCIA. TAC ABDOMEN COMPLETO SE REALIZARON CORTES DE TOMOGRAFIA AXIAL COMPUTADA DESDE EL LA BASE DIAFRAGMATICA HASTA HUECO PELVICO. PREVIA INGESTION DE MEDIO DE CONTRASTE IODADO LIQUIDO, Y CONTRASTE ENDOVENOSO SE OBSERVO LO SIGUIENTE. 1.- CARDIOMEGALIA GRADO I, SIN ALTERACION EN BASES PULMONARES, NI ENGROSAMIENTO PLEURAL O DERRAME. 2.- CARDIOMEGALIA GRADO I, POR CRECIMIENTO VENTRICULAR IZQUIERDO. 3.- HIGADO, BAZO, PANCREAS, GRANDES VASOS, AL IGUAL QUE RIÑON DERECHO SIN ALTERACION. 4.- RIÑON IZQUIERDO CON PEQUEÑO QUISTE EN PARED LATERAL. 5.- VESICULA Y VIA BILIAR SIN PATOLOGIA. 6.- UTERO CON CALCIFICAIONES EN SUS PAREDES EN RELACION PROBABLE CON MIOMAS Y ENDOMETRIO ENGROSADO. 7.- NO SE APRECIA ADENOPATIAS INGUINALES. 8.- CAMBIOS DEGENERATIVOS DE LA COLUMNA LUMBAR. 9.- RESTO SIN ALTERACIONES. SUGERIMOS CORRELACION CLINICA. ---------- Marca de Agua extraída (Atacada) ---------FECHA : 08 DE MAYO DEL 2002. NOMBRE : REYNA VALDEZ PEREZ. EDAD : 62 AÑOS. REFIERE : DR. LUIS TEODORO GARCIA. " $0 TAC ABDOMEN COMPLETO ` SE REALKZARON CORTES(DE TOMOGRAFIA AxIAL COmRUTADA DGSDE EL NA$BASE DIANÓAGMATIGa HASTA HUEKO PELViÃO. PREVIA INGESTION DE MetKO DE CONTRASTE IODADO!NMqUMeO, Y CONTRASTE ENDOVENOSO

66

×e"ORSERVO°LO SIGUKENTE> 1®-1OIRDIOMEgALIA GRALO Il SIN AL\ERACION"ENàBASES PULMONARES, NI ENOZOSAMIENTO ÐLEURÁL O DERRAME. 2./`CARDKoMEGALIA GRADO I. P_R0CRECIMIENtO öENURICULAV IZQUIERDO. 3.- HIGADo,`FAZO, ÐÁncREAS,`GRANLES0VASOS,!aL IGUAL QÕE RIÓÏN DERECH SIN ALÔERACION.` 4.-0rIÑON IZQUIERDO COÎ PEQUEÑO QUISTE EN PARED laTEÒALn 5.m VESICU\A Y VÉA BÉLIQR SIN PATOLOGIA. 6.- UTeRO CON CáL[IFICAIONES EN SUS pAREDE[ eN ReLASION(\ROBACLE CON MIOMAS ] ENDOMETRIO ENWrOSaDO. 7.- No SE APRECIA ADENOPATIAS INGUINALESn! 8.- CAMBIOS TUGUNERA\IVOS DE LA COLUMNA LUMBAR. 9®m RESTO SIN ALÔErACIONEW. SUGERIMOS SORRELACION CLINiãAn Porcentaje recuperado NCC = 0.962735 ******************************************************************************** Finalizando programa de marcas de agua en imágenes médicas ********************************************************************************

Tabla 5.9 Ejecución en Matlab de “Prueba 3”

5.4 Resultados En esta sección se presentan los resultados obtenidos en los diferentes experimentos efectuado en las imágenes médicas. La figura 5.x muestra un ejemplo de la degradación producida en la imagen al aplicar el algoritmo de marca de agua. En la figura 5.x b) las modificaciones realizadas son perceptibles (contornos de la imagen), lo que lleva a tener mas degradación en la imagen marcada, pero mayor robustez en el proceso de extracción de la marca. La figura 5.x c) presenta menos degradación que la figura 5.x b), pero la marca insertada es menos robusta, provocando que la extracción de la marca no sea completa.

a) Imagen Original

b) Imagen Marcada 1

c) Imagen Marcada 2

Figura 5.4 Degradación producida en una imagen

67

Las siguientes graficas muestran la capacidad máxima de cada una de las imágenes variando los parámetros de desplazamiento entre la ventana y el umbral de homogeneidad (Th).

Figura 5.5 Capacidad máxima variando desplazamiento y umbral en imagen “Brain”

Figura 5.6 Capacidad máxima variando desplazamiento y umbral en imagen “Chest”

68

Figura 5.7 Capacidad máxima variando desplazamiento y umbral en imagen “Shoulder”

Figura 5.8 Capacidad máxima variando desplazamiento y umbral en imagen “Knee”

69

Como se observa el las graficas anteriores, que la capacidad de la imagen crece al utilizar las ventanas de búsqueda de manera traslapadas. De igual forma el utilizar valores mayores para el umbral, permite encontrar regiones con mucha textura, es decir, los valores de la imagen varían mucho y por consecuencia la modificación es imperceptible al sistema visual humano, en contraparte esta característica limita la cantidad de información que puede ser insertada en la imagen.

Las siguientes graficas muestran la degradación producida en las imágenes, variando la cantidad de bits a ocultar así como el valor asignado para δ1 y δ2. Los valores asignados para δ1 y δ2 en PSNR1 (Método 1) son calculados utilizando valores proporcionales a la luminancia media del bloque que se está procesando. Los valores asignados para δ1 y δ2 en PSNR2 (Método 2) son calculados utilizando el valor de la homogeneidad y luminancia del bloque que se está procesando.

Figura 5.9 Degradación contra Capacidad en imagen “Brain”

70

Figura 5.10 Degradación contra Capacidad en imagen “Chest”

Figura 5.11 Degradación contra Capacidad en imagen “Shoulder”

71

Figura 5.12 Degradación contra Capacidad en imagen “Knee”

Las siguientes tablas muestran la robustez de la marca en el proceso de extracción, variando la cantidad de información a ocultar. La cantidad de información que es posible ocultar en las imágenes depende de las características de las mismas, si la imagen cuenta con muchas zonas homogéneas limita la cantidad de información a ocultar; si los valores de los niveles de gris en los contornos tienen poca textura, impiden que la marca de agua insertada sea imperceptible provocando una mayor degradación en la imagen.

Método 1 Bits a insertar 4300 4000 2500 1500 1000

Método 2

PSNR (dB)

NCC

PSNR (dB)

NCC

39.27 39.37 41.78 44.10 46.01

1.0000 1.0000 1.0000 1.0000 1.0000

42.18 42.30 44.67 47.09 48.89

0.9962 0.9965 0.9960 0.9946 0.9900

Tabla 5.10 Degradación y Robustez de la marca en imagen “Brain”. Con umbral 0.001, k=3 y sin traslape de ventana

72

Método 1 Bits a insertar 4300 4000 2500 1500 1000

Método 2

PSNR (dB)

NCC

PSNR (dB)

NCC

39.52 39.86 42.15 45.16 47.46

1.0000 1.0000 1.0000 1.0000 1.0000

42.17 42.64 44.67 47.49 49.77

0.9888 0.9890 0.9849 0.9893 0.9960

Tabla 5.11 Degradación y Robustez de la marca en imagen “Brain”. Con umbral 0.001, k=3 y con traslape de ventana Método 1 Bits a insertar 4300 4000 2500 1500 1000

Método 2

PSNR (dB)

NCC

PSNR (dB)

NCC

21.18 22.40 33.74 34.53 36.61

1.0000 1.0000 1.0000 1.0000 1.0000

34.11 35.56 46.36 47.78 49.72

0.8039 0.8381 0.9422 0.9516 0.9512

Tabla 5.12 Degradación y Robustez de la marca en imagen “Chest”. Con umbral 0.001, k=3 y sin traslape de ventana Método 1 Bits a insertar 4300 4000 2500 1500 1000

Método 2

PSNR (dB)

NCC

PSNR (dB)

NCC

30.71 30.75 32.29 35.69 38.23

1.0000 1.0000 1.0000 1.0000 1.0000

43.32 43.45 45.11 47.72 50.09

0.9453 0.9484 0.9465 0.9512 0.9509

Tabla 5.13 Degradación y Robustez de la marca en imagen “Chest”. Con umbral 0.001, k=3 y con traslape de ventana Método 1 Bits a insertar 4300 4000 2500 1500 1000

Método 2

PSNR (dB)

NCC

PSNR (dB)

NCC

45.22 45.77 48.15 50.36 52.54

1.0000 1.0000 1.0000 1.0000 1.0000

46.22 46.62 48.79 51.40 53.07

0.9995 0.9995 1.0000 0.9986 0.9980

Tabla 5.14 Degradación y Robustez de la marca en imagen “Knee”. Con umbral 0.001, k=3 y sin traslape de ventana

73

Método 1 Bits a insertar 4300 4000 2500 1500 1000

Método 2

PSNR (dB)

NCC

PSNR (dB)

NCC

45.87 46.27 48.01 50.08 51.59

1.0000 1.0000 1.0000 1.0000 1.0000

46.52 46.89 48.57 50.83 52.46

0.9990 1.0000 0.9992 0.9973 1.0000

Tabla 5.15 Degradación y Robustez de la marca en imagen “Knee”. Con umbral 0.001, k=3 y con traslape de ventana Método 1 Bits a insertar 2000 1500 1000 500 200

Método 2

PSNR (dB)

NCC

PSNR (dB)

NCC

43.62 45.44 47.45 51.86 56.99

1.0000 1.0000 1.0000 1.0000 1.0000

48.54 50.26 52.13 56.19 61.09

1.0000 1.0000 1.0000 1.0000 1.0000

Tabla 5.16 Degradación y Robustez de la marca en imagen “Shoulder”. Con umbral 0.001, k=3 y sin traslape de ventana Método 1 Bits a insertar 2000 1500 1000 500 200

Método 2

PSNR (dB)

NCC

PSNR (dB)

NCC

44.72 46.26 49.36 52.86 57.85

1.0000 1.0000 1.0000 1.0000 1.0000

49.37 50.75 53.27 56.76 60.73

1.0000 1.0000 1.0000 1.0000 1.0000

Tabla 5.17 Degradación y Robustez de la marca en imagen “Shoulder”. Con umbral 0.001, k=3 y con traslape de ventana

5.5 Discusión de resultados De los resultados obtenidos se puede concluir que se obtuvieron buenos resultados con respecto a la cantidad de información recuperada en el proceso de extracción de la marca, obteniendo porcentajes de recuperación por arriba del noventa por ciento, sin embargo, es importante mencionar que la información medica utilizada como marca en este trabajo es sensible a alteraciones en la misma.

74

Un claro ejemplo es el mostrado en la Tabla 5.4, por un lado, si queremos recuperar completamente la información insertada, es necesario sacrificar la calidad de la imagen final, por otro lado, si se desea que la calidad de la imagen no sea degradada o alterada de tal forma que interfiera en una mala interpretación de la imagen, es necesario sacrificar la información insertada. En la Tabla 5.5 se aprecian errores en la información recuperada, que pueden afectar el diagnostico o la interpretación que fue insertada originalmente, esta aspecto toma mayor importancia si los datos que se manejan son numéricos.

Por otro lado, si la información que se desea ocultar es otra imagen, los resultados obtenidos demuestran que es factible recuperar la marca e identificarla, aun cuando la imagen marcada presente mucha degradación con respecto a la original.

75

76

Capítulo 6 Conclusiones y trabajo futuro 6.1 Conclusiones En este trabajo de investigación se implementó en software para marcas de agua aplicado en imágenes médicas de carácter radiológico; este esquema combina técnicas como compresión y cifrado de datos, así como técnicas de marcas de agua para

incrementar la seguridad en la información referente a pacientes y sus

diagnósticos.

Por un lado, la compresión de datos permite incrementar la capacidad de información que se puede ocultar en las imágenes, satisfaciendo así el requerimiento de capacidad de los esquemas de marca de agua; por otro lado, técnicas de cifrado de datos permiten proteger información relevante de personas no autorizadas para conocer el contenido. Aunado a esto, la seguridad se incrementa al utilizar esquemas de marcas de agua permitiendo que la información insertada pase desapercibida.

Hasta el momento, no existe algún esquema o algoritmo que sea robusto ante todos los ataques posibles que pueden ser aplicados a una imagen, cada uno de los algoritmos es diseñado dependiendo la aplicación en la cual será utilizado; es por eso

77

que este campo de investigación está en constante desarrollo, ideando e implementando métodos que sean robustos a mas ataques.

6.2 Trabajo futuro Basando se en la experiencia obtenida durante el desarrollo de este trabajo, se proponen lo siguiente:

La utilización de técnicas de corrección de errores que permitan recuperar la información insertada de un amanera mas confiable, por un lado, la utilización de estas técnicas permitirán recuperar mas información, pero limitando la capacidad de datos a insertar, ya que estas técnicas agregan bits de redundancia para poder detectar y corregir errores en la información recuperada.

Utilización de otras técnicas para realizar la inserción de la información en la imagen, que permitan que la degradación causada sea mínima, permitiendo que la calidad de la imagen no sea afectada por la información que será insertada.

78

Apéndice A Implementación en Matlab En esta sección se presenta el código en Matlab del esquema de marcas de agua para imágenes médicas. Se muestra el código de cada una de las etapas explicado en el capitulo cuatro de este trabajo.

En la siguiente Figura se presenta el programa principal para el esquema de marcas de agua en imágenes médicas. En esta función, se establecen los parámetros para el recorrido de las imágenes, así como para la inserción de la información. clear all; close all; % Imagen Original IMG = imread('F:\00 Articulo MCIS 2006\Shoulder.jpg'); % Se obtiene el tamaño de la imagen. N = size(IMG,1); % Se convierten las matrices a double. IMG = double(IMG); %------------------------------------------------------------------------------% SE GENERA UNA MARCA DE AGUA ALEATORIA. %------------------------------------------------------------------------------Marca = lee_marca_agua('Diagnostico_2.txt'); % 1013 bytes de información. ani = size(Marca,1); sec = size(Marca,2); % Se inicializa la matriz que contendrá la marca recuperada Marca2 = zeros(ani,sec)-2; % Obtenemos la cantidad de bits a ocultar t_bits = anillos * sectores; % Se centra la imagen con respecto al centroide [IMG,mx11,my11] = Centrar(IMG,N,N,5);

79

%------------------------------------------------------------------------------% INICIALIZACION DE PARAMETROS %------------------------------------------------------------------------------rec = 3; t_v = 3; umb = 0.003; fprintf(1,'\nUmbral para homogeneidad normalizada = %d',umb); fprintf(1,'\nDesplazamiento = %d',rec); fprintf(1,'\nTamaño de ventana = %d',t_v); %------------------------------------------------------------------------------% SE INSERTA LA MARCA EN LA IMAGEN. %------------------------------------------------------------------------------[mx1,my1] = ait_centroid(IMG); [IMG_F,Marca] = Espiral_cuadrada(IMG,Marca,mx1,my1,rec,t_v,umb,N,sec,1,t_bits); degra = PSNR(IMG,IMG_F,N,N); fprintf(1,'PSNR = %d\n',degra); error = MSE(IMG,IMG_F,N,N); fprintf(1,'MSE = %d\n',error); muestra_marca(Marca,sec,ani); %------------------------------------------------------------------------------% Se calcula en angulo de la imagen para eliminar posibles rotaciones % angulo_1 = Calcula_Angulo_Imagen(IMG_F,N); % Se calculan el signo de los momentos centrales de primer orden para eliminar % posibles reflexiones en la imagen. % [or_x,or_y] = Calcula_signo(IMG_F,N); %------------------------------------------------------------------------------% A T A Q U E S %------------------------------------------------------------------------------% Reflejar la imagen. %IMG_F = fliplr(IMG_F); %IMG_F = flipud(IMG_F); %IMG_F = Elimina_flip(IMG_F,N,or_x,or_y); %------------------------------------------------------------------------------% SE EXTRAE LA MARCA DE LA IMAGEN MARCADA %------------------------------------------------------------------------------% Se elimina la posible rotacion en la imagen marcada. %IMG_F = Eliminar_rotacion_imagen(IMG_F,N,angulo_1); % Se eliminan las posibles reflexiones en la imagen marcada. %IMG_F = Elimina_flip(IMG_F,N,or_x,or_y); [mx1,my1] = ait_centroid(IMG_F); [IMG_F,Marca2] = Espiral_cuadrada(IMG_F,Marca2,mx1,my1,rec,t_v,umb,N,sec,2,t_bits); resulta = corr2(Marca,Marca2); fprintf(1,'\nPorcentaje recuperado = %f\n',resulta); muestra_marca(Marca2,sectores,anillos);

A.1 Programa principal

80

La siguiente figura, muestra el código para leer un archivo y generar la secuencia de bits que será insertada en la imagen.

function [marca] = lee_marca_agua(arch) marca = []; fid=fopen(arch); while 1 tline = fgetl(fid); if ~ischar(tline),

break,

end

%disp(tline) tam = length(tline); for i = 1:tam elem = tline(i); marca = [marca,rellena(dec2bin(elem))]; end end fclose(fid);

function [cad] = rellena(nume) cad = []; h = length(nume); if h

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.