howto:3d:photogrammetrie

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
howto:3d:photogrammetrie [2025/02/28 16:01] – [Matériel nécessaire] adminhowto:3d:photogrammetrie [2025/02/28 17:33] (Version actuelle) – [Utilisation de cibles codées] admin
Ligne 14: Ligne 14:
 Un appareil de prise de vue : appareil photo reflex ou compact ou encore un smartphone. En toute logique c'est le reflex qui permettra d'obtenir un meilleur résultat par la qualité des photos obtenues et les réglages possibles : exposition, balance de blancs, ouverture, sensibilité, temps de pose... Un appareil de prise de vue : appareil photo reflex ou compact ou encore un smartphone. En toute logique c'est le reflex qui permettra d'obtenir un meilleur résultat par la qualité des photos obtenues et les réglages possibles : exposition, balance de blancs, ouverture, sensibilité, temps de pose...
  
-Un ordinateur : la reconstruction est entièrement logicielle, il faut donc pouvoir bénéficier d'un ordinateur avec des capacités de calcul assez élevées en terme de CPU, RAM et GPU.+Un ordinateur : la reconstruction est entièrement logicielle, il faut donc pouvoir bénéficier d'un ordinateur avec des capacités de calcul assez élevées en terme de CPU, RAM et GPU. Aussi la plupart des logiciels de reconstruction 3D s'appuient sur une technique de calcul par processeur graphique propriétaire nommée CUDA qui n'est possible que sur les cartes graphiques de marque NVIDIA.
  
 ====== La prise de vue ====== ====== La prise de vue ======
Ligne 21: Ligne 21:
 Si la mise en œuvre paraît simple au premier abord, le matériel utilisé, la texture de l’objet et  l’éclairage utilisé rentrent en compte dans la qualité du résultat final. Si la mise en œuvre paraît simple au premier abord, le matériel utilisé, la texture de l’objet et  l’éclairage utilisé rentrent en compte dans la qualité du résultat final.
 Quelques conseils : Quelques conseils :
-  * utiliser un reflex permet d’obtenir une image avec un piqué (netteté) plus important et un bruit minimum ce qui permet de faciliter la recherche de points de concordance en  évitant les artefacts.+  * utiliser un reflex permet d’obtenir une image avec un piqué (netteté) plus important et un bruit minimum ce qui permet de faciliter la recherche de points clefs en  évitant les artefacts.
   * utiliser un éclairage uniforme pour éviter les reflets et ombres sur l’objet. L’utilisation d’un flash direct est à proscrire car les ombres d’une photo à l’autre ne seront pas dirigées dans la même direction. La prise de vue en extérieur, avec un temps nuageux permet d’obtenir une lumière bien plus diffuse qu’un soleil estival qui va générer des ombres marquées.   * utiliser un éclairage uniforme pour éviter les reflets et ombres sur l’objet. L’utilisation d’un flash direct est à proscrire car les ombres d’une photo à l’autre ne seront pas dirigées dans la même direction. La prise de vue en extérieur, avec un temps nuageux permet d’obtenir une lumière bien plus diffuse qu’un soleil estival qui va générer des ombres marquées.
   * utiliser un objectif ayant peu de distorsion. Lors du process de recherche des points clefs le logiciel va devoir corriger la distorsion inhérente aux lentilles de l’objectif. Se reculer un peu et  zoomer lorsque c’est possible permet de diminuer cet effet.   * utiliser un objectif ayant peu de distorsion. Lors du process de recherche des points clefs le logiciel va devoir corriger la distorsion inhérente aux lentilles de l’objectif. Se reculer un peu et  zoomer lorsque c’est possible permet de diminuer cet effet.
-  * utiliser la sensibilité ISO la plus basse possible (100) et une ouverture assez faible pour obtenir une grande profondeur de champs. Parfois il faudra donc envisager d'utiliser un trépied pour stabiliser l'appareil.+  * utiliser la sensibilité ISO la plus basse possible (100) et une ouverture assez faible pour obtenir une grande profondeur de champ. Parfois il faudra donc envisager d'utiliser un trépied pour stabiliser l'appareil.
   * régler la balance des blancs manuellement pour éviter un changement de teinte en cours de prise de vue.   * régler la balance des blancs manuellement pour éviter un changement de teinte en cours de prise de vue.
