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

一种基于空间关系特征匹配的闭环检测方法及系统与流程

2022-04-30 06:19:00 来源:中国专利 TAG:


1.本发明属于机器人技术领域,涉及机器人进行环境感知的slam(simulaneous localization and mapping)系统的闭环检测,尤其涉及一种适用于slam系统的基于空间关系特征匹配的闭环检测技术。


背景技术:

2.在过去的几十年的时间里,随着信息技术的发展,机器人逐渐扮演了越来越重要的角色。而当机器人在移动到一个未知环境中时,需要对环境做出感知和理解。slam技术被认为是机器人进行环境感知的核心环节,而在slam系统中一个非常关键的问题就在于闭环检测,其旨在判断机器人是否到达了曾经到达过的区域。这对于机器人自身的定位和三维重建非常重要,由于机器人在运行的过程中,对于位姿的估计会随着时间慢慢出现漂移,导致机器人错误的定位和糟糕的重建效果,所以对于这个偏差的修正非常有必要。闭环检测可以很好的解决slam中的位姿漂移问题,所述闭环检测这一环节对于修复机器人错误的定位偏差的修正非常有必要。当闭环检测发生时,可以让机器人进行重新定位,或建立具有全局一致性的位姿和地图,在基于位姿图的视觉slam系统当中,闭环会产生额外的约束,从而减小误差,保证了机器人对于环境的理解和地图的构建
3.闭环检测常用到的方法一般分为两类,基于外观的闭环检测和基于里程计的闭环检测。基于里程计的闭环检测可以被定义为,机器人所估计的位姿与过去某一时刻相近时,则认为是闭环,这种方法的精度完全依赖与slam系统中位姿估计的精度,观测噪声的存在可能会使全局位姿存在大量累计的偏差,这会严重降低闭环检测的有效性,所以这一方法被认定为不奏效的。基于外观的闭环检测可以定义为,外观相似的图片,可能被认定为一个闭环。在slam系统当中,当连续的几帧或者几十帧图像都比较相似时,即可判定机器人重新到达了某一历史时刻的位置,从而修正位姿,得到具有全局一致性的位姿和地图。这种独立于slam位姿估计系统的好处在于可以完全不受位姿估计精度的影响,从而保证了闭环检测的正确性。
4.近年来,基于外观的视觉闭环检测算法得到了较大的发展。其中基于视觉词袋(bovw)的方法是一种主流的方法,这种方法将视觉特征聚成类,以词的形式保存图像特征,并以此构建词汇树,当传入的图像到达时,将其转换为视觉单词的向量,并在历史传入图像的词汇树中查询相似特征。最后,以两个图像特征向量之间的距离来描述两幅图像的相似性得分,从而检测是否存在闭环。其中,fab-map是一种被广泛引用的闭环检测算法,其考虑了每个图像来代表地图上的位置。对于新图像,fab-map搜索所有包括所有图像的地图,实现较高精度的闭环检测。
5.对于计算量的问题,后续的方法在此基础上展开了研究,在fabmap2.0中通过分析视觉单词的稀疏性大幅度减小了对于内存和计算消耗,提升了fabmap的实时性。dbow2在进行闭环判定时忽略了当前时刻的相邻帧,采用二进制的方式编码,还引入了几何一致性验证和时间一致性验证来确定循环是否正确,实现了非常有效和快速的解决方案,使闭环检
测实现实时性能。此外,引入了计算机社区的词袋检索的倒排索引,对需要检索的特征位置只保存id进行检索,大大减小了算法在遍历时的复杂度和内存开销,实现了闭环检测的实时性。
6.因此,bow方法存在以下问题:(1)泛化能力差,大多数先进的bow方法的词袋的生成是离线的,需要在执行闭环检测算法之前预先训练与环境相似的视觉特征词袋,这个词袋通常需要较大且丰富的特征词库作为输入,体积较小时,不具有广泛的识别能力;因此,这种方法面对完全崭新陌生的环境来说,由于特征词袋库与实验环境的特征字典差异加大,可能算法性能会出现下降甚至失效;若将机器人移至全新区域,则需要对其进行重新进行训练。这对于slam系统来说,是不符合直觉的;(2)感知混叠问题,由于词袋的特征具有位置不确定性,其并不考虑特征在空间中的相对位置,这样做虽然在一定程度上具有平移和视点的不变性,具有太多纹理相似且重复程度较高的建筑物、树木等特征,在不同空间中的特征可能具有较大的相似性,这可能导致处于不同位置的相似特征出现假阳性匹配,造成感知混叠;因此,当面对相似或者重复特征纹理太多的环境,图像有较大相似性时,会出现较多假阳性,从而使算法失效。
7.近年来,基于深度学习的方法也在近年来得到了较大的发展,通过cnn网络产生的特征点和描述子,与传统方法相比,他们更加具有竞争力。虽然基于深度学习的闭环检测算法在召回率和精度上都具有较大优势,但仍必须提前训练一个适应环境的网络。sizikova等人指出,cnn是视点相关的,在较高层次的网络中不会提供拓扑信息,因此他们对于闭环检测工作来说不是最好的选择。vslam在未来可能会应用于小型嵌入式平台上,过大的图形计算消耗对于小型嵌入式开发平台也是较为困难的。hou介绍了一个全局特征,convnet特征,该特征被证实比手工制作的全局特征更容易区分。此外,gao利用cnn层的输出作为位置识别的描述符,实现了较高精度的闭环检测系统。尽管这些基于cnn的方法表现出高性能,但它们仍然与闭环检测是不耦合的。


