CN116597174A - 一种基于深度学习的视觉slam回环检测系统及其方法 - Google Patents
一种基于深度学习的视觉slam回环检测系统及其方法 Download PDFInfo
- Publication number
- CN116597174A CN116597174A CN202310214051.3A CN202310214051A CN116597174A CN 116597174 A CN116597174 A CN 116597174A CN 202310214051 A CN202310214051 A CN 202310214051A CN 116597174 A CN116597174 A CN 116597174A
- Authority
- CN
- China
- Prior art keywords
- frame
- image
- sub
- dictionary
- features
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 99
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000000007 visual effect Effects 0.000 title claims abstract description 26
- 238000013135 deep learning Methods 0.000 title claims abstract description 23
- 230000003068 static effect Effects 0.000 claims abstract description 67
- 238000000605 extraction Methods 0.000 claims abstract description 25
- 230000008569 process Effects 0.000 claims abstract description 20
- 230000006870 function Effects 0.000 claims description 44
- 239000013598 vector Substances 0.000 claims description 33
- 238000011176 pooling Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 10
- 230000004913 activation Effects 0.000 claims description 6
- 238000005457 optimization Methods 0.000 claims description 6
- 230000014509 gene expression Effects 0.000 claims description 4
- 238000013528 artificial neural network Methods 0.000 abstract description 4
- 239000000284 extract Substances 0.000 abstract description 3
- 238000013527 convolutional neural network Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
Abstract
本发明公开了一种基于深度学习的视觉SLAM回环检测系统及其方法,包括:移动物体检测与特征提取模块根据神经网络分类器判断场景中是否存在动态物体,并只提取图像中的静态特征;新场景检测模块利用叠加自动编码器检测当前场景是否已访问过;特征存储与相似性比较模块是与新场景检测模块并行运作,将提取到的图像特征根据相应的阈值存储到多级字典中,并进行帧与帧之间的相似度匹配已检测是否出现新场景。在回环检测过程中依次从高级字典开始检索,无需和每一个先前帧进行比较,从而加快帧与帧之间的匹配速度。本发明能够有效解决移动目标、特征遮挡等问题,回环检测的准确度和精度高。
Description
技术领域
本发明属于基于视觉的同步定位与建图(Simultaneous Localization andMapping:SLAM)技术领域,涉及一种基于深度学习的SLAM回环检测系统及其方法。
背景技术
视觉SLAM中,传统的回环检测方法主要采用词袋模型(Bag Of Words,BOW)等。如:ORB-SLAM【Mur-Artal R等,ORB-SLAM:a versatile and accurate monocular SLAMsystem[J].IEEE transactions on robotics,2015.】采用基于词袋的方法是预先加载一个词袋字典树,字典树将图像中的每一局部特征点的描述子转换为一个单词,字典里包含着所有的单词,通过对整张图像的单词统计一个词袋向量,词袋向量间的距离即代表了两张图像之间的差异性。此类方法依赖于图像特征点的提取与匹配,不同季节和光照条件下也存在性能问题,相同的特征出现在不同地方并导致错误对应。此外,当场景中的物体类别越多,所需要的储存内存也越多。
为了克服这些局限性,一些基于深度学习的方法将神经网络嵌入到SLAM系统中,可以有效识别出相似图片并用于回环检测过程,包括基于CNN的网络【Hou Y等,Convolutional Neural Network-Based Image Representation for Visual LoopClosure Detection[C]//2015IEEE international conference on information andautomation.IEEE,2015:2238-2245.】,CALC【Merrill N等.Lightweight unsuperviseddeep loop closure[J].arXiv preprint arXiv:1805.07703,2018.】等。这些方法一定程度上提升了回环检测的准确性,但是系统实时性不能满足实际应用需求。其次这些方法提取的是整张图像的特征,如果场景中的出现移动物体会大幅降低回环检测结果。
发明内容
本发明的目的是克服现有视觉SLAM系统回环检测的不足之处,提供一种基于深度学习的SLAM回环检测系统及其方法,能够从RGB视频流中判断图像的相似性,使机器人能够准确和有效地识别已经访问的场景,可以解决移动目标、特征遮挡等问题,提高回环检测的准确度和精度。
为解决上述技术问题,本发明采用以下技术方案。
本发明的一种基于深度学习的视觉SLAM回环检测系统,包括:
移动物体检测与特征提取模块,根据输入的RGB视频流中的图像帧,利用移动对象检测网络可以剔除场景中存在动态因素的对象,只保留静态图像块,并提取静态图像特征;
新场景检测模块,利用叠加自动编码器检测当前场景是否已访问过,即:根据输入的RGB视频流检测图像帧,由自动编码器判断是否出现新的场景;
特征存储与相似性比较模块,与新场景检测模块并行运作,将每张图像中提取的特征存储到多级字典中,每新来一帧,当前帧与之前的帧比较相似性,判断当前帧是处于新场景还是已经发生回环;
网络损失函数单元,二进制交叉熵损失Cd,均方误差损失函数M,稀疏性约束损失Cs和连续性约束损失Cc。
具体的,移动物体检测与特征提取模块,包括:
移动物体检测部分,从RGB视频流中读取图像,每张输入图像会被分为n个子图区域,利用基于CNN网络的分类器区分静态子图和动态子图;基于CNN网络的分类器包括5个二维卷积层、4个最大池化层即Max Pool层和两个全连接层;其中卷积层的卷积核大小是32,最大池化层的卷积核是22;5个二维卷积层的输出通道数为64,128,256,256,512;在第1,2,4,5个卷积层后面设置最大池化层;最后两个全连接层的输出通道数为128,1;输出每张子图的置信度,如果某张子图的置信度大于给定的阈值0.6,该子图为动态子图,反之则为静态子图;
特征提取部分,只提取静态子图的图像特征,第i张图像的特征FIi提取自基于CNN网络的分类器的倒数第二层的全连接层;每个子图可以表示为一个128×1的特征向量,128是全连接层输出维度,每张输入图像会得到一个128×n维的特征向量;如果某张子图中检测出动态物体,这个子图特征Fpi将被忽略,则剩余的静态子图特征将被保留,表示为128×j维的特征向量,j是输入图像中包含的静态子图像个数,且j<n;该特征向量中包含固定对象的深度特征,最后将特征向量传递给自动编码器,可用公式(1)表示为:
FIi={Fp1,Fp2,Fp3,…Fpj} (1)。
具体的,所述的新场景检测模块,通过一个堆叠自动编码器学习新场景特征;所述堆叠自动编码器是上下结构的,其中上一个自动编码器的输出作为下一个自动编码器的输入;每个单一的自动编码器包括:输入层x、隐藏层h、输出层y;假设a是自动编码器的输出,则函数为:
其中,w是权重,b是偏差,优化目标是w和b,σ表示为非线性sigmod激活函数;
隐藏层h和输出层y的输出为:
具体的,所述的特征存储与相似性比较模块,采用多级字典存储和匹配策略加快特征匹配,其作用体现为:
①首先输入分辨率为640×480的RGB图像视频流,经由移动物体检测与特征提取模块提取特征后,使用两级字典存储图像特征,其中一级字典存储每一帧Ii的特征FIi,而二级字典只存储相应的关键帧特征信息;第一帧会被加入到二级字典中,第二帧被看作是二级字典选择下一帧的参考帧,后续到来的图像帧都与参考帧匹配,一旦当前帧和参考帧之间的相似度小于设定阈值,则该帧被视为关键帧并添加到二级字典,以此类推;
②在处理当前帧Ii时,首先将当前帧的特征FIi与二级字典的每个关键帧进行比较,如果当前帧与二级字典中的每个关键帧的最大相似度都小于一定的阈值,则不会与一级字典进行比较;反之,则会找到二级字典中相似度最高且大于相应阈值的关键帧,记录该关键帧的前一帧Ipre和后一帧Inext,并在一级字典中检测Ipre与Inext之间的每一帧,找到相似度最大的匹配帧,多级字典协同工作,加快了特征匹配过程,降低丢失实际回环的风险;
③两帧内比较相似性,其中将当前帧的特征FIi与一级或者二级字典中存储的先前帧特征之间进行比较;假设任意两帧I1和I2中包含的静态子图个数分别为p和q;则I1和I2的相似性similarity可以计算为:
其中f1和f2分别表示I1和I2中对应的静态子图特征。
具体的,所述的网络损失函数单元,定义为分类网络中二进制交叉熵损失Cd,以及新场景检测网络中均方误差损失函数M、稀疏性约束损失Cs和连续性约束损失Cc,其中:
二进制交叉熵损失如公式(5):
Cd(t,o)=-(t×logo+(1-t)×log(1-o)) (5)
其中t和o分别表示图像是静态子图和动态子图的概率;
均方误差损失函数M表示为:
该式代表某帧图像中像素点重建数据pj和原始数据对应点误差的平方和的均值,其中wj表示权重;
稀疏性约束损失Cs是通过惩罚隐藏层单元的平均输出来实现的,如公式(7)所示:
其中hi表示某一层中间隐藏层,sh表示稀疏阈值;NF为最后一个隐藏层的尺寸,Nb表示一个Batch中的帧数;
连续性约束损失Cc保持相邻帧的响应是相似的,如公式(8)所示:
由此得到新场景检测模块的损失函数L表示为:
L=M+αCs+βCc (9)
其中α和β表示相应损失的比例因子。
本发明的一种基于深度学习的视觉SLAM回环检测方法,采用如上所述的系统,所述方法包括以下步骤:
步骤一、移动物体检测与特征提取:根据输入的RGB视频流中的图像帧,利用移动对象检测网络可以剔除场景中存在动态因素的对象,只保留静态图像块,并提取静态图像特征;
步骤二、新场景检测:利用叠加自动编码器检测当前场景是否已访问过,即:根据输入的RGB视频流检测图像帧,由自动编码器判断是否出现新的场景;
步骤三、特征存储与相似性比较:与新场景检测模块并行运作,将每张图像中提取的特征存储到多级字典中,每新来一帧,当前帧与之前的帧比较相似性,判断当前帧是处于新场景还是已经发生回环;
步骤四、网络损失函数处理:定义为分类网络中二进制交叉熵损失Cd,以及新场景检测网络中均方误差损失函数M、稀疏性约束损失Cs和连续性约束损失Cc。
进一步地,所述的移动物体检测和特征提取,其过程包括:
移动物体检测:从RGB视频流中读取图像,每张输入图像会被分为n个子图区域,利用基于CNN网络的分类器区分静态子图和动态子图;基于CNN网络的分类器包括5个二维卷积层、4个最大池化层即Max Pool层和两个全连接层;其中卷积层的卷积核大小是32,最大池化层的卷积核是22;5个二维卷积层的输出通道数为64,128,256,256,512;在第1,2,4,5个卷积层后面设置最大池化层;最后两个全连接层的输出通道数为128,1;输出每张子图的置信度,如果某张子图的置信度大于给定的阈值0.6,该子图为动态子图,反之则为静态子图;
特征提取:只提取静态子图的图像特征,第i张图像的特征FIi提取自基于CNN网络的分类器的倒数第二层的全连接层,每个子图可以表示为一个128×1的特征向量,所述的128是全连接层输出维度;每张输入图像会得到一个128×n维的特征向量;如果某张子图中检测出动态物体,这个子图特征Fpi将被忽略,则剩余的静态子图特征将被保留,表示为128×j维的特征向量,j是输入图像中包含的静态子图像个数,且j<n;该特征向量中包含固定对象的深度特征,最后将特征向量传递给自动编码器,可用公式(1)表示为:
FIi={Fp1,Fp2,Fp3,…Fpj} (1)。
进一步地,所述的新场景检测,其过程包括:
通过一个堆叠自动编码器学习新场景特征,所述堆叠自动编码器为上下结构的,其中上一个自动编码器的输出作为下一个自动编码器的输入,每个单一的自动编码器包括:输入层x;隐藏层h;输出层y;假设a是自动编码器的输出,则函数为:
其中w是权重,b是偏差,优化目标是w和b,σ表示为非线性sigmod激活函数;
隐藏层和输出层的输出为:
式中y与x不应该是恒等的,恒等的结果是不合理的;自动编码器的输入和输出层的大小取决于图像中的子图总数,由于在不同图像中的静态子图的分布是不均匀的,增加连续性约束防止算法学到恒等表达式,并获得稀疏性结果,在获得有效信息的同时能屏蔽噪声,隐藏层的活动单元应该是少的并且输入图像不同响应不同。
进一步地,所述的特征存储与相似性比较,采用多级字典存储和匹配策略加快特征匹配,其过程包括:
①首先输入分辨率为640×480的RGB图像视频流,经由移动物体检测与特征提取模块提取特征后,使用两级字典存储图像特征,其中一级字典存储每一帧Ii的特征FIi,而二级字典只存储相应的关键帧特征信息;第一帧总会被加入到二级字典中,第二帧被看作是二级字典选择下一帧的参考帧,后续到来的图像帧都与参考帧匹配,一旦当前帧和参考帧之间的相似度小于设定阈值,则该帧被视为关键帧并添加到二级字典,以此类推;
②在处理当前帧Ii时,首先将当前帧的特征FIi与二级字典的每个关键帧进行比较,如果当前帧与二级字典中的每个关键帧的最大相似度都小于一定的阈值,则不会与一级字典进行比较;反之,则会找到二级字典中相似度最高且大于相应阈值的关键帧,记录该关键帧的前一帧Ipre和后一帧Inext,并在一级字典中检测Ipre与Inext之间的每一帧,找到相似度最大的匹配帧,多级字典协同工作,极大地加快了特征匹配过程,降低丢失实际回环的风险;
③两帧内比较相似性,其中将当前帧的特征FIi与一级或者二级字典中存储的先前帧特征之间进行比较;假设任意两帧I1和I2中包含的静态子图个数分别为p和q;则I1和I2的相似性similarity可以计算为:
其中f1和f2分别表示I1和I2中对应的静态子图特征。
进一步地,所述的二进制交叉熵损失如公式(5):
Cd(t,o)=-(t×log o+(1-t)×log(1-o)) (5)
其中t和o分别表示图像是静态子图和动态子图的概率;
所述的均方误差损失函数M可以表示为:
该式代表某帧图像中像素点重建数据pj和原始数据对应点误差的平方和的均值,其中wj表示权重;
所述的稀疏性约束损失Cs是通过惩罚隐藏层单元的平均输出来实现的,如公式(7)所示:
其中hi表示某一层中间隐藏层,sh表示稀疏阈值;NF为最后一个隐藏层的尺寸,Nb表示一个Batch中的帧数;
所述的连续性约束损失Cc保持相邻帧的响应是相似的,如公式(8)所示:
由此得到新场景检测模块的损失函数L表示为:
L=M+αCs+βCc (9)
其中α和β表示相应损失的比例因子。
与现有技术相比,本发明具有以下优点和有益效果:
1.本发明为视觉SLAM系统中的回环检测部分提出了一种新的方法,利用神经网络对新场景和动态物体进行检测,只保留场景中的静态特征用于回环检测,剔除了动态物体对回环检测结果的影响。相比其他方法,该方法可提高回环检测的准确性。
2.本发明提出了一种的基于多级字典的存储结构,在每到来一帧新图像时,不同于其他方法将当前帧与之前保存的每一帧图像进行相似度比较,本发明在处理当前帧时不需要和先前存储的每一帧图像特征向量比较,而是优先与高级字典比较,缩小匹配帧的搜索范围,极大地加快了匹配速度,能够满足SLAM系统的实时性需求。
附图说明
图1是本发明的一种基于深度学习的视觉SLAM回环检测系统的结构示意图。
图2是本发明的一种实施例的CNN分类网络和新场景检测网络结构图。
图3是本发明的一种基于深度学习的视觉SLAM回环检测方法的特征相似度匹配流程图。
具体实施方式
本发明提供一种基于深度学习的视觉SLAM回环检测系统及其方法,旨在根据深度学习提取RGB图像特征,判断不同位置上的场景的相似性,提高机器人在移动过程中的定位精度和准确性。
下面结合附图,对本发明做进一步详细说明。
图1是本发明的一种实施例的基于深度学习的视觉SLAM回环检测系统结构示意图。如图1所示,本发明系统实施例包括:
移动物体检测与特征提取模块:根据输入的RGB视频流中的图像帧,利用移动对象检测网络可以剔除场景中存在动态因素的对象,只保留静态图像块,并提取静态图像特征;
新场景检测模块:利用叠加自动编码器检测当前场景是否已访问过,即:根据输入的RGB视频流检测图像帧,由自动编码器判断是否出现新的场景;
特征存储与相似性比较模块:与新场景检测模块并行运作,将每张图像中提取的特征存储到多级字典中,每新来一帧,当前帧与之前的帧比较相似性,判断当前帧是处于新场景还是已经发生回环。
网络损失函数单元:二进制交叉熵损失(Cd),均方误差损失函数(M),稀疏性约束损失(Cs)和连续性约束损失(Cc)。
图2是本发明一种实施例的CNN分类网络和新场景检测网络结构图:
移动物体检测与特征提取模块:包括移动物体检测部分和特征提取部分。
移动物体检测部分,从RGB视频流中读取图像,每张输入图像会被分为n个子图区域,利用基于CNN网络的分类器区分静态子图和动态子图。基于CNN网络的分类器包括5个二维卷积层、4个最大池化层(即Max Pool层)和两个全连接层。其中卷积层的卷积核大小是32,最大池化层的卷积核是22。5个二维卷积层的输出通道数为64,128,256,256,512。在第1,2,4,5个卷积层后面设置最大池化层。最后两个全连接层的输出通道数为128,1。输出每张子图的置信度,如果某张子图的置信度大于给定的阈值0.6,该子图为动态子图,反之则为静态子图。
特征提取部分,只提取静态子图的图像特征,第i张图像的特征FIi提取自基于CNN网络的分类器的倒数第二层的全连接层,每个子图可以表示为一个128×1的特征向量(128是全连接层输出维度),每张输入图像会得到一个128×n维的特征向量。如果某张子图中检测出动态物体,这个子图特征Fpi将被忽略,则剩余的静态子图特征将被保留,表示为128×j维的特征向量(j是输入图像中包含的静态子图像个数,且j<n)。该特征向量中包含固定对象的深度特征,最后将特征向量传递给自动编码器,可用公式(1)表示为:
FIi={Fp1,Fp2,Fp3,…Fpj} (1)
新场景检测模块:主要通过一个堆叠自动编码器学习新场景特征,所述堆叠自动编码器是上下结构的,其中上一个自动编码器的输出作为下一个自动编码器的输入,每个单一的自动编码器包括:输入层x;隐藏层h;输出层y。假设a是自动编码器的输出,则函数为:
其中w是权重,b是偏差,优化目标是w和b,σ表示为非线性sigmod激活函数。
隐藏层和输出层的输出为:
式中y与x不应该是恒等的,恒等的结果是不合理的。自动编码器的输入和输出层的大小取决于图像中的子图总数,由于在不同图像中的静态子图的分布是不均匀的,增加连续性约束防止算法学到恒等表达式,并获得稀疏性结果,在获得有效信息的同时能屏蔽噪声,隐藏层的活动单元应该是少的并且输入图像不同响应不同。
特征存储与相似性比较模块:采用多级字典存储和匹配策略加快特征匹配,其原理如图3所示。
①首先输入分辨率为640×480的RGB图像视频流,经由移动物体检测与特征提取模块提取特征后,使用两级字典存储图像特征,其中一级字典存储每一帧Ii的特征FIi,而二级字典只存储相应的关键帧特征信息。第一帧总会被加入到二级字典中,第二帧被看作是二级字典选择下一帧的参考帧,后续到来的图像帧都与参考帧匹配,一旦当前帧和参考帧之间的相似度小于设定阈值,则该帧被视为关键帧并添加到二级字典,以此类推。
②在处理当前帧Ii时,首先将当前帧的特征FIi与二级字典的每个关键帧进行比较,如果当前帧与二级字典中的每个关键帧的最大相似度都小于一定的阈值,则不会与一级字典进行比较。反之,则会找到二级字典中相似度最高且大于相应阈值的关键帧,记录该关键帧的前一帧Ipre和后一帧Inext,并在一级字典中检测Ipre与Inext之间的每一帧,找到相似度最大的匹配帧,多级字典协同工作,极大地加快了特征匹配过程,降低丢失实际回环的风险。
③两帧内比较相似性,其中将当前帧的特征FIi与一级或者二级字典中存储的先前帧特征之间进行比较。假设任意两帧I1和I2中包含的静态子图个数分别为p和q。则I1和I2的相似性similarity可以计算为:
其中f1和f2分别表示I1和I2中对应的静态子图特征。
网络损失函数:定义为分类网络中二进制交叉熵损失(Cd),以及新场景检测网络中均方误差损失函数(M),稀疏性约束损失(Cs)和连续性约束损失(Cc)。其中:
二进制交叉熵损失如公式(5)表示:
Cd(t,o)=-(t×logo+(1-t)×log(1-o)) (5)
其中t和o分别表示图像是静态子图和动态子图的概率。
均方误差损失函数(M)可以表示为:
该式代表某帧图像中像素点重建数据pj和原始数据对应点误差的平方和的均值,其中wj表示权重。
稀疏性约束损失(Cs)是通过惩罚隐藏层单元的平均输出来实现的,如公式(7)所示:
其中hi表示某一层中间隐藏层,sh表示稀疏阈值。NF为最后一个隐藏层的尺寸,Nb表示一个Batch中的帧数。
连续性约束损失(Cc)保持相邻帧的响应是相似的,如公式(8)所示:
由此得到新场景检测模块的损失函数L表示为:
L=M+αCs+βCc (9)
其中α和β表示相应损失的比例因子。
本发明的一种基于深度学习的视觉SLAM回环检测方法,采用如上所述的系统,包括以下步骤:
步骤一、移动物体检测与特征提取:根据输入的RGB视频流中的图像帧,利用移动对象检测网络可以剔除场景中存在动态因素的对象,只保留静态图像块,并提取静态图像特征;
步骤二、新场景检测:利用叠加自动编码器检测当前场景是否已访问过,即:根据输入的RGB视频流检测图像帧,由自动编码器判断是否出现新的场景;
步骤三、特征存储与相似性比较:与新场景检测模块并行运作,将每张图像中提取的特征存储到多级字典中,每新来一帧,当前帧与之前的帧比较相似性,判断当前帧是处于新场景还是已经发生回环;
步骤四、网络损失函数处理:定义为分类网络中二进制交叉熵损失Cd,以及新场景检测网络中均方误差损失函数M、稀疏性约束损失Cs和连续性约束损失Cc。
所述的二进制交叉熵损失如公式(5):
Cd(t,o)=-(t×logo+(1-t)×log(1-o)) (5)
其中t和o分别表示图像是静态子图和动态子图的概率;
所述的均方误差损失函数M可以表示为:
该式代表某帧图像中像素点重建数据pj和原始数据对应点误差的平方和的均值,其中wj表示权重;
所述的稀疏性约束损失Cs是通过惩罚隐藏层单元的平均输出来实现的,如公式(7)所示:
其中hi表示某一层中间隐藏层,sh表示稀疏阈值;NF为最后一个隐藏层的尺寸,Nb表示一个Batch中的帧数;
所述的连续性约束损失Cc保持相邻帧的响应是相似的,如公式(8)所示:
由此得到新场景检测模块的损失函数L表示为:
L=M+αCs+βCc (9)
其中α和β表示相应损失的比例因子。
具体地,所述的移动物体检测和特征提取,其过程包括:
移动物体检测:从RGB视频流中读取图像,每张输入图像会被分为n个子图区域,利用基于CNN网络的分类器区分静态子图和动态子图;基于CNN网络的分类器包括5个二维卷积层、4个最大池化层即Max Pool层和两个全连接层;其中卷积层的卷积核大小是32,最大池化层的卷积核是22;5个二维卷积层的输出通道数为64,128,256,256,512;在第1,2,4,5个卷积层后面设置最大池化层;最后两个全连接层的输出通道数为128,1;输出每张子图的置信度,如果某张子图的置信度大于给定的阈值0.6,该子图为动态子图,反之则为静态子图;
特征提取:只提取静态子图的图像特征,第i张图像的特征FIi提取自基于CNN网络的分类器的倒数第二层的全连接层,每个子图可以表示为一个128×1的特征向量,所述的128是全连接层输出维度;每张输入图像会得到一个128×n维的特征向量;如果某张子图中检测出动态物体,这个子图特征Fpi将被忽略,则剩余的静态子图特征将被保留,表示为128×j维的特征向量,j是输入图像中包含的静态子图像个数,且j<n;该特征向量中包含固定对象的深度特征,最后将特征向量传递给自动编码器,可用公式(1)表示为:
FIi={Fp1,Fp2,Fp3,…Fpj} (1)。
具体地,所述的新场景检测,其过程包括:
通过一个堆叠自动编码器学习新场景特征,所述堆叠自动编码器为上下结构的,其中上一个自动编码器的输出作为下一个自动编码器的输入,每个单一的自动编码器包括:输入层x;隐藏层h;输出层y;假设a是自动编码器的输出,则函数为:
其中w是权重,b是偏差,优化目标是w和b,σ表示为非线性sigmod激活函数;
隐藏层和输出层的输出为:
式中y与x不应该是恒等的,恒等的结果是不合理的;自动编码器的输入和输出层的大小取决于图像中的子图总数,由于在不同图像中的静态子图的分布是不均匀的,增加连续性约束防止算法学到恒等表达式,并获得稀疏性结果,在获得有效信息的同时能屏蔽噪声,隐藏层的活动单元应该是少的并且输入图像不同响应不同。
具体地,所述的特征存储与相似性比较,采用多级字典存储和匹配策略加快特征匹配,其过程包括:
①首先输入分辨率为640×480的RGB图像视频流,经由移动物体检测与特征提取模块提取特征后,使用两级字典存储图像特征,其中一级字典存储每一帧Ii的特征FIi,而二级字典只存储相应的关键帧特征信息;第一帧总会被加入到二级字典中,第二帧被看作是二级字典选择下一帧的参考帧,后续到来的图像帧都与参考帧匹配,一旦当前帧和参考帧之间的相似度小于设定阈值,则该帧被视为关键帧并添加到二级字典,以此类推;
②在处理当前帧Ii时,首先将当前帧的特征FIi与二级字典的每个关键帧进行比较,如果当前帧与二级字典中的每个关键帧的最大相似度都小于一定的阈值,则不会与一级字典进行比较;反之,则会找到二级字典中相似度最高且大于相应阈值的关键帧,记录该关键帧的前一帧Ipre和后一帧Inext,并在一级字典中检测Ipre与Inext之间的每一帧,找到相似度最大的匹配帧,多级字典协同工作,极大地加快了特征匹配过程,降低丢失实际回环的风险;
③两帧内比较相似性,其中将当前帧的特征FIi与一级或者二级字典中存储的先前帧特征之间进行比较;假设任意两帧I1和I2中包含的静态子图个数分别为p和q;则I1和I2的相似性similarity可以计算为:
其中f1和f2分别表示I1和I2中对应的静态子图特征。
综上所述,本发明提出了一种视觉SLAM系统中回环检测的新框架及其方法,包含:移动物体检测与特征提取模块、新场景检测模块和特征存储与相似性比较模块。移动物体检测与特征提取模块根据神经网络分类器判断场景中是否存在动态物体,并且只提取图像中的静态特征;新场景检测模块利用叠加自动编码器检测当前场景是否已访问过;特征存储与相似性比较模块是与新场景检测模块并行运作,将提取到的图像特征根据相应的阈值存储到多级字典中,并进行帧与帧之间的相似度匹配已检测是否出现新场景。在回环检测过程中依次从高级字典开始检索,无需和每一个先前帧进行比较,从而加快帧与帧之间的匹配速度。该技术适用于自动驾驶、移动机器人、虚拟现实等多个领域,可以使得视觉SLAM系统在复杂的现实场景中进行准确的识别和定位,具有广阔的市场前景。
Claims (10)
1.一种基于深度学习的视觉SLAM回环检测系统,其特征在于,包括:
移动物体检测与特征提取模块,根据输入的RGB视频流中的图像帧,利用移动对象检测网络可以剔除场景中存在动态因素的对象,只保留静态图像块,并提取静态图像特征;
新场景检测模块,利用叠加自动编码器检测当前场景是否已访问过,即:根据输入的RGB视频流检测图像帧,由自动编码器判断是否出现新的场景;
特征存储与相似性比较模块,与新场景检测模块并行运作,将每张图像中提取的特征存储到多级字典中,每新来一帧,当前帧与之前的帧比较相似性,判断当前帧是处于新场景还是已经发生回环;
网络损失函数单元,二进制交叉熵损失Cd,均方误差损失函数M,稀疏性约束损失Cs和连续性约束损失Cc。
2.根据权利要求1所述的一种基于深度学习的视觉SLAM回环检测系统,其特征在于,移动物体检测与特征提取模块,包括:
移动物体检测部分,从RGB视频流中读取图像,每张输入图像会被分为n个子图区域,利用基于CNN网络的分类器区分静态子图和动态子图;基于CNN网络的分类器包括5个二维卷积层、4个最大池化层即Max Pool层和两个全连接层;其中卷积层的卷积核大小是32,最大池化层的卷积核是22;5个二维卷积层的输出通道数为64,128,256,256,512;在第1,2,4,5个卷积层后面设置最大池化层;最后两个全连接层的输出通道数为128,1;输出每张子图的置信度,如果某张子图的置信度大于给定的阈值0.6,该子图为动态子图,反之则为静态子图;
特征提取部分,只提取静态子图的图像特征,第i张图像的特征FIi提取自基于CNN网络的分类器的倒数第二层的全连接层;每个子图可以表示为一个128×1的特征向量,128是全连接层输出维度,每张输入图像会得到一个128×n维的特征向量;如果某张子图中检测出动态物体,这个子图特征Fpi将被忽略,则剩余的静态子图特征将被保留,表示为128×j维的特征向量,j是输入图像中包含的静态子图像个数,且j<n;该特征向量中包含固定对象的深度特征,最后将特征向量传递给自动编码器,可用公式(1)表示为:
FIi={Fp1,Fp2,Fp3,…Fpj} (1)。
3.根据权利要求1所述的一种基于深度学习的视觉SLAM回环检测系统,其特征在于,所述的新场景检测模块,通过一个堆叠自动编码器学习新场景特征;所述堆叠自动编码器是上下结构的,其中上一个自动编码器的输出作为下一个自动编码器的输入;每个单一的自动编码器包括:输入层x、隐藏层h、输出层y;假设a是自动编码器的输出,则函数为:
其中,w是权重,b是偏差,优化目标是w和b,σ表示为非线性sigmod激活函数;
隐藏层h和输出层y的输出为:
4.根据权利要求1所述的一种基于深度学习的视觉SLAM回环检测系统,其特征在于,所述的特征存储与相似性比较模块,采用多级字典存储和匹配策略加快特征匹配,其作用体现为:
①首先输入分辨率为640×480的RGB图像视频流,经由移动物体检测与特征提取模块提取特征后,使用两级字典存储图像特征,其中一级字典存储每一帧Ii的特征FIi,而二级字典只存储相应的关键帧特征信息;第一帧会被加入到二级字典中,第二帧被看作是二级字典选择下一帧的参考帧,后续到来的图像帧都与参考帧匹配,一旦当前帧和参考帧之间的相似度小于设定阈值,则该帧被视为关键帧并添加到二级字典,以此类推;
②在处理当前帧Ii时,首先将当前帧的特征FIi与二级字典的每个关键帧进行比较,如果当前帧与二级字典中的每个关键帧的最大相似度都小于一定的阈值,则不会与一级字典进行比较;反之,则会找到二级字典中相似度最高且大于相应阈值的关键帧,记录该关键帧的前一帧Ipre和后一帧Inext,并在一级字典中检测Ipre与Inext之间的每一帧,找到相似度最大的匹配帧,多级字典协同工作,加快了特征匹配过程,降低丢失实际回环的风险;
③两帧内比较相似性,其中将当前帧的特征FIi与一级或者二级字典中存储的先前帧特征之间进行比较;假设任意两帧I1和I2中包含的静态子图个数分别为p和q;则I1和I2的相似性similarity可以计算为:
其中f1和f2分别表示I1和I2中对应的静态子图特征。
5.根据权利要求1所述的一种基于深度学习的视觉SLAM回环检测系统,其特征在于,所述的网络损失函数单元,定义为分类网络中二进制交叉熵损失Cd,以及新场景检测网络中均方误差损失函数M、稀疏性约束损失Cs和连续性约束损失Cc,其中:
二进制交叉熵损失如公式(5):
Cd(t,o)=-(t×logo+(1-t)×log(1-o)) (5)
其中t和o分别表示图像是静态子图和动态子图的概率;
均方误差损失函数M表示为:
该式代表某帧图像中像素点重建数据pj和原始数据对应点误差的平方和的均值,其中wj表示权重;
稀疏性约束损失Cs是通过惩罚隐藏层单元的平均输出来实现的,如公式(7)所示:
其中hi表示某一层中间隐藏层,sh表示稀疏阈值;NF为最后一个隐藏层的尺寸,Nb表示一个Batch中的帧数;
连续性约束损失Cc保持相邻帧的响应是相似的,如公式(8)所示:
由此得到新场景检测模块的损失函数L表示为:
L=M+αCs+βCc (9)
其中α和β表示相应损失的比例因子。
6.一种基于深度学习的视觉SLAM回环检测方法,其特征在于,采用如权利要求1至5任一项所述的系统,所述方法包括以下步骤:
步骤一、移动物体检测与特征提取:根据输入的RGB视频流中的图像帧,利用移动对象检测网络可以剔除场景中存在动态因素的对象,只保留静态图像块,并提取静态图像特征;
步骤二、新场景检测:利用叠加自动编码器检测当前场景是否已访问过,即:根据输入的RGB视频流检测图像帧,由自动编码器判断是否出现新的场景;
步骤三、特征存储与相似性比较:与新场景检测模块并行运作,将每张图像中提取的特征存储到多级字典中,每新来一帧,当前帧与之前的帧比较相似性,判断当前帧是处于新场景还是已经发生回环;
步骤四、网络损失函数处理:定义为分类网络中二进制交叉熵损失Cd,以及新场景检测网络中均方误差损失函数M、稀疏性约束损失Cs和连续性约束损失Cc。
7.根据权利要求6所述的一种基于深度学习的视觉SLAM回环检测方法,其特征在于,所述的移动物体检测和特征提取,其过程包括:
移动物体检测:从RGB视频流中读取图像,每张输入图像会被分为n个子图区域,利用基于CNN网络的分类器区分静态子图和动态子图;基于CNN网络的分类器包括5个二维卷积层、4个最大池化层即Max Pool层和两个全连接层;其中卷积层的卷积核大小是32,最大池化层的卷积核是22;5个二维卷积层的输出通道数为64,128,256,256,512;在第1,2,4,5个卷积层后面设置最大池化层;最后两个全连接层的输出通道数为128,1;输出每张子图的置信度,如果某张子图的置信度大于给定的阈值0.6,该子图为动态子图,反之则为静态子图;
特征提取:只提取静态子图的图像特征,第i张图像的特征FIi提取自基于CNN网络的分类器的倒数第二层的全连接层,每个子图可以表示为一个128×1的特征向量,所述的128是全连接层输出维度;每张输入图像会得到一个128×n维的特征向量;如果某张子图中检测出动态物体,这个子图特征Fpi将被忽略,则剩余的静态子图特征将被保留,表示为128×j维的特征向量,j是输入图像中包含的静态子图像个数,且j<n;该特征向量中包含固定对象的深度特征,最后将特征向量传递给自动编码器,可用公式(1)表示为:
FIi={Fp1,Fp2,Fp3,…Fpj} (1)。
8.根据权利要求6所述的一种基于深度学习的视觉SLAM回环检测方法,其特征在于,所述的新场景检测,其过程包括:
通过一个堆叠自动编码器学习新场景特征,所述堆叠自动编码器为上下结构的,其中上一个自动编码器的输出作为下一个自动编码器的输入,每个单一的自动编码器包括:输入层x;隐藏层h;输出层y;假设a是自动编码器的输出,则函数为:
其中w是权重,b是偏差,优化目标是w和b,σ表示为非线性sigmod激活函数;
隐藏层和输出层的输出为:
式中y与x不应该是恒等的,恒等的结果是不合理的;自动编码器的输入和输出层的大小取决于图像中的子图总数,由于在不同图像中的静态子图的分布是不均匀的,增加连续性约束防止算法学到恒等表达式,并获得稀疏性结果,在获得有效信息的同时能屏蔽噪声,隐藏层的活动单元应该是少的并且输入图像不同响应不同。
9.根据权利要求6所述的一种基于深度学习的视觉SLAM回环检测方法,其特征在于,所述的特征存储与相似性比较,采用多级字典存储和匹配策略加快特征匹配,其过程包括:
①首先输入分辨率为640×480的RGB图像视频流,经由移动物体检测与特征提取模块提取特征后,使用两级字典存储图像特征,其中一级字典存储每一帧Ii的特征FIi,而二级字典只存储相应的关键帧特征信息;第一帧总会被加入到二级字典中,第二帧被看作是二级字典选择下一帧的参考帧,后续到来的图像帧都与参考帧匹配,一旦当前帧和参考帧之间的相似度小于设定阈值,则该帧被视为关键帧并添加到二级字典,以此类推;
②在处理当前帧Ii时,首先将当前帧的特征FIi与二级字典的每个关键帧进行比较,如果当前帧与二级字典中的每个关键帧的最大相似度都小于一定的阈值,则不会与一级字典进行比较;反之,则会找到二级字典中相似度最高且大于相应阈值的关键帧,记录该关键帧的前一帧Ipre和后一帧Inext,并在一级字典中检测Ipre与Inext之间的每一帧,找到相似度最大的匹配帧,多级字典协同工作,极大地加快了特征匹配过程,降低丢失实际回环的风险;
③两帧内比较相似性,其中将当前帧的特征FIi与一级或者二级字典中存储的先前帧特征之间进行比较;假设任意两帧I1和I2中包含的静态子图个数分别为p和q;则I1和I2的相似性similarity可以计算为:
其中f1和f2分别表示I1和I2中对应的静态子图特征。
10.根据权利要求6所述的一种基于深度学习的视觉SLAM回环检测方法,其特征在于:
所述的二进制交叉熵损失如公式(5):
Cd(t,o)=-(t×logo+(1-t)×log(1-o)) (5)
其中t和o分别表示图像是静态子图和动态子图的概率;
所述的均方误差损失函数M可以表示为:
该式代表某帧图像中像素点重建数据pj和原始数据对应点误差的平方和的均值,其中wj表示权重;
所述的稀疏性约束损失Cs是通过惩罚隐藏层单元的平均输出来实现的,如公式(7)所示:
其中hi表示某一层中间隐藏层,sh表示稀疏阈值;NF为最后一个隐藏层的尺寸,Nb表示一个Batch中的帧数;
所述的连续性约束损失Cc保持相邻帧的响应是相似的,如公式(8)所示:
由此得到新场景检测模块的损失函数L表示为:
L=M+αCs+βCc (9)
其中α和β表示相应损失的比例因子。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310214051.3A CN116597174A (zh) | 2023-03-08 | 2023-03-08 | 一种基于深度学习的视觉slam回环检测系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310214051.3A CN116597174A (zh) | 2023-03-08 | 2023-03-08 | 一种基于深度学习的视觉slam回环检测系统及其方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116597174A true CN116597174A (zh) | 2023-08-15 |
Family
ID=87594366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310214051.3A Pending CN116597174A (zh) | 2023-03-08 | 2023-03-08 | 一种基于深度学习的视觉slam回环检测系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116597174A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117237858A (zh) * | 2023-11-15 | 2023-12-15 | 成都信息工程大学 | 一种回环检测方法 |
-
2023
- 2023-03-08 CN CN202310214051.3A patent/CN116597174A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117237858A (zh) * | 2023-11-15 | 2023-12-15 | 成都信息工程大学 | 一种回环检测方法 |
CN117237858B (zh) * | 2023-11-15 | 2024-03-12 | 成都信息工程大学 | 一种回环检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230118864A1 (en) | Lifted semantic graph embedding for omnidirectional place recognition | |
Lu et al. | Superthermal: Matching thermal as visible through thermal feature exploration | |
Wang et al. | MCF3D: Multi-stage complementary fusion for multi-sensor 3D object detection | |
CN111652910A (zh) | 一种基于对象空间关系的目标跟踪算法 | |
Han et al. | A method based on multi-convolution layers joint and generative adversarial networks for vehicle detection | |
CN116597174A (zh) | 一种基于深度学习的视觉slam回环检测系统及其方法 | |
CN112668662B (zh) | 基于改进YOLOv3网络的野外山林环境目标检测方法 | |
CN117373062A (zh) | 一种基于联合学习的实时端到端跨分辨率行人重识别方法 | |
Wang et al. | Summary of object detection based on convolutional neural network | |
CN116740572A (zh) | 一种基于改进yolox的海上船舰目标检测方法和系统 | |
Song et al. | Srrm: Semantic region relation model for indoor scene recognition | |
Dahirou et al. | Motion Detection and Object Detection: Yolo (You Only Look Once) | |
Ma et al. | MSFNET: multi-stage fusion network for semantic segmentation of fine-resolution remote sensing data | |
CN112200840B (zh) | 一种可见光和红外图像组合中的运动物体检测系统 | |
Chen et al. | Towards pedestrian target detection with optimized mask R-CNN | |
CN115063831A (zh) | 一种高性能行人检索与重识别方法及装置 | |
Wang et al. | Deep homography estimation based on attention mechanism | |
CN113449552A (zh) | 基于分块非直接耦合gan网络的行人重识别方法 | |
Liu et al. | Unsupervised Domain Adaptation for Remote Sensing Vehicle Detection using Domain-specific Channel Recalibration | |
Sun et al. | Robust feature matching based on adaptive ORB for vision-based robot navigation | |
Khan et al. | Applications of CNNs in Computer Vision | |
Song et al. | Research on Multiscale Pedestrian Detection Algorithm | |
Thinh et al. | Depth-aware salient object segmentation | |
US20240161461A1 (en) | Object detection method, object detection apparatus, and object detection system | |
KURATA et al. | Aggregative input convolution for large-scale point cloud semantic segmentation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |