Précédent Suivant

2. Traitement pour la production d’orthophotographies en plan

p. 37-74


Texte intégral

2.1. Présentation de MicMac

1Pour le traitement, nous avons fait le choix d’utiliser un logiciel libre, afin que ce protocole soit reproductible par le plus grand nombre. Plusieurs logiciels de photogrammétrie libres sont disponibles (Open-MVG, Visual SfM, COLMAP, etc.), mais étant orientés sur le traitement d’informations graphiques plutôt que vers les sciences géographiques, ils s’arrêtent pour la plupart à l’étape de la construction du nuage dense (Bartoš et al. 2014 ; Meshroom 2020). Or, notre objectif est d’exploiter le modèle 3D pour produire une orthomosaïque de site archéologique. Le logiciel MicMac présente plusieurs avantages. Il est tout d’abord libre de droit et gratuit, mais il est surtout l’aboutissement de nombreux travaux scientifiques portés par une vaste communauté nationale de chercheurs en photogrammétrie. La rigueur scientifique de ces travaux et des données produites par le logiciel justifie notre choix de son utilisation comme d’autre chercheurs avant nous en Europe (voir notamment [Guimarães et al. 2020 ; La Salandra et al. 2021]).

2MicMac (ou « Multi Image Correspondance, Méthodes Automatiques de Corrélation ») est un logiciel de photogrammétrie complet qui offre de nombreuses possibilités de création de modèles 3D et d’orthoimageries multi-échelles. Son architecture repose sur un ensemble d’outils, des « briques » autonomes mais interdépendantes, diffusés sous licence libre (CECILL-B). L’auteur historique, M. Pierrot Deseilligny, a commencé le développement du logiciel en 2003 à l’IGN. Mais depuis, le projet s’est largement diffusé et recense maintenant une douzaine de partenaires nationaux et européens (Rupnik et al. 2017). La documentation officielle est centralisée sur un wiki en ligne géré par l’ENSG : https://micmac.ensg.eu. Comme la solution est libre, son développement profite de multiples contributions. L’édition du wiki est également ouverte à tous. Cela permet de maintenir à jour une documentation relativement complète, même si la quantité d’informations fournies n’est pas toujours homogène d’une page à l’autre.

3Une des particularités de MicMac est qu’il se gère de base sans interface graphique (fig. 14). Il se lance avec l’invite de commande sous Windows et le terminal sous Linux et Mac. Les instructions à opérer sont gérées directement en ligne de commande. Elles commencent systématiquement par « mm3d » (pour « MicMac 3D »), pour indiquer à l’ordinateur que la commande qui suit utilise les outils du logiciel. Vous trouverez toutes les informations nécessaires à l’installation sur la page suivante : https://micmac.ensg.eu/index.php/Install et dans le tutoriel vidéo suivant : https://www.youtube.com/watch?v=pMcohhH6aJU

Fig. 14 : l'interface du logiciel MicMac, dans l'invite de commande Windows.

Image

4La chaîne de production que nous présentons ici est directement tirée des travaux déjà publiés par les auteurs du logiciel (Pierrot-Deseilligny, Paparoditis 2006 ; Pierrot-Deseilligny, Clery 2011 ; Rupnik et al. 2017 ; Pierrot-Deseilligny et al. 2022) et adaptée pour une utilisation dans un cadre archéologique. Pour chaque commande décrite ci-après, il existe plusieurs arguments optionnels. Nous ne présentons que ceux sélectionnés sur la base de 5 ans d’expérimentations et invitons le lecteur à se référer au wiki pour plus d’information sur les autres possibilités : https://micmac.ensg.eu/index.php/MicMac_tools

2.2. Préparation du répertoire

5Avant de commencer le traitement, il est indispensable de préparer le dossier qui va correspondre à votre espace de travail durant tout le processus. En informatique, un dossier est appelé « répertoire » (directory en anglais), qui est aussi le terme utilisé dans le wiki. Le chemin d’accès au répertoire ne doit pas comporter de caractères spéciaux (ex : é, à, /, !, espace, etc.). De plus, Windows limite traditionnellement les chemins d’accès aux répertoires à 260 caractères. Comme MicMac produit plusieurs sous-répertoires durant le traitement, nous vous conseillons de créer un répertoire de travail au plus près de la racine du disque dur, avec un nom simple et court (ex : C:/mmtrt), d’autres sous-répertoires peuvent être prévus pour chaque chantier si besoin (ex : c:\mmtrt\vsld\ pour le traitement du chantier de Verdun-sur-le-Doubs). Pour les principes de nommage nous renvoyons le lecteur au chapitre 4. Il suffit ensuite d’ouvrir l’invite de commandes (windows) ou le terminal (linux) dans ce répertoire pour lancer la première commande (fig. 15).

Fig. 15 : la première commande du protocole, pour lancer l’outil Tapioca.

Image

