DSO论文解读
dso
1.1. Motivation
本文提出的单目视觉测距法的直接和稀疏公式是出于以下考虑因素;
(1)直接:
关键点的主要优点之一是它们能够为使用现成的商品相机拍摄的图像中存在的光度和几何失真提供稳健性。例如自动曝光变化,非线性响应功能(伽马校正/白平衡),镜头衰减(渐晕),去连接伪像,或甚至由滚动快门引起的强烈几何失真。
同时,对于介绍中提到的所有用例,数百万台设备(并且已经)配备了专门用于为计算机视觉算法提供数据的摄像机,而不是为人类消费捕获图像。这些摄像机应该并且将被设计为提供完整的传感器模型,并以最能为处理算法提供服务的方式捕获数据:例如,自动曝光和伽马校正不是未知的噪声源,而是提供更好图像数据的功能 - 可以合并到模型中,使获得的数据更具信息性。由于直接方法将完整的图像形成过程建模为像素强度,因此它可以从更精确的传感器模型中获益。直接公式的主要好处之一是它不需要一个点本身可以识别,从而允许更精细的几何表示(像素反向深度)。此外,我们可以从所有可用数据中进行采样 - 包括边缘和弱强度变化 - 生成更完整的模型,并在稀疏纹理环境中提供更强大的稳健性。
(2)稀疏:
添加几何体之前的主要缺点是引入几何参数之间的相关性,这使得实时统计上一致的联合优化不可行(参见图2)。
2.2模型公式
我们将在目标帧I j中观察到的参考帧I i中的点p∈Ωi的光度误差定义为在小的像素邻域上的加权SSD。我们的实验表明,以略微扩展的模式排列的8个像素(见图4)在评估所需的计算,运动模糊的稳健性和提供足够的信息之间进行了良好的权衡。请注意,就所包含的信息而言,在如此小的像素邻域上评估SSD类似于为中心像素添加一级和二级辐照度导数条件(除了辐照度恒定性)。 让



为了使我们的方法能够在没有已知曝光时间的情况下操作序列,我们包括由e -a i(I i -b i)给出的附加仿射亮度传递函数。注意,与大多数先前的配方[13,6]相反,标量因子e -a i是对数参数化的。这既防止了它变为负面,又避免了由乘法(即指数增加)漂移引起的数值问题。除了使用强大的Huber惩罚之外,我们还应用了渐变相关的加权w p

对具有高梯度的像素进行缩减。 该加权函数可以概率地解释为在投影点位置p 0上添加小的,独立的几何噪声,并且立即使其边缘化 - 近似小的几何误差。总而言之,误差E pj取决于以下变量:(1)点的逆深度dp,(2)相机本征c,(3)所涉及的帧的姿势T i,T j和(4)它们的 亮度传递函数参数ai,bi,aj,bj。
所有帧和点的全光度误差由下式给出

其中i遍历所有帧F,p遍在帧i中的所有点P i,并且j遍及所有帧obs(p),其中点p是可见的。图5显示了结果因子图:与经典重投影误差的唯一区别是每个残差对主机帧姿态的附加依赖性,即每个项依赖于两个帧而不是一个帧。虽然这会将非对角线条目添加到Hessian的姿势 - 姿势块中,但是在应用Schur补码来边缘化点参数后,它不会影响稀疏模式。因此,可以将所得系统解析为间接配方。 注意,关于两个帧的姿势的雅可比行列式通过它们的相对姿势的伴随线性相关。实际上,在计算Hessian或其Schur补码时,可以从总和中拉出该因子,从而大大减少由更多变量依赖性引起的附加计算。
如果曝光时间已知,我们进一步添加先前将仿射亮度传递函数拉到零:

如果没有可用的光度校准,我们设置t i = 1并且λa=λb= 0,因为在这种情况下,他们需要对相机的(未知的)改变曝光时间进行建模。作为旁注,应该提到的是,如果x i和y i都包含噪声测量,则多个因子a * = argmax a i(ax i-y i)2的ML估计量是有偏差的(参见[7]); 导致a在无约束情况下漂移λa= 0。
DSO论文解读的更多相关文章
- itemKNN发展史----推荐系统的三篇重要的论文解读
itemKNN发展史----推荐系统的三篇重要的论文解读 本文用到的符号标识 1.Item-based CF 基本过程: 计算相似度矩阵 Cosine相似度 皮尔逊相似系数 参数聚合进行推荐 根据用户 ...
- CVPR2019 | Mask Scoring R-CNN 论文解读
Mask Scoring R-CNN CVPR2019 | Mask Scoring R-CNN 论文解读 作者 | 文永亮 研究方向 | 目标检测.GAN 推荐理由: 本文解读的是一篇发表于CVPR ...
- AAAI2019 | 基于区域分解集成的目标检测 论文解读
Object Detection based on Region Decomposition and Assembly AAAI2019 | 基于区域分解集成的目标检测 论文解读 作者 | 文永亮 学 ...
- Gaussian field consensus论文解读及MATLAB实现
Gaussian field consensus论文解读及MATLAB实现 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 一.Introduction ...
- zz扔掉anchor!真正的CenterNet——Objects as Points论文解读
首发于深度学习那些事 已关注写文章 扔掉anchor!真正的CenterNet——Objects as Points论文解读 OLDPAN 不明觉厉的人工智障程序员 关注他 JustDoIT 等 ...
- NIPS2018最佳论文解读:Neural Ordinary Differential Equations
NIPS2018最佳论文解读:Neural Ordinary Differential Equations 雷锋网2019-01-10 23:32 雷锋网 AI 科技评论按,不久前,NeurI ...
- [论文解读] 阿里DIEN整体代码结构
[论文解读] 阿里DIEN整体代码结构 目录 [论文解读] 阿里DIEN整体代码结构 0x00 摘要 0x01 文件简介 0x02 总体架构 0x03 总体代码 0x04 模型基类 4.1 基本逻辑 ...
- 【抓取】6-DOF GraspNet 论文解读
[抓取]6-DOF GraspNet 论文解读 [注]:本文地址:[抓取]6-DOF GraspNet 论文解读 若转载请于明显处标明出处. 前言 这篇关于生成抓取姿态的论文出自英伟达.我在读完该篇论 ...
- 《Stereo R-CNN based 3D Object Detection for Autonomous Driving》论文解读
论文链接:https://arxiv.org/pdf/1902.09738v2.pdf 这两个月忙着做实验 博客都有些荒废了,写篇用于3D检测的论文解读吧,有理解错误的地方,烦请有心人指正). 博客原 ...
随机推荐
- eclipse alt+/智能提示错误问题
转自: https://blog.csdn.net/u013066244/article/details/69054447
- 学习一个Vue模板项目
最开始学习Vue的时候,不建议直接使用模板,而应该自己从头写起.模板都是人写的,要坚信"人能我能".只有自己亲自实践,才能促进自己主动思考,才能对模板.框架有深刻的理解. 在Git ...
- 湾区求职分享:三个月刷题拿到 Google offer,欢迎踊跃提问
本文仅以个人经历和个人观点作为参考.如能受益,不胜荣幸. 本文会不断的修正,更新.希望通过大家的互动最后能写出一份阅者受益的文章. 本文纯手打,会有错别字,欢迎指出,虚心接受及时更改. 小马过河,大牛 ...
- 让人非常easy误解的TCP拥塞控制算法
正文 非常多人会觉得一个好的TCP拥塞控制算法会让连接加速,这样的观点是错误的.恰恰相反,全部的拥塞控制算法都是为了TCP能够在贪婪的时候悬崖勒马,大多数时候.拥塞控制是减少了数据发送的速度. 我在本 ...
- 一道简单的HashMap面试题所想到的...
前言 看到一个JDK1.7和JDK1.8中关于HashMap的一个面试题: JDK1.7和1.8中HashMap中链表的插入的方式有什么不同? 原以为自己对HashMap的源码理解的还算可以了,应该足 ...
- 24款最好的jQuery日期时间选择器插件
如果你正在创建一个网络表单,有很多事情你需要在你的应用程序中使用.有时您需要特别的输入,从用户的日期和时间,如发票日期,生日,交货时间,或任何其他此类信息.如果你有这样的需要,可以极大地从动态的jQu ...
- Android Launcher分析和修改4——初始化加载数据
上面一篇文章说了Launcher是如何被启动的,Launcher启动的过程主要是加载界面数据然后显示出来, 界面数据都是系统APP有关的数据,都是从Launcher的数据库读取,下面我们详细分析Lau ...
- ODbgScript 2.01帮助文档
-------------------------------ODbgScript original pluginhttp://github.com/odbgscript--------------- ...
- Java知多少(10)数据类型及变量
Java 是一种“强类型”的语言,声明变量时必须指明数据类型.变量(variable)占据一定的内存空间.不同类型的变量占据不同的大小. Java中共有8种基本数据类型,包括4 种整型.2 种浮点型. ...
- Spring Data Jpa 使用Left Join
准备: Spring Boot + Web + Jpa 代码: 类:AccountRepository @Query(value = "select new com.sino.report. ...