前言:
这一篇,就是记录一下,如何标定,以及计算标定参数和重投影精度。
我好像没有在中文社区,搜到“九点标定”和“重投影”的相关关键词。
但在张正友标定法中,是有一个重投影误差的概念的。
即将算出来的变换矩阵M,代入变换公式中,计算出新的目标坐标,和原坐标的的误差。
用公式表达即:new_target_pos = origin_pos*M
e = MSE(new_target_pos, target_pos)
直观上理解,如果我们的标定参数,覆盖了所有的样本,通过最小二乘法拟合,那么拿到的误差应该就会比较小。
所以我借用深度学习常用的方法,划分了训练集和测试集。
并且测试了不同训练样本对结果的影响。
结果非常amazing啊!其实3点,这个函数也是能用的,但是至少要有3个点,因为1个点两个等式,有6个未知量。
数据集中可能存在一些异常点,异常点对结果的影响非常大!
只要找到合适的数据点,其实优化不优化,结果都比较好。
如果存在误差特别大的点,那就用多一点的数据,效果也不错。
实验流程:Eye-to-Hand Calibration:
摄像机固定,与机器人基坐标系相对位置不变。且机器人末端在固定平面移动,即只需要求一个单应性矩阵的变换关系就行。
实验流程如下:手眼系统场景搭建:相机固定,机械臂带动针尖在固定平面移动。
标定样本采集