-  * tourner autour de l’objet. Sauf en cas d’utilisation d’une chambre photo spécifique qui élimine tout décor superflu, Meshroom utilise le contexte pour la reconstruction 3D.+  * tourner autour de l’objet. Sauf en cas d’utilisation d’une chambre photo spécifique qui élimine tout décor superflu, le décor est souvent utilisé pour la reconstruction 3D de l'objet.
   * ne pas bouger l’objet.   * ne pas bouger l’objet.
   * éviter de prendre plusieurs photos du même point de vue.   * éviter de prendre plusieurs photos du même point de vue.
  
 +Plus on a de photos de l'objet plus la reconstruction devrait être précise. Néanmoins le temps de calcul sera bien entendu plus long : pour n photos le nombre de paires à comparer est égal à n(n-1)/2. Ainsi pour un lot de 50 photos on obtient 1225 couples à comparer, pour 100 photos on arrive à un total de 4950 couples.
  
 ====== Les difficultés ====== ====== Les difficultés ======
  
 Certains objets seront plus difficiles à reproduire : Certains objets seront plus difficiles à reproduire :
 +  * s'ils n'ont pas beaucoup de relief
   * s'ils ont une texture trop uniforme   * s'ils ont une texture trop uniforme
   * s’ils sont transparents, réfléchissent la lumière, ont des parties brillantes. Dans ce cas l'utilisation d'un spray matifiant temporaire peut s'avérer utile.   * s’ils sont transparents, réfléchissent la lumière, ont des parties brillantes. Dans ce cas l'utilisation d'un spray matifiant temporaire peut s'avérer utile.
Ligne 54: Ligne 55:
  
 ===== Structure From Motion =====  ===== Structure From Motion ===== 
-Ce procédé permet le reconstruction d’un nuage de points 3D tout en déduisant la position et l’orientation de l’appareil photo.+Ce procédé permet la reconstruction d’un nuage de points 3D tout en déduisant la position et l’orientation de l’appareil photo pour de chaque vue.
 {{ :howto:3d:photogrammetrie:screenshot_20250226_160723.png?nolink&600 |}} {{ :howto:3d:photogrammetrie:screenshot_20250226_160723.png?nolink&600 |}}
 ===== Depth Maps Estimation ===== ===== Depth Maps Estimation =====
-Pour chaque prise de vue nous cherchons à obtenir la valeur de profondeur de chaque pixel. Une valeur moyenne est obtenue depuis plusieurs photos par filtrage pour réaliser des cartes de profondeur.+Pour chaque vue le logiciel cherche à obtenir la valeur de profondeur de chaque pixel. Une valeur moyenne est obtenue depuis plusieurs photos par filtrage pour réaliser des cartes de profondeur.
  
 ===== Meshing =====  ===== Meshing ===== 
