主要内容

このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

魚眼キャリブレ,ションの基礎

カメラのキャリブレ,ションは,カメラの外部パラメ,タ,と内部パラメ,タ,を計算するプロセスです。カメラのキャリブレ,ションを行うと、イメージ情報を使用して 2 次元イメージから 3 次元情報を復元できます。また、魚眼カメラで撮影したイメージの歪みを補正できます。Computer Vision Toolbox™ には、ピンホール カメラ モデル用と魚眼カメラ モデル用のキャリブレーション アルゴリズムが含まれています。魚眼カメラ モデルで使用できる視野 (FOV) は 195 度までです。

魚眼カメラはオドメトリで,自己位置推定と環境地図作成の同時実行(大满贯)の問題を視覚的に解決するために使用されます。360度の視野(FOV)およびスティッチングアルゴリズムを取得する他のアプリケーションには,監視システム,还装有,バーチャルリアリティ(VR)などがあります。これらのカメラは,複雑な一連のレンズを使用してカメラの視野を拡大して,この視野を有効にして広いパノラマイメージや半球イメージを撮影します。ただし,レンズは@ # @メ,ジ内の投影の線を歪めることで,この極端な広角表示を達成します。

魚眼レンズが生成する極端な歪みのため,ピンホ,ルモデルは魚眼カメラをモデル化できません。

魚眼カメラモデル

计算机视觉工具箱のキャリブレーションアルゴリズムでは,Scaramuzza[1]により提唱された魚眼カメラモデルを使用します。モデルでは,無指向性カメラモデルが使用されます。処理では撮像システムをコンパクトなシステムとして扱います。3次元ワールドポイントを2次元イメージに関連付けるために,カメラの外部パラメーターと内部パラメーターを取得しなければなりません。ワルドポントは外部パラメタを使ってカメラ座標に変換されます。カメラ座標は内部パラメタを使ってメジ平面にマッピングされます。

外部パラメタ

外部パラメ,タ,は,回転Rと変換tで構成されています。カメラの座標系の原点はその光学的中心にあり,x軸とy軸でxメ,ジ平面が定義されます。

ワルドポントからカメラ点への変換は,次のように行われます。

内部パラメタ

魚眼カメラモデルの場合,内部パラメ,タ,には投影関数の多項式のマッピング係数が含まれます。配置係数は,センサー配置およびセンサー平面からカメライメージ平面のピクセル位置への変換に関連しています。

次の方程式は,イメージポイントを対応する3次元ベクトルにマッピングします。

  • は,実際のワルドポントの理想的なメジ投影です。

  • は,スカラ,係数を表します。

  • は,Scaramuzzaモデルで記述される多項式です。ここで,です。

  • は,(uv)の関数であり,@ @メ,@ @ジの中心からの点の距離のみに依存します。

内部パラメ,タ,は,ストレッチおよび歪みも考慮します。ストレッチ行列は,センサ,からレンズへの不整列を補正します。また歪みベクトルは,(0,0)。

次の方程式は、実際の歪んだ座標(u”v”)を理想的な歪んだ座標(uv)に関連付けます。

Matlabでの魚眼カメラキャリブレ,ション

魚眼イメージからレンズ歪みを除去するために,チェッカーボードキャリブレーションパターンを検出してから,カメラのキャリブレーションを行うことができます。関数detectCheckerboardPointsおよびgenerateCheckerboardPointsを使用して,チェッカ,ボ,ド点を検出できます。関数estimateFisheyeParametersは,検出された点を使用して,魚眼カメラの内部パラメ,タ,と外部パラメ,タ,を含むfisheyeParametersオブジェクトを返します。fisheyeCalibrationErrorsを使用して,キャリブレ,ションの精度を確認できます。

魚眼▪▪メ▪▪ジのレンズ歪みの修正

チェッカーボードキャリブレーションパターンを検出してから,カメラのキャリブレーションを行うことで,魚眼イメージからレンズ歪みを除去します。次に結果を表示します。

一連のチェッカボドのキャリブレションメジを収集します。

图像= imageDatastore(“calibrationImages”);

。名前と値の引数PartialDetectionsは,部分的にチェッカーボードを検出できるように,既定で真正に設定されます。

[imagePoints,boardSize] = detectCheckerboardPoints(图像。文件,“HighDistortion”,真正的);

チェッカボドの正方形のコナのワルド座標を生成します。

squareSize = 20;%毫米worldPoints = generateCheckerboardPoints(boardSize,squareSize);

イメージ点およびワールドポイントに基づいて魚眼カメラのキャリブレーションパラメーターを推定します。最初のメジを使用してメジのサズを取得します。

I = readimage(images,10);imageSize = [size(I,1) size(I,2)];params = estimateFisheyeParameters(imagePoints,worldPoints,imageSize);

最初の▪▪メ▪▪ジからレンズ歪みを除去して,結果を表示します。

J1 = undistortion fisheyeimage (I,params. intrinsic);图imshowpair (I, j - 1,“蒙太奇”)标题(“原始图像(左)vs.修正图像(右)”

图中包含一个轴对象。标题为Original Image(左)和Corrected Image(右)的坐标轴对象包含一个Image类型的对象。

J2 = undistortion fisheyeimage (I,参数。intrinsic。“OutputView”“相同”“ScaleFactor”, 0.2);图imshow(J2)标题(“低比例因子输出视图”

图中包含一个轴对象。带有低缩放因子的标题Output View的axis对象包含一个image类型的对象。

参照

[1]斯卡拉姆扎,D., A.马蒂内利,R.西格瓦特。“一个易于校准全向摄像机的工具箱。”IEEE智能机器人与系统国际会议论文集(IROS)。2006年10月7日至15日,中国北京。

参考

関数

オブジェクト

関連するトピック