Photogrammétrie pour objet décoratif : préparer un scan imprimable

Vous voulez reproduire une statuette, un ornement ou une figurine en passant par des photos plutôt qu'un scanner dédié. Meshroom, logiciel libre de photogrammétrie, documente un pipeline complet des images au maillage texturé. Cette page suit cet ordre documenté, puis décrit les contrôles de géométrie et de taille à faire dans le slicer. Elle ne choisit pas de scanner et ne promet aucune précision de mesure.

La réponse courte

Le pipeline Meshroom documenté reconstruit un modèle 3D depuis des images et le tutoriel lié décrit un OBJ texturé avec fichiers MTL et textures. Ce parcours ne fixe pas de dimension physique et ne prouve pas que le maillage est étanche ou prêt à imprimer. Dans PrusaSlicer, les champs de taille et les outils de mise à l’échelle permettent de définir une taille de travail; une dimension connue peut servir de référence, sans corriger les déformations du scan. La page Prusa sur les modèles corrompus décrit des réparations qui peuvent échouer ou réduire la résolution.

Ce que la photogrammétrie produit réellement

Le pipeline par défaut du manuel Meshroom reconstruit un modèle 3D à partir d’images 2D. Le tutoriel Meshroom pour débutants décrit son propre résultat comme un maillage texturé OBJ accompagné de fichiers MTL et de textures, puis montre une publication sur Sketchfab. Ces documents ne donnent pas de procédure pour mesurer l’objet réel, régler une échelle physique ou vérifier l’étanchéité du maillage. L’OBJ et les éléments associés sont donc des sorties de reconstruction à examiner avant tout autre usage.

L’exemple de cette page se limite à la préparation d’un objet décoratif destiné à être regardé. Pour une pièce qui doit s’emboîter, la forme et les dimensions doivent être vérifiées selon le besoin de l’assemblage; le tutoriel Meshroom ne fournit pas de méthode de métrologie. Le logiciel produit une reconstruction et une texture, mais leur adéquation au projet reste à examiner dans les outils suivants. Cette page associe le flux décrit par Meshroom aux fonctions de manipulation de taille et de réparation documentées par Prusa, sans annoncer de résultat sur un scan précis.

Prise de vue : les consignes du tutoriel Meshroom

Le tutoriel Meshroom est catégorique : la prise de vue est la partie la plus importante et la plus difficile du processus, avec un effet majeur sur la qualité du maillage final. L'objectif principal est d'obtenir des images nettes, sans flou de bougé ni flou de profondeur. Pour cela, le tutoriel conseille un trépied ou une vitesse d'obturation rapide, une ouverture réduite avec un grand nombre f pour élargir la profondeur de champ, et une sensibilité ISO basse pour limiter le bruit.

Il rappelle aussi que la prise de vue est toujours un compromis entre la taille de la scène, les propriétés des matériaux, la qualité des textures, le temps disponible, la quantité et la variation de lumière, et les réglages de l'appareil. Pour un objet décoratif, cela signifie choisir un éclairage stable et un sujet qui ne bouge pas pendant la série. Meshroom lit les métadonnées des images pour configurer la scène et s'appuie sur une base de données de capteurs pour déterminer les paramètres internes de l'appareil. Si les métadonnées manquent ou si l'appareil est inconnu, un avertissement explicite s'affiche ; le calcul continue, mais le résultat peut être dégradé. Photographiez donc avec un appareil qui écrit ses métadonnées quand c'est possible.

Lancer la reconstruction : les nœuds du pipeline par défaut

Selon le manuel Meshroom, le pipeline par défaut enchaîne onze nœuds dans cet ordre : CameraInit, FeatureExtraction, ImageMatching, FeatureMatching, StructureFromMotion, PrepareDenseScene, DepthMap, DepthMapFilter, Meshing, MeshFiltering et Texturing. Le tutoriel résume cette chaîne en deux grandes étapes. La première, Structure-from-Motion, déduit la structure rigide de la scène sous forme de points 3D, ainsi que la pose et la calibration interne de chaque caméra ; son résultat est un nuage de points épars au format Alembic. La seconde, MultiView-Stereo, utilise ces caméras calibrées pour générer une surface dense, puis la texture.

