本发明属于计算机视觉领域,具体而言,涉及一种高鲁棒高精度的摄像机标定板及角点检测方法。
背景技术:
1、随着计算机视觉的发展,视觉定位、三维重建、环境感知也得到了广泛的运用,为了实现更好的效果,需要预先得到摄像机精确的参数,也就是进行精确的摄像机标定。
2、标定领域一般采用黑白棋盘格或aruco二维码来进行标定。在传统的标定过程中,使用黑白棋盘格来完成标定,黑白棋盘格角点数量多、稠密,可以进行亚像素检测,得到精确的检测结果,从而完成标定,但是使用黑白棋盘格进行标定容易遗漏部分角点信息,即无法检测和跟踪黑白棋盘格上的所有标记,这可能是由于光照条件的差异或者黑白棋盘格图案被遮挡或者本身有损坏所引起的。使用aruco二维码来进行标定检测简单、快速,并且具有很强的鲁棒性,aruco二维码很容易在图像中被检测到,对其标定不受环境、植被、局部遮挡、反光条件等影响,但是aruco二维码无法进行亚像素检测。
3、在此背景下,出现了很多新的方法。例如,中国发明专利cn111179356a公开了基于aruco二维码的双目摄像机标定方法、装置、系统和标定板,采用aruco二维码与棋盘格结合的charuco标定板来进行标定,charuco标定板采用的是将aruco二维码嵌入到棋盘格的白色方格中。它里面描述的方法首先获取aruco二维码id,获取角点id后,再在原图上进行亚像素角点提取,最后将棋盘格角点坐标与摄像机坐标系坐标一一对应,来完成标定。然而,这种标定板存在着一些缺陷。例如,如果aruco二维码太小,aruco二维码区域图像不够清晰,无法正确读取id,需要将aruco二维码进行最大化处理。此外,这种标定板的鲁棒性较差,在标定过程中依赖aruco二维码的检测效果,由于其aruco二维码嵌入在棋盘格的白色方格的设计导致aruco二维码大小受限不易检测,且aruco二维码漏检导致角点序列匹配不上,干扰整体标定结果。
4、又比如,中国发明专利108765328a公开了一种高平面多特征模板及其畸变优化和标定方法。采用的是棋盘格白色区域内嵌aruco二维码的charuco标定板,在此基础上,在中间区域将5×3的格子变成了填充有随机点的区域。中间区域是random模板,适用于进行外参标定和变焦镜头的标定。在这篇专利中,除了使用到角点和特征点之外,还引入了线的特征,结合了点特征和线特征来进行标定。这篇专利的图案分为4个部分:aruco二维码,棋盘格,中间的random模块以及最外围添加的直线和斜线特征。这种标定板使用到的特征信息较多,点特征和线特征的使用在带来了丰富的特征信息的同时也导致标定过程不够方便快捷,整体标定效率较低,不易实施。
技术实现思路
1、本发明的目的在于提供一种高鲁棒高精度的摄像机标定板及角点检测方法,解决使用黑白棋盘格进行标定时的鲁棒性差,检测角点时会受光照、瑕疵等影响导致遗漏角点的问题。本技术提供一种高鲁棒高精度的摄像机标定板,标定板包括:
2、1个或多个aruco二维码;
3、在aruco二维码周围空白区域布置1个或多个黑白棋盘格;
4、aruco二维码图案和黑白棋盘格图案之间有间隔。
5、本技术还提供一种角点检测方法,方法基于本技术提供的标定板实现,方法包括:
6、通过aruco二维码图案和黑白棋盘格图案组合形成预期的标定板;
7、建立标定板坐标系,设置aruco二维码图案角点在标定板坐标系下的标定板坐标(x1[i],y1[i],z1[i]);
8、采集标定板图像,检测图像中的aruco二维码,得到像素坐标系下aruco二维码图案角点的像素坐标(x1[i],y1[i]);
9、利用标定板坐标(x1[i],y1[i],z1[i])和像素坐标(x1[i],y1[i]),求解标定板坐标系到像素坐标系的投影变换矩阵t;
10、利用投影变换矩阵t和标定板已知模型计算黑白棋盘格角点的像素坐标(x2[i],y2[i]);
11、采用亚像素算法对像素坐标(x2[i],y2[i])进行优化,得到黑白棋盘格角点的精确像素坐标,用于摄像机标定操作。
12、进一步地,建立标定板坐标系,建立标定板坐标系,设置aruco二维码图案角点在标定板坐标系下的标定板坐标(x1[i],y1[i],z1[i]),包括:
13、以标定板左上角为坐标原点,标定平面为xoy面,垂直于标定平面向上为z轴建立标定板坐标系;
14、aruco二维码各角点标定板坐标系下坐标(x1[i],y1[i],z1[i])为:
15、d1=(m,n,0)
16、d2=(m+a,n,0)
17、d3=(m+a,n+a,0)
18、d4=(m,n+a,0)
19、其中,a为aruco二维码边长,d1、d2、d3、d4为左上、右上、左下、右下坐标。
20、进一步地,利用标定板坐标(x1[i],y1[i],z1[i])和像素坐标(x1[i],y1[i]),求解标定板坐标系到像素坐标系的投影变换矩阵t,包括:
21、由aruco二维码图案各向异性定位aruco二维码图案的不同角点,利用同一角点在标定板坐标系坐标(x1[i],y1[i],z1[i])与其在像素坐标系的坐标(x1[i],y1[i]),求解pnp问题,得到标定板坐标系到像素坐标系的投影变换矩阵t;求解方法为:
22、
23、其中,为旋转矩阵,为平移矩阵,tx,ty,tz分别表示标定板坐标系原点到像素坐标系原点的x轴、y轴、z轴距离,(r11,r21,r31)t、(r12,r22,r32)t、(r13,r23,r33)t分别表示标定板坐标系的x轴、y轴、z轴的单位向量在像素坐标系中的坐标。
24、进一步地,利用投影变换矩阵t和标定板已知模型计算黑白棋盘格角点的像素坐标(x2[i],y2[i]),包括:
25、根据aruco二维码的宽度、黑白棋盘格图案中每一个方块的边长以及黑白棋盘格图案和aruco二维码图案之间的间隔宽度,设置每一个黑白棋盘格角点在标定板坐标系下的坐标(x2[i],y2[i],z2[i]),利用投影变换矩阵t计算得到各角点在像素坐标系下的坐标(x2[i],y2[i]);求解方法为:
26、
27、其中,投影变换矩阵t的定义与权利要求4中所述保持一致;
28、对计算得到的各角点在像素坐标系下的坐标(x2[i],y2[i])采用亚像素算法求精,得到黑白棋盘格角点的精确坐标(x2′[i],y2′[i]),即为所求。
29、进一步地,所述方法还包括,当aruco二维码为n,n>=2个时,对aruco二维码采用分散布置;若其中一个aruco二维码检测不到时,则进行二次检测处理。
30、进一步地,二次检测处理,包括:
31、s71:设置图像中待检测的aruco二维码个数n=n,对图像中的aruco二维码进行检测,记录检测到的aruco二维码的个数k;如果个数为k不等于n,则m=n-k,并执行步骤s71,否则执行步骤s74;
32、s72:利用k个aruco二维码的边界框角点坐标及对应的在模板坐标系中的坐标,计算投影变换矩阵tk;
33、s73:m=m-1,若m<0,则执行步骤s74;否则根据投影变换矩阵tk和已经检测到的k个aruco二维码的id及n个aruco二维码的相对位置关系,推测丢失的下一个aruco二维码在图像中的位置g;当出现推测所得的aruco二维码位置g附近有多个aruco二维码时,将aruco二维码到位置g的距离从近到远排序,记推测aruco二维码位置序列为f,选用最近距离的一个,即f中的首元素;
34、s74:在图像中对推测所得的aruco二维码位置g以外的区域填充为背景色,对填充后得到图像再次进行aruco二维码检测;若检测得到的aruco二维码的id不等于已经检测到的k个aruco二维码的id,则k=k+1;若k=n,则结束,否则执行步骤s71;若检测不到则删除f中的首元素,执行步骤s72。
35、本发明提供的一种高鲁棒、高精度的摄像机标定板,这种标定板在黑白棋盘格基础上,组合了aruco二维码,相较直接对黑白棋盘格检测角点,aruco二维码很容易在图像中被检测到,不受环境、植被、局部遮挡、反光条件等影响,能在标定板固定、摄像机变焦拍摄的情况下进行简单、快速的标定检测,从而使标定板具备了较高的鲁棒性。另外,黑白棋盘格弥补了aruco二维码不能做到亚像素级角点筛选的缺陷,黑白棋盘格角点数量多、稠密,可以进行亚像素检测,得到精确的检测结果,使标定板在计算黑白棋盘格角点像素坐标时具备了较高的精度,从而完成标定。
36、本技术提供的标定板具有以下优点:
37、1、aruco二维码很容易在图像中被检测到,对其标定不受环境、植被、局部遮挡、反光条件等影响,能在标定板固定、摄像机变焦拍摄的情况下进行简单、快速的标定检测,使标定板具备了较高的鲁棒性。
38、2、黑白棋盘格弥补了aruco二维码不能做到亚像素级角点筛选的缺陷,黑白棋盘格角点数量多、稠密,可以进行亚像素检测,得到精确的检测结果,使标定板在计算黑白棋盘格角点像素坐标时具备了较高的精度,从而完成标定。
39、本发明提供的角点检测方法,具有以下优点:
40、1、本专利中黑白棋盘格图案的角点位置是计算出来的,而不是检测得到的,因此不会出现遗漏角点的问题;
41、2、解决了现有技术中标定板仅使用黑白棋盘格图案时易受到环境干扰、摆放姿态、逆光、局部阴影等影响导致标定板检测失败和角点丢失的问题;
42、3、解决了现有技术中标定板仅使用aruco二维码图案时角点坐标精度不高、角点个数少的问题。
1.一种高鲁棒高精度的摄像机标定板,其特征在于,所述标定板包括:
2.一种角点检测方法,所述方法基于权利要求1所述的标定板实现,所述方法包括:
3.根据权利要求2所述的角点检测方法,其特征在于建立标定板坐标系,设置aruco二维码图案角点在标定板坐标系下的标定板坐标(x1[i],y1[i],z1[i]),包括:
4.根据权利要求2所述的角点检测方法,其特征在于,利用标定板坐标(x1[i],y1[i],z1[i])和像素坐标(x1[i],y1[i]),求解标定板坐标系到像素坐标系的投影变换矩阵t,包括:
5.根据权利要求2所述的角点检测方法,其特征在于,利用投影变换矩阵t和标定板已知模型计算黑白棋盘格角点的像素坐标(x2[i],y2[i]),包括:
6.根据权利要求2所述的角点检测方法,其特征在于,所述方法还包括,当aruco二维码为n,n>=2个时,对aruco二维码采用分散布置;若其中一个aruco二维码检测不到时,则进行二次检测处理。
7.根据权利要求6所述的角点检测方法,其特征在于,二次检测处理,包括: