DynaSLAM II

Bescós 2021 · 論文

一行要約 — 密結合されたマルチオブジェクトトラッキングとSLAM: DynaSLAMのように動的物体を破棄するのではなく、カメラ姿勢、静的マップ、動く剛体オブジェクトの軌道を1つのバンドル調整で同時に最適化する。

問題

動的物体の除去(DynaSLAM、DS-SLAM)はカメラトラッキングを保護するが、情報を捨てることになる — そして「自動運転、複数ロボット連携、AR/VRを含むほとんどのシナリオは、意思決定とシーン理解を助けるために周囲の明示的な運動情報を必要とする」。DynaSLAM IIはそれゆえ前作の哲学を逆転させる: 動的コンテンツをフィルタして除去するのではなく、ステレオおよびRGB-D構成のための単一の密結合最適化の中で、動く物体の軌道をカメラと同時に推定するのである。

手法とアーキテクチャ

ORB-SLAM2上に構築されている。フレームごとに: 画素単位のインスタンス分割と、ステレオペア間でマッチングされたORB特徴を用いる。静的特徴は前フレーム/マップとマッチングされてカメラを初期化する。動的特徴(車両/歩行者/動物のインスタンス上)はローカルマップのオブジェクト点とマッチングされる — オブジェクトの速度が既知であれば等速モデルによる再投影で、そうでなければ最も重なりの大きいインスタンスに制約されたブルートフォースマッチングで行われる。新しいインスタンスは、そのキーポイントの大部分があるオブジェクトの点にマッチする場合にそのオブジェクトのトラックIDを継承し、これはCNNの2Dボックスに対するIoUマッチングによって裏付けられる。マッチングは前フレームではなくマップオブジェクトに対して行われるため、オクルージョンにも対処できる。新しいオブジェクトのSE(3)姿勢はその3D点群の重心に、姿勢は単位回転で初期化される。

オブジェクトを含む再投影誤差。 古典的な静的残差ei,l=uilπi(TCWixˉWl)\mathbf{e}^{i,l} = \mathbf{u}^l_i - \pi_i(\mathbf{T}^i_{CW}\,\bar{\mathbf{x}}^l_W)は動的点に対して以下のように再定式化される:

erepri,j,k=uijπi(TCWiTWOk,ixˉOj,k),\mathbf{e}^{i,j,k}_{\mathrm{repr}} = \mathbf{u}^j_i - \pi_i\big(\mathbf{T}^i_{CW}\,\mathbf{T}^{k,i}_{WO}\,\bar{\mathbf{x}}^{j,k}_O\big),

ここでTWOk,i\mathbf{T}^{k,i}_{WO}はカメラiiがそれを観測する際のオブジェクトkkの姿勢であり、xˉOj,k\bar{\mathbf{x}}^{j,k}_Oオブジェクトフレームに固定された3D点である。これによりオブジェクト点は一意のままとなる: パラメータ数はN=6Nc+3NcNoNopN = 6N_c + 3N_cN_oN_{op}(フレームごとに独立な点群)からN=6Nc+6NcNo+3NoNopN' = 6N_c + 6N_cN_o + 3N_oN_{op}に縮小する。

オブジェクトを含むBA。 カメラ、静的点、オブジェクト姿勢、オブジェクト点、オブジェクトの速度vik,wikR3\mathbf{v}^k_i, \mathbf{w}^k_i \in \mathbb{R}^3は、2つの追加項を伴い(Huberでロバスト化されて)同時に最適化される: 等速誤差evctei,k=[vi+1kvik; wi+1kwik]\mathbf{e}^{i,k}_{vcte} = \big[\mathbf{v}^k_{i+1}-\mathbf{v}^k_i;\ \mathbf{w}^k_{i+1}-\mathbf{w}^k_i\big]と、速度を姿勢および点に結びつける結合項

evcte,XYZi,j,k=(TWOk,i+1TWOk,iΔTOki,i+1)xˉOj,k,ΔTOki,i+1=[Exp(wikΔt)vikΔt01].\mathbf{e}^{i,j,k}_{vcte,XYZ} = \big(\mathbf{T}^{k,i+1}_{WO} - \mathbf{T}^{k,i}_{WO}\,\Delta\mathbf{T}^{i,i+1}_{O_k}\big)\,\bar{\mathbf{x}}^{j,k}_O, \qquad \Delta\mathbf{T}^{i,i+1}_{O_k} = \begin{bmatrix} \mathrm{Exp}(\mathbf{w}^k_i\,\Delta t) & \mathbf{v}^k_i\,\Delta t \\ \mathbf{0} & 1 \end{bmatrix}.

である。キーフレームはカメラまたはオブジェクトのトラッキングが弱まったときに生成される。オブジェクトトリガーのキーフレームは、そのオブジェクトとカメラを2秒間の時間的なテイル区間にわたって最適化する。Schur補行列による解法はO(Nc3+Nc2Nmp+NcNoNop)O(N_c^3 + N_c^2 N_{mp} + N_c N_o N_{op})のコストとなる。

分離された3Dバウンディングボックス。 CubeSLAMとは異なり、軌道はボックスを待たない: ボックスはトラックごとに一度、RANSAC(オブジェクト点を通る互いに垂直な2平面、観測されない次元にはクラスに基づく事前分布)で当てられ、その後、その画像投影とCNNの2Dボックスとの距離を最小化することで時間ウィンドウにわたって緩やかに精緻化される — オブジェクトを3つ以上のキーフレームが観測した時点で初めて行われ、観測不能な視点にはソフトな次元/姿勢の事前分布が使われる。

実験結果

SLAMにおける意義

DynaSLAM IIは動的SLAMの第二世代を代表する: 動的コンテンツの除去が十分に解決されると、フロンティアはそれを活用する方向へ移った。その中心的な実証的主張 — 動的物体をトラッキングすることはシーン理解のためだけでなく、カメラトラッキング自体にとって有益であるということ — に加え、オブジェクト中心のパラメータ化と軌道をバウンディングボックスから分離する手法は、同時期のVDO-SLAMとともに、運転指向および身体性AI向けのSLAMシステムが基盤とするテンプレートを形成した。

関連ノート