一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于语义信息的移动机器人重定位方法

2022-11-28 14:42:39 来源:中国专利 TAG:


1.本发明属于机器人定位技术领域,具体涉及一种基于语义信息的移动机器人重定位方法。


背景技术:

2.随着自主移动机器人被越来越广泛地应用于生产与生活,移动机器人的全局定位是其运行过程中需要面对的主要困难之一,现有技术中常采用的方法是基于外观的重定位方法和基于语义信息和几何拓扑结果的重定位方法。
3.但是,前者由于不同的时间、天气、季节以及视角、相似纹理和动态物体等干扰问题的存在,重定位系统往往会受到影响而产生错误的定位结果。且其对于图像的表示为局部的,因此应对各种干扰的鲁棒性不强。后者虽然在视角变化、季节变化等方面表现出更强的鲁棒性。然而,目前的两种重定位方法均采用基于map-to-map的检索方法,在场景尺度较大的环境中,其检索所需的计算成本极其庞大,十分影响定位系统整体的实时性。在应对动态物体和大环境场景等问题上还无法起到较好的效果。
4.因此,提出一种既能快速进行定位,又能在应对各种环境干扰中拥有较强鲁棒性的定位方法。


技术实现要素:

5.本发明的目的在于针对上述问题,提出一种基于语义信息的移动机器人重定位方法,具有较好的鲁棒性和实时性,并有助于提高重定位准确度,应用范围广。
6.为实现上述目的,本发明所采取的技术方案为:
7.本发明提出的一种基于语义信息的移动机器人重定位方法,包括如下步骤:
8.s1、获取移动机器人采集的历史图像数据集,历史图像数据集为连续的图像帧;
9.s2、利用语义分割网络将各图像帧转换为语义图,并对语义图进行语义节点提取和局部语义特征提取,语义图表示为s={s1,s2,

,si,

,sm},其中,si为第i个具有相同像素标签的语义区域,i=1,2,

,m,m为语义图包含的独立语义区域数量,局部语义特征为语义节点的局部描述符;
10.s3、统计各语义图提取的语义节点所属语义类别的数量,生成对应的语义向量η=[cn1,cn2,

,cnj,

,cn
l
],并将语义向量和各语义节点的局部描述符保存至地图数据库,其中,cnj为第j个语义类别的语义节点数量,j=1,2,

,l,l为语义分割网络的语义类别数量;
[0011]
s4、获取当前帧并生成对应的语义向量,分别计算当前帧与地图数据库中语义向量间的一范数,筛选出地图数据库中一范数小于第一预设阈值的语义向量对应的图像帧作为当前帧的候选帧;
[0012]
s5、将当前帧分别与各候选帧进行语义节点匹配;
[0013]
s6、构建当前帧和各候选帧中语义节点间的拓扑图,过程如下:
[0014]
s61、保留最优匹配的k对语义节点统一尺度;
[0015]
s62、利用delaunay三角剖分算法构建对应图像帧保留的语义节点间的连接关系形成拓扑图,将边集e={e1,e2,

,er,

,eh}转化为邻接矩阵a,其中,er=(nu,nv),nu和nv为第r个边所连接的两个语义节点,u=1,2,

,k,v=1,2,

