センサー

カメラとLiDARの外部キャリブレーション:点群と画像を正しく重ねる方法

抽象化されたカメラの投影線とLiDARの点群が共通の三次元座標空間で重なり合うイラスト
目次

画像と点群のずれは、外部変換だけでなく時刻やレンズ歪みにも現れます。切り分けを手順に組み込めるかが気になったテーマです。

結論

カメラとLiDARの融合で最初に固定すべきなのは、校正アルゴリズムよりも座標系、変換方向、単位、時刻基準です。そのうえで、カメラの内部パラメータとレンズ歪みを先に校正し、同期した観測からLiDAR座標系をカメラ座標系へ写す剛体変換を推定します。最後に、校正に使っていない姿勢・距離・視野・速度のデータへ点群を再投影し、誤差の大きさと分布を確認します。

校正時の残差が小さいだけでは不十分です。画像上のずれが内部パラメータ、外部変換、時間オフセット、LiDARの走査遅延のどれに由来するかを条件別に切り分け、用途に応じた合格基準を定める必要があります。

なぜ外部キャリブレーションが重要か

カメラは画素、LiDARは3次元点として同じ対象を観測します。しかし、それぞれの座標原点や軸方向は異なります。外部パラメータに誤りがあると、LiDAR点を画像へ重ねたときに、物体の輪郭から一定方向へずれたり、距離によってずれが変化したりします。物体検出への深度付与、障害物の位置推定、画像と点群の対応付けでは、この空間的な不整合が直接結果に影響します。

前提となる用語

外部パラメータは、LiDAR座標系の点をカメラ座標系へ変換する回転と並進、つまり剛体変換として管理します。実装では、変換をどちら向きに適用するのか、フレーム名、長さの単位、時刻基準を明示します。フレーム間の関係は一貫したフレームツリーで管理し、同じ数値を別の座標軸定義へそのまま移植しないことが重要です。

内部パラメータは焦点距離や主点など、カメラ内部の投影特性を表します。レンズ歪みモデルも画像投影に関係するため、外部変換とは分けて推定し、外部キャリブレーションの前に妥当性を確認します。内部行列と歪みモデルが不正確なままでは、外部変換を調整しても再投影誤差を正しく解釈できません。

推奨する校正手順

1. センサーを剛体として固定する

カメラとLiDARの取り付けを固定し、校正中に相対位置が変わらない状態を作ります。振動や取り付け部の変形が疑われる場合、得られた変換はその時点の状態に限られる可能性があります。

2. 座標系と時刻を確認する

各センサーのフレーム名、軸方向、単位、変換の保存方向を記録します。さらに、ハードウェア同期の有無、LiDAR点ごとのタイムスタンプ、走査中の運動補償の有無を確認します。移動中に時間同期が不足すると、時間オフセットが空間的な外部パラメータ誤差として現れます。必要なら時間オフセットを別パラメータとして推定・検証します。

3. カメラ内部を校正する

平面パターンなどを複数の視点から撮影し、内部パラメータ、歪み、各撮影姿勢を推定します。単一画像だけに依存せず、複数視点の観測で結果を確認します。ここで得た投影モデルを固定してから、カメラとLiDARの外部変換へ進みます。

4. 対応を集めて初期値を求める

既知形状のターゲットを使う場合、LiDAR側の3次元特徴と画像側の2次元特徴、またはターゲット平面を対応付けます。十分な姿勢や視点の違いを含む観測から、まず外部変換の初期値を求めます。初期値の品質が低いと、後段の非線形最適化が適切な解へ到達しない場合があります。

5. SE(3)上で最適化する

初期変換を出発点に、3次元点をカメラ座標系へ変換し、内部パラメータと歪みモデルを適用して画像へ投影します。3D-2Dの再投影残差、点と平面の残差など、利用できる対応に応じた目的関数を最適化します。

外部キャリブレーションは、内部校正と座標・時刻の確認を分けたうえで、初期推定、SE(3)最適化、独立データによる検証の順に進めます。

ターゲット方式とターゲットレス方式

既知ターゲット方式は、対応する幾何が明確で、初期推定と残差の意味を説明しやすい方法です。一方、設置や撮影の準備が必要で、ターゲットの見え方や配置が観測条件を制限します。

ターゲットを設置しない方式では、LiDAR点群の反射強度や投影情報と、画像の明るさ・外観との相互情報量を最大化する方法が提案されています。また、画像エッジなどの視覚特徴とレーザー点の幾何を使い、運用中に外部パラメータを調整する方式もあります。ただし、シーンのテクスチャ、反射率、天候、動的物体による安定性は個別データで確認する必要があります。

方式準備強み注意点
既知ターゲットターゲット設置と対応抽出幾何的に解釈しやすく、初期推定を作りやすい設置条件と視点の設計が必要
相互情報量によるターゲットレス専用ターゲット不要実環境の観測を利用できる外観や反射特性への依存を確認する必要がある
画像エッジとレーザー特徴運用中の特徴観測固定ターゲットに依存せず更新を目指せる特徴の量と動的環境の影響を受ける
時空間キャリブレーション同期状態を含む観測空間変換と時間オフセットを同時に扱える固定・同期済みのシステムでは必要な自由度を見極める必要がある

融合結果の検証方法

推定した変換でLiDAR点をカメラ座標系へ移し、深度が正の点だけを残します。その後、内部行列と歪みモデルで画像へ再投影し、次の項目を記録します。

  • 再投影誤差の中央値と95パーセンタイル
  • 画像外へ出る点の割合
  • カメラ後方へ回る点の割合
  • 点群と画像エッジの距離
  • 平面や既知物体に対する点・平面残差
  • 外れ値率や深度の不整合

校正に使用したフレームだけでなく、未使用の姿勢、距離、視野、走行速度のデータで評価します。これにより、校正対象への過学習や、特定条件だけで成立する変換を検出しやすくなります。

LiDAR点は外部変換でカメラ座標系へ移し、正の深度を持つ点をカメラの内部パラメータと歪みモデルで画像へ再投影します。

残差は一つの平均値にまとめず、画像位置、対象までの距離、姿勢、LiDARの走査時刻、運動速度ごとに分解します。画像周辺に放射状の誤差が現れるなら、内部パラメータや歪みを疑います。距離や位置にかかわらず一定方向へずれるなら外部変換が手掛かりになります。運動時だけ誤差が増える場合は、時間同期やLiDARの走査遅延を確認します。

制約と判断基準

再投影誤差や点群の重なりに、全ロボットへ適用できる単一の合格閾値はありません。カメラ解像度、LiDARの角分解能、対象物の大きさ、認識タスクが求める精度によって許容範囲が変わるためです。まず融合結果を使うタスクから必要な空間精度を定義し、その要求を再投影誤差、エッジ距離、平面残差などの検査項目へ落とし込みます。

固定マウントで同期済みなら、空間変換を静的パラメータとして扱う構成が考えられます。走行中のデータを使う場合や同期が不十分な場合は、時間オフセットや走査遅延を空間誤差と分離して評価します。具体的なターゲットサイズ、撮影枚数、再校正周期、温度や振動によるドリフト量は、センサー仕様と実データがなければ確定できません。

平均値だけで判断せず、画像位置や距離、運動条件、点の時刻ごとに残差を分解すると、内部・外部・時間由来の誤差を切り分けやすくなります。

どの方式を採用すべきか

再現性と説明可能性を優先し、準備できる環境なら、既知ターゲット、内部校正、対応による初期推定、SE(3)最適化、独立データ検証の順が基本です。ターゲットを置けない場合は、相互情報量や画像エッジを使うターゲットレス方式を候補にしますが、シーン条件に対する安定性を検証します。

走行中に誤差が増えるなら、外部パラメータだけを再調整する前に、同期と走査時刻を確認します。未使用データで一貫した誤差が残り、原因が条件別に特定できない場合は、内部校正、座標定義、取り付け剛性を順番に見直します。

まとめ

カメラとLiDARの外部キャリブレーションは、座標系と時刻基準の明確化、カメラ内部の分離校正、対応からの初期推定、SE(3)最適化、独立データによる検証に分けて進めます。評価では再投影だけでなく、エッジ、平面、深度、外れ値を条件別に記録し、空間誤差と時間由来の誤差を切り分けることが判断の軸になります。

参考情報

融合結果を目視するだけでなく、条件別の残差として記録することが、再校正の判断につながります。

AI利用に関する注記

本サイトの記事は、複数のAIエージェントによる調査・執筆・レビューを経て公開しています。正確性と品質の向上に努めていますが、内容については必ず一次情報をご確認ください。

参考にした一次情報