深度学习定位系列1_PoseNet
论文:PoseNet: A Convolutional Network for Real-Time 6-DOF Camera Relocalization
项目地址:http://mi.eng.cam.ac.uk/projects/relocalisation/
代码与数据集:http://mi.eng.cam.ac.uk/projects/relocalisation/#dataset
1 项目结果展示
图1 项目展示图2 项目展示
2 论文分析
2.1 摘要
本文提出了一种鲁棒、实时的6DOF(单目六自由度)重定位系统。该系统训练一个卷积神经网络,可以端到端的从RGB图像中回归出6DOF姿态,而不需要其它额外的处理。该算法以每帧5ms的处理速度实时进行室内外场景的位姿估计。位置和姿态精度,在大型户外场景可达2m和3度左右,在室内场景可达0.5m和5度左右。该网络模型包含23个卷积层,可以用来解决复杂的图像平面回归问题。这可以通过利用从大规模分类数据中进行的迁移学习来实现。PoseNet利用高层特征进行图像定位,作者证明对于光照变化、运动模糊以及传统SIFT注册失败的案例具有较好的鲁棒性。此外,作者展示了模型推广到其他场景的扩展性以及小样本上进行姿态回归的能力。
2.2 实验结果
2.2.1 数据集简介
实验用数据分为两类:室内数据和室外数据。其中,室内数据为Cambridge Landmarks;室外数据为7scenes。如下是Cambridge Landmarks数据集的鸟瞰地图:
2.2.2 实验结果与讨论
将Cambridge Landmarks和7scenes数据集分为训练集和测试集,评价时使用平均误差指标分别计算位置误差和姿态误差。主要实验结果如下:
图4 实验结果
图5 实验结果
2.3 问题定义
给定图像,存在函数,其中位姿, 位置,姿态四元数。本文所做工作是利用深度学习模型近似函数。
2.4 模型设计
基本骨架模型采用GoogleLeNet,该模型包括22个卷积层和3个分类分支(其中2个分类分支在测试时将进行丢弃)。改进包括3个小点:移除softmax层并新增具有7个神经元的全连接回归层(用于回归位姿);在全连接回归层前插入神经元数为2048的特征向量层;测试时,回归出的四元数需进行单位化。输入数据均resize到224x224。
2.5 损失函数设计
采用欧式距离L2计算回归损失,损失函数(优化目标方程)如下:
2.6 训练
采用SGD优化方法进行训练;采用学习率衰减策略,初始学习率设为10-5,然后每迭代80轮(epochs)衰减90%,动量因子设为0.9;batch_size设为75;利用NVidia Titan显卡进行训练。
3 评价
作为开篇之作,本论文首次提出了端到端的相机6DOF位姿定位估计模型PoseNet,实验证明利用深度学习在室内外场景进行端到端的定位具有可行性。截止2018年11月底,基于深度学习的视觉定位研究不断增多,但依然存在定位精度较差、泛化性不足、难以实现产品落地等问题。目前取得较好结果的深度学习视觉定位方法,从模型设计以及损失函数设计方面引入视觉几何相关的信息,但依然没有形成一个较为完善的模型体系。个人认为,在进行模型设计以及损失函数设计时,应充分借鉴传统基于特征的定位方法的思想,引入关键像素(特征点)、滑动窗口等额外约束,促使模型关注纹理丰富图像区域以及图像帧之间关系;除此以外,为了获取绝对尺度,可以增加IMU 或 双目相机 或 RGBD相机数据作为模型的学习数据源,实现传感器数据的模型化融合。
网友评论