Agisoft Metashape est largement utilisé en photogrammétrie professionnelle pour le traitement de grands ensembles de données et la génération de modèles 3D, d’orthomosaïques, de MNE et de nuages de points denses. Au fur et à mesure que la taille des projets augmente, de nombreux utilisateurs se posent la question suivante : comment fonctionne le traitement en réseau dans Metashape ? Plus précisément, est-ce qu’il exploite vraiment le GPU, le CPU et la RAM de tous les nœuds connectés ?
Qu’est-ce que le traitement en réseau dans Metashape ?
Le traitement en réseau permet aux utilisateurs de distribuer des tâches de calcul sur plusieurs ordinateurs (nœuds) sur le même réseau. Il est disponible dans l’édition professionnelle de Metashape et prend en charge l’automatisation à grande échelle, la collaboration d’équipe et la mise à l’échelle des performances.
Cette fonctionnalité est essentielle pour les utilisateurs qui travaillent avec des centaines ou des milliers d’images à haute résolution ou qui construisent des morceaux multiples et des reconstructions denses. L’utilisation de nœuds de réseau permet de réduire considérablement le temps de traitement, à condition qu’ils soient correctement configurés.
Comment fonctionne le traitement en réseau dans la pratique
L’architecture de traitement du réseau de Metashape se compose des éléments suivants :
- Serveur : Gère la distribution des tâches et l’octroi des licences
- Client : Interface GUI à partir de laquelle les travaux sont lancés
- Nœud(s) : Machines de travail qui exécutent des tâches
Chaque nœud exécute un service d’arrière-plan et communique avec le serveur via TCP/IP. Lorsqu’un utilisateur lance une tâche (par exemple, la construction d’un nuage dense), celle-ci est divisée en unités plus petites, qui sont réparties sur les nœuds disponibles.
Metashape utilise-t-il le GPU de tous les PC en réseau ?
Oui, mais uniquement pour les tâches prises en charge par le GPU. Metashape utilise actuellement des GPU pour des étapes spécifiques telles que :
- Génération de cartes de profondeur
- Génération de nuages denses (basée sur la profondeur)
- Construction de maillages (à partir de cartes de profondeur)
Si vos nœuds de réseau disposent de GPU compatibles (CUDA/OpenCL), ils seront utilisés pour ces tâches. Cependant, pendant l’alignement des photos ou la génération d’orthomosaïques (tâches liées au CPU), les GPU peuvent rester inactifs.
Important : Metashape n’utilise que des GPU dédiés. Les graphiques intégrés (par exemple Intel UHD) ne sont pas pris en charge pour l’accélération et peuvent causer de l’instabilité s’ils ne sont pas désactivés.
Metashape utilise-t-il la puissance du processeur de tous les nœuds ?
Oui. Les threads de l’unité centrale de tous les nœuds participants sont utilisés pendant la durée du projet :
- Correspondance des photos
- Alignement de la caméra
- Génération de MNE et d’orthomosaïques
- Création de textures et d’UV
- Exportation et conversion de fichiers
Chaque tâche est divisée en morceaux ou en tuiles et distribuée aux nœuds de travail qui utilisent leurs processeurs pour traiter leur part de la charge de travail. Les performances augmentent de façon linéaire avec le nombre de threads, jusqu’à un certain point. L’équilibrage optimal de la charge dépend de la taille des données et de la largeur de bande du réseau.
Metashape utilise-t-il la mémoire vive de toutes les machines ?
Oui, en partie. Chaque nœud utilise sa propre mémoire vive pour traiter les tâches qu’il reçoit. Cependant, il n’y a pas de mémoire commune. Cela signifie que
- La mémoire vive est utilisée localement par nœud
- Si un nœud ne dispose pas de suffisamment de mémoire vive pour une tâche donnée, il peut se bloquer ou se décharger sur une mémoire virtuelle lente.
Recommandation : Équipez chaque nœud d’au moins 32 Go de RAM, et de 64 Go ou plus pour les projets de grande envergure impliquant plus de 500 images à 20 MP ou plus.
Comment configurer le traitement en réseau
- Installez Metashape sur toutes les machines (même version)
- Exécutez Metashape Network Server sur une seule machine
- Sur chaque nœud, exécutez Metashape Network Node
- Lancez Metashape Client sur votre PC principal
- Créez et soumettez des travaux via l’onglet Traitement en réseau
Conseils pour optimiser le traitement du réseau
- Assurez-vous que tous les nœuds sont connectés à un réseau local Gigabit câblé.
- Utilisez le stockage SSD pour éviter les goulets d’étranglement des E/S
- Désactiver les GPU intégrés dans les préférences de Metashape
- Utilisez des versions de logiciels identiques sur toutes les machines
- Contrôlez les performances du nœud à l’aide du gestionnaire de tâches ou de htop
Les licences affectent-elles les nœuds du réseau ?
Oui. Le traitement en réseau dans Metashape Pro nécessite une licence flottante. La licence est acquise auprès du serveur au début du travail et libérée à la fin du travail. Chaque noeud n’a pas besoin d’une licence séparée, mais le nombre d’utilisateurs simultanés est limité par le nombre de licences.
Si vous utilisez Metashape Standard, le traitement en réseau n’est pas disponible.
Quelles sont les tâches qui ne sont pas réparties ?
- Tâches manuelles telles que le masquage, le placement de marqueurs
- Mise en place du projet et importation GCP
- Les interfaces graphiques basées sur des scripts, à moins qu’elles ne soient explicitement configurées pour une exécution sur le réseau.
Pour une automatisation complète, utilisez des scripts Python en mode headless pour soumettre des tâches à distance à la file d’attente du serveur.
Conclusion
Le traitement en réseau d’Agisoft Metashape est une fonction puissante qui distribue la charge de travail sur plusieurs machines, en utilisant efficacement les ressources GPU, CPU et RAM pour diverses tâches. Pour en tirer le meilleur parti, assurez-vous que tous les nœuds sont bien équipés, correctement configurés et connectés via un réseau local à haut débit. Pour les opérations de photogrammétrie à grande échelle, cela peut réduire les temps de traitement de plusieurs jours à quelques heures.