isl-org / isl-org/Open3D

How to run dense_slam_gui example with data taken from a stationary camera?

Open
#6,311 6 comments 0 reactions 0 assignees View on GitHub
question
Dominant language
C++
Stars
14k
Forks
2.6k
Avg merge
5d 18h
Merged PRs (30d)
6

Description

### Checklist

- [X] I have searched for [similar issues](https://github.com/isl-org/Open3D/issues).
- [X] For Python issues, I have tested with the [latest development wheel](http://www.open3d.org/docs/latest/getting_started.html#development-version-pip).
- [X] I have checked the [release documentation](http://www.open3d.org/docs/release/) and the [latest documentation](http://www.open3d.org/docs/latest/) (for `master` branch).

### My Question

Hi. I am using open3d 0.17 with python 3.9 using cuda on Windows 10. I can succesfully run the example with the LoungeRGBDImages dataset. My problem is currently I don't have a portable camera, so I tried to copy the pipeline by rotating the object instead of moving the camera and took around 35 frames, which I thought would work. I captured depth maps in 16-bit alongside the rgb images. Finally, I updated the intrinsic matrix and printed it to check if I am going right and printed result is what I expected. I also changed width and height in default_intrinsic.json file. However I am getting

```
[Open3D Error] (void __cdecl open3d::core::OPEN3D_LAPACK_CHECK(__int64,const class std::basic_string,class std::allocator > &)) ...\Open3D-0.17.0\cpp\open3d/core/linalg/LinalgUtils.h:40: gels failed in SolveCPU: singular condition detected.

[Open3D Error] (void __cdecl open3d::t::pipelines::kernel::DecodeAndSolve6x6(const class open3d::core::Tensor &,class open3d::core::Tensor &,float &,int &)) ...\Open3D-0.17.0\cpp\open3d\t\pipelines\kernel\TransformationConverter.cpp:129: Singular 6x6 linear system detected, tracking failed.

Exception in thread UpdateMain:
Traceback (most recent call last):
File "...\Python39\lib\threading.py", line 954, in _bootstrap_inner
self.run()
File "...\Python39\lib\threading.py", line 892, in run
self._target(*self._args, **self._kwargs)
File "...\Open3D-0.17.0\examples\python\t_reconstruction_system\dense_slam_gui.py", line 373, in update_main
result = self.model.track_frame_to_model(
RuntimeError: [Open3D Error] (void __cdecl open3d::t::pipelines::kernel::DecodeAndSolve6x6(const class open3d::core::Tensor &,class open3d::core::Tensor &,float &,int &)) ...\Open3D-0.17.0\cpp\open3d\t\pipelines\kernel\TransformationConverter.cpp:129: Singular 6x6 linear system detected, tracking failed.

```
My humble guess is that this error might be related to my stationary camera. However, I am not familiar with the pipeline and this is my first attempt of running & understanding it. I also couldn't understand the meaning of depth_scale Any comment would be appreciated, thanks.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.