2.3. Syntaxe MicMac

6Toutes les commandes de MicMac sont structurées de la même façon. Elles commencent par mm3d (pour MicMac 3D), ce qui indique à l’ordinateur que la commande qui suit utilise les outils du logiciel. L’ensemble des outils utilisés par MicMac sont listés sur le wiki ou en exécutant la commande mm3d -help. Ensuite, la commande se compose de 3 éléments : l’outil (ou CommandName), un ou plusieurs arguments obligatoires (ou UnnamedValue) et un ou plusieurs arguments optionnels (ou NamedArg=NameValue).

7Les arguments obligatoires, appelés « mandatory unnamed arguments » dans la documentation du wiki, quand ils sont prédéfinis par MicMac, ne sont pas paramétrables par l’utilisateur – par exemple, le choix du modèle de distorsion pour le calcul de l’orientation des caméras dans Tapas, ou le mode de reconstruction stéréoscopique de C3DC. Les autres peuvent correspondre aux noms des photos, du fichier de données topographiques, ou des répertoires en entrée ou en sortie, etc. Ils ne sont pas prévus à l’avance par le logiciel et doivent être écrits entièrement et sans faute par l’utilisateur lui-même. Enfin, ils ne peuvent être écrits que dans un ordre précis, sans quoi l’outil ne reconnaîtra pas les valeurs attendues et la commande ne se lancera pas. Ces arguments sont explicités dans le bon ordre, selon la structure de la commande, et détaillés sur les pages wiki dédiées à chaque outil ou en exécutant la commande mm3d Nomdeloutil.

8Au contraire, les arguments optionnels, appelés NamedArgs dans la documentation, peuvent être énoncés dans n’importe quel ordre. Il s’agit d’une utilisation avancée des outils, et sont appelés pour répondre à des besoins particuliers – par exemple, le calcul des altitudes réelles d’un MNT avec Malt, qui ne peut se faire sans l’argument optionnel EZA=1. Il s’agit de paramètres pour lesquels l’utilisateur renseigne une valeur, selon le modèle NamedArgs=, d’un format différent selon l’argument appelé. Ils sont eux aussi renseignés sur les pages wiki dédiées ou en exécutant l’outil sans argument dans l’invite de commandes. Les formats de valeurs les plus courants pour notre utilisation du logiciel sont les suivants :

  • Pt2di : on attend ici deux entiers entre crochets séparés par une virgule. Il peut s’agir d’un intervalle de valeurs ou encore de coordonnées 2D. Par exemple [4,4].
  • Pt2dr : la valeur attendue est de deux nombres entiers ou décimaux (réels), ici aussi entre crochets et séparés d’une virgule. Par exemple [3.42,7.69].
  • bool : la valeur renseignée ne peut correspondre qu’à 0, 1, false ou true. Notez que 0 équivaut à false, 1 à true.
  • REAL : on attend ici un nombre entier ou décimal (réel).
  • INT : pour integer, et renvoie à un nombre entier.
  • string : correspond à une chaîne de caractères, il n’y a aucune restriction sur la valeur, tous les caractères sont autorisés.

9MicMac est sensible à la casse. Pour le logiciel, « IMG » n’est pas la même chaîne de caractères que « Img » ou « img ».

10Une ligne est lue en isolant chaque caractère : 10 correspond au chiffre 1 puis au chiffre 0, pas au nombre 10.

11Chaîne de caractères variables :

  • [1-4] = de 1 à 4
  • (1|3|4) = 1, 3 et 4
  • (4[0-2]) = de 40 à 42 (et pas [40-42])
  • (2[8-9]|30) = de 28 à 30
  • ([1-4]{2}) = de 1 à 4 et de 11 à 44

2.4. Traitement

2.4.1. Recherche des points homologues

Commande


mm3d Tapioca MulScale ".*JPG" 500 1500

Description

12Tapioca : outil de calcul automatique des points homologues.

13MulScale : aujourd’hui, les APN utilisés produisent des images d’une définition dépassant régulièrement les 5000 pixels (en nombre de pixels sur la largeur de l’image). Pourtant, plus la définition d’une image est haute, plus les calculs pour la recherche de points d’attache sont longs. L’argument MulScale sous-échantillonne chaque image à deux définitions différentes pour :

  • Utiliser des définitions raisonnables pour le temps de calcul mais pertinente pour la découverte des points d’attache ;
  • Repérer des points d’attache fiables à partir d’éléments marquants présents à deux résolutions différentes.

14".*JPG" : l’instruction exécute la recherche des points homologues sur l’ensemble (*) des images contenues dans le répertoire de travail dont l’extension est .JPG. Attention, le logiciel est sensible à la casse, pensez à vérifier la façon dont est enregistrée l’extension de vos fichiers (JPG ou jpg ou JPEG, etc.)

