La photogrammétrie est une technique qui consiste à effectuer des mesures dans une scène, en utilisant la parallaxe obtenue entre des images acquises selon des points de vue différents. Recopiant la vision stéréoscopique humaine, elle a longtemps exploité celle-ci pour reconstituer le relief de la scène à partir de cette différence de points de vue. Actuellement, elle exploite de plus en plus les calculs de corrélation entre des images désormais numériques. Cette technique repose entièrement sur une modélisation rigoureuse de la géométrie des images et de leur acquisition afin de reconstituer une copie 3D exacte de la réalité.

Source : http://fr.wikipedia.org/wiki/Photogramm%C3%A9trie

 

Test avec VisualSFM, MeshLab, Blender.

 

Des photographies d'un pot de cactus, le but étant de faire le tour de l'objet en question, en gardant une lumière assez constante, une bonne netteté (penser à fermer le diaph), et à une distance et une profondeur de champ plus ou moins constante à l'objet :

Capture_du_2015-07-28_15_38_14.png

 

Après importation des photos dans ViualSFM, et suite à la reconstruction 3d, on obtient un nuage de points repérés, ainsi que l'emplacement des prises de vues :

Capture_du_2015-07-28_15_21_15.png

 

La suite avec Meshlab, qui va nous pemettre :
a) de générer une surface facetée (à partir des points) et
b) de générer la texture finale sous la forme d'une seule grande image à appliquer à notre surface


L'import dans Meshlab du modèle exporté depuis VisualSFM (.ply généré grace à CMVS) :

Capture_du_2015-07-28_15_12_37.png

 

La génération de la surface grace à l'algorythme "poisson"

Capture_du_2015-07-28_15_12_03.png

La surface maillée (facetée) finale obtenue avec Meshlab, il faudra exporter cette surface en .obj pour l'ouvrir facilement avec Blender (pensez aussi à exporter la texture) :

Capture_du_2015-07-28_15_12_43.png

L'import dans Blender de la surface, et application de la texture :

Capture_du_2015-07-28_15_27_02.png

Chaine de rendu (en résumé) :

 

VISUALSFM
- importer les images
- file > detect features
- bouton > compute missing matches
- bouton > CMVS

 

MESHLAB
- importer depuis le dossier CMVS exporté précédemment le fichier ***.out (pour avoir tout le projet, dont font partie toutes les images)
- supprimer le mesh, le remplacer par celui haute densité
- filter > clening and repairing > remove faces from non manifold edges
- parametrisation + texturing from registred rasters (cela donne une image de texture, composée de toutes les images précédemment ouvertes)
- filter > point set > surface reconstruction : poisson
- sauver le projet, exporter les meshs en .obj parce que cela sera facile pour blender de les importer

 

BLENDER
- importer le mesh .obj
- assigner comme texture notre image de texture
- passer en 'edit mode'
- splitter les vues, avoir une vue UV/Image editor, récupérer notre image de texture
 


Un OS Linux centré sur SFM :
http://nuxsfm.sourceforge.net/wiki/index.php/Main_Page

 

Multi View Environement :
http://www.gris.informatik.tu-darmstadt.de/projects/multiview-environment/

tutorial sur la génération d'objets 3d à partir d'une série de photographies :
http://combiencaporte.blogspot.fr/2012/07/la-photogrammetrie-visualsfm-et-meshlab.html

pas évident à compiler, je m'en suis sorti avec les explications du labomedia :
http://wiki.labomedia.org/index.php/Reconstruction_3D_avec_VisualSFM
et cette page qui rassemble pas mal d'instructions utiles :
http://www.10flow.com/2012/08/15/building-visualsfm-on-ubuntu-12-04-precise-pangolin-desktop-64-bit/
plus un petit package sorti à point nommé :
https://launchpad.net/~richi-paraeasy/+archive/ubuntu/ppa/+packages
et ce lien qui aide bien pour pour compiler CMVS :
https://github.com/pmoulon/CMVS-PMVS

Et aussi ce script qui est pas mal :
https://github.com/anders-dc/vsfm-linux-x86_64

NOTE : M'enfin, dans tous les cas, pour installer/compiler sous debian, va falloir régler quelques $PATHS...

 

 

Queques liens divers :
CloudCompare, a 3D point cloud and mesh processing software, Open Source Project :
http://www.danielgm.net/cc/

 

http://wedidstuff.heavyimage.com/index.php/2013/07/12/open-source-photogrammetry-workflow/
http://makezine.com/2013/08/21/diy-photogrammetry-open-source-alternatives-to-123d-catch/