我必须对3D点进行重新投影(我已经有来自Bundler的数据)。

我在MATLAB中使用“相机校准”工具箱来获取相机的固有参数。我从27张图像(棋盘;图像从不同角度拍摄)中得到了这样的输出。

Calibration results after optimization (with uncertainties):

Focal Length:     fc = [ 2104.11696  2101.75357 ] ± [ 23.13283  22.92478 ]
Principal point:  cc = [  969.15779   771.30555 ] ± [ 21.98972  15.25166 ]
Skew:        alpha_c = [  0.00000 ] ± [ 0.00000  ]
Distortion:       kc = [  0.11555  -0.55754  -0.00100  -0.00275  0.00000 ] ±
                       [ >0.05036   0.59076   0.00307   0.00440  0.00000 ]
Pixel error:     err = [  0.71656   0.63306 ]

注意:数值误差约为标准偏差的三倍(仅供引用)。

我想知道数值误差,即焦距误差+-[23.13283 22.92478],主点误差等。这些误差数实际上代表什么,它们的影响是什么?

像素误差确实更少。

到目前为止,我使用上述数据中的以下矩阵进行重新投影:
K=[ 2104.11696 0 969.15779; 0 2101.75357 771.30555;0 0 1]
上面的矩阵“K”对我来说似乎正确。如果我做错了事请纠正我...

将等待您的答复。

最佳答案

这里有两种错误。

一种是重投影错误。校准摄像机后,可以使用得到的摄像机参数将世界坐标中的棋盘格点投影到图像中。然后,再投影误差是那些投影点与检测棋盘格点之间的距离。投影误差的可接受值取决于您的应用程序,但是一个很好的经验法则是,平均投影误差应小于0.5像素。

另一类错误是您为每个估算参数获得的+/-间隔。这些基于优化算法得出的standard errors。 Bouguet的值(value)观
相机校准工具箱实际上为您提供标准误差的3倍,对应于99.73%的置信区间。换句话说,如果“摄像机校准”工具箱报告的焦距误差为+-[23.13283 22.92478],则实际的焦距在您估计的间隔内,概率为99.73%。

重投影误差使您可以快速测量校准的准确性。标准误差-我们称其为估计误差-对于更仔细地分析结果很有用。例如,您应尝试排除平均投影误差较高的校准图像。另一方面,如果估计误差很高,则可以尝试添加更多的校准图像。

顺便说一句,计算机视觉系统工具箱现在包含GUI Camera Calibrator app,它使相机校准更加容易。在文档中也对重新投影错误有很好的解释。

关于matlab - 相机校准MATLAB工具箱,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12687231/

10-12 23:53