【读论文】CNN Feature Boosted SeqSLAM for Real-Time Loop Closure Detection

【读论文】CNN Feature Boosted SeqSLAM for Real-Time Loop Closure Detection
作者是国防科技大学计算机学院的学生,发表于2018年

摘要
This paper proposes an efficient and robust Loop closure detection (LCD) method based on Convolutional neural network (CNN) feature. The primary method is called SeqCNN SLAM, in which both the outputs of the intermediate layer of a pre-trained CNN and the outputs of traditional sequence-based matching procedure are incorporated, making it possible to handle the viewpoint and condition variance properly. An acceleration algorithm for SeqCNN SLAM is developed to reduce the search range for the current image, resulting in a new LCD method called A-SeqCNNSLAM. To improve the applicability of A-SeqCNN SLAM to new environments, O-SeqCNN SLAM is proposed for online parameters adjustment in A-SeqCNN SLAM. In addition to the above work, we further put forward a promising idea to enhance SeqSLAM by integrating the both CNN features and VLAD’s advantages called patch based SeqCNNSLAM (P-SeqCNN SLAM), and provide some preliminary experimental results to reveal its performance.

本文提出了一种基于卷积神经网络(CNN)特征的高效鲁棒的闭环检测(LCD)方法。 主要方法称为SeqCNN SLAM,其中结合了预训练的CNN的中间层的输出和传统的基于序列的匹配过程的输出,使得可以适当地处理视点和条件方差。 开发了SeqCNN SLAM的加速算法以减小当前图像的搜索范围,从而产生称为A-SeqCNNSLAM的新LCD方法。 为了提高A-SeqCNNSLAM在新环境中的适用性,提出了O-SeqCNNSLAM用于A-SeqCNNSLAM中的在线参数调整。 除了上述工作外,我们进一步提出了一个有前途的想法,通过整合CNN特征和VLAD的优势,称为基于贴片的SeqCNNSLAM(P-SeqCNNSLAM)来增强SeqSLAM,并提供一些初步的实验结果来揭示其性能。


介绍
        如今,对机器人技术的发展做出了相当多的研究贡献,视觉同步定位和制图(SLAM)受到越来越多的关注,因为它是许多机器人应用的基础,如路径规划等。[1-4]机器人上的大型可视SLAM系统经历由视觉里程计的累积误差引起的有害漂移。识别机器人何时以及是否已返回先前访问过的地方是SLAM的关键模块。该模块称为环路闭合检测(LCD),在视觉SLAM系统中起着至关重要的作用。在不断变化的环境中进行大规模导航对机器人技术构成了巨大挑战。在此过程中,机器人不可避免地遇到不同的环境变化。这些变化主要归类为“条件”或“观点”变化。除了对视点和条件变化的鲁棒性之外,高效率是LCD的另一个必要条件。机器人上的机载计算机具有有限的计算能力,并且除了SLAM之外通常还需要运行一些其他应用程序。因此,LCD算法不应具有繁重的计算要求。
        本文提出了一种利用SeqSLAM [5]和CNN特征同时改善LCD算法条件和视点不变性的方法SeqCNNSLAM。此外,我们通过降低图像匹配范围来优化其时间性能。最后,我们通过聚合从每个图像局部补丁中提取的许多CNN特征来改进CNN特征的不变性。我们的具体贡献是四方面的:
        首先,我们提出了SeqCNN SLAM,它结合了CNN描述符和序列匹配,以增强LCD算法对同时视点和条件变化的鲁棒性。综合实验表明,SeqCNNSLAM的性能比几种最先进的方法更稳健,如SeqSLAM [5],FAB-MAP [6]和Change Removal [7]。其次,我们提出使用ASeqCNNSLAM通过基于图像之间的下划线的顺序信息限制匹配范围来降低SeqCNNSLAM的计算复杂度,从而提高SeqCNNSLAM处理大规模导航的能力。第三,我们设计O-SeqCNNSLAM用于A-SeqCNNSLAM中的在线参数调整,以使其适应不同的环境。第四,我们提出P-SeqCNNSLAM 通过使用VLAD [8]来结合本地修补的CNN特征来提高CNN特性的性能


