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. 通过jarjar.jar来替换jar包名的详细介绍

    有时候我们根据一些场景 需要替换第三方jar包的包名,比如Android广告平台sdk,更换他们jar包包名的话,可以防止市场检测到有广告插件,所以,今天就介绍一下如何使用jarjar.jar工具来替 ...

  2. Android——SQLite/数据库 相关知识总结贴

    android SQLite简介 http://www.apkbus.com/android-1780-1-1.html Android SQLite基础 http://www.apkbus.com/ ...

  3. 应用程序默认安装在C盘后启动时提示权限不足想起的。。。

    最近不少经销商用户反映,在使用win 7的系统的电脑上安装我们的软件后,开启系统时提示权限不足,无法启动软件. 而在xp系统下则没有这个问题,原因在于我们将系统的默认安装路径选择在了C盘了,而win ...

  4. Linux虚拟文件系统

    从文件 I/O 看 Linux 的虚拟文件系统 1 引言 Linux 中允许众多不同的文件系统共存,如 ext2, ext3, vfat 等.通过使用同一套文件 I/O 系统 调用即可对 Linux ...

  5. spring boot+ Intellj idea devtools 设置热部署

    POM文件 <!--添加依赖--> <dependency> <groupId>org.springframework.boot</groupId> & ...

  6. Handlebars模板引擎之高阶

    Helpers 其实在Handlebars模板引擎之进阶我想说if else的功能的,可是由于这个功能在我的开发中我觉的鸡肋没啥用,就直接不用了. 因为if else只能进行简单判断,如果条件参数返回 ...

  7. PHP 扩展开发之Zephir

    最近对代码进行性能分析后,发现两个耗时的地方:自动加载文件数太多:参数验证函数调用超过1000次.这也是许多php语言框架面临的问题,所以发展出来诸如Yaf,Swoole,Phalcon这些C语言扩展 ...

  8. 使用google guava做内存缓存

    google guava中有cache包,此包提供内存缓存功能.内存缓存需要考虑很多问题,包括并发问题,缓存失效机制,内存不够用时缓存释放,缓存的命中率,缓存的移除等等. 当然这些东西guava都考虑 ...

  9. PHP优化——从语言到业务

    经常有人说php速度慢,其实语言层面的速度差异和实际的业务相比,不在一个数量级. 业务的瓶颈往往在于io,而不是CPU. 0x0 语言 语法 单引号和双引号 单引号不解析字符串里的变量,而双引号会解析 ...

  10. 使用Fidder将生成环境代码映射到本地(文件夹)

    匹配生产URL正则表达式 regex:http://www.a.com/statics/js/(.*) 本地路径配置 D:\web\statics\js\$1