2 Traitement 1 : création d’une orthomosaïque géoréférencée
2.1 Création du répertoire de travail
C’est dans ce répertoire que seront renvoyés l’ensemble des fichiers produits durant le processus
- Windows
- C:\mmtrt\2017_bibracte
- C:\mmtrt\2017_bibracte
- Ubuntu, MacOS
- nomMachine/mmtrt/2017_bibracte
2.2 Données : 9 photographies drone du site de Bibracte
Téléchargement des données
Lien
https://drive.univ-rouen.fr/f/d116b499d21e487dbb82/
Lien de téléchargement direct
https://drive.univ-rouen.fr/f/d116b499d21e487dbb82/?dl=1
2.3 Déroulement
- Découverte des points homologues
- Tapioca -> Recherche de points homologues
- Schnaps -> vérification de l’alignement
- Tapioca -> Recherche de points homologues
- Calibration et orientation des caméras
- Tapas -> Calibration des caméras
- Tapas -> Calibration des caméras
- Génération, géolocalisation du nuage de points
- Apericloud -> Cénération du nuage de points épars
- GPCConvert -> Conversion du fichier txt de points de contrôle en xml
- SaisusAppuisInitQT -> Saisie des points de contrôle sur les images
- GPCBascule -> Géolocalisation du modèle
- C3DC MicMac -> Densification du nuage de points
- Apericloud -> Cénération du nuage de points épars
- Production des orthophotos puis de l’orthomosaïque
- Malt Ortho -> Production des othophotographies
- Tawny -> Production de l’orthomosaïque
- Malt Ortho -> Production des othophotographies
2.3.1 Se placer dans le répertoire de travail
# Windows
cd \mmtrt\2017_bibracte
# Ubuntu/MacOS
cd mmtrt/2017_bibracte/
2.3.2 Identification des points homologues
mm3d Tapioca MulScale ".*JPG" 500 1500- Tapioca : outil de recherche de points homologues
- MulScale : sous-échantillonage des images selon plusieurs résolutions
- “.*JPG” : prendre en considération tous les fichiers dont l’extension est .JPG (MicMac est sensible à la casse)
- 500 : reduction à 500 px environ de la dimension max de l’image (largeur ou hauteur)
- 1500 : réduction à 1500 px environ
- NB : si -1 alors résolution originale de l’image
SORTIE
- Dossier Homol : coordonnées des points homologues dans la résolution la plus élévée
- Dossier Homol_Sres : coordonnées des points homologues dans la résolution la plus basse (S = slow)
- Dossier Pastis : images aux résolutions définies, points homologues entre chaque couple de photos
2.3.3 Vérification de l’alignement des photos
mm3d Schnaps ".*JPG" MoveBadImgs=1- Schnaps : réduction du nombre de points homologues (quand réciproques)
- “.*JPG” : prendre en considération tous les fichiers dont l’extension est .JPG (MicMac est sensible à la casse)
- MoveBadImgs=1 : placement des images avec trop peu de points homologues dans un répertoire Poubelle
SORTIE
- Dossier Poubelle : images rejetées pour la suite du processus
2.3.4 Calibration des caméras
mm3d Tapas FraserBasic ".*JPG" Out=CAL- Tapas : définition de la position et de l’orientation de la prise de vue afin de pouvoir projeter les points homologues avec le moins d’écart possible entre les images
- FraserBasic : paramètre adéquat pour un faible nombre d’images à traiter (< 10). Si >10 images, utiliser l’argument RadialStd (plutôt que FraserBasic).
- “.*JPG” : prendre en considération tous les fichiers dont l’extension est .JPG (MicMac est sensible à la casse)
- OUT=CAL : l’outil Tapas génère un dossier dont le nom débute par “Ori-” ; ici le dossier se nommera “Ori-CAL”
SORTIE
- Dossier Ori-CAL : fichiers .xml de calibration de chaque prise de vue
- Fichier Residus.xml : erreurs résiduelles (décalage des points homologues entre les images) exprimées en pixel ; paramètre à retenir en fin de fichier : AverageResidual qui doit se situer entre 0.5 et 1. Cette information se trouve également dans le terminal.

2.3.5 Génération du nuage de points épars
mm3d AperiCloud ".*JPG" CAL Out=cloud_sparse.ply- AperCloud : outil de création des nuages de points
- CAL : utiliation des paramètres de calibration des caméras du dossier Ori-CAL
- Out=cloud_sparse.py : nom donnée au nuage de points
SORTIE
- Nuage de points homologues : cloud_sparse.ply. La visualisation peut s’effectuer avec CloudCompare
2.3.6 Ajout des points de contrôle
Pour géolocalier le nuage de points puis géoréférencer les images, des points de contrôle ont été mesurés sur le terrain ET sont visibles sur les images.
Les points de contrôle son ici fournis dans un fichier texte (encodage UTF8) : topo_uncut.txt
La présence de la première ligne est indispendable, chaque valeur est séparée par un espace :
- N = nom des points
- X = longitude
- Y = latitude
- Z = altitude
Ces coordonnées doivent être exprimées dans un système métrique.

