SE-Sync

Rosen 2019 · Paper

One-line summary — First certifiably correct algorithm for pose graph optimization: an SDP relaxation solved via Riemannian optimization that recovers the globally optimal solution with a proof of optimality (arXiv 2016, IJRR 2019).

Problem

SE(d)SE(d) synchronization — estimate nn unknown poses x1,,xnSE(d)x_1,\dots,x_n \in SE(d) from noisy measurements of mm of their pairwise relative transforms xij=xi1xjx_{ij} = x_i^{-1}x_j — is the standard SLAM backend problem (pose-graph SLAM, camera pose estimation). Under the paper’s generative model (Gaussian translation noise with precision τij\tau_{ij}, isotropic Langevin rotation noise with concentration κij\kappa_{ij}), the maximum-likelihood estimate minimizes

pMLE=mintiRd,  RiSO(d)(i,j)EκijRjRiR~ijF2+τijtjtiRit~ij22.p^{*}_{\mathrm{MLE}} = \min_{t_i \in \mathbb{R}^d,\; R_i \in SO(d)} \sum_{(i,j)\in\vec{\mathcal{E}}} \kappa_{ij}\big\lVert R_j - R_i\tilde{R}_{ij}\big\rVert_F^2 + \tau_{ij}\big\lVert t_j - t_i - R_i\tilde{t}_{ij}\big\rVert_2^2 .

This is a high-dimensional non-convex nonlinear program, computationally hard in general: local solvers (g2o, GTSAM, Ceres) can silently converge to local minima far from the true solution, with no way to know whether a returned answer is globally optimal — unacceptable for safety-critical autonomy.

Method & architecture

pSDP=minZ0  tr(Q~Z)s.t.BlockDiagd×d(Z)=Diag(Id,,Id),p^{*}_{\mathrm{SDP}} = \min_{Z \succeq 0}\; \operatorname{tr}(\tilde{Q} Z) \quad \text{s.t.} \quad \mathrm{BlockDiag}_{d\times d}(Z) = \mathrm{Diag}(I_d,\dots,I_d),

so pSDPpMLEp^{*}_{\mathrm{SDP}} \le p^{*}_{\mathrm{MLE}}. Proposition 1: there exists β>0\beta > 0 such that if Q~Qˉ2<β\lVert \tilde{Q} - \bar{Q} \rVert_2 < \beta (with Qˉ\bar{Q} the data matrix of the true latent transforms — i.e. noise below a critical threshold), the SDP has a unique solution Z=RTRZ^{*} = R^{*\mathsf{T}}R^{*} with RSO(d)nR^{*} \in SO(d)^n the exact MLE. Whenever the rounded estimate attains the SDP lower bound, that equality is a computational certificate of global optimality.

pSDPLR=minYSt(d,r)ntr(Q~YTY).p^{*}_{\mathrm{SDPLR}} = \min_{Y \in \mathrm{St}(d,r)^n} \operatorname{tr}(\tilde{Q}\, Y^{\mathsf{T}} Y).

Proposition 2 (after Boumal et al.): any rank-deficient second-order critical point of this problem is a global minimizer and yields the SDP solution — so one climbs the rank hierarchy (“Riemannian staircase”) until a rank-deficient critical point appears.

Results

(MATLAB implementation on Manopt, staircase fixed at r=5r=5, initialized from a random point on St(3,5)n\mathrm{St}(3,5)^n; baselines: Gauss–Newton with odometric init, GN with chordal init, and GN-chordal plus a posteriori verification.)

Why it matters for SLAM

SE-Sync answered a foundational question: despite PGO’s non-convexity, the instances arising in practical SLAM are globally solvable, and you can know when you have the global optimum. This launched the certifiable-perception research program (TEASER++ for registration, QUASAR for rotation search) and gave SLAM backends a verification tool — e.g., checking whether a local solver’s answer is actually optimal after potentially corrupted loop closures.