En pratique, vous sauvegardez le projet avec « Fichier, Enregistrer sous », déposez les photos dans la zone Images, puis appuyez sur Start. Tout ce que Meshroom calcule est stocké dans un dossier MeshroomCache à côté du fichier de projet, et le projet reste déplaçable avec ce dossier. Une barre de progression colorée indique l'état de chaque étape : vert pour calculé, orange en cours, bleu soumis, rouge en erreur. Côté matériel, le tutoriel indique qu'un GPU Nvidia est requis pour la génération dense de haute qualité et qu'une mémoire de 32 Go est recommandée pour le maillage, avec des paramètres ajustables si vous n'avez pas cette capacité. Ces chiffres sont les prérequis du tutoriel cité, pas une configuration testée ici; vérifiez ceux de la version que vous installez.

Vérifier le SfM avant de calculer tout le pipeline

Le tutoriel Meshroom recommande de travailler de façon itérative, et la première itération consiste à calculer le seul nœud StructureFromMotion, par clic droit puis Compute. C'est, selon le tutoriel, le meilleur moyen de savoir si la reconstruction a des chances d'aboutir avant de lancer les étapes lourdes. Deux indicateurs sont cités : le nombre de caméras reconstruites, visibles avec une icône verte dans le panneau Images, et l'aspect ou la densité du nuage de points épars. Si le résultat déçoit, le tutoriel propose de passer le « Describer Preset » du nœud FeatureExtraction sur « high », voire « ultra » pour un petit jeu de données, et d'activer « akaze » dans « Describer Type » sur FeatureExtraction, FeatureMatching et StructureFromMotion.

Le tutoriel décrit aussi un maillage brouillon à partir du SfM : on duplique la branche depuis DepthMap, on supprime DepthMap et DepthMapFilter, puis on relie PrepareDenseScene au Meshing et au Texturing. Cette variante contourne l'étape la plus coûteuse en calcul et fonctionne sans GPU Nvidia, mais elle n'atteint pas la qualité du pipeline complet et ne convient qu'aux sujets très texturés. Elle sert d'aperçu rapide avant d'engager le calcul dense, ou pour cadrer la zone reconstruite en jouant sur le paramètre « Min Observations Angle For SfM Space Estimation » afin d'exclure le décor.

Examiner et alléger le maillage avant l'export

Une fois le pipeline terminé, le bouton « Load Model » en bas de la vue 3D charge le maillage texturé. Le tutoriel précise qu'il n'y a pas d'étape d'export : les fichiers sont déjà sur le disque. Un clic droit sur le média Texturing, puis « Open Containing Folder », ouvre le dossier contenant l'OBJ et les textures. Examinez d'abord la forme à l'écran en tournant autour avec la souris : clic et glisser pour orbiter, double clic sur la géométrie pour recentrer la vue, molette pour zoomer. Cherchez les zones manquantes, les éléments de décor reconstruits par erreur et les surfaces bruitées.

Le tutoriel montre comment réduire le nombre de polygones avec un nœud MeshDecimate relié à la sortie de MeshFiltering, avec en exemple un maximum de 100 000 sommets, puis comment retexturer ce maillage allégé avec un second nœud Texturing. Il indique aussi qu'un maillage nettoyé dans un logiciel externe peut être retexturé par Meshroom, à condition de rester dans le même espace 3D, donc sans changer l'échelle ni l'orientation. Pour reproduire la forme en monochrome dans le parcours proposé, examinez la géométrie : une texture de couleur n’est pas automatiquement un relief dans le maillage. Le choix du format de fichier pour le slicer est détaillé dans le guide STL ou 3MF.

Réparer et dimensionner dans le slicer

La base de connaissances Prusa explique que certains modèles peuvent être corrompus et que PrusaSlicer ne répare pas automatiquement tous les défauts. Elle cite un parcours « Fix by the Netfabb » sous Windows 10 et des outils externes, dont la disponibilité actuelle n’a pas été vérifiée ici; elle précise que les solutions varient selon le modèle et que « Make solid » peut réduire la résolution. Pour un scan, commencez par examiner les avertissements et la géométrie, puis vérifiez visuellement toute copie réparée avant de poursuivre : l’absence d’un avertissement ne démontre ni l’étanchéité ni l’imprimabilité.

Vient ensuite la taille. Le tutoriel Meshroom cité ne décrit pas de réglage d’échelle physique. Le panneau de manipulation d'objet de PrusaSlicer permet de saisir position, rotation, facteur d'échelle et taille. Choisissez une étendue connue de l’objet, par exemple sa hauteur hors tout dans une orientation définie, et vérifiez qu’elle correspond bien au champ de taille que vous réglez. Une distance entre deux détails quelconques n’est pas automatiquement cette taille hors tout. Utilisez une mise à l’échelle uniforme pour conserver les proportions et contrôlez les trois dimensions après modification. Si la taille est un choix de décoration, saisissez simplement la hauteur voulue. Prusa précise qu'en coordonnées monde, la taille change quand on tourne l'objet, alors qu'elle reste constante en coordonnées objet. Cette mise à l'échelle ne corrige pas une déformation de reconstruction, et une pièce qui doit s'ajuster relève de la page précision dimensionnelle.

