二、相机的使用
焦距长,成像小 —> 标定精度高,标定板也需要特别设计
5.标定方法
- 标定:通过给定的3d点和2d点的坐标对,使用给定的相机模型,最小化两者的重投影误差,来优化相机参数。标定是针对像素的。
- 标定是一个逐像素拟合的过程。标定板的格子越多,参与拟合的像素就越多,也就越准确。
- 标定中说的舍弃的深度信息z是指在相机坐标系下的z方向。
标定方法 |方法|原理|优点|缺点| |—|—|—|—| |自标定|使用几何约束,如消失点|在线标定|精度和鲁棒性差| |主动标定|运动已知|不需要标定物,鲁棒|离线标定,贵| |传统标定| 使用特殊标志物|简单,成本低,鲁棒|离线标定|
注意 标定过程:
- 标定过程中,相机的内参不能改变。理论上,张正友标定法只需要三张图片,一般需要15~20;
- 标定图案平整;
- 标志物占据1/4标定板存在明显旋转和平移;
- 图案清晰;
- 标志物图案的总和覆盖整个画面;
标定效果:
- 标志物在每个图案都应该完整可见,这意味着边缘的畸变无法消除,在使用时可选择舍弃边缘的像素。
- 标定和应用的深度不同,精度会下降。标定距离最好和实际应用距离相同。因为相机在不同距离的光学特性可能会不同,例如对焦位置等。
- 升温等问题导致的标定参数变化,通常不会作温补。
标定板
- 利用梯度检测角点,因此棋盘格存在角点检测不精确的问题。通常格子越多越好。
- 圆形棋盘格存在斜视时圆心检测不准问题。
- AprilTag在部分遮挡的情况下可用,但精度下降,因为部分角点的梯度只有一个方向。
重投影误差 标定是根据图案的拟合,可能会过拟合。误差就是拟合的偏差。用于检测误差的真值本身也会有误差。
畸变模型
-
径向畸变
通常情况下,和透镜中心的径向距离相同的位置,厚度相同,偏差可忽略。基于这种假设,一个凸透镜的厚度随径向距离的变化曲线和理想的变化曲线有偏差,从而导致某个点的实际成像位置和理想成像位置相比,在径向方向上更加远离或靠近中心。实际位置偏远,为桶状畸变(Barrel Distortion);实际位置偏近,为枕状畸变(Pincushion Distortion)。有些劣质镜头,相同径向距离处的厚度不同,导致径向畸变不规律,去畸变很复杂,此处不考虑。 畸变多项式:\(ar^2+br^4+cr^6\) -
切向畸变
\[dx=2p_1xy+p_2(r^2+2x^2)\] \[dy=2p_2xy+p _1(r^2+2y^2)\]
镜头平面和成像平面不平行导致。畸变多项式: -
畸变率(畸变变化率) \(d=(r_d - r)/r\) \(d=r_d/r - 1\) \(d+1=r_d/r\)
- 除法模型 \(r_d = r (1+k_1r^2+k_2r^4+k_3r^6)/(1+k_4r^2+k_5r^4+k_6r^6)\)
相机和雷达都拟合平面或其它特征,然后ICP等办法匹配。圆形、矩形孔位拟合,两者都能找到中心。
双目相机:基线大纵向精度高横向精度低;反之亦然。基线太小,极端情况为单相机,无法计算深度;基线太大,3D物体遮挡关系会影响结果。可以使用标志点提高精度。
张正友标定法
- 单应矩阵:
-
内参矩阵:每个标定图提供一个单应矩阵约束,每个约束提供两个约束方程。B有6个未知元素。因此理论上三张图片可完成标定。 单应矩阵包含了外参,去掉深度信息后,每个点剩下xy两个参数,因此提供了两个方程。
- 外参矩阵
- 畸变系数
以上求解的内参外参和畸变系数是为了给非线性优化提供一个良好的初始解,加快收敛以及防止落入局部最小值