Que diriez-vous de créer un objet 3D juste en prenant plein de photos d’un objet réel ?
C’est possible ! La photogrammétrie est de retour et c’est plus facile,plus efficace et toujours complètement gratuit!

Vous avez lu notre premier article sur la photogrammétrie, n’est-ce pas ? Voici un petit résumé – Vous prenez des photos d’un objets depuis toutes les directions possibles, le programme de photogrammétrie fait en sorte de détecter les points communs entre les différentes images. Et vous obtenez une sorte de nuage de points, un assemblage de points en 3D qui ressemble à l’objet. Pour avoir un maillage imprimable vous devez trianguler les données. Cela peut être délicat car nous devons éliminer les points qui appartiennent à l’arrière-plan et aux autres objets qui sont sur les lieux. On peut nettoyer un peu le modèle, boucher les trous, le découper et ce sera prêt pour l’impression !

Eh bien, ça semble vraiment bien et efficace, mais en réalité, notre premier tutoriel était assez compliqué. Heureusement pour nous, les choses ont changé et un nouveau joueur a rejoint le cercle de la photogrammétrie : je vous présente Meshroom !

Meshroom/AliceVision

Meshroom est un logiciel de photogrammétrie gratuit, libre de droit, avec une magnifique interface utilisateur. Il utilise la trame sous-jacente d’AliceVision, qui est le résultat d’une coopération entre plusieurs universités et laboratoires (l’Université Technique Tchèque, IMAGINE, INPT, Simula Research Laboratory,  et Quine) et Mikros Image, a une entreprise française de post-production.

Meshroom UI

L’interaction de base est aussi simple que possible. Vous faites glisser des photos dans la fenêtre Meshroom, vous appuyez sur START et vous attendez que le modèle soit terminé Cependant, avec Meshroom vous pouvez aussi  Augmenter la reconstruction. Ce qui signifie que vous pouvez ajouter plus d’images à des solutions à moitié terminées quand vous remarquez (dans la prévisualisation) que certaines zones auraient besoin d’être plus détaillées.

Mieux encore, avec Meshroom vous pouvez utiliserLive Reconstruction ! Dans ce mode, vous pouvez prendre des séries de photos de façon répétée, les charger dans un dossier et elles sont alors traitées automatiquement. Une prévisualisation s’affiche et vous pouvez décider de la partie qui a besoin de plus de détails. Ensuite vous prenez plus de photos et le processus se répète jusqu’à ce que vous ayez capturé le modèle sous tous les angles.

Vous pouvez télécharger la dernière version de Meshroom ici. Il est disponible pour Windows ainsi que pour OSX/Linux (mais vous devez le compiler pour OSX/Linux) Consultez le wiki ou la documentation google doc concernant les instructions d’installation. Il vous faudra un GPU avec CUDA, donc uniquement des cartes NVIDIA 🙁

Mais avant de jouer avec Meshroom, attardons-nous sur quelques étapes importantes que vous devriez respecter lorsque vous prenez des photos pour la photogrammétrie.

Comment prendre des photos pour la photogrammétrie

Appareil photo & réglages

L’appareil photo de votre smartphone est suffisant mais si vous avez un appareil photo numérique c’est encore mieux. Si vous utilisez un appareil photo numérique réglez l’ouverture au moins sur 5-6 de façon à ce que l’intégralité de votre modèle soit net.

Éventuellement photographiez au format RAW si votre appareil le permet. En général les JPEGs conviennent, mais le format de fichier RAW offre de meilleures options pour jouer sur les réglages de l’image – comme la luminosité. Si vous développez des images au format RAW ou si vous éditez des JPGs, assurez-vous de ne pas appliquer d’effets de correction d’objectif ni de filtres similaires.

Comment prendre les photos

Il faudra prendre au moins 30 photos. Pendant nos tests, nous avons souvent pris 50, 100 photos et même davantage pour capturer tous les détails. Cela ne prend pas autant de temps qu’on pourrait le penser. Gardez à l’esprit que certaines images peuvent être supprimées si le programme trouve qu’il n’y a pas assez de similarités avec d’autres photos ou si elles sont floues.

  1. Tournez autour de l’objet souhaité en faisant des cercles. Ne déplacez pas l’objet ni son environnement pendant les photos.
  2. Chevauchement ! Il faut que chaque partie du modèle soit capturée par au moins 2 photos. Dans l’idéal, il faut qu’il y ait 60 à 80% de chevauchement dans les photos réussies.
  3. Évitez les ombres trop marquées, utilisez une lumière diffuse ou prenez l’image en extérieur alors que le ciel est nuageux.
  4. L’objet doit occuper une partie importante de chaque image.
  5. Évitez les objets brillants ou transparents.

statue d’Antonin Dvorak – lien STL

Vous pouvez utiliser le zoom de votre appareil ou même mélanger des photos prises avec des appareils complètement différents, Meshroom est vraiment super à ce niveau. Néanmoins, ne variez pas le zoom inutilement après chaque photo uniquement parce que c’est possible. C’est une bonne chose que d’avoir de nombreuses photos prises avec le même appareil et le même zoom (distance focale), car cela génère les limites nécessaires pour le processus de calibration interne de l’appareil photo – et c’est ce qu’on veut.

