38 0 3MB
Calcul des volumes sur PIX4D
Objet de l'article Formateur Metashape, Olivier Mettler, je me suis lancé dans l'utilisation de Pix4Dmapper afin de mettre à l'épreuve son argument marketing de "facilité d'utilisation". J'ai donc mené en parallèle les traitements identiques sur un jeu de données réelles d'une de mes missions, sans connaissance préalable de Pix4Dmapper. Je n'entrerai pas dans les concepts théoriques de la photogrammétrie ni dans les fonctionnalités avancées de ces 2 logiciels.
Présentation Pix4D et Metashape sont des logiciels dédiés aux professionnels de la topographie et de la géomatique. Ils génèrent des nuages de points, des MNE/MNS, des modèles 3D, des orthomosaïques à partir de photos acquises par drone. Il permettent d'analyser le relief, de calculer des aires, des volumes (cubatures de stocks de carrières) ou encore d’inspecter des ouvrages d'art. Les livrables générés peuvent être exportés dans les formats les plus courants (GeoTIFF, DXF…) qui seront exploités par des SIG (QGIS) ou des logiciels de CAO (AutoCAD) tiers. Pix4D est une suite logicielle développée en Suisse : la programmation de vol s'effectue par exemple avec Pix4Dcapture (gratuit). Le logiciel de traitement photogrammétrique à proprement dit est Pix4Dmapper (3,990 € HT la licence perpétuelle). Pix4model se contente de modéliser rapidement des bâtiments et fait appel au cloud Pix4D sur la base d'un forfait mensuel et d'une quantité limitée de photos. Le forum des utilisateurs est très actif tout comme la réactivité du support et des équipes de développement. Agisoft Metashape (2,990 € HT la licence perpétuelle) est la version 1.5 de Photoscan. Développée en Russie, cette nouvelle version est une évolution majeure par rapport à la version 1.4. De nouveaux algorithmes y ont été implémentés : la rapidité de calcul et la précision des résultats ont été significativement augmentés. Le Machine Learning a fait son entrée aussi : la base de données Agisoft des éléments du nuage de points est par exemple
enrichie au fil des traitements réalisés. Metashape est strictement dédié au traitement photogrammétrique. Sans doute dû à sa complexité, les mises à jour sont relativement espacées.
Configuration matérielle Le traitement des données a été réalisé sur une station de travail équipée d'un processeur AMD Ryzen ThreadRipper 12 cœurs, de 128 Go de RAM et de 2 cartes graphiques NVIDIA GeForce RTX 2080 Ventus 8 Go avec Bridge SLI, d'un SSD PCIe et d'un HDD de 4 To.
Zone de captation Il s'agit d'une zone de stockage de gravats de 2,4 ha. Le vol s'est effectué une hauteur moyenne de 52 mètres. 221 clichés représentant 2,2 Go ont été capturés pour une GSD d'un peu moins d'1cm par pixel.
kml de la zone à traiter, image Google Earth de septembre 2017
Les interfaces Il est clair que l'interface de Metashape est bien moins conviviale que celle de Pix4Dmapper. L'on pourrait ainsi établir la même différence entre QGIS (Metashape +++, QGIS étant in SIG) et GlobalMapper (Pix4Dmapper). Ces 2 logiciels, sans remettre en cause la qualité de leurs livrables, ne ciblent pas les mêmes utilisateurs. Interface Metashape :
Interface Pix4Dmapper :
Le post-traitement La grande différence entre Pix4Dmapper et Metashape est que le paramétrage de toutes les étapes du post-traitement se fait AVANT le traitement lui-même sous Pix4Dmapper, bien que cela soit aussi possible sous Metashape en batch processing (une connaissance a priori du projet est nécessaire). Les workflows de base de Pix4Dmapper et de Metashape sont quasi-identiques : alignement, détection des points d'accroche, construction du nuage de points et du modèle 3D (mesh et texture), MNE, orthomosaïque. Seul Pix4D mapper génère en plus directement le MNT. Le modèle 3D texturé (maillage ou mesh) fait l'objet d'un traitement séparé. Alors que Metashape procède par étapes manuelles successives collant au plus près au workflow photogrammétrique standard, Pix4Dmapper se base sur une solution propriétaire : le rayCloud.
Importation des photos et lancement des traitements sous Pix4mapper L'importation des photos, très intuitive, nous permet de visualiser en un clin d'œil les coordonnées des images et le système de coordonnées :
Nous sommes ensuite dirigés vers le type de traitement à effectuer. Nous choisirons l'option 3D Maps en mode standard qui génèrera un nuage dense,
une 3D texturée, un MNS et une orthomosaïque. Cette option est particulièrement réservée à la captation verticale (au nadir) sur carrière ou cadastre. L'option 3D Models est dédiée à la modélisation 3D de bâtiments en vol oblique. L'alignement des clichés est automatiquement reporté sur une image satellite ou une carte. Notez au passage la différence entre la photo de la zone de captation à partir de Google Earth en Septembre 2018 avec la présence de hangars et celle antérieure de Pix4Dmapper :
Le menu Traitement permet d'accéder aux Options de traitement qui sont fondamentales. L'option 1 (Taille d'image originale) correspond à Haute Qualité Metashape. Le logiciel va utiliser les pixels originaux des images sans dégradation ni extrapolation :
Idem les paramètres du nuage de points et du mesh. Notez que la classification du nuage de point (classes sol, végétation, voies de circulation, bâtiments) ainsi que les exports se font automatiquement lors du traitement :
Attardons-nous sur le dernier paramétrage. Il est crucial car il détermine l'allocation des ressources matérielles. Tout comme sous Metashape :
Le traitement une fois lancé, des barres de progression pour chaque étape et pour l'ensemble permettent de suivre son évolution. La progression des traitement s'affiche sur la carte en temps réel, les positions des images adoptant différentes couleurs :
Bien que convivial, c'est à mon avis un gaspillage inutile de ressources, tout comme le flowchart des traitements qui apparaît sous forme de graphique :
Importation des photos et lancement des premiers traitements sous Metashape L'interface est plus austère et les paramétrages nombreux. Toutefois, chaque étape doit être pensée. Les jeux de données produits (nuage dense, mesh, texture, MNE, orthomosaïque) peuvent être placés dans plusieurs "chunks" au sein d'un même projet ce qui permet de faire varier les paramètres et d'établir des comparaisons qualitatives ou des traitements additionnels. On retrouve dans l'interface la liste des photos et leur position, et un onglet Model qui sera l'espace de travail principal. Contrairement à Pix4Dmapper, chaque étape du post-traitement est paramétrée et exécutée au fil de l'eau. Le principal intérêt est le contrôle total sur le processus de traitement.
Il n'y a pas de fond d'image ou de carte car Metashape est tout sauf cosmétique, l'efficacité prime avant tout. Le menu Traitements est la clé de voûte de Metashape car c'est à partir de celui-ci que vous choisirez les traitements à effectuer. Il est ainsi possible de sauter certaines étapes pour une prévisualisation rapide, comme par exemple générer une orthomosaïque à partir du nuage épars plutôt qu'à partir du nuage dense.
L'état d'avancement est sobre mais plus explicite pour autant que l'on connaisse la terminologie de la photogrammétrie :
Console Metashape :
Console Pix4Dmapper :
L'étape d'alignement des photos permet de contrôler leur recouvrement et d'afficher un nuage de points épars :
Il est ainsi possible, en cas de photos non alignées, d'effectuer l'opération manuellement en plaçant des repères communs à la photo non-alignée et à ses photos adjacentes. Le recouvrement se contrôle sous Pix4Dmapper à partir du rayCloud, qui contient de même l'ensemble des items : recouvrement, position des caméras, nuage de points, classes :
Le nuage de points ou nuage dense
Son calcul est intégré à la phase traitement de Pix4Dmapper et dont découlent notamment la classification, l'orthomosaïque, et, semble-t-il, un maillage
simplifié dont l'utilité, à part l'exportation ne m'a pas apparue évidente. Ce concept de couches rend vraiment agréable l'utilisation de Pix4Dmapper, tout y est accessible et sélectionnable d'un coup d'œil : Cependant, alors que ces artefacts sont bien distincts, calculés et affichés séparément sous Metashape, la mise à disposition globale sous Pix4Dmapper consomme énormément de ressources physiques et requiert en plus l'utilisation d'OpenGL. La génération du mesh et l'application de sa texture (carte des UVs) sont traités distinctement sous Metashape et est relativement rapide, de l'ordre d'une quinzaine de minutes. Pix4Dmapper est sur ce point d'une grande lenteur, nous y reviendrons.
Temps de traitement À qualité égale (Qualité Haute), Metashape a généré l'orthomosaïque en 2h30 environ contre 3h20 pour Pix4Dmapper. Il semble que la puissance et la capacité d'utilisation des ressources matérielles des algorithmes jouent en la faveur de Metashape. Une fois le projet réalisé, les opérations subséquentes sont bien plus longues sous Pix4Dmapper dont éléments semblent ne pas disposer d'autant d'informations que ceux de Metashape. J'insiste sur le terme "sembler" car il est impossible de connaître l'architecture de ces 2 logiciels. Si je devais apporter une comparaison, j'associerais plus volontiers Metashape à un Linux (dont une version existe), et Pix4Dmapper à Microsoft Windows où l'on s'attend à tout moment à un BSOD (Blue Screen Of Death, encore présent sur Windows 10 !). La robustesse, la fiabilité et la vitesse d'exécution (meilleure allocation des ressources matérielles) étant des critères s'appliquant à ces 2 comparaisons. Le génération du MNT (15 minutes) et le modèle 3D texturé 3D (1h40) sont des opérations à réaliser sous Pix4Dmapper a posteriori. Ils s'ajoutent aux 3h20 déjà réalisés.
Orthomosaïque Metashape, fichier tif 2.1 Go :
La zone de travail (bounding box), peut s'appliquer à n'importe quelle étape du traitement, seuls les points à l'intérieur de cette box seront traités. Si le fichier est relativement lourd c'est sans doute à cause de la résolution native de l'export. Pour l'établissement de rapports cette résolution peut-être redéfinie et est par défaut de 4096 pixels. Orthomosaïque Pix4Dmapper, fichier tif 1 Go :
Pix4Dmapper se charge de définir une zone de travail par défaut (modifiable) à partir de laquelle le MNS sera généré. Attention ! L'ortho semble être plus pixélisée et donc de moindre résolution que celle de Metashape. Il n'en est rien, il s'agit d'une optimisation de la vitesse d'affichage. Metashape est sur ce point bien plus gourmand en ressources mais permet en contrepartie un travail de précision à toutes les échelles.
Résolutions comparées des orthomosaïques : Pix4mapper avec une GSD de 0.965 cm/px :
Ci-dessous, Metashape avec une GSD quasi-identique de 0.937 cm/px. Difficile d'établir des différences ! Si l'on regarde de plus près la benne, on remarque sur pix4Dmapper des décalages des bords de la benne et un
crénelage des bords sur Metashape. Ces déformations proviennent du fait que la captation n'a pas été croisée, il manque donc des informations de cross-lines.
Comparaison entre MNE, MNT et MNS Il y a souvent confusion entre MNE, MNS et MNT Un MNT (Modèle Numérique de Terrain) est une description par grille (image) du terrain topographique, tandis qu’un MNS (Modèle Numérique de Surface) ou
MNE (Modèle numérique d'Élévation), est une description par grille du terrain topographique, des bâtiments, de la végétation, et des routes. Pix4Dmapper (ci-dessous à gauche) semble avoir effectué automatiquement 3 traitements :
Recadrage en fonction de la Zone de traitement prédéfinie
"épuration des bords de la zone" en retirant les classes qu'il n'a pas jugé pertinentes (retrait de la végétation du le bord supérieur gauche), un pseudo-MNT en quelque sorte.
Génération d'un rayCloud, technologie propriétaire, qui ressemble à un mesh pour les calculs de volumes de stocks par exemple
Metashape (ci-dessous à droite) quant à lui conserve toutes les informations de classification dont la végétation, celle-ci doit être déclassée en amont dans le nuage de points (Ground class). La classification et soit prédéfinie automatiquement grâce au Machine Learning, soit effectuée manuellement, plus long mais plus juste.
MNS Pix4Dmapper à gauche, MNE Metashape à droite. La différence de traitement est visible si l'on effectue un zoom , en effet il apparaît un effet de tuilage sur le généré par Pix4Dmapper à droite par rapport à Metashape à gauche. Tous deux ont produit un MNS/MNE (la grue est visible sur les deux représentations.
Cubatures
Une des différences notoires que j'ai pu constater est que le MNE Metashape peut-être généré à partir du nuage de points ou de l'orthomosaïque sans passer par la case Modèle 3D (mesh). Le temps de traitement est considérable réduit. Pix4Dmapper doit construire son modèle maillé à partir duquel les calculs de volumétrie/surface/distances seront effectués. Les formes délimitant les stocks ou shapes peuvent être exportées et réutilisées dans le cadre d'un suivi de volumétrie dans l'un comme dans l'autre logiciel, Metashape ci-dessous :
Sous Metashape les mesures s'effectuent à partir du pointage manuel de la forme de choisir le plan de référence qui devra rester identique pour les suivis ultérieurs de cubatures (base plane) :
Voici les résultats en fonction des plans de référence :
Pix4Dmapper quant à lui fait appel à son rayCloud pour les calculs de distances, périmètres, surfaces et volumes :
Les paramètres de mesure se font à partir de cette fenêtre :
Très naturellement, l'icône Volumes affiche ensuite les informations de volumétrie que nous allons comparer avec Metashape pour ce même stock. Basons-nous sur les terminologies les plus proches :
Metashape
Pix4mapper
Meilleur Plan
Ajuster au plan
Niveau moyen
Aligner avec l'altitude moyenne
Niveau personnalisé
Altitude personnalisée
Ajuster au plan Aligner avec l'altitude moyenne
Altitude personnalisée [m] : 259.17m Nous constatons que l'ordre de grandeur est respecté. Bien évidemment, les volumes ne peuvent être strictement égaux : la zone sélectionnée est légèrement différente, les blocs de roches adjacents ont-ils été pris en compte ? Il ne faut pas oublier non plus le cumul des erreurs tout au long du post-traitement ainsi que le fait que Pix4Dmapper utilise son rayCloud et Metashape le MNE. Pour information, la différence entre les mesures effectuées in situ avec par le client et Metashape est de l'ordre de +/- 5m3 sur un plan de référence d'altitude 259.17m.
Quelques bémols Pix4Dmapper o Pix4Dmapper offre de nombreuses fonctionnalités mais l'on s'y perd paradoxalement assez rapidement, il n'y a pas la logique froide et cohérente de Metashape. o Impression de freeze à la mode Windows, partiel ou total. o Lenteur et consommation des ressources hardware signification (d'où la possibilité, payante, d'avoir accès au cloud Pix4D). La génération du maillage très gourmand en GPU semble peu optimisé. o Certaines fonctions comme le calcul de volumes ne peuvent pas être lancées depuis un bureau distant excepté, apparemment, depuis TeamViewer ni sans la présence d'OpenGL. o Les drivers des cartes graphiques doivent donc avoir une version OpenGL à jour (supérieure à 3.2), ce que nous pouvons vérifier avec le freeware Glview : http://www.realtech-vr.com. Pourquoi utiliser OpenGL alors qu'il est possible d'exploiter pleinement CUDA comme le fait Metashape ??? Le maillage Pix4D a été réalisé en un peu plus d'1h...
Livrables et exports Pix4Dmapper place automatiquement les livrables (MNS, orthomosaïques…) dans des dossiers aux formats définis avant le traitement. Tous les éléments peuvent être réexportés, notamment le nuage de points ou le modèle 3D qui peuvent être retravaillés respectivement sous CloudCompare (raster) ou MeshLab (vectoriel). A quelques petites différences près, Pix4Mapper et Metashape offrent les mêmes formats d'exportation standards :
Conclusion Les 2 logiciels sont une affaire de préférence personnelle et de compétences en photogrammétrie et en informatique. Pix4Dmapper et plus adapté pour des opérateurs moins enclins à la technique car d'une prise en main très aisée et intuitive au détriment d'un contrôle sur le traitement. La présentation des résultats est plus parlante au client final, souvent plus expert en topographie conventionnelle ou laser (LiDAR) qu'à la photogrammétrie. Metashape quant à lui est beaucoup plus pointu et nécessite de bonnes connaissances de la théorie de la photogrammétrie. Il ne fait pas parti d'une suite logicielle, il est exclusivement dédié à la photogrammétrie. Il propose des fonctionnalités avancées, citons : corrections optiques poussées, reconnaissance automatique de cibles au sol, alignement manuel des photos, utilisation de masques, possibilité de multiplier les chunks et d'y effectuer des traitements et/ou des paramétrages différents. Pour résumer : un contrôle absolu. Metashape permet de traiter des projets conséquents : plusieurs milliers de clichés peuvent être traités simultanément sur plusieurs stations de travail au sein d'un cluster (parallélisation des calculs en multipliant les CPUs). Une version pour conteneurs Docker (avec orchestrateur Swarm) était déjà disponible pour Photoscan 1.4 (initiative non-Agisoft), et est maintenant à l'étude par Agisoft. Une bibliothèque Python native permet la programmation de fonctions complémentaires dont certaines sont disponible sur Github. Enfin, Metashape est capable d'extraire les frames d'une vidéo de captation lorsque le logiciel de planification de vol ne possède pas suffisamment d'options pour la prise de clichés de qualité. Une acquisition vidéo peut-être intéressante pour la captation d'une falaise ou le suivi d'une route sinueuse en FPV.
Pour résumer Pix4Dmapper comme Metashape donnent tous 2 de très bons résultats pour les calculs de stocks et une excellente résolution des orthomosaïques.