Skip to content

renderdem generates invalid bounds → OOM during odm_dem stage #1949

@paultenfjord

Description

@paultenfjord

log_x86.txt
log_arm.txt
odm_356.txt

Affected latest ODM on git (682148b0bd64, 54543d0c15ef) - tested both x86 and ARM.

Using the Brighton dataset (git clone https://github.com/pierotofy/drone_dataset_brighton_beach.git)

Running:

docker run -it --rm \
    -v "$(pwd)/images:/code/images" \
    -v "$(pwd)/odm_orthophoto:/code/odm_orthophoto" \
    -v "$(pwd)/odm_texturing:/code/odm_texturing" \
    opendronemap/odm --dtm

Yields OOM after:

running renderdem "/code/odm_georeferencing/odm_georeferenced_model.laz" --outdir "/code/odm_dem" --output-type idw --radiuses

Cause:

Reading points from /code/odm_georeferencing/odm_georeferenced_model.laz
Number of points: 1466984
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

renderdem (invoked from odm_dem) incorrectly computes the point cloud bounds when filtering by classification. OOM a result of >4 trillion points, perhaps due to a classification filter returning an empty point cloud?

When using version 3.5.6 this is the relevant output:

Point cloud bounds are [minx: 576646.15, maxx: 576776.36,
                        miny: 5188108.22, maxy: 5188239.14]
DEM resolution is (2605, 2619), max tile size is 4096, will split DEM generation into 1 tiles

My host environment is (although probably not relevant for this bug):
macOS (M4, 16 GB RAM, Docker Desktop)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions