码迷,mamicode.com
首页 > 移动开发 > 详细

【论文学习记录】PTAM:Parallel Tracking and Mapping for Small AR Workspaces

时间:2015-08-13 23:42:46      阅读:603      评论:0      收藏:0      [点我收藏+]

标签:

论文地址:链接: http://pan.baidu.com/s/1kTAcP8r 密码: djm4

     这是一篇可手持单目相机进行定位与制图方法的文章。它与传统slam的方法不一致的地方在于将定位跟踪与制图分离出了两个单独过程。

双线程机制: 一个线程用于鲁棒跟踪手持相机运动,另一个线程用于从之前观测到的视频帧中产生三维地图点特征 。  系统允许batch techniques复杂的计算,但不在实时操作下。。

这篇文章的研究目的是:  不需要任何模板与初始目标,跟踪校正的手持相机,并且绘制环境地图。

一.  方法概述:

      1.  跟踪与制图分开:

       传统的单目slam是制图与定位有着必然的联系,每个单帧图像的加入都要有更新。 跟踪机器人的有里程辅助,而且可以减慢机器人的运动。

但针对手持的会存在两问题:一是没有上面两条件,二是存在数据相关性(data-association errors),三是增量式系统带入不可挽回的恶化效应。

避免数据相关性误差,采取主动搜索的方式(covariance-driven gatingbinary inlier/outlier rejection with Joint Compatibility Branchand Bound or Random Sample Consensus (RANSAC) 。保证数据正确匹配。

跟踪与制图分离跟踪不在依赖于制图过程,很多鲁棒的跟踪方法可以使用,跟踪与制图间的数据相关性不共享。释放了地图更新的计算负担。


      2. 制图基于关键帧,使用batch techniques(光束平差(bundle adjustment),slam中一般叫图优化)。

分离后,没必要每帧都地图更新,主要集中在少量的有用关键帧,处理过程的完成只需要在下帧加入时完成即可--》使得图像更新周期长,预留给地图更新算法的时间足够长,可用于操作大尺寸地图。

所以可以选用大计算但精度与鲁棒性高的方法。

-------------------------------------------------补------------------------------------------------------------------------------------------------

bundle adjustment  in wiki   

关于sba(sparse bundle adjustment)的30个常见问题

Q2 -- 什么是光束法平差?

假设给定一系列图像中观测到的一组对应点集相应的三维坐标的初始估计,以及关于每张图像的viewing参数的初始估计。光束法平差(BA)是一个大的最优化的问题,包括同时精化三维结构和viewing参数(即相机姿态和可能的本征校准和径向畸变),为了获得一个在特定的假设下最优化的重建,考虑与观测的图像特征有关的噪声:如果图像误差满足均值为零的正态分布,那么BA是最大似然法估计。它的名字“bundles”(光束)源于每个三维特征聚焦于每个相机的光学中心,这些光学中心相对于结构和viewing参数进行最优化的调整。sba使用Levenberg-Marquardt非线性最小二乘算法的常规实现来解决与BA相联系的稀疏的大规模的优化问题。
-------------------------------------------------------------------------------------------------------------------------------------------------

      3. 地图初始化: 一立体立体 两帧图像点(五点算法)

调整 offline Structure-from-Motion (SfM) ,实时视觉里程计论文参考[20, 18, 9].,利用五点立体点对建立初始地图,随着N个最近相机点的加入,利用局部光束平差的方法进行建图。此文采用的是立体初始化和偶尔局部光束更新,不同之处是想建立长期的地图,里面的特征时常被再次观测到,采用计算量大的全地图优化的方式。

    

       4. 新点加入: 极线搜索

        光束采用极线搜索的方式初始化特征而非long 2D feature tracks 。。  

        5. 大量的点被绘制。

 

二. 地图描述

   1.   M 点特征在世界坐标系下。 地图中第j点特征坐标技术分享同时有unit patch normalnj。

  2. 相机中心坐标系。   坐标系间转换。。

         每个关键帧存在四个尺度的金字塔中。零层放原始图 640*480 --> 第三层 80*60  (下采样)

构成特征的像素都不是独自存储的,每个点特征都包含一个源关键帧(第一次观测到的关键帧),在源金字塔层,patches对应8x8 像素块。

In the examples shown later the map might contain some M=2000 to 6000 points andN=40 to 120 keyframes.

三. 跟踪

1. 新帧获取,利用运动模型估计之前点。

The camera delivers 640×480 pixel YUV411 frames at 30Hz.
在金字塔每层提取 FAST 角点

2. 根据帧中之前点的运动估计将地图中的点投射到图像中,

针孔相机投影几何模型。

技术分享

 技术分享

技术分享技术分享技术分享

 u 包含旋转与平移的六自由度信息。

3. 从地图中搜索少量的粗尺度的特征

4. 从粗匹配中更新相机点

5. 大量点的在映射与搜索

6. 从所有点匹配中找到最终的点估计

为在当前帧中找到地图中的点p,围绕预测图片前后固定范围的图片进行搜索。搜索前需根据视场改变进行调整,

依据当前帧与第一次观测帧得到仿射变换 
技术分享
技术分享

{us, vs} correspond to horizontal and vertical pixel displacements in the patch’s source pyramid level, and {uc, vc} correspond
to pixel displacements in the current camera frame’s zeroth (fullsize) pyramid level.

 

矩阵A 决定哪层金字塔将会被搜索。

技术分享

技术分享

patch search and pose update are done twice.
The final frame pose is calculated from both coarse and fine sets of image measurements together.

  7. 跟踪质量与失败恢复

跟踪系统在每帧评估跟踪质量:成功观测到的特征作为分数 

fraction低于某阈值认为跟踪丢失,启动跟踪恢复过程初始化。

四. mapping 

技术分享

1. 地图初始化

   五点立体算法five-point stereo algorithm and RANSAC can estimate an essential matrix and triangulate the base map.
    This initial map has an arbitrary scale and is aligned with one camera at the origin.
    Including user interaction, map initialisation takes around three seconds.


2. 关键帧插入与极线搜索epipolar search

是否加入评价: 跟踪的质量 ;两关键帧的间隔时间;地图中最近零关键点的距离。
新地图点的深度信息:单帧无法提取,Correspondences between the two views are established using epipolar search:

3. 光束平差

技术分享
技术分享

局部平差
技术分享
技术分享


4. 数据相关性refinement
measurements made by the tracking system may be incorrect. This frequently happens in regions of the world containing repeated patterns. Such measurements are given low weights by the M-estimator used in bundle adjustment. If they lie in the zeroweight region of the Tukey estimator, they are flagged as outliers. Each outlier measurement is given a ‘second chance’ before deletion: it is re-measured in the keyframe using the feature’s predicted

position and a far tighter search region than used for tracking. If a new measurement is found, this is re-inserted into the map. Should
such a measurement still be considered an outlier, it is permanently removed from the map.

二次测量确保是否加入地图

 五. 局限与未来工作

1. 依赖特征点,运动速度大导致的图像模糊,提取就会有问题.

2. 局部最小插入而影响全局地图.

3. 初始立体算法失败与插入不正确的信息到地图中.


目前理解只能到这层面了,有新理解再更新.欢迎指正.

版权声明:本文为博主原创文章,未经博主允许不得转载。

【论文学习记录】PTAM:Parallel Tracking and Mapping for Small AR Workspaces

标签:

原文地址:http://blog.csdn.net/zyh821351004/article/details/47617379

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!