マルチセンサーキャリブレーション

現代のSLAMシステムが単一のセンサーだけに頼ることはほとんどない。カメラ-IMUリグ、カメラ-LiDAR車両、あるいはカメラ-IMU-LiDAR-車輪を備えたフルプラットフォームは、センサー同士がどのように関係しているかを正確に知っていなければ機能しない。マルチセンサーキャリブレーションは次の2つを推定する。

最も一般的な組み合わせとツールは以下の通り。

組み合わせ典型的な手法ツール
カメラ-IMU連続時間B-splineの軌跡を画像と慣性データに同時にフィットさせる;外部パラメータ、時間オフセット、IMUの雑音/バイアスパラメータを推定するKalibr(Furgale et al., 2013)
カメラ-LiDARターゲットベース(両センサーに見えるチェッカーボードのコーナー)またはターゲットレス(画像と点群間で平面や辺などを揃える)Autowareのキャリブレーションツール、および多数の研究用ツールキット
マルチカメラキャリブレーションターゲット(AprilGrid/チェッカーボード)を複数の視野で重複させて撮影Kalibrのマルチカム

いくつかの実務的な注意点。カメラ-IMUキャリブレーションには*励振(excitation)*が必要である:外部パラメータと時間オフセットが観測可能になるように、リグをすべての軸に沿って積極的に回転・並進させなければならない。カメラ-LiDARキャリブレーションはより難しい。なぜなら、2つのセンサーは同じ基本要素を直接観測しないからである — LiDARは形状を見て、カメラは見た目を見る — そのため手法は平面、辺、反射ターゲットなどの共有される構造を揃える。最後に、キャリブレーションは一度限りの出来事ではない:マウントはたわみ、温度は変化する。良いVIO/SLAMシステム(例えばVINS-Mono、OpenVINS)は外部パラメータと時間オフセットをオンラインで洗練させる。

推定の実際の仕組み

ハンドアイ形式。 古典的な出発点はハンドアイキャリブレーション方程式である。リグを一連の姿勢を通して動かし、センサーAは自身の相対運動 AkA_k(例えばチェッカーボードから得られるカメラ姿勢)を計測し、センサーBは自身の相対運動 BkB_k(例えば積分されたジャイロの回転)を計測する。X=TABX = T_{AB} が固定された未知の外部パラメータであれば、すべての運動対は以下を満たさなければならない。

AkX=XBk,A_k X = X B_k,

なぜなら、「Aの運動を通ってからリグを横断する」ことは「リグを横断してからBの運動を通る」ことと等しくなければならないからである。多数の運動対を積み重ねると解ける系が得られる — まず回転(クォータニオンまたは回転行列形式の線形問題)、次に並進を解く。これが励振が重要な理由でもある:すべての運動が純粋な並進であれば、XX の回転部分は方程式に一度も現れず、単一軸周りの回転は1つの自由度を観測不能にしてしまう。

連続時間の同時最適化(Kalibr)。 離散的な姿勢対は情報を浪費し、非同期のセンサーをうまく扱えない。Kalibrはリグの軌跡を連続時間B-spline TWB(t)T_{WB}(t) として表現する。これは任意のタイムスタンプで評価でき — 微分することで角速度と加速度も得られる。すると一つの大きな非線形最小二乗問題が、以下を同時に最小化する。

これらをスプライン、外部パラメータ Tcam,imuT_{\text{cam,imu}}、重力方向、IMUバイアス、そして時間オフセット tdt_d にわたって最小化する — tdt_d は単純にスプラインを t+tdt + t_d で評価することで入る。これが、連続時間の定式化が時間キャリブレーションを自然に処理できる理由である。

キャリブレーションの検証。 確認していないキャリブレーションを決して信用してはならない。有用な健全性チェック:キャリブレーションレポートの再投影/残差プロット(残差は構造を持たずホワイトであるべき);LiDAR点を画像に投影し、深度エッジが輝度エッジと揃っているか確認する;自分のVIOを実行し、推定器のオンライン外部パラメータ/時間オフセットの状態がキャリブレーション値からずれていくかどうかを観察する;そして、物差しでリグを物理的に測定する — 5cmのリグでカメラ-IMU並進が30cmも長く返ってくるなら、オプティマイザが何を言おうと間違っている。

よくある落とし穴

SLAMにおける意義

VIO、LiDAR-ビジュアル・インナーシャルオドメトリ、RADARフュージョンなど、すべてのセンサーフュージョンSLAMの定式化は、測定値が共通のフレームと共通の時刻で表現できることを前提としている。外部パラメータや時間オフセットの誤りは、オプティマイザが姿勢やバイアスに吸収しようとする系統的でモデル化されていない残差として現れ、どれだけチューニングしても直らないドリフトと不整合を生む。キャリブレーションを正しく行い(そしてそれを検証する方法を知っていること)は、通常、実世界でのSLAM展開における最初の一歩である。

ハンズオン

関連ノート