Après une mission de cartographie (voir ) on se retrouve avec ceci :
Il faut ensuite corriger les déformations si les images viennent d’une GoPro. Cela facilite l’assemblage. D’où l’intérêt de pouvoir le faire d’un coup sur toutes les images comme expliqué dans mon article.
Il faut également ajouter les coordonnées GPS des points où ont été prises les photos. Cela facilite également le travail des logiciels d’assemblage.
Le plus simple est évidemment d’utiliser un appareil photo avec un GPS. Mais on peut aussi synchroniser les photos avec la trace GPS du contrôleur de vol. Cette démarche est expliquée en détail le wiki arducopter.
A partir de là il y a deux options :
- Réaliser un simple assemblage à l’aide de Hugin ou autre.
- Réaliser une orthomosaïques qui corrige les déformations des photos, corrige la perspective et corrige les déformations du relief. C’est ce qui permet la réalisation d’une vrai carte où tout semble vue parfaitement de dessus. Mais ceci entraîne souvent des barbouillis sur les reliefs abruptes, tel un bâtiment comme nous allons le voir. Par contre ces calculs entraînent la constitution d’un nuage de point, qui peut ensuite être exploité dans un logiciel de 3D !
C’est cette deuxième option que nous allons réaliser ici. De nombreux logiciels existent : Photomodeler, Pix4D, Agisoft PhotoScan, Ultramap, Micmac, Ossim, Insight 3D, DroneMapper, WorkMode, OpenDroneMap …
Je vais utiliser Micmac qui est libre , gratuit, multi-plateforme et développé par l’IGN… Mais ceci aux prix d’une installation difficile et d’un usage très peu ergonomique 🙁
Cette article est grandement inspiré de la lecture de cet article de J.-M Friedt paru dans OpenSilicium ainsi que du blog de Mathias Fantin.
Pour réussir à l’utiliser sous Ubuntu 14.10 j’ai dû le compiler à partir de l’archive des sources de Micmac disponibles ici.
J’ai décompressé les sources dans le répertoire /opt/micmac-src/, à remplacer par votre propre répertoire.
Voici les différentes commandes à lancer, avec les commentaires plus qu’inspirés par Mathias Fantin :
#Phase 1 - recherche des correspondances # Première recherche avec les images automatiquement réduites à 300 pixels, puis recherche complète avec image réduite à 1000 pixels /opt/micmac-src/micmac/bin/mm3d Tapioca MulScale ".*JPG" 300 1000 #:: Phase 2 - Calibration, pour trouver les réglages intrinsèques de l'appareil photo correspondant à ce jeu de photos /opt/micmac-src/micmac/bin/mm3d Tapas RadialStd ".*JPG" Out=Call # Phase 3 - Orientation externe des images les unes par rapport aux autres, en connaissant déjà la calibration intrinsèque /opt/micmac-src/micmac/bin/mm3d Tapas AutoCal ".*JPG" InCal=Call Out=Oril # Phase 4 - Création du nuage de point grossier, avec position des prises de vues - pour vérification du bon déroulement des 3 premières phases /opt/micmac-src/micmac/bin/mm3d AperiCloud ".*JPG" Oril Out=PosCams.ply
A ce niveau on obtient une première chose intéressante :
Ce n’est pas bien visible comme ça mais c’est la zone survolée reconstituée sous forme d’un nuage de points de faible définition avec l’emplacement déterminé de l’appareil photo pour chaque photo.
L’intérêt est de vérifier que nous sommes sur la bonne voie puisque les positions de l’appareil photo correspondent au plan de vol.
Poursuivons :
# Phase 5 - Calcul de la carte de profondeur /opt/micmac-src/micmac/bin/mm3d Malt Ortho ".*JPG" Oril "DirMEC=Resultats3" UseTA=1 ZoomF=4 ZoomI=32 Purge=true
A ce stade une carte du relief est créée, mais dans un format difficilement lisible : Tiff 16 bits. Il est possible de faire autrement, à tester plus tard…
# Phase 6 -Assemblage des images orthorectifiées /opt/micmac-src/micmac/bin/mm3d Tawny Ortho-Resultats3/
Voici donc la carte proprement dite, de 4774×5643 pixels pour 1,5 hectare seulement :
Pour bien visualiser la différence par rapport à un simple assemblage, voici un extrait d’une des photos d’origine :
Et la même zone après traitement :
On voit clairement la perte de détail causée par les différents traitements. Il y a certainement moyen d’améliorer les choses en ajustant certains paramètres.
Et pour terminer on exporte le nuage de point colorié en haute densité :
# Phase 7 - Exportation et coloration du nuage de point dense (Dense point cloud) /opt/micmac-src/micmac/bin/Nuage2Ply Resultats3/NuageImProf_STD-MALT_Etape_6.xml Attr="Ortho-Resultats3/Ortho-Eg-Test-Redr.tif"
C’est lui qui va permettre de réaliser une version 3D du site survolé :
Dans le prochain épisode nous verrons donc comment utiliser le résultat du traitement dans Blender.
Intéressant, je vais suivre ton tuto à l’occasion.
Quelle précision tu à atteint dans ton exemple ?
Merci
Hum, j’ai fais un essai et mon résultat est très insatisfaisant. Je pense que cela vient de mes ipages d’origine. La procedure avec micmac fonctionne.
Quels sont vos paramètres de vol pour l’acquisition des images de ce tuto? Hauteur? Nombre d’image? Surface couverte ?
Merci
Bonjour,
Votre site est très intéressant sur la Cartographie
par drone Open Source
J’ai acheté 2 x SJ4000 OEM
LENS 170° Wide Angle Lens f= 2.99mm F= 2.8
pour faire RGB et IR .
Je cherche à trouver les valeurs pour Image Magick
convert -distort barrel 0.06335 -0.18432 -0.13009
A quoi correspond ces valeurs .
J’ai réalisé une photo sur mon carrelage à une hauteur
de 1,35 m et les carreaux 20cmx20cm , voici l’image :
http://gilbert.fercoq.chez-alice.fr/PICT0031.jpg
Peut-on déterminer ces valeurs avec GIMP .
Dans la fenêtre Distorsion de lentille
principal : correction de la distorsion lentilles.
zoom : ajuster la partie visible pour inclure une partie des zones « étirées »
bordures : corrections angulaires sur le bord de l’image.
Le probléme avec SJ4000 OEM (26€) , j’ai la date sur la photo qui
peut être une gêne pour une orthomosaïque .
Avez-vous un conseil pour la recherche de ces valeurs .
Merci d’avance
Cordialement
Gilbert