技术实现要素:

8.针对目前闭环检测方法存在的泛化能力差、易造成感知混叠等问题,本发明的目的旨在提供一种基于空间关系特征匹配的闭环检测方法,辅助机器人实现闭环检测。
9.本发明的发明思路为:首先,基于特征分块策略,对图像区域进行分割,在特征匹配时,仅考虑对应分块上的特征进行搜索,并基于分块冗余策略,在原有分块基础上增加分块冗余,加强中间区域匹配的权重,弱化来自边缘的误匹配权重;其次,基于特征点筛选策略对特征点进行筛选;再次,基于相似度融合策略,确定两帧图像的空间相似性得分,依据该空间相似性得分,判断机器人是否完成闭环检测。
10.本发明提供的基于空间关系特征匹配的闭环检测方法,包括以下步骤:
11.s0接收机器人采集的带匹配的两张待测图像;
12.s1分别对待匹配的两张待测图像进行分块,对待测图像分块步骤如下:
13.s11将待检测图像划分出若干等大的特征块;
14.s12在步骤s11待测图像分块基础上,叠加若干与步骤s11得到特征块等大的冗余分块;原有特征块与冗余分块沿水平方向或竖直方向部分重叠;
15.s2两张待测图像之间的特征点匹配,包括以下分步骤:
16.s21在步骤s1分块后的特征块和冗余分块上提取特征点;
17.s22对提取的特征点进行特征描述;
18.s23对两张待测图像对应分块上的特征点进行特征匹配;
19.s24对两张待测图像对应分块上匹配到的特征点进行筛选,并计算对应分块特征点的汉明距离;
20.s25计算待匹配的两张待测图像各对应分块的加权距离;
21.s3对两张待测图像进行相似度融合,得到两者的空间相似性得分;
22.s4依据得到的两张待测图像的空间相似性得分,判断机器人是否完成闭环检测。
23.感知混淆一直是闭环检测算法中面临的最大挑战之一。在大多数基于外观的闭环检测方法中,并不考虑图像特征在空间中的相对位置,处于不同位置的局部特征可能会因为过于相似而错误匹配到一起,如在人像和车的匹配中,在正常拍摄的图像当中,人的脚和头部与车的轮胎和车顶是具有明显的空间位置关系,但同样可能因为局部特征过于相似而匹配在一起。从而引发感知混淆。为了解决这个问题,本发明引入了空间中的相对位置关系。本发明中假设,正确匹配的特征在空间中应该具有相似的分布。所以在对图像的匹配之前,对其进行了图像区域的分割,假定相同特征应该位于同一个分块上。在匹配时,仅考虑对应分块上的特征进行搜索而不是进行全局搜索。这样做一方面降低了算法的搜索复杂度,并且在考虑特征相对位置关系的基础上,特征更加具有表达完整物体的能力,从而在一定程度上减少了闭环检测感知混叠的出现。
24.为了实现对机器人的闭环检测判断,需要先按照步骤s0获取机器人采集的两个待匹配图像。其中一张待测图像应该为机器人历史采集的图像,另外一张为机器人在运行过程中实时采集的图像。
25.上述步骤s1的目的在于对待测图像进行合理的分块,从而在保证获取足够数量特征块的同时,能够从分割所得特征块上提取足够的特征。
26.上述步骤s11主要用于确定分块数量和尺寸,分块数量和尺寸会影响着分块图像搜索区域的大小,从而影响算法的性能。在本发明的方法中,将图像分成了大小均等的k=mn块,其中m为水平方向分块数,n为竖直方向分块数。每分块为大小为如图2中将kitti05的第1305(图2(a))、536(图2(b))张图像分成了3
×
2的分块,对于图2所示的匹配,假定特征分布服从n(0,σ2)时,算法复杂度c
patches
可以被定义为:
[0027][0028]
式中,w,h分别为单张图像的宽度和高度,m,n分别为水平和垂直的分块数量。而当未分块时,即k=1时,算法变为全局搜索,此时的算法复杂度为
[0029]
c1=w2h2ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0030][0031]
当图像分成了k=mn块,从而算法搜索效率提高了χ倍。当k=1时,即全图搜索时,不仅降低了算法检索的效率;而且由于同类特征的相似性,处在不同区域的特征也可能成
为匹配,导致误匹配概率提升,从而增大了感知混叠的风险。另一方面,当k值逐渐增大时,即分块数量增加,分块变小,当图像的分块数设定的超过一定值时,单个小块图像上已经不能提取到足够的特征。随着视点或旋转移动时,图像在特征上已经出现了一定的位移,特征在对应的分块上并不能对应的匹配,从而两分块间的匹配可能均为误匹配,使得精度大幅降低。这也降低了算法对于微小视点偏移的容忍度,丢失了潜在的闭环,使得算法的召回率下降。同时在闭环检测中,被认定为闭环的帧间应有最大位移容许误差δt
max
和旋转容许误差δr
max
,其中:
[0032][0033]
式中,0
t
表示3
×
1的元素为0的转置矩阵。
[0034]
过大的偏差

t
max
不应被认定为闭环,在本发明中,不允许跨块匹配,最大容许偏移量为单块大小,所以分块的大小可以由像素平面坐标变换关系可知:
[0035][0036]
式中,f为相机的内参矩阵,z为区域平均深度值,pw为机器人的世界坐标,此处可设

