Skip to content

Weirdly consistent DEM generation failure #2024

@Troloze

Description

@Troloze

When trying to process a few drone images (> 100) the DEM generation is failing very often.

The images I have used are all from the same set, and the generation seems to fail around 40% of the time, which is very weird since I have not had these issues with WebODM.

This is the output I get from odm:

[INFO]    running renderdem "/datasets/Project 1/odm_georeferencing/odm_georeferenced_model.laz" --outdir "/datasets/Project 1/odm_dem" --output-type idw --radiuses 0.14,0.19798989873223333,0.28 --resolution 1.0 --max-tiles 0 --decimation 1 --classification 2 --tile-size 4096 --force
Reading points from /datasets/Project 1/odm_georeferencing/odm_georeferenced_model.laz
Number of points: 1167602
Classification dimension: Classification
Point cloud bounds are [minx: 1.79769313486e+308, maxx: 2.22507385851e-308, miny: 1.79769313486e+308, maxy: 2.22507385851e-308]
DEM resolution is (2147483648, 2147483648), max tile size is 4096, will split DEM generation into 0 tiles
Killed
===== Dumping Info for Geeks (developers need this to fix bugs) =====
Child returned 137
Traceback (most recent call last):
  File "/code/stages/odm_app.py", line 82, in execute
    self.first_stage.run()
  File "/code/opendm/types.py", line 470, in run
    self.next_stage.run(outputs)
  File "/code/opendm/types.py", line 470, in run
    self.next_stage.run(outputs)
  File "/code/opendm/types.py", line 470, in run
    self.next_stage.run(outputs)
  [Previous line repeated 6 more times]
  File "/code/opendm/types.py", line 449, in run
    self.process(self.args, outputs)
  File "/code/stages/odm_dem.py", line 68, in process
    commands.create_dem(
  File "/code/opendm/dem/commands.py", line 90, in create_dem
    system.run('renderdem "{input}" '
  File "/code/opendm/system.py", line 112, in run
    raise SubprocessException("Child returned {}".format(retcode), retcode)
opendm.system.SubprocessException: Child returned 137
===== Done, human-readable information to follow... =====
[ERROR]   Whoops! You ran out of memory! Add more RAM to your computer, if you're using docker configure it to use more memory, for WSL2 make use of .wslconfig (https://docs.microsoft.com/en-us/windows/wsl/wsl-config#configure-global-options-with-wslconfig), resize your images, lower the quality settings or process the images using a cloud provider (e.g. https://webodm.net).
100 - done.

While it says it is an out of memory error, you can notice that the point cloud boundary values shown before the error are very wrong, and so is the DEM resolution:

Point cloud bounds are [minx: 1.79769313486e+308, maxx: 2.22507385851e-308, miny: 1.79769313486e+308, maxy: 2.22507385851e-308]
DEM resolution is (2147483648, 2147483648), max tile size is 4096, will split DEM generation into 0 tiles

It is important to note that dsm.original.tif and dsm.tif file are generated perfectly, but the DTM files are nowhere to be seen.

I am using opendronemap/odm:3.5.6 as an attempt to circumnavigate this issue, it also happens in the latest release (as of april 9th, the last time I used the latest version)

I am currently using podman (5.8.2) on windows, not docker desktop. Docker also had the same issue happen though.

The command issued is below, I have tried several configurations and I keep getting this problem.
-v D:/datasets2:/datasets opendronemap/odm:3.5.6 --project-path /datasets Project 1 --dem-resolution 100 --dsm --dtm --orthophoto-png --pc-classify --pc-csv --pc-ept --pc-las --skip-report

I can't opt to use webodm for this, since I am working on an application that communicates directly with ODM, and the CLI is the most reliable way to integrate everything.

I have attached the full odm output log from the error I provided above: 2026-04-29_14-53-53.log

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions