Nosso app oficial para iOS já está na App StoreBaixar grátis

API de geolocalização de fotos: o que retorna e onde falha

· 13 min de leitura

Resposta curta

Uma API de geolocalização de fotos recebe uma imagem e retorna uma estimativa de onde ela foi tirada: um país, uma região ou uma cidade, coordenadas aproximadas e uma pontuação de confiança. A estimativa é inferida de evidências visíveis, como arquitetura, placas e vegetação. Não é uma leitura de GPS, e pixels sozinhos não produzem um endereço.

A confusão começa antes de qualquer código ser escrito. A Geolocation API do navegador informa onde um aparelho está agora, e só depois que o usuário concede permissão. Uma API de geolocalização de fotos responde a outra pergunta, sobre outra entrada: onde esta foto foi tirada? A imagem pode ter dez anos e ter sido feita em qualquer lugar da Terra.

Três tecnologias vizinhas também são descritas como “localizar uma foto”: a leitura de metadados GPS, a busca reversa de imagem e a detecção de pontos turísticos. Elas retornam coisas diferentes e falham de maneiras diferentes, então vale saber qual pergunta o seu produto realmente faz antes de escolher uma delas.

O que uma API de geolocalização de fotos faz, de fato?

Ela infere uma localização a partir dos pixels. Um modelo lê evidências como marcações viárias, arquitetura, plantas, a escrita das placas e a qualidade da luz, então informa o lugar em que a maior parte dessas evidências concorda, com uma pontuação de quanto elas concordam.

Muitos sistemas de pesquisa tratam isso como um problema de classificação. PlaNet, um modelo de 2016 de pesquisadores do Google, dividiu a superfície da Terra em milhares de células e treinou uma rede com milhões de fotos geolocalizadas para prever a qual célula uma imagem pertence. O resultado é uma distribuição de probabilidade espalhada pelo globo. A foto de um bonde de Lisboa concentra essa probabilidade em um lugar; a foto de uma floresta de pinheiros a espalha por vários continentes. Uma pontuação de confiança é, na prática, um resumo dessa dispersão.

O detalhe mais importante para o design de um produto é que nada precisa existir online. A API funciona com uma foto que nunca foi publicada e pode devolver uma resposta mesmo quando as evidências são fracas, por isso a pontuação importa tanto quanto o lugar. Como um modelo lê uma cena é tratado à parte; este guia trata do que você faz com o resultado.

A precisão também é desigual por construção. O PlaNet deu às áreas densamente fotografadas células menores do que às esparsas, então conseguia chegar à precisão de rua em algumas áreas urbanas, enquanto regiões rurais ficavam em células bem maiores. Espere que a maioria dos modelos seja mais precisa onde suas fotos de treinamento eram densas.

Em que ela difere do GPS do EXIF, da busca reversa e da detecção de pontos turísticos?

O GPS do EXIF é uma medição guardada no arquivo. A busca reversa de imagem encontra cópias na web. A detecção de pontos turísticos reconhece estruturas famosas. Uma API de geolocalização de fotos infere uma região a partir da própria cena, a única opção para uma foto comum de rua sem metadados nem cópias online.

MétodoO que lêO que retornaFalha quando
GPS do EXIFCoordenadas que o aparelho gravou no arquivoUm ponto medido, normalmente a menos de 5 m com céu abertoOs metadados foram removidos, como faz a maioria das plataformas no upload
Busca reversa de imagemCópias da imagem já disponíveis na webImagens correspondentes e as páginas onde aparecemA cena nunca foi publicada
Detecção de pontos turísticosEstruturas naturais e feitas pelo homem bem conhecidasNome do ponto turístico, pontuação e as coordenadas deleNenhuma estrutura famosa aparece no quadro
Geolocalização de fotosEvidências visuais de toda a cenaEstimativa de cidade, região ou país, com pontuação de confiançaO quadro não tem nenhuma evidência geográfica
Quatro formas de obter uma localização a partir de uma imagem

O GPS do EXIF é uma medição, não uma estimativa

Quando um celular registra a localização, as coordenadas entram em um bloco GPS dedicado dos dados EXIF, em etiquetas como GPSLatitude e GPSLongitude. O GPS.gov indica uma precisão típica de 4,9 m para smartphones com céu aberto. Nenhum método visual chega perto disso, então um pipeline bem feito lê primeiro os metadados e só infere quando eles faltam. Em imagens que passaram por uma rede social, em geral faltam, porque a recodificação no upload os elimina.

A busca reversa é uma consulta

A detecção web do Google Cloud Vision mostra a forma dessa categoria. Ele retorna campos como fullMatchingImages, partialMatchingImages e pagesWithMatchingImages. Quando existe uma correspondência, a página em que ela aparece costuma citar o lugar diretamente, o que vence qualquer estimativa. Quando a foto é privada ou original, não há nada para comparar. A comparação dos mecanismos cobre as versões para o consumidor dessa mesma ideia.

A detecção de pontos turísticos reconhece lugares famosos

A detecção de pontos turísticos do Cloud Vision “detecta estruturas populares, naturais e feitas pelo homem dentro de uma imagem”. Cada resultado traz uma description com o nome do ponto turístico, um score, um boundingPoly que marca onde ele fica no quadro e uma lista locations de coordenadas. O próprio exemplo do Google retorna a Catedral de São Basílio com pontuação de 0,78.

Dois detalhes pegam as equipes de surpresa. Uma rua comum não retorna ponto turístico nenhum, então a cobertura é restrita. E as coordenadas podem descrever o ponto turístico, e não a câmera: a referência do Google observa que uma localização pode descrever a cena da imagem e outra descrever onde a foto foi tirada. Quem fotografa a Torre Eiffel do outro lado do Sena pode estar a várias centenas de metros das coordenadas da própria torre.

A geolocalização de fotos estima uma região para qualquer cena ao ar livre

A inferência visual é o único dos quatro métodos que tem algo a dizer sobre uma rua comum que nunca esteve online. O custo é a precisão. A resposta é uma cidade ou região com pontuação de confiança, nunca um ponto medido, e um quadro sem evidência geográfica recebe uma resposta fraca ou nenhuma.

O que uma API de geolocalização de fotos retorna?

Em geral, uma estimativa de lugar em um ou mais níveis (país, região, cidade), coordenadas aproximadas que a representam e uma pontuação de confiança. Uma boa resposta informa o GPS do arquivo à parte, quando ele existe, para que uma medição nunca pareça um palpite.

CampoO que significaComo usar
País, região, cidadeO lugar apontado pelas evidências, em vários níveisMostre o nível mais específico que a confiança sustenta
Coordenadas aproximadasUm ponto que representa a área estimada, não a posição da câmeraMostre um rótulo de cidade ou uma área, nunca um pino de nível de rua
Pontuação de confiançaQuão fortemente as evidências visuais concordamDefina os limiares com as suas próprias fotos de teste rotuladas
GPS do EXIF, quando presenteCoordenadas medidas pelo aparelho e guardadas no arquivoMantenha-o em um campo próprio; ele tem prioridade sobre qualquer estimativa
Campos típicos de resposta e como usá-los

O erro de design a evitar é fundir as coordenadas estimadas e o GPS do EXIF em um único campo de localização. O código que consome esses dados, e as pessoas que leem a saída, passam então a tratar um palpite no nível de cidade com a confiança de uma leitura de satélite. Mantenha localizações medidas e inferidas separadas até a interface e rotule-as de forma diferente quando as mostrar.

As coordenadas estimadas também exigem o mesmo cuidado. Um ponto devolvido para Porto representa uma área de muitos quilômetros quadrados. Se você o plotar como um pino em zoom de rua, os usuários lerão uma precisão que nunca existiu.

O que a API do GeoSpy AI vai retornar?

A API do GeoSpy AI ainda não está aberta. Ela está sendo projetada para retornar os mesmos campos que a análise do site retorna hoje: estimativa de cidade, região e país, pontuação de confiança, coordenadas aproximadas e, quando o arquivo ainda as contém, as coordenadas GPS do EXIF.

Essa lista corresponde diretamente à tabela acima. Ela não contém endereço de rua, porque evidências visuais não podem sustentar um, e lista a leitura dos metadados ao lado da estimativa visual, em vez de no lugar dela.

Não foram anunciados endpoints, preços, limites de uso nem data de lançamento, e nada nesta página deve ser lido como promessa sobre eles. Se você planeja uma integração, peça acesso antecipado pela página de contato e descreva seu caso de uso.

