Solution existante ou à cogiter pour les images dans les tunnels (hors réception GPS)?

Bonjour tout le monde,

Juste une réflexion suite à des images que nous venons de faire sur un cours d’eau qui passe dans un tunnel sous l’autoroute A 75.

Dans le cadre de notre état des lieux nous sommes passés sous terre pendant un peu plus de 100 m.

Résultat nous avons des images mais pas de géoréférencement. Auriez-vous des idées/solutions pour pouvoir tout de même verser ses images sur Panoramax?

Bon WE et @ bient’eau!

PE

Oui, c’est possible.

J’imagine qu’il n’y a pas eu de trace gpx enregistrée en parallèle, donc la procédure serait dans les grandes lignes de :

  • Charger les images dans Josm
  • Exporter la trace formée par les photos vers un fichier gpx
  • Importer cette trace dans Josm
  • Corréler les photos sans position avec cette trace.

Si le tunnel n’est pas rectiligne et/ou que le déplacement n’était pas à vitesse constante, alors il est possible d’ajouter des points sur la trace. Mais ça commence à devenir compliqué à expliquer en texte un vendredi soir :slight_smile:

Edit : J’oubliais, j’en parle un peu dans cette vidéo : Prises de vues : bien les prendre, et les gérer efficacement | V2 [ Stéphane Péneau] - peertube.openstreetmap.fr

Pour les tunnels routiers en voiture, u-blox F9R :
https://www.mapillary.com/app/?pKey=3612539468992230

Pour les tunnels en bateau, ce n’est pas encore ça. :sweat_smile:

C’est marrant il y a justement eu aux GeoDataDays il y a quelques jours un atelier informel pour faire ca, et @PanierAvide nous a montré la procèdure décrite par @StephaneP

Ce qui a donné ca:
https://panoramax.ign.fr/#focus=pic&map=15.46/48.862189/2.372357&pic=5c95deca-613b-41f2-8b00-62c4bd35766d&speed=250&xyz=341.38/-8.63/30
:star_struck:

2 Likes

Super!
Merci pour vos retours très réactifs. Il ne me reste plus qu’à prendre le temps de me mettre à Josm :wink:

Je profite de cet échange pour faire à nouveau :sweat_smile: appel à vos retours d’expériences avec un autre questionnement hors de ce sujet (vous me direz s’il faut ou non développer un nouveau sujet spécifique ou si le sujet existe déjà) : est-il possible de réaliser “facilement” en post traitement un maintien de l’horizon des images avant de les charger sur Panoramax?
En effet, cette option existe sur la GoPro MAX mais seulement en mode HERO (soit en image classique non 360) et nous aimerions le faire pour les images 360°.

Il faudrait pour cela des données provenant d’accelerometres mais ça semble absent des photos 360 sur la GoPro Max.

Sujet dans le vent car lors des geodatadays il y a eu des questions sur la présence ou absence de metadonnées de tangage et roulis (pitch/roll) dans les images.

sensors logger pour synchroniser l’ensemble :slight_smile: Certains jouent avec le Baromètre aussi

Concernant le F9R de ublox, il contient un récepteur RTK et une centrale à inertie (IMU) (plus une entrée pour un capteur de roue). Il a son Fusion Engine qui essaie de combiner toutes ces mesures pour fournir en continu position et orientation du mobile. Le Fusion Engine ne fonctionne que pour des cas particulier : voiture, e-scooter (sans doute applicable à vélo) et robot lent (style tondeuse à gazon). Dans les autres cas, pas de Fusion Engine mais on peut quand même enregistrer les données brutes de l’IMU. Dans le cas du bateau traversant un tunnel, si on a des positions GNSS avant et après, on doit pouvoir interpoler entre les deux avec les données de l’IMU. Même en extérieur, pour un système tenu à la main par exemple, on doit pouvoir retrouver l’orientation en combinant position RTK et données de l’IMU.

Matheux welcome. :sweat_smile:

Variante du cas précédent : on n’a pas d’IMU mais on a suffisamment de points communs entre images successives pour pouvoir déterminer l’orientation relative de deux images successives. Avec positionnement absolu à chaque bout, on peut retrouver les positions et orientations intermédiaires. Et toujours en extérieur, on peut déterminer les orientations là où on avait seulement les positions.

Une analyse de type SfM pourrait permettre cela, mais aucune idée de la précision qu’on peut avoir par cette méthode.

Il y a souvent un fossé entre la théorie et la pratique.

J’ai par exemple voulu déterminer la localisation des panneaux par leur position dans plusieurs photos successives… la précision du GPS de base faisait que les angles très faibles étaient bien faussés et donnait au final une position très mauvaise. A refaire avec du RTK :wink:

Avec une acquisition RTK, les panneaux sont bien localisés par Mapillary :


(au moins en transversal, c’est moins bon en longitudinal car les photos elles-mêmes ne sont pas bien positionnées sur la trace).

À l’inverse, le recalcul de position (et d’orientation) par Mapillary avec OpenSFM n’est pas terrible. Sur autoroute, ça me déplace mes prises de vue en latéral de plusieurs mètres. Voir :

Dans le principe de ces méthodes de reconnaissance automatique, en particulier pour la robotique, on détecte un grand nombre de points communs. On fait un premier calcul d’orientation et on regarde les erreurs résiduelles sur les points. On enlève tous les points dont l’erreur est supérieure à n fois la moyenne des erreurs. Méthode du sigma-clipping. On recommence le calcul avec les points restants jusqu’à arriver à une liste stabilisée de points. Au final, on peut avoir facilement viré un tiers des points.

J’avais fait des essais avec OpenSfm pour essayer de recaler des photos avec une mauvaise géolocalisation.
J’avais des photos avec une photo précise, quelques unes avec une mauvaise géoloc, et de nouveau des photos en RTK.
Le résultat n’était pas fameux, avec l’erreur sur les photos mal géolocalisée qui se propageaient aux suivantes en RTK. Et il était impossible de dire à l’algo de ne pas toucher à la position des photos en RTK.
Le ticket que j’avais créé à l’occasion (toujours ouvert), avec quelques illustrations :

Pour OpenSFM ou autre, si on a des incertitudes très différentes pour le même type d’élément, il faut en tenir compte dans les algorithmes de détermination des différents paramètres. Stocker les incertitudes sur la position et l’orientation dans les EXIFS, c’est une bonne voie. Voir fournir la trace avec ses incertitudes avec la séquence pourrait permettre à d’autres de refaire les calculs et, entre autre, recaler les photos le long de la trace, qui est de mon point de vue une limite actuelle sur la précision des prises de vue avec RTK.

Sachant qu’en ce moment, il y a des discussions pour ajouter de nouvelles fonctionnalités au GPX et que la question des incertitudes et l’attitude (orientation) est bien engagée:

Côté EXIF, la question de l’attitude ici même :

Ça rejoint aussi mes questions sur l’acquisition :

Si avec une séquence photo, on mettait aussi à disposition les données brutes, on pourrait refaire des calculs pour corriger les sauts résiduels en sortie de tunnel, problème expliqué ici:

Plus généralement, si on a un mélange de photos avec et sans RTK, ça devrait permettre de rigidifier l’ensemble et d’améliorer les positions des photos non RTK.