En bref
L’idée serait d’extraire d’une photo de paysage avec montagne la forme de la montagne puis de la retrouver sur une carte 3D pour déterminer d’où a été prise la photo.
Contexte
Inspiré d’une vidéo de GeoWizard, dans laquelle il cherche la localisation d’une phtoo prise pendant WW2 mostly à partir de la forme des montagnes qui l’entourent, en comparant avec google earth.
Techniquement
J’imagine 2 manières :
1 - En extryant le profil de la montagne
Juste avec une comparaison des couleurs entre le ciel et la montagne, extraire une ligne svg (pour que ça ne pèse pas lourd)
Puis il s’agit de comparer cette ligne à une BDD précédemment générée de N de lignes de toutes les montagnes du mondes vues de tous les angles possibles.
Donc pour N points disposés en matrice sur le globe, pour N directions, générer la courbe correspondante, et la stocker sous fourme de svg.
Puis comparer les lignes avec les moindres carrés (possible sur des svg ?)
Avantages & inconvénients
Avantage : simple Invonénient : téma la taille du stocc d’images à générer. Et en plus c’est sans compter sur les différents FOV / distances focales
Optimisations
- La recherche pourrait n’être faite que dans une région géographique limitée, mais alors l’outil ne marche que là..
- La recherche pourrait n’être faire que mont par mont, alors le FOV et la parallax entre les différents monts n’importe peu. Un outil graphique permettrait de choisir 1 seul mont, puis la comparaison 3D se fait avec une liste de tous les monts. Il y a alors moins de combinaisons possibles, et s’il y a plusieurs monts sur la photo, ça peut narrow down the search.
2 - En extrayant une depth map
C’est là toute la problématique. Je ne vois qu’une approche neural network pour le faire. Par exemple, le site imageamigo.com/photodepth propose de le faire gratuitement, même c’est c’est approximatif :
Il existe peut-être des modèles plus puissants pour le faire ?
Une fois la depth map extraite, un mesh 3D du terrain peut etre reconstruit et comparé à un modèle 3D issu de données topographiques.
Fait en 10min sur blender :
Problèmes : la depth map est approximative, et surtout, ne connait pas la vraie valeur nuémrique de la profondeur, ce qui rend le modèle 3D tout distordu.
Concours
J’imagine un concours dans leuel des participants doivent retrouver la position géographqiue (comme avec géoguessr) de photos de montagne, sauf que le challenge est qu’il y a un liste de milliers d’images, donc le seul moyen de gagner et de coder un système automatisé pour les trouver. L’organisateur prend des images libres de droit sur google earth, genre.
Conclusion
Ce serait fun de faire de l’osint photo, pas pour passer des heures, mais pour jouer avec tous les outils qui doivent exister.
Critique
Concrètement, ce ceserait beaucoup d’effort pour un outil pas extrêmement utile (c’est pour ça que je ne le développerai pas, d’ailleurs). A voir comme un hobby project.
Evidemment, au dela de la forme de la montagne, il y a aussi plein d’indices qui servent normalement à faire de l’OSINT ou jouer à geoguesser. Donc tout miser sur la forme de la montagne n’est pas une super stratégie.