Imaginemos el siguiente escenario: tómese una fotografía al azar de la web. Ahora intente discernir el lugar donde esa fotografía fue tomada. Si la imagen muestra un edificio famoso como bien podría ser la Torre Eiffel o bien, un escenario como el de las cataratas del Niágara, la tarea sería relativamente simple. Pero si la imagen no tiene claves sobre dónde fue tomada, el problema puede ser mucho más difícil.
No obstante esto, los seres humanos somos muy buenos en este tipo de tareas. Para ayudarnos, hacemos uso de toda clase de conocimiento como el tipo de anuncios que se ven, o el tipo de vegetación, el estilo arquitectónico, la dirección del tránsito, etcétera. En alguna medidas sacamos ventaja del conocimiento exterior al problema en particular. Por ello podemos muchas veces reconocer dónde se tomó una imagen con tener un par de claves en la fotografía.
Esto hace pensar que esta tarea para las máquinas tiene que ser muy difícil, y de hecho, no es un problema trivial. Sin embargo, las cosas pueden cambiar gracias al terabajo de Tobias Weyand, un especialista en visión por computadora de Google además de un equipo de trabajo. Los investigadores han entrenado una máquina de aprendizaje profundo para hallar el lugar donde casi cada foto ha sido tomada usando solamente los pixeles que contiene.
Su nueva máquina se desempeña incluso mejor que los seres humanos y usa un brillante truco para determinar el lugar en una imagen tomada en el interior de una casa, o en fotos donde aparece comida, mascotas u otros elementos que no dan pistas sobre el lugar geográfico donde la foto fue tomada.
El enfoque es directo, al menos en el mundo del aprendizaje de máquinas. Weyand y colegas empezaron por dividir el mundo en una malla consistente de 26 mil cuadros de tamaño variable, el cual depende del número de imágenes tomadas en ese lugar. Así, las grandes ciudades, que tienen obviamente muchas imágenes, tienen una estructura de la malla mucho más fina que regiones remotas donde las fotografías son menos comunes. De hecho, el equipo de Google ignoró áreas como los océanos o las regiones polares, donde se tomaron muy pocas fotografías.
Acto seguido, el equipo creó una base de datos de imagenes geolocalizadas de la web y uso estos datos para determinar el lugar donde debe ponerse la imagen dentro de la malla definida. Este conjunto de datos es enorme, pues consiste en 126 millones de imágenes acompañadas de sus datos de geolocalización.
Weyand usó unos 91 millones de estas imágenes para enseñar a una poderosa red neuronal para trabajar sobre la posición dentro de la malla usando la imagen por sí misma. Su idea es alimentar la imagen a la red neuronal y obtener como salida un lugar dentro de la malla, o bien un conjunto de valores de los candidatos más probables. Una vez realizado esto, validaron la red neuronal usando el resto de las 34 millones de imágenes en el conjunto de datos. Finalmente probabron la red, la cual llamaron PlaNet, de diversas maneras para ver cómo trabajaba.
Los resultados son por sí mismos interesantes: Para medir la precisión de su máquina, la alimentaron con 2.3 millones de imágenes marcadas por su geolocalización para ver si podría determinar correctamente su localización geográfica. “PlaNet fue capaz de localizar 3.6% de las imágenes an nivel calle y 10.1% a nivel ciudad”, dice Weyland. Más aún, la máquina determinó la ciudad de origen en un 28.4% de las fotos y el continente en un 48% de ellas.
Esto suena bastante bien, pero ¿cómo lo hará la máquina comparado con los humanos? Weyand puso a PlaNet a competir contra 10 humanos que han viajado mucho. Para la prueba usaron un juego en línea, en donde se presenta a un jugador con una vista al azar tomada de Google Street View y se le pidió que dijeran en qué parte del mapa correspondía esa foto. (Por cierto, se puede jugar este juego en www.geoguessr.com). Las máquinas vencieron a los seres humanos ganando 238 de las 50 rondas , con un error mediano de 1131.7 kms. de error, mientras que los seres humanos tuvieron una mediana de 2320.75 kms. de error. Weyand dice: “Este pequeño experimento muestra que PlaNet alcanza desempeños súper humanos en la tarea de localizar geográficamente imágenes”.
De acuerdo a Weyand, la máquina tiene ventaja porque ha visto muchos más lugares que los seres humanos y han aprendido a distinguir claves sutiles en escenas diferentes, asunto que resulta difícil para los seres humanos distinguirlos. Con respecto a fotos tomadas en interiores, la máquina simplemente compara contra otras imágenes para trabajar en la posible localización, asumiendo que ciertas imágenes específicas se tomaron en el mismo lugar.
Esto es un trabajo impresionante que muestra a las redes neuronales profundas y su poder. Weyand indica que además, apenas usan 377 MB para el modelo con el que trabajan, el cual cabe fácilmente en la memoria de cualquier teléfono inteligente.
Referencias:
PlaNet—Photo Geolocation with Convolutional Neural Networks
Technology Review MIT