La ‘nueva’ cámara de Android

Por si queda alguien que aún no se haya enterado, la nueva aplicación de cámara de Google para Android es una noticia interesante. Primero, porque la aplicación (enlace a Google Play) funciona ahora sobre cualquier móvil o tableta Android 4.4. Que no es para nada una versión de Android muy extendida, pero sí es bastante más cobertura que la que tenía la aplicación hasta ahora… De golpe las panorámicas ‘a la Streetview’ pasan a estar al alcance de bastantes más móviles, algo que no deja de estar bien (la aplicación ha perdido algunas opciones de configuración, como el balance de blancos, por el camino, por cierto :-().

Pero la novedad realmente noticiosa está explicada con detalle en Lens Blur in the new Google Camera app, en el blog de investigación de Google. Como probablemente sepáis, una de las ventajas más relevantes de cargar con una cámara grande es que estas suelen tener sensores más grandes y estos suelen tener la capacidad de reducir la profundidad de campo: el primer plano queda enfocado mientras que el fondo se desenfoca, algo que hace que ese objeto en primer plano destaque mucho más y no se pierda entre el fondo. Los sensores de las cámaras de los móviles son (con muy contadas excepciones) minúsculos, con lo que cuando haces una foto, el primer plano queda enfocado, lo que hay inmediatamente detrás queda enfocado, y el árbol que hay a quinientos metros de distancia también queda perfectamente enfocado. Eso, a veces, está bien, pero muchas otras veces, no.

Lo que hace Google es (después de activar el modo lens blur), primero, pedirte un poco de trabajo extra (después de tomar la foto la aplicación te pide que muevas la cámara un poco de una determinada forma) y, después, aplica un poco de magia (llámale magia, llámale algoritmos de visión por ordenador) para construir un mapa de profundidad que permite, a posteriori, centrar el foco allí donde queramos, con la intensidad que deseemos. Mola.

Claro que las fotos de demostración de cualquier cosa suelen estar tomadas en condiciones ideales. ¿Qué pasa si tomas fotos ‘de verdad’, con iluminación nada optima, con el sensor más bien mediocre del Nexus 4, y mi pulso? Veamos una primera foto sin el efecto aplicado:

Foto de un salero sobre una foto. Toda la imagen está enfocada, restando importancia al salero, que es el objeto que se quería fotografiar
Es una foto del salero. O lo quería ser. Porque con todo esa profundidad de foco, es difícil saber qué se quería fotografiar

(Las fotos que genera la aplicación cuando se activa el desenfoque son 1024×768 y las tenéis a resolución completa: clic para verlas a tamaño completo.)

Démosle un 50% (más o menos) de efecto:

Foto de un salero sobre una foto. El fondo se ha difuminado mucho, con lo que queda claro que el protagonista de la foto es el salero
Esto ya es otra cosa…

Y si le damos a tope…

Foto de un salero sobre una foto. Se ha difuminado de forma extrema, de forma que hasta partes del salero están desenfocadas
El efecto aplicado al máximo. Obsérvese cómo la cabeza del salero está enfocada… pero la sal del salero, no o.O

Claro que ese salero no deja de ser un objeto sencillo, y a lo mejor no presenta un gran reto. Vayámonos a un ejemplo realmente difícil. De nuevo, primero sin el efecto aplicado:

Foto de una planta. Toda la imagen está enfocada, con lo que se resta importancia a la planta, que se pierde en un fondo complejo
Un caso bastante más complejo. Estaría bien poder perder ese horrible fondo, pero… ¿sobrevivirá el algoritmo?

Y ahora con aproximadamente el 50%:

Foto de una planta. Desenfoque aplicado aproximadamente al 50%. El efecto no es perfecto, pero muy tolerable. El fondo se ha difuminado casi completamente
Bastante bien, ¿no?

Eso sí, en condiciones así abusar del efecto va a provocar efectos secundarios no deseados:

Foto de una planta. El efecto se ha aplicado al máximo. El algoritmo falla, y aplica efectos a partes de la planta que no debería y resulta extraño. La foto es perfectamente reconocible, pero hay cosas extrañas
Al límite. El algoritmo no hace milagros. Pero casi…

Y, hablando de efectos secundarios, no podían tardar en llegar unos cuantos hacks explotando el trabajo de Google (como debe ser :-)):

Nada mal, ¿no?