【翻译】Visual Place Recognition_ A Survey视觉场景识别综述【四】

7 动态环境中的视觉场景识别
  早期识别系统通常假定每个地方的外观在实验过程中不会改变。然而,机器人系统在不受控制的大环境中长时间运行时,这种假定不成立。近年来,机器人持久性导航系统越来越受关注,包括持久性的场景识别技术。因此,机器人在动态环境地图中定位的能力也是关键问题[193]。本节重新讨论之前提到的概念:地点描述技术,地图框架和置信度生成过程,并讨论每个部分如何适应不断变化的环境。
A. 描述动态环境中的地点
  很多原因,如光照和天气,会导致地点的外观随时间发生改变(见图1)。外观变化时,针对场景识别有两种改善方法——第一种尝试找到地点的条件不变描述,局部特征描述的方式具有缩放不变性,旋转不变性和光照不变性。第二种方法是学习外观变化是怎么发生的。
  **1)不变性方法:**在动态环境中使用常规的局部特征进行地点匹配对于机器人持久导航非常重要。Furgale和Barfoot [117]观察到SURF特征由于环境外观的改变,特别是光照变化,容易造成视觉示教(visual-teach-and-repeat)实验的失败。在光照和其它变化的条件下,现有图像描述方法的鲁棒性已经被测试。[194]中,Valgren和Lilienthal在光照变化、云覆盖和季节变化方面测试了SIFT特征和许多SURF变形的鲁棒性,发现SURF变形优于SIFT,但是没有一个特征适用于所有条件。然而,在后来的工作[100]中,作者将U-SURF [73](最成功的SURF变形)与使用对极约束的一致性检查结合,在小数据集(40图像)内实现了80%至100%的正确匹配率。
  Ross 等人 [195],[196]研究了光照变化对特征的影响,采集一天内不同时间段的图像,确定了每个描述子对光照的敏感度。在每个图像中预选出关键特征点,只测试这些关键点的特征描述的变化。而Valgren和Lilienthal [100],[194]测试了特征检测和描述的综合效果。U-SIFT [72]描述子在所测试的描述子中,具有最好的光照不变性。
  除了SIFT或SURF的点特征之外,也可以选择其他描述子。全局图像描述已经用于如SeqSLAM等[118],[119],[197]系统中,这些系统均表现出对环境变化的鲁棒性。其他描述方法,在剧烈的外观变化条件下,会导致系统故障[111],而全局图像描述也具有对视点变化比较敏感的问题 [198]。
  边缘特征可以在某些特定环境[172],[199]中使用,它具有光照、方向和尺度[199]不变性。Nuske等人 [199]使用边线的定位方式,根据现有地图上,通过鱼眼相机进行定位,并在户外工业区域,7:00到17:00之间不同光照条件下进行了测试。Borges等人 [200]改进了该系统,通过3D激光数据生成边缘地图。不过使用边缘特征的数据匹配比较具有挑战性[172]。
阴影去除[201]、光照不变性的颜色空间[192]等,可减轻光照影响。光照变化时的场景识别问题也可以通过硬件解决。McManus 等人[202]使用扫描激光测距仪创建不受光照影响的图像。该方案可以应用在完全黑暗的环境中。长波红外热成像相机使用方法与普通相机无异,但是对光照反应不同。Maddern和Vidas [203]证明了,在夜间当普通相机失效时,红外热像仪可以正常工作,从而改进了夜晚场景识别效果。
  在动态环境里的场景识别系统通过CNN提取鲁棒特征。CNN可以学习通用特征,并将这些特征转移到其他相关的视觉任务中[204],[205],所以场景识别也尝试使用CNN技术。[206],[207]的作者利用CNN特征作为整体图像描述子,并分析了不同层对视觉外观和视点变化的鲁棒性。他们得出结论,中级特征对外观变化具有鲁棒性,而更高层的特征对于视点变化更加鲁棒,而且携带更多的语义信息,可以分割搜索空间 [207]。
  在动态环境里的场景识别中,彩色数据信息还未被深入研究。传统的图像描述子(例如SURF和BRIEF)对灰度图像进行操作,但是大多数相机能够获取彩色图像,彩图在动态环境中,可以为场景识别提供更多有用的信息。颜色信息呈现了在动态环境中场景识别的悖论:场景光照改变时特征不稳定[195],相反,相对颜色信息包含光照信息,通过这些信息可以识别和去除阴影,从而改善场景识别性能[201]。使用相对颜色信息处理图像具有光照不变性,使白天的场景识别更可靠,但在晚上违反黑体照明的基本假设时,使用彩色图像效果更好。
  **2)学习方法:**同一个地点在不同的时间有不同的外观,动态环境中场景识别的另一个方法是学习这些外观之间的关系。这些方法假设在地点以相似的方式改变外观,因此,在训练期间学习到的变化规律可以应用到未访问过的位置。通过观察来自不同位置的静态网络摄像头[209],[210] 对这个假设进行了测试,并证明不同的地点,在不同时间的主要变化是相似的。此外,位置的训练集合可以计算出主成分基,能够通过编码得到新位置的外观,且精度较高。
  Ranganathan等人在[212]中学习了一个精细词汇表。该词汇表类似于词袋模型,将描述子空间,例如SIFT描述子空间,进行分割,而且它分割的非常精细,在[212]中具有超过1600万的词汇。然后,系统学习这些词的概率分布。描述子在光照变化,改变视点和其他效果下具有高度非线性,精细词汇可以通过分析词汇的分布,来学习和量化这些变化。在[211]中,从同一环境的多个训练集中学习特征分布,通过不同光照条件下的特征匹配来产生概率分布。运行效果较常规词汇树[95]有所提高,数据集的正确匹配率提高了10-15%。此外,还比较了距离度量,并且显示了对称Kullback-Leibler散度在标准特征点距离度量和概率距离度量两方面都表现优异。
  Carlevaris-Bianco和Eustice [213] 使用网络摄像头镜头在不同的光照条件下跟踪图像块,生成大量(300万个特征)的正反例子。神经网络学习技术[214]将这些块映射到新的空间地图,其中正匹配块之间距离较近(欧几里得距离),负匹配块之间距离较远。该描述子在位置识别方面比SIFT和SURF描述子表现更好——与SURF描述子比,测试位置的正确匹配率提高了10%。
  Neubert等人 [18]学习了两个不同季节之间在视觉上的变换。SLIC超像素对两个不同季节的训练图像进行分割[215]。超像素由颜色直方图和SURF描述子组成,超像素从一个季节到另一个季节的转换字典通过学习得到。类似地,Lowry 等人[216]学习了从早上到下午拍摄图像的线性变换。然而,分析外观转换时,训练图像对内容必须一致。
基于学习的方法经常需要监督的训练阶段,外观变化要已知,并且相关的训练数据要可用。Lowry 等人[217]提出了一种在变化环境中进行场景识别的无监督学习方法。该系统确定并剔除了在环境中观察到的广泛存在的元素。移除常见的元素降低了场景识别失败的风险,并提高了地点描述的稳定性。
B.记录动态环境中的地点
  如果环境改变,地图也需要改变,系统必须确定保留什么和剔除什么。对于系统来说可以保留地点的多种描述,因为地点可能在不同情况之间转换。本节介绍了用于场景识别的建图框架,其通过以下两种方式来处理环境变化——决定记录什么和剔除什么,和(或)记住多重表示。这些系统不是单指视觉系统(许多系统是处理激光数据的),而是适用于任何传感器形式或地图框架。
  **1)记录和剔除数据:**在动态环境中,当机器人获得新的观测值时,必须更新每个地点的描述。我们不仅要使用最近观察到的信息来覆盖过时的信息,还要禁止瞬时事件覆盖现有信息。然而,很难确定哪些事件是暂时性的,哪些是需要记录的。Biber和Duckett [218]受自神经科学中概念的启发,将这称为“stability-plasticity困境”,其解决方案受到了生物大脑的启发。在人类记忆模型中发现诸如感觉记忆,短期记忆和长期记忆的概念,已经被用于创建记忆和忘记的决策模型。
