Búsqueda

martes, abril 11, 2006

Ampliando imágenes (II)

Poco ha durado en la parrilla televisiva la serie Numb3rs. Como suelen hacer los canales de este país, Antena 3 ha quitado la serie sin previo aviso. Una pena, ya que tenía una peculiar mezcla de malaciencia y buenaciencia. Hoy voy a comentar una escena de uno de los últimos episodios que pude ver. Al inicio del mismo, el FBI estaba revisando la grabación de una cámara de seguridad para intentar identificar a unos atracadores. Explicaban que estaban probando un novedoso algoritmo elaborado por el prota matemático, para compensar la pérdida de resolución al ampliar una imagen. El joven genio explicaba que estaba basado en la interpolación, y que se generaban nuevos píxeles utilizando la información de píxeles circundantes.

Al igual que en el episodio del matemático que intentaba demostrar la Hipótesis de Riemann, hay aciertos y fallos. El principal acierto es que se nos muestra (¡por fin!) la problemática de ampliar una imagen, alejándose del tópico de series y películas policiacas en las que en unos instantes se amplía una imagen hasta poder ver al asesino en el reflejo de unas gafas o un ojo, con todo detalle. Ya comenté en un envío anterior, con algún ejemplo gráfico, la imposibilidad de obtener determinado grado de detalle de una imagen, así que simplemente lo resumiré en una frase: falta de resolución. Si amplias una fotografía clásica en papel, llega un momento en que comienzas a ver el grano de la película fotográfica. Si amplías una imagen digital, verás los píxeles que la forman. Se pueden utilizar diversas técnicas para intentar mejorar la imagen, pero el problema de fondo es la falta de información para ello, por lo que cualquier algoritmo a utilizar debe adivinar o inventar en cierta medida la información que falta. Eso es la interpolación.

Así que el comentario del matemático, sobre un algoritmo de interpolación es también acertado, salvo por un detalle: presenta el hecho de utilizar los píxeles circundantes como algo novedoso. Y esto no es así. Cualquier algoritmo de interpolación necesita datos para recrear los que le faltan. Y esos datos son precisamente los procedentes del entorno más o menos cercano. En el caso de una imagen digital, ese entorno es precisamente los píxeles de alrededor al que estamos tratando de restaurar. Todo algoritmo de interpolación lo hace. Dependiendo del mismo, podrá utilizar sólo los más cercanos, o regiones más amplias, o incluso todos los píxeles de la imagen, pero siempre tendrá que basarse en la información proporcionada por el resto de píxeles. Así que el hecho de interpolar a partir de los píxeles circundantes, dista mucho de ser un descubrimiento.

En honor a la completitud, y dado que no lo mencioné en el primer envío sobre este tema, comentaré otra técnica con la que se pueden obtener impresionantes resultados: la deconvolución. ¿Eso qué es? Bueno, en matemáticas existe algo llamado convolución, que básicamente viene a representar una mezcla o superposición de dos funciones. Pensemos en términos de funciones: la información que queremos grabar es una función, pero a ella se superpone ruido (lente desenfocada, movimiento, etc) que sería otra función. Así que lo que realmente queda grabado es la mezcla o convolución de ambas funciones. Pues bien, la deconvolución es precisamente la operación inversa de la convolución. Se trata de obtener una de las funciones originales a partir de la mezcla y la otra función. Parece bastante claro que para poder hacerlo, es necesario conocer la función no deseada, es decir el ruido. Esto es algo que no se puede saber con exactitud, pero se pueden hacer buenas aproximaciones dependiendo de si lo que queramos corregir. Así, aplicaremos distinas funciones si tenemos una imagen desenfocada o una movida, por ejemplo. Y los resultados pueden ser sorprendentes.

Pero no hay que perder de vista que el problema que resuelve la deconvolución es otro distinto: desenfoque, movimiento, distorsión producida por la atmósfera... Pero no puede hacer milagros con la falta de resolución. La pérdida de información es un proceso irreversible. En el mejor de los casos, se puede sintetizar una información parecida a la original, pero nunca podrá recuperarse por completo. Como dije en aquel envío, de donde no hay, no se puede sacar.

23 comentarios:

  1. El tema de la imagen se da mucho en el tratamiento de imágenes para impresos. Es muy recurrente interpolar la imagen para obtener una mayor cantidad de pixeles por pulgadas, y ahí entra en juego el tema de la interpretación de los pixeles cercanos. Pero como tu dices, es imposible que al ampliar la imagen a un tamaño mucho mayor conserve la resolución. El scanner me da la impresión de que maneja un sistema similar...

    Bueno, eso. Excelente blog, muy entretenido e interesante.

    Saludos

    ResponderEliminar
  2. Realmente me sorprende la nitidez que se consigue en la foto ejemplo, es dificil de creer que una imagen tan desenfocada quede tan nitida.

    ResponderEliminar
  3. Apareció el otro día la noticia de que unos investigadores españoles habían descubierto un método para aumentar la resolución de una imagen. Este método se basa en emplear distintas imágenes del mismo encuadre para combinandolas conseguir crear un imagen con mayor resolución.
    Aquí hay una entrevista con el padre de la criatura:
    http://www.quesabesde.com/noticias/CSIC-resolucion-Gabriel-Cristobal,1_2321

    ResponderEliminar
  4. A mí siempre me ha parecido que uno de los ejemplos más espectaculares de interpolación por falta de información que se puedan ver (literalmente) es el del punto ciego, no sé si lo conoceis.

    ResponderEliminar
  5. En un capítulo de CSI las Vegas se tomaba una foto desde un satélite, se ampliaba el reflejo sobre el capó de un coche y se veía una matrícula en el reflejo... sin interpolación ni nada!

    Falta poco para que en una fotografía convencional puedan verse los átomos.

    ResponderEliminar
  6. La verdad es que las ampliaciones "hasta el infinito y más allá", ya sea por métodos pseudoreales o simplemente por amor al arte están más que presentes en todas las series y películas de ese estilo que se hacen, y mira que quien más quien menos ya todo el mundo sabe lo que es un píxel y que de donde no hay no se puede sacar...

    Por cierto, realmente acojonante lo de la imagen obtenida por desconvolución, si no me lo dicen en un sitio como este doy por hecho que es mentira. Pero qué barbaridad...

    ResponderEliminar
  7. Vaya, iba a comentar el nuevo avance de usar varias imágenes para sacar una más nítida, pero se me han adelantado.
    La verdad es que no tiendo como algo tan lógico ha tardado tanto tiempo en realizarse.

    ResponderEliminar
  8. hace poco leí una noticia (http://www.quesabesde.com/noticias/CSIC-resolucion-enfoque,1_2320) en la que se hablaba de un procedimiento para doblar la resolución de una imagen utilizando imágenes sucesivas captadas por una cámara de vídeo. Gabriel Cristóbal, su autor, tiene una presentación (http://www.csic.es/prensa/noticias2006/02febrero/presentacion.pdf) en la que entendí que el proceso consistía en un tipo de interpolación (que llama superresolución) que usa algún algoritmo propio de correspondecia (para localizar los píxeles a interpolar entre diferentes imágenes).

    Ya que en el capítulo que comentas se utiliza una cámara de video podrían haber dicho que utilizaban este procedimiento ya terminado (porque Gabriel Cristóbal dice que aún le queda bastante para que funcione del todo).

    ResponderEliminar
  9. Vaya, ahora que me fijo todo lo que cuento ya lo han dicho antes.

    Perdón a todos.

    ResponderEliminar
  10. Je, je, je, no se si alguien vió la peli "enemigo público" o algo parecido de will smith, en esta peli no es que interpolen hasta el infinito y más allá...

    Es que además, a partir de una imagen de una cámara de seguridad, hacen una representación 3D del contenido de una bolsa que no se ve porque la tapa el cuerpo de una persona :O

    Me quedé de piedra cuando lo vi.

    Felicidades por la página, temas interesantes tratados desde un punto de vista ameno y accesible.

    ResponderEliminar
  11. Pero... ¿Para qué queremos interpolación teniendo cacharritos como este? ;)

    Ahora, en serio, el tema de la ampliación de fotos y vídeos es llevado a lo más inverosímil en todas las películas o series. ¿Alguien ve la serie Las Vegas, de Cuatro? Yo quiero un sistema de seguridad como ese, capaz de hacer lo increible.

    Y sobre la convolución/deconvolución de funciones, algo he estudiado sobre el tema en mi carrera, pero nunca me lo había planteado de esa forma. Cada día se aprende algo nuevo ;)

    ResponderEliminar
  12. Para todos los que han citado la noticia de la "invención" del sistema para aumentar imágenes: Eso no es ningún descubrimiento nuevo, tal y como lo anuncian. Esa técnica es utilizada ampliamente en astronomía.
    Podeis ver como fué anunciada la noticia en Barrapunto, y como fué desmontada por mucha gente.
    Incluso hay cámaras de fotos digitales que ya lo hacían en 2001 solas.

    ResponderEliminar
  13. ¡Hola!

    Soy una estudiante de 3º de Biología (voy por la rama Fundamental). Estoy construyendo un pequeño proyecto en la red sobre Biología y ciencias afines. Está en Inglés y consta de website, foro de opiniones y chat.

    Ahora estoy promocionándolo (no hay muchos/as usuarios/as registrados todavía). Si te apetece, visítalo.

    También estamos buscando colaboradores/as (moderadores de foro, reporteros, etc) para el proyecto. Si te interesa, escribe un e-mail a biosciworld@yahoo.es

    Recibe un cordial saludo...

    BioSciWorld team.
    http://es.geocities.com/biosciworld
    http://www.biosciworld.tk

    ResponderEliminar
  14. Ya que el usuario anterior hablaba de biologia, se me ha acaba de ocurrir un metodo para que en CSI abaraten los analisis de ADN. Para que gastar tanto dinero en material de laboratorio si lo único que hace falta hacer es fotografiar la gota de sangre y ampliar la imagen hasta que se pueda leer la informacion genetica a simple vista. Soy un genio, voy corriendo a contarselo a Grissom.

    ResponderEliminar
  15. Por fin un post que entiendo de principio a fin :)
    Respeto a la investigacion de Gabril Cristobal he de decir que estuve en la rueda de prensa de la presentacion y ciertamente me quede de piedra viendo lo que se podia hacer con una simple webcam... y aun estaba en fase de pruebas.
    Ya lo han dicho, pero me repito, esto si es un avance, y no sacar la imagen del asesino en el reflejo de un ojo :D

    ResponderEliminar
  16. Me pasa lo que a Nividhia ¡por fin un post que entiendo! que en foto me defiendo. Pero vivo en París, donde la difusión de la serie comenzó ayer (pusieron 3 capítulos de golpe) ¡y ahora no sé de qué puedo fiarme y de qué no! me has puesto la mosca detrás de la oreja.

    ResponderEliminar
  17. Bueno, voy a aprovechar un poco mis conocimientos de haber trabajado en Vision por Computador.

    No hay que confundir el tema de superresolucion de una sola imagen con la hyperresolucion de sistemas multimagen. Lo primero es lo que comentaba Alf. Lo segundo, es lo que anunciaban en el CSIC, que si bien el algoritmo es novedoso, la idea no. Ejemplo conocido por todos: las imagenes de satelite que vemos en Google Earth.

    Realmente el segundo caso es hacer "trampa", ya que si tenemos 4 imagenes de una resolucion, realmente tenemos la misma cantidad de informacion que una imagen con el doble de resolucion. Aunque bien es cierto que, en la practica, muchos seran redundantes.

    Yo tenia un compañero que hizo un proyecto muy interesante. Tenia 12 imagenes de un diploma enmarcado y apoyado en la mesilla. Para mas dificultad, un osito de peluche tapaba parcialmente el diploma en todas las fotos. Ademas, en ninguna de las fotos tenia calidad para poderse leer. Pues aplicando un algoritmo de "fusion de informacion", consiguio una imagen en la que se leia el texto perfectamente e incluso borraba el oso, permitiendo leer el texto que estaba detras!

    ResponderEliminar
  18. Alguien comentó la panorámica mas grande del mundo, pues yo os pego el link
    de la cámara de fotos con mas resolución del mundo.

    http://www.gigapxl.org/gallery.htm

    ResponderEliminar
  19. Me suena que lo de la convolución también se emplea en sonido. Hace un tiempo hice con unos compañeros unas grabaciones y recuerdo que para eliminar el ruido lei en algún sitio que se podía grabar el sonido de fondo de la sala en la que se hacía la grabación y después con un programa informático se restaban los dos sonidos.

    ResponderEliminar
  20. Es que además, a partir de una imagen de una cámara de seguridad, hacen una representación 3D del contenido de una bolsa que no se ve porque la tapa el cuerpo de una persona :O

    Estando de acuerdo en que es una exageración, en "Enemigo Público", utilizan dos cámaras distintas. Teniendo dos vistas distintas de la misma escena, es posible hacer más cosillas. Eso sí, no creo que se pueda interpolar una imagen 3D completa, en segundos.

    ResponderEliminar
  21. Ese ejemplo de restauración de la vista aérea de las pirámides me parece brutal, es como si hubieran hecho magia. Existen ciertos programas que "tratan" de realizar dicha deconvolución tanto en una imágen borrosa/movida como en audio (para eliminar ruido, ecos o reverberaciones). Obviamente, los resultados que yo he obtenido nada tienen que ver con el ejemplo de las pirámides. Si alguien sabe con qué software se ha hecho, le agradecería mucho cualquier comentario. Saludos.(sfalbacete@hotmail.com)

    ResponderEliminar
  22. Haz tocado un tema especialmente sensible para mi, y ya han nombrado el concepto que necesitas estudiar antes de hacer una aseveracion como esa que estas haciendo, la "SUPERRESOLUCION" porque si bien es cierto que de una imagen no se puede sacar mas informacion de la que hay en la imagen "unica", existen algoritmos capaces de a partir de multiples imagenes del mismo objeto (en este caso una cara) en baja resolucion se puede armar una imagen con una resolucion mucho mas alta de ese objeto. Yo creo que deberias escribir un nuevo articulo retractandote. Para los que no entienden piensen en una imagen imagen como que cada pixel fuera una ecuacion lineal del tipo: ax+by+cz=h, de esa ecuacion solo se podria obtener valores posibles de a, b y c, sin embargo si existe otra ecuacion relacionando a, b y c (otro pixel en otra imagen de baja resolucion) se tendrian 2 ecuaciones y 3 incognitas, lo que aumentaria al doble la informacion sobre la solucion (por decirlo de alguna forma) aunque no es unica. Pero si volvemos a las imagenes; por decirlo de alguna forma, al tener 4 imagenes de un mismo objeto se podria obtener 1 imagen con el cuadruple de resolucion, aunque esto es imposible (en verdad 4 imagenes aumentaria cerca de 1.x veces la resolucion) pero es para que se entienda la idea.

    ResponderEliminar
  23. Este tema me recuerda un chiste que oí de niño que decía:
    Un hombre va con una foto antigua a un fotógrafo famoso por sus "trucajes".
    Le dice:
    "Esta es la foto de mi abuelo, quisiera que la ampliara, colorearla y de paso le quite el sombrero".
    El fotógrafo pregunta: "De que lado tenía la raya del peinado?".
    Y el cliente contesta: "Ya lo verá cuando le quite el sombrero".
    Saludos

    ResponderEliminar

Nota: solo los miembros de este blog pueden publicar comentarios.