Output Comparison 2

One thing that stands out while comparing with Pix4D is the difference in how edges and lines are handled. Pix4D seems to be optimizing for straight lines with a zeal.
Pix4D
image

ODM 2.2.3
image

Definitely makes the edges look neater.

Another interesting aspect is filling texture near to building edges.
Pix4D
image

WebODM 2.2.3
image

It appears that in the case of uncertainty, Pix4D fills the area with a lighter shade of ground texture. This combined with the tendency to fit straight lines makes the building edges appear sharper.

1 Like

Super curious if you’re using similar depthmap resolution settings, as the approach for orthos used by ODM is more similar to Pix4Ds approach than to agisoft’s, if memory serves me. This seems to be a mesh resolution and point cloud input issue more than a gesturing and orthophoto issue (at its root, anyway).

What are your respective settings for Pix and ODM?

1 Like

Ah yes I should have put them earlier. Here they are:
Pix4D output is pre-generated (UAV Demo project) available from Pix4Dcloud
Attaching its quality report. These are the processing options from the report:
image
image
image

For WebODM, the settings used are

dem-resolution: 1, dsm: true, dtm: true, gps-accuracy: 0.1, ignore-gsd: true, mesh-size: 400000, orthophoto-resolution: 1

No image resize. Rest are at default.

ODM version: 2.2.3

1 Like

Right off the bat, the ODM mesh is 60% smaller than the mesh for Pix4D, and if you’re using defaults, you’re not using a full 3D mesh, but the 2.5D mesh, which will likely have more difficulty with overhangs and other structures in a scene.

Can you adjust those and re-run and see what happens?

2 Likes

2.5D mesh is actually probably better for this, but what settings should they be using to adjust the depthmap resolution? I keep using the old flags…

2 Likes

I would guess Pix4D is doing more smoothing on the DSM (look at those smooth contours around the building).

Can you share the images you used to process this?

1 Like

It is the UAV Demo project available on the Pix4D Cloud Demo page. It allows downloads of images as well as final outputs.
Link to project: https://cloud.pix4d.com/site/9982/dataset/36449/map?shareToken=7f1b19102d5742f093515bc8e68ac96f
Pix4D Demo: https://cloud.pix4d.com/demo

2 Likes

I tried this and it has made a difference. The splatters near the edges are gone and it looks much smoother. But the features on roof have become much more wave-ier (if that’s a word).

Old settings: dem-resolution: 1, dsm: true, dtm: true, gps-accuracy: 0.1, ignore-gsd: true, mesh-size: 400000, orthophoto-resolution: 1
image
image
image
image
image
image

New settings: dem-resolution: 1, dsm: true, dtm: true, gps-accuracy: 0.1, ignore-gsd: true, mesh-size: 1000000, orthophoto-resolution: 1, use-3dmesh: true
image
image
image
image
image
image

This seems to be true.

WebODM:
Settings - dem-resolution: 1, dsm: true, dtm: true, gps-accuracy: 0.1, ignore-gsd: true, mesh-size: 1000000, orthophoto-resolution: 1, use-3dmesh: true
image

Pix4D:
image

Change your depthmap resolution, or no other settings will help.

1 Like

Also, try with both use-3dmesh on and off, once you max out depthmap. I think Steve might be right that it isn’t necessary in this environment.

2 Likes

The info box mentions that it is a legacy option and pc-quality should be used?

image

I think your best bet is to increase pc-quality.

The “rugged” edges can be traced back to the DSM used for 2.5D mesh generation.

Btw, I think I got a better looking orthophoto by processing with the defaults. I think this is because GSD (which you disabled with --ignore-gsd) generates a lower resolution DSM, which is smoother.

I also tried to increase smoothing with a patch, which does remove some of the jagged edges, but also smooths out important details (building corners and other features). So it’s not as simple of a solution.

anim

anim

Further research is needed.

For those interested in hacking, smoothing is controlled here: ODM/commands.py at master · OpenDroneMap/ODM · GitHub

6 Likes

pc-quality did the trick!

Settings: dsm: true, dtm: true, gps-accuracy: 0.1, pc-quality: ultra
image

I’ve uploaded the full analysis here: Pix4D vs WebODM: Comparing 2D Outputs - Part 2 | Flykit Blog

4 Likes