Notre application iOS officielle est disponible sur l'App StoreTélécharger gratuitement

API de géolocalisation de photos : atouts et limites

· 13 min de lecture

En bref

Une API de géolocalisation photo reçoit une image et renvoie une estimation du lieu de prise de vue : pays, région ou ville, coordonnées approximatives et score de confiance. L'estimation est déduite d'indices visibles (architecture, signalétique, végétation). Ce n'est pas une mesure GPS, et les pixels seuls ne donnent pas une adresse postale.

Le nom prête à confusion avant même qu'une ligne de code soit écrite. L'API Geolocation du navigateur indique où se trouve un appareil à l'instant présent, et seulement après autorisation de l'utilisateur. Une API de géolocalisation photo répond à une autre question, sur une autre entrée : où cette image a-t-elle été prise ? L'image peut avoir dix ans et venir de n'importe où sur Terre.

Trois technologies voisines sont aussi présentées comme « localiser une photo » : la lecture des métadonnées GPS, la recherche d'image inversée et la détection de monuments. Elles renvoient des choses différentes et échouent de manières différentes : mieux vaut savoir quelle question votre produit pose réellement avant d'en choisir une.

Que fait concrètement une API de géolocalisation photo ?

Elle déduit un lieu à partir des pixels. Un modèle lit des indices (marquages routiers, architecture, plantes, écriture des panneaux, qualité de la lumière), puis indique le lieu où la plupart concordent, avec un score pour la force de cet accord.

De nombreux systèmes de recherche traitent cela comme un problème de classification. PlaNet, un modèle de 2016 conçu par des chercheurs de Google, a divisé la surface de la Terre en milliers de cellules et entraîné un réseau sur des millions de photos géotaguées pour prédire à quelle cellule appartient une image. Le résultat est une probabilité répartie sur le globe. Une photo de tramway lisboète concentre cette probabilité en un seul endroit ; une photo de forêt de pins l'étale sur plusieurs continents. Un score de confiance est, en pratique, un résumé de cette répartition.

Le détail le plus important pour concevoir un produit, c'est que rien n'a besoin d'exister en ligne. L'API travaille sur une photo jamais publiée, et elle peut renvoyer une réponse même quand les indices sont faibles, ce qui explique que le score compte autant que le lieu. La façon dont un modèle lit une scène fait l'objet d'un autre article ; ce guide porte sur ce que vous faites du résultat.

La précision est aussi inégale par construction. PlaNet attribuait aux zones très photographiées des cellules plus petites qu'aux zones clairsemées : il pouvait donc atteindre une précision à l'échelle de la rue dans certains quartiers de ville, alors que les régions rurales tenaient dans des cellules bien plus grandes. Attendez-vous à ce que la plupart des modèles soient plus précis là où leurs photos d'entraînement étaient denses.

En quoi diffère-t-elle du GPS EXIF, de la recherche inversée et de la détection de monuments ?

Le GPS EXIF est une mesure stockée dans le fichier. La recherche inversée trouve des copies en ligne. La détection de monuments reconnaît des structures célèbres. Une API de géolocalisation photo déduit une région d'après la scène, seule option pour une photo de rue sans métadonnées ni copie en ligne.

MéthodeCe qu'elle litCe qu'elle renvoieÉchoue quand
GPS EXIFLes coordonnées écrites par l'appareil dans le fichierUn point mesuré, en général à 5 m près à ciel ouvertLes métadonnées ont été supprimées, comme le font la plupart des plateformes à l'envoi
Recherche d'image inverséeLes copies de l'image déjà présentes sur le webDes images correspondantes et les pages où elles figurentLa scène n'a jamais été publiée
Détection de monumentsLes structures naturelles et artificielles connuesLe nom du monument, un score et ses coordonnéesAucune structure célèbre n'est dans le cadre
Géolocalisation de photosLes indices visuels de toute la scèneUne estimation de ville, de région ou de pays avec un score de confianceLe cadre ne contient aucun indice géographique
Quatre façons d'obtenir un lieu à partir d'une image

Le GPS EXIF est une mesure, pas une estimation

Quand un téléphone enregistre la position, les coordonnées vont dans un bloc GPS dédié des données EXIF, sous des balises comme GPSLatitude et GPSLongitude. GPS.gov situe la précision typique d'un smartphone à 4,9 m à ciel ouvert. Aucune méthode visuelle ne s'en approche : une chaîne de traitement sérieuse lit d'abord les métadonnées et ne déduit que lorsqu'elles manquent. Pour les images passées par un réseau social, c'est généralement le cas, car le réencodage à l'envoi les supprime.

