diff --git a/README.md b/README.md index 83fae2a..5ff3ee1 100644 --- a/README.md +++ b/README.md @@ -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** diff --git a/appendix/README.md b/appendix/README.md index 154212c..1dda85c 100644 --- a/appendix/README.md +++ b/appendix/README.md @@ -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 diff --git a/appendix/appx_A/README.md b/appendix/appx_A/README.md index dec48e7..3d51b63 100644 --- a/appendix/appx_A/README.md +++ b/appendix/appx_A/README.md @@ -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}, @@ -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 diff --git a/appendix/appx_B/README.md b/appendix/appx_B/README.md index af693fa..625fe09 100644 --- a/appendix/appx_B/README.md +++ b/appendix/appx_B/README.md @@ -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. diff --git a/appendix/appx_C/README.md b/appendix/appx_C/README.md index c93e387..f0ff4ff 100644 --- a/appendix/appx_C/README.md +++ b/appendix/appx_C/README.md @@ -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. [17] 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. \ No newline at end of file