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

📝 Update appendix #24

Merged
merged 1 commit into from
Oct 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ of the proposed solver can be guaranteed under given conditions.

For more, please refer to our paper:

- [Bang-Shien Chen](https://github.com/doggydoggy0101), [Yu-Kai Lin](https://github.com/StephLin), [Jian-Yu Chen](https://github.com/Jian-yu-chen), [Chih-Wei Huang](https://sites.google.com/ce.ncu.edu.tw/cwhuang/), [Jann-Long Chern](https://math.ntnu.edu.tw/~chern/), [Ching-Cherng Sun](https://www.dop.ncu.edu.tw/en/Faculty/faculty_more/9), **FracGM: A Fast Fractional Programming Technique for Geman-McClure Robust Estimator**. _submitted to IEEE Robotics and Automation Letters (RA-L)_, 2024. (paper) ([preprint](https://arxiv.org/abs/2409.13978)) ([code](https://github.com/StephLin/FracGM))
- [Bang-Shien Chen](https://dgbshien.com/), [Yu-Kai Lin](https://github.com/StephLin), [Jian-Yu Chen](https://github.com/Jian-yu-chen), [Chih-Wei Huang](https://sites.google.com/ce.ncu.edu.tw/cwhuang/), [Jann-Long Chern](https://math.ntnu.edu.tw/~chern/), [Ching-Cherng Sun](https://www.dop.ncu.edu.tw/en/Faculty/faculty_more/9), **FracGM: A Fast Fractional Programming Technique for Geman-McClure Robust Estimator**. _submitted to IEEE Robotics and Automation Letters (RA-L)_, 2024. (paper) ([preprint](https://arxiv.org/abs/2409.13978)) ([code](https://github.com/StephLin/FracGM))

**Table of Contents**

Expand Down
2 changes: 1 addition & 1 deletion appendix/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Supplement materials
# :coffee: Supplementary Materials

[:page_facing_up: Appendix A.](appx_A) A simple example of FracGM with global optimal guarantees

Expand Down
21 changes: 18 additions & 3 deletions appendix/appx_A/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
### A simple example of FracGM with global optimal guarantees
# :page_facing_up: A simple example of FracGM with global optimal guarantees

Here we give a simple example that one can verify the differentiability and Lipschitz continuity of $\psi(\boldsymbol{\alpha},x_{\boldsymbol{\alpha}})$. Suppose we have an optimization problem:
We give a simple example that satisfies Proposition 3 as follows.
Suppose we have an optimization problem:

$$
\min_x\ \frac{f(x)}{h(x)}=\frac{x^2}{x^2+1},
Expand Down Expand Up @@ -50,7 +51,21 @@ $$
then $\psi(\boldsymbol{\alpha},x_{\boldsymbol{\alpha}})$ is Lipschitz continuous. Solving such (simple) case by FracGM guarantees that the solution is global optimal.


### Usage
To verify the above statement empirically, we feed various initial guesses to FracGM to examine the global optimality as follows:

| Initial Guess | FracGM's 1$^\text{st}$ Iteration | FracGM's 2$^\text{nd}$ Iteration |
|---------------|----------------------------------|----------------------------------|
| $-10^{5}$ | $-2.20\times 10^{-4}$ | $0.00\times 10^{-13}$ |
| $-10^{3}$ | $-1.92\times 10^{-10}$ | $0.00\times 10^{-13}$ |
| $-10^{1}$ | $-5.10\times 10^{-8}$ | $0.00\times 10^{-13}$ |
| $-10^{0}$ | $-2.73\times 10^{-9}$ | $0.00\times 10^{-13}$ |
| $10^{0}$ | $-2.73\times 10^{-9}$ | $0.00\times 10^{-13}$ |
| $10^{1}$ | $-5.10\times 10^{-8}$ | $0.00\times 10^{-13}$ |
| $10^{3}$ | $-1.92\times 10^{-10}$ | $0.00\times 10^{-13}$ |
| $10^{5}$ | $-2.20\times 10^{-4}$ | $0.00\times 10^{-13}$ |


## :running: Run
```
cd appendix/appx_A
python ./main.py
Expand Down
2 changes: 1 addition & 1 deletion appendix/appx_B/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
### Tightness of linear relaxation
# :page_facing_up: Tightness of linear relaxation

For FracGM-based rotation and registration solvers, the relaxation is tight if solutions of the relaxed program in $\mathbb{R}^{3\times 3}$ and $\mathbb{R}^{4\times 4}$ are also within $\text{SO}(3)$ and $\text{SE}(3)$ respectively.
In practice, we can evaluate the tightness of the relaxation by checking the orthogonality and determinant of a solution given by the relaxed program.
Expand Down
4 changes: 2 additions & 2 deletions appendix/appx_C/README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
### Sensitivity of initial guess
# :page_facing_up: Sensitivity of initial guess

If a FracGM method satisfies Proposition 3, then it is a global solver, and it should not be sensitive to initial guesses.
We do not think the FracGM-based rotation and registration solvers are insensitive to initial guesses for any kinds of input data, due to the fact that we are unable to verify Proposition 3 at the moment. Nevertheless, empirical studies on experiments show that our FracGM-based solvers are mostly insensitive to initial guesses.

![](./docs/perturbation.png)

We compare our FracGM-based rotation solver with the other Geman-McClure solver, GNC-GM [[17]](#ref1), on the synthetic dataset. We construct various initial guesses by adding some degree of perturbation to the ground truth rotation matrix. With an outlier rate of 50\%, both FracGM and GNC-GM seems insensitive to initial guesses. However, in extreme cases where the outlier rate is 90\%, GNC-GM produces different solutions due to different initial guesses, while FracGM is still insensitive to initial guesses.
We compare our FracGM-based rotation solver with the other Geman-McClure solver, GNC-GM [[17]](#ref1), on the synthetic dataset. We construct various initial guesses by adding some degree of perturbation to the ground truth rotation matrix. With an outlier rate of 50\%, both FracGM and GNC-GM seems insensitive to initial guesses. However, in extreme cases where the outlier rate is 90\%, GNC-GM produces different solutions due to different initial guesses, while FracGM remains insensitive to initial guesses.

<a id="ref1">[17]</a>
H. Yang, P. Antonante, V. Tzoumas, and L. Carlone, “Graduated nonconvexity for robust spatial perception: From non-minimal solvers to global outlier rejection,” IEEE Robotics Autom. Lett., vol. 5, no. 2, pp. 1127–1134, 2020.
Loading