OpenDroneMap / WebODM

User-friendly, commercial-grade software for processing aerial imagery. 🛩
https://www.opendronemap.org/webodm/
GNU Affero General Public License v3.0
2.83k stars 946 forks source link

Comparison: ODM vs. DroneDeploy #204

Closed AnthonyCoughlin closed 4 years ago

AnthonyCoughlin commented 7 years ago

Hey ODM development,

I wanted to give you guys some prospective on ODM vs. DroneDeploy. First off, I primarily use WebODM. That said, I updated WebODM this morning. I captured these images this afternoon (10Jun17). Its a small field house at a sports complex. I processed the images through WebODM using the default settings and also processed them through DroneDeploy. See the attached screenshots. Also below, I've uploaded the images to Google Drive and provided a link if you'd like to inspect.

Hope this helps further ODM's progress! Anthony

nep_fieldhouse_dd2 DroneDepoly1

nep_fieldhouse_odm Webodm1

nep_fieldhouse_odm2 Webodm2

nep_fieldhouse_dd DroneDeploy2

https://drive.google.com/open?id=0B4Tf0aIvxRLJai1VM1VSUWV6Rm8

kikislater commented 7 years ago

Dronedeploy is a pix4d routine batch (pix4d pro on server) with algorithms from Sure photogrammetry processing.

May be you have to tune parameters to get better with odm

AnthonyCoughlin commented 7 years ago

Ok thanks! I'm still learning with ODM. I'll keep testing! Any suggestions on parameter settings would be appreciated!

KommandorKeen commented 7 years ago

Increase outlier rejection and increase to 0.8 (or higher) the coherency

KommandorKeen commented 7 years ago

Here's an idea. Put the images in a dropbox folder and share. Then we can all give it a go and work out the best parameterisation. OK got the files, WHat camera/drone? First issue is that ODM cannot find the ccd width. Is it a 1/2.3 camera in which case assume 6.24mm

I note dronedeploy is using a 2.5D mesh and is in fact missing the overhanging roof.

AnthonyCoughlin commented 7 years ago

Glad you got the images. I'm flying an Autel Robotics x-star premium, The camera is made by Sony with the Exmor-R sensor. I've had limited success when trying to locate the CCD width. My research has led me to believe that this camera uses cmos and not ccd? Does this make a difference?

kikislater commented 7 years ago

Exmor-r is cmos sensor so every cmos sensor are rolling shutter. What's really matter is sensor readout... Some are bad (like sony sensor in gopro or phantom2 and 3) and other better (like rx100, or phantom 4 pro : it's not a global shutter, or parrot sensefly soda). Don't know autel platform but I will look more ... There is a ton of exmor-r sensor : https://en.m.wikipedia.org/wiki/Exmor

Here it's not an issue. Issue comes from default parameters in odm.

KommandorKeen commented 7 years ago

Have a look at this. At a guess the difference is an SOR (statistical outlier rejection) filter of the entire point cloud prior to meshing.

image

Issue at the other end of your building due to images being a little far apart.

BUT notice how ODM catches the overhanging roof eaves.

With great configurability comes great responsibility.

For this kind of work the Pix4D iphone app for data collection is great. it collects at user configurable x and Y distances.

pierotofy commented 7 years ago

It's more complicated than that; ODM uses a simple Poisson reconstruction for mesh building, Pix4D uses some proprietary implicit surface fitting algorithm that leads to much smoother surfaces (buildings), along with better outlier removal (which is being discussed here https://github.com/OpenDroneMap/OpenDroneMap/issues/583). There are many papers describing such approaches, but none (that I know of) have source code available for use.

It's an area that requires a lot of work to improve. I would work on it myself if I had time, but there are currently more pressing features to be implemented (mission planning, DEMs, volume measurements, etc.).

AnthonyCoughlin commented 7 years ago

Thanks for all the info. I plan to continue testing. @pierotofy looking forward to the new features you mentioned, thanks for all your work sir!

@KommandorKeen any idea if the Pix4D Iphone App will work with Autel Robotics craft? I plan to do some research this evening.

KommandorKeen commented 7 years ago

@AnthonyCoughlin, I think the app is DJI focussed. Simplest option is to set up an interval timer for photo collection and manually thin them after capture. But more images needed.

KommandorKeen commented 7 years ago

Just discovered Regard3D from MIT (MIT license) currrently evaluating..... http://www.regard3d.org/index.php/documentation/tutorial

More interesting are the pointers to other opensource surface consructors http://www.gcc.tu-darmstadt.de/home/proj/fssr/

and the opensource CUDA accelerators for point matching http://www.gcc.tu-darmstadt.de/home/proj/cuda_surf/index.en.jsp

pierotofy commented 7 years ago

OpenDroneMap has the option to use PMVS, but OpenSfM does a better job already. Would be interesting to compare MVE.

It would be cool to implement floating scale reconstruction.

SURF is patented, so we cannot include it in OpenDroneMap.

nsicart commented 7 years ago

You guys are doing a great job! Keep working hard, thaks a lot!

Please if you can make a technical comment on this below, it looks like webodm is doing a bad job.

https://sketchfab.com/models/b2e3edb64ea349f4b7d140869cf18c55#

AnthonyCoughlin commented 7 years ago

I posted a comment on SketchFab and reiterated the what nsicart and KommandorKeen said. Hope this clears things up a bit.

https://sketchfab.com/models/b2e3edb64ea349f4b7d140869cf18c55#

FarhadG commented 6 years ago

@kikislater Is this really true that DroneDeploy uses Pix4D underneath the hood for their photogrammetry service? How can we confirm this?

nickponline commented 6 years ago

No we doesn't use Pix4D. We have our own photogrammetry pipelines and choose different configurations based on the scene imagery and the scene being reconstructed.

bcjarrett commented 5 years ago

@nickponline What engine do you use to do SFM?

nickponline commented 5 years ago

@bcjarrett We wrote our own.

kikislater commented 5 years ago

Even if it's not pix4d it looks like you use same backend as pix4d : SURE photogrammetry

nickponline commented 5 years ago

@kikislater I'm not actually familiar with SURE or what Pix4D uses - but we don't use it.

pierotofy commented 4 years ago

Let's move this and future comparison conversations over to https://community.opendronemap.org :clinking_glasses: (aside, recent changes to the ODM engine should have improved results quite a bit).