2

aruco マーカーを使用してカメラのキャリブレーションを行いました。固有の行列は K = [fx 0 cx; 0 fy cy; 0 0 1]であり、 where fx = image_width/2 and fy = image_height/2です。キャリブレーションを 2 回実行した結果は次のとおりです。

ケース1

camera_matrix: !!opencv-matrix
   rows: 3
   cols: 3
   dt: d
   data: [ 1.7837087835808685e+004, 0., 9.4648597205501767e+002, 0.,
       1.7846680517567835e+004, 6.2655678552312384e+002, 0., 0., 1. ]
distortion_coefficients: !!opencv-matrix
   rows: 1
   cols: 5
   dt: d
   data: [ 1.3214125616841757e-001, 1.3720591379476604e+001,
       4.1379706976846960e-003, 3.2630160993931338e-002,
       7.2446581087476508e-002 ]

ケース 2

camera_matrix: !!opencv-matrix
   rows: 3
   cols: 3
   dt: d
   data: [ 3.9925887362481939e+004, 0., 9.6015637557091463e+002, 0.,
       3.5268399261164773e+003, 5.9886507612381956e+002, 0., 0., 1. ]
distortion_coefficients: !!opencv-matrix
   rows: 1
   cols: 5
   dt: d
   data: [ 4.4338539084399781e-001, 4.9217843346948866e+000,
       5.8004377137432547e-002, 1.1762688789809046e-004,
       -5.4097967557812456e+002 ]

画像の解像度は 1920*1200 なのでcx、 andcyは 960 と 600 である必要があります。2 番目のケースでは、cxandcyは予想どおりです。再投影誤差が大きい。それ以外の場合cx、 とcyは一致しませんが、再投影エラーは非常に低い (1 未満) です。

では、どの結果を検討して最良の結果にすることができ、一般的にどのようfxfy定義することができるのでしょうか?

4

2 に答える 2

0

まだカメラにアクセスできる場合は、より多くの画像をキャプチャして、キャリブレーション手順を複数回繰り返してみてください.

@willem の回答で述べたように、Jean-Yves のツールボックスを使用すると、コーナー検出、ボードの 3D 位置を視覚化し、ノイズの多い画像を捨てるのに役立ちます。ただし、Jean-Yves のツールボックスはチェッカーボードでのみ機能し、正方形を含む ROI を手動で入力する必要があります。

aruco ボードでは高い精度が得られないと感じた場合は、charuco ボードも opencv で試すことができます。

mm 単位の焦点距離をピクセルの焦点距離に関連付けるのは難しいと言えます。これを行うには、カメラのイメージャーのサイズが必要になるからです。通常はご利用いただけません。

于 2016-12-26T06:53:29.387 に答える
0

cx と cy は 960 と 600 に近いはずだというあなたの意見は正しいです。この観点からすると、ケース 2 の可能性がやや高いように見えますが、中心点が (946,626) のケース 1 は確かに妥当です。

さらに眉をひそめるのは、得られた焦点距離パラメーターです。(17837,17846) も (39925,3526) も、焦点距離のペアには妥当とは思えません。経験則として、fx パラメータはピクセル幅 (この場合は 1920) と 2 倍以内で一致する必要があります (たとえば、iPhone 5S の fx は ~= 0.8*pixelWidth です)。また、fy は fx と 1.2 倍程度の範囲で一致する必要があります。ケース 1 の場合、fx は幅から 10 倍ずれており、ケース 2 の場合、fx と fy は 10 倍ずれています。

いくつかのキャリブレーション ツールボックスを試して、そのうちの 2 つの間でコンセンサスを探すことをお勧めします (複数の整備士に車を見てもらうなど)。OpenCV のアプローチの前身であるJean-Yves Bouguet の調整ツールボックスをお勧めします。

于 2016-12-22T20:45:45.193 に答える