Até lá, o site é a prévia mais próxima da saída em fotos reais. A análise na web faz parte do GeoSpy Premium, uma assinatura de US$ 7,99 por semana ou US$ 29,99 por ano que se renova até você cancelar, e as fotos enviadas não são armazenadas.

Para que se usa uma API de geolocalização de fotos?

Principalmente para checagens de consistência e triagem: sinalizar uma foto cuja localização provável contradiz uma afirmação, para que uma pessoa a revise. Marketplaces, redações, apps de viagem e de fotos, seguradoras e pesquisadores têm versões dessa pergunta. Ela trata de lugares, nunca de indivíduos.

  • Checagem de anúncios de marketplace. Um aluguel de temporada anunciado em Barcelona cujas fotos apontam fortemente para outro país merece uma segunda olhada. Envie a divergência a um revisor em vez de recusar o anúncio automaticamente, e lembre-se de que fotos internas, que formam grande parte de qualquer anúncio, dão pouco para um modelo ler.
  • Verificação em redações. Uma imagem viral que se diz ser de uma cidade pode ser testada contra as evidências do quadro antes de alguém publicar. A geolocalização responde apenas “onde”, então combine-a com uma busca por cópias anteriores, como descrito em como verificar uma foto.
  • Apps de viagem e de fotos. Fotos impressas digitalizadas e imagens exportadas costumam não ter GPS. Uma estimativa pode sugerir a localização de um álbum ou agrupar fotos em uma viagem, desde que a interface a apresente como uma sugestão que o usuário confirma.
  • Análise de sinistros de seguro. Quando um sinistro situa um dano em uma cidade e as fotos apontam claramente para outro lugar, o regulador de sinistros tem motivos para fazer perguntas. A estimativa sozinha não é fundamento para negar nada.
  • Pesquisa. Mapear a distribuição geográfica de um grande acervo de imagens, ou auditar um conjunto de treinamento em busca de viés regional, exige rótulos grosseiros em escala, justamente o que o método produz bem.

O padrão nos cinco é o mesmo: a estimativa sinaliza, e uma pessoa decide. Um produto que deixa um palpite no nível de cidade disparar um resultado automático herda cada erro do modelo, em escala. Um fluxo OSINT estruturado mostra onde uma estimativa se encaixa entre as outras verificações.

O que a geolocalização visual não consegue fazer?

Ela não consegue produzir um endereço de rua a partir de uma cena comum, localizar interiores ou closes com confiabilidade, datar uma foto, identificar alguém nela ou confirmar que a imagem é genuína. Também pode errar com confiança quando um estilo de paisagem ou de arquitetura ocorre em muitos países.

Alguns desses limites pertencem à evidência, não ao modelo. O artigo do PlaNet começa observando que é trivial construir situações em que nenhum lugar pode ser inferido. Uma parede branca, o banheiro de um hotel ou um prato de comida não carregam geografia, e nenhum aumento no tamanho do modelo muda isso.

Resultados de pesquisa são uma boa checagem da realidade. Em 2,3 milhões de fotos do Flickr, o PlaNet acertou 10,1% dentro de 25 km, a distância que seu benchmark conta como nível de cidade. O PIGEON, apresentado na CVPR 2024 e treinado com imagens do Street View a partir do GeoGuessr, acertou mais de 40% de seus palpites a menos de 25 km. Parte dessa diferença vem de métodos mais novos, e parte vem das fotos. Os quadros do Street View estão cheios de marcações viárias e placas, enquanto uma coleção geral de fotos contém muitos quadros sem nada geográfico.

A geolocalização também não consegue garantir uma imagem. Uma cena de rua gerada por IA ainda recebe uma estimativa para o lugar com o qual ela mais se parece. A API responde “a que lugar esta imagem se parece”, não “isto é real”.

Como testar uma API antes de integrá-la?

