wisescootering / infrareddrone

Aerial infrared photography
GNU Affero General Public License v3.0
15 stars 4 forks source link

Altitude reconstruction #24

Closed balthazarneveu closed 2 years ago

balthazarneveu commented 2 years ago

image ⛔ WRONG ⛔ @AlainNeveu please confirm:


🆗 image

AlainNeveu commented 2 years ago

Salut Balthou. Ce n'est pas exactement cela ...

Dans le cas de la figure l'altitude relative du drone par rapport au Take Off (notons H1(x) ) est constante (655-567 = 88 m environ). Donc ce n'est pas le trait bleu. Avec l'API IGN on récupère l'altitude absolue (above sea level) du sol au centre de l'image (donc quasi sous le drone) Notons H2(x). L'altitude absolue du Take Off est ici Ho=567 m (récupérée elle aussi de l'API IGN en utilisant la première image prise par le DJI ... qui n'est pas nécessairement la première image de la mission qui débute après la synchro)

Donc "from the GPS coordinates in exif, you request to IGN REST API to extract the ground altitude (absolute, 0 = sea level) -> brown" est OK

L'altitude relative du drone par rapport au sol est H3(x)=H1(x) + Ho -H2(x) C'est le trait bleu. L'altitude absolue du drone par rapport au niveau de la mer est: H4(x) = H2(x) + H3(x) = H1(x)+ Ho C'est bien ici le trait rouge de la figure.

Je te propose une nouvelle figure plus générale (avec le drone qui change d'altitude)

Definition des altitudes du drone.pdf

AlainNeveu commented 2 years ago

Dans le code on calcule toutes ces altitudes. L'altitude relative par rapport au sol est utilisée pour la synchro et aussi pour définir les images pour ODM.
Entre l'altitude par rapport au takeoff ou au niveau de la mer dans ODM je n'ai pas vue de changement (peut être normal c'est juste un décalage d'origine). J'avais aussi testé dans ODM avec l'altitude par rapport au sol mais cela n'a pas fait de miracle!

Pour l'exif la référence par défaut de l'altitude est "above sea level" (ce que mets exiftool mais j'imagine que quand on rentre ce tag ca doit plutôt être un réel ?) La hauteur GPS du dng du DJI est par rapport au take-off et la référence de l'altitude est le niveau de la mer. Les données du DJI sont donc incohérentes. Nous on va pouvoir corriger cela dans les images IRDrone :-)