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

Program exits unnormally when delta is too small #71

Open
morgan-bc opened this issue Oct 22, 2020 · 3 comments
Open

Program exits unnormally when delta is too small #71

morgan-bc opened this issue Oct 22, 2020 · 3 comments
Labels
Parameter setting Problem related to improper parameter set

Comments

@morgan-bc
Copy link

When the delta (max_norm_dist) in the options is too small, the Super4PCS GlobalRegistration cannot run successfully and will exits unnormally without computing the right transformation. For example, the program works well when delta=0.1, but crashes when delta=0.01.
The document of Super4PCS says that delta is parameters to verify how much the clouds are aligned. Why the program goes to crash when the delta is small ?

@nmellado
Copy link

Delta is a parameter that controls the desired accuracy of the algorithm. Indirectly, it influences the size of several internal data-structures.
In most cases, wrong parameter values leads to empty congruent set and thus wrong transformation estimation. Could you share the dataset causing the crash, so I can investigate from where it comes from ?
Also, you might consider looking at the documentation, which explains how to set parameters according to input data.

@morgan-bc
Copy link
Author

Thanks for your explanations. The testing data is private and I cannot shared it on the public forum.
The registration parameters are

    gr::UniformDistSampler<Point3D> sampler;
    TransformVisitor vistor;
    gr::Utils::Logger logger(gr::Utils::Verbose);

    MatcherType::OptionsType options;
    MatrixType mat = MatrixType::Identity();
    options.sample_size = 2000;
    options.max_normal_difference = -1;
    options.max_color_distance = -1;
    options.max_time_seconds = 30;
    options.delta = 0.1;
    options.configureOverlap(0.5);

    MatcherType matcher(options, logger);

Note that the source mesh and the target mesh are partialy overlapped. The program works well at delta=0.1, but goes to crash at delta=0.01

@nmellado
Copy link

nmellado commented Dec 3, 2020

Reducing the parameter delta increase the resolution of the acceleration structures.
I experienced crashed when trying to allocate too large datastructures, maybe this is what happens to you ?
Could you please check the memory consumption when the program crash ?

@nmellado nmellado added the Parameter setting Problem related to improper parameter set label Apr 27, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Parameter setting Problem related to improper parameter set
Projects
None yet
Development

No branches or pull requests

2 participants