記事を読んだ後のカメラのキャリブレーションは 5 分で完了

カメラキャリブレーションとは、簡単に言うと、世界座標系→カメラ座標系→画像(物理)座標系→ピクセル座標系の間の変換関係(パラメータ)を解く処理です。

カメラのキャリブレーションを行う理由

最初に結論についてお話します。カメラ画像の幾何学的モデルを確立し、レンズの歪みを修正します。

カメラ画像ジオメトリモデル

コンピュータビジョンの主なタスクは、キャプチャされた画像情報を通じて現実の 3 次元世界の物体の対応する情報を取得することであるため、3 つの画像情報からマッピングの過程で物体の幾何学的モデルを確立することが特に重要です。 -次元の世界をカメラの撮像面に。

レンズの歪みを修正する

レンズの製造プロセスにより、画像にはさまざまな形の歪みが発生しますが、この歪みを除去する(理論的にマッピングされた画像と一致するようにする)ために、歪み係数を計算して補正します。収差。(理論的には歪みを生じないレンズを設計することは可能ですが、実際には製造プロセスなどの制限や要因により、ほとんどのレンズ歪みは依然としてアルゴリズム レベルで解決する必要があります)

4 つの主要な座標系

座標系名 座標系の説明
世界座標系 (3D) 現実世界におけるターゲットの位置を記述する(Xw、Yw、Zw)
カメラ座標系(3D) 世界座標系と画像座標系に接し、カメラ光軸は Z 軸 (Xc、Yc、Zc)
画像(物理)座標系(2D) カメラ座標系を透視投影により画像座標系に変換し、単位はmm、カメラ光軸と画像座標系の交点を座標原点(x,y)とします。
ピクセル座標系 (2D) 画像座標系の単位距離(mm)をピクセルに変換し、左上隅を座標原点(u、v)とします。

座標変換の基本的な流れ
グラフ座標変換の基本処理

カメラキャリブレーション結果
座標変換行列
座標変換行列式

1. 外部パラメータ (数値) マトリックス: 世界座標系上の点は、回転と平行移動 (剛体変換) を通じてカメラ座標系上の対応する位置に変換されます。

剛体変換
グラフの剛体変換

主なキャリブレーション外部パラメータ: R (回転行列)、T (平行移動行列)。


視点変換
2. 内部パラメータ (数値) マトリックス: カメラ座標系上の点は、透視投影を通じて画像 (物理) 座標系上の対応する位置に変換され、対応するピクセルに電子化されます。画像の透視変換

主なキャリブレーション内部パラメータ: fx fy (単位距離あたりのピクセル数)、cx cy (ピクセル座標系における画像座標系の原点の座標)、s (スケール係数)。

3. レンズの歪み: レンズの製造精度 (半径方向の歪み、k1 k2 k3)、組み立てプロセス (接線方向の歪み、p1 p2) および線形歪み (「近大、遠小」) の偏差により、元の画像 (「画像」) の歪みが生じます。 「なぜ理論上の位置ではなく、現在の位置にあるのか)。簡単に言えば、理想的な画像座標系と実際の画像座標系との間の「ギャップ」です。

レンズ歪み補正

一般的な歪みの種類
図 一般的な歪みの種類

歪曲収差補正式
歪み補正式

式に示されているように、通常は多項式を使用して歪みの法則に適合させ、補正を行います。接線方向の歪みの影響は非常に小さく、通常は考慮されないため、通常は k1 k2 k3 を求めるだけで済みます (k3 が考慮されない場合もあり、k1 k2 を使用することによって得られる補正効果も工学的ニーズを満たします)。

一般的なカメラのキャリブレーション方法

歪みを考慮しない目的関数
この定式化では目的関数の歪みが考慮されていません。

歪みを考慮した目的関数
この式では歪みの目的関数が考慮されています。

このうち、n は画像の数、m は 1 つの画像の座標点の数です。最適化手法を直接使用して計算すると、局所最適に陥りやすくなります (初期値が良くない場合は陥りやすくなります)。Zhang の校正法の主な意義は、数値解法によって比較的正確な初期値 (歪み係数を含む歪みを考慮する場合) を解決し、その後、最適化方法を使用して目的関数を微調整することです。

より詳細な内容については、著者の論文を参照してください: 未知の方向から平面を表示することによる柔軟なカメラのキャリブレーション
リンク: https://pan.baidu.com/s/1XlDrL-p5e7mUOlj__412Rw 抽出コード: 0t7y

要約する

カメラのキャリブレーションには OpenCV の cv2.calibrateCamera() 関数を使用できます。この記事では、主にカメラ キャリブレーションの概念と簡単なプロセスを紹介しますが、詳細なカメラ キャリブレーション プロセスについては、実際のエンジニアリングのニーズに従ってください。

参考

1. https://zhuanlan.zhihu.com/p/24651968

おすすめ

転載: blog.csdn.net/weixin_41006390/article/details/105477966