dso

1.1. Motivation

本文提出的单目视觉测距法的直接和稀疏公式是出于以下考虑因素;

(1)直接:

关键点的主要优点之一是它们能够为使用现成的商品相机拍摄的图像中存在的光度和几何失真提供稳健性。例如自动曝光变化,非线性响应功能(伽马校正/白平衡),镜头衰减(渐晕),去连接伪像,或甚至由滚动快门引起的强烈几何失真。

同时,对于介绍中提到的所有用例,数百万台设备(并且已经)配备了专门用于为计算机视觉算法提供数据的摄像机,而不是为人类消费捕获图像。这些摄像机应该并且将被设计为提供完整的传感器模型,并以最能为处理算法提供服务的方式捕获数据:例如,自动曝光和伽马校正不是未知的噪声源,而是提供更好图像数据的功能 - 可以合并到模型中,使获得的数据更具信息性。由于直接方法将完整的图像形成过程建模为像素强度,因此它可以从更精确的传感器模型中获益。直接公式的主要好处之一是它不需要一个点本身可以识别,从而允许更精细的几何表示(像素反向深度)。此外,我们可以从所有可用数据中进行采样 - 包括边缘和弱强度变化 - 生成更完整的模型,并在稀疏纹理环境中提供更强大的稳健性。

(2)稀疏:

添加几何体之前的主要缺点是引入几何参数之间的相关性,这使得实时统计上一致的联合优化不可行(参见图2)。

2.2模型公式

我们将在目标帧I j中观察到的参考帧I i中的点p∈Ωi的光度误差定义为在小的像素邻域上的加权SSD。我们的实验表明,以略微扩展的模式排列的8个像素(见图4)在评估所需的计算,运动模糊的稳健性和提供足够的信息之间进行了良好的权衡。请注意,就所包含的信息而言,在如此小的像素邻域上评估SSD类似于为中心像素添加一级和二级辐照度导数条件(除了辐照度恒定性)。 让

其中N p是SSD中包含的像素集; t i,t j图像I i,I j的曝光时间; 和k·kγ胡贝尔范数。 此外,p 0代表p的投影点位置,具有反向深度d p,由下式给出

为了使我们的方法能够在没有已知曝光时间的情况下操作序列,我们包括由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。

虽然这通常对估计的姿势几乎没有影响,但如果场景仅包含很少的弱强度变化,则可能引入偏差。
 
3.2. Point Management
大多数现有的直接方法都专注于尽可能多地利用图像数据。为了实现这一目标,他们积累早期的次优估计(线性化/深度三角测量),并忽略 - 或近似 - 不同参数之间的关系。在这项工作中,我们采用不同的方法,而是对数据进行大量子采样,以便在联合优化框架中实时处理数据。事实上,我们的实验表明,图像数据是高度冗余的,简单地使用更多数据点的好处很快就会变平。请注意,与间接方法相比,我们的直接框架仍允许从所有可用数据中抽取样本,包括弱纹理或重复区域和边缘,这确实提供了真正的好处(参见第4节)。
我们的目标是在优化中始终保持固定数量的N p个活动点(我们使用N p = 2000),在空间和活动帧中均匀分布。在第一步中,我们在每个新关键帧中识别N p个候选点(步骤1)。

DSO论文解读的更多相关文章

  1. itemKNN发展史----推荐系统的三篇重要的论文解读

    itemKNN发展史----推荐系统的三篇重要的论文解读 本文用到的符号标识 1.Item-based CF 基本过程: 计算相似度矩阵 Cosine相似度 皮尔逊相似系数 参数聚合进行推荐 根据用户 ...

  2. CVPR2019 | Mask Scoring R-CNN 论文解读

    Mask Scoring R-CNN CVPR2019 | Mask Scoring R-CNN 论文解读 作者 | 文永亮 研究方向 | 目标检测.GAN 推荐理由: 本文解读的是一篇发表于CVPR ...

  3. AAAI2019 | 基于区域分解集成的目标检测 论文解读

    Object Detection based on Region Decomposition and Assembly AAAI2019 | 基于区域分解集成的目标检测 论文解读 作者 | 文永亮 学 ...

  4. Gaussian field consensus论文解读及MATLAB实现

    Gaussian field consensus论文解读及MATLAB实现 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 一.Introduction ...

  5. zz扔掉anchor!真正的CenterNet——Objects as Points论文解读

    首发于深度学习那些事 已关注写文章   扔掉anchor!真正的CenterNet——Objects as Points论文解读 OLDPAN 不明觉厉的人工智障程序员 ​关注他 JustDoIT 等 ...

  6. NIPS2018最佳论文解读:Neural Ordinary Differential Equations

    NIPS2018最佳论文解读:Neural Ordinary Differential Equations 雷锋网2019-01-10 23:32     雷锋网 AI 科技评论按,不久前,NeurI ...

  7. [论文解读] 阿里DIEN整体代码结构

    [论文解读] 阿里DIEN整体代码结构 目录 [论文解读] 阿里DIEN整体代码结构 0x00 摘要 0x01 文件简介 0x02 总体架构 0x03 总体代码 0x04 模型基类 4.1 基本逻辑 ...

  8. 【抓取】6-DOF GraspNet 论文解读

    [抓取]6-DOF GraspNet 论文解读 [注]:本文地址:[抓取]6-DOF GraspNet 论文解读 若转载请于明显处标明出处. 前言 这篇关于生成抓取姿态的论文出自英伟达.我在读完该篇论 ...

  9. 《Stereo R-CNN based 3D Object Detection for Autonomous Driving》论文解读

    论文链接:https://arxiv.org/pdf/1902.09738v2.pdf 这两个月忙着做实验 博客都有些荒废了,写篇用于3D检测的论文解读吧,有理解错误的地方,烦请有心人指正). 博客原 ...

随机推荐

  1. Vue加载组件、动态加载组件的几种方式

    https://cn.vuejs.org/v2/guide/components.html https://cn.vuejs.org/v2/guide/components-dynamic-async ...

  2. void java.lang.System.gc()

    void java.lang.System.gc() Runs the garbage collector. Calling the gc method suggests that the Java ...

  3. 如何在 Github 上发现优秀的开源项目?

    之前发过一系列有关 GitHub 的文章,有同学问了,GitHub 我大概了解了,Git 也差不多会使用了,但是还是搞不清 GitHub 如何帮助我的工作,怎么提升我的工作效率? 问到点子上了,Git ...

  4. android下使用tcpdump抓包

    tcpdump是linux下的抓包工具,在android中没有,需要下载对应的工具. 下载地址:https://www.androidtcpdump.com/android-tcpdump/downl ...

  5. Effective Java 第三版——58. for-each循环优于传统for循环

    Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所 ...

  6. 【R作图】蜜蜂群图beeswarm和jitter的使用

    最近经常要画好看的盒形图,还要在上面加入散点,所以总结了两个方法. 第一种方法是,利用beeswarm函数: library(beeswarm) beeswarm 蜜蜂群图 http://rgm3.l ...

  7. mysql服务启动、停止、重启

    如何启动/停止/重启MySQL 一.启动方式 1.使用 service 启动:service mysqld start 2.使用 mysqld 脚本启动:/etc/inint.d/mysqld sta ...

  8. (转) mysql中left join,right join,inner join的区别

    转自:https://blog.csdn.net/qq_35975416/article/details/78842958 sql查询中有一个非常重要的环节就是表的关联查询,一般使用left join ...

  9. JAVA(六)数据库/网络编程/新IO

    成鹏致远 | lcw.cnblog.com |2014-02-05 数据库 1.JDBC概述 JDBC(Java Database Connectivity,Java数据库连接)提供了一种与平台无关的 ...

  10. [转]新人常识普及:我们为什么必须会git和maven

    转自贴吧:http://tieba.baidu.com/p/3458400116 鉴于本吧多新人,新人又需要多交流才能进步,今天就给新人们讲讲git和maven的必要性,因为,他们的重要性,远远超过很 ...