,k,h为对应图像帧的delaunay三角形的边数;
[0016]
s7、分别计算当前帧和各候选帧的拓扑图相似度s(a1,a2),公式如下:
[0017][0018]
其中,为当前帧的邻接矩阵a1第u行第v列的元素,为候选帧的邻接矩阵a2第u行第v列的元素,且邻接矩阵均为对称矩阵,对角线元素默认为0,(k
2-k)/2表示k阶邻接矩阵左下三角区域的元素数量;
[0019]
s8、比较全部拓扑图相似度,将拓扑图相似度最大的候选帧的位置作为重定位判定结果。
[0020]
优选地,对语义图进行语义节点提取和局部语义特征提取,具体如下:
[0021]
s21、对语义图中各语义区域进行边缘检测,获得对应的最小边界矩阵;
[0022]
s22、根据最小边界矩阵提取对应语义区域的信息oi,公式如下:
[0023]
oi=[(x1,y1,x2,y2)i,ci]
[0024]
其中,(x1,y1)为最小边界矩阵的左上角顶点坐标,(x2,y2)为最小边界矩阵的右下角顶点坐标,ci为第i个语义区域的分类标签;
[0025]
s23、将各语义区域对应位置抽象成语义节点坐标(o
x
,oy)i,公式如下:
[0026][0027]
s24、获取语义图的语义节点集n={n1,n2,

,ni,

,nm},其中,ni表示第i个语义节点,包括第i个语义节点的坐标和语义类别;
[0028]
s25、遍历全部语义节点,以当前语义节点ni的横坐标为上下方向的分界,纵坐标为左右方向的分界,记录其余语义节点的语义类别并统计各语义类别在每个方向的出现次数,生成对应节点的局部描述符u:
[0029]
u=[z
1 z
2 z
3 z4]
t
[0030]
其中,
[0031]zp
=[z
p1 z
p2
ꢀ…ꢀzpj
ꢀ…ꢀzpl
]
[0032]
式中,z1、z2、z3和z4依次表示上、下、左、右四个方向的描述符信息,z
pj
表示p方向语义类别j的数量,j=1,2,

,l,l为语义分割网络的语义类别数量,p=1,2,3,4,即矩阵u的每一列对应一个语义类别。
[0033]
优选地,对语义图中各语义区域进行边缘检测采用sobel算法。
[0034]
优选地,将当前帧分别与各候选帧进行语义节点匹配,过程如下:
[0035]
s51、将当前帧和候选帧中的语义节点两两配对形成若干个语义节点对;
[0036]
s52、计算当前语义节点对的相似度并判断是否超过第三预设阈值,若是,认为该
语义节点对相匹配,执行步骤s53,否则,认为该语义节点对不匹配,执行步骤s54;
[0037]
s53、判断当前语义节点对是否匹配上已匹配过的语义节点,若是,则比较两个语义节点对的相似度大小,将相似度大的语义节点对作为匹配节点,并对相似度小的语义节点重新进行匹配,否则,直接将当前语义节点对作为匹配节点;
[0038]
s54、更新当前语义节点对为下一语义节点对,返回执行步骤s52,直至遍历完全部语义节点对。
[0039]
优选地,语义节点对的相似度计算如下:
[0040][0041][0042]
式中,为语义节点na在p方向上的描述子,为语义节点nb在p方向上的描述子,sum(
·
)表示向量中所有元素的和,q
p
表示p方向的相似度权重,且满足q1,q2>q3,q4,ca为语义节点na的语义类别,cb语义节点nb的语义类别,a=1,2,

,m,b=1,2,

,m。
[0043]
优选地,保留最优匹配的k对语义节点采用ransac算法实现。
[0044]
优选地,邻接矩阵a表示如下:
[0045][0046]
其中,矩阵元素a
uv
表示两个语义节点nu和nv间的连接关系,a
uv
=1,表示存在连接边,a
uv
=0,表示不存在连接边。
[0047]
与现有技术相比,本发明的有益效果为:
[0048]
该方法利用语义分割网络获得语义分割信息,提取出相对于抽象语义节点的语义位置描述符,并使用语义节点信息快速检索定位候选位置,进一步对候选位置进行基于局部语义特征提取的节点匹配,并通过delaunay三角剖分算法建立语义节点间的位置关系,能够提升移动机器人重定位时应对场景中各种变化的鲁棒性,降低环境及运行干扰对重定位精度的影响,具有实时性和较高的重定位准确度,应用范围广。
附图说明
[0049]
图1为本发明基于语义信息的移动机器人重定位方法的流程图。
具体实施方式
[0050]
下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0051]
需要说明的是,除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中在本技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本技术。
[0052]
本发明提供了一种基于语义信息的移动机器人重定位方法,能够提升应用场景中各种变化的鲁棒性。该方法利用语义分割信息提取出相对于抽象语义节点的语义位置描述符,使用语义节点信息检索快速定位候选位置,进一步对候选位置进行基于局部语义特征提取的节点匹配,再通过delaunay三角剖分算法建立语义节点间的位置关系,最终获得准确的定位结果。
[0053]
如图1所示,一种基于语义信息的移动机器人重定位方法,包括如下步骤:
[0054]
s1、获取移动机器人采集的历史图像数据集,历史图像数据集为连续的图像帧。
[0055]
s2、利用语义分割网络将各图像帧转换为语义图,并对语义图进行语义节点提取和局部语义特征提取,语义图表示为s={s1,s2,

,si,

,sm},其中,si为第i个具有相同像素标签的语义区域,i=1,2,

,m,m为语义图包含的独立语义区域数量,局部语义特征为语义节点的局部描述符。
[0056]
在一实施例中,对语义图进行语义节点提取和局部语义特征提取,具体如下:
[0057]
s21、对语义图中各语义区域进行边缘检测,获得对应的最小边界矩阵;
[0058]
s22、根据最小边界矩阵提取对应语义区域的信息oi,公式如下:
[0059]
oi=[(x1,y1,x2,y2)i,ci]
[0060]
其中,(x1,y1)为最小边界矩阵的左上角顶点坐标,(x2,y2)为最小边界矩阵的右下角顶点坐标,ci为第i个语义区域的分类标签;
[0061]
s23、将各语义区域对应位置抽象成语义节点坐标(o
x
,oy)i,公式如下:
[0062][0063]
s24、获取语义图的语义节点集n={n1,n2,

,ni,

,nm},其中,ni表示第i个语义节点,包括第i个语义节点的坐标和语义类别;
[0064]
s25、遍历全部语义节点,以当前语义节点ni的横坐标为上下方向的分界,纵坐标为左右方向的分界,记录其余语义节点的语义类别并统计各语义类别在每个方向的出现次数,生成对应节点的局部描述符u:
[0065]
u=[z
1 z
2 z
3 z4]
t
[0066]
其中,
[0067]zp
=[z
p1 z
p2
ꢀ…ꢀzpj
ꢀ…ꢀzpl
]
[0068]
式中,z1、z2、z3和z4依次表示上、下、左、右四个方向的描述符信息,z
pj
表示p方向语义类别j的数量,j=1,2,

,l,l为语义分割网络的语义类别数量,p=1,2,3,4,即矩阵u的每一列对应一个语义类别。
[0069]
其中,对于一张二维图片(图像帧),使用语义分割网络进行语义分割处理后得到语义图,即为一组带有相同像素标签的语义区域。通过语义分割得到的结果,进一步通过对其中相同语义标定区域的边缘检测,可以获得各个语义区域相对应的最小边界矩阵。根据每一个经过最小边界矩阵提取的语义区域信息获得对应的语义节点坐标,即可形成语义图
的语义节点集,每个语义节点包括该语义节点的坐标和语义类别。
[0070]
局部描述符的构建过程实际上对除当前语义节点外的每个语义节点都进行了两次记录,这使得一个语义节点的上下方向和左右方向位置关系都能够被记录。且一个物体通常因摄像机视角变化或其他物体遮挡影响,产生语义节点的位置变化现象,而采用上述方法,因只分辨上下左右的相对位置,能够在一定程度上降低语义节点位置变化产生的影响。
[0071]
因为二维图片的边界有限,造成每一个语义节点都记录全图的其他节点信息,会受到因场景变化带来的影响。通过以当前语义节点为中心,构建语义节点的对应提取窗口,仅记录当前提取的语义节点周围一定范围内的其他语义节点信息的自适应滑动特征提取窗口方法,以避免受到场景变化影响。提取窗口的尺寸随着语义区域最小边界矩阵的尺寸变化。
[0072]
在一实施例中,对语义图中各语义区域进行边缘检测采用sobel算法。或还可采用现有技术中的其他边缘检测算法,如canny算法等。
[0073]
需要说明的是,对于语义分割结果中的噪点与误分割区域,通过阈值筛选将过小的噪点和误分割区域去除,如在将各语义区域对应位置抽象成语义节点坐标(o
x
,oy)i前,通过筛选将语义区域像素数量低于第二预设阈值的噪点和误分割区域去除,同时也将随着场景变化而产生的远处的小物体一起去除,保留图像帧中足够大的语义区域。
[0074]
s3、统计各语义图提取的语义节点所属语义类别的数量,生成对应的语义向量η=[cn1,cn2,...,cnj,...,cn
l
],并将语义向量和各语义节点的局部描述符保存至地图数据库,其中,cnj为第j个语义类别的语义节点数量,j=1,2,

,l,l为语义分割网络的语义类别数量。
[0075]
其中,统计图像帧中语义节点所属语义类别的数量,即计算属于同一语义类别的区域数量,构成相应的语义向量。然后将此语义向量作为历史数据保存为地图数据库,同时保存由各个语义节点所获取的对应局部描述符。
[0076]
s4、获取当前帧并生成对应的语义向量,分别计算当前帧与地图数据库中语义向量间的一范数,筛选出地图数据库中一范数小于第一预设阈值的语义向量对应的图像帧作为当前帧的候选帧。
[0077]
其中,根据上述方法同理获得当前帧的语义向量,根据语义节点提取结果快速搜索已保存的地图数据库中的类似位置,即计算当前帧的语义向量与地图数据库中的语义向量间的一范数,数值越小代表两语义向量间距离越近,也代表着两个位置越相似,可以快速搜索出最可能的几个定位位置作为候选帧。
[0078]
s5、将当前帧分别与各候选帧进行语义节点匹配。
[0079]
在一实施例中,将当前帧分别与各候选帧进行语义节点匹配,过程如下:
[0080]
s51、将当前帧和候选帧中的语义节点两两配对形成若干个语义节点对。
[0081]
s52、计算当前语义节点对的相似度并判断是否超过第三预设阈值,若是,认为该语义节点对相匹配,执行步骤s53,否则,认为该语义节点对不匹配,执行步骤s54。
[0082]
在一实施例中,语义节点对的相似度计算如下:
[0083][0084][0085]
式中,为语义节点na在p方向上的描述子,为语义节点nb在p方向上的描述子,sum(
·
)表示向量中所有元素的和,q
p
表示p方向的相似度权重,且满足q1,q2>q3,q4,ca为语义节点na的语义类别,cb语义节点nb的语义类别,a=1,2,

,m,b=1,2,

,m。
[0086]
s53、判断当前语义节点对是否匹配上已匹配过的语义节点,若是,则比较两个语义节点对的相似度大小,将相似度大的语义节点对作为匹配节点,并对相似度小的语义节点重新进行匹配,否则,直接将当前语义节点对作为匹配节点。
[0087]
s54、更新当前语义节点对为下一语义节点对,返回执行步骤s52,直至遍历完全部语义节点对。
[0088]
将当前帧与搜索出的各待定候选帧分别进行语义节点匹配,对于任意两个语义节点na和nb,根据其语义类别ca、cb和描述子计算出相似度。在地面载具(如移动机器人)的应用中,视角变化主要影响语义节点在图像中的左右位置,为了降低左右位置变化在语义节点相似度计算中的影响,权重的设置需满足q1,q2>q3,q4。
[0089]
计算出语义节点na和nb的相似度后,根据第三预设阈值判定该语义节点对是否为匹配节点,超过第三预设阈值判定为匹配,反之不匹配。对于场景或者视角变化以及移动物体造成的影响,同一位置的两张图片之中的物体信息也会存在差异。因此,在匹配过程中可能会出现节点误匹配现象。为获得当前帧和候选帧两幅图像中一对一的匹配节点,需根据语义节点间的相似度进行排序,优先选择相似度高的语义节点对作为匹配节点,如在继续搜索下一对匹配节点的过程中,如果发现匹配上了之前已经匹配过的语义节点,则需要进一步比较两个相似度的大小,较小的一个语义节点再去寻找新的匹配点。重复上述过程,直到所有可以匹配的语义节点都找到相匹配的节点。通过判断当前语义节点对是否匹配上已匹配过的语义节点,从而挑选出更具有代表性且足够可靠的匹配节点进行后续的处理,以适应不同语义丰富程度的场景。且通过采用基于局部位置关系记录的语义节点描述符,能够降低由于物体的前后景关系而受到的视角影响,并且降低了动态物体对匹配过程的影响。
[0090]
s6、构建当前帧和各候选帧中语义节点间的拓扑图,过程如下:
[0091]
s61、保留最优匹配的k对语义节点统一尺度。
[0092]
在一实施例中,保留最优匹配的k对语义节点采用ransac算法实现。通过ransac算法在匹配节点对中选择了固定数量的语义节点对,统一语义节点数量,使得不同图像帧间可获得的无向图尺度统一。
[0093]
s62、利用delaunay三角剖分算法构建对应图像帧保留的语义节点间的连接关系形成拓扑图,将边集e={e1,e2,

,er,

,eh}转化为邻接矩阵a,其中,er=(nu,nv),nu和nv为
第r个边所连接的两个语义节点,u=1,2,

,k,v=1,2,

,k,h为对应图像帧的delaunay三角形的边数。
[0094]
在一实施例中,邻接矩阵a表示如下:
[0095][0096]
其中,矩阵元素a
uv
表示两个语义节点nu和nv间的连接关系,a
uv
=1,表示存在连接边,a
uv
=0,表示不存在连接边。
[0097]
对上述匹配后的语义节点,使用delaunay三角剖分算法,构建出语义节点间的连接关系(边),这种连接关系(边)所形成的三角形需满足两条基本准则:1)所形成三角形的外接圆范围内不包含其他点;2)所形成三角形的最小角最大化,这两条准则保证了delaunay三角网络的唯一性,为现有技术,在此不再赘述。
[0098]
更进一步地,通过保留最优匹配的k对语义节点统一当前帧和各候选帧的无向图尺度,对当前帧和各候选帧中k个语义节点分别进行三角剖分处理,可以得到一组三角形边。为了便于从整体上描述一张二维图片中物体间的位置关系及后续处理,需要将边集转化为邻接矩阵。本技术对于语义节点的顺序不做要求,因此可以任取一个语义节点作为起始点,依次将每一条边的信息写入邻接矩阵的对应位置,每一个矩阵元素a
uv
表示两个语义节点nu和nv间的连接关系,a
uv
=1,表示存在连接边,a
uv
=0,表示不存在连接边。为后续方便计算邻接矩阵间的相似度,将匹配的语义节点对置于对应的行和列(即当前帧和候选帧中相互匹配的语义节点应当位于邻接矩阵中对应的行和列),且邻接矩阵是对称矩阵,每一行或每一列都表示当前语义节点与其它语义节点的连接关系,对角线元素(即每个语义节点与自身的相邻情况)默认为0。
[0099]
s7、分别计算当前帧和各候选帧的拓扑图相似度s(a1,a2),公式如下:
[0100][0101]
其中,为当前帧的邻接矩阵a1第u行第v列的元素,为候选帧的邻接矩阵a2第u行第v列的元素,且邻接矩阵均为对称矩阵,对角线元素默认为0,(k
2-k)/2表示k阶邻接矩阵左下三角区域的元素数量。
[0102]
对于当前帧和候选帧,分别通过上述方法得到对应的邻接矩阵,依次记为a1和a2。因此,计算当前帧和候选帧的两个邻接矩阵间的差异程度,仅需比较邻接矩阵左下三角或右上三角区域内的元素的差异,即可计算两个邻接矩阵间的拓扑图相似度s(a1,a2),并对拓扑图相似度的进行了归一化处理。
[0103]
s8、比较全部拓扑图相似度,将拓扑图相似度最大的候选帧的位置作为重定位判定结果。
[0104]
拓扑图相似度数值越大代表邻接矩阵a1和a2的误差越小,也代表其所属的两张图像帧为同一位置的可能性越大,即可根据最大的可能性结果将历史图像帧所表示的位置认定为重定位的判定结果。
[0105]
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实
施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0106]
以上所述实施例仅表达了本技术描述较为具体和详细的实施例,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献