Est-ce qu’on peut faire une vidéo à la place ? Oui… mais ne le faites pas. Même s’il est techniquement possible d’utiliser des images tirées d’une vidéo comme données avec Meshroom, la qualité est nettement inférieure par rapport à une image fixe standard. Il va manquer des métadonnées (taille du capteur, objectif) et vous allez importer des centaines de photos. Ce qui veut dire que le traitement prendra une éternité.

Et qu’est-ce qui se passe si vous avez pris les photos devant un fond parfaitement blanc et avez fait tourner l’objet entre les photos ? En quelque sorte… cela fonctionne. Le résultat sera inférieur. Nous aurons des points sur l’objet qui ne représenteront qu’une petite partie de l’image, donc les paramètres de l’appareil photo auront moins de contraintes ce qui donnera des résultats moins précis.

Les meilleurs modèles pour la photogrammétrie ont des surfaces texturées ou irrégulières (ex : statues). Dans le cas d’un objet brillant ou transparent, vous pouvez le couvrir de poudre (farine, talc) pour éviter les reflets. Ou recouvrir la surface brillante de ruban adhésif de peintre.

Reconstruction standard

Il est fort probable que vous utilisiez la reconstruction standard lorsque vous traitez des photos prises à l’extérieur et que vous ne pouvez plus en prendre davantage. Nous partons du principe que vous avez déjà pris toutes les photos nécessaires, que vous êtes de retour à la maison et que vous voulez reconstruire le modèle 3D. La marche à suivre est vraiment simple :

  1. Copiez toutes les photos dans un dossier sur votre disque dur
  2. Faites glisser le dossier (ou les images individuelles) dans la fenêtre Meshroom
  3. Sauvegardez le projet en faisant « File – Save » vers la destination de votre choix (sinon la reconstruction sera stockée dans un dossier temporaire)
  4. Cliquez sur Start ou faitesClic droit sur le node « Structure from motion » (SFM) et cliquez sur « Compute » (calculer)
    • Il est préférable de calculer la SFM car vous aurez une prévisualisation en quelques minutes
  5. Faites-vous un café et patientez – cela peut prendre un moment 🙂
    • Les nodes du bas vont passer au vert l’un après l’autre
    • Vous pouvez cliquez sur Stop à tout moment et relancer la reconstruction plus tard

Dès que le node « Structure from motion » est terminé, vous aurez une prévisualisation (double-cliquez sur le node pour charger la prévisualisation si elle ne se charge pas automatiquement). Toutes les photos utilisées avec succès pendant la reconstruction auront une marque de pointage verte à côté d’elles.

Les photos éliminées auront une marque rouge avec un petit signe « moins »

Si vous constatez qu’un nombre significatif de photos ont été éliminées et que la prévisualisation ne présente que quelques appareils photo, mieux vaut abandonner la reconstruction. Vous devez soit prendre de meilleures photos, soit augmenter la reconstruction avec davantage de photos (comme indiqué dans le chapitre suivant), oujouer sur les réglages.

Une fois que la reconstruction est complètement terminée vous pouvez double-cliquer sur le node « Texturing » pour prévisualiser le maillage finalisé.

Vous pouvez faire un clic droit sur n’importe quel node finalisé et sélectionner « Open folder » (ouvrir le dossier). Ouvrez le dossier « Texturing » ou « MeshFiltering » pour trouver les fichiers de sortie qui se présentent habituellement sous le format Wavefront .obj.

La véritable statue du sphinx et une impression terminée, téléchargez le modèle ici

Même si le fichier de sortie peut être importé directement dans Slic3r PE, vous préfèrerez sans doute nettoyer un peu le modèle avant de l’imprimer.

Vous recherchez des photos de test, pour pouvoir essayer la photogrammétrie sans trop d’efforts ? Les créateurs de 3DF Zephyr, qui est un autre super programme de photogrammétrie, ont mis des photos de test sur leur page web,vous pouvez les trouver ici.

Reconstruction augmentée

Imaginons que vous scannez quelque chose à la maison – un chouette dinosaure en pâte à modeler que votre enfant vient de faire, votre figurine articulée préférée ou votre guitare. Vous avez pris environ 60 photos et la reconstruction se passe bien. Sauf pour une zone, que vous n’avez pas réussi à bien capturer, donc certaines images ont été éliminées et maintenant il manque de nombreux détails sur cette partie du modèle.

Avec Meshroom, vous pouvez simplement prendre plus de photos et les ajouter à la reconstruction existante ! On ne dira jamais assez combien cette fonction est utile. Elle nous a permis de gagner un temps précieux lors de nos tests.

Il est essentiel de ne pas avoir bougé l’objet entre les séries de photos individuelles. Si vous l’avez déplacé, vous ne pouvez plus augmenter la reconstruction.

