0

我正在使用 Caltech Toolbox http://www.vision.caltech.edu/bouguetj/calib_doc/htmls/example.html进行相机校准,但 我不太确定结果的质量。一开始我有大约 40 张图像,在校准过程中由于重投影误差大而下降了大约 10 张。我将相机安装在三脚架上,并将棋盘放置在某处以避免运动模糊。我将焦距固定到最大。

我猜重投影误差看起来不错,但焦距、主点和失真的不确定性让我头疼。虽然给出的不确定性应该是标准偏差的 3 倍,因此涵盖了 99% 的可能偏差(假设为正态分布),但我的结果变化不止于此。这是我从校准中得到的:

第一次尝试:

焦距:fc = [ 952.67300 952.58901 ] ± [ 3.18678 3.24121 ]

主点:cc = [ 641.33128 339.39042 ] ± [ 2.07428 2.53779 ]

kc = [ 0.16627 -0.28830 -0.00118 -0.00074 0.00000 ] ± [ 0.00554 0.00979 0.00093 0.00076 0.00000 ]

第二次尝试:

焦距:fc_left = [ 949.92127 946.43747 ] ± [ 4.75903 4.44547 ]

主点:cc_left = [ 642.39817 345.69787 ] ± [ 2.95598 4.19728 ]

kc = [ 0.13925 -0.23895 0.00141 -0.00062 0.00000 ] ± [ 0.00319 0.00490 0.00054 0.00041 0.00000 ]

第三次尝试:

焦距:fc = [ 949.55376 948.31960 ] ± [ 1.87647 1.73045 ]

主点:cc = [ 644.32264 342.15631 ± [ 1.19304 1.89943 ]

失真

kc = [ 0.15587 -0.26060 -0.00010 0.00018 0.00000 ] ± [ 0.00350 0.00612 0.00061 0.00044 0.00000 ]

所有三种尝试的像素错误大致相同:

err = [ 0.24621 0.18013 ] (不幸的是我没有保存结果)

我的问题是:

我可以做些什么来改善我的结果?

一般来说,我对校准的期望是什么(对于良好的校准,最大不确定性/重投影误差应该是多少)?

谢谢!

4

2 回答 2

0

我认为你的校准看起来不错。焦距变化是正常的。

您可以尝试将切向失真设置为零。这是当代相机的常见情况。这种情况下甚至有一个校准标志 CV_CALIB_ZERO_TANGENT_DIST。

如果您有高端相机和光学器件,您可以将主点放在最中心。为此,您可以使用标志 CV_CALIB_FIX_PRINCIPAL_POINT。如果我没记错的话,它的值取自传递的内在参数矩阵。

通常,使用 3D 校准对象而不是平面棋盘时,您可以获得更准确的结果。

于 2015-02-02T08:30:09.517 回答
0

我在硕士论文中使用了 caltech 工具箱,使用良好的平面校准网格获得了更好的结果。

你确定你使用的图案真的是平面的吗?
是印刷纸吗?

我建议您首先将校准网格连接到一个平面上(金属的将是最好的解决方案,但木板也足够了),然后再次校准您的系统。

为了测量校准精度,您可以测量已知物体的尺寸(即长度)(例如,您知道实际测量单位为米的盒子的长度),并将测量值与实际测量值进行比较。

另请注意,您必须校准相机框定的整个空间,并且要测量的目标对象应位于刚刚校准的相同空间体积中。

当然,3D 校准对象是最好的解决方案,但据我所知,没有现成的免费代码可以管理它。

于 2015-06-11T13:09:50.810 回答