As câmeras digitais — incluindo aquelas que equipam nossos smartphones — mudaram radicalmente a nossa relação com a fotografia. Pensar bem no que registrar porque o filme só tem 12, 24 ou 36 poses? Coisa de um passado que ninguém sente falta. Agora a gente consegue fazer centenas de fotos em cada rolê. Se uma não ficar boa, faz outra. E outra.
Só que a era da fotografia digital também tem lá seus inconvenientes. Por exemplo, quem nunca ficou em dúvida sobre o local em que uma foto foi tirada? Bom, pelo menos esse efeito colateral tem uma solução a caminho: o Google está trabalhando no PlaNet, sistema de inteligência artificial que promete identificar o lugar que aparece na imagem.
Identificar locais é fácil… para nós
Se você costuma usar seu smartphone para tirar fotos ou uma câmera digital com GPS, as ferramentas de geolocalização (geotag) desses equipamentos dão conta, na maioria das vezes, de identificar o local em que a foto foi tirada. Essa informação fica no Exif (uma espécie de tabela que descreve as características da foto) da imagem e é lida por serviços como Flickr e Google Photos.
Mas há situações em que você não pode contar com recursos de geolocalização. Nessas circunstâncias, a sua memória pode ser suficiente na hora de identificar o local, mas apenas se você tiver visitado poucos lugares. Se você fizer um tour em uma região com vários pontos turísticos, as chances de confusão na hora de organizar as imagens aumentam consideravelmente (falo por experiência própria).
A beleza disso tudo é que resolver esse tipo de problema não é nenhum bicho de sete cabeças. A sua memória é incrivelmente boa e conseguirá, mesmo que com algum esforço, identificar o local exato das fotos na maioria das vezes. Se a incerteza continuar, você pode pedir ajuda para alguém que te acompanhou no passeio — características arquitetônicas, tipo de vegetação e estilos de roupas estão entre os numerosos detalhes visuais que reparamos na hora de identificar o local de uma foto.
Esse mecanismo funciona bem porque o cérebro faz associações complexas entre essas informações. Além de detalhes visuais, podemos nos lembrar de emoções, cheiros e acontecimentos para cumprir a tarefa de identificar o local registrado na imagem.
Veja, porém, que uma máquina não tem todo esse acervo de detalhes à disposição, logo, é impossível fazer um computador determinar locais em fotos, correto? Até agora, as tentativas já realizadas não deram muito certo, de fato. Mas, para Tobias Weyand, engenheiro de software do Google, uma quantidade generosa de dados visuais pode vencer esse desafio.
Weyand é o principal nome por trás do PlaNet. Ele explica que o funcionamento do sistema é de fácil compreensão (o que não quer dizer que a sua implementação seja simples, veja bem): basicamente, o PlaNet faz comparações de conjuntos de pixels da foto com um banco composto por milhões de imagens devidamente geolocalizadas. É como tentar colocar uma peça em milhões de quebra-cabeças até encontrar um em que o encaixe é perfeito — ou próximo disso.
PlaNet
Explicando com mais detalhes, o PlaNet divide o mundo em 26 mil quadros. O tamanho de cada um deles varia: quanto mais imagens geolocalizadas uma região tiver, maior é o seu quadro. Isso significa que regiões de grandes cidades, como São Paulo ou Nova York, terão uma base muito mais rica de imagens do que lugares remotos. Seus quadros são mais representativos, consequentemente.
Em contrapartida, o mapa de 26 mil pedaços ignora zonas polares e outras regiões com poucos registros. Comparando com a base toda, a quantidade de fotos desses lugares é insuficiente para comparações minimamente confiáveis.
Weyand e sua equipe criaram, em seguida, um banco com imagens geolocalizadas disponíveis na internet e usaram os dados de localização de cada uma para determinar os quadros nas quais elas devem ficar. É um acervo realmente grande: 126 milhões de fotos foram catalogadas.
Desse total, 91 milhões de imagens são usadas para alimentar o banco de dados principal. O método é o seguinte: o PlaNet recebe uma foto, a compara com essa base e aponta em qual dos 26 mil quadros ela deve ser encaixada.
Esse é um processo bem complexo. Para diminuir a carga de trabalho, o PlaNet possui um sistema de rede neural que analisa características de conjuntos de pixels para fazer comparações consistentes. Esse mecanismo não foi detalhado por Weyand, mas é de se presumir que uma imagem que tem muito verde (como um gramado) não será comparada com outra que possui predominância de marrom (como um deserto), por exemplo.
Não acaba aí: as 35 milhões de imagens restantes são usadas para validar cada tarefa de identificação da primeira etapa (a que usa a base de 91 milhões de fotos). Nessa fase, outros testes também são feitos, tanto para validação quanto para refinamento.
Funciona?
Parece que sim. A turma de Weyand fez um experimento bastante abrangente para descobrir. Eles testaram o PlaNet com 2,3 milhões de imagens disponíveis no Flickr. Os resultados foram os seguintes: 3,6% de acerto em imagens no nível da rua e 10,1% com fotos em nível de cidade. Houve ainda 28,4% de precisão em nível de país e, por fim, 48% em nível de continente.
Pouco, né? Mas, acredite, são resultados muito bons. Levando-se em conta que a identificação do local das imagens é feita em escala global, o sistema se sai melhor do que seres humanos.
Para comprovar, a equipe fez um teste com dez pessoas que são especializadas em causar inveja — elas viajam pelo mundo com frequência. Todas foram submetidas a um jogo que mostra um local aleatório no Google Street View e pede para o jogador indicar em um mapa ao lado que lugar é aquele (se você quiser, pode jogar em geoguessr.com). No final de 50 rodadas, o PlaNet apresentou margem de erro de localização de 1.131,7 km; os humanos, de 2.230,75 km.
Devemos lembrar que estamos falando de um sistema que aprende à medida que vai sendo usado, logo, a média de erro do PlaNet deve ficar menor com o passar do tempo.
Weyand não informou o que deve ser feito da tecnologia se ela alcançar um grau de precisão realmente alto, mas aplicações não faltam. Um sistema como esse sendo usado no Google Photos, por exemplo, seria um diferencial e tanto: não seria ótimo subir fotos e o serviço identificar automaticamente o local de cada uma delas? Um dia chegamos lá.
Com informações: MIT Technology Review