La increíble tecnología detrás de la nueva actualización de Google Earth

Google Earth comenzó su desarrollo en 2005. Tras todos estos años, su capacidad, técnica y detalles han ido evolucionando más allá de lo que mucha gente piensa. Con la nueva actualización del software, ahora se incluyen más perspectivas y animaciones fluidas que hacen parecer que flotemos sobre el planeta. En el siguiente video-entrevista de Nat and Friends, Google destapa algunas de las técnicas que se utilizan más allá de las imágenes satelitales.

Google Earth: la mayor cartografía creada por el ser humano

2017-05-08_122954.png

Google Earth es un sueño histórico hecho realidad. Toda la humanidad tiene acceso ilimitado, gratuito y completo a los mapas de cualquier lugar de nuestro planeta (e incluso fuera de él), ya no solo a través de aplicación de escritorio, sino también en aplicación web desde hace poco. Es la representación digital y foto-realista más completa del planeta Tierra.

Se nos hace natural disponer de esta herramienta, pero en realidad es un caso de éxito histórico para nuestra especie. Si Google Maps es nuestro GPS universal, Google Earth va camino de convertirse en una versión virtual de nuestro planeta. Y eso es increíble.

¿Cómo consigue las imágenes Google?

Casi todo el mundo piensa que a través de satélites. Están en lo cierto, pero no es una respuesta completa. Resulta que además de los miles de millones de imágenes que van capturando satélites en órbita a nuestro planeta, ¡Google también dispone de avionetas a baja altura, que toman imágenes desde otros ángulos!

Podríamos decir que son los google street-view planes.

¿Por qué? La razón es simple. Un satélite está alto, muy alto. Tan alto que, pese a los giros que pudiera hacer con su cámara (que por otra parte suele estar fija), la imagen que captura es casi totalmente perpendicular a la superficie de la Tierra. De ese modo, las imágenes satelitales son simplemente fotografías 2D que nos muestran la planta del terreno, es decir, son imágenes totalmente cenitales. Esto es suficientemente válido para la mayor parte del globo terráqueo, pues con esa información es suficiente ver las carreteras, fronteras, orillas, bosques… Sin embargo, en algunos lugares como ciudades, zonas montañosas o con cambios de desnivel muy bruscos, esta información no es suficiente. Se necesitan imágenes que aporten información adicional en otras dimensiones. Así, los aviones que capturan imágenes para Google Earth tienen varias cámaras y no sólo una, que apuntan a distintas direcciones tomando fotografías de las fachadas de los edificios en distintas perspectivas, por ejemplo.

Un ejército para capturar datos

LucWithTrekker1.jpeg

Si juntamos los satélites, coches, aviones, esquiadores, montañeros y, hay quien dice, también drones, estamos hablando de un despliegue global que pocas naciones podrían permitirse. Además, estas imágenes no dejan de aumentar, ya que Google cada vez reduce más los tiempos de actualización de su cartografía. Ahora mismo, las imágenes de ciudades son actualizadas aproximadamente cada 1 ó 2 años. Por otro lado, Google también usa imágenes de terceros para añadir más inputs, tendiendo que llevar un control de proveedores muy cercano.

Además, Google necesita cielos despejados para poder captutar bien la superficie, algo que supone un reto adicional nada despreciable, ya que en ocasiones la nubosidad puede cubrir partes muy amplias de terreno durante mucho tiempo y hay que cuadrar que satélites o aviones hagan su trabajo en ese área justo cuando es óptimo. Como dicen en el video del inicio de este artículo, Londres les llevó mucho tiempo porque siempre está nublado.

Las imágenes de todos los dispositivos son triangulizadas con distintos satélites (GPS incluyendo altura) para poder definir con precisión la captura y registro de cada fotografía.

La tarea de unir fotografías es más compleja de lo que parece

Downtown-Denver-520x325.png

Tras ir sacando fotografía tras fotografía, posteriormente éstas se deben unir para crear una superficie continua. Evidentemente este proceso no se puede realizar de forma manual al generarse una cantidad tan ingente de fotos. Google ha desarrollado una metodología y diversos programas que automatizan esta complejísima tarea.

Primero, se limpia la fotografía. Un algoritmo ajusta colores, quita nubes, niebla… Alguno se podrá haber dado cuenta de que en Google Earth hay pocos coches, peatones u obtejos extraños. La razón es que gran parte de los mismos se “borran” automáticamente, nuevamente por distintos algoritmos. Es como meter un código que nos haga photoshop de forma automática.

Segundo, un software analiza la fotografía por visión computerizada. Esto es, el software analiza patrones, figuras, colores… En definitiva, “comprende” la imagen como haríamos nosotros. Detrás de este proceso hay muchos algoritmos, algunos de los cuales son de machine learning, al repetirse y parecerse mucho las fotografías entre sí.

