EsePrimo

2005-04-23

Aplicaciones de aplicaciones de Wavelets

No, no me he confundido al escribir el título. Si seguiste la entrada anterior, ahora tienes una vaga idea de cómo la construcción de Gerard puede ser usada para comprimir imágenes. ¿Observaste como cada pequeña pieza usada en la construcción tiene el mismo color? El motivo es que escogí para la ejecución de mi algoritmo la ondícula de Haar como función generadora de wavelets; dicha ondícula genera funciones que toman tan sólo valores constantes en ciertas regiones rectangulares. En general, uno puede tomar una función generadora con mejores propiedades de continuidad, diferenciabilidad, y otras nociones muy importantes para los matemáticos, pero que seguramente le dejen fríos al resto de los mortales.

No voy a hablar de eso ahora, sino de un divertido algoritmo similar al de descomposición que mostré anteriormente. De paso, ilustro un concepto muy importante del Análisis Matemático con gran influencia en “Teoría de Aproximación” y en particular en la construcción de wavelets: Normas en espacios.

En la vida real, es muy útil tener un mecanismo de medida, que nos permite decidir qué cosas están lejos, y cuales están cerca. Extendiendo esta idea a objetos matemáticos, uno puede conseguir construir una “medida” que indica cuando dos objetos se parecen (es decir, están muy cerca) o cuando son muy diferentes (están lejos). Los matemáticos llamamos norma a aquello que nos permite medir, y usamos una notación muy curiosa. Coco nos ayuda a entenderlo:

Hooola, soy Coco.
Voy a explicar la diferencia
entre cerca y lejos.
Ésto es ||ƒ12|| = 10
cotoclop-cotoclop
cotoclop-cotoclop
cotoclop-cotoclop
cotoclop-cotoclop
ÉSTO ES… arg… arg…
…arg, ÉSTO… ES…
||ƒ12|| = 0
cotoclop-cotoclop
cotoclop-cotoclop
arg… ésto es…
…||ƒ12|| = 10
…ARGGGG
Veamos cómo la noción de norma nos ayuda a conseguir programar un ordenador para realizar mosaicos como el presentado junto a estas líneas (pincha en él para verlo en grande). Empezamos dividiendo la imagen original en tantos trozos rectangulares como deseemos. Queremos colocar sobre cada uno de estos trozos una imagen diferente, de modo que la superposición de ambas, sin ser completamente iguales, ofrece poca diferencia. Aquí es donde la norma que antes explicaba viene bien. Este sencillo algoritmo, y una buena colección de imágenes es todo lo que necesitas para escribir tu propio código.
Si estás interesado en crear tus propios mosaicos, pero la programación no es tu fuerte, siempre puedes bajarte programas similares a tu ordenador. Aquí pongo un resumen de los que conozco:

Technorati Tags: , ,

7 Commentarios:

El 4/25/2005 03:05:00 AM, Blogger Anónima escribió...

Hace no sé cuanto tiempo prometí poner la referencia a esta patente , pero luego se me olvidó, y en este post viene pero que ni pintada.

Usan las wavelets para saber si la imagen que han tomado del iris de una persona que se desea identificar "está muy cerca" de la imagen del iris de esa persona previamente almacenada en una base de datos. Consiguen mediante el uso de la transformada wavelet que haya que manejar menos información sin perder demasiado en fiabilidad.

Espero que os guste el ejemplo de aplicación a los que entendeís de wavelets :)

 
El 4/25/2005 09:23:00 AM, Blogger EsePrimo escribió...

Gracias por el enlace, aunque por alguna razón no soy capaz de abrirlo todavía—quizá la página principal está teniendo problemas, o algo. ¿Te importa revisar el link, por si acaso?

Pero en efecto, un algoritmo serio de compresión de wavelets te permite almacenar mucha más información de este tipo, y es usado habitualmente por agencias de inteligencia para acceder rápidamente a los sospechosos de crímenes, etc. Otros ejemplos son las huellas digitales, o el reconocimiento de caras; todo ello realizado gracias a las bondades de las ondículas.

 
El 4/25/2005 01:03:00 PM, Blogger Anónima escribió...

El enlace era a esta patente

Y no me preguntes como lo hice pero al final del enlace de mi anterior comentario aparece el código(menor /br mayor) que yo jamás quise poner...

 
El 4/25/2005 01:20:00 PM, Blogger Gerard escribió...

Fua, que nivel!!! Que bueno, lo del Coco me ha llegado al corazón!!

Me miro el enlace, pero no lo veo raro, porque una de las propiedades que tienen las wavelets es que detectan bien las singularidades o canvios bruscos, y un iris se debe poder caracterizar por sus singularidades.

Muy interesante, en serio. Con estas cosas me estoy bajando de mi mundo feliz y super abstracto para hablar tanto de aplicaciones como de cosas tangibles.

 
El 4/26/2005 02:09:00 AM, Blogger EsePrimo escribió...

Anónima: Gracias de nuevo por el enlace. Muy interesante ver como otros compañeros están resolviendo problemas similares a los que me ocupo.

Gerard: Encantado que te guste. Por cierto, estoy muy tentado de pasarme por Viena la semana del 23; es la semana que se supone regreso a España, y no creo que a la familia le hiciera mucha gracia que postpusiera mi llegada unos días más, pero lo cierto es que es una gran oportunidad. ¿Oiste algo del FoCM en Santander?

 
El 4/26/2005 01:45:00 PM, Anonymous noelia escribió...

Me ha encantado!! He recordado mi infancia con el Coco! Además los enlaces que has puesto son geniales!!

Creo que el año que viene en los sábados de las matemáticas tendremos que proponer un taller de wavelets. ¿Algún voluntario? En este blog, creo que como mínimo hay dos!! Eseprimo, Gerard, os apuntáis?

Primicia: Este sábado irá de burbujas de jabón!! Ya os contaré :)

 
El 4/27/2005 01:45:00 AM, Blogger EsePrimo escribió...

Noèlia, yo me apuntaba, pero alguien me tiene que pagar el avión.

Ya me contarás las peripecias de los de las pompas… ¿topologos, geometras differenciales? ¿quién la organiza?

 

Post a Comment

<< Página Principal