每天一篇论文 365/365 Visual Odometry Revisited: What Should Be Learnt?
Memory-Efficient Implementation of DenseNets
Visual Odometry Revisited: What Should Be Learnt?
Code
摘要
在这项工作中,我们提出了一个单目视觉里程计(VO)算法,利用基于几何的方法和深入学习。大多数具有优异性能的现有VO/SLAM系统都基于几何学,必须针对不同的应用场景进行精心设计。此外,大多数单目系统都存在尺度漂移问题。最近的一些深度学习工作以端到端的方式学习VO,但是这些深度系统的性能仍然无法与基于几何的方法相比。在这项工作中,我们回顾了VO的基础知识,并探索了将深度学习与极线几何和透视n点(PnP)方法相结合的正确方法。具体地说,我们训练两个卷积神经网络(CNNs)来估计单视角深度和作为中间输出的双视角光流。在深度预测的基础上,我们设计了一种简单而稳健的帧到帧VO算法(DF-VO),其性能优于纯深度学习和基于几何的方法。更重要的是,我们的尺度一致的单视角深度CNN系统不受尺度漂移问题的影响。在KITTI数据集上的大量实验表明了系统的鲁棒性,详细的研究表明了系统中不同因素的影响。
贡献
在这项工作中,我们回顾了基于几何的VO的基础知识,并探索了将深度学习融入其中的正确方法。提出了一种简单、鲁棒的帧到帧VO算法,称为DF-VO,它结合了深度预测(图1)。我们的系统与深度学习方法和几何方法进行了广泛的比较。
方法
本文在深度估计和光流估计的基础上提出了将两者结合并进行几何的三角极线计算,最后得到[R,t]
**外极几何:**给定一个图像对(I1, I2),估计相机相对位姿的基本方法是求解基本或本质矩阵,E.当形成2D2D像素对之间的对应(p1,p2)时,采用外极约束求解本质矩阵。因此,可以恢复相对位姿[R,t]
其中K是摄像机的内参。通常,二维像素对应要么通过提取和匹配图像中的显著特征点,要么通过计算光流来形成。然而,求解相机姿态的基本矩阵存在一些众所周知的问题。•尺度模糊度:从本质矩阵中恢复的转移矩阵是符合尺度的。•纯旋转问题:如果相机的运动是纯旋转,恢复R将变得不可解决。•不稳定的解决方案:解决方案是不稳定的,如果摄像机平移量小。
透视n点法(PnP)是一种经典的基于3D-2D对应关系的相机姿态求解方法。假设已知观察到的三维视点1和观察到的投影2 (X1,p2),则可以使用PnP通过最小化重投影误差来求解摄像机姿态
深度预测
给定深度CNN预测(Di)和(Pi,Pi−1),可以建立2D2D和3D-2D对应。我们可以通过求解PnP (3D-2D)或基本矩阵(2D-2D)来求解相对相机位姿。遗憾的是,目前最先进的单视图深度估计方法仍然不足以恢复准确的三维结构,以进行准确的相机姿态估计
另一方面,光流估计是一项较为通用的任务,现有的SOTA深度学习方法精度高,泛化能力强。因此,我们可以使用2D-2D匹配来解决基本矩阵和恢复相机运动。然而,正如我们在第三- a节中所提到的,从两种观点求解本质矩阵会带来一些众所周知的问题。我们表明,我们可以通过利用深度预测来避免/解决这些问题。
结果
每天一篇论文 365/365 Visual Odometry Revisited: What Should Be Learnt?相关推荐
- Visual Odometry Revisited: What Should Be Learnt?(2020.2)
代码:https://github.com/Huangying-Zhan/DF-VO 文章:https://arxiv.org/abs/1909.09803 摘要 本文利用几何关系和深度学习提出单目视 ...
- 每天一篇论文 323/365 Designing Energy-Efficient Convolutional Neural Networks using Energy-Aware Pruning
每天一篇论文汇总list Designing Energy-Efficient Convolutional Neural Networks using Energy-Aware Pruning 摘要 ...
- #每天一篇论文 329/365 EyrISV2:一种用于移动设备上深度神经网络的柔性加速器(一)
Eyeriss v2: A Flexible Accelerator for Emerging Deep Neural Networks on Mobile Devices 每天一篇论文汇总list ...
- #每天一篇论文#(216/365)Adaptive Tracking Control of Nonholonomic Mobile Manipulators Using Recurrent Neura
A.摘要 研究了一类非完整移动机器人在存在不确定性和扰动的情况下的轨迹跟踪问题.首先,在假定移动机械手运动子系统能够转化为链形的前提下,在不考虑外界干扰的情况下,精确地了解移动机械手的运动子系统,设计 ...
- #每天一篇论文#238/365 基于注意力的上下文聚合网络用于单目视觉深度估计
Attention-based Context Aggregation Network forMonocular Depth Estimation 本文提出了一种在enconde阶段加入注意力网络结构 ...
- #每天一篇论文#229/365 基于卷积神经网络航空影像的电力线绝缘子缺陷检测
Detection of Power Line Insulator DefectsUsing Aerial Images Analyzed WithConvolutional Neural Netwo ...
- #每天一篇论文264/365 Enforcing geometric constraints of virtual normal for depth prediction
Enforcing geometric constraints of virtual normal for depth prediction 原文 代码 摘要 单目深度预测在理解三维场景几何中起着至关 ...
- 论文阅读——《Online Photometric Calibration of Auto Exposure Video for Realtime Visual Odometry and SLAM》
论文阅读--<Online Photometric Calibration of Auto Exposure Video for Realtime Visual Odometry and SLA ...
- 【论文阅读】DPLVO: Direct Point-Line Monocular Visual Odometry
一.公式及符号约定 这篇文章与之前看的EDPLVO是同一个作者,EDPLVO是在这篇文章的基础上改进的,符号约定方面,DPLVO同样采用R和t表示旋转矩阵和平移向量,使用Π表示投影函数,利用R和t以及 ...
最新文章
- python输入正整数n、求n以内能被17整除的最大正整数_求100之内自然数中最大的能被17整除的数...
- Linux中常见shell命令总结
- Redis 数据结构的底层实现 (二) dict skiplist intset
- php 添加工信部链接,常见程序(wordpress,dede,discuz)网页下方添加备案号,添加链接跳转到工信部...
- 环京机柜数量惊人 数据中心建设应避免一哄而上
- python bool 转vc int_史上最全的 Python 3 类型转换指南
- LeetCode 其他部分 简单 Python实现
- Bug提交规范及注意事项
- 从零实现深度学习框架——Softmax回归简介
- android移动应用技术,Android移动开发技术与应用.pdf
- imresize函数进行图像缩放及利用imrotate进行图像旋转
- STM32读取HMC5883L的偏航角数据
- mybatis PageHelper.startPage出现limit错误
- Word 2016 大括号多行公式左对齐详解(转载)
- 【ReView】 学习日志 from18/11/24 to 19/7/10
- InputStream读取数据
- mac上启动nginx遇到80端口被占用的解决方法(猜了好久的坑我擦)
- 开源飞控初探(二):无人机技术栈
- 9.1 什么是包图?
- 高版本STM32CubeIDE下载/调试指南
热门文章
- 跳动的心 - HTML 代码
- 19.分布式事务编程
- VS+Opencv出现:xxx处有未经处理的异常: Microsoft C++ 异常: cv::Exception,位于内存位置xxx处。
- ue4显示变量_【程序猿】虚幻引擎4: 将C++变量暴露给蓝图
- 软件设计的概念与原则
- 修改自己电脑连接的路由器的配置网址192.168.1.1
- RStudio用不了怎么办?
- 【Unity天空盒】卡通渲染中如何实现云的消散效果
- 十一、SpringCloud实用篇_Gateway服务网关
- python代码 学生上课签到表_一种上课签到系统的制作方法