isl-org / Open3D

Open3D: A Modern Library for 3D Data Processing
http://www.open3d.org
Other
11.37k stars 2.29k forks source link

Having trouble with 3D reconstruction on own dataset #2280

Closed Uio96 closed 3 years ago

Uio96 commented 4 years ago

IMPORTANT: Please use the following template to report the bug.


Describe the bug I tried to run the provided RGB-D reconstruction on a dataset. But every time, after I run the code for a while, there will be a termination, which said

joblib.externals.loky.process_executor.TerminatedWorkerError: A worker process managed by the executor was unexpectedly terminated. This could be caused by a segmentation fault while calling the function or by an excessive memory usage causing the Operating System to kill the worker. The exit codes of the workers are {SIGKILL(-9)}

I first assumed that there might be some problems with parallel. So I changed to a single worker. However, it still showed "killed" after some time. I also tried on another one. However, it did not work out. By the way, I once successfully ran the RGB-D reconstruction on other datasets with even more image pairs and the same resolution. I basically followed the default parameter settings listed on the tutorial page but except the maximum depth value.

To Reproduce Steps to reproduce the behavior:

  1. Download my dataset and put it into the dataset folder https://drive.google.com/file/d/1dKnUzIBih5WYnxsKDYDg2mZuLm4wtgcS/view?usp=sharing
  2. python run_system.py dataset/Keyframe_Corbs_Desk_1_open3d/config.json --make --register --refine --integrate
  3. See error

Screenshots error

Environment (please complete the following information):

Additional context I am not sure if it is necessary to change other parameter settings.

Uio96 commented 4 years ago

I manually check the RGB-D info by visualizing it in a point cloud way. It seems fine to me. I am not sure if the reconstruction system has any other requirements for the depth info.

demo

s-agawane commented 4 years ago

Have you been able to figure this out :/? @Uio96

VD2410 commented 3 years ago

Is this issue solved?

theNded commented 3 years ago

TLDR: Open3D does not work on CORBS. Long version: CORBS is a tricky dataset: its depth images are not contiguous -- it has missing depth every several pixels, like this: image

This means that our RGBD odometry, which computes dense pixel-wise gradient and uses a direct method that needs dense data association, would not work (properly) on this dataset; and with incorrect poses, TSDF integration will try to allocate as much memory as possible. In the end, a memory overflow will trigger a segfault.