3D reconstruction for multi-angle image input with VisualSFM+CMVS+MeshLab.
There are two key steps in the reconstruction of multi-view stereo vision:
Restoring Structure from Motion (SFM) and Multi-View Stereo (MVS) from Motion Information.
The general steps are as follows:
Feature extraction and matching - > sparse reconstruction - > dense reconstruction - > surface reconstruction.
This repo uses Visual SFM + MeshLab tool to go through the above process.
OS:win10/win8
Software versiopn:ViusalSFM 5.24
CMVS+genOption+PMVS2: http://francemapping.free.fr/Portfolio/Prog3D/CMVS.html
MeshLab 1.3.2 x64 (Note that if the reconstruction scenario is large, 32-bit software will be prompted to use 64-bit version.)
- Open the VisualSFM.exe
- Add the images in ./data/dog
- Feature extraction and feature matching
- Sparse reconstruction and dense reconstruction
- Open the MeshLab.exe
- Open ./data/mydog.nvm.cmvs/00/bundle.rd.out, then the list.txt(this is the sparse reconstruction source)
- Import ./data/optim_dog.ply(this is the 3D object dense reconstruction mesh)
ow, u have your 3D source.
- Show the position of camera by Render->ShowCamera.
- Clear up the clutter.
That is to remove the points that are far apart, the points that are not the targets we want,
and the points that are obviously wrong (e.g. not on the original plane). - Gridding by Filter -> Point Set -> Surface Reconstruction:Poisson.
- Delete redundant parts by Filter-> Slection -> Slect Face With edges longer than...
- Repair Manifold Edge by Filter-> Selction ->Slect non Manifold Edges.
- Parameterization by Filter–> Texture –> Parameterization from registered rasters.
- Texture projection by Filter–> Texture –> Project active rasters color to current mesh, filling thetexture.
- Save the mesh.