Aquí un inciso. La visión computerizada (computer vision), es una disciplina y tecnología apasionante y que en los últimos años, gracias al desarrollo de otras tecnologías, está despuntando de forma alucinante. De un modo simple, podríamos decir que Computer Vision es la tecnología que confiere la capacidad de ver a las máquinas. Lo cual nos lleva a la siguiente pregunta: ¿qué es ver? Ver podríamos decir que es reconocer el entorno por medio de la luz y entender el mismo por medio de la abstracción. La visión computerizada se ha visto impulsada en los últimos años por el machine learning.

En los siguientes 8 minutos de video, podéis entender qué es el Computer Vision, en qué se aplica y cuál es su potencial. Además, se muestra como es utilizado en conccreto en Google Maps y Google Earth.

Un área apasionante y más profunda de lo que parece a simple vista (nunca mejor dicho). Y es que como bien dicen en el video,

“Lo cierto es que los investigadores en computer vision no entienden realmente como una computadora puede ver”

Sigamos. Hemos conseguido obtener imágenes del terreno y en distintas fuentes y perspectivas y la máquina la ha analizado así que comprende en cierto modo lo que hay en las imágenes: una carretera, un árbol, un campo de trigo… Incuso ha eliminado algunos de estos objetos.

Después, tras juntar por ejemplo dos imágenes, y unido a la información de la geo-posición de las mismas, se identifica en los patrones detalles de coincidencia para unir las mismas donde se genere continuidad visual. No todas las imágenes tienen la misma perspectiva ni tamaño; algunas imágenes se sacan a una altura diferente o por medios muy distintos, lo cual hace esta tarea más compleja aún.

Más difícil todavía. Generando una malla tridimensional

2017-05-08_1742182017-05-08_174207

En una visión global, Google Earth se ve en 2D. Sin embargo, una vez nos acercamos a la superficie, podemos cambiar de perspectiva y ver en 3D. Para ello es fundamental la estéreo-fotometría. Esta técnica ayuda a calcular la volumetría de los objetos a través del análisis de distintas condiciones de iluminación.

De nuevo de forma automática, lo cual es increíblemente complicado, Google consigue que su algoritmo analice distintas imágenes y, en función de la posición, patrones, y condiciones de iluminación, genere una malla tridimensional del objeto en estudio, que puede ser un edificio, una montaña, un árbol… Nuevamente, gracias a técnicas de Computer Vision.

La malla se crea a partir de los llamados mapas de profundidad, que son algo así como nubes de puntos que reflejan de forma aproximada la distancia de cada uno de ellos. Existen muchos mapas de profundidad distintos, a partir de distintas imágenes tomadas del lugar. Se juntan todos y un software crea la malla, o mesh en la jerga técnica. Una malla es una representación tridimensional virtual basado en superficies formadas por triángulos.

2017-05-08_1923452017-05-08_1923582017-05-08_1924122017-05-08_192429

Sobre la malla, se superponen texturas que son las imágenes capturadas.

2017-05-08_192555.png

Mucho más difícil todavía. Renderizando objetos a tiempo récord

Como redoble final, resulta que para optimizar tiempos de procesado, los algoritmos de Google también simplifican formas según lo que hayan comprendido. Por ejemplo, si ha identificado un árbol, puede usar formas de árboles predefinidas para renderizar en 3D este objeto en el lugar donde está,

Lo mismo para fachadas, torres de alta tensión, montañas, valles, dunas…

Decenas de millones de imágenes componen el mapa de Google Earth, que puede cargar en un navegador con una facilidad pasmosa. Ten en cuenta que a veces un blog, una web de un diario o cualquier otro sitio de Internet con un porcentaje absurdamente pequeño de la información de Google Earth tarda muchísimo en cargar.

Google Earth es como una imagen de 800 millones de píxeles.

Un ordenador normal tardaría 60 años en procesar esa imagen. Y en Google Earth puedes hacer zoom a distintos “niveles”, así que cada imagen se multiplica por todos esos zooms (unos 20).

Y con Google Engine podemos ver la evolución de la Tierra en distintos años, así que tenemos también la variable del tiempo, así que se convierte en una caja del tiempo del estado de nuestro planeta, continuamente monitorizado y de acceso público: deforestación, derretimiento de los polos, crecimiento de las ciudades, desertizaciones. Podemos ver y estudiar la evolución de todo esto sólo poniendo una dirección en nuestro navegador:

earth.google.com/web/

Vía: Spar3d, Nats & Friends, EjuTV, Googleblog

6 comentarios en “La increíble tecnología detrás de la nueva actualización de Google Earth

Deja un comentario