センサーからの深度取得

RGB-Dカメラは、カラー画像とピクセルごとの深度画像を同時に取得する。深度をハードウェアから直接得られることは、SLAM問題を根本的に変える。解決すべきスケールの曖昧性が存在せず、マップが有用になる前に視差から点を三角測量する必要もなく、最初のフレームから密な再構成が可能になる。この分野は2010〜2011年頃に安価な民生用深度カメラ(Microsoft Kinect)が登場したことで一気に開花し、KinectFusionを皮切りとするリアルタイム・ボリューメトリック融合システムの波を引き起こした。

2つのセンシング原理(とそのハイブリッド)

支配的なセンシング原理は2つある。

3つ目の関連する方式としてアクティブIRステレオ(例: Intel RealSense D400シリーズ)がある。これは古典的なステレオペアを投影されたIRテクスチャで補助するもので、テクスチャのない表面でも動作しつつ、日光下では受動ステレオへ緩やかに劣化する。

構造化光アクティブIR ToF
原理パターンの三角測量ピクセルごとの伝播時間
典型的な有効範囲約0.5〜4 m最大約4〜5 m
センサー例Kinect v1, Orbbec AstraKinect v2, Azure Kinect
弱点日光、パターン干渉マルチパス反射、日光

深度誤差の振る舞い

焦点距離ff、基線長bb、視差ddを持つ任意の三角測量ベースのセンサー(構造化光、アクティブまたはパッシブステレオ)では、深度はZ=fb/dZ = fb/dで与えられる。これを微分すると、こうしたセンサーが距離とともに劣化する理由がわかる。視差誤差σd\sigma_dは距離に対して二次的に増大する深度誤差を生む。

σZZ2fbσd.\sigma_Z \approx \frac{Z^2}{f\,b}\,\sigma_d.

1 mでミリメートル精度のセンサーでも、4 mでは数センチメートルずれることがある。ToFセンサーはこれとは異なる劣化の仕方をする。ランダムノイズは距離に対してより緩やかに増大するが、代わりに特徴的な系統誤差、すなわちマルチパス干渉(放射された光が2つの表面で反射してから戻ってくることで、角や凹んだ領域にバイアスが生じる)とフライングピクセル(深度の不連続部をまたぐ、実体のない偽の深度値)に苦しむ。これが、RGB-D SLAMシステムが距離に応じて計測を重み付けし、遠方の読み取り値を切り捨て、深度エッジをフィルタリングする理由である。

一般的なデバイス

トレードオフとその注意点

メトリックスケールを無償で得られることのトレードオフは、いくつかの厳しい物理的制約である。有効範囲が短い(数メートル程度)ため、これらのセンサーは屋内向けデバイスである。強い赤外線環境光(日光)は放射信号をかき消してしまう。暗い、吸光性の、透明な、あるいは鏡面反射する材質は、信号をほとんど返さないか、破損した信号を返すため、深度画像に穴ができる。深度ノイズも距離とともに増大する。三角測量ベースのセンサーではおおよそ二次的に増大するため、RGB-D SLAMシステムは遠方の計測を重み付けするか切り捨てる。

よくある落とし穴

SLAMにおける意義

RGB-D SLAMにおけるすべての設計判断はセンサーから流れ出ている。ピクセルごとのメトリック深度は、ICPによる密なフレーム対モデルトラッキングと、ボリューメトリックTSDFまたはサーフェル融合を可能にする一方、センサーのノイズモデル、有効範囲、材質による失敗モードが、それらのシステムがどこで破綻するかを決定する。深度が構造化光、ToF、アクティブステレオのいずれから得られているかを知ることは、そのシステムがどの環境で生き延びられるかを知ることであり、なぜRGB-D SLAMが屋内技術であり、屋外システムがステレオやLiDARに頼るのかを知ることでもある。

関連ノート