{"ID":2835286,"CreatedAt":"2026-06-01T04:54:23.091178241Z","UpdatedAt":"2026-06-01T04:54:23.091178241Z","DeletedAt":null,"paper_url":"https://arxiv.org/abs/2512.00659","arxiv_id":"2512.00659","title":"Fast, Robust, Permutation-and-Sign Invariant SO(3) Pattern Alignment","abstract":"We address the correspondence-free alignment of two rotation sets on \\(SO(3)\\), a core task in calibration and registration that is often impeded by missing time alignment, outliers, and unknown axis conventions. Our key idea is to decompose each rotation into its \\emph{Transformed Basis Vectors} (TBVs)-three unit vectors on \\(S^2\\)-and align the resulting spherical point sets per axis using fast, robust matchers (SPMC, FRS, and a hybrid). To handle axis relabels and sign flips, we introduce a \\emph{Permutation-and-Sign Invariant} (PASI) wrapper that enumerates the 24 proper signed permutations, scores them via summed correlations, and fuses the per-axis estimates into a single rotation by projection/Karcher mean. The overall complexity remains linear in the number of rotations (\\(\\mathcal{O}(n)\\)), contrasting with \\(\\mathcal{O}(N_r^3\\log N_r)\\) for spherical/\\(SO(3)\\) correlation. Experiments on EuRoC Machine Hall simulations (axis-consistent) and the ETH Hand-Eye benchmark (\\texttt{robot\\_arm\\_real}) (axis-ambiguous) show that our methods are accurate, 6-60x faster than traditional methods, and robust under extreme outlier ratios (up to 90\\%), all without correspondence search.","short_abstract":"We address the correspondence-free alignment of two rotation sets on \\(SO(3)\\), a core task in calibration and registration that is often impeded by missing time alignment, outliers, and unknown axis conventions. Our key idea is to decompose each rotation into its \\emph{Transformed Basis Vectors} (TBVs)-three unit vect...","url_abs":"https://arxiv.org/abs/2512.00659","url_pdf":"https://arxiv.org/pdf/2512.00659v1","authors":"[\"Anik Sarker\",\"Alan T. Asbeck\"]","published":"2025-11-29T22:54:25Z","proceeding":"cs.RO","tasks":"[\"cs.RO\",\"cs.CG\",\"cs.CV\"]","methods":"[]","has_code":false}
