Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The results of the ReconstructionSystem usually fail, and registration result is not ideal #1264

Closed
MaxChanger opened this issue Oct 23, 2019 · 7 comments · Fixed by #1292
Labels

Comments

@MaxChanger
Copy link

@MaxChanger MaxChanger commented Oct 23, 2019

I have tested the living room data of redwood in your tutorial. The first time I got a particularly bad result, but when I ran the second time I found that the result was barely acceptable. So I ran it many times, but I got different results every time. How should I understand this problem ?
There are four failed cases:
four_error_result

@MaxChanger MaxChanger added the question label Oct 23, 2019
@theNded

This comment has been minimized.

Copy link
Contributor

@theNded theNded commented Oct 23, 2019

See #797 #831
Can you try either of [Disable OpenMP] or [Disable joblib]?

@MaxChanger

This comment has been minimized.

Copy link
Author

@MaxChanger MaxChanger commented Oct 24, 2019

Thanks @theNded, I will check and try it.

@MaxChanger

This comment has been minimized.

Copy link
Author

@MaxChanger MaxChanger commented Oct 30, 2019

See #797 #831
Can you try either of [Disable OpenMP] or [Disable joblib]?

I try to turn off multithreading by using "python_multi_threading": false , in config/tutorial.json, but did not find obvious improvements.

I did some testing, and then found something interested, I hope you can help me to ensure it.

the command recommend in official tutorial like this:

python run_system.py config/tutorial.json --make --register --refine --integrate

Obviously, we can roughly divide it into two categories, fragment generation and registration.

①  python run_system.py config/tutorial.json --make 
②  python run_system.py config/tutorial.json --register --refine --integrate

After using ① to generate the fragments, we keep the fragments folder unchanged, no matter how many times the ② command is used, the result is almost the same every time.

But once we regenerate the fragments using command ①, the result may be different.

@theNded

This comment has been minimized.

Copy link
Contributor

@theNded theNded commented Oct 30, 2019

Interesting, can you check if there is any corrupted fragment in your failure reconstruction? You may use this tool to visualize the fragments:
https://github.com/intel-isl/Open3D/blob/master/examples/Python/ReconstructionSystem/debug/visualize_fragments.py

Also, do you have OpenCV installed? There will be an indicator telling you whether ORB+5pt is used in making fragments depending on the existence of OpenCV.

@MaxChanger

This comment has been minimized.

Copy link
Author

@MaxChanger MaxChanger commented Oct 30, 2019

yes, opencv is installed by conda.

I also use the visualize_fragments.py to show the ply file, but it seems to just open all the .ply files in the fragments folder, and use open3d to visualize them. All ply files can be visualized very well.

And what is the meaning of corrupted fragment? A damaged ply file that cannot be opened?

@theNded

This comment has been minimized.

Copy link
Contributor

@theNded theNded commented Oct 30, 2019

Ah, I wanted to check if there's any fragment that doesn't make sense. They seem to be correct according to your description. Then the problem should be within registration.

@MaxChanger

This comment has been minimized.

Copy link
Author

@MaxChanger MaxChanger commented Oct 31, 2019

I agree with your opinion, I also think that because of the registration failed, the final result is not good.
But after my test, I can't find out if the registration itself has a problem (--register --refine --integrate), or in the make fragments stage(--make), as show in #1281

So I don't know what I should do, improve the precision of the registration or optimize the make fragments section.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.