相关工作
        在本节中,我们简要介绍了LCD,CNN以及将预训练CNN描述符应用于LCD的最新工作。
闭环检测
        LCD是确定移动机器人轨迹闭环位置的技术,这对于通过校正随时间积累的定位误差来创建环境的连贯图是至关重要的。考虑到环境的变化和机器人的运动,由于条件和视点变化的存在,对应于相同位置的图像可能呈现完全不同的外观。在过去二十年中,人们对解决上述两个挑战产生了极大的兴趣。许多研究人员成功地解决了观点或条件的变化。 FAB-MAP [6]通过将SURF [9]描述符引入LCD,获得了优异的视点变化性能。米尔福德等人。提出了一种基于图像序列计算最佳候选匹配位置的方法。他们的方法是SeqSLAM [5]创造的,在应对严重的病情变化方面取得了显着的成果[10]。搜索匹配序列被认为是SeqSLAM [10]的核心。实际上,无论FAB-MAP [6]还是SeqSLAM [5],它们都无法显示出针对同时条件和视点变化的强大性能。此外,应该指出一个关键问题,上述LCD算法都是基于由具有领域特定知识的专家设计的手工工艺特征。然而,机器人在本地化期间可能面临复杂且不确定的环境。因此,考虑到影响LCD性能的所有因素都很困难

卷积神经网络
        自Alex等人[11]成为2012年Imagenet大规模视觉识别大赛的冠军,基于CNN的算法在计算机视觉和机器学习社区中使用手工制作功能的传统解决方案占主导地位[12,13]。人们对CNN应用于机器人领域非常感兴趣,例如视觉导航和SLAM [14-16]。侯等人[14]研究公共预训模型 - Places-CNN [17]的可行性 - 作为可视LCD的图像描述符生成器。他们全面分析了Places-CNN模型的每一层生成的描述符的性能和特征,并证明了conv3层呈现条件,而pool5层呈现了视点不变性。在本文中,我们用Hou等人的方法表示[14]。作为CNNLCD。与基于手工制作的特征[18,19]的算法相比,CNN描述符可以轻松应对复杂多变的环境,并且不需要研究人员具有相当多的领域特定知识

SeqSLAM与CNN描述符的组合
        Lowry等人提出改变去除[7]以将序列匹配方法与CNN描述符组合以融合它们各自的优点。 变更删除主要涉及两个过程:首先,它删除一定数量的最早的图像主要成分,以消除与条件变化相关的图像信息。 图像的其余主要成分用作CNN的输入,以获得针对视点和条件变化的稳健特征。 他们的算法在同时观察和条件变化时表现出令人满意 但是,Change Removal [7]的性能很大程度上取决于数据集特定的参数,即要删除的图像的主要组件的数量。 因此,选择不可见的场景和环境的设置是有问题的。
        在本研究中,我们提出了一种新的均值,以最大化CNN特征和序列匹配方法的优势。 不再需要图像的预处理,并且图像直接用作CNN的输入。 与Change Removal [7]相比,我们的方法更通用,不依赖于任何特定于数据集的参数。


初步措施介绍

获取CNN描述符
        对于预训练的CNN模型,每层的输出矢量可以被视为图像描述符~X。 可以通过CNN网络旅行获得每层的描述符。 在使用之前,将~X归一化为单位向量X.在算法1中示出了获得CNN描述符的过程。

相似度测量
        两个任意图像x和y之间的差异可以由它们的描述符X和Y之间的2范数距离表示。 因此,如果图像X和Y高度相似,则Dx,y =XY2将更小。

结果评价
        基于精度和召回度量来评估LCD算法的性能。 此外,我们专注于通过LCD算法获得的100%精度的最佳回忆,并且该标准在我们的后续实验中表示为RP100。 正如在LCD的背景下,单个假阳性比假阴性更严重[20],尽管RP100的追求大值可能导致算法拒绝基础事实中的几个完全匹配。