La recherche d'image inversée est une simple consultation

La détection web de Google Cloud Vision illustre bien cette catégorie. Elle renvoie des champs comme fullMatchingImages, partialMatchingImages et pagesWithMatchingImages. Quand une correspondance existe, la page où elle se trouve nomme souvent le lieu sans détour, ce qui bat n'importe quelle estimation. Quand la photo est privée ou originale, il n'y a rien à faire correspondre. Le comparatif des moteurs présente les versions grand public de la même idée.

La détection de monuments reconnaît les lieux célèbres

La détection de monuments de Cloud Vision « détecte les structures naturelles et artificielles populaires dans une image ». Chaque résultat comporte une description avec le nom du monument, un score, un boundingPoly qui marque sa position dans le cadre, et une liste locations de coordonnées. L'exemple de Google renvoie la cathédrale Saint-Basile avec un score de 0,78.

Deux détails piègent les équipes. Une rue ordinaire ne renvoie aucun monument, donc la couverture est étroite. Et les coordonnées peuvent décrire le monument plutôt que l'appareil photo : la référence de Google précise qu'une position peut décrire la scène visible dans l'image, tandis qu'une autre décrit l'endroit où la photo a été prise. Quelqu'un qui photographie la tour Eiffel depuis l'autre rive de la Seine peut se trouver à plusieurs centaines de mètres des coordonnées de la tour.

La géolocalisation de photos estime une région pour n'importe quelle scène extérieure

L'inférence visuelle est la seule des quatre méthodes qui ait quelque chose à dire d'une rue banale jamais mise en ligne. Le prix à payer, c'est la précision. La réponse est une ville ou une région accompagnée d'un score de confiance, jamais un point mesuré, et une image sans indice géographique donne une réponse faible, voire aucune.

Que renvoie une API de géolocalisation photo ?

En général une estimation du lieu à plusieurs niveaux (pays, région, ville), des coordonnées approximatives représentant cette estimation et un score de confiance. Une bonne réponse sépare aussi les métadonnées GPS, quand le fichier les contient, pour qu'une mesure ne passe jamais pour une supposition.

ChampCe que cela signifieComment l'utiliser
Pays, région, villeLe lieu désigné par les indices, à plusieurs niveauxAffichez le niveau le plus précis que la confiance permet
Coordonnées approximativesUn point qui représente la zone estimée, pas la position de l'appareilAffichez le nom d'une ville ou une zone, jamais une épingle à l'échelle de la rue
Score de confianceLa force de l'accord entre les indices visuelsFixez des seuils à partir de vos propres photos de test étiquetées
GPS EXIF, quand il est présentCoordonnées mesurées par l'appareil et stockées dans le fichierGardez-le dans son propre champ ; il prime sur toute estimation
Champs de réponse typiques et comment les traiter

L'erreur de conception à éviter consiste à fusionner les coordonnées estimées et le GPS EXIF dans un seul champ de lieu. Le code en aval, et les personnes qui lisent sa sortie, traitent alors une supposition à l'échelle d'une ville avec la confiance d'un relevé satellite. Gardez les positions mesurées et déduites séparées jusqu'à l'interface, et étiquetez-les différemment quand vous les affichez.

Les coordonnées estimées demandent la même prudence. Un point renvoyé pour Porto représente une zone de plusieurs kilomètres carrés. Placez-le comme une épingle à un zoom de rue et les utilisateurs liront une précision qui n'a jamais existé.

Que renverra l'API GeoSpy AI ?

L'API GeoSpy AI n'est pas encore ouverte. Elle est conçue pour renvoyer les champs de l'analyse actuelle du site : une estimation de ville, région et pays, un score de confiance, des coordonnées approximatives, et les coordonnées GPS EXIF quand le fichier les contient encore.

Cette liste correspond directement au tableau ci-dessus. Elle ne contient aucune adresse postale, car des indices visuels ne peuvent pas en fonder une, et elle présente la lecture des métadonnées à côté de l'estimation visuelle, pas à sa place.

Les points d'accès, les tarifs, les limites de débit et une date de lancement n'ont pas été annoncés, et rien sur cette page ne doit être lu comme une promesse à leur sujet. Si vous prévoyez une intégration, demandez un accès anticipé via la page de contact et décrivez votre cas d'usage.

D'ici là, le site web est l'aperçu le plus proche du résultat sur de vraies photos. L'analyse web est incluse dans GeoSpy Premium, un abonnement à 7,99 dollars américains par semaine ou 29,99 dollars américains par an qui se renouvelle jusqu'à ce que vous le résiliez, et les photos envoyées ne sont pas conservées.

À quoi sert une API de géolocalisation photo ?

Surtout à des contrôles de cohérence et au tri : signaler une photo dont le lieu probable contredit une affirmation, afin qu'une personne l'examine. Places de marché, rédactions, applis de voyage ou de photo, assureurs et chercheurs se posent tous cette question. Il s'agit de lieux, jamais de personnes.

  • Contrôle des annonces de places de marché. Une location de vacances annoncée à Barcelone dont les photos désignent nettement un autre pays mérite un second regard. Envoyez l'écart à un relecteur plutôt que de rejeter l'annonce automatiquement, et gardez à l'esprit que les photos d'intérieur, qui constituent l'essentiel d'une annonce, donnent peu de matière à un modèle.
  • Vérification en rédaction. Une image virale censée montrer une ville peut être confrontée aux indices du cadre avant toute publication. La géolocalisation ne répond qu'à « où », alors associez-la à une recherche de copies antérieures, comme l'explique le guide pour vérifier une photo.
  • Applis de voyage et de photo. Les tirages numérisés et les images exportées n'ont souvent aucun GPS. Une estimation peut suggérer un lieu d'album ou regrouper des photos en voyage, tant que l'interface la présente comme une suggestion que l'utilisateur confirme.
  • Examen des déclarations de sinistre. Quand une déclaration situe des dégâts dans une ville alors que les photos désignent clairement un autre endroit, l'expert a une raison de poser des questions. L'estimation seule ne suffit pas à justifier un refus.
  • Recherche. Cartographier la répartition géographique d'une grande archive d'images, ou auditer un jeu d'entraînement à la recherche de biais régionaux, demande des étiquettes grossières à grande échelle, ce que cette méthode produit très bien.

Le schéma est le même dans les cinq cas : l'estimation signale, et une personne décide. Un produit qui laisse une supposition à l'échelle d'une ville déclencher un résultat automatique hérite de chaque erreur du modèle, à grande échelle. Une méthode OSINT structurée montre où une estimation s'insère parmi les autres contrôles.

Que ne peut pas faire la géolocalisation visuelle ?

Elle ne peut pas déduire une adresse d'une scène ordinaire, situer fiablement des intérieurs ou des gros plans, dater une photo, identifier quelqu'un, ni confirmer qu'une image est authentique. Elle peut aussi se tromper avec assurance quand un paysage ou un style de bâtiment existe dans plusieurs pays.

Certaines de ces limites tiennent aux indices, pas au modèle. L'article sur PlaNet commence par noter qu'il est trivial de construire des situations où aucun lieu ne peut être déduit. Un mur blanc, une salle de bains d'hôtel ou une assiette de nourriture ne portent aucune géographie, et aucune augmentation de la taille du modèle n'y change rien.

Les résultats de recherche offrent un utile retour à la réalité. Sur 2,3 millions de photos Flickr, PlaNet a placé 10,1 % d'entre elles à moins de 25 km, la distance que son banc d'essai considère comme l'échelle d'une ville. PIGEON, présenté à CVPR 2024 et entraîné sur des images Street View issues de GeoGuessr, a placé plus de 40 % de ses estimations à moins de 25 km. Une partie de cet écart vient des méthodes plus récentes, une autre des photos. Les images Street View regorgent de marquages routiers et de panneaux, alors qu'une collection de photos généraliste contient de nombreuses images sans rien de géographique.

La géolocalisation ne peut pas non plus garantir une image. Une scène de rue générée par IA reçoit quand même une estimation pour le lieu auquel elle ressemble le plus. L'API répond à « à quel lieu cela ressemble-t-il », pas à « est-ce réel ».

Comment tester une API avant de l'intégrer ?

