相机标定精度研究

张建贺实验设计

1 外参重复性精度测试:

(同内参,不同外参特征点,9选择4,组合)

1 外参几乎没有什么重复性误差??? 只要4对都正确,则刚性匹配基本正确

解释:激光点云到相机 转换本身的刚性匹配,而相机坐标系到图像坐标系是非刚性匹配。

(不同内参,同特征点外参)

猜测结论:
1 内参重复性误差大的原因
内参的求解是非线性求解,标定时图像采样姿态分布不同,会导致覆盖不到的图像区域匹配误差大的情况。

2 点云投影图像局部不准,且主要出现在图像的边缘,是因为内参fxy cxy,k1,k2,p1,p2,而不是外参R,t,
解释: 因为畸变大矫正插值后出现横向拉伸,原因是内参是PnP重投影误差最小化求解的局部最优解

2 内参重复性精度测试:(多组照片,相差结果如何)

有人做过,利用不同棋盘格(大小,格子数量,)结果对比 fx,cx,k1,p1
相机标定精度研究_第1张图片
实验设定:

每组测试,拍摄几十张图像,然后从中随机选择N幅图像用于标定。随机标定100次。标定使用MATLAB的工具包。将标定得到的参数,显示在四张图中(没显示k3参数)。图中每个点,代表某次参数的标定结果。不同形状的点代表不同的组。
opencv 内参返回fx,fy,cx,cy
D的排序
(k1,k2,p1,p2,k3)
在式(5.11)描述的纠正模型中,对于畸变较小的图像中心区域,畸变纠正主要是 k1
起作用。而对于畸变较大的边缘区域主要是 k2 起作用。

fy(494±10)
fx(492±10)
cx(387±7)
cy(282±7)
k1(-0.33±0.03)
k2(0.2±0.8)
p1(-0.5±3.5)
p2(1.5±1.5)

相机标定精度研究_第2张图片
相机标定精度研究_第3张图片

标定方法描述

相机固定,移动标定板

1 内外参标定重复性误差对比试验

主要是fx,fy,ux,uy的变化比较大,R,t的值比较稳定。应该是在单目标定那一步就出现了不稳定情况。

1 张正友棋盘格小孔成像模型 相机内参标定重复性精度测试

opencv内参标定沿袭了张正友方法,分4步骤:计算单应性矩阵,计算内参初值,外参初值,LM优化。

1 同一个组相片计算内参重复性误差几乎为0,且与同一个棋盘格不管设置边长1cm或10cm结果不变

好解释,因为
opencv内参标定沿袭了张正友方法,分4步骤:计算单应性矩阵,计算内参初值,外参初值,LM优化。
同一组相片角点数据来源相同,收敛结果相同

2 多组照片 分别计算内参外 K和d的重复性误差较大,为什么?

从计算角度来解释其中的原因

1.计算的内外参数的初值不同,又因为标定中的非线性优化,收敛到局部的极小值,但跟全局的极小值接近。
2.标定获得数据不稳定,首先可能采集图像的时候,不同的姿态下的图像不够多,或者图像的姿态分布的空间不够大,得到一个有偏的初值。
3·标定板的大小不合适,这个影响也很大,我的理解是这样的,因为计算homograph的时候内外参数耦合在一起,内外参数是依赖外参的单位正交性计算得出,一个不合适的标定板的大小产生过小或者过大的平面点,容易导致homography的数值不稳定。感觉实验中B的标定板是比较合适的,因此结果比较准确。

从成像角度解释

先给结论:这是由于感光器噪音引起的。

相机的感光器本身就是一个传感器,传感器的作用是将各种外界信号转化为电信号,这个转化过程存在许多噪音。

对于太便宜的相机,所得图像质量太差,导致标定精度低的情况,有一些工程解决方法:标定板姿态变化时的倾斜角度不要太多,尽量正对标定板。标定板太倾斜时,角点提取受光照的影响也会增大。2. 将opencv的cv::moment改成cv::FitEllipse,后者是通过角点轮廓拟合得到圆心的,相对稳定。

从成像模型

1.首先是相机模型,一般针孔相机模型是含有畸变的,包括径向畸变和切向畸变,但是标定算法一般只考虑低阶项,做了近似。之前尝试过用MEI和kannala-brandt模型去标定鱼眼相机,得到的重投影误差也是很接近的,但是模型的参数是不一样的;也尝试用SCARAMUZZA模型,但是标定的效果反而并不好,初步分析是因为参数太多出现过拟合。

2.标定板,常用的标定算法(OpenCV, ROS等)都会假设标定板上面的角点是共面的,但是实际的情况并不是如此,这个和材料的精度是有关系的。从材料上来说,标定板有铝基板,浮法玻璃板等,平整程度从0.01毫米到1mm;从打印材料来说,纸面的打印材料对成像的像素精度也是有很大的影响的;从尺寸上来说,标定板的尺寸从40cm到2米不等,对于汽车的相机的标定通常使用长宽都在1米以上的标定板。

3.角点提取算法及优化算法。角点提取算法和后端的优化算法也会带来系统误差,这个可以通过更多的测量数据来减小,即在不同角度采集更多的数据进行标定;如果有需要的话,也可以跟标定板打光,保证整个标定板光照的一致性,减小环境光对角点提取的影响。

总的来说,相机的内参标定需要选中合适的模型,模型太复杂会导致过拟合,模型太简单,不容易描述相机的真实内参;其次标定的材料都尽量选则比较好的,如果有需要,也可以采用打光等手段;系统误差,只能通过大量的数据多次测量来消除。

从采集图像的差异来看

如果标定板只占据图像的一小部分,比如说没有覆盖左上部分,如果这样的图像比较多,则可能导致最优化落入局部最优,最终的重投影误差可能不大,但是两组这样的图像的标定结果可能差很大。

以我的经验,我认为,想提高相机标定的精度和稳定性(同一相机的标定结果方差较小) 的最好方法是,用足够大的标定板,可以覆盖整个图像,并且控制点的数量较多,标定板位姿越多越好。

内参标定结论

1 背光板
2 大尺寸
3 多格子
4 多姿态,且位置拍摄数量均匀
5 提高特征检测精度

1 用高精度透明标定板配合背光源,相机用小光圈,短曝光时间,并严格安装于三脚架上使用,减少环境光与抖动的影响,提升拍摄得到的标定板角点特征的锐度;
2 采用合理的多角度拍摄,并且尽量让标定图片出现在相机画幅的各个位置,避免相同姿态下的大量拍摄;3 采用精度更高鲁棒性更好的特征检测算法,提升特征检测的精度。
https://www.bilibili.com/video/BV1eE411c7kr/?vd_source=f65e306d0af6803beb4c44df1a43e7af
作者:沈毅君
链接:https://www.zhihu.com/question/312986053/answer/2330621055
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的:(数码相机,计算机视觉,人工智能)