潘志豪 李靖华 李晚秋 卢楚文
北京理工大学珠海学院 广东 珠海 519000
在视觉里程计设计中应用CNN,可通过创建具有仿生效果的视知觉机制,进行学习,在CNN层内,可共享卷积核参数,层间稀疏连接,基于此特点,可以少量计算学习音频或像素,效果稳定,数据要求有限,无须另行特征工程支持,常被应用于计算机视觉(如识图或识物等)和自然语言处理。
以CNN构建视觉里程计,预处理目标数据集,串联图片序列内的相邻RGB图片,单图设置3个通道,获取6通道张量,将其输入到神经网络,提取特征,并在全连接层输入特征,压缩张量,使用KITTI数据集实验比较。
(1)经典几何算法。经典几何算法应用时间较久,计算方式为帧间估算,可应用于方案设计。在应用之初,该算法是以系数特征跟踪为计算基础,相关研究者针对点特征提取方案,并设计与之相适应的算法,可进行角点处理、边缘点处理以及区块处理,提取相应特征。基于相关特征,预测相机运动,了解ORB、SIFT以及SURF的状态。在众多方法中,较为经典且可直接应用的即为LSD-SLAM。该方法得到诸多关注。ORB-SLAM为稀疏特征跟踪式算法,鲁棒性良好,精度较高[1]。
(2)深度学习。在该部分中,执行“端-端”模式,开展大数量自动学习,进行数据推断。采取监督和无监督两种学习模式,前者有明确标签,后者无明确标签,使用聚类思想。有研究者基于CNN进行相机姿态估计,对CNN进行训练,使其由RGB图像转化回归,呈现相机姿态,同时进行场景实验,包括室内外两种场景环境实验。
(1)特征提取。在以CNN为基础进行特征提取时,需要6个通道支持,且这些通道是以2个连续图片进行串联而成,然后实施特征提取。在卷积层,卷积核为3×3,池化核为2×2,串联3×3卷积层2个,约等于5×5卷积层,3个3×3卷积层串联后约等于7×7卷积层,但前者参数量仅为1/2后者参数量,可实现参数量降低,从大特征捕捉过渡至小特征捕捉。堆叠多个小规格卷积核,以其取代大卷积核,促进非线性激活函数增量,使特征学习能力提升。
(2)降维处理。将全连接层设置于卷积层后,可实现特征张量降维,进而实现6维度相机位姿的有效输出。隐藏部分单元,进行图片压缩,进行6维表示,分析图片相对位姿,获取特征向量。在全连接层后,有非线性激活函数与之连接,形成整体网络结构。
(3)损失函数处理。位移损失和旋转损失以加权耦合作为结合方式,将临近RGB图片输入,该图片在公式中显示为,根据相邻图片的相对位置,分析图片姿态,以其为标签。其中姿态公式表示为。通过前向网络传输,获取预测姿态,表示为。从而可知第i组样本损失函数如下(公式1)。在该公式中,损失函数内,旋转权重占比和函数位置占比因子表示为β。训练M对样本,获取最优参数(公式2)。
(1)特征提取处理。以ubuntu16.04系统作为操作系统,显卡型号为RTX2080ti,构建实验平台。使用pytorch开源框架。使用KITTI数据集,进行监督学习。在数据集内获取变换矩阵,转化位姿,使其进行三维平移,表示为三维欧拉角,提升传输反向梯度的效率。利用数据集进行图片均值计算,确定标准差,并实施归一化处理,提取特征。
(2)训练。训练网络,将训练集中的数据进行0.2比例分割,验证数据集。执行Adam优化算法,初始学习率参数设置为0.0005。降低batch梯度,Batchsize参数设置为16。网络训练的时间为epoch训练5min/个,整体收敛网络训练误差,验证模型误差,总计约130 epoch,共计26h左右。获取训练损失曲线并进行验证。迭代次数递进,损失随之增加。分析函数曲线,可知训练损失和验证损失收敛良好,两项收敛效果相近。
结合本次实验分析视觉里程计设计中的卷积神经网络应用,可知在设计应用时,应优化参数,对经典几何算法进行性能补充,促进性能提升。利用试验扩充原有数据集,确保相机可提升运动图像的捕捉效果。在未来,可应用性能更优越的视觉传感器,提升天气变化敏感度和光线敏感度,还应加强传感器融合研究。在该领域,后端优化研究有限,也应拓展以深度学习为基础的整体过程研究,加强闭环检测,在深度学习基础上进行相机位姿性能增强研究,创造更多可能[2]。
如果一个设备想要提供3D效果的AR,显然运动追踪模块是必备的。如果想让虚拟物体和场景交互,或是想要扫描一个真实物体,那么(稠密)三维地图可以提供场景的三维几何信息。而定位(运动追踪)和建图(稀疏或者稠密地图)构成了SLAM的核心功能。因此,SLAM可以说是AR中最基础的模块,属于设备感知周边环境的范畴。
综上所述,本文分析了SLAM视觉里程计设计应用中卷积神经网络的应用原理与具体应用方式,通过串联,将原始RGM图片传输至神经网络。通过实验可知,训练过程要点为设置科学参数,进行参数调整,优质收敛网络,完善结果测试。利用优质模型,使用优化器,可提升训练效果,精准估计位姿,为AR开发提供便利。