En raison d’un bug, lors du traitement des points de contrôle, des décimales sont ajoutées ce qui peut provoquer des résultats aberrants.
Pour palier à ce problème, un nouveau fichier .txt est créé en tronquant les coordonnées (topo.txt).

2.3.6.1 Conversion du fichier topo
Pour être exploitable, ce fichier doit être converti en .xml.
mm3d GCPConvert "#F=N_X_Y_Z" topo.txtSORTIE
- Fichier topo.xml
2.3.6.2 Saisie des points d’appui
Le préalable à la mise en oeuvre de cette étape est une bonne connaissance de son terrain et de la localisation des cibles (points de contrôles).
Dans cet exercice, elle sont visibles et identifiées dans le fichier “cibles.png.
Il s’agit dans un premier temp d’établir une liste des images qui contiennent les cibles?
Par exemple, la cible”1” est visible sur les images “06, 07, 08, 09”.
mm3d SaisieAppuisInitQT "0[6-9].JPG" CAL 1 topo.xml- SaisieAppuisInitQT : lancement de l’interface graphique (QT) qui permettra de placer correctement les points sur les images.
- “0[6-9].JPG” : sélection des images (de 01 à 09) sur lesquelles sera placé un point.
- CAL : le point à placer le sera en considérant les paramètres de calibration et d’orientation des caméras (répertoire Ori-CAL).
- 1 : nom du point de contrôle à placer
- topo.xml : fichier de coordonnées des points
Étapes dans le visualiseur
- sélection du point dans la liste : clic G
- zoomer dans une image avec la molette pour se placer au-dessus de la cible
- placer le point : clic G
- valiser le point : clid D
- naviguer dans une autre image
- saisir le point, le glisser à l’endroit souhaité : clic G
- valider le point : clic D
mm3d SaisieAppuisInitQT "0[6-9].JPG" CAL 2 topo.xmlmm3d SaisieAppuisInitQT "0[1-6].JPG" CAL 3 topo.xmlmm3d SaisieAppuisInitQT "0[1-4].JPG" CAL 4 topo.xmlSORTIE
- Fichier topo-S2D.xml : coordonnées 2D des points de contrôle par image
- Fichier topo-S3D.xml : coordonnées 3D des points de contrôle par point
2.3.7 Géolocalisation du modéle
mm3d GCPBascule ".*JPG" CAL CAL-Basc topo.xml topo-S2D.xml- GCPBascule : lancement de l’outil qui permet de répercuter les coordonnées des points de contrôle au répertoire CAL
- “.*JPG” : prise en compte de l’ensemble des images
- CAL : répertoire de calibration
- CAL-Basc : création d’un répertoire de calibration avec prise en compte des transformations de coordonnées
- topo.xml topo-S2D.xml : référentiel des points de contrôle au sol
SORTIE
- Dossier Ori-CAL-Basc : CAL + résultat de la bascule
- Fichier Basc-CAL-2-CAL-Basc.xml : paramètres de rotation et translation pour passer de CAL vers CAL-Basc
- Fichier Basc-CAL-Basc-2-CAL.xml : paramètres de rotation et translation pour passer de CAL-Basc vers CAL
2.3.8 Validation des points de contrôle
mm3d SaisieAppuisPredicQT ".*JPG" CAL-Basc topo.xml topo_final.xmlÀ nouveau une interface graphique s’ouvre : les points sont placé selon une prédiction ; il s’agit d’en affiner la localisation comme précedemment.
SORTIE
- Dossier Ori-CAL-Basc : CAL + résultat de la bascule
- Fichier topo-final-S2D.xml : coordonnées 2D des points de contrôle par image
- Fichier topo-final-S2D.xml : coordonnées 3D des points de contrôle par point
2.3.9 Géolocalisation du modèle 2 (précision)
mm3d GCPBascule ".*JPG" CAL CAL-Basc2 topo.xml topo_final-S2D.xml- GCPBascule : lancement de l’outil qui permet de répercuter les coordonnées des points de contrôle au répertoire CAL
- “.*JPG” : prise en compte de l’ensemble des images
- CAL : répertoire de calibration
- CAL-Basc2 : création d’un répertoire de calibration avec prise en compte des transformations de coordonnées
- topo_final-S2D.xml : référentiel des points de contrôle au sol
SORTIE
- Dossier Ori-CAL-Basc2 : CAL + résultat de la bascule
- Fichier Basc-CAL-2-CAL-Basc2.xml : paramètres de rotation et translation pour passer de CAL vers CAL-Basc2
- Fichier Basc-CAL-Basc2-2-CAL.xml : paramètres de rotation et translation pour passer de CAL-Basc2 vers CAL
2.3.10 Géolocalisation du modèle 3 (ajustement final des caméras)
mm3d Campari ".*JPG" CAL-Basc2 CAL-Terrain GCP=[topo.xml,0.05,topo_final-S2D.xml,0.77]- Campari : lancement de l’outil qui permet de calculer l’orientation définitive des caméras en prenant en compte les contraintes de localisation des points de contrôle du répertoire CAL-Basc2
- “.*JPG” : prise en compte de l’ensemble des images
- CAL-Basc2 : répertoire de calibration
- CAL-Terrain : création d’un répertoire de calibration avec prise en compte des points de contrôle
- [topo.xml,0.05,topo_final-S2D.xml,0.77] : marges d’erruer autorisées 0.05 = ce qui accepé lors des relevés terrain ; 0.77 = erreur résiduelle
SORTIE
- Dossier Ori-CAL-Terrain : CAL-Basc2 + erreur résiduelle
2.3.11 Génération du nuage de points homologues géoréférencés
mm3d AperiCloud ".*JPG" CAL-Terrain Out=cloud_sparse_geo.ply- AperCloud : outil de création des nuages de points
- CAL-Terrain : utiliation des paramètres de calibration des caméras du dossier Ori-CAL-Terrain
- Out=cloud_sparse_geo.py : nom donnée au nuage de points
SORTIE
- Nuage de points homologues : cloud_sparse_geo.ply. La visualisation peut s’effectuer avec CloudCompare
2.3.12 Densification du nuage de points
mm3d C3DC MicMac ".*JPG" CAL-Terrain Out=cloud_dense.ply- C3DC : outil de densification
- MicMac : mode de construction du nuage (moyenne densité ; haute densité = BigMac, basse densité = QuickMac)
- “.*JPG” : prise en compte de l’ensemble des images
- Out=cloud_dense.py : nom donnée au nuage de points
SORTIE
- cloud_dense.ply : nuage de points dense. La visualisation peut s’effectuer avec CloudCompare
- MMByPairFile.xml, MMByPairCAWSI.xml : couples stéréoscopiques utilisés
- Dossier Pyram : images sous-échantillonnées
- Dossier PIMs-MicMac : résultat de l’appel de l’outil PIMs par MicMac création de cartes de profondeur
2.3.13 Production des orthophotographies
mm3d Malt Ortho ".*JPG" CAL-Terrain EZA=1- Malt : outil de création des orthophotgraphies et des modèles numériques d’élévation
- Ortho : fonction dédiée aux calculs des orthophotographies et cartes de profondeur
- “.*JPG” : prise en compte de l’ensemble des images
- CAL-Terrain : utiliation des paramètres de calibration des caméras du dossier Ori-CAL-Terrain
- EZA=1 : prise en compte des altitudes réelles
SORTIE
- Dossier Ortho-MEC-Malt : orthophotographies pour chaque image
- Dossier MEC-Malt : calculs des cartes de profondeur
les fichiers .twf contiennent les informations de localisation.
C’est dans ce fichier qu’il est possible de rétablir un SRC correct en modifiant les deux dernières lignes.
AJOUT DES CHIFFRES QUI ONT ÉTÉS SUPPRIMÉS DU FICHIER topo-uncut.txt
Le MNE exploitable est le fichier Z_Num8_DeZoom2_STD-MALT.tif du dossier MEC-Malt
2.3.14 Création de l’orthomosaïque
mm3d Tawny Ortho-MEC-Malt- Tawny : outil d’assemblage
- Ortho-MEC-Malt : dossier d’assemblage des orthophotohraphies
SORTIE
- Fichier Orthophotomosaic.tif
- Fichier Orthophotomosaic.twf
les fichiers .twf contiennent les informations de localisation.
C’est dans ce fichier qu’il est possible de rétablir un SRC correct en modifiant les deux dernières lignes.
AJOUT LES CHIFFRES QUI ONT ÉTÉS SUPPRIMÉS DU FICHIER topo-uncut.txt
Téléchargement des données exo Yville
Lien
https://drive.univ-rouen.fr/f/20dd24d26d5b4fd690d7/?dl=1