15500 1500 : Il s’agit des deux définitions sélectionnées pour la recherche de points d’attache, calculé sur le plus grand axe de la photographie (Friedt 2014). Le ratio temps de calcul/découverte de points homologues fiable est satisfaisant avec les définitions proposées ici.

Production

16Répertoire Homol : coordonnées X et Y des points homologues entre couples d’images stéréoscopiques en format binaire (.dat) non lisible.

17Répertoire Homol Sres : coordonnées X et Y des points homologues entre couples d’images stéréoscopiques en basse résolution et en format binaire (.dat) non lisible.

18Répertoire Pastis : enregistre les points homologues entre les photos par dossier, par fichier, et par image, le tout aux deux résolutions demandées, en format binaire (.dat) non lisible et en format texte (.result) lisible avec tout éditeur de texte (nous conseillons Notepad++).

2.4.2. Vérification de l’alignement des images

Commande


mm3d Schnaps ".*JPG" MoveBadImgs=1

Description

19Schnaps : Approche statistique basée sur la multiplicité et la redondance permettant le nettoyage et la réduction des points homologues avant la calibration et l’orientation des images.

20".*JPG" : la vérification s’effectue sur toutes les images (*).

21MoveBadImgs=1 : déplace automatiquement les images qui présentent trop peu de points d’attache pour être alignées dans un dossier Poubelle.

À prendre en compte

22La commande se base sur les résultats de Tapioca pour évaluer la qualité des images.

Production

23Répertoire Poubelle : contient les images qui présentent trop peu de points homologues pour être alignées. S’il est créé, la commande Tapioca doit être relancée après modification (amélioration) des arguments utilisés (mode et/ou résolution).

2.4.3. Calibration des caméras

Commande

24Moyenne et grandes surface, topographie plane à complexe, plus de 10 photos :


mm3d Tapas RadialStd ".*JPG" Out=CAL

25Petite surface, topographie plane, moins de 10 photos :


mm3d Tapas FraserBasic ".*JPG" Out=CAL

Description

26Tapas : détermine les paramètres d’orientation interne (calibration) et externe des caméras. Permet de définir la position et l’orientation des prises de vue et de projeter dans l’espace la position des points homologues.

27RadialStd : modèle de calibration adapté à la déformation des objectifs les plus couramment utilisés en photogrammétrie et en archéologie (f = 24 à 35mm). Dans le cas d’une acquisition de moins de 10 photos (en général sur une petite surface relativement plane), nous recommandons d’utiliser plutôt l’argument FraserBasic.

28".*JPG" : la détermination des paramètres optiques et de la position des caméras s’effectue sur l’ensemble du set d’images.

29Out=CAL : détermine le suffixe du dossier (ou répertoire) d’orientation Ori dans lequel seront stockés les résultats du calcul. Dans notre cas, le répertoire Ori-CAL.

À prendre en compte

30En guise de résultat, l’outil Tapas génère un message qui décrit différents paramètres (fig. 16). Le plus important à prendre en compte est la moyenne des erreurs de reprojection, indiquée Residual.

Fig. 16 : exemple de résultat de Tapas.

Image

31Lors de cette étape (ajustement de faisceau), la projection dans l’espace des points homologues identifiés précédemment donne une estimation de leur position en x, y et z. Mais comme les paramètres internes (calibration) et externes (orientation) des caméras sont imparfaits, si on tente de reprojeter ce point 3D sur l’image (soit le chemin inverse), on ne retrouve généralement pas les mêmes coordonnées x et y dans l’image : c’est l’erreur de reprojection. L’objectif de l’ajustement de faisceaux est de minimiser cette erreur résiduelle par réitération des projections, faisant qu’en théorie plus l’erreur de reprojection est faible, plus les calibrations internes et externes sont précises, permettant ensuite d’améliorer la densification.

32L’erreur de reprojection ou erreur résiduelle s’exprime en pixel et doit donc être la plus faible possible, en pratique entre 0,5 et 1 (Friedt 2014, p. 6 ; Seguin 2018, p. 5). Si ce n’est pas le cas, la précision du nuage de points ne sera pas optimale. Au-dessus de 1,5, il faut envisager de supprimer les images problématiques pour la construction du nuage de points épars, identifiables à l’étape suivante, et reprendre le calcul depuis le début.

33Enfin, notez le résultat de l’erreur résiduelle, il est utile pour la suite du traitement.

Production

34Répertoire Ori-CAL : contient le fichier de calibration pour chaque caméra (couple capteur/focale), autant de fichier d’orientations que d’images (permettant de spatialiser chaque image dans un espace 3D (position et direction)) et le fichier de synthèse des erreurs résiduelles, tous au format XML.

35Fichier Residus.xml : erreur résiduelle (residual) exprimée en pixel par photo (name). La moyenne des erreurs résiduelles des images se trouve en fin de fichier (AverageResidual).

Commande à exécuter avec un lot de photos prévus pour la calibration

36Si vous avez réalisé un lot de photos destinée à la calibration de la caméra (cf. supra 1.3.2 Photographie, Lots de calibration [optionnel]), il est nécessaire de rajouter une commande Tapas pour effectuer le calcul de la calibration et de l’orientation des caméras sur ce premier lot, puis de relancer la commande pour l’appliquer à l’ensemble des images. Afin de ne pas inclure les images de calibrations dans le calcul du nuage de points épars, pensez à les enlever du répertoire de travail avant de relancer la commande.


mm3d Tapas RadialStd "([1-9]|10).JPG" Out=Calib

mm3d Tapas AutoCal ".*JPG" InCAL=Calib Out=CAL

Description

37Pour la première ligne de commande :

38"([1-9]|10).JPG" : la détermination des paramètres optiques et de la position des caméras s’effectue sur un lot d’images prévu à cet effet.

39Out=Calib : détermine le suffixe du dossier (ou répertoire) d’orientation Ori dans lequel seront stockés les résultats du calcul à partir du lot de photos spécifique. Dans ce cas, le répertoire Ori-Calib.

40Pour la deuxième ligne de commande :

41AutoCal : en utilisant cet argument, aucun modèle de calibration n’est sélectionné. Il s’assure uniquement que la calibration a une valeur, définie par l’argument InCal.

42InCal : applique le résultat du premier calcul de calibration, contenu dans le fichier Ori-Calib/AutoFocalxxx.xml.

2.4.4. Génération du nuage de points épars

Commande


mm3d AperiCloud ".*JPG" CAL Out=sparse_cloud.ply

Description

43AperiCloud : outil de création d’un nuage de points 3D qui assemble la position des prises de vue et des points homologues pour contrôler visuellement la précision de la calibration et l’orientation des caméras.

44".*JPG" : la construction du nuage de points homologues avec la position des caméras s’effectue avec l’ensemble des images.

45CAL : le répertoire de calibration calculé à l’étape précédente, Tapas.

46Out=sparse_cloud.ply : nomme le fichier produit sparse_cloud.ply.

Production

47sparse_cloud.ply : nuage de points homologues au format PLY (Polygone File Format).

À prendre en compte

48Le fichier sparse_cloud.ply peut être visualisé avec le logiciel libre CloudCompare. Dans la première fenêtre « Ply File Open », cliquez sur « Apply all ». Chaque point qui s’affiche correspond à un point homologue (fig. 17). Les cônes de couleurs représentent la position et l’orientation des caméras. Cette étape permet de vérifier visuellement la cohérence du modèle 3D. Si une caméra présente une position aberrante, c’est que sa calibration a échoué à cause d’un manque de points d’attache. Il convient de relancer le traitement depuis Tapioca en supprimant l’image en question.

Fig. 17 : visualisation du nuage épars dans CloudCompare. Bibracte, plateforme PC14, Nièvre, 2021.

Image

2.4.5. Préparation du fichier des points de contrôle

49Le nuage de points généré s’exprime dans un système de coordonnées local et arbitraire où l’unité de base est le pixel. Pour le passer dans un système métrique et le localiser dans l’espace, il est nécessaire de s’appuyer sur des points de contrôle au sol (GCP). Les noms et coordonnées de ces derniers sont listés dans un fichier préparé en amont, qui respecte les normes suivantes (fig. 18) :

  • Format de sortie : fichier Text (.txt) ;
  • Encodage de sortie : UTF-8;
  • Première ligne du fichier : #F=N X Y Z
    N indique que la première colonne renseigne le nom des points. Les trois colonnes suivantes X Y Z renseignent les coordonnées. L’ordre des colonnes n’a pas d’importance tant que les entêtes et les valeurs concordent. Pour rappel, dans la plupart des systèmes de coordonnées, l’axe X est égal à l’axe Est, l’abscisse ou la longitude et l’axe Y à l’axe Nord, l’ordonnée ou la latitude ;
  • Un point par ligne, où chaque valeur est séparée par un espace.

Fig. 18 : structuration des fichiers de topographie.

Image

50Dû à une erreur de son code C++, l’outil GCPConvert utilisé à l’étape suivante rajoute un nombre important de décimales à chaque coordonnée (Wiki MicMac 2019). Cela ne pose pas de problème pour la suite du traitement avec MicMac, mais ce n’est pas le cas de la plupart des logiciels qui exploiteront les résultats en sortie (Cloud Compare, MeshLab, etc.). Ceux-ci devront tronquer les coordonnées trop longues pour lire les fichiers, au risque de créer des aberrations (fig. 19). Pour pallier cette situation, nous vous conseillons de créer deux fichiers de coordonnées :

  • topo.txt : Dans ce fichier, vous supprimerez les éléments répétitifs au début des coordonnées X et Y. Ce fichier est utilisé dans les étapes suivantes du traitement ;
  • topo_uncut.txt qui conserve les coordonnées complètes, indispensables pour corriger les fichiers en fin de traitement.

Fig. 19 : exemple d’aberrations sur nuage de points aux coordonnées non tronquées dans CloudCompare. Bibracte, plateforme PC14, Nièvre, 2021.

Image

2.4.6. Transformation du fichier topo

Commande


mm3d GCPConvert "#F=N_X_Y_Z" topo.txt

Description

51GCPConvert : outil pour transformer le fichier de coordonnées des points de contrôle au sol topo.txt au format XML exploitable par MicMac.

52"#F=N_X_Y_Z" : indique la disposition de la première ligne (entêtes) et donc des colonnes, du fichier topo.txt. Attention, aucune erreur ne vous avertira si l’ordre des entêtes du fichier et celui de cet argument ne concordent pas.

53topo.txt : sélection du fichier en entrée.

Production

54topo.xml : fichier de coordonnées des points de contrôle au sol topo.txt au format XML.

2.4.7. Saisie des points d’appuis (GCP)

Commande


mm3d SaisieAppuisInitQT "IMG[1-3].JPG" CAL gcp1 topo.xml

Description

55SaisieAppuisInitQT : outil pour initialiser la géolocalisation du nuage de points par la triangulation semi-automatique de trois GCP. Cet outil fonctionne avec une interface graphique (QT) pour faciliter les manipulations.

56"IMG[1-3].JPG" : sélection d’au minimum trois images sur lesquelles apparaît le même GCP. Dans notre exemple, l’outil va utiliser les fichiers IMG1.JPG, IMG2.JPG et IMG3.JPG. Pour plus d’informations sur la sélection de fichiers, vous pouvez consulter la partie dédiée à la syntaxe de MicMac en fin d’article.

57CAL : le GCP est défini par rapport au répertoire de calibration et d’orientation des caméras calculé précédemment.

58gcp1 : nom du GCP à identifier sur les trois photos.

59topo.xml : fichier de coordonnées des GCP de référence.

60Sélection du point : l’instruction ouvre automatiquement une interface graphique qui se compose comme suit (fig. 20) :

  • une partie à droite avec de haut en bas : une fenêtre de zoom sur l’image utilisée, la liste des points de contrôle au sol, une liste de photos dynamique ;
  • une partie à gauche dans laquelle s’affichent les photos appelées.

Fig. 20 : interface graphique de SaisieAppuisInitQT. Bibracte, plateforme PC14, Nièvre, 2021.

Image

61Pour valider un point de contrôle au sol, il faut :

  1. Sélectionner le point en faisant un clic gauche sur son nom dans la liste des points de contrôle. Son nom apparaît alors en orange ;
  2. L’identifier sur une première photo avec un clic gauche. La molette de la souris sert à zoomer et le clic molette à se déplacer dans l’image. Attention, si vous identifiez un point sans qu’il soit sélectionné dans la liste de gauche, le logiciel crée automatiquement un nouveau point de contrôle aléatoire ;
  3. Valider la position du point en faisant un clic doit et cliquer sur Validate dans le menu déroulant (fig. 21). La ligne du nom du point passe en rouge avec des coordonnées ;
  4. Comme les photos sont alignées, le logiciel calcule la position approximative du point validé sur les autres images. Vous devez le déplacer par un clic gauche maintenu et le valider sur chacune. Le point est sélectionnable dès qu’il passe en bleu ;
  5. Si besoin, vous pouvez faire un clic droit sur le nom du point dans la liste et utiliser Change images for (« nom du point de contrôle »). Cela actualise les images et affiche celles où le point n’a pas été encore validé. Vous pouvez contrôler cela en passant la souris sur une photo. Son nom apparaît alors en orangé dans la liste de photos dynamique et la colonne suivante indique le statut du point de contrôle sélectionné (validate ou to validate) ;
  6. Une fois que le point est validé sur toutes les images appelées, ses coordonnées passent en grisé dans la liste à droite (fig. 22). Cela signifie que sa position est enregistrée. Vous pouvez directement fermer l’interface graphique ;
  7. Si vous avez créé par mégarde un point de contrôle aléatoire, un défaut de l’interface graphique vous empêche de le supprimer. Vous devez le réfuter (Refuted dans le menu déroulant) sur les images où il apparaît pour qu’il ne soit pas pris en compte.

Fig. 21 : validation d’un point de contrôle au sol dans l’interface graphique de SaisieAppuisInitQT. Bibracte, plateforme PC14, Nièvre, 2021.

Image

Fig. 22 : point de contrôle au sol validé avec l’interface graphique de SaisieAppuisInitQT. Bibracte, plateforme PC14, Nièvre, 2021.

Image

À prendre en compte

