ContextCapture transforme automatiquement des photos en un modèle 3D, cela signifie que la qualité de l’ensemble des données d’entrée a un impact direct sur la qualité du modèle 3D qui sera généré.
Dans cette page vous trouverez des informations utiles sur la manière de réaliser l’acquisition des photos pour obtenir un résultat optimal avec ContextCapture.
Différents types d’appareils photo peuvent être utilisés pour capturer un ensemble de données d’entrée pour ContextCapture, allant du smartphone au plus récent reflex numérique. La qualité des modèles 3D résultant dépendra de la qualité des photos d’entrée et de leur configuration spatiale.
Pour obtenir les meilleurs résultats dans ContextCapture, nous recommandons :
Nous vous conseillons d’éviter :
Vous devez bannir à tout prix :
Pour l’acquisition par vidéo, les formats suivants sont recommandés :
Pour plus d’information, référez-vous au guide de l’utilisateur ContextCapture : Preparing the imagery dataset.
Revenir à la table des matières
Revenir à la table des matières
La capture d’un objet est parmi les cas les plus simples. C’est pourquoi, nous vous recommandons de commencer avec ceci pour votre apprentissage de ContextCapture. Malgré cela, il est nécessaire d’acquérir un peu de connaissances et de pratique pour que le résultat soit satisfaisant. Rappelez-vous que chaque partie que vous voulez reconstruire doit être visible dans au moins 2 photos différentes.
Un moyen facile de répondre à cette exigence consistera à tourner autour de l’objet à petits pas (veillez à avoir un chevauchement de 60% au minimum et une différence d’angle maximum de 15° entre les photos consécutives) – Voir la « Figure 1 ». Généralement, vous souhaiterez obtenir une résolution uniforme. Pour cela, essayer de maintenir l’appareil à la même distance de l’objet pendant toute l’acquisition.
FIGURE 1 : ACQUISITION D’UN OBJET
Si vous souhaitez obtenir plus de détails dans certaines parties du modèle 3D, prenez progressivement des photos de plus en plus près de l’objet. Prenez garde qu’avoir des résolutions de photo qui sont trop différents peut conduire à un échec lors de l’aérotriangulation. C’est pourquoi il est recommandé d’avoir des photos intermédiaires permettant de lier celles qui sont prises à des distances proches et plus éloignées (figure 2).
FIGURE 2 : CAPTURER UN OBJET AVEC DIVERS NIVEAU DE DETAIL
Pour vous assurer d’avoir tous les détails de l’objet, tourner autour de l’objet à différentes hauteurs. Cela permettra d’obtenir les zones les moins visibles (figure 3).
FIGURE 3 : TOURNER AUTOUR D’UN OBJET À DIFFÉRENTES HAUTEURS
Si l’objet a peu de texture, l’aérotriangulation peut échouer en raison d’un nombre insuffisant de points d’intérêt. Pour pallier cet inconvénient, nous vous recommandons de placer l’objet sur une surface très texturée (figure 4) : un journal par exemple.
FIGURE 4 : PLACER L’OBJET SUR UNE SURFACE TEXTURÉE
Capturer un objet avec un fond est parfois délicat, car, en photogrammétrie, le sujet doit rester immobile pendant toute l’acquisition. Si vous faites pivoter l’objet, le fond ne sera pas compatible avec le reste de l’ensemble de données, ce qui se traduira par un échec.
Il existe plusieurs façons de faire face à cette difficulté:
FIGURE 5 : MÉTHODE DU PLATEAU TOURNANT
Revenir à la table des matières
Capturer un visage ou un corps humain ou animal afin de créer un modèle 3D peut être très difficile. En effet, le sujet doit rester parfaitement immobile pendant toute la durée d’acquisition, ce qui est pratiquement impossible à réaliser avec un être vivant.
Ceci est la raison pour laquelle les professionnels utilisent généralement des RIGs (systèmes de caméras rigide). Ces systèmes sont composés de plusieurs caméras synchronisées afin de prendre des photos simultanément. L’acquisition de l’ensemble des photos est alors instantanée, évitant ainsi les mouvements parasites du sujet. La configuration de la caméra doit suivre les mêmes principes que pour la numérisation de l’objet. La grosse différence est que l’augmentation du nombre de photos signifie l’augmentation du nombre de caméras physiques, avec un impact évident sur le coût du système.
RIG – Système de caméras rigide
Si vous ne pouvez pas vous permettre un système de caméras rigide et que vous avez la nécessité de saisir les corps ou des visages avec une seule caméra, il est recommandé de réduire le temps d’acquisition au minimum dans la mesure où les chances de mouvements du sujet augmentent avec le temps. Les cheveux sont aussi très compliqué à modéliser correctement, soyez donc très prudent lors de la prise vue et ne pas oublier de prendre des photos du haut de la tête.
Vous devriez également essayer de réduire la quantité de fond de vos photos et essayer d’obtenir autant que possible le sujet en principal (figure 6). Cela vaut également pour tout type de scène.
FIGURE 6 : EVITER D’AVOIR TROP DE FOND INUTILE
Revenir à la table des matières
Certaines règles doivent être respectées afin d’assurer une bonne acquisition:
FIGURE 7 : PRISES DE VUE D’UNE FAÇADE
Si vous souhaitez reconstruire le bâtiment complet et pas seulement une seule façade, assurez-vous de respecter l’angle maximum de 15 ° entre deux images consécutives en tournant autour du coin (Figure 8). De cette façon, vous aiderez ContextCapture à connecter les différentes faces de l’édifice.
FIGURE 8 : TOURNER AU COIN D’UN BATIMENT
Si le bâtiment ne peut pas être photographié dans toute sa hauteur en raison d’un manque de distance et/ou parce que le bâtiment trop grand, vous devrez reproduire le schéma de la figure 8 à plusieurs hauteurs. Cela nécessite un élévateur, une perche ou un UAS/UAV[1]/drone. Sinon, il suffit de prendre des photos successives de bas en haut, en respectant la règle de recouvrement de 60%. Dans ce cas, il est possible que ContextCapture pourrait manquer d’informations pour reconstruire correctement les parties hautes et le toit.
Lors de l’utilisation d’un drone, nous vous recommandons de tourner autour du bâtiment à différents niveaux pour limiter les zones cachées (Figure 9). Dans ce cas, vous pouvez compléter votre ensemble de données avec des photos aériennes au sol.
Rappelez-vous que les surfaces réfléchissantes, brillantes ou transparentes peuvent être difficiles, voire impossibles à reconstituer.
[1] UAS = Unmanned Aerial Systems – UAV = Unmanned Aircraft Vehicle
FIGURE 9 : TOURNER AUTOUR D’UN BÂTIMENT À DIFFÉRENTES HAUTEURS
Revenir à la table des matières
Reconstruire des intérieurs en utilisant la photogrammétrie est une tâche difficile. La courte distance entre le sujet et les nombreux objets créant des masques augmente considérablement le nombre de photos nécessaires pour reconstituer la scène correctement.
La figure 10 montre le schéma d’acquisition correcte pour capturer des scènes d’intérieur. Pour obtenir la distance maximale par rapport à la scène, tenez-vous debout près du mur et photographié le côté opposé de la pièce. Une erreur commune est de se tenir dans le centre de la pièce et de réaliser des prises de vue panoramiques.
Il sera peut-être nécessaire de réaliser le processus décrit sur la figure 10 à différentes hauteurs. Si du mobilier ou des équipements sont présents dans la pièce, vous aurez besoin de plus de photos (et peut-être sur plus de hauteurs différentes) pour en réaliser une modélisation correcte.
Un autre problème courant provient d’un manque de texture sur les murs. Cela peut conduire à des trous dans le modèle 3D, ou même un échec durant la phase d’aérotriangulation (voir la rubrique « Limitations » ).
L’utilisation d’une lentille Fish-eye peut être utile dans le cas où la distance de la scène (comme les intérieurs) est limité.
FIGURE 10 : PROCESSUS POUR PRISE DE VUE EN INTÉRIEUR
Revenir à la table des matières
L’acquisition de données à l’aide d’outils tels que les UAS, UAV et drones (système aérien sans pilote) peut être utilisé à différentes fins tel que : l’ortho-photographie, la production de DSM, l’inspection, la modélisation de bâtiment unique ou la modélisation de voisinage (la modélisation à l’échelle d’une ville nécessitera des systèmes d’acquisition avec plus d’autonomie).
La configuration d’acquisition varie d’une application à l’autre et celle-ci devra être adaptée pour obtenir les meilleurs résultats dans chacun d’eux.
Lorsque c’est la précision est primordiale, nous recommandons l’utilisation de lentilles de qualité avec une petite distorsion et de préférence le choix d’un appareil photo avec une focale fixe ainsi qu’un capteur de grande taille.
Pour un nombre donné de mégapixels par photo, un appareil photo avec une taille de capteur plus grande produira des photos de meilleure qualité. Ceci étant dit, le choix de l’appareil photo est souvent déterminé par la charge utile maximale du drone.
Revenir à la table des matières
Dans la mesure où les utilisateurs professionnels d’UAS, UAV et drones ont souvent un logiciel de planification de vol dédié (créant automatiquement le meilleur plan de vol pour un appareil, un objectif et une distance au sol donné), il est intéressant de savoir comment calculer la précision à laquelle on peut s’attendre.
Les relevés topographiques incluent toujours la précision des résultats. La formule suivante vous aidera à estimer la précision attendue de la production de ContextCapture.
Etant donné que Ls, f et L sont généralement fixes pour un appareil donné, la seule façon d’améliorer la précision est de diminuer la hauteur de vol. Cela permettra également de conduire à prendre plus de photos pour couvrir la même zone.
P est la précision relative du mesh 3D. La précision absolue de votre modèle n’aura un sens que s’il est géoréférencé.
Dans ContextCapture, votre modèle peut être géo-référencés, soit en utilisant les positions 3D importées des photos (grâce à des balises EXIF ou à l’aide d’un fichier d’importation), ou en ajoutant des points de contrôle (la plupart des systèmes de référence spatiale sont pris en charge).
La précision absolue dépendra alors de la précision relative du mesh 3D ainsi que de la précision des points de contrôle (ou positions 3D sur les photos).
Revenir à la table des matières
La production d’ortho-photos et de DSM ne nécessite pas nécessairement l’acquisition de vues obliques. Des photos « nadiral[1] » avec assez de chevauchement sont suffisantes pour réaliser le traitement (de nombreux systèmes d’acquisition UAS, UAV ou drone ne sont pas en mesure de capturer des images obliques).
Dans de tels cas, il est recommandé de réaliser un chevauchement de 80% dans le sens d’avancement et de 60% de chevauchement transversalement à la ligne de vol pour une acquisition optimale (Figure 11).
[1] Nadiral = contraire de « zénithal »
FIGURE 11 : RECOUVREMENT POUR PRODUCTION D’ORTHO/DSM
Le positionnement de points de contrôle au sol, régulièrement répartis autour de la zone d’intérêt est également recommandé.
FIGURE 12 : EFFET DE COURBURE EN RAISON DES AMBIGUÏTÉS LORS DE L’AUTO-CALIBRATION DE DISTORSION RADIALE
Pour les configurations d’acquisition comprenant des photos en mode « nadiral » seulement, vous pouvez rencontrer un effet de courbe après l’étape d’aérotriangulation (Figure 12). Les acquisitions consistant en ligne droite le long d’un axe unique sur une surface assez plate sont susceptibles d’être critique.
Cet effet de courbure est dû à une configuration critique qui conduit à des ambiguïtés lors du calcul des paramètres de distorsion radiale. Cette « faille » est partagée par tous les logiciels se basant sur la technologie de « structure from motion » (SFM). Pour plus de détail, cela est décrit dans l’article de recherche suivant : Changchang Wu, « Critical Configurations For Radial Distortion Self-Calibration », CVPR 2014.
La meilleure façon de l’éviter, est de réaliser une calibration de votre appareil photo avant le vol.
Dans ContextCapture, il est possible de stocker le calibrage de la caméra dans une « base de données des appareils de l’utilisateur » (cliquez-droit sur le photogroup -> « Add camera model to database » / « Get camera model from database »).
Il est à noter que les paramètres de votre appareil photo sont susceptibles de changer au fil du temps (en particulier pour les appareils non métriques). Par conséquent, il est recommandé de calibrer votre appareil photo aussi souvent que possible, et de préférence, juste avant le vol.
Le cheminement pour la mise en œuvre de cette solution est le suivant :
Vous pouvez maintenant réutiliser ce calibrage dans votre projet: cliquez-droit sur le photogroup -> « Get camera model from database » pour importer votre modèle d’appareil photo ajusté et présenter l’AT. Ne pas oublier d’empêcher le logiciel de recalculer lui-même ces paramètres (figure 13).
FIGURE 13 : AJOUTER UN APPAREIL À LA BASE DE DONNÉES
FIGURE 14 : CONSERVER LES PARAMÈTRES OPTIQUES QUI ONT ÉTÉ IMPORTÉS LORS DE L’AÉROTRIANGULATION
La seconde manière de résoudre ce problème de courbure est d’ajouter des points de vue supplémentaires à votre vol, selon des axes différents ou avec différentes hauteurs de vol. Cette solution n’est cependant pas recommandée.
Revenir à la table des matières
Obtenir des modèles 3D complets avec un UAS, UAV ou un drone peut être assez complexe et nécessite une grande quantité de photos, y compris nadirales et obliques. Dans la mesure où la plupart de ces appareils ne sont pas en mesure de charger plus d’une caméra à la fois, plusieurs vols sont nécessaires avec des orientations différentes de la caméra afin de recueillir tous les points de vue.
Nous vous recommandons de lire avec attention la section : « Aerial multi-camera system dataset acquisition ».
Revenir à la table des matières
Générer des modèles 3D de grande taille, tels que ceux d’une ville, nécessite une acquisition d’une grande quantité de données. Cela nécessite généralement un système multi-caméra qui fournit des photos nadirales et obliques dans des directions différentes : ceci limite le nombre de vols nécessaires pour couvrir l’ensemble de la région.
Ce type de systèmes multi-caméra peut être « fait maison » ou acheté auprès d’une société commercialisant ses propres systèmes d’acquisition : VisionMap, IGI, Microsoft Vexcel, Icaros, intelligence visuelle, TrackAir, etc.
Nous vous recommandons les paramètres suivants :
Si votre scène comprend de hauts immeubles et des rues étroites, vous devez choisir un angle oblique légèrement inférieur (environ 30° par rapport à la verticale). Ceci vous permettra de mieux saisir les rues et le bas des bâtiments, en évitant les trous dans le modèle final.
FIGURE 15 : ACQUISITION DE DONNÉES À MARSEILLE, FRANCE
La distance entre les lignes de vol et la fréquence de prise de vue sera déterminée par la hauteur de vol pour assurer les chevauchements requis entre photos (pour un appareil donné).
Revenir à la table des matières
Pour cet exemple, nous allons considérer un système de caméra UltraCam Osprey de Vexcel.
Nous allons apprendre à calculer les points suivants :
Le dispositif est composé de :
Considérons les valeurs suivantes :
FIGURE 16 : PROJECTION SUR LE SOL D’UNE PHOTO PRISE EN VUE NADIRALE
Revenir à la table des matières
La hauteur de vol dépendra de la précision souhaitée pour le modèle. Pour cet exemple, nous allons considérer une précision utile de 15 cm sur une zone s’étendant sur une ville entière. Le calcul sera basé sur la caméra placée en orientation nadirale. Nous vérifierons avec les caméras obliques plus tard (les fabricants de systèmes multi-caméras construisent généralement leurs systèmes de sorte que la résolution spatiale au sol soit sensiblement la même entre les prises de vue nadirales et obliques).
Tout d’abord, commençons par le calcul de la résolution spatiale au sol nécessaire.
Calculons maintenant la surface au sol à couvrir par les photos pour atteindre cette résolution :
Nous pouvons maintenant calculer la hauteur de vol correspondante (pour les vues nadirales, la hauteur de vol H est équivalente à la distance au sujet) :
(en raison du fait que le rapport entre f et D n’est pas significatif, certaines simplifications sont réalisées dans les formules présentes dans le reste du document).
Revenir à la table des matières
La configuration de la ligne de vol dépend du chevauchement nécessaire. Nous allons utiliser dans cet exemple un chevauchement longitudinal de 80% (CL) et un chevauchement latéral (cl) de 60% pour les photos en mode nadiral (figure 17).
FIGURE 17 : CHEVAUCHEMENTS LONGITUDINAL ET LATÉRAL
La distance entre deux photos consécutives dans la même ligne de vol est déterminée comme ceci :
La distance entre deux lignes de vol est déterminée comme ceci :
Revenir à la table des matières
Résolution spatiale au sol : Nous allons tout d’abord déterminer la distance moyenne de l’échantillon au sol. En raison du grand angle à la verticale, la résolution spatiale au sol peut être très différente d’un côté à l’autre de la photo.
Nous allons considérer les points suivants mis en place : les prises de vue obliques en avant et en arrière sont en orientation paysage (Figure 18).
FIGURE 18 : PRISE DE VUE OBLIQUE VERS L’AVANT EN MODE PAYSAGE
Nous allons tout d’abord calculer la dimension n de la photo projetée sur le sol (Figure 18).
Nous déterminons tout d’abord l’angle a.
FIGURE 19 : GÉOMÉTRIE
Nous pouvons maintenant calculer les dimensions l1, l2, l3 et n :
La résolution spatiale moyenne au sol est :
La résolution spatiale au sol pour la moitié arrière de la photo est donnée par :
La résolution spatiale au sol pour la moitié avant de la photo est donnée par :
Les résultats montrent que la résolution spatiale au sol est assez uniforme pour toutes les caméras du système.
Recouvrement longitudinal : nous pouvons maintenant vérifier le recouvrement longitudinal entre deux photos consécutives prises par la même caméra oblique (avant ou arrière).
Recouvrement latéral : nous pouvons maintenant vérifier le recouvrement latéral de deux lignes de vol différentes entre deux photos prises par la même caméra oblique (avant ou arrière).
Nous devons tout d’abord calculer D et m (Figure 19 et Figure 16) :
Nous pouvons remarquer que le recouvrement latéral est un peu faible. Nous pourrions l’augmenter en réduisant la distance entre les lignes de vol. Quoi qu’il en soit, ContextCapture est capable de trouver des correspondances entre des photos obliques et nadir, réduisant ainsi l’effet de ce petit recouvrement latéral entre des photos obliques.
Le même calcul peut être appliqué pour estimer le chevauchement des autres caméras obliques.
Revenir à la table des matières
Selon le sujet, la précision voulue, le but de la modélisation 3D, et le dispositif d’acquisition, la méthode d’acquisition peut être totalement différente d’un projet à l’autre. Chaque scénario doit être soigneusement étudié avant d’aller sur le terrain et de commencer l’acquisition. Dans le cas contraire, vous aurez probablement des photos importantes qui manqueront et vous vous retrouverez avec des résultats incomplets ou erronés.
Ce document est destiné à vous montrer les bonnes pratiques pour différentes applications, l’utilisation de plusieurs types d’appareils qu’ils soient portables, montés sur des drones ou encore aéroportés.
Rappelez-vous que la photo est à la base de tous les calculs.
Meilleure est la qualité et l’échantillonnage spatial de vos photos, meilleure sera la reconstruction 3D !