本发明涉及机器视觉,尤其涉及一种基于双色矩形靶标设计的空间视觉定位方法。
背景技术:
1、在工程自动化控制中往往需要对被控物体空间定位的支持,然而现实情况并不总是在各个场景都能接收到gps信号,有时候,gps信号可能会受到建筑物、工作环境等影响而无法到达,这时候就需要用到其他的定位技术来帮助我们实现空间定位。惯性定位是一种常见的定位方式,但它通常存在漂移过大的问题,因此,视觉辅助定位仍然被广泛应用。视觉辅助定位常见的有slam技术,靶标识别定位等等。然而slam不仅数学理论复杂,运算量高还容易受环境背景和运动物体的影响,而靶标定位则因为足够健壮且容易被理解,在一些特定的需求下,靶标识别和定位仍然被广泛应用;
2、现阶段已经有许多可用于定位的靶标,如qr码、datamatrix码、aztec码、maxicode码、dotcode码、azalea码和apriltag码等,其都是由简单的几何图案组成的二维码,它们都采用了编码方式将信息编码成黑白相间的图案,并且都具有一定的容错性,可以通过错误校正码或纠错算法来修复一定数量的错误,从而保证了数据的可靠性,但由于这些靶标的设计通常都编码了某种信息,导致远距离拍摄下因为靶标像素分辨率低,像素噪声等因素造成的信息丢失从而识别和定位失败;另外,这些靶标在识别时都需要外界光照照明,完全黑暗的场景下则需要让靶标白色块区域发光,因为这些靶标都包含了信息,意味着块数很多,安装led发光模块费事费力。
技术实现思路
1、为了解决上述技术问题,本发明的目的是提供一种基于双色矩形靶标设计的空间视觉定位方法,能够通过由双色矩形组成的简易靶标图案,满足在黑暗环境下借助靶标实现空间定位和远距离定位的需求。
2、本发明所采用的第一技术方案是:一种基于双色矩形靶标设计的空间视觉定位方法,包括以下步骤:
3、设计双色矩形靶标图案;
4、通过轮廓角点椭圆提取法对双色矩形靶标图案进行识别处理,获取双色矩形靶标图案中的靶标矩形角点;
5、基于双色矩形靶标图案中的靶标矩形角点,通过排序角点编号法进行全局编号定位处理,得到双色矩形靶标的空间定位。
6、进一步,所述设计双色矩形靶标图案,包括第一色靶标矩形和第二色靶标矩形,所述第一色靶标矩形和第二色靶标矩形为颜色不同形状相同的矩形,且所述第一色靶标矩形和第二色靶标矩形之间的间隔为d。
7、进一步,所述通过轮廓角点椭圆提取法对双色矩形靶标图案进行识别处理,获取双色矩形靶标图案中的靶标矩形角点这一步骤,其具体包括:
8、通过颜色阈值分割法对双色矩形靶标图案所在图像进行颜色分割处理,利用opencv开源算法对分割图进行轮廓识别,得到初步矩形轮廓;
9、基于初步矩形轮廓,构建预设过滤规则对初步矩形轮廓进行过滤处理,得到候选矩形轮廓;
10、对候选矩形轮廓进行旋转矩形拟合,若拟合的旋转矩形短边比长边大于预设阈值,且轮廓面积除旋转矩形面积大于预设面积阈值则保留该轮廓;
11、对保留的所有矩形轮廓进行两两匹配计算得分,选取匹配分数大于预设阈值且匹配得分最高的一对矩形轮廓作为最终的靶标矩形轮廓;
12、所述匹配分数计算包括考虑两个矩形轮廓之间的面积比、宽比、高比、拟合的旋转矩形旋转角差异和两个矩形轮廓间隔长度除以矩形宽的值;
13、通过轮廓角点椭圆提取法对最终的靶标矩形轮廓进行角点识别处理,获取双色矩形靶标图案中的靶标矩形角点。
14、进一步,所述预设过滤规则为:
15、对所有矩形轮廓嵌套层数进行判断,选取轮廓嵌套层数为1的矩形轮廓作为候选矩形轮廓。
16、进一步,所述通过轮廓角点椭圆提取法对最终的靶标矩形轮廓进行识别处理,获取双色矩形靶标图案中的靶标矩形角点这一步骤,其具体包括:
17、根据椭圆焦点三角形性质,基于opencv开源算法实现的靶标矩形轮廓数据格式存储;
18、轮廓中和第0个轮廓点最远的轮廓点定义为第一角点;
19、轮廓中和第一角点最远的轮廓点定义为第二角点;
20、轮廓中和第一角点距离加第二角点距离最远的点定义为第三角点;
21、对第一角点、第二角点和第三角点在轮廓的索引按从大到小排序;
22、假设第一角点在轮廓的索引>第二角点在轮廓的索引>第三角点在轮廓的索引,则从第三角点索引到第二角点索引间的轮廓点中找出距离第三角点和第二角点最远的轮廓点作为第一个候选的第四角点,从第二角点索引到第一角点索引间的轮廓点中找出距离第二角点和第一角点最远的轮廓点作为第二个候选的第四角点,从第一角点索引到第三角点索引间的轮廓点中找出距离第一角点和第三角点最远的轮廓点作为第三个候选的第四角点;
23、定义第一个候选的第四角点到第三角点与第二角点连成直线的距离为d1,第二个候选的第四角点到第二角点与第一角点连成直线的距离为d2,第三个候选的第四角点到第一角点与第三角点连成直线的距离为d3;
24、对d1、d2和d3的值进行判断,若d1的值最大,则第一个候选的第四角点就是要求的第四角点,若d2的值最大,则第二个候选的第四角点就是要求的第四角点,若d3的值最大,则第三个候选的第四角点就是要求的第四角点;
25、整合第一角点、第二角点、第三角点和第四角点,得到双色矩形靶标图案中的靶标矩形角点。
26、进一步,所述基于双色矩形靶标图案中的靶标矩形角点,通过排序角点编号法进行全局编号定位处理,得到双色矩形靶标的空间定位这一步骤,其具体包括:
27、基于双色矩形靶标图案中的靶标矩形角点,根据排序角点编号法对其进行编号处理,得到双色矩形靶标图案中的所有靶标矩形角点的全局编号;
28、构建双色矩形靶标坐标系,根据设计双色矩形靶标图案的靶标矩形形状计算出双色矩形靶标图案中的所有靶标矩形角点在双色矩形靶标坐标系下的坐标;
29、根据双色矩形靶标图案中的所有靶标矩形角点的全局编号,获取双色矩形靶标图案中的所有靶标矩形角点在双色矩形靶标坐标系下的坐标与在图像坐标系下的像素坐标之间的对应关系;
30、根据双色矩形靶标图案中的所有靶标矩形角点在双色矩形靶标坐标系下的坐标与图像坐标系下的像素坐标之间的对应关系,使用pnp算法最小化重投影误差,得到相机相对于双色矩形靶标坐标系下的旋转矩阵和平移向量;
31、对旋转矩阵求逆得到双色矩形靶标在相机坐标系下的位姿,且所述平移向量为双色矩形靶标中心点在相机坐标系下的坐标;
32、根据双色矩形靶标在相机坐标系下的位姿与双色矩形靶标中心点在相机坐标系下的坐标,获取双色矩形靶标的空间定位。
33、进一步,所述基于双色矩形靶标图案中的靶标矩形角点,根据排序角点编号法对其进行全局编号处理,得到双色矩形靶标图案中的所有靶标矩形角点的全局编号这一步骤,其具体包括:
34、根据坐标轴分量大小对双色矩形靶标图案中的靶标矩形角点进行预编号,预编号的结果为使靶标矩形的左上角定义为角点1,左下角为角点2,右上角为角点3,右下角为角点4;
35、双色靶标矩形角点编号对应关系;
36、根据预编号后双色矩形靶标图案中的靶标矩形在图像中各旋转角度下的角点编号归纳出双色靶标矩形角点编号对应关系,所述对应关系共四种情形:
37、双色矩形靶标中第一色靶标矩形角点1和角点2与第二色靶标矩形角点3和角点4在双色靶标矩形间隔处并列对应;
38、双色矩形靶标中第一色靶标矩形角点3和角点4与第二色靶标矩形角点1和角点2在双色靶标矩形间隔处并列对应;
39、双色矩形靶标中第一色靶标矩形角点2和角点4与第二色靶标矩形角点1和角点3在双色靶标矩形间隔处并列对应;
40、双色矩形靶标中第一色靶标矩形角点1和角点3与第二色靶标矩形角点2和角点4在双色靶标矩形间隔处并列对应;
41、根据双色矩形靶标两个靶标矩形中心点坐标轴分量进行双色矩形靶标在图像中旋转姿态的区分,结合双色靶标矩形角点编号对应关系进行全局编号,得到双色矩形靶标图案中的所有靶标矩形角点的全局编号。
42、进一步,所述pnp算法的表达式为:
43、e=sρ-k(rpw+t)
44、上式中,e表示重投影误差,s表示常量系数,ρ表示所述靶标矩形角点在图像坐标系下的像素坐标,k表示云台相机内参矩阵,r表示相机相对于双色矩形靶标坐标系下旋转矩阵,pw表示所述靶标矩形角点在双色矩形靶标坐标系下的坐标,t表示平移向量。
45、本发明方法的有益效果是:本发明设计了一种简易双色矩形靶标图案,由两种颜色矩形组合而成,该靶标图案只包含一种信息,进一步提出轮廓角点椭圆提取法对双色矩形靶标图案进行识别处理,获取双色矩形靶标图案中的靶标矩形角点,该方法极大提高了从靶标矩形轮廓中提取靶标矩形四个角点的精度,从而为接下来靶标定位的高精度奠定基础,再通过排序角点编号法进行全局编号定位处理,得到双色矩形靶标的空间定位,其能够在较少时间复杂度的基础上实现了靶标矩形角点的全局编号,提高了靶标定位的实时性,可实现远距离识别、定位和黑暗场景下简易搭建发光模块构成双色矩形靶标图案的目的,本发明为靶标设计了一个新的图案样式和识别与定位解决方案。