La production d’ortho-image avec Photoscan : revue commentée des fonctions de bases

Configuration Ordinateur / soft

Tools/Preferences:

 General :              Sélection de la langue. Les dernières versions de Photoscan ont une interface en Français.

Stereo mode : Anaglyph (par défaut)

Stereo Parallax : 1.0 (par défaut)

OpenCL :              Active CPU cores : nombre de cœurs du CPU activés

OpenCL devices : Cartes graphiques OpenCL détectés par Photoscan. Si présent, activer l’appareil pour optimiser les performances. Dans ce cas il est recommandé de désactiver un cœur du CPU.

Photoscan engendre parfois des temps de calcul énormes. La puissance du processeur (nombre de cœurs) est importante, mais l’augmentation des temps de calcul est essentiellement liée à la mémoire vive disponible. 8 GO est un minimum, 16 GO ou plus souhaitable. Pour diagnostiquer la cause de temps de calcul anormaux, utiliser le moniteur de ressources (dans Accessoires- Outils système)  Le volet mémoire donne une vue graphique. Si toute la barre est verte, il n’y a plus de mémoire disponible, et le temps de calcul s’envole… La colonne Validation donne la quantité de mémoire demandée par le processus.

Processus : L’élaboration d’un modèle texturé se déroule en 4 étapes successives de calculs:

Align photos : l’aéro-triangulation, c’est-à-dire l’orientation et la position relative des caméras.

Build Dense Cloud : construction d’un nuage de points.

Build Mesh : construction du modèle 3d

Build texture : application de la texture sur le modèle 3d

Création d’un document   File / New (Ctrl N) puis Save (Ctrl S). Il est recommandé d’enregistrer le fichier photoscan (.psz) dans le dossier contenant les photos.

Traitement les photos

La « qualité » des images utilisées peut être contrôlée en les sélectionnant dans la fenêtre Photo/ clic droit / Estimate Photo Quality. Photoscan va alors appliquer une valeur comprise entre 0 (flou) et 1 (net). Choisir alors le mode d’affichage « Details » dans le panneau Photo pour voir les résultats.

Bien que cela ne soit pas obligatoire, il est recommandé de traiter les images avant de lancer les calculs. La tâche consiste à masquer les parties inutiles, c’est-à-dire sans lien avec l’objet d’étude : personnage devant l’objet, halos lumineux, masques divers en premier plan, ciel, arrière plan. Cette étape peut être longue et fastidieuse mais permet de diminuer les  temps de calcul et de réduire dans certains cas les parasites sur les modèles 3D.

La sélection des zones se fait manuellement à l’aide des outils de sélection rectangle ou lasso. Pour les zones de ton uni (ciel par exemple) la baguette magique est efficace. Une fois une zone sélectionnée, cliquer sur l’un des 3 onglets ajout, retrait ou inversion selon le résultat souhaité. Le maintien de la touche Ctrl permet une sélection multiple.

Alignement des caméras  Workflow/Align photos                      Étape essentielle pour la suite des calculs

Generic est moins efficace mais plus rapide. Chaque photo est comparée avec la précédente et la suivante. D’après la doc Agisoft, il s’agit d’une première passe en faible résolution, suivie d’une passe pleine résolution, donc à privilégier.

– Des points peuvent être retirés s’ils sont manifestement faux avec les outils de sélection. Éventuellement, voir alors les effets dans le tableau Reference/Error (pix). Edit/Gradual Selection peut être aussi un outil pour éliminer de manière semi-automatique des points.

– Si des caméras sont manifestement mal placées, il est  possible d’annuler leur position : sélectionner la (ou les) photo(s) ; clic droit/Reset Camera Alignment. On peut ensuite tenter un alignement sélectif : choix de la (ou les) photo(s) ; clic droit/Align Selected Cameras.

-Dans l’onglet Photo, pointer une image, bouton de droite/View match. Permet de visualiser les liaisons entre photos et donc d’estimer la qualité de l’appariement (en bleu les liaisons).

– Dans l’onglet Photo, pointer une image, bouton de droite/Look Through, on adopte alors le point de vue de la photo dans l’onglet Model.

Ajustement de la « région active » (Bounding box) autour de l’objet

La région active définit la zone dans laquelle seront traitées les données. Elle est créée automatiquement après le calcul d’alignement, sur la base des orientations des caméras. Elle se modifie avec les outils Resize Region et Rotate Region. Son ajustement est important. Le temps de calcul peut dans certain cas être réduit significativement en cernant au plus près la zone d’intérêt. Les données inutiles – arrière-plan par exemple- ne seront ainsi pas intégrées au calcul. La région active définit par ailleurs le système de coordonnées dans lequel se trouve l’objet. La face cernée de rouge est parallèle au plan XY et constitue la « face arrière »  ou « le sol ». Chaque face de la région active peut être choisie comme plan de projection pour l’orthophotographie.

Les Repères (ou Markers) : Ce sont des point qui permettent de lier des images mais aussi d’orienter et de mettre à l’échelle l’objet.

