SE-Sync

Rosen 2019 · 论文

一句话总结 — 首个可证明正确的位姿图优化算法:通过黎曼优化求解的SDP松弛,能恢复全局最优解并给出最优性证明(arXiv 2016年,IJRR 2019年)。

问题

SE(d)SE(d)同步——即根据mm个成对相对变换的噪声观测,估计nn个未知位姿x1,,xnSE(d)x_1,\dots,x_n \in SE(d),其中xij=xi1xjx_{ij} = x_i^{-1}x_j——是标准的SLAM后端问题(位姿图SLAM、相机位姿估计)。在论文所用的生成模型下(具有精度τij\tau_{ij}的高斯平移噪声、具有集中度κij\kappa_{ij}的各向同性Langevin旋转噪声),最大似然估计最小化

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 .

这是一个高维非凸非线性规划,一般情况下计算上很困难:局部求解器(g2o、GTSAM、Ceres)可能悄无声息地收敛到远离真实解的局部极小值,且无法知道返回的答案是否为全局最优——这对于安全关键的自主系统而言是不可接受的。

方法与架构

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),

因此pSDPpMLEp^{*}_{\mathrm{SDP}} \le p^{*}_{\mathrm{MLE}}命题1:存在β>0\beta > 0,使得若Q~Qˉ2<β\lVert \tilde{Q} - \bar{Q} \rVert_2 < \beta(其中Qˉ\bar{Q}是真实潜在变换的数据矩阵——即噪声低于某个临界阈值),则该SDP具有唯一Z=RTRZ^{*} = R^{*\mathsf{T}}R^{*},其中RSO(d)nR^{*} \in SO(d)^n即为精确的MLE解。每当舍入后的估计达到SDP下界时,该等式即构成全局最优性的计算证书

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).

命题2(承自Boumal等人的工作):该问题的任何秩缺失二阶临界点都是全局最小值点,并能得到SDP的解——因此算法沿秩的层级逐步攀升(“黎曼阶梯”),直到出现秩缺失的临界点。

实验结果

(基于Manopt的MATLAB实现,阶梯法固定为r=5r=5,从St(3,5)n\mathrm{St}(3,5)^n上的随机点初始化;基线为:里程计初始化的高斯-牛顿法、弦初始化的GN,以及GN-弦初始化加事后验证。)

对SLAM的意义

SE-Sync回答了一个基础性问题:尽管位姿图优化是非凸的,但实际SLAM中出现的问题实例是可全局求解的,并且你可以知道自己是否已经得到了全局最优解。这一发现开启了可证明感知的研究方向(用于配准的TEASER++、用于旋转搜索的QUASAR),并为SLAM后端提供了一种验证工具——例如,在可能存在受损回环的情况下,检查局部求解器给出的答案是否真正达到最优。

相关条目