Newbie question: Distortions in orthophoto

Hi,
I just made my first experiments with WebODM… The resulting orthophoto is partially distorted (cropped sample of a roof attached) I think the reason is that the generated surface model is just too different from the real geometry of the house (see attached screenshot, made in blender)
What could I do for higher quality orthophotos? Could the reason even be a bad quality of my drone images? (pixel smearing, for example)
Greetings from Germany,
Sören
odm_orthophoto_sample
blender_obj_screenshot

1 Like

Are you able to share your images and your processing parameters so we have a better idea of what you’re working with and what you tried?

Thank you, Saijin, super fast reply! I processed 168 12MP-images for the whole orthophoto. Which service would you recommend (or prefer) for sharing the images? Should I make a screenshot of the processing parameters?

1 Like

We like dronedb.app, but really, any Cloud Service provider you have already or like to use is fine.

Screenshot, or copy/paste of the text. Whichever works!

1 Like

Thank you, just bookmarked the dronedb site :wink:

1 Like

Hi,

I uploaded all the drone images and the WebODM-output at dronedb…

https://testhub.dronedb.app/r/soeren68/42cjmkvjidqsbxaf

I’m sure I made dozens of mistakes… It’s my first try.
First things first: Should I fly other patterns? Tilt the camera forward by 5-10 degrees?
Or just buy Piero’s book? :wink:

Greetings from Hamburg, Germany
Sören

P.S.: Here are the settings (from the task output)

[INFO] Initializing ODM - Sun Oct 03 19:27:42 2021
[INFO] ==============
[INFO] build_overviews: False
[INFO] camera_lens: auto
[INFO] cameras: {}
[INFO] cog: True
[INFO] copy_to: None
[INFO] crop: 3
[INFO] debug: False
[INFO] dem_decimation: 1
[INFO] dem_euclidean_map: False
[INFO] dem_gapfill_steps: 3
[INFO] dem_resolution: 5
[INFO] depthmap_resolution: 640
[INFO] dsm: True
[INFO] dtm: False
[INFO] end_with: odm_postprocess
[INFO] fast_orthophoto: False
[INFO] feature_quality: high
[INFO] feature_type: sift
[INFO] force_gps: False
[INFO] gcp: None
[INFO] geo: None
[INFO] gps_accuracy: 10
[INFO] ignore_gsd: False
[INFO] matcher_distance: 0
[INFO] matcher_neighbors: 8
[INFO] matcher_type: flann
[INFO] max_concurrency: 2
[INFO] merge: all
[INFO] mesh_octree_depth: 11
[INFO] mesh_size: 200000
[INFO] min_num_features: 8000
[INFO] name: ec1a5986-50f7-4412-b036-284e3831accb
[INFO] optimize_disk_space: False
[INFO] orthophoto_compression: DEFLATE
[INFO] orthophoto_cutline: False
[INFO] orthophoto_kmz: False
[INFO] orthophoto_no_tiled: False
[INFO] orthophoto_png: False
[INFO] orthophoto_resolution: 5
[INFO] pc_classify: False
[INFO] pc_csv: False
[INFO] pc_ept: True
[INFO] pc_filter: 2.5
[INFO] pc_geometric: False
[INFO] pc_las: False
[INFO] pc_quality: medium
[INFO] pc_rectify: False
[INFO] pc_sample: 0
[INFO] pc_tile: False
[INFO] primary_band: auto
[INFO] project_path: /var/www/data
[INFO] radiometric_calibration: none
[INFO] rerun: None
[INFO] rerun_all: False
[INFO] rerun_from: None
[INFO] resize_to: 2048
[INFO] skip_3dmodel: False
[INFO] skip_band_alignment: False
[INFO] skip_report: False
[INFO] sm_cluster: None
[INFO] smrf_scalar: 1.25
[INFO] smrf_slope: 0.15
[INFO] smrf_threshold: 0.5
[INFO] smrf_window: 18.0
[INFO] split: 999999
[INFO] split_image_groups: None
[INFO] split_overlap: 150
[INFO] texturing_data_term: gmi
[INFO] texturing_keep_unseen_faces: False
[INFO] texturing_outlier_removal_type: gauss_clamping
[INFO] texturing_skip_global_seam_leveling: False
[INFO] texturing_skip_local_seam_leveling: False
[INFO] texturing_tone_mapping: none
[INFO] tiles: False
[INFO] time: False
[INFO] use_3dmesh: False
[INFO] use_exif: False
[INFO] use_fixed_camera_params: False
[INFO] use_hybrid_bundle_adjustment: False
[INFO] verbose: False

1 Like

Nothing looks bad! You’re mostly running defaults, which means plenty of room for improvement.
I mean… If you like what the book has to offer, sure! I bought it before I joined UAV4Geo because I wanted to learn more, and I found it to be quite helpful.

Created on: 10/13/2021, 3:24:26 PM
Processing Node: Lightning - UAV4Geo (manual)
Options: cog: true, crop: 0, debug: true, dem-gapfill-steps: 4, dem-resolution: 1, dsm: true, dtm: true, matcher-neighbors: 16, mesh-size: 300000, min-num-features: 16000, orthophoto-resolution: 1, pc-classify: true, pc-ept: true, pc-filter: 1, pc-geometric: true, pc-quality: high, use-3dmesh: true, verbose: true
Average GSD: 1.7 cm
Area: 38,774.64 m²
Reconstructed Points: 22,072,207

First impression:
You might want to tighten up overlap if you can at least, and maybe sidelap a bit if feasible.

In the case of the building you highlighted above, there isn’t much photo density for that particular region.
image

image

The orthophoto and the 3D model are going to have a bit of distortion since the pointcloud isn’t very dense there, for instance.

Overall, however, I think it turned out quite nicely!

soren68_9123_Report_Compressed.pdf (3.8 MB)

1 Like

Hi Saijin,

many thanks for your response and for processing my images again. Your results look much finer in detail. Could you give me your settings? (I’ve got some credits left for Lightning)
My iMac has only 16GB RAM, so I’m not sure I could process it without Lightning…
By the way, how much RAM would I need for about 500 12MP-Images?
But if it’s o.k.for you, you could also upload your results to dronedb and send me the link. That would be very kind.

Greetings from Hamburg,
Sören

P.S.: I used Dronelink for planning and flying… Works flawlessly!

1 Like

Settings are above, but I’ll inline them again:

Options: cog: true, crop: 0, debug: true, dem-gapfill-steps: 4, dem-resolution: 1, dsm: true, dtm: true, matcher-neighbors: 16, mesh-size: 300000, min-num-features: 16000, orthophoto-resolution: 1, pc-classify: true, pc-ept: true, pc-filter: 1, pc-geometric: true, pc-quality: high, use-3dmesh: true, verbose: true

As I learned from Piero, the --use-3dmesh option may make building edges worse in the orthophoto and DSMs, so you may want to drop that.

I only have 32GB RAM, but I used Lightning for this as well (way faster than local for me).

Good question! If you keep quality reasonable and have a lot of pagefile, you should be okay, I think.

I’ll attach the dronedb link to the all.zip (so you can import it into your WebODM) here:
soren68_9123 - DroneDB

1 Like

Thanx for the zip. I will compare the results later on…
Could be that I upgrade my Mac to 32GB - for jobs which need even more RAM, I also would use Lightning.
Turning off the 3Dmesh option: That’s exactly what I was thinking about… Why not project the images simply on a plane, if the mesh has a low quality. I just didn’t know I can actually do that in WebODM.

1 Like