Projet – Photogrammétrie

Vous possédez déjà un appareil photo numérique digne de ce nom (sous-entendu avec un minimum de 10Mpx) ?
Vous disposez d’un ordinateur assez puissant ?
Vous êtes patient (car le temps de traitement peut rapidement être très long) ?
Il vous est alors possible de tester la  photogrammétrie en utilisant un logiciel spécialisé. Pour la suite de cet article, j’ai testé pour vous le logiciel PhotoScan de la société Agisoft.  Vous pouvez télécharger une version de démonstration 30 jours depuis leur site.
Sur le papier, le principe est très simple. Il s’agit de prendre un nombre de photos suffisant, couvrant l’ensemble de l’objet à modéliser.

On peut tourner autour d’un objet fixe, mais aussi avoir un point de prise de vue unique et faire tourner l’objet. Tout dépendra de la nature de l’objet.
Les images sont ajoutées dans le logiciel.
Ce dernier effectue un rapprochement dans l’espace des images, sous forme de nuage de points. Il génère ensuite des triangles élémentaires entre points, puis un lissage plus ou moins important afin de créer un volume numérisé de la pièce. En dernier lieu, la texture présente sur les photos est appliquée sur le modèle (ce qui n’est pas forcément utile pour une impression ultérieure).
Dans la réalité , c’est un peu plus compliqué, car il faut que les photos soient prises dans des conditions d’éclairement et de focale soient les plus constantes possibles.

Premier cas : photogrammétrie sur un objet

Pour que la focale soit la plus constante possible, on passe l’appareil en mode manuel.
Pour simplifier le mode opératoire, l’appareil est placé sur un pied. L’objet est placé sur un plateau tournant, qui va permettre une régularité dans les prises de vues.
Pour que les conditions d’éclairement soient idéales, j’ai fais l’acquisition d’une boite à lumière. Je suis alors certain que l’ensemble de l’objet est éclairé de manière constante, sans zones d’ombres (ou très peu).
On trouve ce type de matériel à des prix très raisonnables (de 20 à 100 € selon les modèles et les tailles) .

On arrive finalement à une configuration de ce type :

Le plateau diviseur permet une rotation (manuelle) par pas de 10°.

Pour effectuer la numérisation d’un objet, le minimum sera la prise de 36 photos (1 photo tous les 10°).
Pour améliorer la couverture, la prise pourra être répétée en variant l’angle horizontal, afin de bien couvrir les parties supérieures de l’objet.

Une autre solution consistera à utiliser un plateau motorisé (comme j’ai pu le faire ici), à filmer l’objet sur une rotation complète, et à extraire les images. L’avantage sera ici de pouvoir adapter le nombre de photos selon la complex

La prise des vues

Une pièce prise au hasard : un coquetier en céramique. Deux difficultés à mon avis : un creux important (pour mettre l’oeuf) sans relief visible, et la matière elle-même.
Je commence par une prise de vue rapide.

Chargement des photos dans le logiciel PhotoScan

Rien de particulier. Il y a un bouton pour cela.  No comment.

Traitement des photos et Alignement

Pour améliorer le traitement (et le temps de traitement), il est nécessaire de positionner sur chaque photo un masque, limitant la zone de traitement au seul objet concerné.

Avant Après

Une fois cette opération réalisée sur l’ensemble des photos, on peut procéder à la phase d’alignement. L’objectif est – pour le logiciel – d’identifier le positionnement de chaque photo par rapport aux autres.
Si tout se passe bien, on obtient le résultat suivant :

Chaque image est maintenant positionnée dans l’espace. On voit bien ici qu’il manque une image pour couvrir les 360°.

Création du nuage de points

L’étape suivante consiste à créer un nuage de points, qui va permettre la création de surfaces triangulaires élémentaires. Dans cet exemple, les 35 photos permettent l’identification de 5207 points de liaisons, desquels on va générer un Nuage de 1.680.881 points .

Calcul du maillage tridimensionnel

Une fois le nuage généré, on crée un maillage reliant les différents points.

Construction de la texture

Dernière opération, on applique la texture …

Constatations

  • Le résultat est quand même « bluffant ». On arrive à avoir une reconstitution 3D réaliste.
  • On voit parfaitement que le nombre de photos est ici insuffisant, car il subsiste de nombreuses zones d’ombre (le menton du chat par exemple).
  • Comme prévu, la matière elle-même pose problème dans la partie en creux, qui ne présente pas de réel relief sur les photos (et sans relief, aucune triangulation possible).

Deuxième cas : photogrammétrie sur une personne

Ici, difficile d’envisager faire « tourner » la personne dans une boite à lumière. On va se trouver dans une configuration où c’est l’objectif qui va tourner autour du modèle.
Je vais donc tester une idée : filmer le modèle à l’aide d’un smartphone puis extraire les images une à une et confier le traitement à PhotoScan.

Constatations

Les premiers essais ne sont pas vraiment concluants, pour plusieurs raisons :

  • il est difficile de conserver des conditions d’éclairement constantes lorsque l’on tourne autour d’une personne. J’ai rencontré des zones d’ombre par exemple, qui vont rendre difficiles les traitements par le logiciel,
  • Mon smartphone tente de faire une mise au point la plus nette possible, mais en fonction des éléments qu’il visualise. Contrairement au paramétrage fixe imposé dans le cas du scan d’un petit objet dans la boite à lumière, on se retrouve potentiellement avec des prises de vue de caractéristiques focales différentes,
  • En tournant autour de la personne, on modifie aussi l’environnement entourant l’objet. Le traitement devient complexe dès lors qu’il va falloir définir, image par image, des masques très précis.

J’abandonne pour le moment cette piste, au profil de l’utilisation d’une Kinect et d’un « gros » plateau tournant. Ceci fera l’objet d’un article.

Retour

Translate »