Scan photogrammétrique d'objet décoratif : étape, source documentaire, contrôle à faire

ÉtapeCe que documente la sourceCe que vous vérifiez
Prise de vueTutoriel Meshroom : images nettes, trépied ou obturation rapide, grand nombre f, ISO basAbsence de flou, éclairage stable, métadonnées présentes
Structure-from-MotionTutoriel Meshroom : calculer ce nœud seul en premierNombre de caméras vertes, densité du nuage épars
Pipeline denseTutoriel Meshroom : la génération dense de haute qualité est donnée avec un GPU NVIDIA; une variante brouillon SfM est décrite sans ce GPUGPU Nvidia disponible, barre de progression sans rouge
Examen du maillageTutoriel Meshroom : Load Model, orbite et zoom dans la vue 3DZones manquantes, décor parasite, bruit de surface
DécimationTutoriel Meshroom : nœud MeshDecimate relié à MeshFilteringNombre de sommets raisonnable pour le slicer
RéparationPrusa : réparations dépendantes du modèle; exemple Windows 10/Netfabb et outils cités, disponibilité actuelle à vérifierExaminer la géométrie de la copie réparée et les avertissements; Prusa précise que le résultat dépend du modèle
TailleBase Prusa : champs taille et facteur d'échelle, coordonnées objet ou mondeDimension connue saisie en échelle uniforme, orientation posée avant lecture

Questions fréquentes

Meshroom exporte-t-il un fichier STL ?

Le tutoriel décrit un maillage texturé OBJ accompagné de fichiers MTL et de textures sur le disque, sans étape d’export dans le parcours montré. Il ne mentionne pas de sortie STL intégrée. Vérifiez les formats acceptés par le slicer utilisé avant de choisir un export ou une conversion.

Faut-il un GPU Nvidia pour utiliser Meshroom ?

Selon le tutoriel, un GPU Nvidia est requis pour la génération dense de haute qualité, car les cartes de profondeur demandent CUDA. Le tutoriel décrit une variante de maillage brouillon à partir du SfM qui fonctionne sans GPU Nvidia, avec une qualité inférieure et seulement sur des sujets très texturés.

Comment savoir si mon scan sera à la bonne taille ?

Les documents Meshroom cités n’établissent pas une échelle physique pour le parcours décrit. Dans PrusaSlicer, choisissez une étendue connue qui corresponde réellement au champ Taille, par exemple une hauteur hors tout avec une orientation fixée. Appliquez une mise à l’échelle uniforme puis contrôlez les dimensions. Cette opération ne corrige pas les déformations de reconstruction.

Le dessous de mon scan n'est pas plat, comment le poser sur le plateau ?

Pour le mode FFF, la documentation Prusa décrit un déplacement sous le plateau qui conserve à l’impression la partie située au-dessus; l’intersection apparaît en contour blanc. Cela peut servir à définir une base plane, sans garantir l’adhérence ou l’absence de supports. Drop to bed ramène l’objet sur le plateau. La même documentation indique que le déplacement sous le plateau n’est pas autorisé en mode SLA.

Pourquoi la taille change-t-elle quand je tourne l'objet dans PrusaSlicer ?

Prusa explique que les coordonnées monde sont constantes par rapport au plateau, donc la taille affichée change avec la rotation. Les coordonnées objet restent constantes quelle que soit la rotation. Posez l'orientation d'impression avant de lire ou de saisir une dimension, et vérifiez quel système est actif en mode Avancé ou Expert.

Sources et limites

  • Meshroom manual — Photogrammetry Pipeline, branche develop
  • Meshroom manual — Tutorial: Meshroom for Beginners
  • Corrupted 3D models for printing — Prusa Knowledge Base
  • Object manipulation panel — Prusa Knowledge Base
  • Move, Rotate, Scale tools — Prusa Knowledge Base

Nous organisons la documentation des fabricants et des communautés ; nous n’avons pas mesuré ces produits nous-mêmes. La notice de votre modèle exact prime sur ces explications générales.

Votre prochaine étape