Error in ODM meshing cell - pdal pipeline


#1

Hi All,

I was processing images using ODM from native install… I am using the latest version pulled from github. I ran into this error at ODM_meshing stage:

e[94m[INFO]    Running ODM Meshing Celle[0m
e[92m[DEBUG]   Writing ODM Mesh file in: /datasets/code/odm_meshing/odm_mesh.plye[0m
e[92m[DEBUG]   running /code/SuperBuild/src/PoissonRecon/Bin/Linux/PoissonRecon --in /datasets/code/smvs/smvs_dense_point_cloud.ply --out /datasets/code/odm_meshing/odm_mesh.dirty.ply --depth 12 --pointWeight 0.0 --samplesPerNode 1.0 --threads 12 --linearFit e[0m
e[92m[DEBUG]   running /code/build/bin/odm_cleanmesh -inputFile /datasets/code/odm_meshing/odm_mesh.dirty.ply -outputFile /datasets/code/odm_meshing/odm_mesh.ply -removeIslands -decimateMesh 1000000  e[0m
e[92m[DEBUG]   Writing ODM 2.5D Mesh file in: /datasets/code/odm_meshing/odm_25dmesh.plye[0m
e[92m[DEBUG]   ODM 2.5D DSM resolution: 0.1028e[0m
e[94m[INFO]    Created temporary directory: /datasets/code/odm_meshing/tmpe[0m
e[94m[INFO]    Creating DSM for 2.5D meshe[0m
e[94m[INFO]    Creating ../datasets/code/odm_meshing/tmp/mesh_dsm_r0.145381154212 [max] from 1 filese[0m
e[92m[DEBUG]   running pdal pipeline -i /tmp/tmpFIfj5V.json > /dev/null 2>&1e[0m
Traceback (most recent call last):
  File "/code/run.py", line 47, in <module>
    plasm.execute(niter=1)
  File "/code/scripts/odm_meshing.py", line 108, in process
    method='poisson' if args.fast_orthophoto else 'gridded')
  File "/code/opendm/mesh.py", line 35, in create_25dmesh
    max_workers=max_workers
  File "/code/opendm/dem/commands.py", line 38, in create_dems
    fouts = list(e.map(create_dem_for_radius, radius))
  File "/usr/local/lib/python2.7/dist-packages/loky/process_executor.py", line 786, in _chain_from_iterable_of_lists
    for element in iterable:
  File "/usr/local/lib/python2.7/dist-packages/loky/_base.py", line 589, in result_iterator
    yield future.result()
  File "/usr/local/lib/python2.7/dist-packages/loky/_base.py", line 433, in result
    return self.__get_result()
  File "/usr/local/lib/python2.7/dist-packages/loky/_base.py", line 381, in __get_result
    raise self._exception
Exception: Child returned 139

This was caused directly by 
"""
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/loky/process_executor.py", line 410, in _process_worker
    r = call_item.fn(*call_item.args, **call_item.kwargs)
  File "/usr/local/lib/python2.7/dist-packages/loky/process_executor.py", line 329, in _process_chunk
    return [fn(*args) for args in chunk]
  File "/code/opendm/dem/commands.py", line 92, in create_dem
    pdal.run_pipeline(json, verbose=verbose)
  File "/code/opendm/dem/pdal.py", line 232, in run_pipeline
    out = system.run(' '.join(cmd) + ' > /dev/null 2>&1')
  File "/code/opendm/system.py", line 34, in run
    raise Exception("Child returned {}".format(retcode))
Exception: Child returned 139
"""

I also tried docker image(latest)…which gave the same error as above.

The command I gave was -

docker run -it --rm -v “/home/garlac/ODM_dev_version/ODMprojects/Docker_projects/MLA_3nov_v1:/datasets/code” opendronemap/opendronemap --mesh-point-weight 0 --force-ccd 12.8333 --texturing-nadir-weight 32 --smvs-output-scale 1 --ignore-gsd --orthophoto-resolution 2.57 --mesh-size 1000000 --time --mesh-octree-depth 12 --opensfm-depthmap-method “BRUTE_FORCE” --crop 0 --resize-to -1 --project-path ‘/datasets’

Earlier I didnt get such an error when --use-3dmesh parameter was used!!

Is it a bug or some other problem.?

Thank you.


#2

Hey @garlac :hand: Does it fail for with every dataset or just certain ones?


#3

I am running it on two other datasets, will let you know once it gets completed.


#4

Hi @pierotofy,

It is failing on only certain datasets…not sure of the reason!

The images of one such dataset where it failed is shared in below link -
https://drive.google.com/open?id=14opb07XR643N5UNJiF5x5Be1qsHqp3Mx