一种改进GCN深度学习算法AGV视觉SALM的研究

2021-02-28 06:20王启来董朝轶刘晓阳陈晓艳肖志云齐咏生张丽杰
小型微型计算机系统 2021年10期
关键词:关键点深度图像

王启来,董朝轶,刘晓阳 ,陈晓艳,肖志云,齐咏生,张丽杰

1(内蒙古工业大学 电力学院,呼和浩特 010080) 2(内蒙古机电控制重点实验室,呼和浩特 010051)

1 引 言

近十几年来,随着现代物流生产的发展和自动化程度的不断提高,自动导引车(AGV)广泛应用于服务、医疗、农业、制造等各个行业领域[1].自动导引车具有自动化集成度高、工作效率高、灵活度高、成本低、安全性高等提点.自动导引车的大范围使用,解决了生产效率低、生产成本高等问题,大大的减少了企业的劳动成本,提高了生产效率.目前,自动导引车(AGV)按导航方式主要分为磁导航AGV、惯性导航AGV、激光雷达导航AGV、视觉导航AGV[2].近年来,随着科学的不断发展,机器计算能力的逐渐增强.视觉导航成为当今研究热点.主要在视觉导航的自主定位与建图、目标识别、导航与制导等研究领域[3].

位置估计是移动机器人自主定位的关键技术,本文主要研究深度相机在视觉SLAM导航中视觉里程计(VO)的问题.VO在视觉SLAM中主要分为直接法、间接法、半直接法,其中直接法主要是根据图像的像素灰度信息同时估计相机运动和点的投影,文献[4]中介绍了DVO(直接视觉里程计)增加了一个姿势图以减少误差.间接法是一种经典流水线,提取关键点以及描述子,然后根据图像帧之间的匹配来估计运动,本文使用RGB-D深度相机基于深度学习的特征提取方法进行运动估计,主要实现对视觉导航AGV在室内环境下的控制操作.目前基于深度学习的特征点检测方法正在不断涌现[5],主要有SuperPoint、GCN等,在文献[6]中,提出了一种基于CNN的关键点检测器和称为SuperPoint的描述子.前期的研究结果表明,SuperPoint的描述子比SIFT等经典方法具有更好的效果.本文参考文献[7]几何对应网络GCN,该网络专门用于产生相机运动估计的关键点.相比传统方法,该方法具有更高的准确性.但是,由于GCN及多帧匹配设置,很难在全面的SLAM系统中运行.关键点提取和匹配在耗费很大的计算.实际上,在性能受限的环境中将深度学习集成到SLAM系统内运行是一直未解决的问题[8].本文提出一种基于GCN深度学习算法改进的轻量级深度学习网络GCN-L用于生成与ORB特征相同格式的关键点和描述子,完全可替代ORB特征在ORB-SLAM2[9]中的功能,通过在视觉导航AGV的嵌入式低功耗硬件平台(Jetson TX2)上实时运行GCN-SLAM进行建图实验.表明了GCN-L的有效性和可靠性、较强的鲁棒性.

2 GCN-L网络

2.1 GCN-L网络结构

在文献[7]中提出的原始GCN网络是由ResNet-50[10]和RCNN双向循环网络组成.ResNet-50用于稠密特征点提取,而RCNN双向递归网络用于查找关键点位置.与现有方法相比,GCN具有较好的精度和特征跟踪性能,但是同时也指出,该网络结构本身需要计算能力强的平台支持,使其无法在视觉导航AGV实验的嵌入式低功耗硬件平台(Jetson TX2)实时运行.

为了使其能够在嵌入式低功耗硬件平台(Jetson TX2)实时运行,受文献[6]SuperPoint的启发,本文对GCN网络进行了改进,改进后的网络结构GCN-L如图1所示.该网络共6层,其中,第1层该使用4×4的内核进行卷积,提取32维的特征点,第2层该使用4×4的内核进行卷积,提取64维特的征点,第3层分别使用3×3、4×4内核进行双重卷积,提取128维的特征点,第4层分别使用3×3、4×4内核进行双重卷积,提取256维的特征点.F层和D层同时以3×3、4×4的内核进行双重卷积,分别用于提取256维的特征点和描述子.相比于GCN网络,改进后的GCN-L网络结构更加轻量化.将一张原始图像中分成大小为16×16像素的低分辨率图像,然后对每个低分辨率图像进行独立的预测.在低分辨率图像下预测概率图和稠密特征图,然后将256通道概率图改组为原始的分辨率.最后对原始辨率的概率图进行非极大值抑制,利用这些位置对低分辨率稠密特征图中对应的特征向量进行双线性采样.

图1 GCN-L网络结构图

2.2 特征提取器

在本文中将GCN-L训练为输出二进制描述子,以加快描述子匹配过程并与ORB-SLAM结合.为了对特征进行二值化处理,本文在网络输出特征向量之后再添加一个二进制激活层.其本质上是一个hard sign非线性函数[10].该二进制激活层函数如式(1)所示:

(1)

其中f表示为低分辨率下的稠密特征图,b是特征图f的二值化图,x给出图像平面中的2D坐标(u,v).1|f|≤1代表取消f的绝对值大于1的单个特征响应的梯度.它是hard sign函数的直通式估计器,用于反向传播梯度.该指标函数在反向传播过程中近似二值化,并通过决策边界的次数增加1,避免过度惩罚以使特征响应.这种方法比让网络直接输出二进制的描述子训练起来更加高效.如果直接输出二进制的值,使得输出在{+1,-1}两个值周围聚类,会与之后的基于损失函数的优化发生冲突.因为损失函数优化需要用到距离信息来划分是否相似,这样导致整个网络的训练会不稳定.在该网络中设计的二进制特征向量b的大小设置为256,与ORB特征完全相同,可将GCN-L直接合并到现有的基于ORB的视觉跟踪系统(例如ORB-SLAM2)中[9].对于相同的特征向量大小和具有64个特征向量大小的GCN,具有二值化特征的匹配速度远远优于SuperPoint.

逐像素度量学习用于以最近相邻的方式训练描述子.二值化特征的triplet loss[11]损失函数如下:

(2)

(3)

其中Rgt∈3×3是真实旋转矩阵,tgt∈3×3是真实平移矢量.Π为给定的2D坐标和深度zi将像素从图像平面投影到3D空间.通过算法1(Mining算法)中所述的穷举负样本挖掘法来检索不匹配对.具体搜索过程采用文献[7]中所描述的宽松标准进一步惩罚已经匹配的特征.放宽标准用于增加对潜在噪声数据的容忍度.算法1流程下所示:

2)设置n=1,进行循环:

forn=1;n

end

returnNone;

2.3 分布式关键点检测器

本文把关键点检测问题看作是一个二分类问题.o为像素变换后的关键点概率图是由0和1掩码组成的.这些值指示像素是否为关键点.然后将加权交叉熵用作训练的目标函数.在两个连续的帧上评估损失,以增强提取的关键点的一致性.检测的损失为:

(4)

其中α1和α2用于处理不平衡类,以防止不是关键点的像素主导损失.本文通过检测16×16网格中的Shi-Tomasi角来生成实况,并使用公式(3)将它们warp到下一帧.这将导致更好地均匀分布关键点,并且目标函数直接反映了基于纹理跟踪关键点的能力.

3 GCN-SLAM

基于关键点方法的视觉SLAM系统最重要的是关键点检测器的选择.文献[12]中基于ORB特征的ORB-SLAM是一种广泛应用的方法,与其他具有同等属性的关键点检测器相比,具有计算成本很低,并且具有用于快速匹配的紧凑描述子.在文献[7]中所示,在真实的运动估计中GCN的性能优于或与ORB-SLAM2 相当.因为GCN只有前端视觉里程计的特征及关键点检测功能没有SLAM的位姿图优化、回环检测等后端优化功能,如果将GCN合并到具有后端优化的功能的SLAM系统中可能会产生更好的结果.但是如上述所说,本文想在嵌入式低功耗硬件平台实时运行视觉导航SLAM系统,而GCN的使用的硬件成本过高,本文将GCN-L合并修改到ORB-SLAM2系统中.

ORB-SLAM2的运动估计是基于图像帧之间的关键点跟踪和基于特征的g2o[13]位姿优化求解.本文将简单的进行描述特征点以及描述子的检测.ORB-SLAM2使用了一个比例金字塔[14],其中输入图像被迭代地缩小,从而通过对多个重缩放图像运行单比例算法来支持多尺度特征检测.对于每个尺度级别,FAST角点检测器应用于30×30网格.如果在单元格中未检测到特征点,FAST[15]降低阈值,将再次运行.对尺度金字塔中给定水平上的所有单元采集到所有检测数据后,采用空间分割算法,先根据关键点的图像坐标,再根据检测分数剔除关键点.最后,一般情况下总共选择1000个关键点,计算每个关键点的视角,然后使用高斯模糊对每个金字塔尺度层进行过滤,并从模糊图像中计算每层每个关键点的256位ORB描述子[16].

本文中使用的方法是在网络的单个前向通道中同时计算关键点位置和描述子,并且设计关键点和描述子与ORB特征格式相同,可以完全代替ORB特征检测器.找到关键点及其各自的描述子后,ORB-SLAM2主要依靠两种方法来进行帧间跟踪:首先,假设速度恒定并将前一帧的关键点投影到当前帧中,如果失败,则通过匹配以下关键点使用词袋相似度将当前帧与最后创建的关键帧进行比较.本文仅使用了后者基于关键点的参考帧跟踪.在实验中,用标准的最近邻搜索替换了匹配算法.进行这些修改来提高的关键点提取的性能.最后,本文通过训练数据集实验计算重新生成单词袋词汇表以适应GCN-L特性的描述符子,并且我们保留了ORB-SLAM2的姿态图优化和回环检测的功能.GCN-L与ORB特征提取算法流程对比图如图2所示.

图2 算法流程对比图

4 实 验

4.1 训练实验

Computer Vision Group TUM Department of Informatics Technical University of Munich公布的RGB-D深度相机TUM数据集提供了室内环境中数百万个现实世界图像,尺寸均为640×480.本文中使用某一室内场景下的2/3数据对GCN-L网络进行训练,另外,采用剩余的1/3数据进行测试.数据的其多样性可能会产生更广泛的网络,提供的地面真实姿态通过闭环视觉跟踪进行估计,在全局意义上保证了相对准确性.训练的最终损失L是由Lf和Ld加权组合而成的,其中权重比为120∶1.m是triplet loss 损失函数截止的距离边界设置为1.算法1中是的放宽标准c设置为7.[α1,α2]交叉熵权设置为[0.1,1.0].自适应梯度下降法ADAM[17]的学习率设置为从10-4开始,每40个周期减半,总共200个训练周期.GCN-L的权重在均匀分布下随机初始化.为了ORB-SLAM进行比较,选择ORB-SLAM相同的TUM数据集进行训练,并使用开环和闭环系统评估跟踪性能.使用绝对轨迹误差(ATE)[18]作为度量.

4.2 测试实验

本文将上述训练好的GCN-L网络同修改的ORB-SLAM2系统(GCN-SLAM系统)相融合.对图像尺寸为640×480的RGB-D深度相机所采集的TUM数据集中剩余1/3数据,分别使用ORB-SLAM、GCN-SALM进行了特征关键点提取和地图构建实验,并对ORB-SLAM、GCN-SALM的测试结果进行了比较.在实验中表明相比于ORB人工特征提取,基于深度学习的GCN-L的特征点提取空间分布更均匀,而且可以处理ORB特征提取失败的情况.本文使用ATE开环图像帧跟踪结果如表1所示.

表1 使用ATE开环图像帧追踪结果

使用闭环系统对ORB-SLAM、GCN-SLAM、RGBD-TAM进行了对比试验,试验结果如表2所示.

表2 使用ATE闭环图像帧追踪结果

从表中可以看出ORB-SLAM,GCN-SLAM具有相当的控制效果,但GCN-SALM可以处理ORB-SLAM快速旋转跟踪丢失的情况.本文分别使用GCN-L和ORB对RGB-D深度相机所采集的TUM 数据集中的fr2场景进行特征关键点提取,其实验结果如图3、图4所示.

图3 GCN-L关键点分布图Fig.3 GCN-L key pointdistribution map图4 ORB关键点分布图Fig.4 ORB key pointdistribution map

使用GCN-SLAM、ORB-SLAM对TUM 数据集中的fr2进行地图构建,实验结果如图5、图6所示.

图5 GCN-SLAM稠密点云地图Fig.5 GCN-SLAM dense point cloud map图6 ORB-SLAM稠密点云地图Fig.6 ORB-SLAM dense point cloud map

对比实验图3、图4中的结果,可以看出:相比ORB特征关键点提取,GCN-L提取的特征关键点空间分布更均匀.对比实验结果图5、图6,可以看出:GCN-SLAM建立的稠密点云地图效果更加理想.

4.3 AGV实验

本文中以某重点实验室视觉导航AGV为主要研究对象,AGV搭载RGB-D深度相机和嵌入式低功耗硬件平台(Jetson TX2)完成视觉导航任务.该视觉导航AGV外观如图7所示.

图7 视觉导航AGV

将上述训练好的网络移植到嵌入式低功耗硬件平台(Jetson TX2)的GCN-SLAM中,启动RGB-D深度相机将相机输出的640×480图像输入到GCN-SLAM中.通过上位机控制视觉导航AGV在实验室环境内运动,进行ORB-SLAM、GCN-SLAM特征点提取和地图构建实验.其中GCN-SLAM、ORB-SLAM进行特征关键点提取实验结果如图8、图9所示.

图8 GCN-L实验室场景关键点分布图Fig.8 Key point distribution map of GCN-L laboratory scene图9 ORB实验室场景关键点分布图Fig.9 Key point distribution map of ORB laboratory scenario

GCN-SLAM、ORB-SLAM进行实验室地图构建,实验结果如图10、图11所示.

图10GCN-SLAM实验室场景稠密点云地图Fig.10GCN-SLAM laboratory scene dense point cloud map图11ORB-SLAM实验室场景稠密点云地图Fig.11ORB-SLAM laboratory scene dense point cloud map

通过数据集仿真地图构建和实验室真实场景地图构建,实验结果表明:同ORB-SLAM相比,GCN-SLAM所提取的特征关键点在图像中分布较均匀,且GCN-SLAM可有效地避免ORB-SLAM快速旋转图像丢失的情况.

5 结 论

本文提出了一种基于GCN深度学习算法改进的轻量级网络GCN-L,将该改进算法应用于生成与ORB特征相同格式的关键点和描述子,可替代ORB特征在ORB-SLAM2中的功能,解决了关键点重叠,快速旋转图像跟踪丢失的问题,并将GCN-L融合于ORB-SLAM中,将其应用在某重点实验室的视觉导航AGV上,通过实验与其他深度学习算法和人工特征提取算法对比,验证了该方法的关键点空间分布均匀和较强的鲁棒性.

猜你喜欢
关键点深度图像
四增四减 深度推进
深度思考之不等式
论建筑工程管理关键点
水利水电工程施工质量控制的关键点
摄像头连接器可提供360°视角图像
浅析p-V图像中的两个疑难问题
简约教学 深度学习
利用定义法破解关键点
机械能守恒定律应用的关键点
名人语录的极简图像表达