2. 近地面探测技术重点实验室, 江苏 无锡 214000
2. Science and Technology on Near-Surface Detection Laboratory, Wuxi 214000, China
视觉位置识别(VPR)[1-2]是计算机视觉和移动机器人领域中一个非常具有挑战性的问题。在计算机视觉领域,视觉位置识别技术可以在构建好的带有地理信息标注的大规模图像数据库中进行视觉信息检索和跨时间的位置信息检索,或者服务于增强现实(AR)等交互式3D视觉应用场景。在移动机器人领域,机器人在无GPS环境中进行视觉位置识别的能力是自主定位和导航的核心能力之一。在同时定位与建图(SLAM)技术中,视觉位置识别是回环检测(loop closure)[3-4]的重要组成部分,可用于检测候选闭环并通过全局优化来消除累积误差,从而实现全局一致的位姿估计和建图。此外,视觉位置识别还可以在构建好的环境地图中进行精确视觉定位,可广泛应用于自动驾驶汽车、服务机器人等应用。
目前已经有许多方案来解决移动机器人的大规模视觉位置识别问题。在传感器方面,这些方案普遍使用单目、双目、全景相机等基于图像帧的视觉传感器,具有对光照变化敏感、易产生运动模糊和冗余信息较多等缺点,使得传统视觉位置识别方法难以处理一些挑战性环境中的识别任务。在算法原理方面,这些方案大多数是基于场景外观的(appearance-based)方法[5],但在昼夜、天气和季节变化等的影响下,同一个位置的外观在不同时间会发生巨大变化,加上一些位置遥远的场景外观可能十分相似,这些情况对现有的基于图像帧的大规模位置识别方法提出了挑战。
不同于传统的基于图像帧的视觉位置识别方法,本文提出了一种基于事件相机的视觉位置识别方法。事件相机(event camera)是一种新颖的受生物视网膜启发的神经形态视觉传感器,并以完全不同于帧相机的方式工作:它采用地址事件表示(address-event representation,AER)方法,并以微秒级分辨率触发像素级亮度变化(称为“事件”),输出不同于图像帧的稀疏异步事件流[6-7]。事件相机具有低延迟、高时间分辨率、低带宽、低功耗、高动态范围等优势,可以有效地克服传统基于图像帧的视觉位置识别方法存在的问题。为了利用事件相机实现鲁棒的视觉位置识别,本文首次提出了一种基于事件相机的端到端视觉位置识别弱监督网络架构。如图 1所示,其关键思想是将VLAD应用于由事件流生成的EST体素网格表征。据我们所知,这是第一个使用事件相机的端到端视觉位置识别方法。在不同天气、不同场景的多个数据集上的实验结果表明,所提出的方法优于基于图像帧的视觉位置识别方法,能够在一定程度上克服视觉位置识别中存在的大尺度场景、高动态范围和长期适应性等挑战性问题。
本文的主要创新点和贡献如下:
(1) 提出了一种基于事件相机的端到端视觉位置识别弱监督网络算法流程,该算法流程直接使用事件流作为输入,能够有效地进行视觉位置识别;
(2) 在多个基于事件的驾驶数据集上,针对该方法和典型的基于图像帧的方法在不同天气、季节和环境等大规模场景序列中进行了全面、直观的比较,来评估视觉位置识别方法的性能;
(3) 对比了多种不同事件表征、不同网络结构和不同弱监督损失函数对网络整体性能的影响,以说明该方法各个部分的作用和优势;
(4) 在增加的扩展实验中,使用自动驾驶仿真器录制了几组事件流序列,探究了载体的行驶速度变化对视觉位置识别准确率的影响。
2 相关工作(Related work)视觉传感器的成本低、功耗低,并且能提供丰富的场景信息,正日益成为位置识别的主要传感器类型。目前流行的大规模视觉位置识别方案普遍采用基于图像帧的(frame-based)视觉传感器[1-2]和基于场景外观的方法[5],来实现大规模的位置识别。在这种情况下,一般可以将视觉位置识别问题转化为带有地理信息标注的(geo-tagged)大规模图像检索问题,并通过匹配相同位置的图像来解决位置识别任务。关于如何更好地表征和匹配相同位置的图像,已经进行了广泛的研究[1-2]。这些方法通常采用传统的稀疏特征提取技术(例如SIFT(尺度不变特征变换)[8]、ORB(oriented FAST and rotated BRIEF)[9]等),以及典型的局部聚合描述子技术(例如词袋模型BoW[3-4]、VLAD[10-11]等),来建立图像特征的高阶统计模型。一个典型的工作是DenseVLAD[12],它使用SIFT从图像中提取密集的特征描述,并使用VLAD进行特征聚合。随着深度学习的兴起,一些工作开始使用现成的(off-the-shelf)卷积神经网络(例如OverFeat、VGGNet和AlexNet[13-14]等)作为可训练的特征提取器,还有一些工作将VLAD改进为一种可训练的池化层(例如NetVLAD[15]等),用来得到图像的描述子向量作为紧凑的图像表征。在检索和匹配环节中,基于序列的(sequence-based)匹配技术是一种受到广泛认可的匹配方法,典型的工作是SeqSLAM方法[16],它通过搜索高度相似的序列片段进行视觉位置识别。近年来,研究者们开始试图从不同方面进一步改进识别性能。例如,一些基于场景结构的(structure-based)方法,主要利用场景的重复边缘、半稠密地图等结构信息进行位置识别[5, 17-18]。也有一些工作采用基于场景语义的(semantic-based)方法进行视觉位置识别,主要利用场景中的路标、文本、物体等语义信息[19-21]。
虽然传统的基于图像帧的视觉位置识别技术在过去十几年中得到了快速发展,但由于帧相机的固有缺陷,目前这些方法仍然难以解决一些挑战性环境中存在的问题(例如光照变化、运动模糊等)。与基于图像帧的标准相机相比,事件相机具有高动态范围、高时间分辨率和低延迟等优点[6-7]。由于这些优势,事件相机最近受到了越来越多的关注。然而,据我们所知,基于事件(event-based)的视觉位置识别的相关研究工作仍然很少。Milford等[22]首先尝试将SeqSLAM法迁移到事件相机上,完成了一个比较粗糙的基于事件帧的位置识别实验。在此之后,他们提出了一种基于事件的视觉位置识别时空窗口集成方案(ensemble-event-VPR)[23]。该方法使用不同事件个数和不同时间窗口尺寸的事件流片段,通过E2Vid方法[24]将事件流片段重建为一组强度帧序列,分别使用NetVLAD[15]预训练模型得到对应的视觉描述子,然后通过对描述子的距离矩阵求平均值进行集成,从而进行视觉位置识别。然而,该方法并不是直接基于事件流的方法,而是需要将事件流转换成强度帧,实质上依然是一种基于图像帧的视觉位置识别方法。另外,由于用到了不同长度的事件流片段进行强度重建并集成,该算法计算量大且十分耗时,因此难以执行大规模场景中的位置识别,且难以部署到真实的机器人上实时运行。而本文首次提出了一种新颖的端到端的基于事件的视觉位置识别网络,并取得了优异的位置识别效果。
3 方法(Methodology)本节详细描述所提出的基于事件的视觉位置识别方法的网络架构和设计方案,包括算法的各个模块组件以及网络训练的主要步骤和注意事项。
3.1 问题和算法流程问题定义。定义数据库
算法流程。本文提出的基于事件的视觉位置识别是一种新颖的使用事件相机的端到端位置识别方法。算法的核心思想是:首先,将事件流片段通过基于MLP(多层感知机)的核函数转换为EST体素网格表征;然后,使用裁剪的深度残差网络ResNet34对EST体素网格进行视觉特征提取;在此基础上,使用基于VLAD的局部聚合描述层进行特征描述子聚合;最后,使用三元组排序损失(triplet ranking loss)函数对网络进行弱监督训练。根据上述关键思想,算法流程主要分为以下4个部分:EST体素网格表征、特征提取卷积网络、特征聚合描述层和三元组排序损失函数,其对应的网络架构如图 2所示。
事件流的定义。事件相机的像素阵列能够独立响应像素级亮度变化(即
$ \begin{align} \Delta L (x_{k}, y_{k}, t_{k}) & =L (x_{k}, y_{k}, t_{k})-{L}(x_{k}, y_{k}, t_{k} -\Delta t_{k}), \\ &| {\Delta {L}(x_{k}, y_{k}, t_{k})} | \geqslant \vartheta \end{align} $ | (1) |
这里
$ \begin{align} p_{k} =\frac{\Delta L(x_{k}, y_{k}, t_{k})}{| {\Delta L(x_{k}, y_{k}, t_{k})} |} \end{align} $ | (2) |
在实际传感器中,可以根据不同的对比度阈值
$ \begin{align} \mathit{\boldsymbol{S}}(x, y, t)=\sum\limits_{\mathit{\boldsymbol{e}}_{k} \in {E}} {p_{k} \mathit{\boldsymbol{\delta}} (x-x_{k}, y-y_{k})\delta (t-t_{k})} \end{align} $ | (3) |
其中
EST体素网格表征。为了使用流行的基于深度学习的特征提取技术,需要将稀疏异步事件流数据转换为一种卷积网络可处理的表征形式。目前比较典型的事件流数据表征方法大致有运动补偿事件帧(motion-compensated event frame,MCEF)[25]、4通道图像(4-channel image,4CH)[26]和事件体素网格(event voxel grid,EVG)[27]等。此外,也可以将事件流转换为传统的基于图像帧的视频(例如E2Vid)[24]。这里使用事件脉冲张量的体素网格表征方法。为了最大限度地从事件测量场中获取有意义的视觉特征信息,用三线性投票核函数
$ \begin{align} (\mathit{\boldsymbol{k}}* \mathit{\boldsymbol{S}})(x, y, t) =\sum\limits_{\mathit{\boldsymbol{e}}_{k} \in E} {p_{k} \mathit{\boldsymbol{k}}(x-x_{k}, y-y_{k}, t-t_{k})} \\ \mathit{\boldsymbol{k}}(x, y, t) =\mathit{\boldsymbol{\delta}} (x, y)\max \left (0, 1-\left | {\frac{t}{\Delta t}} \right|\right) \end{align} $ | (4) |
核卷积之后,可以通过对式(4) 的信号在时空坐标
$ \begin{align} & \mathit{\boldsymbol{V}}_\rm{EST} [{x}', {y}', {t}'] \\ =&\sum\limits_{\mathit{\boldsymbol{e}}_{k} \in {E}} {p_{k} \mathit{\boldsymbol{\delta}} ({x}'-x_{k}, {y}'-y_{k})\max \left(0, 1-\left| {\frac{{t}'-t_{k}} {\Delta t}} \right|\right)} \end{align} $ | (5) |
其中
特征提取网络。在将事件流转换为EST体素网格表征之后,需要对其进行特征提取。本文使用了在基于事件的手写数字识别任务中预训练的深度残差网络(deep residual network,DRN)ResNet34[28]作为特征提取网络。为了将其迁移到本文的视觉位置识别任务中,需要对原始网络进行裁剪。本文修改了ResNet34的第1个卷积层的输入通道数,以适应EST体素网格
特征描述聚合层。在得到特征提取网络输出的特征图后,采用VLAD[10-12, 15]进行特征描述子聚合,它是一种位置识别和图像检索领域常用的可训练描述子池化方法。如图 4所示,将特征提取网络输出的
$ \begin{align} \mathit{\boldsymbol{V}}_{\rm{VLAD}, k} (\mathit{\boldsymbol{x}})=\sum\limits_{i=1}^M {\bar{{\mathit{\boldsymbol{a}}}}_{k} (\mathit{\boldsymbol{x}}_{i})(\mathit{\boldsymbol{x}}_{i} -\mathit{\boldsymbol{c}}_{k})} \end{align} $ | (6) |
这里,
$ \begin{align} {\bar{{\mathit{\boldsymbol{a}}}}}_{k} (\mathit{\boldsymbol{x}}_{i})=\frac{{\rm e}^{-\alpha \|\mathit{\boldsymbol{x}}_{i} -\mathit{\boldsymbol{c}}_{k} \|^{2}}}{ \sum\nolimits_{k'} {{\rm e}^{-\alpha \|\mathit{\boldsymbol{x}}_{i} -\mathit{\boldsymbol{c}}_{k'} \|^{2}}}} =\frac{{\rm e}^{\mathit{\boldsymbol{w}}_{k}^{\rm T} \mathit{\boldsymbol{x}}_{i} +{b}_{k}}}{ \sum\nolimits_{k'} {{\rm e}^{\mathit{\boldsymbol{w}}_{k'}^{\rm T} \mathit{\boldsymbol{x}}_{i} +{b}_{k'}}}} \end{align} $ | (7) |
它根据邻近距离来分配描述子
训练三元组构建。本文使用基于度量学习(metric learning)[29-30]的弱监督训练方法对所提出的基于事件的视觉位置识别网络进行端到端训练,以学习将输入事件流片段
$ \begin{align} d_{\rm{geo}} ({{\mathit{\boldsymbol{P}}}}_{\rm q}, {{\mathit{\boldsymbol{P}}}}_{{\rm{pos}}, i})\leqslant \lambda, \; \; \forall {{\mathit{\boldsymbol{E}}}}_{{\rm{pos}}, i} \in {E} \end{align} $ | (8) |
然后在这些潜在阳性样本中,选取描述子向量距离最小的阳性样本作为最佳阳性样本,其对应的描述子向量为
$ \begin{align} \mathit{\boldsymbol{v}}_{\rm{best-pos}} = \mathop{\text{arg min}}\limits_{{{\mathit{\boldsymbol{v}}}}_{{\rm{pos}}, i}} d_{\rm{des}} (\mathit{\boldsymbol{v}}_{\rm q}, \mathit{\boldsymbol{v}}_{{\rm{pos}}, i}) \end{align} $ | (9) |
在选取阴性样本时,首先根据查询的位置
$ \begin{align} d_{\rm{geo}} (\mathit{\boldsymbol{P}}_{\rm q}, \mathit{\boldsymbol{P}}_{{\rm{neg}}, i})\geqslant \delta, \; \; \forall \mathit{\boldsymbol{E}}_{{\rm{neg}}, i} \in {E} \end{align} $ | (10) |
然后在这些随机阴性样本中,选取其中违反间隔余量(margin)条件的作为候选的难分阴性样本集
$ \begin{equation} d_{\rm{des}} (\mathit{\boldsymbol{v}}_{\rm q}, \mathit{\boldsymbol{v}}_{{\rm{hard-neg}}, i})\leqslant d_{\rm{des}} (\mathit{\boldsymbol{v}}_{\rm q}, \mathit{\boldsymbol{v}}_{{{\rm{pos}}}, j})+\varepsilon, \; \; \; \forall \mathit{\boldsymbol{E}}_{{\rm{hard-neg}}, i} \in {E} \end{equation} $ | (11) |
其中,
损失函数。基于上述方法,本文使用来自事件相机数据集的数据,从训练集获得一组训练元组,其中每个三元组表示为
$ \begin{align} & L_{\rm{triplet}} (\mathit{\boldsymbol{\gamma}}) \\ = & \sum _j [d_{\rm{des}} (\mathit{\boldsymbol{v}}_{\rm q}, \mathit{\boldsymbol{v}}_{\rm{best-pos}}) - d_{\rm{des}} (\mathit{\boldsymbol{v}}_{\rm q}, \mathit{\boldsymbol{v}}_{{\rm{hard-neg}}, j})+\varepsilon]_{+} \end{align} $ | (12) |
其中,
为了在保证模型性能的同时减小计算量,对于每个训练三元组
$ \begin{align} & L_\rm{lazy-triplet} (\mathit{\boldsymbol{\gamma}}) \\ =& \max\limits_{j} [{d_{\rm{des}} (\mathit{\boldsymbol{v}}_{\rm q}, \mathit{\boldsymbol{v}}_{\rm{best-pos}})-d_{\rm{des}} (\mathit{\boldsymbol{v}}_{\rm q}, \mathit{\boldsymbol{v}}_{{\rm{hard-neg}}, j})+\varepsilon}]_{+} \\ =&[{d_{\rm{des}} (\mathit{\boldsymbol{v}}_{\rm q}, \mathit{\boldsymbol{v}}_{\rm{best-pos}})-d_{\rm{des}} (\mathit{\boldsymbol{v}}_{\rm q}, \mathit{\boldsymbol{v}}_{\rm{hard-neg^{*}}})+\varepsilon}]_{+} \end{align} $ | (13) |
其中,max算子在难分阴性样本的全局描述子向量
然而,选择最大化查询
$ \begin{align} L_{\rm{quadruplet}} & (\mathit{\boldsymbol{\gamma}}, \mathit{\boldsymbol{v}}_{{\rm{neg}}\times}) =L_{\rm{triplet}} (\mathit{\boldsymbol{\gamma}})+ \\ & [{d_{\rm{des}} (\mathit{\boldsymbol{v}}_{\rm q}, \mathit{\boldsymbol{v}}_{\rm{best-pos}})-d_{\rm{des}} (\mathit{\boldsymbol{v}}_{\rm q}, \mathit{\boldsymbol{v}}_{{\rm{neg}}\times})+{\varepsilon} '} ]_{+} \end{align} $ | (14) |
以及对应的简化四元组排序损失(lazy quadruplet ranking loss)函数,其定义如下:
$ \begin{align} L_{\rm{lazy-quadruplet}} & (\mathit{\boldsymbol{\gamma}}, \mathit{\boldsymbol{v}}_{{\rm{neg}}\times}) =L_{\rm{lazy-triplet}} (\mathit{\boldsymbol{\gamma}})+ \\ & [{d_{\rm{des}} (\mathit{\boldsymbol{v}}_{\rm q}, \mathit{\boldsymbol{v}}_{\rm{best-pos}})-d_{\rm{des}} (\mathit{\boldsymbol{v}}_{\rm q}, \mathit{\boldsymbol{v}}_{{\rm{neg}}\times})+{\varepsilon} '} ]_{+} \end{align} $ | (15) |
其中,
构建缓存。在网络训练过程中,需要查询样本的描述子向量来计算描述子距离。为了提高训练效率,本文对整个数据库的描述子向量构建缓存(caching),并使用缓存的描述子向量来选择最佳阳性样本和难分阴性样本。由于模型参数在训练过程中会不断调整,网络输出的描述子向量也会不断变化,因此在网络训练时会定期对缓存进行更新。大约每处理500~1000个训练集查询样本重新计算缓存,可以在训练期(epoch)持续时间、网络收敛速度和模型质量之间取得很好的平衡。
训练数据加载。不同于传统的图像帧,稀疏事件流片段在加载数据过程中存在数据量大小不固定的问题,这在批处理(batch)训练时会难以区分每个样本。本文在构建批处理训练数据时为每个事件流片段增加一列索引,并按查询样本、最佳阳性样本、难分阴性样本依次排列,合并为一个批处理数据送入网络中进行弱监督训练,再根据索引对网络输出的描述子向量进行划分。加载一个批次的训练数据时的事件流片段处理过程如下:
$ \begin{align} \mathit{\boldsymbol{E}}_{\rm{input}} =\bigoplus\limits _{i=0}^{B-1} {\mathit{\boldsymbol{E}}_{\rm q}^{i}} \oplus \bigoplus\limits _{i=0}^{B-1} {\mathit{\boldsymbol{E}}_{\rm{best-pos}}^{i}} \oplus \bigoplus\limits _{i=0}^{B-1} {\bigoplus\limits _{x=1}^{n_{{\rm{neg}}, i}} {\mathit{\boldsymbol{E}}_{{\rm{hard-neg}}, x}^{i}}} \end{align} $ | (16) |
在MVSEC[33]、DDD17[34]和Oxford RobotCar[35]等多个数据集上进行了实验,通过定量的实验结果来验证本文所提出方法的有效性。进行了3个实验来评估所提出的基于事件的视觉位置识别方法。首先,评估了所提出的基于事件的视觉位置识别方法在不同驾驶场景下的性能,并验证了其长期鲁棒性。然后,在同一数据集上对基于事件的本文算法和基于图像帧的视觉位置识别算法进行了比较,并对所提出算法的性能进行了定量分析。最后,从事件表征、特征提取网络和损失函数3个方面对所提出的基于事件的网络架构进行了消融(ablation)研究,实验结果证明了该方法各个模块的优势。
4.1 数据集配置由于现阶段还没有基于事件相机的位置识别数据集,因此在本文的实验中,选取并改造了目前公开的几个驾驶场景的数据集进行实验,实验数据集的场景如图 5、图 6所示。其中MVSEC数据集和DDD17数据集是现有的在真实环境中记录的事件相机数据集[33-34]。本文选取了MVSEC数据集的5个室外驾驶场景序列(包括白天和夜晚场景,由左目DAVIS相机获得)和DDD17数据集的12个室外驾驶场景序列(包括市区、城镇和高速公路场景)的强度图像和事件流片段,其中包含了多种光照变化和场景结构变化。此外Oxford RobotCar数据集是视觉位置识别领域常用的标准数据集[35]。仿真事件流合成器使用的是V2E[36],合成序列选择的是Oxford RobotCar数据集中由三目立体相机(Bumblebee XB3)采集的中间图像序列。尽可能地选取了不同天气条件下相同轨迹的序列,覆盖了晴天、阴天、雨天、雪天、黄昏和夜晚等场景。上述场景的光照、外观差异较大,能够较好地验证所提出算法的鲁棒性。
随机地将相同路线的序列划分为地理上不重叠的训练集和测试集(详细结果如表 1~4所示)。在MVSEC数据集中,从5个序列中选取了大约40 000个训练样本和10 000个测试样本。在DDD17数据集中,从12个序列中选择了大约240 000个测试样本。在Oxford RobotCar数据集的11个序列中选择了大约50 000个训练样本和12 000个测试样本。对于参数,在MVSEC和Oxford RobotCar数据集中,选择潜在阳性距离阈值为
在本文实验中,采用Recall@
在第1个实验中,验证了所提出的基于事件的视觉位置识别方法在MVSEC[33]、DDD17[34]和Oxford RobotCar[35]数据集中不同场景下的算法性能。为此,通过实验选择了若干个具有挑战性的序列,例如:MVSEC数据集中的夜晚场景序列非常昏暗且只有少量光线;DDD17数据集中的高速公路场景序列中存在许多外观相似场景和高动态范围场景(阴云、隧道等);Oxford RobotCar数据集中场景也存在丰富的天气和季节条件的变化,例如雨天场景中有积水造成的地面反光,夜晚场景有非常明亮的路灯,这导致了非常高的场景动态范围。
MVSEC数据集结果。如表 5所示,在MVSEC数据集上的实验结果显示了该方法在白天和夜晚场景下的模型识别性能(Recall@
Oxford RobotCar数据集结果。图 7展示了所提出的基于事件的视觉位置识别方法的网络模型在Oxford RobotCar数据集中不同天气、季节条件下的识别性能。首先,在图 7(a)中展示了在所有冬天的不同天气序列上训练的模型,分别在春天、夏天、秋天的不同天气序列上测试的实验结果。训练好的模型在不同的季节情况下都可以实现相似的识别性能,能够实现跨季节的长期视觉位置识别。接下来,分别针对所有白天或夜晚序列训练了模型,并对未经训练的场景序列(如阴天、雨天和雪天)进行了测试。将在所有白天序列(包括晴天和多云)上训练得到的模型,在不同天气序列上进行测试,实验结果如图 7(b)所示。可见,阴天和雪天序列上的测试结果与晴天和多云序列上的测试结果几乎相同,而Recall@1指标之间的差异只有2.15% 左右。雨天序列和夜晚序列上的测试结果稍差,Recall@1指标平均低8.66%。将在全部夜晚序列上训练得到的模型,在白天和夜晚序列上进行测试,实验结果如图 7(c)所示。由于夜晚序列中的事件噪声较大,训练后的模型在白天场景中的表现稍差。
DDD17数据集结果。此外,为了验证本文方法的模型泛化性能,使用在Oxford RobotCar数据集的合成事件流数据上训练的网络模型,然后在DDD17数据集的城市、高速公路等序列(使用真实DAVIS事件相机记录获得)上进行测试,所有序列的测试结果如表 6所示。结果显示,在没有任何迁移学习或训练网络微调的情况下,所提出的方法在DDD17数据集的城市场景序列上可以达到与在Oxford RobotCar数据集序列上相似的高性能。即使是在非常有挑战性的、具有大量相似场景和高动态场景的高速公路序列上,模型测试的平均Recall@1指标依然可以达到77.35%。这意味着仅仅利用人工合成的事件流数据对网络模型进行训练,就可以在事件相机记录的真实事件流数据上得到很高的准确率。
与图像帧VPR对比。为了对比本文方法与基于图像帧的方法的识别性能,还将本文方法与典型的基于图像帧的视觉位置识别方法NetVLAD[15]和SeqSLAM[16]在MVSEC数据集和Oxford RobotCar数据集上进行了比较,结果如表 7所示。为了公平地比较,将图像帧的空间分辨率调整到与事件流片段的空间分辨率相同。结果表明,在MVSEC数据集上,由于DAVIS相机记录的图像帧大多比较昏暗,而基于事件相机的本文方法在这种弱光照条件的情况下具有显著优势,因此本文方法优于基于图像帧的NetVLAD,更优于SeqSLAM。在Oxford RobotCar数据集上,基于事件的本文方法的Recall@1远高于SeqSLAM,但比NetVLAD平均低2.79% 左右。原因可能在于Oxford RobotCar数据集的原始图像帧较为明亮(即使是夜晚场景也有明亮的路灯),而使用V2E[36]人工生成事件流的过程中引入了一些固定模式噪声(FPN),因此不如Oxford RobotCar数据集原始的图像帧效果好。考虑到在传感器层面,目前事件相机相比于传统帧相机还不够成熟(例如存在空间分辨率低、噪声等级高等问题,这是由于传感器处于不同的发展阶段导致的),本文方法总体上能够取得与基于图像帧的视觉位置识别方法可比拟的、甚至更优的识别性能。
直观实验结果。为了更好地展示本文方法的性能,这里使用Oxford RobotCar数据集增加了一些更直观的实验结果,以进一步验证所提出方法的有效性。绘制了Oxford RobotCar数据集中不同天气序列的检索成功率地图(retrieval success-rate map),如图 8所示。相比晴天和多云序列的结果,阴天序列的识别准确率稍有下降,这主要是由于选取的序列中一些位置的GPS信号较弱。雨天序列的识别准确率同样有所下降,主要原因是特定位置存在的路面积水对事件相机成像产生了影响。然而,由于事件流数据只对光照强度变化敏感,因此对于场景外观非常不同的雪天序列反而能够得到相对较高的识别准确率。对于夜晚序列,使用事件相机同样可以得到不错的识别准确率,其中识别错误的情况主要是车辆前方的路面反光导致的。
事件表征的影响。在这个实验中,尝试探究了不同事件表征方法对本文方法性能的影响。除了方法中描述的EST体素网格表征外,还尝试了另外几种事件流表征方法,包括事件帧(EF)[25]、4通道图像(4CH)[26]和单极性事件体素网格(EVG)[27]表征。在进行这些实验时,均使用ResNet34作为特征提取网络。如图 9所示,实验结果显示了EST体素网格表征方法在不同数据集上的显著优势,以下各图中将Oxford RobotCar数据集简写为ORC。由于事件帧丢失了事件的时间戳信息,单极性体素网格丢失了事件的极性信息,所以实验结果都不如EST。4CH图像由于丢失了事件流的部分时间戳信息,因此结果也不如EST。EST体素网格表征方法不仅保留了事件流局部时空邻域信息,而且也同时能够通过可训练的核函数对噪声事件进行抑制,能够使特征提取网络获得更有效的特征。
网络结构的影响。在这个实验中,比较了不同的特征提取网络结构对本文方法性能的影响。网络结构方面,除了方法中描述的ResNet34外,还训练了VGG-16、AlexNet和另外2种不同网络容量的深度残差网络。在进行这些实验时,均使用EST体素网格作为事件表征。如图 10所示,实验结果显示不同的特征提取网络对算法性能并没有显著的影响。在不同容量的ResNet网络测试中,发现模型容量的增大会导致所使用的计算资源的增加,但准确率并没有显著提升。这可能是因为更大的网络意味着更多的参数,使得网络更加容易过拟合。因此最终选择ResNet34作为本文方法的特征提取网络,而在实际应用中可以根据自己的需求和计算资源来更换其他不同的特征提取网络。
损失函数的影响。在这个实验中,比较了不同的弱监督损失函数对本文方法性能的影响,包括三元组损失(triplet loss,TL)、四元组损失(quadruplet loss,QL)、简化三元组损失(lazy triplet loss,LTL)和简化四元组损失(lazy quadruplet loss,LQL)。在进行这些实验时,均使用EST体素网格作为事件表征,ResNet34作为特征提取网络。如图 11所示,实验结果显示不同的弱监督损失函数对模型性能有轻微影响。原始的三元组和四元组损失函数使用sum算子而不是简化损失函数中的max算子,因此原始的三元组和四元组损失往往需要更长的训练时间。而简化的三元组和四元组损失可以在保证性能的同时提高网络训练效率。其中四元组损失的训练结果均略优于对应的三元组损失,训练的模型能获得相对更好的可区分性,从而得到更准确的检索结果。因此,以上这些弱监督损失函数可以在训练的过程中交替使用,从而以较短的训练时间来获得高准确率的模型。
载体速度的影响。在这个实验中,探究了载体的行驶速度变化对本文方法性能的影响。由于在现有的几个基于事件相机的驾驶数据集中,载体的行驶速度往往相对变化不大,很难对不同行驶速度下的位置识别性能进行分析。因此,这里使用了自动驾驶开源仿真器CARLA[37],在不同的载体行驶速度下,自行录制了7组基于事件相机的序列,载体的行驶路线(大约3 km)如图 12(a)所示。其中,载体的行驶速度分别设定为
提出了一种利用事件相机来解决大规模视觉位置识别问题的弱监督网络架构和算法流程。它的核心思想是将基于VLAD的特征聚合描述层应用于由事件流生成的EST体素网格表征。本文的实验结果表明,基于事件的视觉位置识别方法比基于图像帧的传统视觉位置识别方法对天气、季节和光照变化引起的周围环境变化具有更强的鲁棒性和适应性。仍然需要注意的是,与传统的基于图像帧的相机相比,事件相机具有许多优点(例如低延迟、低功耗、高速和高动态范围等),但是由于目前事件相机的空间分辨率还较低,因此与基于图像帧的视觉位置识别方法相比仍然存在一些不足,这是由于传感器处于不同的发展阶段导致的。在后续的工作中,将尝试结合标准相机和事件相机,实现一种基于帧和事件的视觉位置识别混合网络架构,并将其部署在自主驾驶车辆或微小型无人机上,以进一步释放事件相机的潜力,来解决实际移动机器人的视觉位置识别和视觉回环检测问题。
[1] |
Lowry S, Sunderhauf N, Newman P, et al. Visual place recognition: A survey[J]. IEEE Transactions on Robotics, 2016, 32(1): 1-19. DOI:10.1109/TRO.2015.2496823 |
[2] |
Zeng Z Q, Zhang J, Wang X D, et al. Place recognition: An overview of vision perspective[J]. Applied Sciences, 2018, 8(11). DOI:10.3390/app8112257 |
[3] |
Angeli A, Filliat D, Doncieux S, et al. Fast and incremental method for loop-closure detection using bags of visual words[J]. IEEE Transactions on Robotics, 2008, 24(5): 1027-1037. DOI:10.1109/TRO.2008.2004514 |
[4] |
Galvez-Lopez D, Tardos J D. Bags of binary words for fast place recognition in image sequences[J]. IEEE Transactions on Robotics, 2012, 28(5): 1188-1197. DOI:10.1109/TRO.2012.2197158 |
[5] |
Oertel A, Cieslewski T, Scaramuzza D. Augmenting visual place recognition with structural cues[J]. IEEE Robotics and Automation Letters, 2020, 5(4): 5534-5541. DOI:10.1109/LRA.2020.3009077 |
[6] |
Gallego G, Delbruck T, Orchard G, et al. Event-based vision: A survey[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2022, 44(1): 154-180. DOI:10.1109/TPAMI.2020.3008413 |
[7] |
孔德磊, 方正. 基于事件的视觉传感器及其应用综述[J]. 信息与控制, 2021, 50(1): 1-19. Kong D L, Fang Z. A review of event-based vision sensors and their applications[J]. Information and Control, 2021, 50(1): 1-19. |
[8] |
Lowe D G. Distinctive image features from scale-invariant keypoints[J]. International Journal of Computer Vision, 2004, 60: 91-110. DOI:10.1023/B:VISI.0000029664.99615.94 |
[9] |
Rublee E, Rabaud V, Konolige K, et al. ORB: An efficient alternative to SIFT or SURF[C]//International Conference on Computer Vision. Piscataway, USA: IEEE, 2011: 2564-2571.
|
[10] |
Jegou H, Douze M, Schmid C, et al. Aggregating local descriptors into a compact image representation[C]//IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Piscataway, USA: IEEE, 2010: 3304-3311.
|
[11] |
Arandjelovic R, Zisserman A. All about VLAD[C]//IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, USA: IEEE, 2013: 1578-1585.
|
[12] |
Torii A, Arandjelovic R, Sivic J, et al. 24/7 place recognition by view synthesis[C]//IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, USA: IEEE, 2015: 1808-1817.
|
[13] |
Chen Z T, Lam O, Jacobson A, et al. Convolutional neural network-based place recognition[DB/OL]. (2014-11-06)[2018-08-13]. https://arxiv.org/ftp/arxiv/papers/1411/1411.1509.pdf.
|
[14] |
Lopez-Antequera M, Gomez-Ojeda R, Petkov N, et al. Appearance-invariant place recognition by discriminatively training a convolutional neural network[J]. Pattern Recognition Letters, 2017, 92: 89-95. DOI:10.1016/j.patrec.2017.04.017 |
[15] |
Arandjelovic R, Gronat P, Torii A, et al. NetVLAD: CNN architecture for weakly supervised place recognition[C]//IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, USA: IEEE, 2016: 5297-5307.
|
[16] |
Milford M J, Wyeth G F. SeqSLAM: Visual route-based navigation for sunny summer days and stormy winter nights[C]//IEEE International Conference on Robotics and Automation. Piscataway, USA: IEEE, 2012: 1643-1649.
|
[17] |
Torii A, Sivic J, Pajdla T, et al. Visual place recognition with repetitive structures[C]//IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, USA: IEEE, 2013: 883-890.
|
[18] |
Ye Y W, Cieslewski T, Loquercio A, et al. Place recognition in semi-dense maps: Geometric and learning-based approaches[C]//British Machine Vision Conference. Guildford, UK: BMVA Press, 2017: 74.1-74.13.
|
[19] |
Camara L G, Preucil L. Spatio-semantic ConvNet-based visual place recognition[C]//European Conference on Mobile Robots. Piscataway, USA: IEEE, 2019: 1-8.
|
[20] |
Hong Z Y, Petillot Y, Lane D, et al. TextPlace: Visual place recognition and topological localization through reading scene texts[C]//IEEE/CVF International Conference on Computer Vision. Piscataway, USA: IEEE, 2019: 2861-2870.
|
[21] |
Benbihi A, Arravechia S, Geist M, et al. Image-based place recognition on bucolic environment across seasons from semantic edge description[C]//IEEE International Conference on Robotics and Automation. Piscataway, USA: IEEE, 2020: 3032-3038.
|
[22] |
Milford M, Kim H, Mangan M, et al. Place recognition with event-based cameras and a neural implementation of SeqSLAM[DB/OL]. (2015-05-18)[2018-08-13]. https://arxiv.org/ftp/arxiv/papers/1505/1505.04548.pdf.
|
[23] |
Fischer T, Milford M. Event-based visual place recognition with ensembles of temporal windows[J]. IEEE Robotics and Automation Letters, 2020, 5(4): 6924-6931. DOI:10.1109/LRA.2020.3025505 |
[24] |
Rebecq H, Ranftl R, Koltun V, et al. Event-to-video: Bringing modern computer vision to event cameras[C]//IEEE/CVF Conference on Computer Vision and Pattern Recognition. Piscataway, USA: IEEE, 2019: 3852-3861.
|
[25] |
Gallego G, Rebecq H, Scaramuzza D. A unifying contrast maximization framework for event cameras, with applications to motion, depth, and optical flow estimation[C]//IEEE/CVF Conference on Computer Vision and Pattern Recognition. Piscataway, USA: IEEE, 2018: 3867-3876.
|
[26] |
Zhu A Z, Yuan L, Chaney K, et al. EV-FlowNet: Self-supervised optical flow estimation for event-based cameras[DB/OL]. (2018-02-19)[2018-08-13]. https://arxiv.org/pdf/1802.06898.pdf.
|
[27] |
Gehrig D, Loquercio A, Derpanis K, et al. End-to-end learning of representations for asynchronous event-based data[C]// IEEE/CVF International Conference on Computer Vision. Piscataway, USA: IEEE, 2019: 5632-5642.
|
[28] |
He K M, Zhang X Y, Ren S Q, et al. Deep residual learning for image recognition[C]//IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, USA: IEEE, 2016: 770-778.
|
[29] |
Kulis B. Metric learning: A survey[J]. Foundations and Trands® in Machine Learning, 2013, 5(4): 287-364. DOI:10.1561/2200000019 |
[30] |
Liu Y. Distance metric learning: A comprehensive survey[D]. Michigan, USA: Michigan State University, 2006.
|
[31] |
Schroff F, Kalenichenko D, Philbin J. FaceNet: A unified embedding for face recognition and clustering[C]//IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, USA: IEEE, 2015: 815-823.
|
[32] |
Chen W H, Chen X T, Zhang J G, et al. Beyond triplet loss: A deep quadruplet network for person re-identification[C]//IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, USA: IEEE, 2017: 1320-1329.
|
[33] |
Zhu A Z, Thakur D, Ozaslan T, et al. The multivehicle stereo event camera dataset: An event camera dataset for 3D perception[J]. IEEE Robotics and Automation Letters, 2018, 3(3): 2032-2039. DOI:10.1109/LRA.2018.2800793 |
[34] |
Binas J, Neil D, Liu S C, et al. DDD17: End-to-end DAVIS driving dataset[DB/OL]. (2017-11-07)[2018-08-13]. https://arxiv.org/pdf/1711.01458.pdf.
|
[35] |
Maddern W, Pascoe G, Linegar C, et al. 1 year, 1000 km: The Oxford RobotCar dataset[J]. International Journal of Robotics Research, 2017, 36(1): 3-15. DOI:10.1177/0278364916679498 |
[36] |
Hu Y, Liu S C, Delbruck T. V2E: From video frames to realistic DVS events[C]//IEEE/CVF Conference on Computer Vision and Pattern Recognition. Piscataway, USA: IEEE, 2021: 1312-1321.
|
[37] |
Dosovitskiy A, Ros G, Codevilla F, et al. CARLA: An open urban driving simulator[DB/OL]. (2017-11-17)[2018-08-13]. https://arxiv.org/pdf/1711.03938.pdf.
|