For our Craft Council Make:Shift:Do project at the end of October 2017, we want to be able to take pictures of an object and turn the pictures into a file our 3D printer can print the object from.
The following site has been testing all the free options: https://pfalkingham.wordpress.com/2016/09/14/trying-all-the-free-photogrammetry/
Summing up, the best free/open source workflow from the pfalkingham tests appears to be, COLMAP with openMVS if a powerful enough computer with CUDA support is available. If not, MVE can do a reasonable job on a less powerful computer without CUDA support.
“turns out using COLMAP for sparse reconstruction let openMVS create an awesome mesh.” https://pfalkingham.wordpress.com/2017/05/26/photogrammetry-testing-11-visualsfm-openmvs/
COLMAP needs a graphics card with CUDA support. The computer used for testing at the pfalkingham site has the following specification.
- Windows 10 64 bit
- 16gb RAM
- 128 gb SSD for the OS, 1TB HDD for main (programs and data were run from the HDD).
- nVidia GTX 970 GPU. (with 4G ram)
- Intel Core i7-4790K CPU (4 cores/8 threads, up to 4.4Ghz).
“It’s worth noting that on this machine, I ran out of memory while refining the mesh for the sparse cloud so needed to add the “resolution-level 2″ to reduce memory usage.”
Tony is loaning a machine for us to do our own tests on the COLMAP workflow.
At home, I only have an i5 with 12G ram and no CUDA card. I install COLMAP and tried it in ‘No GPU’ mode, it took the cpu up to 97% then crashed.
I have also tested MVE on my i5. MVE will run without CUDA support. I ran the various stages from the command line and the whole process took about 2 hours. Below are the results displayed by meshlab. The results are not as good as those obtained using the online autodesk recap service with the same 50 pictures as input. There are more holes in the model, more manual editing will be required before this can be turned into an stl file for the 3D printer. The Autodesk recap results for comparison are here: https://blackpoolmakerspace.wordpress.com/2017/10/16/cloud-based-photogrammetry-tests/
It is worth noting that the quality of the picture input apparently has a big effect on the output. Not just the quality of the camera itself, but also the technique used with regard to lighting and background. The picture set in use here were taken very quickly by moving around the object with a hand held camera.
Meshlab is at the end of some of the suggested workflows, and I could not face trying to compile it for Linux. Meshlab also provide a ‘universal’ snap package which would not run on Ubuntu 17.10. Ironic really, because Ubuntu are really pushing snaps now, and all the promoted software at the top of the Ubuntu software store are snaps.
The meshlab install on Windows 10 is straightforward.
The following 3 are from the .ply file produced with MVE.
The following 2 are from the .obj file produced by Autodesk recap.
There are a multitude of choices to make in order to achieve our objective. The only web based service I managed to get to work was autodesk recap which is probably ruled out because it is soon to become a subscription only service. The best desktop software options all require a powerful computer which the Makerspace does not have. On the photography side, there are just as many choices regarding lighting, background, type of camera, best technique and so on.
To be continued…..
OpenMVG with openMVS
MVS download for windows: https://github.com/cdcseacave/openMVS_sample/releases/tag/v0.7a
https://github.com/cdcseacave/openMVS/wiki/Usage :Using openMVS
https://github.com/cdcseacave/openMVS/wiki/Building :Building openMVS
https://pfalkingham.wordpress.com/2017/05/26/photogrammetry-testing-11-visualsfm-openmvs/ “So I ran COLMAP and exported the cameras + sparse cloud as a *.nvm file, then did exactly the same with openMVS as described above. ”