GNC

Yang 2020 · 论文

一句话总结 — Graduated Non-Convexity(渐进非凸性):一种通用的鲁棒估计框架,从一个凸的代理代价函数出发,逐步将其变形为目标鲁棒(非凸)代价函数,可作为围绕任意非最小求解器的黑盒包装器——无需初始猜测。

问题

半定规划(SDP)和平方和(SOS)松弛已经为若干机器人与视觉问题(位姿图优化、旋转平均、配准)产生了可证明最优的非最小求解器——但这些求解器依赖于最小二乘表述,因此对错误的回环闭合和虚假匹配等外点较为脆弱。标准的解决办法是使用鲁棒代价函数(Geman-McClure、截断最小二乘),但这又重新引入了非凸性,因此局部迭代优化需要一个良好的初始猜测——而可证明最优的求解器则完全无法应用。GNC使得非最小求解器与鲁棒估计能够同时使用,且无需初始猜测。

方法与架构

无外点情形下的估计是最小二乘问题,minxXi=1Nr2(yi,x)\min_{\mathbf{x}\in\mathcal{X}}\sum_{i=1}^{N} r^2(\mathbf{y}_i,\mathbf{x}),其中 rr 是测量值 yi\mathbf{y}_i 在估计 x\mathbf{x} 处的残差;鲁棒性则是用鲁棒代价函数 ρ\rho 替换二次项。GNC则优化一个由控制参数 μ\mu 支配的代理函数 ρμ\rho_\mu,在调度序列的一端为凸函数,在另一端等于 ρ\rho。对于Geman-McClure(GM)而言:

ρμ(r)=μcˉ2r2μcˉ2+r2,\rho_\mu(r) = \frac{\mu\bar{c}^2 r^2}{\mu\bar{c}^2 + r^2},

μ\mu\to\infty 时变为二次(凸)函数,在 μ=1\mu=1 时恢复为GM;cˉ\bar{c} 设定为内点预期的最大误差。对于截断最小二乘(TLS),也可推导出类似的三段式代理函数,在 μ0\mu\to 0 时为凸函数,在 μ\mu\to\infty 时精确。

关键的实现要素是Black-Rangarajan对偶性:最小化 iρμ(ri)\sum_i \rho_\mu(r_i) 等价于一个加权最小二乘问题加上一个外点过程

minxX, wi[0,1]i=1N(wir2(yi,x)+Φρμ(wi)),\min_{\mathbf{x}\in\mathcal{X},\ w_i\in[0,1]} \sum_{i=1}^{N} \Big( w_i\, r^2(\mathbf{y}_i,\mathbf{x}) + \Phi_{\rho_\mu}(w_i) \Big),

其中 wiw_i 是每个测量的权重,Φρμ\Phi_{\rho_\mu} 是对这些权重的惩罚项——对于GM,Φρμ(wi)=μcˉ2(wi1)2\Phi_{\rho_\mu}(w_i)=\mu\bar{c}^2(\sqrt{w_i}-1)^2;对于TLS,Φρμ(wi)=μ(1wi)μ+wicˉ2\Phi_{\rho_\mu}(w_i)=\frac{\mu(1-w_i)}{\mu+w_i}\bar{c}^2。在每个固定的 μ\mu 下,算法交替执行两个步骤:

  1. 变量更新x(t)=argminxXiwi(t1)r2(yi,x)\mathbf{x}^{(t)} = \arg\min_{\mathbf{x}\in\mathcal{X}} \sum_i w_i^{(t-1)} r^2(\mathbf{y}_i,\mathbf{x}):这是无外点问题的一个加权版本,由现有的非最小求解器(Horn方法、SE-Sync、网格配准SDP等)全局求解。
  2. 权重更新 — 具有闭式解。对于GNC-GM,给定残差 r^i2=r2(yi,x(t))\hat{r}_i^2 = r^2 (\mathbf{y}_i,\mathbf{x}^{(t)})

wi(t)=(μcˉ2r^i2+μcˉ2)2;w_i^{(t)} = \left( \frac{\mu\bar{c}^2}{\hat{r}_i^2 + \mu\bar{c}^2} \right)^{2};

对于GNC-TLS,则采用三段式规则:当 r^i2μμ+1cˉ2\hat{r}_i^2 \le \frac{\mu}{\mu+1}\bar{c}^2wi=1w_i=1,当 r^i2μ+1μcˉ2\hat{r}_i^2 \ge \frac{\mu+1}{\mu}\bar{c}^2wi=0w_i=0,介于两者之间时 wi=cˉr^iμ(μ+1)μw_i = \frac{\bar{c}}{\hat{r}_i}\sqrt{\mu(\mu+1)} - \mu

外层循环随后增加非凸程度:GNC-GM初始化 μ=2rmax2/cˉ2\mu = 2r_{\max}^2/\bar{c}^2,每次外层迭代除以1.4,直至 μ<1\mu<1;GNC-TLS初始化 μ=cˉ2/(2rmax2cˉ2)\mu = \bar{c}^2/(2r_{\max}^2-\bar{c}^2),每次乘以1.4,直至加权残差和收敛。所有权重初始均为1。由于求解器只需求解加权最小二乘问题,GNC可以作为围绕Ceres/g2o/GTSAM风格后端或可证明求解器的黑盒使用。作为进一步贡献,本文提出了首个可证明最优的形状配准(从2D-3D对应关系估计弱透视物体位姿)非最小求解器,通过SOS松弛在非单位四元数 v=sq\mathbf{v}=\sqrt{s}\,\mathbf{q} 上最小化一个四次多项式(经实验验证总是精确的)。

实验结果

核心结论:这些鲁棒非最小求解器能够容忍70–80%的外点,优于RANSAC,比专用局部求解器更精确,且比专用全局求解器更快——尽管GNC无法保证全局最优性。

对SLAM的意义

外点剔除决定了一份地图是可用还是被破坏的,而GNC为每个SLAM后端提供了一种简单、通用的鲁棒化方法,不需要针对具体问题设计凸松弛。它已作为GncOptimizer集成进GTSAM,用于鲁棒的位姿图优化、点云配准和旋转平均;在Carlone研究组内,它与可证明求解器(SE-Sync、TEASER++)互为补充,是那种实用的通用工具。

相关条目