Pour créer un point : sélectionner outil navigation ; double-clic sur une photo ; sur l’image ouverte, clic droit : Create Marker. Si on utilise de cibles Photoscan, celles-ci peuvent être repérées automatiquement : Photo/Markers/Detect Markers. Chaque point apparait sur l’image et dans le tableau Reference. Là, il peut être renommé si nécessaire. Le point créé peut être déplacé en pointant dessus (il devient rouge lorsqu’il est actif). Pour visualiser dans quelles photos se trouve un certain marker : clic droit sur un numéro dans le tableau / Filter Photos by Marker. Pour annuler le filtre : Photo/Reset Filter. Lorsqu’un Marker a été pointé dans deux images différentes et si le calcul d’alignement a été préalablement fait, des positions sont automatiquement « suggérées » dans les autres images (petite flamme grise). Celles-ci demeurent inactives tant qu’elles n’ont pas été pointées ou ajustées. Un drapeau vert signifie qu’elles sont validées. Remarque, si le pointage est douteux il est préférable de désactiver le point (Unpin marker).

Affecter des coordonnées à des markers, il y a 2 solutions : la première consiste à entrer manuellement  les coordonnées dans le tableau des markers (colonnes x y z),  l’autre nécessite d’importer un fichier de coordonnées (txt). Dans ce cas, il faut que les numéros des markers déjà créés correspondent à ceux du fichier : les renommer convenablement au préalable si nécessaire. Dans Reference/Import (onglets de gauche), sélectionner un fichier txt de points (character-separated values). Après avoir sélectionné correctement les paramètres, vérifier la bonne « interprétation » du fichier dans l’aperçu, en bas de la fenêtre. Remarque : il est possible d’importer le fichier de coordonnées avant la création de Markers : Utiliser alors clic droit / Place Markers. Une fois le système défini, les coordonnées de n’importe quel marker peuvent être connues via un export : Reference/Export.

Résidus (« Correction qu’il faut apporter à une mesure pour avoir la valeur la plus plausible ») : Tout déplacement/ajustement de Markers agit sur les résidus. Les Error(mètre) et Error(pixel) sont visibles dans le tableau Reference/Markers (voir les dernières colonnes). Clic sur Update pour mettre à jour les modifications.

Optimisation : Une fois les l’alignement des photos terminé on peut optimiser les calages avec Reference/Optimize cameras (baguette magique). Il est préférable de ne cocher que les 3 cases de gauche ainsi que (éventuellement) fit aspect. Les effets de l’optimisation peuvent-être contrôlés dans le tableau des markers. Certains paramètres sont aussi modifiables dans reference/Setting.

Calcul du nuage de point  Workflow/Build Dense Cloud    Phase de calcul la plus longue

Depth filtering :                   Choisir Aggressive lorsque la géométrie de la scène est complexe, avec des petits détails ou en présence de surfaces peu texturées.

Une fois le calcul terminé, il est conseillé d’effacer des points faux ou parasites (points à proximités des arêtes par exemples) avec les outils de sélection puis Delete Selection. Voir aussi Crop Selection et Edit/Gradual Selection

Calcul du maillage 3D         Workflow/Build Mesh

Surface type :                       Arbitrary est le mode le plus polyvalent. Height field, assez rapide, est plutôt adapté aux MNT.

Polygone count :                 Nombre de polygones à créer ; 3 définitions sont proposées (High, Medium ou Low), Custom permet d’entrer une valeur.

Disabled empêche de fermer les trous ce qui est préférable si on veut maitriser plus objectivement le modèle 3D.

Le calcul achevé, des faces peuvent éventuellement être effacées avec les outils de sélections. Les « trous » dans le maillage peuvent par ailleurs être « bouchés » avec un outil : Tools/Mesh/Closes Holes. Le nombre de faces composant le modèle peut être réduit dans  Tools/Mesh/Decimate Mesh. Cette opération peut être intéressante dans le cas où on souhaite exporter (au format PDF par exemple) des modèles « légers ».

Calcul de la texture            Workflow/Build Mesh                

Mapping mode:                  Generic (par défaut)

Blending mode:                   Mosaic (par défaut) conseillé. Average fait une moyenne entre les couleurs de toutes les images.

Enable color correction:     Décocher (par défaut). Cocher (plus long) dans le cas de fortes variations radiométriques entre les images.

Avant de lancer le calcul de texture, il peut-être intéressant de désactiver certaines images : Dans onglet Photo, clic gauche sur image puis Disable Camera (icône sens interdit). Cette possibilité d’activer ou non des photos permet le cas échéant de « sélectionner » des photos spécifiquement dédiées à la texturation.

Export d’un ortho-image  File/ Export Orthophoto/ Export JPEG/TIFF/PGN

Projection :                           Type : cocher Planar. Choisir Geographic si le modèle est géoréférençé dans un système.