Use suas próprias fotos com os metadados GPS removidos e pontue os resultados em distâncias fixas, como 25 km para nível de cidade e 750 km para nível de país. Inclua fotos sem nada a ler, de propósito, e verifique se as respostas de alta confiança realmente acertam mais do que as de baixa confiança.

  1. Step 1Monte um conjunto de teste com tráfego realImagens de demonstração são escolhidas para dar certo. Reúna algumas centenas de fotos parecidas com as que seus usuários vão enviar, com localizações verdadeiras conhecidas, e mantenha o conjunto fixo para que fornecedores e versões possam ser comparados de forma justa. Anedotas também enganam: um prompt viral de 1.100 palavras para o ChatGPT impressionou muita gente que o testou, mas em um conjunto fixo de 200 fotos ele não foi melhor do que um prompt curto.
  2. Step 2Remova o GPS antes de testarSe a API também lê metadados, uma foto de teste com geolocalização mede o leitor de metadados, e não o modelo. Remova o EXIF das cópias de teste, ou você registrará uma pontuação perfeita que desaparece em produção.
  3. Step 3Pontue em distâncias fixasOs benchmarks de pesquisa consideram um palpite correto dentro de 1 km (rua), 25 km (cidade), 200 km (região), 750 km (país) ou 2.500 km (continente). Uma afirmação de precisão sem distância associada não pode ser comparada com nada.
  4. Step 4Misture cidades e interiorA precisão tende a acompanhar a densidade das fotos de treinamento, então um modelo que é preciso nas capitais pode ser vago em áreas rurais. Teste os dois se seus usuários enviarem os dois.
  5. Step 5Inclua fotos sem nada para lerInteriores, closes e céus limpos devem voltar com baixa confiança. Uma ferramenta que nomeia uma cidade a partir de um quarto de hotel com alta confiança fará o mesmo com os seus usuários.
  6. Step 6Verifique se a pontuação está calibradaAgrupe os resultados por confiança e meça com que frequência cada grupo acertou. Se as respostas acima de 0,8 não forem claramente mais precisas do que as próximas de 0,4, a pontuação não pode orientar limiares.
  7. Step 7Leia os termos de dadosDescubra se as imagens são armazenadas, por quanto tempo e se são usadas para treinamento. Fotos podem contar como dados pessoais, sobretudo quando pessoas aparecem nelas.

Perguntas frequentes

Uma API de geolocalização de fotos é o mesmo que a Geolocation API do navegador?
Não. A API do navegador informa onde o aparelho do usuário está, e só depois que o usuário concede permissão. Uma API de geolocalização de fotos trabalha com uma imagem, que pode ter sido feita em qualquer lugar, em qualquer momento, por qualquer pessoa.
Uma API de geolocalização de fotos pode dar um endereço exato?
Não a partir apenas de evidências visuais. Duas ruas a um quilômetro de distância costumam parecer iguais, então um resultado honesto é uma cidade ou região. Coordenadas exatas só vêm dos metadados GPS do arquivo, quando eles sobreviveram.
A geolocalização visual funciona em capturas de tela?
Uma captura de tela não carrega o GPS da foto original, como o guia sobre capturas de tela explica. A inferência visual ainda funciona se a captura mostrar uma cena ao ar livre em um tamanho utilizável.
Quando a API do GeoSpy AI estará disponível?
Nenhuma data foi anunciada. Desenvolvedores e equipes de produto podem pedir acesso antecipado agora. Até que ela seja aberta, a análise no site retorna os mesmos tipos de campos para os quais a API está sendo projetada.
Uma API de geolocalização de fotos consegue identificar pessoas?
Não. Ela estima onde uma cena está, não quem aparece nela, e nunca deve ser usada para localizar ou seguir alguém.

Fontes

  1. Detect landmarks — Google CloudDefinição, campos de resposta e o exemplo da Catedral de São Basílio com pontuação 0,78.
  2. AnnotateImageResponse — EntityAnnotation — Google CloudFaixa de pontuação de 0 a 1; uma localização pode descrever a cena ou o lugar onde a foto foi tirada.
  3. PlaNet — Photo Geolocation with Convolutional Neural Networks — Weyand, Kostrikov and Philbin (arXiv)Distâncias de benchmark de 1, 25, 200, 750 e 2.500 km; precisão de nível de cidade de 10,1% em 2,3 milhões de fotos do Flickr.
  4. PIGEON: Predicting Image Geolocations — Haas, Skreta, Alberti and Finn (CVPR 2024, arXiv)Mais de 40% dos palpites a menos de 25 km em imagens do Street View.
  5. GPS Accuracy — GPS.govSmartphones têm precisão típica de 4,9 m com céu aberto.

Continue lendo

Aviso de cookies

Além dos cookies estritamente necessários para login, idioma e segurança, este site usa cookies do Google Analytics e do Meta Pixel para medir o tráfego e o desempenho dos anúncios. Você pode bloqueá-los nas configurações do seu navegador; os detalhes estão na Política de Cookies.