62Pour trianguler le modèle, MicMac a besoin de trois points de contrôle valides saisis sur au moins trois images. Cette manipulation est donc à relancer trois fois en changeant à chaque fois le nom des photos et du point dans la ligne de commande. Si un point déjà valide apparaît sur une nouvelle photo, il faut le valider de nouveau en prenant soin de cliquer avant sur son nom dans la liste.

Production

63Fichier topo-S2D.xml : enregistre les points de contrôle en coordonnées 2D par image.

64Fichier topo-S3D.xml : stocke les coordonnées 3D par point.

2.4.8. Géolocalisation du modèle – Système de Coordonnées de Référence

Commande


mm3d GCPBascule ".*JPG" CAL CAL-Basc topo.xml topo-S2D.xml

Description

65GCPBascule : outil pour appliquer les coordonnées des fichiers des points de contrôle au sol au répertoire CAL (calibration et orientation des caméras). Le modèle est ainsi basculé d’un système de coordonnées locales vers un système géoréférencé par une transformation géométrique.

66".*JPG" : la transformation s’applique à la totalité (*) des images.

67CAL : répertoire de calibration et d’orientation des caméras de référence pour effectuer la transformation.

68CAL-Basc : nouveau répertoire de calibration et d’orientation des caméras. Nous définissons dans notre exemple CAL-Basc pour calibration basculée. Il s’agit d’une calibration temporaire, utile pour le processus de géoréférencement du nuage de points.

69topo.xml topo-S2D.xml : référentiel des points de contrôle au sol pour définir la transformation à appliquer.

Production

70Répertoire Ori-CAL-Basc : il contient le fichier de détermination des paramètres optiques de la caméra, les orientations de chaque image et le résultat de la bascule au format XML.

71Fichiers Basc-CAL-2-CAL-Basc.xml et Basc-CAL-Basc-2-CAL.xml : ils enregistrent les paramètres de rotations, de translations et de mise à l’échelle nécessaire pour la transformation entre deux systèmes.

2.4.9. Géolocalisation du modèle – Calcul et validation des points de contrôle

Commande


mm3d SaisieAppuisPredicQT ".*JPG" CAL-Basc topo.xml topo_final.xml

Description

72SaisieAppuisPredictQT : À ce stade, la position du modèle dans l’espace repose seulement sur trois points de contrôle. Sa précision peut être améliorée en validant manuellement les points de contrôle au sol restant. L’outil rouvre la même interface graphique (QT) que pour la première triangulation, mais grâce à la précédente bascule, MicMac a prédit ici la position des points (fig. 23).

Fig. 23 : ajustement et validation des points de contrôle au sol avec SaisieAppuisPredictQT. Bibracte, plateforme PC14, Nièvre, 2021.

Image

73".*JPG" : les points de contrôle sont validés sur toutes les images.

74CAL-Basc topo.xml : le répertoire de calibration et d’orientation des caméras et le fichier de points de contrôle au sol de référence pour la prédiction des points.

75topo_final.xml : ce nouveau fichier enregistre les coordonnées des points de contrôle mesurées sur les images.

76Validation des points : vous pouvez reprendre la manipulation comme à l’étape 4 de SaisieAppuisInitQT pour valider les points.

Production

77Fichier topo_final-S2D.xml : enregistre les points de contrôle en coordonnées 2D par image.

78Fichier topo_final-S3D.xml : stocke les coordonnées 3D par point.

2.4.10. Géolocalisation du modèle – Précision du SCR

Commande


mm3d GCPBascule ".*JPG" CAL CAL-Basc2 topo.xml topo_final-S2D.xml

Description

79GCPBascule : outil pour répéter l’opération de bascule sur le répertoire de calibration et d’orientation (CAL), mais en s’appuyant cette fois sur la totalité des points de contrôle au sol. Le modèle ne change pas de système de coordonnées, il affine simplement sa position.

80".*JPG" : la transformation s’applique à la totalité (*) des images.

81CAL : répertoire de calibration et d’orientation des caméras de référence pour effectuer la transformation.

82CAL-Basc2 : création d’un deuxième et dernier répertoire temporaire de calibration et d’orientation des caméras. Il est utile pour le processus de géoréférencement du nuage de points.

83topo.xml topo_final-S2D.xml : référentiel des points de contrôle au sol pour définir la transformation à appliquer.

Production

84Répertoire Ori-CAL-Basc2 : il contient le fichier de détermination des paramètres optiques de la caméra, les orientations de chaque image et le résultat de la bascule au format XML.

85Fichiers Basc-CAL-2-CAL-Basc2.xml et Basc-CAL-Basc2-2-CAL.xml : ils enregistrent les paramètres de rotations, de translations et de mise à l’échelle nécessaire pour la transformation.

2.4.11. Géolocalisation du modèle – Ajustement final de l’orientation des caméras

Commande


mm3d Campari ".*JPG" CAL-Basc2 CAL-Terrain GCP=[topo.xml,0.05,topo_final-S2D.xml,0.7]

