OpenDroneMap 3.0

We have some important changes coming in OpenDroneMap 3.0. It’s not really substantive changes in what algorithms are available, but lots of tweaks to the available flags equivalent to a breaking change. Hence: 3.0.

Largely, I think these changes are great and necessary and useful, but it is enough change, it would be good to get feedback early:

If you have modest datasets you want me to test on, I can build and test, so post a link, and we can compare. If you can build and test on your own, then by all means!

6 Likes

The section of potholed road with the dropped areas is still there is you want to test that :wink:

https://drive.google.com/drive/folders/1kMPtnsLJ6Wn_O_NquQjlyeVLYjnPIJqv?usp=share_link

2 Likes

Running now, just defaults. If you want particular settings for 1-to-1 comparisons, I can do that too.

Thin structures data most welcome for these tests too.

2 Likes

I was aiming for best resolution from my images, although you may not have the time for that.

auto-boundary: true, dem-resolution: 1, dsm: true, dtm: true, feature-quality: ultra, gps-accuracy: 5, mesh-octree-depth: 13, mesh-size: 500000, min-num-features: 16000, orthophoto-resolution: 0.6, pc-quality: ultra, pc-rectify: true, resize-to: -1, use-3dmesh: true

1 Like

Looks fun - was there any special magic for building a docker image? Its unhappy on my side - can’t find apt repositories if I use the supplied Dockerfile, if I add the sources.list injection from older dockerfiles, I get errors later. Using a pretty naive approach: docker build -t opendronemap/odm3 . in the cloned directory (same worked for odm 2.x)

1 Like

After some test of ORB, Sift and Hahog I wonder why sift is still the default.

As far as I’ve seen now Hahog with flann is way faster than Sift and the resulting pointcloud denser than with Orb. According to Sajin Hahog also is about as good as Sift when it comes to getting a correct camera calibration.

I’m running more test though but it seems Hahog is the best of both worlds.

1 Like

Did you checkout the correct branch?

git clone https://github.com/pierotofy/ODM
cd ODM
git checkout 300

Then build.

1 Like

Thats a separate conversation and not a breaking change to the API, though could be compelling. Maybe start a thread to discuss or open an issue to discuss on the ODM repo.

2 Likes

Hi Adam’s face, meet Adam’s palm! Built, test results on the way - using a skinny tower dataset from a couple of years ago…

2 Likes

Oooh, good test case.

2 Likes

Initial results - I see a little more definition on the tower than before ( Modelling skinny tall things - an observation - #14 by adamsteer )

Now setting some noise filters and running again.

I did notice that in CloudCompare, mesh colors are rendered ‘under’ the model. May be a function of my ‘built on this machine’ cloudcompare, or this particular model?

2 Likes

Best effort for now - adding filters, cleaning up a bit. What I really need to do is go back to this site and collect far more images. 140 isn’t enough.

I think the definition of small features on the tower and fences is improved quite a bit. Be great to see results from more thoughtfully-collected datasets. IIRC Sensefly had a public dataset from a cell tower, if I can find it, I can try it out… For now I have to go do my paid job :slight_smile:

2 Likes

Another tall thin structure if you are still looking for them to test, a 33kV power pole.
No lattice work though, the most difficult to work with! but there are thin wires that it would be nice to see, and another wire for the stay which is partially missing, just so people don’t think it is floating in mid air :wink:

M2P images and geo.json file here-

I recently ran it again, better in some respects but worse in others, than previous attempts.

294 images 36:41:38
|Options:|auto-boundary: true, bg-removal: true, boundary: {“type”:“FeatureCollection”,“features”:[{“type”:“Feature”,“properties”:{},“geometry”:{“type”:“Polygon”,“coordinates”:[[[151,-31 etc]]], feature-quality: ultra, gps-accuracy: 6, mesh-octree-depth: 13, mesh-size: 600000, min-num-features: 20000, optimize-disk-space: true, orthophoto-resolution: 0.5, pc-geometric: true, pc-quality: ultra, resize-to: -1, skip-orthophoto: true, use-3dmesh: true, verbose: true|
|Average GSD:|0.22 cm|
|Area:|185.9 m²|
|Reconstructed Points:|173,198,614|

The PC is a bit more complete, but also missing the wires and top, and the cross bar is a bit patchy too.

1 Like

Initial run - better definition on the arm holding wires, with a ‘ghost pole’ - some tuning will fix that :slight_smile:

So far so good for ODM3 proposals…

3 Likes

Thanks for running it Adam, I haven’t had time :slight_smile: What settings did you use?

2 Likes

I’ve been having some fun with ODM 3.0.0 :slight_smile:


300CE

3.0.0 (Courtesy of Stephen):

2.9.2


Day Lily

3.0.0:

2.9.2


Martin Farms - O’Brien’s Field

3.0.0:

2.9.2


Martin Farms - Old Orchard

3.0.0:

2.9.2


Northern Catalpa

3.0.0:

2.9.2


Pit Dig

3.0.0:

2.9.2


Power Transformer

3.0.0:

2.9.2


SJS Hallway

3.0.0:

2.9.2


SJS Mulch Pile

3.0.0

2.9.2


SJS Statue

CW: Religious Iconography

3.0.0:


2.9.2:


4 Likes

These are so fun.

2 Likes

I finally got a chance to put one of my datasets through 3.0.0 and I’m pleased!

I can finally run ultra/ultra! It took 18 hours for 311 photos, but it ran fine on my M1 with 56G of RAM and 8 CPUs assigned to Docker. Also, the performance over water has improved – my pond surface is probably smooth enough for me to get volume estimates now.

There were fewer changes to CLI options than I had expected, which is pretty nice. I will look at the GUI later!

3 Likes

I see the difference now!!

Old


and new

5 Likes

Those red fence panels, leaning against the building, have lots better detail don’t they

2 Likes