カメラデバイス

カメラハードウェアを理解することは、適切なセンサーを選択し、下流のどのアルゴリズムでも修正できない系統的な誤差を認識するために不可欠である。SLAMシステムが見る画像は、特徴点が検出されるより遥か前に、レンズ、センサー、露出設定によって形作られている。

レンズ

レンズは視野角(FoV)、被写界深度、そして歪みを決定する。

イメージセンサー: CCD対CMOS

グローバルシャッター対ローリングシャッター。 グローバルシャッターは全画素を同時に露光し、幾何学的に一貫したスナップショットを得る。ローリングシャッターは行ごとに順次露光するため、カメラやシーンが速く動くと画像が歪む。低価格のカメラの大半はローリングシャッターであり、動きの速いプラットフォームではグローバルシャッターを購入するか、モデル内で補正する必要がある。

露出、ISO、解像度のトレードオフ

画質は三者間の駆け引きである。

自動露出はフレーム間で画像の明るさを変化させ、直接法が前提とする輝度不変性の仮定を破壊する——固定露出や測光的キャリブレーションが助けになる。VIOリグの場合は、カメラがハードウェアトリガー/タイムスタンプをサポートしていることも確認すること。ソフトウェアタイムスタンプはミリ秒単位でジッターし、カメラ-IMUの緊密な融合には致命的である。

深度取得可能なカメラ構成

視差マップ——半大域マッチング(SGM)によって計算されるか、RGB-Dセンサーから読み取られる、画素ごとのステレオ視差のマップ——は標準的な中間生成物である。視差ddを持つ各画素は、ステレオモデルを通して3D点となる。

SLAM用カメラの選定

屋内SLAMにおける妥当な出発点は、広角レンズを備えた640x480または1280x720のグローバルシャッターカメラである。屋外・高速なプラットフォームの場合は、解像度よりもグローバルシャッターとフレームレートを優先すること。その上で、実運用性能を左右する地味な詳細——固定(または制御可能な)露出、ハードウェアタイムスタンプ、剛性のあるマウント、そしてキャリブレーションツールがサポートするレンズ/モデルの組み合わせ——を確認すること。

よくある落とし穴

SLAMにおける意義

センサーの選択は達成可能な精度の上限を決める。ベースラインはステレオの深度精度を、シャッターの種類はどれだけ速く動けるかを、レンズのFoV/MTFは有効な特徴点の数を決定する。実際には多くの「アルゴリズムのバグ」は、ローリングシャッターのスキュー、自動露出のフリッカー、モーションブラーであることが多く——これらはコードではなくハードウェアと設定のレベルで解決すべき問題である。

関連ノート