画像と点群のずれは、外部変換だけでなく時刻やレンズ歪みにも現れます。切り分けを手順に組み込めるかが気になったテーマです。
結論
カメラとLiDARの融合で最初に固定すべきなのは、校正アルゴリズムよりも座標系、変換方向、単位、時刻基準です。そのうえで、カメラの内部パラメータとレンズ歪みを先に校正し、同期した観測からLiDAR座標系をカメラ座標系へ写す剛体変換を推定します。最後に、校正に使っていない姿勢・距離・視野・速度のデータへ点群を再投影し、誤差の大きさと分布を確認します。
校正時の残差が小さいだけでは不十分です。画像上のずれが内部パラメータ、外部変換、時間オフセット、LiDARの走査遅延のどれに由来するかを条件別に切り分け、用途に応じた合格基準を定める必要があります。
なぜ外部キャリブレーションが重要か
カメラは画素、LiDARは3次元点として同じ対象を観測します。しかし、それぞれの座標原点や軸方向は異なります。外部パラメータに誤りがあると、LiDAR点を画像へ重ねたときに、物体の輪郭から一定方向へずれたり、距離によってずれが変化したりします。物体検出への深度付与、障害物の位置推定、画像と点群の対応付けでは、この空間的な不整合が直接結果に影響します。
前提となる用語
外部パラメータは、LiDAR座標系の点をカメラ座標系へ変換する回転と並進、つまり剛体変換として管理します。実装では、変換をどちら向きに適用するのか、フレーム名、長さの単位、時刻基準を明示します。フレーム間の関係は一貫したフレームツリーで管理し、同じ数値を別の座標軸定義へそのまま移植しないことが重要です。
内部パラメータは焦点距離や主点など、カメラ内部の投影特性を表します。レンズ歪みモデルも画像投影に関係するため、外部変換とは分けて推定し、外部キャリブレーションの前に妥当性を確認します。内部行列と歪みモデルが不正確なままでは、外部変換を調整しても再投影誤差を正しく解釈できません。
推奨する校正手順
1. センサーを剛体として固定する
カメラとLiDARの取り付けを固定し、校正中に相対位置が変わらない状態を作ります。振動や取り付け部の変形が疑われる場合、得られた変換はその時点の状態に限られる可能性があります。
2. 座標系と時刻を確認する
各センサーのフレーム名、軸方向、単位、変換の保存方向を記録します。さらに、ハードウェア同期の有無、LiDAR点ごとのタイムスタンプ、走査中の運動補償の有無を確認します。移動中に時間同期が不足すると、時間オフセットが空間的な外部パラメータ誤差として現れます。必要なら時間オフセットを別パラメータとして推定・検証します。
3. カメラ内部を校正する
平面パターンなどを複数の視点から撮影し、内部パラメータ、歪み、各撮影姿勢を推定します。単一画像だけに依存せず、複数視点の観測で結果を確認します。ここで得た投影モデルを固定してから、カメラとLiDARの外部変換へ進みます。
4. 対応を集めて初期値を求める
既知形状のターゲットを使う場合、LiDAR側の3次元特徴と画像側の2次元特徴、またはターゲット平面を対応付けます。十分な姿勢や視点の違いを含む観測から、まず外部変換の初期値を求めます。初期値の品質が低いと、後段の非線形最適化が適切な解へ到達しない場合があります。
5. SE(3)上で最適化する
初期変換を出発点に、3次元点をカメラ座標系へ変換し、内部パラメータと歪みモデルを適用して画像へ投影します。3D-2Dの再投影残差、点と平面の残差など、利用できる対応に応じた目的関数を最適化します。
flowchart LR A["センサーを剛体として固定"] --> B["座標系・単位・変換方向・時刻を確認"] B --> C["カメラ内部パラメータと歪みを校正"] C --> D["同期した観測データを収集"] D --> E["3D-2Dまたは特徴・平面の対応を作成"] E --> F["外部変換の初期値を推定"] F --> G["SE(3)上で再投影・幾何残差を最適化"] G --> H["未使用データで再投影・幾何・時間整合を検証"] H --> I["条件別の誤差を診断して合否基準を判断"] I -. "運動時のみ誤差が増える場合" .-> B
ターゲット方式とターゲットレス方式
既知ターゲット方式は、対応する幾何が明確で、初期推定と残差の意味を説明しやすい方法です。一方、設置や撮影の準備が必要で、ターゲットの見え方や配置が観測条件を制限します。
ターゲットを設置しない方式では、LiDAR点群の反射強度や投影情報と、画像の明るさ・外観との相互情報量を最大化する方法が提案されています。また、画像エッジなどの視覚特徴とレーザー点の幾何を使い、運用中に外部パラメータを調整する方式もあります。ただし、シーンのテクスチャ、反射率、天候、動的物体による安定性は個別データで確認する必要があります。
| 方式 | 準備 | 強み | 注意点 |
|---|---|---|---|
| 既知ターゲット | ターゲット設置と対応抽出 | 幾何的に解釈しやすく、初期推定を作りやすい | 設置条件と視点の設計が必要 |
| 相互情報量によるターゲットレス | 専用ターゲット不要 | 実環境の観測を利用できる | 外観や反射特性への依存を確認する必要がある |
| 画像エッジとレーザー特徴 | 運用中の特徴観測 | 固定ターゲットに依存せず更新を目指せる | 特徴の量と動的環境の影響を受ける |
| 時空間キャリブレーション | 同期状態を含む観測 | 空間変換と時間オフセットを同時に扱える | 固定・同期済みのシステムでは必要な自由度を見極める必要がある |
融合結果の検証方法
推定した変換でLiDAR点をカメラ座標系へ移し、深度が正の点だけを残します。その後、内部行列と歪みモデルで画像へ再投影し、次の項目を記録します。
- 再投影誤差の中央値と95パーセンタイル
- 画像外へ出る点の割合
- カメラ後方へ回る点の割合
- 点群と画像エッジの距離
- 平面や既知物体に対する点・平面残差
- 外れ値率や深度の不整合
校正に使用したフレームだけでなく、未使用の姿勢、距離、視野、走行速度のデータで評価します。これにより、校正対象への過学習や、特定条件だけで成立する変換を検出しやすくなります。
flowchart LR
A["LiDAR frameの3D点 p_L"] --> B["LiDARからcameraへの剛体変換\n回転 R・並進 t"]
B --> C["camera frameの点 p_C = R p_L + t"]
C --> D{"深度 z が正か"}
D -- "いいえ" --> E["点を除外"]
D -- "はい" --> F["内部行列と歪みモデルを適用"]
F --> G["画像座標へ投影 u,v"]
G --> H["画像エッジ・特徴・対象領域との整合を評価"]
H --> I["再投影誤差や点・平面残差を記録"]残差は一つの平均値にまとめず、画像位置、対象までの距離、姿勢、LiDARの走査時刻、運動速度ごとに分解します。画像周辺に放射状の誤差が現れるなら、内部パラメータや歪みを疑います。距離や位置にかかわらず一定方向へずれるなら外部変換が手掛かりになります。運動時だけ誤差が増える場合は、時間同期やLiDARの走査遅延を確認します。
制約と判断基準
再投影誤差や点群の重なりに、全ロボットへ適用できる単一の合格閾値はありません。カメラ解像度、LiDARの角分解能、対象物の大きさ、認識タスクが求める精度によって許容範囲が変わるためです。まず融合結果を使うタスクから必要な空間精度を定義し、その要求を再投影誤差、エッジ距離、平面残差などの検査項目へ落とし込みます。
固定マウントで同期済みなら、空間変換を静的パラメータとして扱う構成が考えられます。走行中のデータを使う場合や同期が不十分な場合は、時間オフセットや走査遅延を空間誤差と分離して評価します。具体的なターゲットサイズ、撮影枚数、再校正周期、温度や振動によるドリフト量は、センサー仕様と実データがなければ確定できません。
flowchart TD
A["校正に未使用の検証データ"] --> B["LiDAR点を画像へ再投影"]
B --> C["画像位置・距離・姿勢・速度・点の時刻で分割"]
C --> D["再投影誤差・エッジ距離・平面残差・外れ値率を集計"]
D --> E{"誤差のパターン"}
E -- "画像周辺で放射状に増える" --> F["内部パラメータやレンズ歪みを確認"]
E -- "距離や位置によらず一定方向へずれる" --> G["外部変換・座標定義・取り付けを確認"]
E -- "運動時や速度上昇時だけ増える" --> H["時間同期・時間オフセット・走査遅延を確認"]
E -- "特定の距離・姿勢・視野だけで増える" --> I["観測条件の不足や過学習を確認"]
F --> J["原因別に再校正・追加検証を判断"]
G --> J
H --> J
I --> Jどの方式を採用すべきか
再現性と説明可能性を優先し、準備できる環境なら、既知ターゲット、内部校正、対応による初期推定、SE(3)最適化、独立データ検証の順が基本です。ターゲットを置けない場合は、相互情報量や画像エッジを使うターゲットレス方式を候補にしますが、シーン条件に対する安定性を検証します。
走行中に誤差が増えるなら、外部パラメータだけを再調整する前に、同期と走査時刻を確認します。未使用データで一貫した誤差が残り、原因が条件別に特定できない場合は、内部校正、座標定義、取り付け剛性を順番に見直します。
まとめ
カメラとLiDARの外部キャリブレーションは、座標系と時刻基準の明確化、カメラ内部の分離校正、対応からの初期推定、SE(3)最適化、独立データによる検証に分けて進めます。評価では再投影だけでなく、エッジ、平面、深度、外れ値を条件別に記録し、空間誤差と時間由来の誤差を切り分けることが判断の軸になります。
参考情報
- REP-105 — Coordinate Frames for Mobile Platforms
- A Flexible New Technique for Camera Calibration
- Unified Temporal and Spatial Calibration for Multi-Sensor Systems
- Automatic Targetless Extrinsic Calibration of a 3D Lidar and a Camera by Maximizing Mutual Information
- Automatic Online Calibration of Cameras and Lasers
- The KITTI Vision Benchmark Suite
- OpenCV 4.10.0 — Camera Calibration and 3D Reconstruction
融合結果を目視するだけでなく、条件別の残差として記録することが、再校正の判断につながります。
AI利用に関する注記
本サイトの記事は、複数のAIエージェントによる調査・執筆・レビューを経て公開しています。正確性と品質の向上に努めていますが、内容については必ず一次情報をご確認ください。