评估中使用的数据集
        在随后的实验中,我们使用了三个具有不同属性的数据集来评估算法的效用。
1)诺德兰数据集(冬季 - 春季)
Nordland数据集捕获了四个不同的季节,表现出简单的条件变化。 图1显示了季节之间严重外观变化的直观印象。 在我们的论文中,我们采用Nordland数据集的春季和冬季进行后续实验。 数据集和详细信息可在线公开**。 对于我们的实验,我们以1 fps的速率从视频开始到时间戳1:30 h提取图像帧。 我们将帧下采样到640×320并排除在隧道内或列车停止时获得的所有图像。 到目前为止,我们每季都会获得3476张图像。

2)园林点数据集
花园点数据集记录了三次:白天两次,晚上一次。 一天的路线(dayleft)在路径的左侧穿过。 另一天路线(白天右)和夜间路线(夜间)穿过路径的右侧。 因此,数据集表现出同时的条件和视点变化,如图2所示。 该数据集可在线公开获取***。

3)城市中心数据集
市中心数据集是由康明斯等人[6]构建的公开数据集。 市中心数据集显示出严重的视点变化,如图3所示。 数据集的详细信息可在线获取****。

4)总结和讨论
这三个数据集可以分为两类。前两个数据集 - 诺德兰和花园点数据集 - 属于一个类别。这些数据集在不同情况下多次遍历一条路径,并且路径本身不构成闭环。例如,Nordland数据集的春季和冬季数据集是在不同季节沿同一路径收集的,不包含任何循环闭包。因此,一次遍历中的图像的候选匹配图像在数据集的另一遍历中,并且每个图像的候选匹配图像的数量是恒定的。例如,在Nordland数据集的spring数据集中,我们应该从冬季数据集中找到每个图像的匹配图像,冬季数据集中的每个图像都是该图像的候选匹配图像。因此,弹簧数据集中每个图像的候选匹配图像的数量随时间是恒定的。 City Center数据集属于另一个类别,因为此数据集仅通过多个循环闭包遍历路径一次。另外,第n图像的候选匹配图像在数据集中从第一图像到其第(n-1)图像的范围内,即,查询图像的候选匹配图像的数量随时间增加。


SeqCNNSLAM的设计与分析
        在本节中,我们介绍了SeqCNNSLAM,一种强大的LCD算法,它利用了CNN和SeqSLAM的优势[5]。 SeqCNNSLAM克服了SeqSLAM的观点变化的缺点,并且对于同时的视点和条件变化表现出强大的性能。 实验结果表明,SeqCNNSLAM表现出比现有技术方法SeqSLAM更有利的性能。

对SeqSLAM的简要回顾
        为了便于与SeqCNNSLAM进行比较,我们总结了SeqSLAM [5]的基本原理和算法步骤。SeqSLAM涉及三个步骤。首先,在预处理步骤中,将输入图像彻底地下采样到例如64×32像素,并且分成8×8像素的块。然后将像素值归一化到0到25​​5之间。通过使用绝对差之和计算所有预处理图像来获得图像差矩阵。其次,距离矩阵是局部对比度增强的。最后,当搜索与查询图像的匹配时,SeqSLAM扫描对比度增强的差异矩阵,以基于序列差异的总和找到最佳匹配的帧序列。 算法2中给出了计算序列差异的过程.SeqSLAM的性能受到众多参数的影响。 ds可以是最有影响力的参数,因为它控制考虑匹配的图像序列的长度。随着ds增加,预期SeqSLAM [5]表现更好,因为更长的序列更明显并且不太可能导致假阳性匹配。

SeqCNNSLAM的设计
        SeqSLAM [5]的显着条件不变特性是一种基于序列的匹配LCD算法,它需要机器人相对稳定的视点,因为它依赖于手工制作的像素级描述符。 几项研究[14-16]的结果表明,CNN层在条件和视点变化方面优于手工描述的描述符。 因此,我们提出方法SeqCNNSLAM结合了视点不变CNN描述符的优点和基于序列的匹配方法,SeqSLAM的核心[10]。

        在我们的工作中,我们采用Places-CNN [17],一个预先训练的CNN,作为描述符生成器。这个CNN模型与Alexnet [11]具有相同的架构。鉴于conv3和pool5的显着性能[14],我们在随后的比较研究中选择这两个图案层作为与SeqSLAM组合的代表。这些方法分别指定为SeqCNNSLAMconv3和seqCNNSLAM-pool5对应于conv3和pool5层。 SeqSLAM的前两个预处理步骤不再应用于SeqCNNSLAM。如算法3所示(我们将ds和(轨迹速度)设置为常量以便说明),SeqCNNSLAM直接使用conv3和pool5层的归一化输出X作为图像描述符。从步骤2到4,通过计算两层之间的2范数距离来获得差矩阵。从步骤5到步骤10,SeqCNNSLAM扫描整个差异矩阵以找到当前帧的最佳匹配序列。所有实验都基于OpenSeqSLAM实现[10]。除序列长度ds外,默认值用于所有参数。

SeqCNNSLAM的性能分析
        为了评估SeqCNNSLAM的稳健性和时间性能,我们使用Nordland和Gardens Point数据集进行离线实验,并使用City Center数据集进行在线实验。鉴于Nordland和Gardens Point数据集中每个图像的候选匹配图像是稳健性而不是SeqCNNSLAM的时间性能。相比之下,City Center数据集中每个图像的候选匹配图像会随着时间的推移而增加。因此,该数据集用于测试算法的鲁棒性和时间性能。市中心数据集仅显示条件变化而不是同时条件和视点变化,而诺德兰和花园点数据集包含同时条件和视点变化。为了全面测试SeqCNNSLAM的稳健性和时间性能,我们进行了两类实验。
        首先,我们进行了几项离线实验,以评估SeqCNNSLAM对Nordland和Gardens Point数据集的同时观点和条件变化的稳健性。我们还比较了SeqCNNSLAM与SeqSLAM [5]和Change Removal [7]的性能,这是两种最先进的LCD算法。其次,我们使用City Center数据集进行在线实验,以测试SeqCNNSLAM的时间性能,然后将其与FABMAP [6]和CNNLCD [14]进行比较。
        离线和在线实验之间的主要区别在于获得差异向量的方法。 在离线实验中,我们在SeqCNNSL扫描整个差异矩阵之前获得数据集D∈RN×N的不同遍历中的图像之间的差异,以找到当前帧的最佳匹配序列,如步骤2到4中所示。 算法3.然而,在用于测试SeqCNNSLAM的时间环境的在线实验中,不能像算法3那样离线获得整个差分矩阵D∈RN×N(从步骤2到4)。 相反,当第n个图像到来时,我们获得当前图像(第n个图像)和所有先前图像D1:(n-1),n之间的图像差异。

1)SeqCNNSLAM稳健性的离线实验
        在本小节中,我们提出了关于SeqCNNSLAM对Nordland和Gardens Point数据集中观点和条件变化的稳健性的综合实验。我们无法使用Nordland数据集直接执行一些实验,因为它只表示条件变化。可以裁剪仅具有条件变化的数据集,以测试LCD算法针对同时视点和条件变化的鲁棒性,如相关工作中所示[10]。具体来说,我们将春季和冬季数据集的640×320下采样图像裁剪为480×320像素。对于冬季图像,我们通过将下采样的裁剪图像移动到4.2%和12.5%来模拟视点变化。移位的图像表示为winter4.2%和winter12.5%。冬季图像的移位像素为20和60像素。同时,弹簧数据集的裁剪图像被指定为spring0%,如图6所示。为了与SeqSLAM进行比较,我们还将SeqSLAM的64×32像素下采样图像裁剪为48×32像素,并以与SeqCNNSLAM相同的比例移动图像,从而产生2和6像素移位。

