zoukankan      html  css  js  c++  java
  • Omnidirectional DSO: Direct Sparse Odometry with Fisheye Cameras 论文摘要

    1. Abstract

    • 通过一种Unified Omnidirectional Model作为投影方程。
    • 这种方式可以使用图像的所有内容包括有强畸变的区域,而现存的视觉里程计方案只能修正或者切掉来使用部分图像。
    • 关键帧窗口中的模型参数是被联合优化的,包括相机的内外参,3D地图点,仿射亮度参数。
    • 因为大FoV,帧间的重合区域更大,并且更spatially distributed.
    • 我们的算法更牛逼。

    1. Introduction

    我们用了一个unified omnidirectional model在fixed-lag smoothing approach.

    Pose graph忽略了关键帧间fine-grained(细纹理的) 的相关,并且需要线性化和高斯估计来浓缩测量。

    有一个Omnidirectional LSD-SLAM方案甚至可以用大于180°的相机FoV。

    4. Camera Models

    A. Pinhole Model

    [pi_{u}(mathbf{x})=left[egin{array}{ll}{f_{x}} & {0} \ {0} & {f_{y}}end{array} ight]left[egin{array}{l}{x / z} \ {y / z}end{array} ight]+left[egin{array}{l}{c_{x}} \ {c_{y}}end{array} ight] ]

    针孔投影模型假设被估计的3D点是在图像平面上方的, i.e. 他们的深度是比焦距大的,这限制了FoV得小于180°。

    B. Unifed Omnidirectional Model

    这个模型的优势:

    • 可以准确model很多图像设备和镜头的geometric image formation。
    • 反投影函数$ pi^{-1}$是closed-form. 一个3D点是先投影到单位球,然后投到针孔相机模型with an z-axis offset (-xi)

    [pi_{u}(mathbf{x})=left[egin{array}{c}{f_{x} frac{x}{z+|mathbf{x}| xi}} \ {f_{y} frac{y}{z+|mathbf{x}| xi}}end{array} ight]+left[egin{array}{c}{c_{x}} \ {c_{y}}end{array} ight] ]

    这里$$|mathbf{x}|$$是x的norm.

    [egin{array}{l}{pi_{u}^{-1}(mathbf{u}, d)} \ {qquad=frac{1}{d}left(frac{xi+sqrt{1+left(1-xi^{2} ight)left( ilde{u}^{2}+ ilde{v}^{2} ight)}}{ ilde{u}^{2}+ ilde{v}^{2}+1}left[egin{array}{l}{ ilde{u}} \ { ilde{v}} \ {1}end{array} ight]-left[egin{array}{l}{0} \ {0} \ {xi}end{array} ight] ight)}end{array} ]

    5. System Overview

    A. Model Formulation

    标识photometric error的能量函数:

    [E_{mathbf{p} j} :=sum_{mathbf{p} in N_{p}} w_{p}left|left(I_{j}left[mathbf{p}^{prime} ight]-b_{j} ight)-frac{t_{j} e^{a_{j}}}{t_{i} e^{a_{i}}}left(I_{i}[mathbf{p}]-b_{i} ight) ight|_{gamma} ]

    第i帧上的一个点p投影到第j帧,用一个patch (N_p)上的灰度误差平方和SSD (Sum of Squared Differences) ,(w_p)是基于梯度的权重。(|cdot|_{gamma})$是一个huber norm.

    [egin{array}{l}{mathbf{p}^{prime}=pileft(mathbf{R} pi^{-1}left(mathbf{p}, d_{p} ight)+mathbf{t} ight)} \ { ext { with }} \ {qquadleft[egin{array}{cc}{mathbf{R}} & {mathbf{t}} \ {0} & {1}end{array} ight] :=mathbf{T}_{mathbf{j}} mathbf{T}_{mathbf{i}}^{-1}}end{array} ]

    滑窗里的光度误差项是:

    [E_{ ext {photo}} :=sum_{i in F} sum_{mathbf{p} in P_{i}} sum_{j in o b s(mathbf{p})} E_{mathbf{p} j} ]

    B. Distance Estimation along with Epipolar Curve

    当一帧被成功track了,我们用stereo matching来refine候选点的逆深度。

    DSO在极线上搜索匹配。但是当在鱼眼图上用unified omnidirectional model来做的时候,就变成一条曲线(更准确的说是锥线

    极曲线:我们在单位球上定义两个点(mathbf{p}_{0}, mathbf{p}_{infty} in mathbb{R}^{3})围绕在投影中心(C_{ref})上,来对应最大最小的逆深度$$d_{max}, d_{min}$$.

    [egin{aligned} mathbf{p}_{0} & :=pi_{s}left(mathbf{R} pi_{u}^{-1}left(mathbf{p}, d_{min } ight)+mathbf{t} ight) \ mathbf{p}_{infty} & :=pi_{s}left(mathbf{R} pi_{u}^{-1}left(mathbf{p}, d_{max } ight)+mathbf{t} ight) end{aligned} ]

    然后线性插值with (alpha in [0, 1])

    [mathbf{p}_{L}(alpha) :=alpha mathbf{p}_{0}+(1-alpha) mathbf{p}_{infty} ]

    我们通过把这个线投影到目标图像来获得极曲线

    [mathbf{u}_{L}(alpha) :=pi_{u}left(mathbf{p}_{L}(alpha) ight) ]

    C. Frame Management

    • Initial Frame Tracking:

    5层金字塔,场景和亮度变化是持续估计。

    • Keyframe Creation

    当关键帧被创建的时候,候选点会基于space distribution and image gradient来被选择。我们用初始化的逆深度和大variance来给这些点。后续有帧被tracked的话,来refine点的深度。

    • Keyframe Marginalization

    当超过7帧关键帧的时候,旧的点和帧就会被边缘化掉。heuristic distance

    • Windowed Optimization

    6. Evaluation

    A. TUM SLAM for Omnidirectional Cameras Dataset

    提供了室内鱼眼数据和真值. 是global shutter的,然后是185°FoV. 1280 ×1024分辨率。

    我们把图crop然后scale到480×480的。

    1) Accuracy Comparison

    DSO在精度和鲁棒性上比SVO和LSD-SLAM厉害。

    Unified Omnidirectional camera model更提高了DSO和LSD-SLAM的表现。

    2) Benefit of Large Field of View

    3) Timing measurement

    视角广的话,关键帧插入就少了,mapping快了。

    B) Oxford Robotcar Dataset

    这数据有100组重复的路线,并且有着不同的光照,交通场景。

    7. Conclusions

    反正我们牛逼。

  • 相关阅读:
    CSS之定位
    选择器小结
    ASP.NET Web API + Elasticsearch 6.x 快速做个全文搜索
    获取服务端https证书
    使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错
    MVC和WebForm的优缺点比较
    C#之VS开发工具快捷键大全
    Scrum敏捷开发之扫盲篇
    Asp.net 中数据量较小插入数据库
    xml解析
  • 原文地址:https://www.cnblogs.com/tweed/p/11082432.html
Copyright © 2011-2022 走看看