p
uv
为像素偏差的最大值,
△umax

△vmax
分别为像素坐标平面的分块大小。由于相机内参固定,即f

t
max
为定值,所以由(5)式可知:k

z2wh。
[0037]
定义k=mn=ξz2wh,则:
[0038][0039]
从(6)式可知,在最大容许偏差

t
max
为一定值且特征分布均匀时,对于同类型的图像,图像较大时,应该具有较多的分块。对于kitti类数据场景,中间的区域平均深度值较大,所以应具有较多的分块数。
[0040]
基于上述分析,本发明待检测图像按照深度值,划分为中间区域和边缘区域;各区域按照平均深度值划分为一个以上的等大特征块。经研究返现,当选择分块数量为3
×
2、2
×
2、4
×
2、4
×
3时,有助于后续图像特征提取和匹配。例如当图像分为3
×
2的块,边缘区域位于最左和最右的块,中间区域通常位于道路中,故深度较大,为中间区域。
[0041]
上述步骤s12中,通常来说,图像在中间区域的平均深度值较大,故中间区域应有较多的分块;同时,在微小的视点变化情况下,部分分块可能并没有有效匹配,如图3中实线的分块几乎没有特征属于同一物体或墙面,图像中的特征会配缺失。对此本发明提出了分块冗余机制,设定了冗余分块,在原有分块的基础上,在待测图像水平方向或/和竖直方向上叠加与步骤s11中得到的特征块等大的冗余分块。以在沿水平方向叠加冗余分块为例,依
据前面所述定义,边缘区域的图像搜索范围是(0,w)或(w-w,w),w表示特征块的宽度,而中间块可搜索范围是或其中,表示特征块水平方向增加的冗余搜索范围,λ表示沿水平方向的特征块序号,2≤λ≤m-1;即在原有的基础上增加了或的可搜索空间,增大了匹配范围,从而降低了匹配缺失的风险,同时,增加分块冗余,加强了中间区域在匹配时的权重,弱化了来自边缘的误匹配权重。为了中间区域可搜索空间的一致性,令
[0042][0043]
即得到,
[0044][0045]
竖直方向可以做类似处理,边缘区域的图像搜索范围是(0,h)或(h-h,h),h表示特征块的高度,而中间块可搜索范围是或其中,表示特征块竖直方向增加的冗余搜索范围,λ

表示沿垂直方向的特征块序号,2≤λ

≤n-1;即在原有的基础上增加了或的可搜索空间。为了中间区域可搜索空间的一致性,令
[0046][0047]
即得到,
[0048][0049]
所以在半个分块的起始点处添加了同样大小的分块,增加了中间区域分块数、加大了中间区域权重的同时,也增大了中间区域的可搜索空间,从而保证了足够的特征被匹配到。但增加分块的同时也增加了计算量,考虑水平和竖直均添加分块冗余且特征均匀分布的情况下,计算量c
redundancy
可以被定义为:
[0050][0051][0052]
所以在考虑冗余分块情况下,本发明提供的闭环检测方法仍旧快于直接匹配的方法,当k值较大,即分块数较多时,效率会进一步提升。
[0053]
基于上述分析,本发明按照以下方法添加冗余特征块,沿水平方向每相邻两个分块衔接位置添加一冗余分块(优选的,按照公式(7)确定冗余分块边界);沿竖直方向,每相邻两个分块衔接位置添加一冗余分块(优选的,按照公式(8)冗余分块边界)。因此,在考虑冗余分块情况下,待测图像分块总数量为(2m-1)
×
(2n-1)。
[0054]
上述步骤s2的目的是对两张待测图像进行特征点匹配和筛选,主要是通过步骤s21-s23来实现。考虑到计算量,在进行步骤s21-s23之前,首先对分块后的特征块图像进行灰度化处理。
[0055]
步骤s21中,可以常规特征点提取方法,例如fast特征点、harris角点、sift特征点、surf特征点等。本发明中提取的是fast特征点,以提高特征点提取效率。
[0056]
步骤s22中,可以采用常规的特征描述方法,例如brief特征描述法、带旋转不变性的surf64特征描述法、不带旋转的u-surf128特征描述法等。本发明中采取的是brief特征描述法,brief特征描述法是一个非常轻量化的特征描述方法,brief描述子相比带旋转不变性的surf64和不带旋转的u-surf128描述子更加具有出色的性能和更少的计算消耗。所以在本发明中选择了256位(32bytes)的brief作为本次实验的特征描述方法。
[0057]
步骤23中,可以采用常规的特征点匹配方法,例如bruteforce暴力匹配方法、flann等。本发明在特征点匹配过程中,采用了bruteforce暴力匹配的匹配方法。对于匹配到的每一对匹配点,采用汉明距离作为两个特征间的距离。
[0058]
考虑到特征的鲁棒性,步骤s24中,可以采用常规的特征点筛选策略对特征点进行筛选,例如ransac(random sample consensus)策略、knn算法等。本发明中,引入ransac策略对每个分块中匹配到的特征点进行筛选,依据筛选到的特征点计算该分块第j个特征点的汉明距离d
(k,j)
。在匹配过程中使用蛮力匹配,以汉明距离d作为匹配点的距离,其计算方法为:
[0059][0060]
其中表示异或运算,p和q表示两个待匹配特征点的(b=256位)brief描述符。
[0061]
当出现特征块提取的特征点数目或者经过ransac筛选后特征点对个数低于设定阈值的情况时,引入惩罚系数α对该特征块采取一定的惩罚,惩罚的值由上一分块的距离来决定,若第一分块d1出现此情况,则初始化为d1=ε,ε为加权常数。
[0062]
步骤s25中,待匹配的两张待测图像(用第l帧和第l

帧表示)第k个对应特征分块的加权距离s
(l,l

,k)
计算公式如下:
[0063]
其中k∈k
ꢀꢀꢀ
(12)
[0064]
式中,δ表示特征点匹配个数的阈值,u表示第l、l

帧图像第k个对应分块经ransac筛选后匹配到的特征点数量,j=1,2,3,

,u;当u大于等于该阈值时,第k个对应特征分块的相似度为正常加权距离;mind
(k,j)
表示第k个图像块所有特征点中的汉明距离最小值;当不满足该条件时,我们引入一个系数α对距离sk一定的处罚,而处罚值为α乘以上一相邻块的加权距离s
k-1

[0065]
上述步骤s3的目的在于获取两张待测图像的空间相似性得分。考虑到图像的相似度与空间中的距离成负相关,本发明采用了小于1的对数函数来对空间距离进行编码,从而得到图像的相似度。对第l帧与第l

帧的匹配,对每个分块的距离s
(l,l

,k)
进行求和,得到空间相似性得分p
(l,l

)
,如下:
[0066]
[0067][0068]
式中,s
(l,l

)
为第l帧与第l

帧k个特征分块的加权距离之和,τ为加权常数。
[0069]
上述步骤s4中,将步骤s3得到两张待测图像的空间相似性得分与设定的阈值进行比较,当空间相似性得分不小于所设定的阈值时,判定为机器人完成了闭环检测;否则,机器人需要继续检测,并同时采集图像,按照步骤s0-s4重复执行操作,直至某一时刻的图像的与历史的图像空间相似性得分不小于阈值,即认为机器人完成闭环检测。
[0070]
本发明进一步提供了基于空间关系特征匹配的闭环检测系统,其包括:
[0071]
接收装置,用于接收机器人采集的带匹配的两张待测图像;
[0072]
图像分割装置,用于分别对待匹配的两张待测图像进行分块,其进一步包括:
[0073]
图像初级分割模块,用于将待检测图像划分出若干等大的特征块;
[0074]
冗余分块模块,在图像初级分割模块处理基础上,叠加若干与图像初级分割模块得到特征块等大的冗余分块;原有特征块与冗余分块沿水平方向或竖直方向部分重叠;
[0075]
图像匹配装置,用于两张待测图像之间的特征点匹配,其进一步包括:
[0076]
特征点提取模块,用于在图像分割装置分块后的特征块上提取特征点;
[0077]
特征描述模块,用于对提取的特征点进行特征描述;
[0078]
特征匹配模块,用于对两张待测图像对应分块上的特征点进行特征匹配;
[0079]
特征点筛选模块,用于对两张待测图像对应分块上匹配到的特征点进行筛选,并计算对应分块特征点的汉明距离;
[0080]
图像相似度计算模块,用于计算待匹配的两张待测图像各对应分块的加权距离;
[0081]
图像融合装置,用于对两张待测图像进行相似度融合,得到两者的空间相似性得分;
[0082]
判断装置,用于依据得到的两张待测图像的空间相似性得分,判断机器人是否完成闭环检测。
[0083]
上述接收装置、图像分割装置、图像匹配装置、图像融合装置和判断装置可以嵌入到计算机处理系统中,并依据本发明提供的闭环检测方法,调用上述各装置完成闭环检测的任务。
[0084]
本发明进一步提供了一种计算机可读存储介质,其安装有上述基于空间关系特征匹配的闭环检测系统,基于该计算机可读存储介质,可通过计算机来利用上述述基于空间关系特征匹配的闭环检测系统完成闭环检测任务。
[0085]
与现有技术相比,本发明提供的基于空间关系特征匹配的闭环检测方法及系统,具有如下十分突出的优点和有益技术效果:
[0086]
(1)本发明首先对待测图像进行分块处理,对考虑微小视点变化情况,引入分块冗余机制,对中间区域的特征块添加相应的冗余分块;然后对两张待测图像对应分块进行特征点匹配,最终对两张待测图像进行相似度融合,得到两张待测图像的空间相似性得分,以用于机器人闭环检测;这样能够有效保留特征部分,并增大可搜索范围,提高机器人闭环检测的准确性。
[0087]
(2)本发明考虑了物体在空间上的位置关系,在相同场景下的不同帧间特征应服从相似的位置分布。为了约束过大的位姿变换,对图像进行了分块,可以有效避免机器人因
不同场景出现同一特征引起的感知混叠。
[0088]
(3)本发明不训练任何预先训练,也不需要预先导入较大内存的词典,避免了较大内存的占用,这使得机器人面对全新环境时也能正确应对,实现了无监督的闭环检测。
[0089]
(4)本发明面对微小视点变换问题,提出了视点匹配冗余机制,可以有效增大算法对视点变换的容忍度。
附图说明
[0090]
图1为本发明基于空间关系特征匹配的闭环检测方法流程示意图。
[0091]
图2为kitti00图像分割示意图。
[0092]
图3为分块冗余添加示意图。
[0093]
图4为数据集图像示意图;其中,(a)来自kitti00,(b)来自kitti05。
[0094]
图5为属于同一地点的kitti00序列帧间的特征偏移量分布。
[0095]
图6为用于分析分块冗余影响的不同场景示意图;其中,(a)中左边对应kitti00中第4530帧图像,右边对应kitti00中第97帧图像;(b)中左边对应kitti00中第3564帧图像,右边对应kitti00中第614帧图像;(c)中左边对应kitti00中第3408帧图像,右边对应kitti00中第2446帧图像;(d)中左边对应kitti00中第3752帧图像,右边对应kitti00中第2848帧图像;(e)中左边对应kitti00中第4155帧图像,右边对应kitti00中第3750帧图像。
[0096]
图7为加入分块冗余前后pr对比曲线;其中,(a)对应kitti00数据集测试结果;(b)对应kitti05数据集测试结果。
[0097]
图8为用于分析分块尺寸影响的不同场景示意图;其中,(a)中左边对应kitti00中第3661帧图像,右边对应kitti00中第713帧图像;(b)中左边对应kitti00中第3393帧图像,右边对应kitti00中第2419帧图像;(c)中左边对应kitti00中第4540帧图像,右边对应kitti00中第629帧图像;(d)中左边对应kitti00中第3353帧图像,右边对应kitti00中第2419帧图像。
[0098]
图9为针对kitti00数据集4541张图像在不同分块数情况下得到的相似性矩阵;其中(a)对应真实相似性矩阵,(b)对应分块数量为1
×
1,(c)对应分块数量为3
×
2,(d)对应分块数量为6
×
4。
[0099]
图10为不同分块尺寸的pr对比曲线;其中,(a)对应kitti00数据集测试结果;(b)ap值随分块数量变化曲线。
[0100]
图11为来自kitti05数据集图像示意图;其中,(a)对应第1307帧图像,(b)对应第551帧图像。
[0101]
图12为kitti05数据集图像的相似性矩阵;其中,(a)对应真实相似性矩阵,(b)对应本实施例方法得到的相似性矩阵,(c)对应本fabmap2得到的相似性矩阵,(d)对应(a)中第1307张和第551张图像的相似性矩阵放大结果,(e)对应(b)中第1307张和第551张图像的相似性矩阵放大结果,(f)对应(c)中第1307张和第551张图像的相似性矩阵放大结果。
[0102]
图13为不通闭环检测方法的pr对比曲线;其中,(a)对应kitti00数据集测试结果;(b)对应kitti05数据集测试结果。
具体实施方式
[0103]
以下将结合附图给出本发明实施例,并通过实施例对本发明的技术方案进行进一步的清楚、完整说明。显然,所述实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明内容,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施例,都属于本发明所保护的范围。
[0104]
实施例1
[0105]
本实施例中,为了评估所提出方法的性能,进行了一系列实验。所使用的平台为i7 2.9ghz的pc,ubuntu 18.04.1配有16gb ram,实验全程使用cpu,未使用gpu进行加速处理。这些实验是在5个主流公开的数据集上进行的,这些数据集包括了具有不同动态特性的城市公路、停车场以及小镇等不同的环境中。并将本发明提供的基于空间关系特征匹配的闭环检测方法与目前流行的fab-map2.0(m.cummins and p.newman,“appearance-only slam at large scale with fab-map 2.0,”int.j.rob.res.,vol.30,no.9,pp.1100

1123,2011,doi:10.1177/0278364910385483)进行了评估与比较。
[0106]
一、数据集
[0107]
本实施例使用了2个数据集(具体信息见表1),涵盖了城市公路,大学等动态场景下的图像,也有停车场下具有较小动态特征的停车场数据集,如图4所示。kitti数据集(j.fritsch,t.kuhnl,and a.geiger,“a new performance measure and evaluation benchmark for road detection algorithms,”ieee conf.intell.transp.syst.proceedings,itsc,no.itsc,pp.1693

1700,2013,doi:10.1109/itsc.2013.6728473)是slam室外场景测试标准数据集,在其中选取了00和05两组,这两组数据集中具有丰富的闭环实例和高分辨率的信息,同时具有高精度的里程计。
[0108]
表1数据集的详细信息
[0109][0110]
将其与提供的真实相似性矩阵(ground truth)进行比较。gt是一个相似性矩阵,它的行和列分别对应着不同时刻l与l

输入图像的相似性得分。为了避免重复,在l和l

帧的匹配仅计算一次,舍弃掉相似性矩阵中右上角的部分。当gt
(l
,l

)
=1时,即被认定为闭环事件发生,即第l帧和第l

帧被判定为闭环,机器人已经到达了之前到达过的位置。当gt
(l
,l

)
=0时,则没有发生闭环。在kitti 00,kitti 05数据集没有提供闭环信息,但是提供了对应时间戳的位姿信息,可以利用里程表的信息手动构建了它们的真实闭环。
[0111]
二、精度评价方法
[0112]
在本实施例中,采用了precision-recall曲线来评估和比较本发明和其他算法的性能。在slam闭环检测过程中,ap值是一种常见的评估指标,表达了在一定范围内召回率和精度值的均值,可以评估算法的定量性质,ap值的计算方法较多,为了保持一致性,本实施例采用以下公式计算ap值。其中精度、召回率,以及ap的计算方法如下:
[0113]
[0114][0115][0116]
式中,p(z),r(z)是置信阈值为z时的精度和召回率。n
tp
代表真阳性,这意味着闭环检测被正确检测到了,n
fp
表示假阳性,这意味着机器人检测的闭环并不是真实的闭环,n
fn
表示假阴性,这意味着有的闭环机器人并没有能够正确检测到。
[0117]
结合图1,采用本发明提供的基于空间关系特征匹配的闭环检测方法,对数据集数据图像数据处理的步骤如下:
[0118]
s1分别对待匹配的两张待测图像进行分块,对待测图像分块步骤如下:
[0119]
s11将待检测图像划分出若干等大的特征块。
[0120]
本实施例中,首先对图像进行灰度处理;然后根据深度值对应的场景,划分合适的分块,本实施例中划分为3
×
2块,边缘区域为左右边缘临近的分块,平均深度值较低,中间分块则为靠近图像几何中心的分块。
[0121]
本实施例给定||

t
max
||2=10m,||
△rmax
||=0.4的约束下,被认定为闭环的两帧间,特征应具有相似的分布。本案例调查了kitti数据集的所有闭环案列,通过调查匹配1000多个真实被判定为闭环的帧对,调查它们之间匹配的特征对的偏移量,统计结果如图5所示。基于图像特征在图像上偏移分布,发现99%的特征偏移量均位于的分布范围内,且特征在竖直方向上的分布相比水平方向上更为集中。进而3
×
2是一个最为合理的选择,即m=3,n=2。
[0122]
因此,当m=3,n=2时,在图6(a)中单个分块能够表达足够的特征且不容易匹配丢失。
[0123]
s12在步骤s11待测图像分块基础上,叠加若干与步骤s11得到特征块等大的冗余分块;原有特征块与冗余分块沿水平方向或竖直方向部分重叠。
[0124]
本实施例中,步骤s11中的3
×
2特征块,按照前面给出的冗余分块添加方法,从灰度处理后的待测图像划分9冗余分块,待测图像分块总数量为15块,每个冗余分块与对应特征块沿水平方向或竖直方向有一半的重叠区域。
[0125]
按照上述步骤s11和s12分别对两张待测图像进行分块处理。
[0126]
s2两张待测图像之间的特征点匹配,包括以下分步骤:
[0127]
s21在步骤s1分块后的特征块上提取特征点。
[0128]
本实施例使用常规的fast特征点提取法,对分块后的特征块和冗余分块进行特征点提取。
[0129]
s22对提取的特征点进行特征描述。
[0130]
本实施例使用常规的brief特征描述方法对提取的特征点进行描述。该brief特征描述方法参数见表2所示。
[0131]
本实施例中,设置了一部分默认参数,见表2所示。
[0132]
表2默认参数设置
[0133][0134]
s23对两张待测图像对应分块上的特征点进行特征匹配。
[0135]
本实施例使用常规的bruteforce暴力匹配方法对两张待测图像对应分块上的特征点进行匹配。对于匹配到的每一对匹配点,采用汉明距离作为两个特征间的距离。
[0136]
s24对两张待测图像对应分块上匹配到的特征点进行筛选,并计算对应分块特征点的汉明距离。
[0137]
本实施例进一步使用ransac策略对每个对应分块中匹配到的特征点进行筛选,依据筛选到的特征点按照公式(11)计算该分块每个特征点的汉明距离d
(k,j)
。当特征块提取的特征点数目不够的情况,或者经过ransac筛选后特征点对个数低于设定阈值的情况,引入惩罚系数α对该特征块采取一定的惩罚,惩罚的值由上一分块的加权距离s
k-1
来决定,若第一分块d1出现此情况,则初始化为d1=ε,ε为加权常数。
[0138]
s25计算待匹配的两张待测图像各对应分块的加权距离。
[0139]
本实施例中,按照公式(12)计算得到待匹配的两张待测图像(用第l帧和第l

帧表示)第k个对应特征分块的加权距离s
(l,l

,k)
。对于置信阈值δ,设定了一个经验值7。
[0140]
s3对两张待测图像进行相似度融合,得到两者的空间相似性得分。
[0141]
本实施例,按照前面给出的公式(13)计算得到两张待测图像的空间相似性得分p
(l,l

)
。对于加权常数τ,取35。
[0142]
s4依据得到的两张待测图像的空间相似性得分,判断机器人是否完成闭环检测。
[0143]
将步骤s3得到两张待测图像的空间相似性得分与设定的阈值0.75进行比较,当空间相似性得分不小于对应的阈值时,判定为机器人完成了闭环检测;否则,机器人需要继续检测,并同时采集图像,按照步骤s0-s4重复执行操作,直至空间相似性得分不小于设定的阈值时,认为机器人识别到了闭环,可以进行全局位姿的修正。
[0144]
(一)分块冗余机制评估
[0145]
针对微小视点变化和特征可能匹配丢失的问题,同时,考虑了一定位姿变化容忍度

t
max
的情况下,由推论可知,图像中间的区域平均深度值较大,对此提出了分块冗余的方法,使用默认参数表2,采用冗余分块数为9。将划分冗余分块与不划分冗余分块的情况(其余步骤相同)下在kitti00和kitti05上分别做了实验,部分图像置信概率如图6所示。在图6(a)具有较小视点变化相同场景下的测试里,具有分块冗余的置信概率均高于没有分块冗余的方法。在测试中均为真阳性。由图6(a)可以看出,在对具有微小视点变化的同一场景下,提出的添加分块冗余的方法相比不添加时置信概率更高。在图6(b)、(c)所示具有微小位移变化的同一场景中,没有设置分块冗余的方法表现出非常低的置信概率,出现假阴性,加入分块冗余后,置信概率大幅提升。在大多数闭环被正确检测的阈值区间内,为真阳性。由图6(b)、(c)可以看出,在面对稍大视点和位移变化时,未添加分块冗余的方法的置信概率明显下降为假阴性,而加入分块冗余的匹配依然能保持较高的置信概率。这是因为在面
对稍大的视点变化的位移的场景,原有各个分块间无法匹配到较多正确的匹配点,当块没有被正确匹配上时,会沿着距离该特征最接近的相似特征进行匹配,导致惩罚加大。而添加分块冗余后,即使原有位置的匹配特征距离较大,添加的冗余分块增大了搜索区间,提高了匹配的鲁棒性。如图6(d)、(e)所示环境具有较大的差异的不同场景中,加入分块冗余后置信概率更小。面对不同场景时,加入匹配冗余后具有更低的置信度,从而区分度进一步加大,提高了不同场景的区分度。这是因为在匹配时,由于边缘的局部特征的过于相似的现象,在加入分块冗余后,由于中间区域的权重增加,即不相似的特征权重增大,边缘区域特征距离被中间区域稀释,从而具有更低的置信度。提高了区分度。
[0146]
由图7p-r曲线也可以看出,在使用冗余机制的方法后,ap值显著变高了,在同等精度下召回率均高于没有匹配冗余的方法。在加入匹配冗余机制后,特征搜索的区域变大了,缺失的匹配被正确的特征匹配上了,降低了匹配对于视点偏移的影响,从而降低了视点敏感性。同时,增大中间区域的权重也稀释了局部区域特征距离较近的影响,证明了本发明方法的有效性。
[0147]
表3加入分块冗余策略前后置信概率
[0148][0149]
(二)分块尺寸评估
[0150]
本发明方法中分块大小的确定同样很重要,分块大小决定着每个分块有效匹配点的数量,即经过ransac处理后,有效匹配点个数影响着相似度矩阵的计算,对于算法的匹配正确与否具有重要影响。下面选取了全局匹配即(1226
×
370)和每块大小分别为620
×
376(2
×
1),620
×
188(2
×
2),413
×
188(3
×
2),310
×
125(4
×
3),248
×
125(5
×
3),206
×
94(6
×
4),177
×
75(7
×
5)等大小的分块作为输入替换步骤s11中分块尺寸和数量设置,进行实验,其他参数均参照表2,研究了分块大小对于实验的影响,对kitti05数据集采用表2中的默认参数进行了实验。在实验中发现,分块大小具有一定的临界值。
[0151]
当特征全局搜索时,在面对图8(a)所示的相同位置,同时具有部分车体变化,光照阴影变化的动态场景中,即具有光照阴影和变化和视点,尺度变化时,大块均能给出很高的置信概率且显示真阳性,但面对图8(b)所示的具有感知混叠的场景中,具有类似的白墙和窗户,车体等特征,同样呈现了很高的置信概率,在本发明的实验中,全局搜索不论置信阈值多大,该判断始终为假阳性。同样在(b)等不具有太多相似特性的场景中,置信概率为0.6742同样相对较高,不易区分,说明全局搜索和大分块很容易引起感知混叠,来自不同区域的相似特征很可能匹配在一起。同样由图8(c)、(d)对应的表4可以看出,全局搜索的假阳性概率很高,相似的特征环境非常容易显示假阳性。在不分块时,精度值并不能达到100%,随着召回率的提高,精度下降较快,这是由于当特征搜索区域太大时,忽略掉了特征在空间中的相对位置关系,从而大的图像块容易匹配到不属于同一位置中的相似特征,在搜索时,距离较近的特征就会错误匹配在一起。如图8中,外观相似的图像中容易引起感知混叠。
[0152]
当分块很小时,即分块数为5
×
3或7
×
5时,如图8(a)所示,在局部的遮挡和右边区域特征尺度变化的情况下,置信概率大幅下降。虽然左半区域的特征加权距离较小,但由于右边区域局部的遮挡和区域特征尺度变化的原因,过小块的特征搜索会丢失较多匹配,出现较多误匹配,从而特征的加权距离增大,左边块的小特征距离被稀释,置信概率下降。同样在8(d)中所示的具有视点变化的场景中,置信概率大幅下滑,这是由于分块数增大后,在图像中类似区域内能匹配的特征均较大,在微小的视点变化时,小的分块在当前搜索区域内不能够匹配到充足的有效匹配点,这导致了惩罚力度的加大,导致了假阴性。从8(b)也可以看出,当分块数较大时,会丢失太多潜在的匹配,算法性能大幅下降。
[0153]
当分块数为2
×
2或者3
×
2时,如图8(a)所示的具有动态光影场景,和8(d)所示具有较大尺度和视点变换的场景,它们是ground truth中的闭环,可以看出,在该环境中,均显示了较高的置信概率,本发明的方法具有识别相似场景的能力。在图8(a)所示的图中,他们均显示真阳性,当环境切换到如图8(b)所示的具有较多相似特征的不同位置中时,置信值在0.50~0.64之间。相比同一位置8(a)、(d)具有的接近1的置信值,置信度为0.50~0.64仍具有很高的区分度,说明在分块数适中时,本发明的方法即使在应对非常相似的不同环境时给出置信概率较低,具有很好区分度。说明在合适的分块大小时具有很强的抗感知混叠能力。同样在图8(c)中所示的具有感知混叠的不同场景中,给出的置信概率同样较低,具有很大的区分度。这是由于对特征的位置进行了编码,将特征中的位置信息加入到了置信概率编码中,不属于同一位置的特征不会误匹配到一起,在上述分块冗余的方法加入的情况下,图8(d)所示具有较大视点变换和特征尺度变化的同一场景中仍具有很高的置信概率,在实验中,在绝大多数闭环被检测的置信阈值下,分块数为2
×
2和3
×
2中,该判定始终为真阳性。证明了合适的分块数量的重要性。
[0154]
对于kitti00数据集,利用两待测图像k个特征分块的加权距离之和s表征两图像的相似性,构建不同分块数量情况下的相似性矩阵,如图9(b)-9(d)所示。从图9可以看出,待测图像分块数量对两图像相似性判断具有较大影响,当分块数量为3
×
2时,所得到的相似性矩阵与真实相似性矩阵最为接近。证明了合适的分块数量的重要性。
[0155]
由图10p-r曲线也可以看出,对图像进行分块处理之后,ap值显著变高了,在同等精度下召回率均高于全局搜索的方法。但是随着分块数量的增加,ap值呈现先增加后减小的趋势。因此只有选择合适的分块尺寸,才能够使得不同场景下分块特征匹配效果最佳,证明了本发明方法的有效性。
[0156]
表4图像匹配置信度(其中标记有删除线的部分表示该方法完全失败)
[0157][0158]
(三)闭环检测效果对比
[0159]
针对上述两个数据集,将按照步骤s1-s4给出的基于空间关系特征匹配的闭环检测方法与fabmap2公开的结果进行了对比。在fabmap2的实验中,从两个数据集选取10981个特征词汇的词典作为测试,经过对比测试。本发明所提出的方法与fabmap2的测试结果如图
11-图13所示。从图12(a)-(f)中可以看出,本发明提供的闭环检测方法非常接近于真实闭环,具有较高的性能。相比之下,fabmap2的结果中损失了很多的闭环信息,fabmap2的非闭环帧间具有非常低的置信阈值,但这是以很低的召回率作为代价的。从图13(b)中可以看出,fabmap2的召回率下降非常快,对于视角偏移量稍大的即被认定为非闭环,而相比之下,本发明方法对于视点变化具有很强的鲁棒性,本发明方法显著优于fabmap2。
[0160]
综上所述,本发明提供了一种新的基于空间特征匹配的闭环检测方法,考虑了特征在空间中的相对位置关系,有效降低感知混叠出现的概率。通过大量的公开数据集表明,本发明提供的方法摆脱了任何预先训练的基础,保证高精度的同时拥有较高的召回率,可以有效地对机器人的位姿进行修正,协助机器人在位姿丢失时的重定位,纠正机器人随时间增长的漂移误差,保证全局的位姿一致性,从而让机器人获得更加精准的定位和更好的建图效果。
[0161]
实施例2
[0162]
本实施例提供了一种基于空间关系特征匹配的闭环检测系统,其包括:
[0163]
接收装置,用于接收机器人采集的带匹配的两张待测图像;
[0164]
图像分割装置,用于分别对待匹配的两张待测图像进行分块,其进一步包括:
[0165]
图像初级分割模块,用于将待检测图像划分出若干等大的特征块;
[0166]
冗余分块模块,在图像初级分割模块处理基础上,叠加若干与图像初级分割模块得到特征块等大的冗余分块;原有特征块与冗余分块沿水平方向或竖直方向部分重叠;
[0167]
图像匹配装置,用于两张待测图像之间的特征点匹配,其进一步包括:
[0168]
特征点提取模块,用于在图像分割装置分块后的特征块上提取特征点;
[0169]
特征描述模块,用于对提取的特征点进行特征描述;
[0170]
特征匹配模块,用于对两张待测图像对应分块上的特征点进行特征匹配;
[0171]
特征点筛选模块,用于对两张待测图像对应分块上匹配到的特征点进行筛选,并计算对应分块特征点的汉明距离;
[0172]
图像相似度计算模块,用于计算待匹配的两张待测图像各对应分块的加权距离;
[0173]
图像融合装置,用于对两张待测图像进行相似度融合,得到两者的空间相似性得分;
[0174]
判断装置,用于依据得到的两张待测图像的空间相似性得分,判断机器人是否完成闭环检测。
[0175]
上述接收装置、图像分割装置、图像匹配装置、图像融合装置和判断装置可以嵌入到计算机处理系统中。机器人将实时采集的图像数据发送至基于空间关系特征匹配的闭环检测系统,闭环检测系统依据实施例1提供的基于空间关系特征匹配的闭环检测方法,调用上述各装置实现对图像的匹配检测,进而完成闭环检测任务。上述接收装置、图像分割装置、图像匹配装置、图像融合装置和判断装置可以按照前面闭环检测方法给出的具体步骤执行操作。
[0176]
本实施例进一步提供了一种计算机可读存储介质,其安装有上述基于空间关系特征匹配的闭环检测系统,基于该计算机可读存储介质,可通过计算机来利用上述述基于空间关系特征匹配的闭环检测系统完成闭环检测任务。
[0177]
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发
明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献