我们对数据集进行了以下实验。
•诺德兰:春季和冬季数据集用于形成一对只有条件变化作为诺德数据集的基线。
•Nordland:Spring0%用于与winter4.2%或winter12.5%形成对,以构建一组具有同时视点和条件变化的数据集。
•花园点:左右和夜右用于形成一对同时改变条件和改变观点。
        为了比较,我们重现了SeqSLAM [5]和Change Removal [7],并通过使用这些算法的原始研究中使用的相同数据集来评估它们的性能,即,我们使用前两个数据集测试SeqSLAM并在最后一个数据集中测试Change Removal。

        图4显示了Nordland数据集中SeqCNNSLAM的最终精确回忆曲线,以确定是否已经访问过具有ds变化的地点图像。如图4(a)和(d)所示,当ds设置为相同值时,SeqSLAM [5]和SeqCNNSLAMconv3在条件变化下表现出相当的性能,并且呈现出比SeqCNNSLAM-pool5稍好的鲁棒性。然而,随着观点的增加,SeqCNNSLAM-pool5压倒性地优于SeqSLAM和SeqCNNSLAM-conv3,特别是在12.5%的转变下。如图4(f)所示,当ds设置为100时,SeqCNNSLAM-pool5的性能分别比SeqSLAM和SeqCNNSLAM-conv3高出约47%和38%。
        图5显示了序列长度ds和RP100与Gardens Point数据集之间关系的实验结果。图中的绿线显示了Gardens Point数据集的左右和夜右部分的Change Removal [7]的最佳性能。显然,SeqCNNSLAM-pool5的性能优于Change Removal [7],因为当ds设置为相同值时,SeqCNNSLAM-pool5达到高RP100。
        从这些实验中,我们得出结论,SeqSLAM [5]和SeqCNNSLAM-conv3适用于处理剧烈状况变化和次要视点变化的场景。 但是,对于同时出现严重情况和视点变化的场景,SeqCNNSLAM-pool5更合适。 在现实环境中,机器人很少只面临一种变化。 因此,SeqCNNSLAM-pool5可以允许更普遍的适用性。

2)SeqCNNSLAM时间性能的在线实验
        SeqCNNSLAM-pool5在同时观察和条件变化方面表现出令人满意的性能。然而,计算效率是另一个在本节中,我们提出了一个在线实验,用于测试SeqCNNSLAM-pool5与City Center数据集的时间性能。此外,我们比较SeqCNNSLAM-pool5的时间性能与FAB-MAP [6]和CNNLCD [14]的时间性能
        图7显示了City Center数据集的最终精确调用曲线。图8示出了SeqCNNSLAM的平均每图像处理时间,以确定是否随着时间的推移ds = 20访问了一个地方的图像。
        如图7所示,当ds设置为20时,SeqCNNSLAM-pool5实现了最佳的精确回忆性能。如果精度保证为100%,则SeqCNNSLAM-pool5的可实现召回率高于CNNLCD [14]和50%优于基准FAB-MAP [6]。另外,当参数ds设置为0时,CNNLCD仅使用CNN层作为图像描述符。因此,该方法可以被视为SeqCNNSLAM的特例。更重要的是,结果表明SeqCNNSLAM比CNNLCD更灵活,可以根据板载计算功能实现ds优化。例如,在ds下,通过更好地利用可用的计算资源,优于CNNLCD。


A-SeqCNNSLAM的设计与分析:SeqCNNSLAM的加速方法

        在本节中,我们将讨论SeqCNNSLAM(A-SeqCNNSLAM)的有效加速方法。在该方法中,我们减少每个图像的候选匹配图像的数量。我们还全面比较了SeqCNNSLAM和A-SeqCNNSLAM之间的稳健性和时间性能。

A-SeqCNNSLAM的设计
        计算2范数差异的时间是SeqCNNSLAM中大规模场景的主要限制因素。如图8所示,SeqCNNSLAM的在线实验结果表明,SeqCNNSLAM-pool5对于每个图像的运行时间线性增加,因为对于数据集中的每个图像(例如第n个图像),SeqCNNSLAM-pool5执行从最后一个图像到数据集中的第一个图像的字面扫描,以找到最佳匹配图像。也就是说,SeqCNNSLAMpool5通过序列差矢量Q1:(n-1),n执行文字扫描,以找到第n个图像的最佳匹配图像。为了获得序列差异向量Q1:(n-1),n,计算机需要计算ds差分向量,即D1:(n-1),n,D1:(n-2),n-1, …,D1:(n-ds-1),n-ds。因此,获得Q1的时间复杂度:(n-1),n与n和ds的数量成比例。鉴于ds在实验中是恒定的,SeqCNNSLAM-pool5的运行时随着图像序列号的增加而增长。然而,SeqCNNSLAM-pool5的开销增加率可能相当大。因此,直接使用SeqCNNSLAM-pool5可能不适合大规模场景。
        随着机器人移动,时间和空间是连续的。 因此,相邻收集的图像非常相似。 因此,我们可以推断如果图像A与另一图像B匹配,则与A相邻的图像的匹配图像可能在图像B的相邻范围内。给予相邻图像之间的关系,我们通过以下方式大大加速了SeqCNNSLAMpool5的执行: 减少候选匹配图像的数量。 对于某个图像,我们首先选择K图像作为参考图像。 然后,我们为每个参考图像选择Num图像的集合,其中Num表示每个匹配范围的大小。 因此,考虑到不同参考图像的匹配范围可能重叠,我们因此获得至多(K(Num + 1))个候选匹配图像。 这些候选匹配图像对应于算法4中的图像的标志值。
        具体地,对于第n个图像,其参考图像是第一K个图像,其具有到第(n-1)个图像的最短距离。通过将第k个参考图像设置为中点,如图9所示,我们在参考图像的两侧选择(Num / 2)个图像并构建第k个匹配范围。例如,当我们设置K = 2和Num = 2时,如图9所示,当前图像的候选匹配范围的位置仅取决于与前两个图像最相似的前两个图像的序列号。第(n-1)个图像。
        如算法4所示,我们通过定位将循环闭包与其先前图像组合的第一图像,并计算与其先前所有图像序列的序列差异来初始化算法。然后,从步骤6到17,A-SeqCNNSLAM扫描这些列以定位第一图像的最佳匹配序列。同时,记录与第一图像最相似的Top-K图像,并将其用作下一图像的包含Num图像的K个匹配范围的中心图像,方法是将它们的标记设置为1。
        当图像数大于1(n大于1)时,算法的步骤6到17仅从它们的K个匹配范围而不是整个数据集确定匹配图像。因此,对于ds,K和Num的值,不管图像的序列号如何,我们只需要计算最多(K(Num + 1))次2-范数差。另外,由于SeqCNNSLAM-pool5的稳健性,K参考图像可能位于相邻位置。这导致K个匹配范围之间的重叠,例如图10中所示的实例。因此,图像的候选匹配图像的实际数量可能小于(K(Num + 1))。因此,算法的运行时间相对稳定且较低。
        但是,如果我们根据第一张图像确定所有图像的匹配范围,则此方法可能不可避免地导致累积误差,并且A-SeqCNNSLAM在City Center数据集上的表现非常差。因此,我们每L = 450个图像重新初始化算法,如算法4中的步骤3所示。具体来说,当n等于451,901,1351 …时,算法计算D1的所有元素:(n-1), n,D1:(n-2),n-1,…,D1:(n-ds-1),n-ds。因此,计算量与n的值成比例,并且重新初始化的时间随着n的值线性增长。

A-SeqCNNSLAM的性能分析
        我们实现了我们的方法,并将其性能与SeqCNNSLAM-pool5的性能进行了比较,其中ds = 20。 在City Center数据集中实现了令人满意的精确回忆性能,如图11所示。
        实验一致表明,即使K和Num仅设置为较小的值,我们的加速方法也能实现相当的性能。 例如,当K = 4,Num = 6且ds = 20时,ASeqCNNSLAM-pool5和SeqCNNSLAM-pool5表现出一致的性能。
        图12显示了当K = 10,Num = 30和ds = 20时,ASeqCNNSLAM的每帧处理时间,不包括算法的重新初始化部分。 随着n的增量,用于定位每个图像的匹配图像的运行时间很短。 从图12中,我们知道位于两个初始化图像中间的每个图像的运行时间约为0.03秒,即该算法每秒可处理30个图像。
        应该注意的是,重新初始化时间随着机器人收集更多图像而增加,这是A-SeqCNNSLAM为提高每个图像LCD所支付的成本。然而,可以解决该问题,因为A-SeqCNNSLAM应用于完整的SLAM系统。首先,重新初始化可以与LCD一起在单独的线程中实现,并且仅针对450个图像计算一次,因此LCD线程的计算时间仍然可以满足在线要求。其次,实际的SLAM系统SLAM [21]可以每秒收集大约五个关键帧作为SLAM的输入,而不是记录机器人收集的所有图像。因此,用于周期的候选匹配图像的增长率不是很大。第三,候选匹配图像也限于具有与大多数SLAM中的查询图像相同的特征点的关键帧,例如ORB-SLAM [21]。因此,关键帧的候选匹配图像的数量范围仅为几十到几百个图像。因此,A-SeqCNNSLAM可以在实际的SLAM系统中支持实时LCD性能。此外,在本研究中,所有实验均由MATLAB实现,C / C ++实现可进一步加速提出的A-SeqCNNSLAM。


O-SeqCNNSLAM:在线学习算法为A-SeqCNNSLAM选择K.
        虽然我们通过减少参数K和Num的图像的候选匹配图像的数量来提供A-SeqCNNSLAM以加速LCD算法,但是这两个参数是高度数据集特定的并且在很大程度上取决于机器人的轨迹。因此,像Change Removal [7]和SeqSLAM [5,10]一样,ASeqCNNSLAM难以应用于看不见的场景数据或不同的机器人配置。因此,A-SeqCNNSLAM尚不实用。
        在本节中,我们提供O-SeqCNNSLAM用于在线参数选择,允许A-SeqCNNSLAM算法通过直接观察未知环境来调整其参数
        A-SeqCNNSLAM的两个特征如图11所示。首先,当Num等于或大于16时,A-SeqCNNSLAM的性能受Num的轻微影响。其次,虽然我们为图像提供K匹配范围,但我们发现最佳匹配图像所在的匹配范围的序列号通常小于K.例如,图像A的匹配图像位于其第k个匹配范围内,并且k小于K.
        基于以上两条线索,我们提供了一种方法,可以在线学习参数。 我们可以将Num设置为较大的值并设计一种方法,以根据最后几个图像的匹配图像的位置动态调整K的值。 也就是说,对于每个图像,我们记录匹配图像所在的匹配范围的序列号。 序列号被视为其图像匹配标签,其表示为lm,对应于算法5的步骤5.然后,对于当前图像,K的值被设置为其最后几个图像的最大lm值。
        然而,当场景剧烈变化时,图像匹配位置的历史信息不能用作设置下一批图像的K值的基础。 因此,我们定义度量Φ来测量场景变化的严重性。 Φ在方程(1)中定义。 方程(1)的分子是当前图像的2范数和其最后十个图像的描述符差的总和。 分母是最后一个图像的2范数和最后十个图像的描述符差的总和。

        鉴于O-SeqCNNSLAM的大多数步骤与A-SeqCNNSLAM的步骤相同,在算法5中仅提供用于在线调整K的具体步骤以避免重复。在第二步中计算当前图像的Φ。如果Φ在0.9到1.1的范围内,则在步骤11中将K设置为其最后t = 10个图像的最大lm值。但是,如果Φ不在该范围内,则用初始值重新初始化K,如步骤15为了验证O-SeqCNNSLAM的效用,我们使用City Center数据集将其性能与A-SeqCNNSLAM的性能进行了比较。当Num和ds被设置为相同值时,我们呈现O-SeqCNNSLAM和A-SeqCNNSLAM之间的比较,并且将O-SeqCNNSLAM的K的初始值设置为A-SeqCNNSLAM的K值。图13显示了O-SeqCNNSLAM-pool5和A-SeqCNNSLAM的精确回忆曲线,因为它们的ds,Num分别设置为20,30,同时设置了OSeqCNNSLAM的K的初始值和A-SeqCNNSL的K的初始值。如图13所示,O-SeqCNNSLAM和ASeqCNNSLAM实现了RP100的可比值,也就是说,O-SeqCNNSLAM也表现出强大的性能,因此它可能是在实际场景中调整参数的实用方法。


P-SeqCNNSLAM:基于贴片的SeqCNNSLAM

        LCD算法可以主要基于这些图像是否都包含某些相同的界标来确定匹配图像,例如, 教堂。 然而,界标可以位于每个匹配图像内的不同位置,因此这些界标在其全局CNN特征中的激活可以处于不同位置。 因此,直接使用全局CNN特征的相似性来确定匹配图像可能无法充分利用CNN特征的不变性
        在本节中,与上述使用全局CNN功能的算法不同,PSeqCNNSLAM基于本地修补的CNN功能。 具体来说,我们将整个图像划分为补丁,并通过VLAD聚合这些补丁的CNN特征[8]。
        P-SeqCNNSLAM的灵感来自许多传统的计算机视觉算法,它提取了一些手工制作的局部特征,例如SIFT [22],并通过VLAD [8]聚合它们以获得优异的性能。我们建议通过使用本地修补的CNN功能作为本地功能,而不是使用手工制作的本地功能,其中CNN功能已被证明具有比针对条件和视点更改的手工制作功能更强大的性能。
        我们的实验是在Nordland的spring0和winter60数据集上完成的,它主要包含三个步骤。首先,我们以32像素的步幅提取所有128×128补丁的pool5层的激活,并通过PCA算法将每个CNN特征的维度从9216减小到3072,以使VLAD更有效。然后,我们通过随机选择1000个图像的本地修补CNN特征来学习k = 100个中心的k均值码本。第三,VLAD [8]将每个图像的局部修补CNN特征聚合到307,200维向量中。向量的维数太高,无法计算它们之间的相似性,因此我们进一步对聚合向量执行PCA以将它们减少到2048个维度。图14显示了P-SeqCNNSLAM的结果,因为ds设定为100,它实现了约72%的最大回忆,这比图4(f)中SeqCNNSLAM性能实现的70%回忆更稳健。因此,P-SeqCNNSLAM可能是一种有前景的LCD算法,可以抵抗视点和条件的变化。
        P-SeqCNNSLAM显示出对视点和条件变化的出色稳健性,与SeqCNNSLAM相比,它不具有足够的计算效率,因为PSeqCNNSL的PCA操作和VLAD过程具有更高的复杂性。 我们未来的工作将研究更多的研究,以减少计算量并提高PSeqCNNSLAM算法的效率。


结论和未来展望
        本文对SeqCNNSLAM的实用性进行了深入研究,SeqCNNSLAM是CNN特征(特别是pool5)与序列匹配方法的关联,用于LCD的任务。我们证明直接利用pool5描述符可以在SeqSLAM的帮助下产生针对同时视点和条件变化的强大性能。还提出了A-SeqCNNSLAM,通过减少匹配范围,使计算效率和可扩展的SeqCNNSLAM成为可能。在O-SeqCNNSLAM中,ASeqCNNSLAM参数的在线调整使其适用于未访问的环境。为了利用本地功能的优势,P-SeqCNNSLAM采用了本地修补的CNN功能。
        在我们未来的工作中,我们计划应用这些见解,并提供一种完整的方法,根据其运行状态同时调整A-SeqCNNSLAM的所有参数。此外,我们将A-SeqCNNSLAM应用于最先进的SLAM系统,并探索利用SLAM其他部分提供的信息来降低重新初始化成本的方法。此外,还将探索P-SeqCNNSLAM的实时版本,以提高其效率,并为更多数据集提供更全面的测试。



学到什么
1.
2.


你可能感兴趣的:(论文)