-
Notifications
You must be signed in to change notification settings - Fork 767
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
Gnc #617
Gnc #617
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I left some comments. What is the main templating issue you wanted me to look at ?
@jingnanshi @dellaert @pantonante : I fixed the outstanding issue with optimizerType. I also added a couple of unit tests (and comments) to make sure the inlier threshold is set correctly. @jingnanshi : the only thing I'm not convinced about is the stopping condition for TLS - please check my comment. Besides that, this PR is ready for review! |
- handled degenerate case in mu initialization - set TLS as default - added more unit tests
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome! First round, will look again after comments resolved :-)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very cool!
Just a few more code nits, feel free to merge after addressed ;-)
Now we need to apply it to Shonan and compare with robust rotation averaging, right @jingwuOUO :-) ?
all set! I'll merge after @pantonante and @jingnanshi approve! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
Added Graduated Non-Convexity (GNC) as a nonlinear optimizer in GTSAM. This is an implementation of the GNC paper (https://arxiv.org/pdf/1909.08605.pdf), but it uses iterative solvers in the inner loop instead of non-minimal global solvers.
Outstanding tasks: