Not long ago, photogrammetry — the process of stitching multiple photographs taken from different angles into a 3D whole — was hard stuff. Nowadays, it’s easy. [Mikolas Zuza] over at Prusa Printers, has a guide showing off cutting edge open-source software that’s not only more powerful, but also easier to use. They’ve also produced a video, which we’ve embedded below.
Basically, this is a guide to using Meshroom, which is based on the AliceVision photogrammetry framework. AliceVision is a research platform, so it’s got tremendous capability but doesn’t necessarily focus on the user experience. Enter Meshroom, which makes that power accessible.
Meshroom does all sorts of cool tricks, like showing you how the 3D reconstruction looks as you add more images to the dataset, so that you’ll know where to take the next photo to fill in incomplete patches. It can also reconstruct from video, say if you just walked around the object with a camera running.
The final render is computationally intensive, but AliceVision makes good use of a CUDA on Nvidia graphics cards, so you can cut your overnight renders down to a few hours if you’ve got the right hardware. But even if you have to wait for the results, they’re truly impressive. And best of all, you can get started building up your 3D model library using nothing more than that phone in your pocket.
If you want to know how to use the models that come out of photogrammetry, check out [Eric Strebel]’s video. And if all of this high-tech software foolery is too much for you, try a milk-based 3D scanner.
Open source…. Needs CUDA to work.
Well that’s just tremendous.
Right? I ran this on my laptop first (knowing it would be slower than death) and that was a fail due to a lack of CUDA. Had to wait till I had access to my desktop with my gtx 1080. Open source with closed source dependencies would be more accurate.
Beyond that though, it works pretty well with good source material.
Alicevision only supports nvidia cuda.. no openCL support
Sounds interesting to generate 3D models of city furnitures or buildings :-) Was what I was looking for, to contribute here to OpenStreetmap https://3dmr.eu
F them for supporting proprietary CUDA garbage and totally F them for only supporting CUDA.
This looks pretty good, but should I wait for you to release your FOSS processor? When did you say that would be ready?
There is already OpenCL, works on everything, not just 3D cards, but normal CPUs as well
Although the F them response is obviously over the top, it’s not unfounded as you can read from other comments here.
CUDA is not a processor by the way in case you did not know and just wanted to chime in with a boring cliche.
I was referring to the software that converts multiple images into a 3D model as a “processor”.
FOSS is nice, but not always the best solution to every problem. I don’t mind using proprietary stuff when the FOSS alternatives suck.
Is there an easy to use FOSS application that will process multiple photographs into a quality 3D model?
There isn’t.
For all the other SfM soft, as always, you pay with little scraps of your life time.
F them for not conducting their research and development in a manner matching to your preferences? Maybe it is a starting point where you could take what they’ve done and branch off it to better achieve the end result you want.
Especially universities which are big Nvidia users. I don’t blame them. First mover advantages are like that. Currently AMD is competitive with Nvidia in compute, it’s just the tools need more work. Another reason for cross-platform isn’t just AMD, because Intel and any future comers may want a slice of the GPGPU pie as well.
Found the AMD user.
Or the Mac user since Apple is being shitty towards NVIDIA, leaving us stuck on AMD.
source code found here: Please post an update once you’ve finished ported it or patching for CPU-only processing.
https://github.com/alicevision/meshroom
In general, we back ported a CPU only pipeline to a pi3B+ (user name contains disk image URL), and note it takes several hours pinning the cores at 100% for only 12 images. Also, the mesh refinement process is not practical without a lot more than 1GB ram. We also have several laser scanning utilities installed too, as they are much faster for smaller objects.
One certainly should look at COLMAP snap with CUDA on Ubuntu 16.04 LTS. It works, but note it is going to eat a lot of RAM during the process. I have done 100+ image data-sets with the utility, and there are some workarounds for lower-end GPUs.
Also, beware many of these 3D scanning algorithms have patented IP, so using it in any kind of commercial capacity is still a bad idea even though the code is opensource. :)
Cheers,
J
U Fing STUNOD!
It’s disappointing that the software can’t be used without GPU acceleration even if one is patient.
It can be https://github.com/alicevision/meshroom/wiki/Draft-Meshing, but the result will not be as good as with GPU
That’s math for you. A Casio is no longer good enough.
This is nice! It will be possible to copy entire sculptures and print them for my kids to play with. Proprietary CUDA is not an issue at all.
Allot of HATERS here!
So what if it needs an NVIDIA card! So what to any other requirements that YOU don’t satisfy with your weak hardware! This is AWESOME stuff and really HUGE news for the 3D scanning community.
Good be on them (the Dev’s) for such great work!
This came just in time. My wife had a small piece she needed duplicated but wasn’t terribly concerned that it was an exact match. Using this plus a bit of cleanup work and I had a replacement piece printed out and she’s happy.
I am also on an AMD system, the problem to me is that we are used too everything working out of the box on PCs with Windows, we don’t expect to be told to buy one brand over another. In an ideal world CUDA and OpenCL would be merged and shared between AMD and nVidia. I won’t be forced to buy a brand name product just to access some software that some company is to lazy to make cross platform. In 2020 AMD are becoming as popular as nVidia. I’m not a fan boy for any brand, when it came to buy an upgrade I studied and researched it all and went for AMD. The only software that doesn’t work on AMD in general is AI and scanning software. ALL my other software takes full advantage of whatever hardware is present.