Archives de catégorie Trucs et Astuces

ContextCapture – Exporter et importer les propriétés optiques de la caméra

Étapes à suivre

Exporter les propriétés optiques

Vous pouvez les exporter sous forme de fichier * .opt en cliquant avec le bouton droit de la souris sur votre photogroupe aéro-triangulé.

Importer les propriétés optiques

Vous avez effectué un étalonnage de la caméra et vous connaissez avec précision la distorsion de votre caméra

Paramètres

Vous pouvez les importer sous forme de fichier * .opt en cliquant avec le bouton droit sur votre photogroupe, avant de soumettre l’AT

Puis, dans les paramètres AT, réglez le paramètre par défaut sur “Conserver” dans les règles d’estimation de distorsion.

ContextCapture – Différence entre points de liaison et points de contrôle

Question:

Quelle est la différence entre les points de liaison et les points de contrôle?

Réponse:

Un point de liaison correspond aux pixels de deux ou plusieurs photographies différentes, ces pixels représentant la projection du même point physique dans la scène. ContextCapture peut générer automatiquement un grand nombre de points de rattachement automatiques au cours du processus d’aérotriangulation. 

Les points de rattachement utilisateur peuvent également être entrés a priori à partir d’une interface dédiée pour aider à l’aérotriangulation.

Les points de contrôle sont des données de positionnement facultatives utilisées lors de l’aérotriangulation du bloc. L’ajout de points de contrôle à un bloc permet de le géoréférencer avec précision et évite les distorsions métriques à longue portée.

Les points de liaison et les points de contrôle peuvent être avantageusement matérialisés sur le terrain sous forme de QR codes. Ces derniers pourront automatiquement être identifiés par ContextCapture et ainsi aider à la mise à l’échelle ou au géoréférencement du modèle.

ContextCapture – Créer un point de contrôle

Question:

Comment faire pour créer point de contrôle ?

Réponse:

  1. Cliquez sur l’onglet “Surveys“. A droite de la photo, deux onglets sont disponibles : 
    1. Survey Points
    2. Constraints
  2. Cliquez “Surveys points” ensuite sur le bouton Add
  3. Sélectionnez le type de Survey Point : Control Point.
  4. Introduisez un nom pour ce point dans le champ “Name:”
  5. Sélectionnez le système de coordonnées utilisé (Coordinate:) s’il y en a un ou sélectionnez Local coordinate system si les points ont été relevés dans un système de coordonnées locale (non géoréférencé).
  6. Introduisez les coordonnées du point soit en rectangulaires ou en polaires en fonction du système de coordonnées sélectionnés.
  7. Cliquez sur le bouton Create.

Repérez ensuite les points sur les photos – Sélectionnez la photo sur laquelle vous souhaitez ajouter une mesure, recherchez la position du point de contrôle sur la photo et utilisez les touches Maj + Clic pour définir la position de mesure de l’image ou déplacer y le curseur jaune (en le sélection avec le bouton gauche de la souris et en le déplaçant tout en maintenant le bouton enfoncé).

Lorsque le point est correctement repéré, cliquez sur le bouton Accept position. Lorsque ceci est fait, le bouton Accept position se grise, le curseur apparaît en vert et le nom du fichier photo apparaît associées au point.

ContextCapture – Combiner des points topo avec des photos

Question:

Pouvez-vous combiner le maillage photo avec une étude topographique pour créer un maillage plus précis ?

Réponse:

Oui – Il est recommandé de placer des cibles visibles sur les photos. Vous pouvez ensuite relever ces cibles en tant que points topo ou de stations. Pour relier les points ainsi mesurés et les photographies, créez des points de contrôle sur les photographies à l’aide des cibles pour y repositionner les points topo.

Technique alternative

Une autre technique est d’utiliser des cibles QR code positionnées et photographiées sur le terrain. Ces cibles QR code seront également relevées tachéomètre/théodolite ou via une canne GNSS.

Lors du calcul, une première étape consistera à importer sous forme de points de contrôles (Control Points) les numéros et coordonnées de chaque point (via un fichier par exemple).

Lors de la phase d’aérotriangulation, on demandera à ce que les QR codes soient détectés. Ils seront mis en corrélation avec les points de contrôles précédemment introduits.

Le calage du modèle sur les points de contrôles se fera alors de manière automatique et votre modèle sera géoréférencé.

Attention cependant à bien veiller à spécifier le bon système de coordonnées.

ContextCapture – Ajouter des photos supplémentaires

Question:

Des photos supplémentaires peuvent-elles être ajoutées ultérieurement pour mettre à jour des données déjà traitées ou l’ensemble des données doit-il être retraité ?

Réponse:

Bien que de nouvelles photos puissent être ajoutées, nous vous recommandons de les traiter séparément, puis de les fusionner.

Les contraintes de surface dans ContextCapture

Parfois, les utilisateurs peuvent avoir un problème avec la contrainte de surface ContextCapture, ce qui peut être causé par un alignement incorrect des images. Les valeurs d’altitude dans les métadonnées ne sont pas du tout bonnes et cela empêche l’AT de trouver une bonne orientation: la scène sera pliée, donc la contrainte sera déplacée en conséquence.

L’alignement des images peut être analysé lors de l’ajout d’images dans CC, ajouter des images, puis cliquer sur la vue 3D. À partir de là, vous pouvez voir que, dans ce cas, certaines images sont placées à une mauvaise altitude.

Pour résoudre le problème, GCP peut être placé à la main afin de récupérer un bon géoréférencement.


La procédure est la suivante:

  • Créer un bloc> Charger des images
  • Soumettez AT en sélectionnant Vertical vertical comme mode de positionnement> vous obtiendrez une bonne orientation mais la scène n’est pas géoréférencée.
  • Ouvrez Google Earth et assurez-vous que les paramètres suivants de Outils> options sont activés:  Degrés décimaux pour «Afficher lat / long» et Mètres pour «Unités de mesure».
  • Maintenant, choisissez 4 points pertinents, puis notez leurs coordonnées. 
  • Retournez dans CC puis cliquez sur l’ onglet Survey , définissez le SRS sur WGS84 + EMG 96 en tant que géoïde, puis créez le 4 GCP correspondant à ces points (indiquez chacun des GCP en 4 images au moins).
  • Maintenant, soumettez à nouveau l’AT et choisissez le mode de positionnement « Utiliser les points de contrôle pour un enregistrement rigide ».
  • Vous devriez avoir une scène géoréférencée. Vous pouvez maintenant appliquer une contrainte de surface.
  • Depuis Google Earth, tracez un simple polygone autour de la zone correspondante.
  • Une fois créés, ouvrez les propriétés du polygone, cliquez sur l’ onglet Altitude et définissez la valeur de la bonne altitude sur Absolue. Vous pouvez voir cette valeur dans le coin inférieur droit de Google Earth. Ici, l’altitude de l’eau est de 75m.
  • Dans CC, créez une nouvelle reconstruction et importez la contrainte.

ContextCapture – Gain de performances en multi-GPU

Les performances des cartes graphiques dans ContextCapture sont les suivantes:

• 2 GPU: 15% plus rapide que 1 GPU 
• 3 GPU: 20% plus rapide qu’un 1 GPU 
• 4 GPU: 24% plus rapide qu’un 1 GPU

L’utilisateur doit savoir que:

1) L’avantage d’ajouter des cartes graphiques supplémentaires ne double pas les performances avec chacune.

2) L’utilisateur peut tirer davantage parti de l’installation de 2 cartes graphiques sur chaque système, de l’installation de plusieurs ContextCapture Engine et de la mise en cluster (ContextCapture Center).

Les divers modules de ContextCapture

Ceci est une brève description des différents modules qui composent ContextCapture et Context Capture Center.

ContextCapture est composé de 2 modules:

  1. ContextCapture Master
  2. ContextCapture Engine

ContextCapture Master

ContextCapture Master est l’interface utilisateur principale de ContextCapture. Cette interface utilisateur graphique vous permet de:

  • Importer les ensembles de données
  • Définir les paramètres de traitement
  • Soumettre des tâches
  • Surveiller l’avancement des tâches soumises
  • Visualiser les résultats

ContextCapture Master n’effectue pas les tâches de traitement. Au lieu de cela, il sépare les tâches en tâches élémentaires qu’il soumet à une file d’attente. 

L’interface principale de ContextCapture Master gère les différentes étapes du flux de travaux ContextCapture dans un projet. 

Un projet est organisé selon une arborescence. Il contient des éléments de types différents, correspondant à chaque étape du flux de travail:

  • Projet : Un projet gère toutes les données relatives à une scène traitées par ContextCapture. Il contient un ou plusieurs blocs en tant que sous-éléments.
  • Bloc: un bloc gère un ensemble de photos d’entrée et leurs propriétés (propriétés du photogroupe : taille du capteur, distance focale, point principal, distorsion / pose de l’objectif : position, rotation) à partir desquelles une ou plusieurs reconstructions peuvent être créées. Ces reconstructions sont représentées en tant que sous-éléments du bloc dans l’arborescence.
  • Reconstruction : Une reconstruction gère un cadre de reconstruction 3D (système de référence spatiale, région d’intérêt, mosaïque, retouche, paramètres de traitement), sur la base duquel une ou plusieurs productions peuvent être lancées. Ces productions sont représentées comme des sous-éléments de la reconstruction dans l’arborescence.
  • Production : une production gère la génération d’un modèle 3D, avec un retour d’erreur, un suivi de l’avancement et des notifications concernant les mises à jour de la reconstruction sous-jacente (par exemple, une retouche). 

Un projet peut contenir plusieurs éléments correspondant à une même étape du flux de travail, ce qui permet un contrôle de version et / ou une gestion des variantes complexe. Ceci est très utile pour expérimenter sur une même scène avec différentes données d’entrée et différents paramètres de traitement. 

L’interface principale se présente sous la forme d’un explorateur de projet à partir duquel vous pouvez parcourir tous les éléments d’un projet.

Interface principale de ContextCapture Master

ContextCapture Engine

ContextCapture Engine est le module de travail de ContextCapture.   Il fonctionne sur un ordinateur en arrière-plan, sans interaction de l’utilisateur.Lorsqu’il n’est pas occupé, le moteur prend un travail en attente dans la file d’attente, en fonction de sa priorité et de la date de soumission, et l’exécute. Un travail consiste généralement en un processus d’ aérotriangulation ou de reconstruction 3D , utilisant différents algorithmes de calcul intensif (extraction de points-clés, correspondance automatique du point de rattachement, réglage du paquet, correspondance d’image dense, reconstruction 3D robuste, mappage de texture homogène, remplissage d’atlas de texture, niveau de détail génération …).

ContextCapture Engine utilise énormément le calcul à usage général sur les unités de traitement graphique (GPU). Chaque moteur peut exploiter les GPUs installés sur la machine.

Sous ContextCapture Center, plusieurs des licences de ContextCapture Engine peuvent être acquises afin d’être installées sur diverses machines et permettre la parallélisation de certaines tâches au niveau de la préparation de l’aérotriangulation et de la reconstruction.

Fenêtre ContextCapture Engine

Une fois en cours d’exécution, le moteur ContextCapture écoute le répertoire de la file d’attente des tâches configuré dans les paramètres de ContextCapture

Pour fermer le moteur ContextCapture, fermez simplement la console du moteur. Tout travail en cours d’exécution sera replacé dans la file d’attente des travaux avec un statut en attente et sa priorité d’origine. Les travaux en attente resteront dans la file d’attente, en attente d’être traités lors de la prochaine exécution de ContextCapture Engine.

Spécialisation de ContextCapture Engine

Par défaut, ContextCapture Engine traite les tâches d’aérotriangulation et de reconstruction .

Sur un cluster d’ordinateurs, il peut être utile de spécialiser des moteurs pour ne traiter qu’un type de travail spécifique.

Restrictions

Connexion Bureau à distance

ContextCapture Engine ne peut pas fonctionner via une connexion Microsoft Remote Desktop, car l’accélération matérielle est désactivée.

Cependant, vous pouvez utiliser VNC ou un logiciel d’administration à distance tel que TeamViewer

Session Windows

Changer d’utilisateur Windows pendant que ContextCapture Engine est en cours d’exécution entraînera l’échec des calculs en cours, car l’accélération matérielle est désactivée lorsque l’utilisateur n’est pas connecté.

Les paramètres de configuration appropriés de ContextCapture dans le panneau de contrôle NVidia

Quels sont les paramètres GPU optimaux pour la mémoire GPU dédiée et partagée ?

Dans le Panneau de configuration de NVidia, quel programme CC (Master, Engine) doit être utilisé pour configurer les paramètres du processeur graphique?

Comment chaque paramètre doit-il être configuré pour optimiser les performances de ContextCapture?

ContextCapture et le multi-GPU

Comme décrit dans le manuel d’utilisation (p.24), ContextCapture peut tirer parti de plusieurs cartes graphiques. 

L’utilisateur doit savoir que les modes SLI (NVidia) ou Crossfire (AMD) ne doit pas être utilisé avec ContextCapture à la suite de performances lentes et potentiellement d’une défaillance de la production. L’utilisation de Vulkan sera donc à privilégier.