MaxCon(最大コンセンサス)

最大コンセンサス(Maximum consensus) は、RANSACが近似的にのみ解いている最適化問題である。残差関数 ri(θ)r_i(\theta) とインライア閾値 ϵ\epsilon を持つ観測が与えられたとき、できるだけ多くの観測に一致するモデルを見つける。

θ=argmaxθ  {i:ri(θ)ϵ}\theta^* = \arg\max_{\theta}\; \bigl|\{\, i : |r_i(\theta)| \leq \epsilon \,\}\bigr|

最大化される集合がコンセンサス集合(インライア集合)である。基礎行列、ホモグラフィ、カメラ姿勢、点群レジストレーションを「最もインライアが多くなるように」フィットさせることは、すべてこの一つの問題のインスタンスである。

RANSACが物語の終わりではない理由

RANSAC はランダムな最小サンプリングによって最大コンセンサスに取り組む:高い確率で良いコンセンサス集合を返すが、

最大コンセンサスを適切な最適化問題として研究するということは、決定論的に厳密な最大化解を見つけるには何が必要かを問うことである。

困難さと厳密なアルゴリズム

悪い知らせは根本的なものだ:最大コンセンサスは一般にNP困難である — どの観測部分集合を信頼するかに関する組合せ問題であり、P = NPでない限り、すべてのインスタンスを効率的に解けるアルゴリズムは存在しない。コンセンサスの目的関数も解析的に厄介である:これは θ\theta の区分的定数の計数関数であり、ほとんどすべての点で勾配がゼロになるため、通常の非線形最適化では直接扱うことができない。

したがって厳密な(大域的に最適な)手法は最悪の場合指数時間のコストを払うが、小規模な問題では実用的になり得る。

maxθ,zizis.t.ri(θ)ϵ+M(1zi)\max_{\theta,\, z} \sum_i z_i \quad \text{s.t.} \quad |r_i(\theta)| \leq \epsilon + M(1 - z_i)

大きな定数 MM を用いて、問題を市販のMIPソルバーに渡す。

有用な再定式化がある:コンセンサスの最大化は、違反された制約の数を最小化すること — 0\ell_0型の目的関数 — と等価である。この視点は、MaxConをそのより扱いやすい代替手法へと結びつける:0\ell_01\ell_1 や他の凸損失に緩和すると凸緩和によるアプローチが得られ、ロバストカーネルを凸から再降下型へ徐々に変形させると段階的非凸性(GNC)が得られる。これらは厳密さを多項式時間の実行時間と引き換えにするが、事後的な最適性証明を伴う場合もある。

実践的な地図

アプローチ保証コスト典型的な用途
RANSAC / PROSAC確率的リアルタイムフロントエンド
ローカル/決定論的リファインメント局所最適低〜中RANSAC結果の仕上げ
凸緩和 / GNCなしまたは証明可能ロバストなレジストレーション、姿勢グラフ
BnB / 木探索 / MIP大域的最適最悪指数時間オフライン、安全性が重要、小規模問題

SLAMにおける意義

SLAMにおけるすべての幾何推定ステップ — 基礎行列、PnP、ループクロージャ検証、点群レジストレーション — は、内部的には最大コンセンサス問題である。リアルタイムのフロントエンドは今後もRANSAC系ヒューリスティックを使い続けるだろうが、厳密な問題を知っておくことで、何が犠牲になっているかが明確になる:ランダム化されたフロントエンドは知らぬ間に最適でないコンセンサス集合を受け入れる可能性があり、それに基づいた一つの誤ったループクロージャが地図全体を歪めてしまうことがある。これが、証明可能なロバスト推定という研究の方向性(大域的最適な回転探索、TEASER式のレジストレーション、GNCバックエンド)を動機づけている。誤った答えのコストが高いSLAMシステムでは、これらの手法がますます見られるようになっている。

関連ノート