Lorsque vous devez prendre des photos de façon à compléter une zone mal capturée, nous conseillons de prendre 5 à 10 photos. Et vous pouvez essayer de compléter plusieurs zones en même temps. Les nouvelles photos sont associées à la série de photos originale. Cela veut dire que des photos qui avaient été éliminées auparavant peuvent être exploitées avec succès lorsque vous ajoutez de nouvelles photos.

Lorsque vous ajoutez une série de photos à une reconstruction existante, une nouvelle branche apparait dans l’éditeur graphique. Vous devez simplement lancer le calcul dans le node StructureFromMotion (faites un clic droit dessus et sélectionnez « Compute »), ce qui est en général assez rapide. Dès que le marquage passe au vert, vous pouvez double-cliquer sur le node pour mettre à jour la prévisualisation dans la fenêtre d’affichage 3D.

Une fois que vous pensez avoir assez de photos pour la reconstruction finale, faites un clic droit sur le node le plus en bas à droite (« Texturing ») et cliquez sur « Compute ». Cela peut prendre beaucoup de temps, donc il est vraiment préférable d’ajouter toutes les photos avant de lancer la reconstruction complète sur la branche finale.

Une figurine articulée re-créée grâce à la reconstruction augmentée

 

Reconstruction en direct

La manière la plus amusante d’utiliser la photogrammétrie ! Vous préparez un dossier, qui peut être rattaché à Meshroom. Lorsque vous allez copier des images dans le dossier, elles peuvent être automatiquement traitées et ajoutées à la reconstruction. Continuez à prendre des photos petit à petit et observez l’amélioration du modèle. Au bout d’un moment, vous pouvez finalement laisser Meshroom calculer le modèle texturé complet.

La première série de photos doit comprendre au moins 10 à 20 photos et doit se focaliser sur la forme générale de l’objet. Si vous capturez tout le devant de l’objet puis tout l’arrière, il est probable que vous deviez créer un pont entre ces séries de photos. Vous pouvez le faire en prenant des photos qui font la transition entre l’avant et l’arrière par petits segments.

Réglage

  1. Sélectionnez « View – Live Reconstruction »
  2. Définissez le dossier photo et le nombre minimum d’images qui seront traitées à chaque étape (au moins 4)
  3. Cliquez sur Start dans le panneau « Live Reconstruction »
  4. Commencez à copier les photos dans le dossier photo

Le nombre minimum d’images est paramétré sur 4 par défaut, mais nous vous conseillons de prendre davantage d’images pour chaquz série.  Il y a une petite subtilité à la fin. Pour générer le modèle texturé, vous devez relier le dernier node StructureFromMotion au node PrepareDenseScene .

  1. Faites un clic droit sur le lien entre le premier node StructureFromMotion et le node PrepareDenseScene .
  2. Choisissez « Remove » (supprimer)
  3. Faites glisser un nouvau lien entre la sortie StructureFromMotion la plus en bas vers l’entrée PrepareDenseScene.
  4. Faites un clic droit sur « Texturing » et cliquez sur « Compute »

Borne d’incendie – Live reconstruction

Préparer les modèles pour l’impression – boucher les trous & réparer

Presque tous les maillages générés par scan 3D ou par photogrammétrie ont un fond creux. Heureusement pour nous, nous avons besoin d’une base plate qui pourra facilement être positionnée sur le plateau d’impression de toutes façons, donc un simple plan de coupe avec Meshmixer, Blander, 3D Builder (ou n’importe quel autre programme de votre choix) fera l’affaire.

Par ailleurs, l’échelle du modèle est un peu aléatoire, ne soyez donc pas surpris si le modèle est vraiment petit après l’import. Il s’agit juste de le redimensionner.

Il y a une technique qui se combine particulièrement bien avec la photogrammétrie, il s’agit de la sculpture. Nous allons écrire un article dédié à ce sujet prochainement, mais en attendant vous pouvez consulter les tutoriels qui existentcomme celui-ci

Nous vous conseillons vivement de consulter le wiki consacré à Meshroom. Il y a beaucoup d’informations qui vous permettront d’éviter certaines erreurs et qui indiquent quels paramètres il est intéressant d’ajuster. Et si vous voulez contribuer, c’est encore mieux, faites une demande ou contactez les développeurs par e-mail.

Galerie d’impressions par photogrammétrie

Conclusion

Grâce à Meshroom, la photogrammétrie est maintenant plus accessible que jamais. Les maillages qu’on obtient ne sont pas imprimables immédiatement, mais avec quelques petites retouches, vous pouvez obtenir des résultats stupéfiants que ce soit pour l’impression 3D ou pour l’industrie du jeu/de l’animation. Et tout est open-source ! Donc on peut espérer des mises à jour et même des améliorations spécifiques pour l’impression 3D. Surtout si nous encourageons le développement en tant que communauté, même avec des petites choses – en signalant les erreurs ou en partageant des réglages intéressants.

Alors, êtes-vous prêt à donner une seconde chance à la photogrammétrie ? Qu’attendez-vous ? Allez-y et scannez le monde ! 🙂