Meshroom – Open-source photogrammetry software
alicevision.org
alicevision.org
He posted "Thanks for the help, guys!" messages in several Reddit forums. It was weird. "Wait, that's your band?" "Yeah, I'm the singer." "Oh, you sound great keep going!" These guys have sold out rather large venues in the UK. Anyway, this seems to have turned in to an endorsement of the band. Ok, yes it is. But I swear this isn't the singer again.
Because I'm trying to get a photogrammetry pipeline working, and able to produce 50M vertices near-term. 1G long-term. All without deferring to chunking. 10fps on the serial parts is a medium goal for throughout.
I photographed it on my iPhone 8+ and used Meshroom to generate the mesh. The turntable animation was done in Blender.
I tried all sorts of free photogrammetry softwares way back but after I tried Metashape I decided to buy a license. With 32 GB of memory it's great. I'm taking photogrammetry models as a hobby - here's a recent one made with Metashape https://skfb.ly/6S6NR
How good is the spatial resolution? Do you see your gear competing with Lidar pointcloud scanners any time soon?
Agisoft has a relatively simple interface, but there's a lot of complexity underneath if you need to tweak things.
Same rules of thumb apply to both drone and handheld cameras. With a drone you can capture large wider areas, though, which is really cool (a city block... a small mountain... whatever).
The 3d reproduction quality is roughly to what you provide in photos-meaning if you view your model from a similar camera distance relatively as the source image it will look good - or further away.
For a high resolution scan you likely want to have a hierachical set of pictures, First a roundabout of say 32 pics.
Then similar turn around of the details that you want to model clearly like columns, stairs, and whatnot protruding and receding from the house facade.
Prefer a bright overcast day - it's way better than a direct sunlight.
Overall rule of thumb is that when you move, consequent picks should have 80% overlap
I usually notice only after taking the photos that I missed an angle and some details I wanted to see are not there. No prob. Since you took the images on overcast day just go back and take the extra few picks missing.
For full on neurotic mode, Put camera on manual, take RAW images, and keep your aperture, shutter speed and ISO constant throughout the shoot.
Even though you have a drone, you still likely want to take photos of ground details by hand (unless you have a real good camera on the drone - my 12 Mp really is noticeably worse than the 24 Mp - in this case you want all the pixels as you can as that helps with the alignment - just as long as they are NOT mushed by poor JPG compression - like my Mavic does-hence RAW:s).
There are lots of tips in archaeology blogs, I think, as well.
For reference, check out the stuff around open source packages of visualsfm, colmap and meshroom, as well as the relevant online reaources of the software you are using.
Personally I find taking the photos (~1000) is more work than actually waiting the software to complete the processing. Sure, the processing takes longer, but it's not as if you are turning the crank on the PC the whole time :)
With enough drone pics of a building, it's pretty much:
- launch meshroom
- throw pics in there
- press the "run" button
- come back 3/4 hours later
- load hi-rez fully textured model into blender
- bit of cleanup
- render
In particular, in the last step, you can do orthographic renderings that look like architect plans.I highly recommend Meshroom. In particular, unlike many photogrammetry software I used before, my experience has been that there is almost no tweaking required.
The only minor gripe: the models come out a bit "heavy" by default (in some places, too much geometry).
Also anyone interested in the subject check out http://reddit.com/r/photogrammetry and http://reddit.com/r/3dscanning
Binaries are linked here: https://alicevision.org/#meshroom
It's really nice! I read more about the project and it's apparently always been open source. It looks like a high quality project run by some researchers with university and EU backing. I've been trying to reconstruct large outdoor environments for robotics simulation and this might be just what I need!
If you can share info on your project I'd love to see it!
I've been watching people do photogrammetry for a while now, but the results have seemed really bad. When you remove the texture, the underlying model always seems off. This is important for doing object->mesh->modify->3D-print workflows.
This implementation looks a bit better than the rest.
I very much second this, as I hate relying on proprietary software of any sort for stuff that's essential, has a steep learning curve, or that I am going to use on a regular basis (plus other criteria). GPU drivers match the first and last point.
I've been looking for a good way to make a customized face mask using photogrammetry and my 3d printer, so I'm going to give this a shot. The only issue will be scaling the model so that my head is the right size for the modeling process.
(edit: yes it does seem they're looking at this already)
the manual at https://www.agisoft.com/pdf/metashape_1_6_en.pdf lists
Radeon R9 series and later with OpenCL 1.1 support
in addition to the nvidia and cpu options.
From memory, 3DF Zephyr had the best quality, at least in my limited experience. It was also very easy to use to clean up unnecessary points, which is an important step for high quality output.
Meshroom to me feels like a research testbed. It's not a "product" that's ready to consume. The user interface especially is an unmitigated disaster.
For example: What are the little connected boxes at the bottom, and why do I care? If I need to care about what they are, why many of them have text that is cut off or contracted with ellipses? E.g.: "dept...lder".
Next to this is a node property editor where the labels line wrap and can't be resized to fit (despite there being plenty of room). The text next to it aligns to the right, so I see only the random suffixes of the files, not the actual path prefix. It's literally a window showing me a bunch of random numbers I don't care about.
I could go on and on about how unusable it is, but it feels like kicking a puppy.
The real issue is that overall it's quite slow. I suspect because despite requiring a GPU, they're not very efficient with it. The concurrent CPU usage is high, yet progress doesn't seem to go forward very much. I rarely see the GPU utilisation exceed 20% or thereabouts. Other tools breeze through the same data sets in far less time.
I've used Scandy Pro[1] a few times and was surprised by it's resolution and ease-of-use. Only downsides are it's iPhone only and you get 1 free scan/24 hrs.
Now if only they can start to catch up with Reality Capture in terms of speed...