GNC

Yang 2020 · 論文

一行要約 — Graduated Non-Convexity(GNC):凸なサロゲートコストから出発し、それを徐々に目的のロバスト(非凸)コストへと変形させる汎用ロバスト推定フレームワークで、任意の非最小解法のブラックボックスラッパーとして機能する — 初期推定値は不要。

問題

半正定値計画(SDP)や平方和(SOS)緩和は、いくつかのロボティクスおよびビジョン問題(ポーズグラフ最適化、回転平均化、位置合わせ)に対して、証明可能に最適な非最小解法を生み出してきたが、これらの解法は最小二乗の定式化に依存しているため、誤ったループクロージャや誤対応のようなアウトライアに対して脆弱である。標準的な対処法であるロバストコスト関数(Geman-McClure、Truncated Least Squares)は非凸性を再導入するため、局所反復最適化には良い初期推定値が必要となる — そして証明可能な解法はそもそも適用できなくなる。GNCは、初期推定値を必要とせずに非最小解法とロバスト推定を同時に使用可能にする。

手法とアーキテクチャ

アウトライアのない推定は最小二乗、minxXi=1Nr2(yi,x)\min_{\mathbf{x}\in\mathcal{X}}\sum_{i=1}^{N} r^2(\mathbf{y}_i,\mathbf{x})であり、rrは推定値x\mathbf{x}における測定yi\mathbf{y}_iの残差である;ロバスト化は二次項をロバストコストρ\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}はインライアに期待される最大誤差に設定される。Truncated Least Squares(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において、アルゴリズムは2つのステップを交互に行う。

  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}^2のときwi=1w_i=1r^i2μ+1μcˉ2\hat{r}_i^2 \ge \frac{\mu+1}{\mu}\bar{c}^2のときwi=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対応からの弱透視物体ポーズ)に対する初の証明可能に最適な非最小解法を提案し、非単位四元数v=sq\mathbf{v}=\sqrt{s}\,\mathbf{q}における4次多項式をSOS緩和によって最小化する(経験的には常に厳密)。

実験結果

主な結論:ロバストな非最小解法はアウトライア70~80%を許容し、RANSACを上回り、専用の局所解法よりも精度が高く、専用の大域解法よりも高速である — ただしGNCの大域的最適性は保証されない。

SLAMにおける意義

アウトライア除去は、使用可能な地図と破損した地図の分かれ目であり、GNCはすべてのSLAMバックエンドに、問題固有の凸緩和を必要としない、シンプルで汎用的なロバスト化を提供する。GTSAMにはGncOptimizerとして実装されており、ロバストなポーズグラフ最適化、点群位置合わせ、回転平均化に使われている;Carloneグループ内では、証明可能な解法(SE-Sync、TEASER++)を補完する実用的で汎用的なツールとなっている。

関連ノート