-Les cartes de profondeurs sont fusionnées et une tétraédralisation permet de créer un maillage de surface qui pourra être simplifié, nettoyé.+Les cartes de profondeurs sont fusionnées et une tétraédralisation permet de créer un maillage de surface qui sera ensuite simplifié, nettoyé.
  
 ===== Texturing ===== ===== Texturing =====
 Par la technique de [[https://fr.wikipedia.org/wiki/Cartographie_UV | cartographie UV]], les photos 2D sont projetées sur le maillage 3D pour créer sa texture. Par la technique de [[https://fr.wikipedia.org/wiki/Cartographie_UV | cartographie UV]], les photos 2D sont projetées sur le maillage 3D pour créer sa texture.
 {{ :howto:3d:photogrammetrie:copie_d_ecran_20250226_174050.png?nolink&400 |}} {{ :howto:3d:photogrammetrie:copie_d_ecran_20250226_174050.png?nolink&400 |}}
-====== Flux de travail avec Meshroom ======+====== Le flux de travail de Meshroom ======
 [[https://alicevision.org/#meshroom|Meshroom]] est un logiciel libre et gratuit de photogrammétrie développé par l’association AliceVision qui regroupe 18 membres issus principalement du monde de la recherche européenne. [[https://alicevision.org/#meshroom|Meshroom]] est un logiciel libre et gratuit de photogrammétrie développé par l’association AliceVision qui regroupe 18 membres issus principalement du monde de la recherche européenne.
  
Ligne 72: Ligne 73:
 {{ :howto:3d:photogrammetrie:screenshot_20250226_160806.png?nolink&1200 |}} {{ :howto:3d:photogrammetrie:screenshot_20250226_160806.png?nolink&1200 |}}
  
-Les paramètres par défaut suffisent souvent à une reconstruction correcte d'une majorité des modèles mais dans certains cas il sera nécessaire de modifier certains nœuds.+Les paramètres par défaut suffisent à une reconstruction correcte pour une majorité des modèles mais dans certains cas il sera nécessaire de modifier les paramètres de certains nœuds.
  
 **FeatureExtraction** **FeatureExtraction**
Ligne 89: Ligne 90:
   * Fill Holes : peut être coché pour forcer le remplissage de trous par une valeur la plus pertinente.   * Fill Holes : peut être coché pour forcer le remplissage de trous par une valeur la plus pertinente.
  
-Le modèle texturé est alors stocké dans un répertoire de travail de Meshroom accessible en faisant un clic droit > Open Folder+Le modèle texturé est alors stocké dans un répertoire de travail de Meshroom accessible en faisant un clic droit sur le nœud > Open Folder
  
 **Ajout de nœuds** **Ajout de nœuds**
  
-D’autres nœuds peuvent être ajouté aux pipeline classique pour étendre les fonctionnalités. Parmi eux le nœud Publish permet d’exporter le modèle texturé dans un répertoire spécifique.+D’autres nœuds peuvent être ajouté au pipeline standard pour ajouter des fonctionnalités. Parmi eux le nœud Publish permet d’exporter le modèle texturé dans le répertoire de son choix.
 Il suffit de lier les sorties Mesh/Material/Textures du nœud Texturing à l’entrée Input Files du nœud Publish puis d’indiquer le chemin du répertoire d’export Output Folder. Il suffit de lier les sorties Mesh/Material/Textures du nœud Texturing à l’entrée Input Files du nœud Publish puis d’indiquer le chemin du répertoire d’export Output Folder.
  
Ligne 99: Ligne 100:
  
 ====== MultiReconstruction ====== ====== MultiReconstruction ======
-Il est possible de réaliser un reconstruction en plusieurs étapes. On lance une première reconstruction à partir d’un lot de photos puis si par cliquer-glisser on rajoute des photos à la galerie, Meshroom propose un champs Augment reconstruction qui automatiquement créera un nouveau groupe d’image et modifiera le pipeline en conséquence comme ici avec 3 lots de photos.+Il est possible de réaliser un reconstruction en plusieurs étapes. On lance une première reconstruction à partir d’un lot de photos puis si par cliquer-glisser on rajoute des photos à la galerie, Meshroom propose un champ Augment reconstruction qui automatiquement créera un nouveau groupe d’images et modifiera le pipeline en conséquence comme ici avec 3 lots de photos.
  
 {{ :howto:3d:photogrammetrie:screenshot_20250228_091452.png?nolink |}} {{ :howto:3d:photogrammetrie:screenshot_20250228_091452.png?nolink |}}
Ligne 107: Ligne 108:
  
 ====== Mode Live Reconstruction ====== ====== Mode Live Reconstruction ======
-Meshroom également propose un mode de reconstruction live un peu sur le même principe. On indique le chemin d’un dossier de stockage de photos qui sera alimenté au fur et à mesure. Par défaut Meshroom lance une reconstruction pour chaque groupe de 4 photos qui arrivent dans le répertoire défini jusqu’à l’opération StructureFromMotion. Il faudra par la suite relier manuellement les sorties SFMData des nœuds StructureFromMotionX à l’entrée SFMData du nœud PrepareDenseScene et lancer le calcul du maillage global et sa texture.+Meshroom propose également un mode de reconstruction live un peu sur le même principe. On indique le chemin d’un dossier de stockage de photos qui sera alimenté au fur et à mesure. Par défaut Meshroom lance une reconstruction pour chaque groupe de 4 photos qui arrivent dans le répertoire défini jusqu’à l’opération StructureFromMotion. Il faudra par la suite relier manuellement les sorties SFMData des nœuds StructureFromMotionX à l’entrée SFMData du nœud PrepareDenseScene et lancer le calcul du maillage global et sa texture.
 Le pipeline peut vite devenir très chargé… Le pipeline peut vite devenir très chargé…
  
Ligne 125: Ligne 126:
 {{ :howto:3d:photogrammetrie:img_2629.jpg?nolink&400 |}} {{ :howto:3d:photogrammetrie:img_2629.jpg?nolink&400 |}}
  
-Meshroom pourra les détecter lors de l'étape FeatureExtraction pour créer un référentiel géométrique précis. Il faudra également ajouter quelques nœuds supplémentaires au pipeline.+Meshroom peut les détecter lors de l'étape FeatureExtraction pour créer un référentiel géométrique précis. Il faudra également ajouter quelques nœuds supplémentaires au pipeline.
  
 Cela permet de générer un modèle 3D [[https://github.com/alicevision/meshroom/wiki/CCTAG-scaling | respectant les dimensions de l'objet original]] ou encore une reconstruction totale d'un objet qui ne peut être faite en une fois. Cela permet de générer un modèle 3D [[https://github.com/alicevision/meshroom/wiki/CCTAG-scaling | respectant les dimensions de l'objet original]] ou encore une reconstruction totale d'un objet qui ne peut être faite en une fois.
  • howto/3d/photogrammetrie.1740754882.txt.gz
  • Dernière modification : 2025/02/28 16:01
  • de admin