skymatix Developers Blog

株式会社スカイマティクスの開発チームによるDevelopers Blogです。

カメラキャリブレーションについて

目的

スカイマティクスのAI研究員・Liangです。

写真測量学において、精度の向上を追求するためには、カメラレンズの物理的な状態を考慮することが重要なテーマとなる。現在、市販のカメラが大量に生産されていますが、同じカメラでもレンズの形状や物理的な設定に微妙な違いがあり、レンズに欠陥がある場合もあります。そのため、カメラキャリブレーションを導入し、これらの不確定要素を補正することで、可能な限り高い精度を得る必要があります。

カメラキャリブレーション

カメラキャリブレーションの目的は、カメラの内部・外部パラメータを決定し、3D世界座標と2D画像座標の関係を確立することです。これにより、コンピュータビジョンアプリケーションにおいて、正確な測定と幾何学的に正しい画像解析が可能になります。私たちが見つけなければならないターゲットは、全部で3つあります:

  • 内部パラメータ [R, t]: カメラと物体の物理的な関係(回転と並進を含む)。
  • 外部パラメータ K:カメラの幾何学的パラメータ、カメラ中心Oc、焦点距離Fが含まれる。
  • レンズ歪み補正パラメータ [k1, k2, p1, p2, p3]: レンズは多くの場合、球面であるため、図1のように樽型の歪みが発生する。この5つの係数を用いて、計算後に画像を補正します。

通常の場合、3D-2D関係の既知の情報を提供するために、外部マーカーが必要である。一般的には、チェスボードマーカーがよく使われています。ドットマーカーやAruCoマーカーのような他のタイプも同じ精度を達成することができますが、構成は異なる場合があります。 チェスボードの実際のグリッドサイズを与え、アルゴリズムは再投影誤差を最小化することで外部・内部・レンズ歪み補正パラメータを計算することができます(これは予測値と観測値の差を最小化すると考えることができます)。我々の研究事例では、より良いキャリブレーション結果を提供することで、大規模なドーム歪みを修正し、一般的に絶対精度を向上させることができました。 DSM(数値表層モデル)のヒートマップ(左はメーカー設計値、右はキャリブレーション結果を適用)

結論

カメラキャリブレーションは、正確な測定、3D再構成、物体追跡、画像整流、拡張現実、カメラポーズ推定を実現するために不可欠です。写真測量の分野だけでなく、画像の信頼性の高い正確な解析を可能にし、様々なコンピュータビジョンアプリケーションの性能と精度を向上させることができます。

Reference:
https://jp.mathworks.com/help/vision/ug/camera-calibration.html https://docs.opencv.org/4.x/dc/dbb/tutorial_py_calibration.html

www.slideshare.net