Description

86Campari : outil de calcul de l’orientation définitive des caméras, prenant en compte les contraintes induites par les GCP.

87".*JPG" : l’orientation définitive des caméras est calculée pour toutes les images.

88CAL-Basc2 : répertoire de calibration et d’orientation des caméras de référence.

89CAL-Terrain : répertoire définitif de calibration et d’orientation des caméras.

90GCP=[topo.xml,0.05,topo_final-S2D.xml,0.7] : paramètres de précision des points de contrôle au sol :

  • topo.xml, 0.05 : le chiffre après la virgule indique la marge d’erreur acceptée lors du relevé des points sur le terrain, exprimée en mètre. La plupart des outils de topographie indiquent cette marge d’erreur au moment de la mise en station.
  • topo_final-S2D.xml, 0.7 : ici, il doit correspondre à l’erreur résiduelle calculée par Tapas. Plus il est proche du seuil calculé par Tapas, plus l’ajustement calculé par Campari sera précis. Si jamais vous ne l’avez pas noté à l’étape de Tapas, vous pouvez retrouver l’erreur résiduelle dans le répertoire Ori-CAL, à la fin du fichier Residus.xml, à la ligne <AverageResidual>.

À prendre en compte

91La commande exécute un nouvel ajustement de faisceau afin de reprojeter les points homologues, mais cette fois dans un espace géoréférencé. Vous pouvez de nouveau lire le résultat de l’erreur résiduelle (erreur de reprojection) en fin de calcul, qui doit normalement être équivalente, voire légèrement inférieure au premier résultat obtenu avec Tapas.

Production

92Répertoire Ori-CAL-Terrain : répertoire définitif de calibration et d’orientation des caméras. Il contient le fichier de détermination des paramètres optiques de la caméra, les orientations de chaque image et le résultat de l’erreur résiduelle au format XML.

2.4.12. Visualisation du nuage de points homologues géoréférencés

Commande


mm3d AperiCloud ".*JPG" CAL-Terrain Out=sparse_cloud_geo.ply

Description

93AperiCloud : outil de création du nuage de points épars géoréférencés.

94".*JPG" : la construction du nuage de points s’effectue avec l’ensemble des images.

95CAL-Terrain : elle utilise le répertoire de calibration et d’orientation définitif.

96Out=sparse_cloud_geo.ply : nomme le fichier produit sparse_cloud_geo.ply.

Production

97Fichier sparse_cloud_geo.ply : nuage de points au format PLY (Polygone File Format), qui peut être visualisé à l’aide du logiciel CloudCompare.

À prendre en compte

98Le nuage de points est normalement identique à sparse_cloud.ply, mais en affichant une vue zénithale, la direction du Nord doit pointer vers le haut, comme sur une carte topographique (fig. 24). Si ce n’est pas le cas, le géoréférencement a échoué, il vous faut reprendre à l’étape de préparation du fichier de points de contrôle au sol.

Fig. 24 : vue zénithale d’un nuage de points épars géoréférencé dans CloudCompare. Bibracte, plateforme PC14, Nièvre, 2021.

Image

2.4.13. Densification du nuage de points

Commande


mm3d C3DC MicMac ".*JPG" CAL-Terrain Out=dense_cloud.ply

Description

99C3DC : outil de densification automatique du nuage de points à partir des images orientées.

100MicMac : mode de reconstruction multi-stéréoscopique du nuage de points à moyenne densité. Pour chaque image, les calculs de corrélation sont effectués sur tous les couples possibles et la définition est divisée par 4 (ZoomF=4). Ce mode est suffisant pour la production d’une orthomosaïque tout en conservant un temps de calcul raisonnable. Si vous souhaitez augmenter la densité du nuage (et le temps de calcul), utilisez BigMac (ZoomF=2). Pour un nuage à basse densité, utilisez QuickMac (ZoomF=8).

101".*JPG" : la reconstruction prend en compte toutes les images.

102CAL-Terrain : la commande s’appuie sur la calibration et l’orientation définitive des caméras.

Production

103Fichier dense_cloud.ply : nuage de points dense au format PLY (Polygone File Format), qui peut être visualisé à l’aide du logiciel CloudCompare (fig. 25).

104Fichiers MMByPairFile.xml et MMByPairCAWSI.xml : ils enregistrent les couples stéréoscopiques utilisés pour la reconstruction.

105Répertoire PIMs-MicMac : C3DC fait appel à un autre outil de MicMac, PIMs, pour créer des cartes de profondeur selon l’emprise des images.

106Répertoire Pyram : les images sont systématiquement sous-enchantillonnées et conservées dans ce répertoire, quel que soit le mode de C3DC utilisé.

Fig. 25 : nuage de points dense dans CloudCompare. Bibracte, plateforme PC14, Nièvre, 2021.

Image

2.4.14. Production des orthophotographies

Commande


mm3d Malt Ortho ".*JPG" CAL-Terrain EZA=1

Description

107Malt : outil pour recomposer une orthophotographie et un Modèle Numérique de Terrain (MNT) à l’emplacement de chaque photo.

108Ortho : fonction spécifique pour calculer les orthophotos et les cartes de profondeurs.

109".*JPG" : le calcul s’applique à toutes les photos.

110CAL-Terrain : la commande se base sur le répertoire de calibration et d’orientation définitif.

111EZA=1 : sans cet argument, la commande ne calcule pas les altitudes réelles (Z absolu) des cartes de profondeur.

Production

112Répertoire Ortho-MEC-Malt : stocke les orthophotographies de chaque image.

113Répertoire MEC-Malt : stocke les résultats des calculs de corrélation et les cartes de profondeur. L’image exploitable en tant que MNT dans un SIG est la dernière des fichiers commençant par Z_Num, généralement Z_Num8_DeZoom2_STD-MALT.tif (fig. 26). Un fichier du même nom possède un autre type d’extension : ".tfw". Il s’agit du fichier de coordonnées World du MNT (fig. 27). La première et la quatrième ligne indiquent la largeur et la hauteur d’un pixel dans l’unité de mesure du système de coordonnées choisi, soit le mètre dans notre cas. Les deux valeurs sont normalement identiques, avec une valeur négative pour la quatrième ligne, car les pixels sont carrés. Des valeurs telles que 0.005 et -0.005 signifient par exemple que chaque pixel de l’image représente 5 centimètres carré. Les deux dernières lignes correspondent aux coordonnées tronquées X et Y du pixel dans l’angle bas gauche de l’image. Vous pouvez les corriger en reprenant les chiffres tronqués conservés dans le fichier topo_uncut.txt. Enregistrez le fichier avec les corrections, sans modifier son nom.

Fig. 26 : modèle Numérique de Terrain visualisé avec le logiciel Qgis 3.22. Bibracte, plateforme PC14, Nièvre, 2021.

Image

Fig. 27 : exemple de fichier World (TFW) explicité.

Image

À prendre en compte

114Pour exploiter les coordonnées du MNT, les fichiers TIFF et World doivent se trouver dans le même répertoire et posséder strictement le même nom (sauf pour l’extension). Il est possible de déplacer et de renommer l’orthomosaïque, mais en prenant soin d’appliquer les mêmes modifications aux 2 fichiers.

2.4.15. Production de l’orthomosaïque

Commande


mm3d Tawny Ortho-MEC-Malt

Description

115Tawny : outil pour assembler automatiquement les orthophotographies pour produire une orthomosaïque.

116Ortho-MEC-Malt : indique le répertoire des orthophotographies à assembler.

Production

117Fichier Orthophotomosaïc.tif : Vous pouvez enfin apprécier le résultat de vos efforts, l’orthomosaïque au format TIFF (fig. 28).

118Fichier Orthophotomosaïc.tfw : fichier de coordonnées World de l’orthomosaïque. La première ligne indique la résolution au sol de l’image. Les deux dernières lignes correspondent aux coordonnées tronquées X et Y du pixel dans l’angle bas gauche de l’image. Vous pouvez les corriger en reprenant les chiffres tronqués conservés dans le fichier topo_uncut.txt. Enregistrez le fichier avec les corrections, sans modifier son nom.

Fig. 28 : résultat du traitement : l'orthomosaïque. Bibracte, plateforme PC14, Nièvre, 2021.

Image

À prendre en compte

119Pour exploiter les coordonnées de l’orthomosaïque, les fichiers TIFF et World doivent se trouver dans le même répertoire et posséder strictement le même nom (sauf pour l’extension). Il est possible de déplacer et de renommer l’orthomosaïque, mais en prenant soin d’appliquer les mêmes modifications aux 2 fichiers.

2.4.16. Assemblage des tuiles de l’orthomosaïque (optionnel)

Commande


mm3d ConvertIm Ortho-MEC-Malt/Orthophotomosaic.tif

Description

120ConvertIm : MicMac découpe automatiquement l’orthomosaïque en plusieurs tuiles lorsque celle-ci fait plus d’1 Go. Cet outil sert à réassembler les tuiles en une seule image.

121Ortho-MEC-Malt/Orthophotomosaic.tif : recherche et assemble les tuiles du fichier Orthophotomosaic.tif dans le répertoire Ortho-MEC-Malt.

Production

122Orthophotomosaic_Out.tif : l’orthomosaïque réassemblée. Pensez à renommer le fichier Orthophotomosaic.tfw en Orthophotomosaic_Out.tfw pour exploiter les coordonnées de l’image.

Précédent Suivant

Le texte seul est utilisable sous licence Licence OpenEdition Books. Les autres éléments (illustrations, fichiers annexes importés) sont « Tous droits réservés », sauf mention contraire.