Utilisez vos propres photos sans métadonnées GPS et notez les résultats à des distances fixes, par exemple 25 km pour la ville et 750 km pour le pays. Incluez exprès des photos sans aucun indice, et vérifiez que les réponses à forte confiance sont réellement exactes plus souvent que celles à faible confiance.

  1. Step 1Constituez un jeu de test à partir du trafic réelLes images de démonstration sont choisies pour réussir. Rassemblez quelques centaines de photos qui ressemblent à ce que vos utilisateurs enverront, avec leur vrai lieu connu, et gardez ce jeu figé pour comparer équitablement fournisseurs et versions. Les anecdotes trompent aussi : un prompt viral de 1 100 mots pour ChatGPT a impressionné beaucoup de monde, pourtant sur un jeu fixe de 200 photos, il n'a pas fait mieux qu'un prompt court.
  2. Step 2Supprimez le GPS avant de mesurerSi l'API lit aussi les métadonnées, une photo de test géotaguée mesure le lecteur de métadonnées plutôt que le modèle. Supprimez les données EXIF des copies de test, sinon vous enregistrerez un score parfait qui disparaîtra en production.
  3. Step 3Notez à des distances fixesLes bancs d'essai de recherche comptent une estimation comme correcte à moins de 1 km (rue), 25 km (ville), 200 km (région), 750 km (pays) ou 2 500 km (continent). Une affirmation de précision sans distance associée ne se compare à rien.
  4. Step 4Mélangez villes et campagneLa précision suit en général la densité des photos d'entraînement : un modèle précis dans les capitales peut être vague dans les champs. Testez les deux si vos utilisateurs envoient les deux.
  5. Step 5Incluez des photos sans rien à lireLes intérieurs, les gros plans et les ciels unis doivent revenir avec une faible confiance. Un outil qui nomme une ville avec une forte confiance à partir d'une chambre d'hôtel fera de même avec vos utilisateurs.
  6. Step 6Vérifiez que le score est calibréRegroupez les résultats par niveau de confiance et mesurez la fréquence d'exactitude de chaque groupe. Si les réponses notées au-dessus de 0,8 ne sont pas nettement plus exactes que celles proches de 0,4, le score ne peut pas piloter des seuils.
  7. Step 7Lisez les conditions sur les donnéesVérifiez si les images sont conservées, pendant combien de temps, et si elles servent à l'entraînement. Les photos peuvent constituer des données personnelles, surtout quand des personnes y figurent.

Questions fréquentes

Une API de géolocalisation photo est-elle la même chose que l'API Geolocation du navigateur ?
Non. L'API du navigateur indique où se trouve l'appareil de l'utilisateur, et seulement après son autorisation. Une API de géolocalisation photo travaille sur une image, qui a pu être prise n'importe où, n'importe quand, par n'importe qui.
Une API de géolocalisation photo peut-elle donner une adresse exacte ?
Pas à partir des seuls indices visuels. Deux rues distantes d'un kilomètre se ressemblent souvent, donc un résultat honnête est une ville ou une région. Des coordonnées exactes ne viennent que des métadonnées GPS du fichier, quand elles ont survécu.
La géolocalisation visuelle fonctionne-t-elle sur les captures d'écran ?
Une capture d'écran ne conserve aucun GPS de la photo d'origine, comme l'explique le guide sur les captures d'écran. L'inférence visuelle fonctionne quand même si la capture montre une scène extérieure d'une taille exploitable.
Quand l'API GeoSpy AI sera-t-elle disponible ?
Aucune date n'a été annoncée. Les développeurs et les équipes produit peuvent dès maintenant demander un accès anticipé. D'ici l'ouverture, l'analyse du site renvoie les mêmes types de champs que ceux autour desquels l'API est conçue.
Une API de géolocalisation photo peut-elle identifier des personnes ?
Non. Elle estime où se situe une scène, pas qui y figure, et elle ne doit jamais servir à localiser ou suivre qui que ce soit.

Sources

  1. Detect landmarks — Google CloudDéfinition, champs de réponse, et exemple de la cathédrale Saint-Basile avec un score de 0,78.
  2. AnnotateImageResponse — EntityAnnotation — Google CloudPlage de score de 0 à 1 ; une position peut décrire la scène ou l'endroit où la photo a été prise.
  3. PlaNet — Photo Geolocation with Convolutional Neural Networks — Weyand, Kostrikov and Philbin (arXiv)Distances de référence de 1, 25, 200, 750 et 2 500 km ; 10,1 % de précision à l'échelle d'une ville sur 2,3 M de photos Flickr.
  4. PIGEON: Predicting Image Geolocations — Haas, Skreta, Alberti and Finn (CVPR 2024, arXiv)Plus de 40 % des estimations à moins de 25 km sur des images Street View.
  5. GPS Accuracy — GPS.govLes smartphones sont en général précis à 4,9 m près à ciel ouvert.

Pour aller plus loin

Avis sur les cookies

En plus des cookies strictement nécessaires à la connexion, à la langue et à la sécurité, ce site utilise des cookies Google Analytics et Meta Pixel pour mesurer l'audience et les performances publicitaires. Vous pouvez les bloquer dans les paramètres de votre navigateur : les détails figurent dans la Politique relative aux cookies.