社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

【泡泡一分钟】DeepVIO:基于3D几何约束的自监督深度学习单目视觉惯性里程计

泡泡机器人SLAM • 4 年前 • 761 次点击  

每天一分钟,带你读遍机器人顶级会议文章

标题:DeepVIO: Self-supervised Deep Learning of Monocular Visual Inertial Odometry using 3D Geometric Constraints

作者:Liming Han, Yimin Lin, Guoguang Du, Shiguo Lian

来源:2019 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)

编译:林只只

审核:黄思宇,孙钦

欢迎个人转发朋友圈;其他机构或自媒体如需转载,后台留言申请授权

摘要

_

本文提出了一种用于单目视觉惯性里程计的自监督式深度学习网络(DeepVIO)。DeepVIO通过直接结合2D光流特征(OFF)和惯性测量单元(IMU)数据来提供绝对轨迹估计。具体来说,首先通过使用双目序列来估计每个场景的深度和密集的3D点云,然后获得包括3D光流和6-DoF位姿的3D几何约束作为监督信号。需要注意的是此类3D光流显示了对动态对象和无纹理环境的鲁棒性和准确性。在DeepVIO训练中,二维光流网络受到其相应3D光流的投影的约束,并且通过最小化帧间运动约束的损失函数来学习LSTM style IMU预集成网络和融合网络。此外,我们采用IMU状态更新方案,通过更新附加陀螺仪和加速度计偏置来改善IMU姿态估计。在KITTI和EuRoC数据集上的实验结果表明,在准确性和数据适应性方面,DeepVIO优于基于最新学习的方法。与传统方法相比,DeepVIO减少了CameraIMU校准不正确,数据不同步和丢失的影响。

图1:DeepVIO的管道。新方法利用3D光流和双目帧间运动作为3D几何约束来监督从2D流网络学习的2D光流,从IMU预集成网络和VI融合网络估计的帧间运动,IMU的状态会在收到VI融合网络的反馈时更新。


图2:我们的方法在训练和推理阶段的示意图。DeepVIO由CNN-Flow, LSTM-IMU 和FC-Fusion组成,是由双目序列得到的3D几何约束(如CNN-Flow损失, IMU损失和融合损失)作为监督信号训练出来的,它利用FC-fusion网络传回的位姿反馈更新了IMU状态。

图3:由双目图像获取的视差图和点云。(a)是左图,(b)是右图,(c)是视差图,(d)是3D点云。


图4:分别从(a)左视图和(b)右视图(显示为黄色箭头)表示的3D光流,(c):从我们的3D光流计算出的合成2D光流,(d):从FlownetC获得的2D光流。从(c)和(d)可以看出,我们的3D光流更准确地表示了实际世界。


图5:用我们的模型在KITTI上训练误差的比较

图6:我们的方法与现有方法的轨迹测试结果


图7:合成2D光流和普通2D光流的比较。(a)是左图,(b)是来自KITTI的2D光流地面真值,(c)是合成2D光流,(d)是从Flownet2获得的2D光流及其光流误差,例如(e)和(f)。红色矩形是动态对象,黑色矩形是纹理稀疏的道路。


图8 :在KITTI10数据集上的平移和方向误差


表1:与现有方法在KITTI数据集上轨迹估计的结果比较。


表2:与现有方法在EUROC数据集上轨迹估计的结果比较

表3:2D光流在KITTI数据集上的误差(像素级)

表4:DeepVIO在具有挑战性的测试中的鲁棒性结果


Abstract

This paper presents an self-supervised deep learning network for monocular visual inertial odometry (named DeepVIO). DeepVIO provides absolute trajectory estimation by directly merging 2D optical flow feature (OFF) and Inertial Measurement Unit (IMU) data. Specifically, it firstly estimates the depth and dense 3D point cloud of each scene by using stereo sequences, and then obtains 3D geometric constraints including 3D optical flow and 6-DoF pose as supervisory signals. Note that such 3D optical flow shows robustness and accuracy to dynamic objects and textureless environments. In DeepVIO training, 2D optical flow network is constrained by the projection of its corresponding 3D optical flow, and LSTMstyle IMU preintegration network and the fusion network are learned by minimizing the loss functions from ego-motion constraints. Furthermore, we employ an IMU status update scheme to improve IMU pose estimation through updating the additional gyroscope and accelerometer bias. The experimental results on KITTI and EuRoC datasets show that DeepVIO outperforms state-of-the-art learning based methods in terms of accuracy and data adaptability. Compared to the traditional methods, DeepVIO reduces the impacts of inaccurate CameraIMU calibrations, unsynchronized and missing data.


如果你对本文感兴趣,请点击点击阅读原文下载完整文章,如想查看更多文章请关注【泡泡机器人SLAM】公众号(paopaorobot_slam)

_
_
_

欢迎来到泡泡论坛,这里有大牛为你解答关于SLAM的任何疑惑。

有想问的问题,或者想刷帖回答问题,泡泡论坛欢迎你!

泡泡网站:www.paopaorobot.org

泡泡论坛:http://paopaorobot.org/bbs/


_
_

泡泡机器人SLAM的原创内容均由泡泡机器人的成员花费大量心血制作而成,希望大家珍惜我们的劳动成果,转载请务必注明出自【泡泡机器人SLAM】微信公众号,否则侵权必究!同时,我们也欢迎各位转载到自己的朋友圈,让更多的人能进入到SLAM这个领域中,让我们共同为推进中国的SLAM事业而努力!

商业合作及转载请联系liufuqiang_robot@hotmail.com

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/54456
 
761 次点击