关于相机标定过程中标定板的摆放问题

张正友标定法默认Z=0,为什么实际标定的时候,要改变相机与标定板的夹角,不应该始终保持标定板处于Z=0的状态旋转或平移吗

采用chatgpt:
在相机标定过程中,张正友标定法是一种常用的方法。在这个方法中,通过在不同位置和姿态下拍摄标定板,然后利用这些图像来推导相机的内部参数和外部参数。

标定板通常是一个平面矩形或棋盘格的模式,标定板的摆放确实会影响标定的精度和效果。标定板应该摆放在相机视野内,以确保标定板上的特征点在不同图像中都能被准确地检测到,从而提供足够的数据用于标定。

关于标定板的摆放问题,确实存在一些注意事项:

1、Z=0的标定板位置:
张正友标定法默认将标定板的平面设置在Z=0平面,这是为了简化数学推导,使标定过程更容易进行。标定板在Z=0平面上时,相机的外参(旋转和平移)可以通过相机坐标系与标定板坐标系之间的刚体变换来表达。

2、改变相机与标定板的夹角:
实际标定过程中,通常会改变相机与标定板的夹角,即改变相机的视角和位置。这是因为在实际使用相机时,很难保证标定板始终处于Z=0的状态。在真实场景中,相机的姿态和位置可能会因为各种因素而变化,如相机手持时的姿态、焦距变化、物体遮挡等。

通过在不同的姿态和位置下拍摄标定板的图像,可以获得更多的视角信息,从而提高标定的准确性和鲁棒性。通过改变相机与标定板的夹角,可以覆盖更多的运动空间,确保标定能够在更广泛的情况下适用。

总结:虽然默认情况下标定板处于Z=0的位置可能更容易处理数学推导,但在实际标定过程中,为了获得更好的结果,我们需要改变相机与标定板的夹角,以覆盖更多的姿态和位置,从而提高标定的精度和鲁棒性。

关于相机标定过程中标定板的摆放得方法
可以参考这个例子

摆放标定板的方法:

  相机标定是通过输入带有标定的标定板来获得相机参数的一个过程。实际的光学成像是一套非常复杂的过程,从三维世界投影到相机中的二维图像。相机标定就是用抽象的数学模型来表示这个复杂的成像过程。

  理想情况下,镜头会将一个三维空间中的直线也映射成直线(即射影变换),但实际上,镜头无法这么完美,通过镜头映射之后,直线会变弯,所以需要相机的畸变参数来描述这种变形效果。

  图像平面和标定板构成单应关系,每个单应关系可用一个单应矩阵表示,每个矩阵构成2个约束。单应矩阵内8个自由度,考虑矩阵的齐次性。因此至少4个点才能计算出这个单应矩阵。棋盘格的角点数一般是9X6=54个点。足够了。每个标定板摆放的角度对应一个单应矩阵。然后每个矩阵根据旋转矩阵的单位正交性,可以构成2个约束,对应2个方程。内参数矩阵中包含了5个自由度(主点u0,v0).焦距(fx,fy),以及skew。因此至少3个单应关系,才可以求解,因此至少3个摆放的角度。另外考虑畸变参数的建模,一般有4个,因此使用LM方法完成非线性优化。实际应用中摆放的角度20个,不同的角度能够保证目标函数更加接近凸函数,便于完成所有参数的迭代优化,使得结果更加准确。

  综上所述,就是摆放标定板的方法。拍照时的标定板位置和朝向的多样性,会让内参的估计更为准确。准确的内参可以较好地把整个图像的畸变都进行矫正,但如果给定的标定板的位置过于单一,比如都是在图像的左上角,那么优化得到的内参也可能只会比较好地纠正图像左上角的畸变。推荐找个畸变较大的镜头做做实验,会更形象。