ORB-SLAM 对 PTAM 改了什么
来源:互联网 发布:如何上传淘宝数据包 编辑:程序博客网 时间:2024/05/01 05:54
特征匹配差异
PTAM patch 匹配和 ORB 描述子匹配
ORB-SLAM 用 ORB 特征匹配计算位姿,回环检测和重定位都用 ORB 特征;PTAM 没有用特征,和 SVO 一样,用的是 patch(8x8 方块),PTAM 在地图点和当前帧 patch 匹配的时候,由于地图点所在的帧和当前帧间距或者旋转可能较大,当前帧的 patch 相对于地图点的可能形变较大(尺度,旋转,拉伸),所以地图点的 patch 在当前帧寻找匹配的 patch 时,先计算一个 affine warp matrix 变换,将地图点的 patch 变换到和当前帧的相似,再在当前帧中用 SSD 算法找匹配的 patch。
4x4 affine warp matrix 计算表达式:
上式中
affine warp matrix 具体计算方式如下:
在地图点所在关键帧对应层上,产生一个像素的位移(横纵坐标分开做),并且将这个像素位移(对应到最底层位移不止一个像素)投影到地图点所在的 patch 平面上(patch 在三维空间的坐标和法向量可以确定 patch 在 3D 空间的平面),再将这个 3D 空间中的位移线段投影到当前帧中,计算在当前帧在横纵坐标上产生的像素位移。
矩阵
在进行搜索前先用矩阵
而对于 ORB-SLAM 中的特征匹配,特征描述子对于旋转具备不变性(其他特征可能还具备平移,相似或者仿射不变性),不需要对 patch 进行 SSD 匹配,只需要计算特征描述子间距离就可以了。
ORB-SLAM 特征提取很耗时。
匹配流程差异
ORB-SLAM 先和上一帧配准,再跟当前帧所在的局部地图配准计算位姿:
http://blog.csdn.net/fuxingyin/article/details/53511439
PTAM 通过两步和局部地图配准计算位姿,第一步和少量的层数最高的地图点配准计算位姿,然后再和大量的地图点配准计算位姿。
ORB-SLAM 中的 convisibility graph
ORB-SLAM 中的 convisibility graph 保存了关键帧之间的连接,通过 convisibility 可以得到局部地图,在和局部地图匹配和初始化新的地图点时都用到 convisibility graph,PTAM 没有 convisibility graph。
ORB-SLAM 中的 Essential Graph /Pose graph
ORB-SLAM 中通过 convisibility graph 计算得到 Essential Graph /Pose graph,在检测到回环时,先优化 essential graph 再进行全局的 BA,essential graph 在 PTAM 中也是没有的。
回环检测和回环优化
PTAM 中没有回环检测,只有 local BA,PTAM 是为小场景 AR 设计的,没考虑全局的回环。ORB-SLAM 有回环检测,也有 locaL BA。ORB-SLAM 只有 tracking 和 mapping 两个线程,ORB-SLAM 有 tracking,mapping 和 loop closing 三个线程。
重定位算法
PTAM 中的重定位算法和 Elasticfusion 中的重定位算法很像:
http://blog.csdn.net/fuxingyin/article/details/51436430
ORB-SLAM 基于 DBoW2 做重定位,个人感觉基于 Fern 的重定位算法实现起来简单,方便调试,召回率相对于 DBoW2 高,准确率低。
参考文献:
“Parallel Tracking and Mapping for Small AR Workspaces”
“ORB-SLAM: a Versatile and Accurate Monocular SLAM System”
- ORB-SLAM 对 PTAM 改了什么
- PTAM SLAM
- ORB-Slam
- ORB-SLAM
- ORB SLAM
- orb-slam中的orb特征
- ORB-SLAM使用方法
- ORB-SLAM-2
- orb slam学习
- orb-slam资料汇总
- ORB-SLAM 笔记
- orb-slam评价
- ORB-SLAM基础
- ORB SLAM +kinect2 launch
- ORB-SLAM论文
- orb-slam中的orb项目源码解析
- SLAM:使用G2O-ORB-SLAM(编译)
- SLAM:ORB-SLAM 位姿优化描述
- 关于两种将Java程序转化为.exe程序工具的使用及比较
- 微信案例
- 17. Letter Combinations of a Phone Number
- 华东交通大学2016届新生选拔赛:1006 我是大水题哦
- 双向链表
- ORB-SLAM 对 PTAM 改了什么
- 彻底理解webservice SOAP WSDL
- 96. Unique Binary Search Trees**
- shell map
- 欧几里得.p1061青蛙
- 加法器的硬件实现
- cassandra 3.x官方文档(4)---分区器
- 使用jersey上传图片到图片服务器
- 小项目实践