It’s been a few years since I’ve done a review of all the software I’ve tried. It’s time to update that, with more free software, and the commercial (paid) software I’ve been trying out.
I was trying to find a way to include a sort-able and filter-able table, but that requires a business plan apparently, and this website doesn’t get anywhere near enough traffic to support that.
So here’s everything I’ve tested so far (I think) with my standard dataset, in image format.
My dataset is deliberately not optimal – lighting isn’t great, and the table surface is reflective. More and better pictures will always produce a model, but I’m also interested in robustness of software to crappy photos.
Timings are to the end of the arrow (not all processes got as far as texturing), and based on running the dataset on my desktop computer (i7-4790k, GTX 970, 16Gb).
“Reconstruction quality” is entirely subjective, based on what I reckon the model looked like, but I invite you to visit the posts listed below and take a look for yourself – in many cases I uploaded the model to sketchfab.
Links to my testing of each software are below, in the order they appear above:
- AliceVision Meshroom (and as of Sept. 2021, Meshroom-CL, for non-Nvidia cards)
- COLMAP (and as of Feb 2021, COLMAP-CL for non-Nvidia cards)
- VisualSFM + MeshRecon
- VisualSFM + PMVS
- Colmap + OpenMVS
- VisualSFM + OpenMVS
- OpenMVG + MVS
- OpenMVG + MVE
- Regard3D + MVE
My Choice: Meshroom
I use Meshroom, almost exclusively. When I find Meshroom struggling with a dataset I’ll use COLMAP, or sometimes Metashape if I’m at work. COLMAP is faster, and with OpenMVS produces stunning results, but it’s just way more fiddly than Meshroom, where I drag photos in, press start, and away it goes.
However, it is worth noting that software that works well on one dataset might struggle with another. Don't be afraid to try a second or third program if your dataset isn't working.
Non-CUDA and mac-compatible software:
Most software requires an Nvidia CUDA compatible GPU, but not everyone has one, and no modern Apple Macs use them. I’ve listed below the software that doesn’t need CUDA, and that works on a mac.
Does not require CUDA GPU:
- Agisoft Metashape
Works on a Mac:
- Agisoft Metashape
- OpenDroneMap [not tested]
- OpenMVG [not tested]
I don’t have access to a mac at the minute, so if you know of other mac-compatible software, let me know. If I’m stuck at my iMac at work (which is running Windows), I’ll just run things through Metashape, or get up and go to a PC with an Nvidia card so I can run Meshroom.
Thanks for the comparison — though I am a bit surprised that Meshroom is such an outlier in speed compared to most of the other programs you’ve listed as “excellent”; is there any particular reason that your choice is still Meshroom?
I’ve been using it myself for now, but looking at the numbers, looks like it might be worth trying OpenDroneMap or COLMAP instead …
Yeah, that outlier is pretty extreme isn’t it? With all these, I’ve mostly gone for default settings, and Meshroom is particularly slow with default settings. That speed can certainly come down with some tweaking (see this Twitter thread: https://twitter.com/gleb_alexandrov/status/1280908898346708993?s=20), but probably not to where COLMAP etc are.
The reason I stick with Meshroom is that it has the best texturing of the lot (better UV mapping), and that it’s as simple to use as opening, dragging images on, and clicking start. Everything else takes that little more effort. Even COLMAP, where I need to have a database file, an images folder, a workspace folder for stereo/fusion etc. And then that doesn’t do texturing so then you need a second program… etc. ODM requires spinning up a Docker image, then working through a webpage…
Meshroom combines ease of use, control over parameters, and robustness of reconstruction that it becomes my go-to.
Regard3D works with my 2015 MacBook pro
Ah thanks, I couldn’t remember if the UI worked on a mac. Will add that.
I can confirm that your OpenMVG setup (https://peterfalkingham.com/2018/05/22/photogrammetry-testing-12-revisiting-openmvg-with-openmvs/) works on my Mac (macOS 10.13 High Sierra), with only minor adjustments. Here’s my setup: https://github.com/schuderer/3d_scanning (sorry for plugging my adaption here again — I like to think it might make it easier for someone to get it to work on their Mac).
Thanks for adding the “works on macOS” section! As someone who has spent quite a long time looking for a (free) solution that works on Macs (going down some 10-15 independent dead-ends before finding something that works), this is refreshing.
Meshroom can also work in some cases on MacOS.
(Requires NVIDIA GPU and MacOS prior version 10.14)
One of the problems I found on Linux is that the latest versions of some photogrammetry software is not always made available for earlier versions of the OS. I use the, still supported, Ubuntu 16.04 but it’s often impossible to get pre-built binaries for some software. Building from source is an option but sometimes the number of hoops that have to be jumped through is excessive and/or require a configuration that will break a whole load of other things.
I ended up with openMVG and openMVS as my preferred tools partly because I found them to be pretty good and partly because they can be downloaded and built with no drama.
Is there a specific reason for sticking to 16.04 when 18.04 and 20.04 are LTS and available?
I realise 16.04 is still supported with maintenance updates, but it doesn’t surprise me that people aren’t making pre-built binaries when it’s 3 LTS releases behind/4 years old (and mainline support will end early next year)
Yeah, compiling from source is often a royal pain in the behind even on linux.
Suggestion of FOSS to try: Ames Stereo Pipeline, from NASA.