Unable to Generate Depths for Resolution Level 0 with GPU Docker

We are creating DepthMaps for Resolution Level 0 with CPU-Docker. It works well and generate detailed depth maps but has performance issue with an increase in the number of images.

As an alternate option, tried to generate Depths with Docker-GPU and it completed this step w/o generating single depthmaps. When had change the resolution level to 1, it generates depth maps as expected.

Can you suggest, why there is different behavior for GPU and CPU Docker?

1 Like

They’re completely different pipelines, so they do behave differently at the moment. We are looking into it, and I hope will be able to make them behave more consistently over time.

What do you mean by Resolution Level 0 and Resolution Level 1?

What are your full processing parameters like?

The following is the command that I trigger with ODM Container:

docker exec python3 /code/run.py --max-concurrency 8 --project-path /datasets project --feature-quality ultra --pc-quality ultra --mesh-octree-depth 13 --end-with openmvs

And this invoke, OpemMVS stage wherein following command is invoked:

“/code/SuperBuild/install/bin/OpenMVS/DensifyPointCloud “/datasets/project/opensfm/undistorted/openmvs/scene.mvs” --resolution-level --min-resolution 9735 --max-resolution 19470 --max-threads 8 --number-views-fuse 2 -w “/datasets/project/opensfm/undistorted/openmvs/depthmaps” -v 0 --geometric-iters 0”

When the resolution level value is set to 1, it works but it didn’t work with resolution level 0.

1 Like

What is your console log output for the failed/passing tests?

Since the /datasets/project/opensfm/undistorted/openmvs/depthmaps folder is empty it fails at next step

1 Like

Do you need any more information?

1 Like

@Piero, Can you please suggest here? We are in the last stages of making ODM operational for heavy Stereo Images and this particular issue makes it very a slow and eventually expensive solution.

1 Like

Any update here?

1 Like

That sounds like an opportunity to fund core development, and in this case since Piero is fully booked the best way forward would be to find someone contribute a solution:

1 Like

Adding more information - DensifyPointCloud step fails while calling SceneDensify.cpp script at line 1750:

data.events.AddEvent(new EVTProcessImage(0));

Error Message:
terminate called after throwing an instance of ‘std::bad_alloc’
what(): std::bad_alloc

1 Like

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