没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于视觉的同时定位和建图(VSLAM)分为前端和后端,前端包括视觉里程计和回环检测,后端包括后端优化和建图。按照估计相机运动的不同方式,将VSLAM分为特征点法和直接法,首先从这两个方面对前端进行综述,阐述其中的关键技术和最新的研究进展,对比分析不同方法的优缺点;然后详细分析优化后端与滤波器后端的区别,进一步对多个开源代码进行比较研究,分析它们的优劣势和适用场合;再讨论深度学习、语义地图和多机器人在VSLAM领域的研究进展,以及相关技术与VSLAM的结合方式及前景;最后对VSLAM的未来进行展望。
资源推荐
资源详情
资源评论
书书书
收稿日期:20181110;修回日期:20190117 基金项目:国家自然科学基金资助项目(51579204,51679180);武汉理工大学自主创新
研究基金资助项目(2016IVA064,2016YB029)
作者简介:邹雄(1982),男,博士研究生,主要研究方向为机器视觉(zx2000@whut.edu.cn);肖长诗(1974),教授,博士,主要研究方向为宽动
态成像;文元桥(1974),教授,博士,主要研究方向为大数据;元海文(1988),博士,主要研究方向为机器视觉.
基于特征点法和直接法 VSLAM 的研究
邹 雄
1
,肖长诗
1,2
,文元桥
1,2,3
,元海文
1
(1.武汉理工大学 航运学院,武汉 430063;2.内河航运技术湖北省重点实验室,武汉 430063;3.国家水运安全
工程技术研究中心,武汉 430063)
摘 要:基于视觉的同时定位和建图(VSLAM)分为前端和后端,前端包括视觉里程计和回环检测,后端包括后端
优化和建图。按照估计相机运动的不同方式,将
VSLAM分为特征点法和直接法,首先从这两个方面对前端进行综
述,阐述其中的关键技术和最新的研究进展,对比分析不同方法的优缺点;然后详细分析优化后端与滤波器后端的
区别,进一步对多个开源代码进行比较研究,分析它们的优劣势和适用场合;再讨论深度学习、语义地图和多机器
人在 VSLAM领域的研究进展,以及相关技术与 VSLAM的结合方式及前景;最后对 VSLAM的未来进行展望。
关键词:VSLAM;视觉里程计;特征点法;直接法;非线性优化
中图分类号:TP391.41 文献标志码:A 文章编号:10013695(2020)05001128111
doi:10.19734/j.issn.10013695.2018.11.0789
ResearchoffeaturebasedanddirectmethodsVSLAM
ZouXiong
1
,XiaoChangshi
1,2
,WenYuanqiao
1,2,3
,YuanHaiwen
1
(1.SchoolofNavigation,WuhanUniversityofTechnology,Wuhan430063,China;2.HubeiKeyLaboratoryofInlandShippingTechnology,
Wuhan430063,China;3.NationalEngineeringResearchCenterforWaterTransportSafety,Wuhan430063,China)
Abstract:VSLAMisdividedintofrontendandbackend.Thefrontendincludesvisualodometryandloopdetection,and
thebackendincludesbackendoptimizationandmapping.ThispaperdividedVSLAM intofeaturebasedmethodanddirect
methodaccordingtodifferentwaysofestimatingcameramotion.Firstly
,itsummarizedthefrontendfromthesetwoaspects,
elaboratedthekeytechnologiesandthelatestresearchprogress,comparedandanalyzedthedifferentmethods.Then,itana
lyzedthedifferencesbetweentheoptimizebackendandthefilterbackendindetail
,andcomparedtheadvantagesanddisad
vantagesofseveralopensourcecodesandtheirapplicableoccasions.Further
,itintroducedtheresearchprogressofdeep
learning,semanticmappingandmultirobotsinVSLAM,anddiscussedthecombinationofrelatedtechnologieswithVSLAM
anditsprospects.Finally
,itprospectedthefutureofVSLAM.
Keywords:VSLAM;VO;featurebasedmethod;directmethod;nonlinearoptimization
同时定 位 与 地 图 构 建 (simultaneouslocalizationandmap
ping,SLAM)
[1,2]
是机器人进入未知环境遇到的第一个问题,它
是指机器人搭载特定传感器,在没有环境先验信息的情况下,
在运动过程中对周围环境建模并同时估计自身的位姿
[3]
。如
果传感 器 主 要 为 相 机,那么 就 称 为 视 觉 SLAM(VSLAM)
[4]
。
SLAM技术已经研究和发展了三十多年,研究人员已经做了大
量工作,近十年来,随着计算机视觉的发展,VSLAM以其硬件
成本低廉、轻便、高精度等优势获得了学术界和工业界的青睐。
VSLAM是利用多视图几何理论
[5]
,根据相机拍摄的图像
信息对相机进行定位并同时构建周围环境地图。按照相机的
分类,有单目、双目、RGBD、鱼眼、全景等。为了方便,本文只考
虑普通相机。从 VSLAM的提出到目前为止,经过研究人员十
多年不懈努力,VSLAM框架已基本形成。如图 1所示,VSLAM
主要包括视觉里程计(visualodometry,VO)、后端优化、回环检
测、建图。其中 VO研究图像帧间变换关系完成实时的位姿跟
踪,对输入的图像进行处理,计算姿态变化,得到相机间的运动
关系。但是随着时间的累计,误差会累积,这是由于仅仅估计
两个图像间的运动造成的。后端主要是使用优化方法,减小整
个框架误差(包括相机位姿和空间地图点)。回环检测又称为
闭环检测,主要是利用图像间的相似性来判断是否到达过先前
的位置,以此来消除累计误差,得到全局一致性轨迹和地图。
建图是根据估计的轨迹建立与任务要求对应的地图。
现在比较通常的惯例是把
VSLAM分为前端和后端,前端
为视觉里程计和回环检测,相当于是对图像数据进行关联;后
端是对前端输出的结果进行优化,利用滤波或非线性优化理论
得到最优的位姿估计和全局一致性地图。
1 前端
11 视觉里程计
前端中的视觉里程计是通过采集的图像得到相机间的运
动估计,视觉里程计问题可由图 2进行描述(双目立体视觉里
程计)。视觉系统在运动过程中,在不同时刻获取了环境的图
像,而且相邻时刻的图像必须有足够的重叠区域,则视觉系统
的相对旋转和平移运动可被估算出来;然后将每两个相邻时刻
之间视觉系统的运动串联起来,可以得到累计的视觉系统相对
于参考坐标系的旋转和平移。如图
2所示,视觉里程计的任务
就是已知 k=0的初始位置 C
0
(可以根据情况自己定义),求相
机的运动轨迹
C
0:n
={C
0
,…,C
n
},即当前的位置 C
k
通过 T
k
和
上一时刻的位置 C
k-1
来计算,公式为 C
k
=C
k-1
×T
k
。其中:T
k
为 K和 K+1时刻的相机相对位置变化,可根据相应时刻采集
的图像计算出来,从而恢复相机的运动轨迹。
视觉里程计可分为特征点法和直接法,如图
3所示。特征
点法主要是根据图像上的特征匹配关系得到相邻帧间的相机
第 37卷第 5期
2020年 5月
计 算 机 应 用 研 究
ApplicationResearchofComputers
Vol.37No.5
May2020
运动估计,它需要对特征进行提取和匹配,然后根据匹配特征
构建重投影误差函数,并将其最小化从而得到相机的相对运
动;直接法是假设两帧图像中的匹配像素的灰度值不变,构建
光度误差函数,也将其最小化求解帧间的相机运动。
111 特征点法
特征点法的原理是通过提取和匹配相邻图像的特征点估
计该帧间对应的相机相对运动。特征点法的步骤包括特征检
测、匹配、运动估计和优化,如图 4所示。
特征点可以称为兴趣点、显著点、关键点等。以点的位置
来表示的点特征是一种最简单的图像特征。特征点可以分为
关键点和描述子两部分。事实上,特征点是一个具有一定特征
的局部区域的位置标志,称其为点,将其抽象为一个位置概念,
以便于确定两幅图像中同一个位置点的对应关系,所以在特征
匹配过程中是以该特征点为中心,将邻域的局部特征进行匹
配;也就是说在进行特征匹配时首先要为这些特征点建立特征
描述,这种特征描述通常称之为描述子。一般希望特征点在不
同时刻、不同位置都能保持稳定,一个好的特征点应该拥有可
重复性、可区别性、高效性。
VSLAM 中 常 用 的 特 征 检 测 算 法 主 要 有 SIFT
[6,7]
、
SURF
[8]
、FAST
[9]
、ORB
[10]
等,每种算 法 都有 自 己的 优 劣
[11]
。
其中,尺 度 不 变 特 征 转 换 (scaleinvariantfeaturetransform,
SIFT)首先利用差分高斯(DoG)算子对图像的上下尺度进行卷
积运算,然后在尺度和空间上获取输出的局部最小值或最大
值;SURF建立在 SIFT上,也叫做 SIFT加速版,它使用盒式滤
波器来近似高斯滤波器,充分考虑了在图像变换过程中出现的
光照、尺度、旋转等变化。从这点上看非常适合 SLAM,但随之
而来的是极大的计算量。到目前为止,如果实时地利用 SIFT
特征进行 VSLAM,还需要 GPU加速。FAST是一种角点,主要
检测局部像素灰度变化明显的地方。如果候选关键点像素灰
度值与邻域的像素灰度值差别过大(比如邻域采用半径为 3
的圆上连续像素点超过 9),那么它即为角点。FAST的特点是
速度快,但不具备尺度和旋转的不变性。
ORB对原始的 FAST
算法进行了改进,对原始的 FAST角点分别计算 Harris响应
值,然后排序和选取较大响应值的角点;通过构建图像金字塔
降采样,并在每一层上检测角点实现尺度不变特性;以图像块
的灰度质心和几何中心得到特征点的方向。不仅如此,ORB
在提取 FAST角点后还使用了 BRIEF特征描述。BRIEF
[12]
是
一种二进制编码的特征描述子,它使用从关键点周围的块中采
样的成对亮度比较。由于使用二进制表达和存储,所以速度非
常快。原始的 BRIEF描述子没有考虑方向,而 ORB在提取
FAST角点时考虑了尺度和方向,所以 ORB既具备了 FAST和
BRIEF速度快的特点,又具备了较好的尺度和旋转不变性。
早期特征点的匹配多采取跟踪方式,比如检测关键点(不
需要描述子),采用光流跟踪得到关键点的匹配。通常为了排
除误跟踪,可以采用一致性检测。这种方式适合相邻帧之间的
运动量和外观变化较小的情况。
如果两帧之间的运动量和外观变化较大,需要计算两帧之
间的特征点和描述子,比较描述子间的距离(如汉明距离)。
由于计算量的关系,很少采用穷尽的方式进行匹配,多采用恒
速等模型在预期区域中搜索潜在的对应关系。如果是双目匹
配或者深度滤波器中计算每个像素的深度,通常采用极线搜索
和采用归一化互相关(normalizedcrosscorrelation,NCC)或绝对
误差和(
sumofsquareddifferences,SSD)找到匹配点。对于双
目来说,为了保证准确匹配,可以采用环形检测对左右和前后
总共四张图像验证是否形成匹配环
[13]
。运动估计就是根据特
征点的匹配情况恢复出两帧间的相机运动。针对特征点匹配
的情况,运动估计分为 2D2D、3D2D、3D3D(图 4)。其求解方
法可以分为几何方法和优化方法。几何方法主要是根据对极
几何理论得到两帧间的对应关系;优化方法主要是构建两帧间
的重投影误差并使其最小,从而得到帧间变换。
a)2D2D主要是针对单目相机的初始化过程,在不知道空
间中 3D点的情况下(如未进行初始化)通过两帧间匹配的特
征点进行帧间相机运动估计,如图 5所示。它涉及到对极几何
中本质矩阵(E)或单应性矩阵(H)的相关理论及其分解,通常
在图像的特征匹配中难免会有“外点”,可以采用随机采样一
致(RANSAC)得到最大“内点”子集的 E或 H。对极几何视图
如图 6所示,P
1
、P
2
和 t共面得到 P
T
2
·(t×P′
1
)=0,进一步得
到
P
T
2
EP
1
=0,其中 E=[t]
×
R。针对 E的分解,经典的八点法
是当做线性方程来解
[14]
,然后把结果投影到 E所在的流形上
(利用 E的内在性质
[5]
);另一方面,E有五个自由度最小可以
通过
5点法求解
[15]
。有文献提到利用八个点求 E得到的解更
精确。实际中这些影响可以忽略,因为通常将该结果作为初值,
随后通过优化求解。针对单应性矩阵 H(八个自由度),它描述
的是两个平面间的运动关系,当特征点都集中在同一个平面上
(如无人机俯拍地面),则通过单应性来进行运动估计。H可以
用四组(每三组不共线)匹配特征点采用直接线性变换法(DLT)
算出
[5]
。采用哪种方案求出相机间的运动估计可根据各个不同
的应用场合,例如 SVO采用分解 H 主要用于无人机的俯拍,
ORBSLAM同时求解 E和 H进行打分,选择分数高的方案。
b)3D2D就是 PnP(perspectivenpoint)。求解 3D到 2D
点对运动的方法,描述的是当知道 N个 3D空间点及其投影位
置时(例如单目,已经初始化完毕,知道特征点的 3D位置)如
何估计相机位姿。当然双目或者深度相机可以直接使用 PnP。
对它的求解有
DLT、P3P
[16]
、EPnP
[17]
、UPnP
[18]
。现在常用的
做法是先采用 P3P得到初始解,然后构建重投影误差,使之最
小化。如图
7所示,P
1
和 P
2
是空间点 P=[X,Y,Z]
T
的投影,
在初始解中 P的投影为 P′
2
,P′
2
=[
u
2
v
2
]
T
=(1/Z
2
)KT
k
P=
·2821·
计 算 机 应 用 研 究 第 37卷
剩余10页未读,继续阅读
资源评论
weixin_38737213
- 粉丝: 1
- 资源: 977
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功