3.1 (LSD-SLAM) 算法流程综述 The Complete Method

The algorithm consists of three major components: tracking, depth map estimation and map optimization as visualized in Fig. 3:

(LSD-SLAM)算法有三个主要组成部分:(见示图3.的流程图)

  1. 图像跟踪(tracking),
  2. 深度图估计(depth map estimation)
  3. 以及地图优化(map optimization),

– The tracking component continuously tracks new camera images.That is, it estimates their rigid body pose ξse(3)\mathbf{\xi} \in \mathfrak{se}(3) with respect to the current keyframe, using the pose of the previous frame as initialization.

— 图像跟踪(模块): 连续跟踪从相机获取到的新“图像帧”(即:新的输入观测量,译者额外添加备注)。也就是说,(对连续输入的“新”图像帧),用前一帧图像帧(到当前参考帧关键帧的姿态估计)作为初始姿态(initial estimate),估算出新的图像帧到当前关键帧的刚体变换,估算出当前关键帧(current keyframe)到新图像帧(new camera images)估算出当前关键帧(current keyframe,就是当前参考帧)和新图像帧(new camera images)之间的刚体变换 ξse(3)\mathbf{\xi} \in \mathfrak{se}(3) (【current KF新图像帧的刚体变换】与【新图像帧current KF的刚体变换】是inverse逆运算关系,所以这里翻译使用当前关键帧和新图像帧之间的刚体变换,具体代码实现请参看:SE3Tracker::trackFrame,译者额外添加备注,感谢和张明明的讨论)。 (谢谢 张明明的指点~)

改动_Labby:参考帧——>关键帧(保持上下文描述统一);

– The depth map estimation component uses tracked frames to either refine or replace the current keyframe. Depth is refined by filtering over many per-pixel, small-baseline stereo comparisons coupled with interleaved spatial regularization as originally proposed in [9]. If the camera has moved too far, a new keyframe is initialized by projecting points from existing, close-by keyframes into it.

深度图估计(模块): 使用(上述)被跟踪的“图像帧”,要么优化(refine)当前关键帧,要么替换当前关键帧。
— 深度图估计(模块): 使用(上述)被跟踪的“图像帧”,要么对当前关键帧深度更新(refine),要么替换当前关键帧。深度更新(refine)是基于像素小基线立体配准(stereo comparisons)的滤波方式,同时耦合对深度地图的正则化,该方法最初在论文[9]中提及。 如果相机移动足够远,就(替换当前关键帧),初始化新的关键帧,并把现存相近的关键帧(兴趣)图像点(灰度梯度大的像素点,译者额外添加备注)投影到新建立的关键帧上。

– Once a keyframe is replaced as tracking reference – and hence its depth map will not be refined further – it is incorporated into the global map by the map optimization component. To detect loop closures and scale-drift, a similarity transform ξsim(3)\mathbf{\xi} \in \mathfrak{sim}(3) to close-by existing keyframes (including its direct predecessor) is estimated using scale-aware, direct sim(3)\mathfrak{sim}(3)-image alignment.

—地图优化(模块): 一旦关键帧被替换成图像跟踪的参考帧(用于图像跟踪模块)—它的深度图就不会进一步优化(refine)—并且由地图优化(模块)插入全局地图。 为了检测闭环(loop closures)和尺度漂移(scale-drift),使用尺度感知,直接sim(3)图像配准的方法,搜寻相似,使用 sim(3)\mathfrak{sim}(3) 图像配准的方式计算它和临近邻近关键帧(包括前一帧关键帧)之间的相似变换 ξsim(3)\mathbf{\xi} \in \mathfrak{sim}(3) ,(然后进行图优化,译者额外添加备注)。

改动_Labby:地图优化模块:一旦关键帧被当前的图像替代-它的深度信息将不会再被进一步优化-而是通过地图优化模块插入到全局地图中。为了检测闭环和尺度漂移,采用尺度感知的直接图像配准方法来估计当前帧与现有邻近关键帧之间的相似性变换。

(LSD-SLAM) 初始化 Initialization.

To bootstrap the LSD-SLAM system, it is sufficient to initialize a first keyframe with a random depth map and large variance.

启动LSD-SLAM系统时,只需要初始化单个图像(即:不使用多视几何的方法),该图像视为第一个关键帧,即:初始化(兴趣)图像点(灰度梯度大的像素点,译者额外添加备注)—深度随机分布且深度方差比较大。(注意:全文指的是[逆]深度和[逆]深度方差,译者额外添加备注)

改动_Labby:启动LSD-SLAM系统时,只需要初始化首帧关键帧即可,而关键帧深度信息初步设定为一个方差很大的随机变量。

Given sufficient translational camera movement in the first seconds, the algorithm “locks” to a certain configuration, and after a couple of keyframe propagations converges to a correct depth configuration.

在(一两秒)非常短的时间内,如果相机有足够的平移,那么LSD-SLAM算法就会“锁定”到“特定配置”,经过一组连续关键帧的深度传递,使深度将收敛到正确的“参数配置”真值。(谢谢贺一家的点拨)

改动_Labby:在算法运行最开始的几秒钟,一旦摄像头运动了足够的平移量,LSD-SLAM算法就会“锁定”到某个特定的深度配置,经过几个关键帧的传递之后,就会收敛到正确的深度配置。

Some examples are shown in the attached video.

请详见附加视频(在LSD-SLAM项目官网)。
http://vision.in.tum.de/research/vslam/lsdslam

A more thorough evaluation of this ability to converge without dedicated initial bootstrapping is outside the scope of this paper, and remains for future work.

LSD-SLAM初始化方式(即:无需专门的初始化条件,仅用单个图像来初始化,使深度收敛的方式)的进一步评估,超出了本篇论文的范围,将在未来的工作中详细探讨。

全篇仅提供学习,请勿用于商业用途,翻译版权【泡泡机器人】 all right reserved,powered by Gitbook修订时间: 2017-04-11

results matching ""

    No results matching ""