再投影誤差が小さいほど、キャリブレーションが優れていることになりますか? 質問する

再投影誤差が小さいほど、キャリブレーションが優れていることになりますか? 質問する

カメラのキャリブレーション中は、ポーズや深度などにバリエーションを持たせた多数の画像 (>10) を使用するのが一般的です。ただし、使用する画像が少ないほど、再投影エラーが小さくなることに気付きました。たとえば、27 枚の画像の場合、cv::calibrateCamera は 0.23 を返しますが、3 枚の場合は 0.11 になります。これは、キャリブレーション中に過剰決定システムの最小二乗問題を解いているために発生する可能性があります。

質問:

  1. 再投影誤差は、実際にキャリブレーションの精度を測る絶対的な基準として使用されているのでしょうか? たとえば、3 枚の画像でキャリブレーションして 0.11 になり、さらに 27 枚の画像でキャリブレーションして 0.23 になった場合、本当に「最初のキャリブレーションの方が優れている」と言えるのでしょうか?

  2. OpenCV は、キャリブレーションとエラーの計算の両方に同じ画像を使用します。これはオーバーフィッティングの一種ではないでしょうか。実際に 2 つの異なるセット (1 つはキャリブレーション パラメータの計算用、もう 1 つはエラーの計算用) を使用した方が正確ではないでしょうか。その場合、異なる (トレーニング) セットからのすべてのキャリブレーション結果のエラーを計算するために、同じ (テスト) セットを使用します。その方が公平ではないでしょうか。

ベストアンサー1

遅すぎたらごめんなさい。今見たばかりです。

誤差は適合の再投影です。したがって、画像上の点を見つけ、現実世界のモデルを計算し、モデルが与えられた場合にそれらの点が画像上のどこにあるかを再計算し、その差を報告します。ある意味では、これは少し循環的です。少数の画像に対してのみ正しいモデルがある場合、非常に良好な誤差が報告されますが、多数の画像を与えると、より一般的に正しいモデルが作成されますが、より大きなスペースに適合するように引き伸ばそうとするため、誤差は大きくなります。

画像を追加してもフィット感は改善されず、ポイントが完全に検出されることはないためノイズが追加される可能性があります。重要なのは、同等のデータではなく、より大きなパラメータセット、より多くの角度と位置を提供することです。

同じ画像セットを使用してエラーを予測することは、実際の物理的なレンズ パラメータに関してフィッティングが実際に意味を持つため、実際には問題ではありません。同じデータでニューラル ネットをトレーニング/テストするのとは異なります。

編集:OpenCVよりも優れたキャリブレーションルーチン(同じコンセプトに基づいていますが)が含まれています3D-DIC(無料ですがOSSではありません。ダウンロードリンクを取得するにはサイトに登録してください)校正マニュアル

おすすめ記事