I have previously outlined my goal of testing multiple photogrammetry solutions on a single dataset, and reporting times and results.
I’m using a dataset based on photographs of this Styracosaurus model (I’ve had it since I was quite young):
The dataset has 53 photos in total, and is available from this link. [This will be moved to figshare in due course].
The model is about 12 cm in total length, has texture for the scales, and a reflective brass nameplate on the base. The model was situated on a glass desk, and there may be reflection issues from that.
This time, I’ve used VisualSFM again, followed by PMVS to generate the dense point cloud (a button in VisualSFM’s GUI allows this to happen nice and easily), and then a mesh was generated using the Poisson Surface Reconstruction in Meshlab.
I generated a mesh using the Poisson Surface Reconstruction function, setting Octree depth to 10:
Before I could do that, I had to remove a few extraneous points that would really mess with the Poisson Surface Reconstruction, but this took only 203 seconds to select and delete the points:
Feature Matching: 114 seconds
3D Camera Pose Reconstruction: 10 seconds
Dense point cloud reconstruction: 703.2 seconds (2376394 faces)
Mesh (Poisson Surface Reconstruction, Octree level 10): 95.18 seconds
Texture (4096px, meshlab): 153.355 seconds
Total Time: 1075.56 seconds
You can view and download the final model here:
Summary VisualSFM + PMVS + Meshlab
Clearly this mesh does not compare well with either of the previous models. Note that this is not due to VisualSFM, but rather the dense reconstruction part PMVS/CMVS and meshing (meshlab), as can be seen from the quality of the MeshRecon mesh which used VisualSFM to match cameras.
Note that this was about the largest mesh in terms of number of faces. It also has some texturing issues on the right side of the model.
On the one hand, I like the control; playing with the .ini settings for PMVS may result in a better point cloud (The .ini file for VisualSFM includes options for PMVS, but I left them all at default), and altering the parameters for the Poisson surface reconstruction in meshlab might produce a marginally better model (though ultimately I think that’s the weakest part of this chain). Remember though, that PMVS/CMVS hasn’t really been altered since I used in my 2012 (first submitted 2010) photogrammetry paper.
On the other hand, needing to move between visualSFM and meshlab is a bit of a pain.
So, in summary, a bit slower and a bit lower quality (and a bit more prone to user error) than MeshRecon, and certainly a lot more fiddly to use than Photoscan.