CN111553193B - 一种基于轻量级深层神经网络的视觉slam闭环检测方法 - Google Patents
一种基于轻量级深层神经网络的视觉slam闭环检测方法 Download PDFInfo
- Publication number
- CN111553193B CN111553193B CN202010249172.8A CN202010249172A CN111553193B CN 111553193 B CN111553193 B CN 111553193B CN 202010249172 A CN202010249172 A CN 202010249172A CN 111553193 B CN111553193 B CN 111553193B
- Authority
- CN
- China
- Prior art keywords
- neural network
- image
- training
- model
- loop
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于轻量级深层神经网络的视觉SLAM闭环检测方法,通过卷积神经网络搭建了图像识别模型。本方法中图像识别模型采用轻量级深层神经网络,训练方法是利用相似场景的数据集对构架好的网络模型进行图集训练,通过训练优化网络到达一定精度。最终目的是令训练好的神经网络模型能够从训练样本中学习图像样本所对应的概率分布,从而实现对场景特征的提取并得到图像的相似性以达到检测闭环的目的,并为后续SLAM建图优化做准备。本发明在复杂光照下能取得较好的检测效果,可以提升模型实际引用时的速度,此外在较低的计算成本下大幅度提高了算法的准确性。本方法在闭环检测等方面有着重要的应用价值。
Description
技术领域
本发明属于计算机视觉和机器人运动闭环检测领域,涉及一种基于轻量级深层神经网络的闭环检测方法。
背景技术
闭环检测是确定移动机器人是否返回到之前访问过的位置的问题,是SLAM中的关键模块,目的是减少构建环境地图时的累积误差,解决位置估计随时间漂移的过程,对于构建一个一致性环境地图是十分重要的。为了开发一种闭环检测算法,一种流行且成功的技术是利用当前机器人的视图与机器人地图中的视图匹配后的相似性来匹配以前访问过的位置,这和人眼判别两个相似的地点的原理是一致的。在这种情况下,闭环检测问题本质是一个是图像匹配问题。
图像匹配通常分为两个步骤:图像描述和相似性度量,其中图像描述符将图像压缩成比原始图像更紧凑、更有识别力的一维向量,这是视觉环路闭合检测中最关键的一步。目前已有许多图像描述技术用于视觉闭环检测,并取得了巨大的成功。然而,传统的基于外观的方法大多采用通过专业计算得到的人工特征,即它们是通过特性工程的过程设计的,在此过程中,人类的专业知识和洞察力主导开发过程,以实现所需的特性。基于手工特性的图像描述符通常具有共同的弱点,包括在光照变化方面缺乏鲁棒性和较高的计算成本。
近年来随着计算机性能的进步和GPU的迅速崛起,计算机视觉技术获得了长足发展,而深度学习的出现为图像描述提供了新的思路。深度学习方法可以自动地从原始数据中学习特征,并且对复杂的环境变化有更好的适应性。其中深度神经网络模型可以从不断增加的抽象的可视化数据中学习并提取图像特征,已经在图像分类、图像去噪等领域均取得较好的研究成果,应用了深度学习以期提高识别能力的闭环检测技术也正处于新的快速发展阶段,但是基于神经网络的闭环检测的快速发展需要克服网络模型参数多,实时性低的问题。因此若直接采用通用深度学习的方法,在多种多样的实际场景中,算法无法达到优异的适应性。
发明内容
本发明的目的是为了解决上述问题,提供一种稳定可靠的基于轻量级深层神经网络的机器人运动闭环检测方法。针对有限的图像数据集,设计基于卷积神经网络的图像特征辨别模型,对模型参数进行优化,达到最优状态后生成网络可以将任意场景图片转化为一组特征向量,利用归一化的后的特征向量构造相似性矩阵进行闭环的判别。
为达到上述目的,本发明采用的方法是:一种基于轻量级深层神经网络的视觉SLAM闭环闭环检测方法,包括以下步骤:
步骤1:选定闭环检测数据集。CNN模型的训练是有监督学习的过程,如果数据没有标签信息,那么无法完成模型的训练。针对上述问题,采用在大型有标签的场景数据集上完成轻量级深层神经网络模型的训练,将训练好的模型当做场景图像的特征提取器,最后将提取到的特征应用于闭环检测;
步骤2:搭建轻量级深层神经网络。对预备输入模型的训练数据与测试数据进行预处理,图像统一调整为224X224的尺寸大小(实际尺寸可根据需要调整为其他不同尺寸),模型由卷积层、池化层、block、和全连接层组成,通过卷积核来查找图像某方面的特征,然后将这些特征输入到模型里面去,和结果建立一种关系,对特征进行分类,最终由最后的全连接层的输出作为图像的特征向量;
步骤3:优化网络模型。加载数据集的图像样本,首先采用MSRA初始化设置神经网络模型的权值,将真实的图片样本输入到轻量级深层神经网络模型,使用定义好的前向传播过程,训练神经网络模型,利用反向传播,交替训练优化模型参数。在训练结束后,把训练得到的模型保存下来方便下次直接使用。利用之前训练结束后保存的模型进行测试,训练网络模型达到一定的判别准确度;
步骤4:利用网络模型进行闭环检测。通过步骤3训练得到可以用于获取图像特征的深层神经网络模型。利用神经网络对每个查询图像(当前机器人视图)计算其特征描述符,对原始CNN特征预处理,添加增强步骤,进行主成分分析(PCA)和增白,可以显著提高它们表示图像的能力,同时提高计算效率,最后再用于检测循环。归一化后然后根据欧氏距离获取图像间的相似性矩阵,并对矩阵做降秩减小噪声。通过度量相似性来确定是否发生了循环闭合,并在考虑了数据集中所有图像之后,得到一个精度和召回率对结果。通过此种方式可以得到图像间的相似性关系,解决机器人行走时的闭环检测问题。
作为本发明的一种改进,步骤1中采用standard-college365建立图像样本数据集。图像样本采用224X224的尺寸大小,本方法采用监督学习方式,因此需要训练集,验证集和测试集,采用在大量有标签的场景数据集上完成模型训练。训练数据存储到多个TFRecord文件来提高处理效率,然后从TFRecord文件中读取样例进行解析,指定原始数据的文件列表,从文件中读取数据,对数据进行灰度值与减均值的预处理后,组合整理成batch作为神经网络输入。同时,为保证训练样本有足够的代表性,样本采集时需要考虑不同地形地貌、不同距离、不同光照、摄像机拍摄角度等多种场景的覆盖。
作为本发明的一种改进,步骤2中所述的轻量级深层神经网络模型采用传统神经网络的结构,由一个输入层,两层卷积层与两个最大池化层,两个block和一个全连接层组成。输入层是一幅224X224的三通道图像;Conv1与Conv2卷积层可以对输入数据进行特征提取,最大池化层Pool1与Pool2可以进行有效的信息过滤,卷积层和池化层均采用修正线性单元C.RELU线性激活,通过将取反后的图像和原始图像级联,可以降低卷积核所需参数,此外,每一层后都做批规范化操作,加速收敛。随后是两个自定义模块block1和block2,受残差网络启发,两个模块皆利用skip connection解决深层神经网络难优化的问题;为了控制特征图的维度,减少过程参数量,增加网络的运行效率,对残差模块的主线部分运用瓶颈结构;考虑到神经模型往往面临参数多,运行慢的缺点,网络模型利用逐点群卷积和信道重排的技术,避免陷入信息流通不畅的窘境,将从上层获得的特征图split分为两组,受Inception结构启发,对同一层的特征图分别使用多个不同尺寸的卷积核,以获得不同尺度的特征,将这些特征结合起来,得到的特征往往比使用单一卷积核的要好,采用depthwise操作代替标准的卷积操作可以降低不少的参数量,同时得到更好的效果,因为它对每一个通道都进行了学习,而不是所有通道对应同一个过滤器,此举优势在于在相同的权值参数下计算量更小,运行速度更快;残差网络结构使得梯度更容易地流动到浅层的网络当中去,避免层度加深带来的梯度弥散问题。为了提高模型的泛化性,对每一次split操作后都进行一次channel shuffle,操作可以融合不同组之间的特征,进行完一次group conv之后进入到下一层组卷积当中,以此循环。为了避免过拟合现象,需要合理的进行正则化处理。最后采用全连接层Fc对前面传递的特征图进行融合和分类,输出层的神经元个数是数据集的类别个数。应确保真实样本数量远大于生成模型的参数量,网络训练才能得到零和博弈解。其次,为了保证判别模型拥有良好的适应性与判别能力,模型还使用Dropout和L2正则化辅助模型训练。
作为本发明的一种改进,步骤3中,深层神经网络的训练过程可以描述为一个根据模型生成结果对模型参数的优化过程。本方法中根据样本中的真实标签与模型生成结果进行优化。将Softmax分类器对应的损失函数交叉熵损失函数L(loss function)作为训练过程的优化目标函数,如下公式表示:
其中,m为每个训练批次的样本数量;θ为网络模型的待优化参数矩阵;x(i)为第i个图片样本;y(i)为第i个样本真实标签;k为分类数。为了有效避免过拟合,引正则化,在损失函数中给每个参数w加上权重,引入模型复杂度指标,从而抑制模型噪声,减小过拟合。在训练神经网络时,需要不断改变神经网络中所有参数,随机梯度下降算法(SGD)使损失函数不断减小,从而训练出更高准确率的神经网络模型。
为了抑制SGD的震荡,在梯度下降过程加入惯性。在SGD基础上引入了ADMA算法:
m(t)为梯度的指数移动均值,V(t)为梯度的第二时刻非中心方差值。Adam算法即自适应时刻估计方法(Adaptive Moment Estimation),能计算每个参数的自适应学***方梯度的指数衰减平均值,而且保持了先前梯度M(t)的指数衰减平均值,这一点与动量类似;β1参数的经验值0.9,β1参数的经验值0.999,二者用以控制指数衰减;动量项只对相关样本进行参数更新,减少了不必要的参数更新,从而得到更快且稳定的收敛,也减少了振荡过程。
步骤3中具体部署流程如下:
步骤301、因为场景识别是一个图像多分类问题,所以该网络最后采用了Softmax分类器对输入图像进行分类。Softmax是一个分类器,它将多个神经元的输出,映射到(0,1)区间内,计算的是类别的概率,对输入图像进行均值中心化的预处理,将处理后的图像批量传输到神经网络中通过网络模型中前向计算,通过判别公式获取预测结果s:
其中o为网络模型的参数矩阵,k为分类数;
步骤302、选用随机梯度下降算法与自适应学习梯度下降优化算法对模型参数进行优化。数据经过判别公式得到预测结果后,利用训练样本和期望值来更新参数,从而最小化损失。使用随机梯度迭代算法(SDA)来求解最优参数.每次从训练集中随机选择一个样本来进行学习,每次的学习是非常快速的,并且可以进行在线更新,该网络中的权重和偏置等参数由以下公式更新:
θt=θt-1-Vt
作为本发明的一种改进,步骤4中,图像特征维度为365维,应用特征阈值获取关键帧库,对每个关键帧图像计算特征向量之间的欧式距离,得到相似度矩阵,找到闭环帧。找到最近的点,应用距离阈值确定是否发生循环闭合,若相似性大于设定阈值,则为闭环,通过改变距离阈值得到精确回忆曲线,通过找寻关键正获取相似回环。输出闭环检测准确率召回率曲线和检测到的闭环,作为后续SLAM建图优化使用。实际模型训练时可以测试不同的训练超参数设置,选取表现最优异的模型。
(1)判断关键帧;为了避免关键帧取得太近,导致两个关键帧之间相似度过高,回环检测的帧需要取得稀疏一些,彼此之间不大相同又需要涵盖整个环境。每当相机运动一定间隔时,就取一个新的关键帧并保存,此外还需要通过限制当前位置图像匹配范围的方法来确定闭环闭合图像,利用阈值S设置检测的图像范围。具体地说,如果当前图像数是N和排除图像的数量是S,那么循环闭合只出现在当前图像前S帧以外的图像中。
(2)从关键帧中获取候选关键帧库;***不直接将当前关键帧与所有可能的闭环帧相匹配,而是首先得到关键帧附近并包括关键帧中大于等于W个不为0的类别的关键帧,将这些关键帧做集合;合理选择W的取值,W值过小,会导致取得的关键帧太多,增加计算量,W值过大,可能会超过类别数量,取不到闭环帧;
(3)计算关键帧与关键帧库中的每一帧的相似性得分;首先对向量进行归一化,利用特征向量的欧式距离来度量图像间的相似性得分,由于距离与相似性成负相关,因此选择负相关函数记录得分,匹配得分越低说明其相似度得分越高;然后应用距离阈值τi来确定是否发生了循环闭合;
上式中Dis(i,j)为图像Ii,Ii之间的距离,G为相似性得分,k1,k2为过程参数,其中k1<0,相似度评分在检测环路闭合前归一化为[0,1]。为了测量目的,使用标准化的距离来获得分数值位于[0,1]。
(4)对相似性矩阵进行降秩处理避免噪声;每对关键帧的相似度得分构成一个描述它们之间关系的矩阵M。M是一个实对阵n*n矩阵,存在一个正交矩阵V和一个对角阵D使得M满足公式,其中vi是特征向量,di是对角线上的特征值:
M的主特征向量与渗透到特定环境中的主题有关,对检测循环闭合时是有害的,会因为不同场景的重复性质而产生模糊性并导致假阳性检测。利用秩约简矩阵移除最大的特征值可以降低噪声值,保留真实的环路,有助于降低检测的模糊性。
上式通过计算λi占λr至λn的比重,用熵来衡量M分解的复杂度,从M中顺序移除外积,获得使H(M,r)最大化的rι;
得到一个没有单一主题占主导地位的相似矩阵,用一个降阶矩阵来代替M。通过将相似矩阵分解为一系列的外积,就可以在不移除图像本身的情况下去除共性相似性的影响还可以增强增强闭环检测中的冲蚀度。通过查看矩阵的高分区域获得当前帧的嘴贱候选回环帧。
(5)当前帧之前的连续i帧所检测到的回环帧需要验证是否与该最佳候选回环帧有直接的连接关系,通过空间连续性检验后的最佳候选回环帧即被确定为回环帧。在考虑了数据集中所有图像之后,得到一个精度和召回率对结果,一旦找到一个循环,就计算相邻帧的生成树,并优化整个轨迹。
与现有的技术相比,本发明具有以下优点:
(1)本发明基于轻量级深度卷积神经网络,它能够表达手工制作的特性难以获得的语义信息,利用神经网络模型获取图像特征,增强了感知能力,能够有效学习图像样本的纹理和分布特征,此外轻量级的特点可以提升模型实际引用时的速度,该方法在保证较高准确率的同时提高了检测速度。
(2)本发明设计了针对网络模型获得的原始特征的增强步骤,从而得出最终回环判定结果。对原始特征进行预处理,利用算法获得关键帧库,并对候选关键帧计算两两距离判断回环,其中降秩操作可以显著提高它们对图像的表示能力,同时提高计算效率,判断之后的验证可以提高检测结果的准确性。
附图说明
图1是本发明方法的流程图;
图2是本发明的轻量级深层神经网络结构简化图;
图3是本发明的网络block1结构图。
图4是本发明的网络block2结构图。
图5是本发明的检测闭环示意图;
具体实施方式
下面结合附图以及具体实施例对本发明作进一步地说明。
一种基于轻量级深层神经网络的机器人行走闭环检测方法,如图1流程图所示,该方法按照包括以下步骤进行:
步骤1:选定闭环检测数据集。CNN模型的训练是有监督学习的过程,如果数据没有标签信息,那么无法完成模型的训练。针对上述问题,采用在大型有标签的场景数据集上完成轻量级深层神经网络模型的训练,将训练好的模型当做场景图像的特征提取器,最后将提取到的特征应用于闭环检测。
采用standard-college365建立图像样本数据集,图像样本采用224X224的尺寸大小,采用监督学习方式,因此需要训练集,验证集和测试集,采用在大量有标签的场景数据集上完成模型训练。训练数据存储到多个TFRecord文件来提高处理效率,然后从TFRecord文件中读取样例进行解析,指定原始数据的文件列表,从文件中读取数据,对数据进行灰度值与减均值的预处理后,组合整理成batch作为神经网络输入。同时,为保证训练样本有足够的代表性,样本采集时需要考虑不同地形地貌、不同距离、不同光照、摄像机拍摄角度等多种场景的覆盖。
步骤2:搭建轻量级深层神经网络。对预备输入模型的训练数据与测试数据进行预处理,图像统一调整为224X224的尺寸大小(实际尺寸可根据需要调整为其他不同尺寸),模型由卷积层、池化层、block、和全连接层组成,通过卷积核来查找图像某方面的特征,然后将这些特征输入到模型里面去,和结果建立一种关系,对特征进行分类,最终由最后的全连接层的输出作为图像的特征向量。
轻量级深层神经网络模型采用传统神经网络的结构,网络结构简化图如图2所示,由一个输入层,两层卷积层与两个最大池化层,两个block和一个全连接层组成,block1,block2结构简化图分别如图3,图4所示。输入层是一幅224X224的三通道图像;Conv1与Conv2卷积层可以对输入数据进行特征提取,最大池化层Pool1与Pool2可以进行有效的信息过滤,卷积层和池化层均采用修正线性单元C.RELU线性激活,通过将取反后的图像和原始图像级联,可以降低卷积核所需参数,此外,每一层后都做批规范化操作,加速收敛。随后是两个个自定义模块block1和block2,受残差网络启发,两个个模块皆利用skipconnection解决深层神经网络难优化的问题;为了控制特征图的维度,减少过程参数量,增加网络的运行效率,对残差模块的主线部分运用瓶颈结构;考虑到神经模型往往面临参数多,运行慢的缺点,网络模型利用逐点群卷积和信道重排的技术,避免陷入信息流通不畅的窘境,将从上层获得的特征图split分为两组,受Inception结构启发,对同一层的特征图分别使用多个不同尺寸的卷积核,以获得不同尺度的特征,将这些特征结合起来,得到的特征往往比使用单一卷积核的要好,采用depthwise操作代替标准的卷积操作可以降低不少的参数量,同时得到更好的效果,因为它对每一个通道都进行了学习,而不是所有通道对应同一个过滤器,此举优势在于在相同的权值参数下计算量更小,运行速度更快;残差网络结构使得梯度更容易地流动到浅层的网络当中去,避免层度加深带来的梯度弥散问题。为了提高模型的泛化性,对每一次split操作后都进行一次channel shuffle,操作可以融合不同组之间的特征,进行完一次group conv之后进入到下一层组卷积当中,以此循环。为了避免过拟合现象,需要合理的进行正则化处理。最后采用全连接层Fc对前面传递的特征图进行融合和分类,输出层的神经元个数是数据集的类别个数。应确保真实样本数量远大于生成模型的参数量,网络训练才能得到零和博弈解。其次,为了保证判别模型拥有良好的适应性与判别能力,本方法中模型还使用Dropout和L2正则化辅助模型训练。
步骤3:优化网络模型。加载数据集的图像样本,首先采用MSRA初始化设置神经网络模型的权值,将真实的图片样本输入到轻量级深层神经网络模型,使用定义好的前向传播过程,训练神经网络模型,利用反向传播,交替训练优化模型参数。在训练结束后,把训练得到的模型保存下来方便下次直接使用。利用之前训练结束后保存的模型进行测试,训练网络模型达到一定的判别准确度。
步骤3中,深层神经网络的训练过程可以描述为一个根据模型生成结果对模型参数的优化过程。本方法中根据样本中的真实标签与模型生成结果进行优化。将Softmax分类器对应的损失函数交叉熵损失函数L(loss function)作为训练过程的优化目标函数,如下公式表示:
其中,m为每个训练批次的样本数量;θ为网络模型的待优化参数矩阵;x(i)为第i个图片样本;y(i)为第i个样本真实标签;k为分类数。为了有效避免过拟合,引正则化,在损失函数中给每个参数w加上权重,引入模型复杂度指标,从而抑制模型噪声,减小过拟合。在训练神经网络时,需要不断改变神经网络中所有参数,随机梯度下降算法(SGD)使损失函数不断减小,从而训练出更高准确率的神经网络模型。
为了抑制SGD的震荡,在梯度下降过程加入惯性。在SGD基础上引入了ADMA算法:
m(t)为梯度的指数移动均值,V(t)为梯度的第二时刻非中心方差值。Adam算法即自适应时刻估计方法(Adaptive Moment Estimation),能计算每个参数的自适应学***方梯度的指数衰减平均值,而且保持了先前梯度M(t)的指数衰减平均值,这一点与动量类似;β1参数的经验值0.9,β1参数的经验值0.999,二者用以控制指数衰减;动量项只对相关样本进行参数更新,减少了不必要的参数更新,从而得到更快且稳定的收敛,也减少了振荡过程。
步骤3中具体部署流程如下:
步骤301、因为场景识别是一个图像多分类问题,所以该网络最后采用了Softmax分类器对输入图像进行分类.。Softmax是一个分类器,它将多个神经元的输出,映射到(0,1)区间内,计算的是类别的概率,对输入图像进行均值中心化的预处理,将处理后的图像批量传输到神经网络中通过网络模型中前向计算,通过判别公式获取预测结果s:
其中o为网络模型的参数矩阵,k为分类数;
步骤302、选用随机梯度下降算法与自适应学习梯度下降优化算法对模型参数进行优化。数据经过判别公式得到预测结果后,利用训练样本和期望值来更新参数,从而最小化损失。使用随机梯度迭代算法(SDA)来求解最优参数.每次从训练集中随机选择一个样本来进行学习,每次的学习是非常快速的,并且可以进行在线更新,该网络中的权重和偏置等参数由以下公式更新:
θt=θt-1-Vt
步骤4:利用网络模型进行闭环检测,如图5所示,通过步骤3训练得到可以用于获取图像特征的深层神经网络模型。利用神经网络对每个查询图像(当前机器人视图)计算其特征描述符,对原始CNN特征预处理,添加增强步骤,进行主成分分析(PCA)和增白,可以显著提高它们表示图像的能力,同时提高计算效率,最后再用于检测循环。归一化后然后根据欧氏距离获取图像间的相似性矩阵,并对矩阵做降秩减小噪声。通过度量相似性来确定是否发生了循环闭合,并在考虑了数据集中所有图像之后,得到一个精度和召回率对结果。通过此种方式可以得到图像间的相似性关系,解决机器人行走时的闭环检测问题。
步骤4中,本方法中的图像特征维度为365维,应用特征阈值获取关键帧库,对每个关键帧图像计算特征向量之间的欧式距离,得到相似度矩阵,找到闭环帧。找到最近的点,应用距离阈值确定是否发生循环闭合,若相似性大于设定阈值,则为闭环,通过改变距离阈值得到精确回忆曲线,通过找寻关键正获取相似回环。输出闭环检测准确率召回率曲线和检测到的闭环,作为后续SLAM建图优化使用。实际模型训练时可以测试不同的训练超参数设置,选取表现最优异的模型。
(1)判断关键帧;为了避免关键帧取得太近,导致两个关键帧之间相似度过高,回环检测的帧需要取得稀疏一些,彼此之间不大相同又需要涵盖整个环境。每当相机运动一定间隔时,就取一个新的关键帧并保存,此外还需要通过限制当前位置图像匹配范围的方法来确定闭环闭合图像,利用阈值S设置检测的图像范围。具体地说,如果当前图像数是N和排除图像的数量是S,那么循环闭合只出现在当前图像前S帧以外的图像中。
(2)从关键帧中获取候选关键帧库;***不直接将当前关键帧与所有可能的闭环帧相匹配,而是首先得到关键帧附近并包括关键帧中大于等于W个不为0的类别的关键帧,将这些关键帧做集合;合理选择W的取值,W值过小,会导致取得的关键帧太多,增加计算量,W值过大,可能会超过类别数量,取不到闭环帧;
(3)计算关键帧与关键帧库中的每一帧的相似性得分;首先对向量进行归一化,利用特征向量的欧式距离来度量图像间的相似性得分,由于距离与相似性成负相关,因此选择负相关函数记录得分,匹配得分越低说明其相似度得分越高;然后应用距离阈值τi来确定是否发生了循环闭合;
上式中Dis(i,j)为图像Ii,Ii之间的距离,G为相似性得分,k1,k2为过程参数,其中k1<0,相似度评分在检测环路闭合前归一化为[0,1]。为了测量目的,使用标准化的距离来获得分数值位于[0,1]。
(4)对相似性矩阵进行降秩处理避免噪声;每对关键帧的相似度得分构成一个描述它们之间关系的矩阵M。M是一个实对阵n*n矩阵,存在一个正交矩阵V和一个对角阵D使得M满足公式,其中vi是特征向量,di是对角线上的特征值:
M的主特征向量与渗透到特定环境中的主题有关,对检测循环闭合时是有害的,会因为不同场景的重复性质而产生模糊性并导致假阳性检测。利用秩约简矩阵移除最大的特征值可以降低噪声值,保留真实的环路,有助于降低检测的模糊性。
上式通过计算λi占λr至λn的比重,用熵来衡量M分解的复杂度,从M中顺序移除外积,获得使H(M,r)最大化的rι;
得到一个没有单一主题占主导地位的相似矩阵,用一个降阶矩阵来代替M。通过将相似矩阵分解为一系列的外积,就可以在不移除图像本身的情况下去除共性相似性的影响还可以增强增强闭环检测中的冲蚀度。通过查看矩阵的高分区域获得当前帧的嘴贱候选回环帧。
(5)当前帧之前的连续i帧所检测到的回环帧需要验证是否与该最佳候选回环帧有直接的连接关系,通过空间连续性检验后的最佳候选回环帧即被确定为回环帧。在考虑了数据集中所有图像之后,得到一个精度和召回率对结果,一旦找到一个循环,就计算相邻帧的生成树,并优化整个轨迹。
Claims (5)
1.一种基于轻量级深层神经网络的机器人行走闭环检测方法,其特征在于,包括以下步骤:
步骤1、选定闭环检测数据集,采用在大型有标签的场景数据集上完成轻量级深层神经网络模型的训练,将训练好的模型当做场景图像的特征提取器,最后将提取到的特征应用于闭环检测;
步骤2:搭建轻量级深层神经网络,对预备输入模型的训练数据与测试数据进行预处理,模型由卷积层、池化层、block、和全连接层组成,通过卷积核来查找图像某方面的特征,然后将这些特征输入到模型里面去,和结果建立关系,对特征进行分类,最终由最后的全连接层的输出作为图像的特征向量;
步骤3:优化网络模型,加载数据集的图像样本,首先采用MSRA初始化设置神经网络模型的权值,将真实的图片样本输入到轻量级深层神经网络模型,使用定义好的前向传播过程,训练神经网络模型,利用反向传播,交替训练优化模型参数,在训练结束后,把训练得到的模型保存下来方便下次直接使用,利用之前训练结束后保存的模型进行测试,训练网络模型达到一定的判别准确度;
步骤4:利用网络模型进行闭环检测,通过步骤3训练得到可以用于获取图像特征的深层神经网络模型,利用神经网络对每个查询图像计算其特征描述符,对原始CNN特征预处理,添加增强步骤,进行主成分分析和增白,最后再用于检测循环;归一化后然后根据欧氏距离获取图像间的相似性矩阵,并对矩阵做降秩减小噪声,通过度量相似性来确定是否发生了循环闭合,并在考虑了数据集中所有图像之后,得到一个精度和召回率对结果。
2.根据权利要求1所述的基于轻量级深层神经网络的机器人行走闭环检测方法,其特征在于:步骤1中采用standard-college365建立图像样本数据集,图像样本采用224X224的尺寸大小;训练数据存储到TFRecord文件,然后从TFRecord文件中读取样例进行解析,指定原始数据的文件列表,从文件中读取数据,对数据进行灰度值与减均值的预处理后,组合整理成batch作为神经网络输入。
3.根据权利要求1所述的基于轻量级深层神经网络的机器人行走闭环检测方法,其特征在于:步骤2所述的轻量级深层神经网络模型由一个输入层,两层卷积层与两个最大池化层,两个block和一个全连接层组成;输入层是一幅224X224的三通道图像;Conv1与Conv2卷积层用于对输入数据进行特征提取,最大池化层Pool1与Pool2用于进行有效的信息过滤,卷积层和池化层均采用修正线性单元C.RELU线性激活。
4.根据权利要求1所述的基于轻量级深层神经网络的机器人行走闭环检测方法,其特征在于:步骤3中,根据样本中的真实标签与模型生成结果进行优化,Softmax分类器对应的损失函数交叉熵损失函数L作为训练过程的优化目标函数,如下公式表示:
其中,m为每个训练批次的样本数量;θ为网络模型的待优化参数矩阵;x(i)为第i个图片样本;y(i)为第i个样本真实标签;k为分类数;
在损失函数中给每个参数w加上权重,引入模型复杂度指标,从而抑制模型噪声,减小过拟合;在训练神经网络时,不断改变神经网络中所有参数,随机梯度下降算法SGD使损失函数不断减小,训练出更高准确率的神经网络模型;
在梯度下降过程加入惯性抑制SGD的震荡,在SGD基础上引入了ADMA算法:
m(t)为梯度的指数移动均值,V(t)为梯度的第二时刻非中心方差值;
步骤3中具体部署流程如下:
步骤301、采用Softmax分类器对输入图像进行分类,Softmax将多个神经元的输出,映射到(0,1)区间内,计算的是类别的概率,对输入图像进行均值中心化的预处理,将处理后的图像批量传输到神经网络中通过网络模型中前向计算,通过判别公式获取预测结果s:
其中o为网络模型的参数矩阵,k为分类数;
步骤302、选用随机梯度下降算法与自适应学习梯度下降优化算法对模型参数进行优化,数据经过判别公式得到预测结果后,利用训练样本和期望值来更新参数,使用随机梯度迭代算法SDA来求解最优参数,每次从训练集中随机选择一个样本来进行学习,该网络中的权重和偏置等参数由以下公式更新:
θt=θt-1-Vt
5.根据权利要求1所述的基于轻量级深层神经网络的机器人行走闭环检测方法,,其特征在于:所述的步骤4的具体流程如下:
(1)判断关键帧;每当相机运动一定间隔时,就取一个新的关键帧并保存,此外还需要通过限制当前位置图像匹配范围的方法来确定闭环闭合图像,利用阈值S设置检测的图像范围;如果当前图像数是N和排除图像的数量是S,那么循环闭合只出现在当前图像前S帧以外的图像中;
(2)从关键帧中获取候选关键帧库;首先得到关键帧附近并包括关键帧中大于等于W个不为0的类别的关键帧,将这些关键帧做集合;合理选择W的取值;
(3)计算关键帧与关键帧库中的每一帧的相似性得分;首先对向量进行归一化,利用特征向量的欧式距离来度量图像间的相似性得分,选择负相关函数记录得分,匹配得分越低说明其相似度得分越高;然后应用距离阈值τi来确定是否发生了循环闭合;
上式中Dis(i,j)为图像Ii,Ii之间的距离,G为相似性得分,k1,k2为过程参数,其中k1<0,相似度评分在检测环路闭合前归一化为[0,1],使用标准化的距离来获得分数值位于[0,1];
(4)对相似性矩阵进行降秩处理避免噪声;每对关键帧的相似度得分构成一个描述它们之间关系的矩阵M,M是一个实对阵n*n矩阵,存在一个正交矩阵V和一个对角阵D使得M满足公式,其中vi是特征向量,di是对角线上的特征值:
M的主特征向量与渗透到特定环境中的主题有关,对检测循环闭合时是有害的,会因为不同场景的重复性质而产生模糊性并导致假阳性检测,利用秩约简矩阵移除最大的特征值降低噪声值,保留真实的环路,降低检测的模糊性
上式通过计算λi占λr至λn的比重,用熵来衡量M分解的复杂度,从M中顺序移除外积,获得使H(M,r)最大化的rl;
用一个降阶矩阵来代替M,将相似矩阵分解为一系列的外积,在不移除图像本身的情况下去除共性相似性的影响,并增强增强闭环检测中的冲蚀度,查看矩阵的高分区域获得当前帧的嘴贱候选回环帧;
(5)当前帧之前的连续i帧所检测到的回环帧需要验证是否与该最佳候选回环帧有直接的连接关系,通过空间连续性检验后的最佳候选回环帧即被确定为回环帧;在考虑了数据集中所有图像之后,得到一个精度和召回率对结果,一旦找到一个循环,就计算相邻帧的生成树,并优化整个轨迹。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010249172.8A CN111553193B (zh) | 2020-04-01 | 2020-04-01 | 一种基于轻量级深层神经网络的视觉slam闭环检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010249172.8A CN111553193B (zh) | 2020-04-01 | 2020-04-01 | 一种基于轻量级深层神经网络的视觉slam闭环检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111553193A CN111553193A (zh) | 2020-08-18 |
CN111553193B true CN111553193B (zh) | 2022-11-11 |
Family
ID=72003800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010249172.8A Active CN111553193B (zh) | 2020-04-01 | 2020-04-01 | 一种基于轻量级深层神经网络的视觉slam闭环检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111553193B (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112183742B (zh) * | 2020-09-03 | 2023-05-12 | 南强智视(厦门)科技有限公司 | 基于渐进式量化和Hessian信息的神经网络混合量化方法 |
CN112086198B (zh) * | 2020-09-17 | 2023-09-26 | 西安交通大学口腔医院 | 一种基于深度学习技术建立年龄评估模型的***及方法 |
CN112464989B (zh) * | 2020-11-02 | 2024-02-20 | 北京科技大学 | 一种基于目标检测网络的闭环检测方法 |
CN112258580B (zh) * | 2020-11-02 | 2024-05-17 | 上海应用技术大学 | 基于深度学习的视觉slam回环检测方法 |
CN112836719B (zh) * | 2020-12-11 | 2024-01-05 | 南京富岛信息工程有限公司 | 一种融合二分类和三元组的示功图相似性检测方法 |
CN112419317B (zh) * | 2020-12-15 | 2024-02-02 | 东北大学 | 一种基于自编码网络的视觉回环检测方法 |
CN112465067B (zh) * | 2020-12-15 | 2022-07-15 | 上海交通大学 | 基于图卷积自编码器的冷冻电镜单颗粒图像聚类实现方法 |
CN112733067B (zh) * | 2020-12-22 | 2023-05-09 | 上海机器人产业技术研究院有限公司 | 一种面向机器人目标检测算法的数据集选择方法 |
CN112766305B (zh) * | 2020-12-25 | 2022-04-22 | 电子科技大学 | 一种基于端到端度量网络的视觉slam闭环检测方法 |
CN112906626A (zh) * | 2021-03-12 | 2021-06-04 | 李辉 | 一种基于人工智能断层识别方法 |
CN113033555B (zh) * | 2021-03-25 | 2022-12-23 | 天津大学 | 基于度量学习的视觉slam闭环检测方法 |
CN113377987B (zh) * | 2021-05-11 | 2023-03-28 | 重庆邮电大学 | 基于ResNeSt-APW的多模块闭环检测方法 |
CN113052152B (zh) * | 2021-06-02 | 2021-07-30 | 中国人民解放军国防科技大学 | 一种基于视觉的室内语义地图构建方法、装置及设备 |
CN113378788A (zh) * | 2021-07-07 | 2021-09-10 | 华南农业大学 | 机器人视觉slam回环检测方法、计算机设备及存储介质 |
CN113361654A (zh) * | 2021-07-12 | 2021-09-07 | 广州天鹏计算机科技有限公司 | 一种基于机器学习的图像识别方法和*** |
CN113780102B (zh) * | 2021-08-23 | 2024-05-03 | 广州密码营地科技有限公司 | 智能机器人视觉slam闭环检测方法、装置及存储介质 |
CN114445661B (zh) * | 2022-01-24 | 2023-08-18 | 电子科技大学 | 一种基于边缘计算的嵌入式图像识别方法 |
CN114219049B (zh) * | 2022-02-22 | 2022-05-10 | 天津大学 | 一种基于层级约束的细粒度笔石图像分类方法和装置 |
CN115546626B (zh) * | 2022-03-03 | 2024-02-02 | 中国人民解放军国防科技大学 | 面向数据双重不平衡的降偏场景图生成方法及*** |
CN114973330B (zh) * | 2022-06-16 | 2023-05-30 | 深圳大学 | 一种跨场景鲁棒的人员疲劳状态无线检测方法及相关设备 |
CN115063609B (zh) * | 2022-06-28 | 2024-03-26 | 华南理工大学 | 基于深度学习的热管吸液芯氧化分级方法 |
CN116721302B (zh) * | 2023-08-10 | 2024-01-12 | 成都信息工程大学 | 一种基于轻量级网络的冰雪晶粒子图像分类方法 |
CN117220318B (zh) * | 2023-11-08 | 2024-04-02 | 国网浙江省电力有限公司宁波供电公司 | 电网数字化驱动控制方法及*** |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107330357A (zh) * | 2017-05-18 | 2017-11-07 | 东北大学 | 基于深度神经网络的视觉slam闭环检测方法 |
CN110555881A (zh) * | 2019-08-29 | 2019-12-10 | 桂林电子科技大学 | 一种基于卷积神经网络的视觉slam测试方法 |
CN110781790A (zh) * | 2019-10-19 | 2020-02-11 | 北京工业大学 | 基于卷积神经网络与vlad的视觉slam闭环检测方法 |
-
2020
- 2020-04-01 CN CN202010249172.8A patent/CN111553193B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111553193A (zh) | 2020-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111553193B (zh) | 一种基于轻量级深层神经网络的视觉slam闭环检测方法 | |
US11195051B2 (en) | Method for person re-identification based on deep model with multi-loss fusion training strategy | |
CN108615010B (zh) | 基于平行卷积神经网络特征图融合的人脸表情识别方法 | |
CN105975573B (zh) | 一种基于knn的文本分类方法 | |
CN109255289B (zh) | 一种基于统一式生成模型的跨衰老人脸识别方法 | |
CN110263697A (zh) | 基于无监督学习的行人重识别方法、装置及介质 | |
CN109766936B (zh) | 基于信息传递和注意力机制的图像变化检测方法 | |
CN109166094A (zh) | 一种基于深度学习的绝缘子故障定位识别方法 | |
CN112580590A (zh) | 一种基于多语义特征融合网络的指静脉识别方法 | |
CN109443382A (zh) | 基于特征提取与降维神经网络的视觉slam闭环检测方法 | |
CN109241317A (zh) | 基于深度学习网络中度量损失的行人哈希检索方法 | |
CN112052772A (zh) | 一种人脸遮挡检测算法 | |
CN112633257A (zh) | 基于改良卷积神经网络的马铃薯病害识别方法 | |
CN114511710A (zh) | 一种基于卷积神经网络的图像目标检测方法 | |
CN113920472A (zh) | 一种基于注意力机制的无监督目标重识别方法及*** | |
CN112883931A (zh) | 基于长短期记忆网络的实时真假运动判断方法 | |
CN113220926A (zh) | 基于多尺度局部注意力增强网络的足迹图像检索方法 | |
CN110751005B (zh) | 融合深度感知特征和核极限学习机的行人检测方法 | |
CN114861761A (zh) | 一种基于孪生网络特征与几何验证的回环检测方法 | |
CN111242114B (zh) | 文字识别方法及装置 | |
CN117333948A (zh) | 一种融合时空注意力机制的端到端多目标肉鸡行为识别方法 | |
CN116977725A (zh) | 一种基于改进卷积神经网络的异常行为识别方法及装置 | |
CN111860601A (zh) | 预测大型真菌种类的方法及装置 | |
CN113723482B (zh) | 基于多示例孪生网络的高光谱目标检测方法 | |
CN114140524A (zh) | 一种多尺度特征融合的闭环检测***及方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |