卷积编码器在无人机回环检测上的应用

2022-04-14 12:38骆旭锋李智
科学与信息化 2022年7期
关键词:回环关键帧编码器

骆旭锋 李智

四川大学电子信息学院 四川 成都 610065

引言

无人机的自主飞行已然成为现阶段研究的重点。SLAM应用在无人机上是一个必然的趋势。无人机既能通过相机得到的图像数据来进行自主定位,又能通过这些图像数据来进行空间障碍物的构建,为避障提供数据。因此一个高效、稳定且精确的SLAM系统对于中小型无人机在自主飞行中有着重要的作用。在现有开源的SLAM框架中,由中国香港科技大学提出的VINS-Fusion框架在精确度和算法消耗上最契合中小型无人机。

由于SLAM是根据相邻图像帧之间匹配计算相机的位姿变化,根据位姿变化累计定位,所以在长时间的运动过程中会产生累积误差。Raul Mur-Artal团队提出了回环检测方法[1]来消除累计误差。若无人机到达已飞行过的路径时,即当前帧图像与历史图像帧之间相匹配时,进行位姿的匹配优化,从而消除累积误差。在VINS-Fusion中,回环检测使用的是基于词袋模型构建的回环检测。但是随着运行时间的增长,检测每帧关键帧的时间也在逐步增长。词袋模型中的词典数会不断记录关键帧的特征描述子,词典树中的数据量会不断扩大。当运动环境有比较大的变化,例如从街道环境运动到森林环境时,描述子放在不同的叶子节点中,此时检测的效率是可以接受的;但是当运动环境相似,例如长时间在树林中飞行时,相似的描述子会放入同一个叶子节点中,关键帧比较会更加费时。因此运动一段时间之后,词袋模型检测关键帧的效率会显著下降。针对这一问题,本文提出了在VINS-Fusion中融入卷积编码器这一算法。通过实验运行KITTI数据集证明,该算法不仅能够节省算力,而且能够提高整个回环检测的正确率。

1 VINS-Fusion

VINS-Fusion是由中国香港科技大学提出的视觉惯性SLAM算法[2]。VINS-Fusion在前端使用的是特征点法和光流法结合的方法来跟踪关键点的运动。先用前一帧的运动估计前一帧的特征点在当前帧的位置,用LK光流来跟踪特帧点,如果是双目相机,还需左右匹配关键点。当使用LK光流匹配特征点误差过大时,直接丢弃该点。所以会出现特征点数目减少的情况。当光流匹配的特征点数目不够时,通过FAST提取特征点加入匹配。然后在后端结合IMU的残差和图像特征残差来进行位姿优化。VINS- Fusion在现在的框架中,准确性和鲁棒性表现的都比较优秀。在前端利用光流来减少计算所消耗的资源,对于高速飞行的无人机等平台有很好的适用性。

2 卷积编码器

Nate Merrill团队因环境光照、动态物体、天气变化等对于词袋模型检测回环有极大的影响,提出了轻量级无监督学习回环检测,即回环检测卷积编码器。设计卷积编码器是为了得到与图像的方向梯度直方图描述子接近的数值序列来代表这幅图像。HOG描述子为用一组字符序列来代表一幅图像,常用于深度学习中的物体检测。HOG使表征图像的数据维度降低、数据量大量减少。最重要的是,HOG使用局部区域的归一化直方图,可以减小由局部光照变化带来的影响。但是由于图像的HOG描述子计算较为复杂,消耗大量的计算资源,实时性差,所以在回环检测中直接去计算图像的HOG描述子是一个不可取的方案。卷积编码器通过训练,图像通过该卷积编码器得到的序列是接近HOG描述子的。也就是说,图像通过卷积编码器得到的序列是可以在图像检测中使用。而图像只要通过3层的卷积神经网络就能得到图像的序列值,大大节省了计算资源,可以在回环检测中使用。

卷积编码器的网络框架如图1所示,首先原始图像都需要转换为灰度,同时对每一幅图像转换为120×160大小的图像块。然后把这些图像块送入到卷积编码器中,即一个3层的卷积神经网络。该神经网络包括两个卷积池化层以及一个纯卷积层。在这3层中,每一层之后都会有一个ReLU激活层,使整个网络引入非线性变化。一张图片经过这三层卷积之后,得到一个4×14×19的图像块。最后把这些数据进行重新排列,得到1064个数值,即一个大小为1064的序列块。此序列块为该图像HOG描述子的近似替代。

图1 卷积编码器的网络结构

由于整个卷积编码器得到的数值要尽量代表此图像HOG描述子,所以此网络模型使用图像的HOG描述子来进行训练。尺寸为120×160的图像经过opencv的HOG算法计算描述子,得到3648位的描述子。因此在训练时使用了三个全连接层,把通过卷积编码器得到的1064位扩充至3648位。在每个全连接层后都使用了sigmod激活层来更好地重建HOG描述子。计算HOG描述子和用卷积编码器恢复的描述子之间的欧几里得距离作为损失函数,从而进行神经网络的训练。图2即为卷积编码器的训练部分网络结构示意图。

图2 卷积编码器的训练部分网络结构示意图

3 VINS-Fusion结合卷积编码器的回环系统

在VINS-Fusion中结合卷积编码器的算法流程如图3所示。

图3 结合卷积编码器的回环检测算法流程图

本算法将卷积编码器融入到了VINS-Fusion回环检测之中。先将当前帧的图像送入卷积编码器中进行编码,把编码得到的编码值与数据库中当前帧20帧之前的关键帧的编码值矢量乘积得到两帧画面之间的匹配值。筛选出这些匹配值中最大的匹配值,若这个最大匹配值大于所设定的阈值,就认为检测到回环,返回该候选帧的序号。进入回环校验部分,将候选帧与当前帧进行关键点匹配,若匹配点数小于25个,则认为检测错误。如果匹配点大于25个则计算两帧之间的位姿,若位姿距离大于20m或位姿的偏航角大于30度,认为检测错误,反之,则认为检测到回环,将两帧的位姿匹配放入位姿图中进行优化。我们需要把检测失败或检测错误的关键帧的编码值记录在数据库中。虽然在与数据库匹配的过程中使用了暴力匹配的算法,但是1064位向量矢量乘积计算所消耗的资源较小,在数据库增长的过程中,所消耗的时间缓慢会上升,所以该算法在算力的消耗上是合理的。

4 实验环境

4.1 实验环境

本实验采用的硬件配置如下:电脑处理器为Intel core i7-9700KF @ 3.60GHz 8核;内存为32GB DDR4 3200MHz。

本实验采用的软件配置如下:操作系统为Ubuntu18.04;开发平台为机器人器人操作系统(Robot Operating System,ROS);深度学习的框架为Caffe。

4.2 KITTI数据集

KITTI数据集是由德国卡尔斯鲁厄理工学院和丰田美国技术研究院共同创立的数据集,主要应用在测评自动驾驶场景下关于计算机视觉的算法[3]。本次实验使用的是KITTI数据集中的2011_10_03_drive_0027_syncedraw数据,此数据集含有采集到的左右灰度图像、左右彩色图像、雷达点云数据、GPS、IMU、位姿等数据信息。在本次实验中需要把这些数据处理为rosbag再使用。

5 实验结果分析

5.1 匹配阈值选择

在上述算法中首先需要解决的问题是匹配阈值的设定。如果阈值设置的太高,实际匹配的图像对因为匹配值低于阈值而被认为是不匹配的,导致该算法的检出率降低。如果阈值设置的太低,实际不匹配的图像对因为匹配值达到了设定的阈值而被认为是匹配的,导致该算法的误检率大幅上升。因此,设定一个适当的阈值对于整个算法来说是比较重要的。本小节对不同阈值返回帧的正误情况在KITTI数据集上进行了实验。实验范围为0.920-0.970,以0.005为实验使用数据间隔,实验结果如图4所示。

图4 不同阈值下返回帧的正误情况图

可以由图4看出,在0.940与0.945的表现效果最佳。在0.945时,错误个数在之后减小的幅度较小,而在0.940时,正确的个数达到了较高值。因此,对0.940和0.945两个阈值,在KITTI数据集上分别进行了3次实验。实验结果记录在表1中。

表1 KITTI数据集下两个阈值设定所消耗的时间和返回帧正误情况

实验结果显示,阈值设定在0.940和0.945之间是相差不大的,也就是这些值都是可以使用的。但是,随着使用时间的增长,光影、动态物体等会发生改变,所以在实际长时间使用过程中,阈值需要缓慢降低来适应这些变化。

5.2 算法对比

针对在VINS-Fusion回环检测运行过程中消耗的时间问题和返回帧的正误情况进行实验分析。把基于词袋模型回环检测算法和本文提出的算法进行对比,将算法运行时间、算法返回帧的正误帧数进行记录,每一个算法的结果取三次实验的平均,记录在如图5中。由于阈值为0.945和0.940的差距并不是很大,下文中所有的数值都以阈值0.940为例。算法主要在回环检测关键帧时产生了差异。本章算法比原使用词袋模型进行关键帧匹配的算法在检测关键帧时所花费时间节省了58.5%。由算法返回帧数量对比图看,基于词袋模型的检测正确率为12.9%,本章算法检测正确率为70.1%,大大降低了回环校验在排除错误帧上所花费的时间。在回环检测总体时间上看,融合卷积编码器与VINS-Fusion回环检测时间比原算法减少了65.5%的时间。

图5 不同阈值下返回帧的正误情况图

6 结束语

本文将卷积编码器融入VINS-Fusion中,在一定程度上解决了基于词袋模型检测时间长而表现较差的问题。实验结果表明,该算法不仅在回环检测上节省算力,而且在回环检测返回帧的正确率上远高于基于词袋模型的VINS-Fusion算法。该算法相较于原始算法更适合用在中小型无人机长时间飞行定位上。

猜你喜欢
回环关键帧编码器
基于ResNet18特征编码器的水稻病虫害图像描述生成
WV3650M/WH3650M 绝对值旋转编码器
WDGP36J / WDGA36J编码器Wachendorff自动化有限公司
基于图像熵和局部帧差分的关键帧提取方法
基于Beaglebone Black 的绝对式编码器接口电路设计*
嘟嘟闯关记
基于误差预测模型的半自动2D转3D关键帧提取算法
《中国现代诗歌散文欣赏》之新诗教学多样性探索
基于计算机三维动画建模技术的中国皮影艺术新传承
运动图像关键帧快速跟踪系统的改进