一个生物启发的建图系统,通过感觉记忆模拟,将传感器信息传递到短期记忆和长期记忆存储区域[219],[220]。在第一阶段,选择注意机制根据长期记忆信息来决定哪些信息将从感觉记忆升级为短期记忆。第二阶段使用复述机制来确定哪些信息将从短期记忆转移到长期记忆。这两种机制确保更持久,稳定,经常出现的特征被记住,而暂时的特征被遗忘。当元素被充分看到和识别时,才能被提升到更高的记忆空间。此外,过时无用的特征慢慢地从长期记忆中过滤掉。剔除过程与记录过程是互补的,往往使用类似的标准[ 219 ],[ 221 ]。
  Andrade-Cetto和Sanfeliu [222]要求训练特征是值可信的、可靠的以及最新的,而Bailey [221]提出了基于可见性的有用性标准——一个特征可被环境中其他的元素遮挡,在后来的定位中用处不大。Johns、Yang [102]和Hafez [223]使用词袋模型以及质量测量来确定要保留的有用特征,在生成定位模型时还要考虑特征的独特性和可靠性。Johns和Yang [224]还提出了一种“生成词袋模型”,在匹配场景时考虑每个数据点的方差以及平均值。
  **2)环境的多重表示:**地点会随时间发生改变,也可能以循环方式改变,因此不能由单个描述表示。在为期两周的办公室实验[225]中,Milford和Wyeth指出,“系统对周期性变化(如昼夜时间周期)处理效率低下。经过一个晚上的运行后,修剪过程逐渐将经验地图改善以适合于夜间定位,但对第二天上午的定位有所不利。”Ranganathan等人证实了这些观察结果[211],他们指出,对于室内办公环境,如果在24小时周期内持续良好的定位,需要每个位置提供大约三到四个图像。对于地点或者地图,与其连续记录和剔除信息,不如记录该区域的多重表示。
  场景识别系统可以使用相同环境的多个地图。在Biber和Duckett的工作中,为每个地图会添加一个时标[226]。其中一部分地图表示短期记忆,经常更新,而其他地图类似于长期记忆,在数小时,数天或数周内都不更新。地图在不同时间周期内更新,确保了旧地图数据不会由于环境中的临时更改而立即被覆盖。相反,静态特征随时间会增强,而瞬态事件会被过滤掉。场景识别的过程就是选择与传感器数据最匹配的局部图。
  多地图的系统仅在需要时添加新的地图结构,而不是根据预设的时间帧[220]。此外,Stachniss和Burgard [227]指出,不是每个地方都需要多重表示,某些区域,例如门口,可能比其他环境发生更多变化。这样的区域具有几个关键结构(例如,门可以是打开或关闭的),因此,使用几个子地图就可以足够精确地描述了。将有动态变化的区域,从地图中分割出来,形成子地图。根据模糊k均值聚类与贝叶斯信息标准,来确定该区域子地图的最佳数量。使用子地图隔离动态区域,允许一个地点有多种环境结构,同时保持地图的可管理性。
  环境中移动的物体,机器人必须能够检测到,之后也可能会被移除[229],[230]。然而,经常有半静态的元素,移动不明显,随着时间会出现和消失。虽然这些元素可能由于其不可靠性被移除 [69],[231],但可用于特定环境的暂时定位[232]。Meyer-Delius等人[232]使用停车场作为示例,其中诸如墙壁的静态元素可能较远且不具有可区分性,而半静态停放的汽车数量较多且相对独特,所以可以使用汽车信息在数小时或一天内定位,之后被丢弃。当机器人观测值与所提供的静态地图的预期结果不匹配时,将创建临时地图。当临时地图在多个连续的时间周期内,未能与机器人观测数据充分匹配时被丢弃。
上面提到的系统[220],[226],[227],[232]是为度量系统设计的。对于基于外观的系统,如果多重训练可行,也可使用多重表示。Johns和Yang [102]使用了特征共存图,该图是根据14:00和22:00之间的20公里城市道路数据集进行了五次训练而生成的,然后在相同的路线上,在五次训练时间之间的插值时刻实现定位。
  McManus 等人[120]通过在环境内的多个训练来学习场景地标——抗外观变化干扰的局部可区分性元素。对于环境中的每个位置,选择具有独特性和稳定性的图像块。使用HOG描述子[121]描述所选择的图像块,用描述的图像块为每个位置训练SVM分类器。在31个位置数据集测试中,使用场景地标进行场景识别的正确率能够达到100%,而SURF特征表现较差,尤其是在雨天和雾天。
  如果假设环境的外观受到隐性的周期性影响,可以根据多个训练,利用频谱分析,如傅立叶分析,来预测未来特定时间点的位置外观。Krajnik等人 [233]对一个环境进行学习和建模,在三个月后定位时发现,这些预测的外观信息能将场景识别的错误率减半。
  上述所有系统都假设,机器人知道自己的位置信息,然后匹配该位置的所有不同表示,即使这些表示在看起来不相似。在不断变化的环境中,如果系统不知道要更新哪个位置,则不能更新地图,那它可能无法准确知道机器人位置。为了避免这种情况,Churchill和 Newman提出了一种柔性地图形式[15],根据机器人的“经历”进行定位,而不是物理位置。当机器人访问到不能识别的位置时,会生成新的经历,这样地图就能隐性地包含每个位置的多重表示,表示的数量取决于在该位置匹配的难度(见图8)。然而,与先前讨论的系统不同,这些表示不必作为同的物理位置连接在一起。如果系统可以识别相同的屋里位置并将其连接在一起,柔性地图信息会更加丰富。这种方法比较实用,它允许场景识别失败,但不会造成地图崩溃。
在这里插入图片描述
[图8 由于动态环境的外观变化,系统需要存储每个地方的多个表示。此图像(来自228|)显示在数月内的重复遍历期间,一段路径中所存储的机器人“经历”的数量。大多数地方需要五到十次经历,但一些地区需要多达30次。
  系统存储每个位置的多重描述会增加位置识别搜索空间,进而降低效率,除非仅使用其中一个描述子集来匹配。因为在相似时间观察到的信息,往往具有相似的外观特性,所以可以根据系统的当前定位信息,来选择可能出现的匹配。Carlevaris-Bianco和Eustice [234] 通过Chow-Liu树,评估了短时间内被“共同观察”两个位置样本的相似度,而Linegar等人 使用“路径记忆”来选择先前经历作为候选匹配,并在不增加计算时间的基础上改进场景识别。
C. 动态环境中的场景识别
  在外观改变集成到场景识别系统中后,置信度生成过程需要做一些关键性的改变。首先,如上所述,动态环境需要每个地方的多重表示,系统根据当前传感器数据[226]选择最佳地图,或者预测最可能的外观匹配[18],[233] - [235]。
  场景识别系统也可以并行地运行多个假设。Churchill and Newman [15]给每个存储的经历分配定位信标,报告机器人是否成功地在该环境中定位,而Morris等人[220]对可能的地图结构以及可能的机器人位姿进行筛选。系统不是选择与当前传感器数据最匹配单个地图,而是主动跟踪多个地图中的N个最佳导航假设,而当有效假设低于最佳待定假设时,待定假设被替换并重新建立。使用多个地图假设,在室内办公室实验中,平均路径误差减少多达80%。
  在动态环境的场景识别中,拓扑信息越来越重要,因为传入的传感器数据可靠性降低,并且更难以与先前观察到的信息匹配[118],[119]。匹配图像序列,而不是单个图像,可以改善位置识别,特别是在动态环境中[14],[84],[118],[147]。
假设系统不是穿过特定地点,而是遍历环境中的相同或非常相似的路径,这将有利于动态环境的场景识别。SeqSLAM [118]使用图像序列,对具有挑战性的环境进行场景识别。原始版本在遍历中采用相似的速度分布,而修改版本通过图像相似性矩阵,搜索非线性路径以及线性路径 [102],或使用里程计输入来线性化信号[148]。Liu和Zhang [236]使用粒子滤波器提高了穷举搜索过程的计算效率,在100%精度下,实现了10倍的加速。
  Naseer等人[119]应用了序列信息,将图像匹配作为最小成本价流。流网络是具有源点和汇点的有向图,在基于路径的场景识别中,源点和汇点分别表示遍历的开始和遍历的结束。公式通过将图像匹配程度值等同于流量成本,在环境中找到最佳序列。通过节点连接或隐藏来处理不同的速度分布。类似地,Hansen和Browning [237]使用隐性马尔可夫模型,通过Viterbi算法来确定最可能的路径。

8 结论
  在过去15年中,视觉场景识别系统已经取得了巨大的进步,但还不能广泛适用于各种机器人平台和环境,其稳定性也远远不够。在这里,为了达到这一目标,我们重点介绍了几个有前景的方法和途径。
  视觉场景识别受益于其他领域的研究,特别是计算机视觉,在深度学习、图像分类、物体识别和视频描述领域中取得了伟大进步。CNN之类的技术需要依赖于大数据和大计算,而云机器人技术和在线/离线处理之类的技术可以用在小型、便宜的移动平台上。GPU硬件和新型相机传感器的发展,启发场景识别新思路,提高现有方法的效率和鲁棒性。
  物体检测和场景分类的研究也有利于场景识别的发展。检测出来的物体,如果是建筑物之类的,可以用来进行长期的场景识别;如果是行人之类的,应该被忽略;如果是汽车之类的,则根据语义和时间背景判断其是否有用。以下两种方法可以增强针对环境结构变化的鲁棒性,1)知道物体是动态的或静态的;2)知道如何根据时间和语义背景推断物体状态(例如,停车库中的汽车可以提供临时有用的位置识别信息)。CNN包含信息丰富,训练或调整专用于场景识别的CNN网络,是未来研究中一个有价值的方向。
  视觉场景识别系统也可以利用背景信息。尽管地点在外观上发生了巨大变化,但其相对位置保持不变。这些信息可以通过先验定位、递归滤波和基于路径的图像序列集成到置信度生成模块中,当环境的外观的变化增加时,系统对这些技术的依赖性增加。其他背景信息也能改进场景识别能力——根据一天中的时间信息或者当前天气状况改变描述可视数据的方法。
场景语义背景可以限制场景识别的搜索空间,保证机器人长期自主性导航。语义背景可以强化学习功能,预测场景中的变化,并且有助于增针对强环境变化的鲁棒性。语义地图还能够减少存储需求——比如房子的地图仅需要诸如“厨房”,“卧室”和“浴室”之类的词语来描述。应用语义对象作为地方识别特征的主题建模、核心集和其他语义压缩方法的研究比较有前景。
  最后,视觉场景识别能给其他研究工作带来什么?视觉场景识别在条件不变性识别方面的研究成果超前于其他领域,即使在比其他领域(如场景解释)更多的约束条件下。获得的经验可以用在其他机器人任务中,如物体识别、野外物体分类等,也可以用到其他各种领域中,如遥感,环境监测和在非受控环境中的识别领域。

猜你喜欢

转载自blog.csdn.net/weixin_43457532/article/details/85062588