Mavic Air 2 - WebODM - Blender - Sketchfab

I am a watershed restoration manager working on helping communities visualize the change that can take place from these projects. 3D pre/post models are huge for this.

My current workflow is a Mavic Air 2 with Dronelink to map. WebODM desktop to model. Blender to post process and create the pre/post restoration visualizations and then Sketchfab to host.

I am trying to find people working on similar apps or workflow that could help me step up my game.

My current sticking point is really getting the best out of my drone and processing the highest quality model with the WebODM set-up that I have. I am really cost prohibited.

I have issues with each step thought for sure. First few that come to mind:

MA2 can take 48MP pics but I think they are compositive 12MP and get stripped of meta data to make them plus possibly need to upgrade to next paywall level to turn on that function in Dronelink.

Gaps around trees in 3D model - can i reduce these and/or remove these by adjusting a setting in WebODM ( i fly my grids with 80% overlay front/back and side/side at 45% camera angle)

So many Blender questions but top of mind - how do I bake materials onto polys to reduce total file size.

Any advice or guidance would be appreciated

Santa Margarita River - Existing Conditions by RiverSonicRun on Sketchfab

Sandia Creek Drive - New Bridge by RiverSonicRun on Sketchfab


Blender: I would like to learn how to re-texture my files to reduce the size if, for instance, I have deleted extraneous material in the mesh.

Sketchfab: I am using a free account on Sketchfab, which limits me to 100MB uploads. My total files as output by WebODM often exceed this. I have found I can substantially reduce my upload size by converting all PNG files to JPGs (I use Photoshop for this), then edit the .mtl file to show the changed file names. If necessary, I then use the Decimate modifier (right term?) in Blender to reduce the number of triangles in the mesh to reduce the size of the .obj file.

1 Like

Interested in your png to jpg conversion. Does this result in any loss of detail in the model once in Blender?

I have decimated my models some but always never to a file size that is truly manageable for online use as it then results in loss of detail. You can see in my post restoration model that it defaults to SD - standard quality view - from it being an unfriendly file size. Plus, the loss of detail always comes at the expense of the tree/canopy/riparian vegetation usually. They end up looking like cubes on a stick. Remember tho I am working with models that are easily 10 or more acres in size.

I am always impressed by how much modeling WebODM does outside the bounds of my mapping plan. I can best whittle down the file size by aggressively trimming down edges.

1 Like

I use Photoshop to convert the PNG files to JPG files using Photoshop’s image quality “5”. I cannot see any noticeable difference in the images, and also do not see any difference in Blender. My models, once I’ve converted the PNG files to JPG, have not been too far over the limit for uploading to Sketchfab. So far I have only had to decimate at 50-70% to get the OBJ + JPG files small enough to upload.

Here is an example.
PNG file (20.2 MB):

JPG file (1.87 MB):


Interesting. Def worth a shot.

What about processing with WebODM? What options have you found really impact detail quality of textured model?

I really want to max out detail with the processing setup I have.

My most recent model options were as follows:

dem-gapfill-steps: 5,
depthmap-resolution: 1200, f
eature-quality: ultra,
max-concurrency: 6,
mesh-octree-depth: 12,
mesh-size: 300000,
min-num-features: 9000,
optimize-disk-space: true,
pc-geometric: true,
pc-quality: ultra,
pc-rectify: true,
pc-sample: 1,
pc-tile: true,
sfm-algorithm: triangulation,
use-3dmesh: true

For the tree bark, my processing options were

debug: true, matcher-neighbors: 30, mesh-octree-depth: 13, mesh-size: 1000000, min-num-features: 50000, pc-quality: ultra, resize-to: -1, skip-orthophoto: true, verbose: true

There are others on this forum, and other posts, that can probably give you a better idea of best parameters for detail. I tried to use feature-quality: ultra for this, but processing failed when I did.

The DJI Air 2 does not have a global shutter. If you are not pausing motion for each shot, you may get some improvement with rolling-shutter: true and possibly a value for rolling-shutter-readout

I found this thread about best quality which may be helpful:

My grid pattern is 90 degrees camera down at least 85 overlap , better 90, on expanding square, then another expanding square 90 degrees offset camera slightly up, about 10 degrees and just for fun random flight coverage … 21 MB photos small area
Detail on low level flight see person’s outline of eyes
Suggest increase coverage to obtain more detail seeing trees maybe possible on acres not in my personal flights to date. My project bathymetric data linked with islands using WebODM …your project very interesting to me …

Latest run and results:
226 photos

auto-boundary: true, feature-quality: ultra, max-concurrency: 6, mesh-octree-depth: 11, mesh-size: 850000, min-num-features: 13000, optimize-disk-space: true, pc-quality: ultra, pc-sample: .04, pc-tile: true, rolling-shutter: true, rerun-from: dataset

Average GSD: 5.63 cm
Area: 52,539.38 m²
Reconstructed Points: 87,526,790

What option above would you tinker with to improve?
What does the resize-to do for you? As I understand it - this should be increased for forested areas like I am modelling?

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.