Projection plane : choix du plan de projection. Current view crée une image selon le point de vue courant ; à utiliser dans le cas d’une orientation manuelle. Sinon, le plan de projection peut être défini par 3 ou 4 markers (les 2 « vecteurs » ainsi définis n’ont pas nécessairement besoins d’être perpendiculaires). Choisir alors l’option Markers dans le menu déroulant puis entrer les numéros des markers définissant l’axe horizontal ou l’axe vertical.

Si le modèle a été correctement orienté par rapport au système de coordonnées (au moyen de la fonction Rotate Object par exemple), il est possible de choisir une projection prédéfinie (Top XY, Front XZ, etc …). Le plan bordé de rouge de la région active correspond au « sol » (Bottom XY).

Image                               Blending mode : mode de texturation. Choisir Mosaic par défaut.

Pixel Size : choix de la dimension en mètre du pixel. Option possible si on a préalablement « mis à l’échelle » le modèle par l’intermédiaires des markers dont on a les coordonnées (inopérant avec l’utilisation de distances entre deux points). Par exemple, pour une valeur de x=y= 0.002, le pixel de l’image produite correspondra à 2 mm. Dans ce cas, si l’image exportée a une largeur de 4520 pixels, celle-ci représente une distance de 9.04 m.

Max.dimension (pix) : dimensions maximales de l’image exportée. Avec la valeur par défaut l’image  aura une largeur de 4096 pixels.

Region                       Permet si nécessaire d’entrer manuellement les limites de la zone à exporter. Dans ce cas, le modèle doit être préalablement géo-référencé.

Taper Export, sélectionner le dossier d’export, entrer le nom du fichier et choisir l’extension (tif, jpg ou png).

9 réflexions au sujet de « La production d’ortho-image avec Photoscan : revue commentée des fonctions de bases »

  1. Bonjour,
    Merci pour ce tutoriel en Français….
    Je suis utilisateur “novice” et n’arrive pas a produire une orthophoto à une échelle donnée (1/50e, 1/20e…etc)ni faire apparaitre l’altitude sous la forme d’un axe…
    Est-ce possible a réaliser?
    Cordialement
    CM

    • Bonjour Christophe,
      Non le logiciel ne permet pas d’exporter une ortho-image à une échelle donnée. En revanche, il est possible de le faire facilement après coup avec un logiciel de DAO et une simple règle de trois.L’export avec une taille de pixel donnée peut aussi être une solution efficace pour affecter une échelle à une ortho-image.

  2. Bonjour,

    j’ai pris connaissance de votre site et vous remercie pour vos conseils et la clarté de vos explications.
    Je m’intéresse de très près à la capture numérique et à la question de l’orthophotographie appliquée à l’architecture, étant spécialisé dans le relevé et enseignant à l’école d’archtiecture de Paris-Belleville. Actuellement, je suis en discussion avec l’équipe du laboratoire de l’IRAA (CNRS) afin de recueillir leur retour d’expérience dans le domaine de l’archéologie.
    J’ai effectué de nombreux tests avec le logiciel Photoscan (Agisoft) a partir de lots de photos et de sujets différents. Afin de comparer les solutions logicielles existantes, j’ai également été amené à utiliser le logiciel ContextCapture (Bentley Systems) anciennement édité sous le nom de Smart3DCapture. J’ai été très surpris par rapidité de calcul de ce dernier et la très grande capacité du logiciel a résoudre un maillage 3D sur des sujets complexes.
    Avez vous expérimenté cet outil? Quel est votre avis sur ce sujet?
    Dans l’attente de vos éléments de réponse,
    Bien cordialement,

    RD

    • Bonjour Raphael,
      Non, je ne connais pas le logiciel ContextCapture ; je ne peux donc pas répondre à vos questions. Par contre, si vous faites des tests sur différents softs n’hésitez pas a partager vos résultats sur le blog !
      Bien cordialement,

  3. Bonjour,
    Pouvz vous m’indiquer comment entrer les coordonnées d’un point sur une photo ? je relève des coordonées sur google earth, mais je n’arrive pas à voir le rapport avec X Y Z

    Merci d’avance

    • Bonjour Jouhannel,
      Par défaut un modèle n’est pas orienté, il faut lui donner des informations pour cela.
      Si vous souhaitez orienter (et mettre à l’échelle) un modèle il faut utiliser des références topographiques que l’on pointe avec des markers. Vous pouvez également déplacer et tourner un modèle manuellement avec l’icon “rotate object” (petite pyramide). L’idéal est de se placer sur une vue du dessus ou de face préalablement. Utiliser les touches 1, 7 ou 3 pour permuter les vues.

  4. Bonjour, savez vous que faire du modèle 3D ? Car un fichier de 900 000 ko je n’arrive pas à y exploiter sur d’autre logiciels(sketchup et AutoCAD) avez vous une solution pour avoir un modèle léger ? Je suis pourtant équiper d’un 3070 rtx 64go ram.. j’arrive rien a en faire ..

    • Bonjour Melvin,
      Effectivement il est possible d’alléger le modèle avec Metashape.
      Dans “outils” il faut utiliser la fonction décimer le maillage (decimate Mesh) et indiquer le nombre de faces souhaitées.

Répondre à Emmanuel Laroze Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *