浙江大学学报(工学版), 2021, 55(2): 402-409 doi: 10.3785/j.issn.1008-973X.2021.02.021

计算机与控制工程

基于点线特征的快速视觉SLAM方法

马鑫,, 梁新武,, 蔡纪源

上海交通大学 航空航天学院,上海 200240

Fast visual SLAM method based on point and line features

MA Xin,, LIANG Xin-wu,, CAI Ji-yuan

School of Aeronautics and Astronautics, Shanghai Jiao Tong University, Shanghai 200240, China

通讯作者: 梁新武,男,副教授. orcid.org/0000-0002-8246-6546. E-mail: xinwuliang@sjtu.edu.cn

收稿日期: 2020-03-12  

基金资助: 国家自然科学基金资助项目(61673272)

Received: 2020-03-12  

Fund supported: 国家自然科学基金资助项目(61673272)

作者简介 About authors

马鑫(1992—),男,硕士生,从事计算机视觉研究.orcid.org/0000-0002-2008-5385.E-mail:maxin1900@sjtu.edu.cn , E-mail:maxin1900@sjtu.edu.cn

摘要

为了提高RGB-D相机同时定位与地图构建(SLAM)系统在弱纹理场景下的定位精度和鲁棒性,提出快速的基于点线特征的SLAM方法. 在非关键帧的追踪过程中,基于描述子进行点特征匹配,基于几何约束进行线特征匹配;当插入新的关键帧时,计算线特征描述子以完成关键帧间的线特征匹配,并利用线特征三角化算法生成地图线. 通过降低线特征匹配过程运算量来提高SLAM系统的实时性. 此外,利用线特征的深度测量信息构造虚拟右目线段,并提出新的线特征重投影误差计算方法. 在公开数据集上的实验结果表明,与ORB-SLAM2等主流方法相比,所提算法提高了RGB-D SLAM系统在弱纹理场景下的定位精度;与传统点线特征结合的SLAM方法相比,所提算法的时间效率提高了约20%.

关键词: 视觉同时定位与地图构建(SLAM) ; 点线特征 ; 几何约束 ; 时间效率 ; RGB-D

Abstract

A fast simultaneous localization and mapping (SLAM) algorithm based on point and line features was proposed in order to improve the localization accuracy and the robustness of SLAM system under RGB-D cameras in low-textured scenes. During the tracking of non-keyframes, point feature matching was performed based on descriptors, and line feature matching was performed based on geometric constraints. When a new keyframe was inserted, the descriptors of the line features were calculated to complete the line feature matching between the keyframes, and the line feature triangulation algorithm was used to generate map lines. The real-time performance of the SLAM system was improved by reducing the amount of calculation in the line feature matching process. In addition, virtual right-eye lines were constructed using the depth measurement information of line features, and a new method for calculating reprojection errors of line features was proposed. Experimental results on public datasets showed that compared with mainstream methods such as ORB-SLAM2, the proposed algorithm improved the localization accuracy of the RGB-D SLAM system in low-textured scenes. The time efficiency of the proposed algorithm was improved by about 20% compared with traditional SLAM method combining point and line features.

Keywords: visual simultaneous localization and mapping (SLAM) ; point and line features ; geometric constraints ; time efficiency ; RGB-D

PDF (1768KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

马鑫, 梁新武, 蔡纪源. 基于点线特征的快速视觉SLAM方法. 浙江大学学报(工学版)[J], 2021, 55(2): 402-409 doi:10.3785/j.issn.1008-973X.2021.02.021

MA Xin, LIANG Xin-wu, CAI Ji-yuan. Fast visual SLAM method based on point and line features. Journal of Zhejiang University(Engineering Science)[J], 2021, 55(2): 402-409 doi:10.3785/j.issn.1008-973X.2021.02.021

近几十年来,视觉同时定位与地图构建(simultaneous localization and mapping,SLAM)技术是计算机视觉和移动机器人领域的一大研究热点,其核心在于帮助机器人更加准确高效地认知自身方位以及周围环境的几何结构.

目前,主流视觉SLAM方法多采用非线性优化的框架. 根据对图像信息利用方式的不同,可以将视觉SLAM方法分为基于特征提取与匹配的特征法和基于光度一致性假设的直接法两大类. 在基于特征的方法中,点特征因其简单性最为常用. 典型的点特征方法首先利用特征检测算法提取图像中的显著角点,其次根据角点附近领域信息计算特征描述子以完成特征匹配,最后基于特征点的数据关联情况构造优化问题并求解状态变量,如PTAM[1]、ORB-SLAM[2]. 然而,基于点特征的SLAM系统过于依赖点特征的质量与数量,在弱纹理场景,例如走廊、窗户、白墙等,很难检测到足够数量的点特征,从而影响系统的鲁棒性和精度,甚至会出现跟踪失败. 另外,由于相机快速运动、弱纹理以及光照变化等原因,点特征的匹配数量和质量也会严重下降.

为了改善点特征SLAM方法的性能,线特征在SLAM系统中的使用受到越来越多的关注. 线特征在人造环境中较为丰富且对光照变化更加鲁棒. 点线特征的结合使用可以增大在弱纹理场景下SLAM系统特征提取的数量.

Vakhitov等[3]提出点线特征结合下的EPnPL和OPnPL算法. Zuo等[4]尝试在点线特征结合的SLAM系统前端算法中采用普吕克坐标表示线特征,在后端优化算法中采用最小正交表示参数化线特征. Pumarola等[5]在ORB-SLAM的基础上加入线特征,并提出利用线特征进行系统初始化的方法. Gomez-Ojeda等[6]首次开源基于双目的点线特征SLAM方法,在回环检测模块中充分考虑并权衡点线特征. PL-VIO在基于点特征的视觉惯性系统(visual inertial system,VINS)中引入线特征,取得了不错的定位精度[7]. 传统的线特征重投影误差主要基于点线之间的距离,Wang等[8]将直线角度也加入了线特征重投影误差的构造中.

在基于点特征的SLAM方法中引入线特征,一方面增加了点特征缺失情况下的特征观测与数据关联数量,另一方面线特征对光照变化没有点特征敏感,使得原系统的定位精度和鲁棒性都有所改善. 但是,目前大多数点线特征结合的SLAM方法采用类似于点特征的方式处理线特征,即每一帧提取线特征并计算描述子,根据线特征描述子完成帧间或帧与地图间的特征匹配. 这些方法的计算量几乎扩大一倍,运行效率有所下降,使得时间效率表现不佳成为点线特征结合方法的缺点和瓶颈. Gomez-Ojeda等[9]提出在高动态范围双目图像序列中采用基于几何约束构建最小化L1范数的方法完成线特征匹配. 与基于描述子的传统方法相比,该方法有效提高了线特征的追踪效率以及特定场景下的匹配质量.

与单目和双目相机不同,深度相机(RGB-D)不需要额外算法来计算像素点的深度,在室内场景中具有较大的优势. DVO-SLAM[10]通过最小化光度和深度误差求解相机位姿,是经典的深度相机SLAM算法之一. ORB-SLAM2[11]是基于点特征的著名视觉SLAM开源算法,兼具高精度和良好的鲁棒性,适用于单目、双目和RGB-D相机.

基于特征的SLAM系统由于每帧图像都要进行特征的提取及匹配,其运行效率易受前端算法的影响. 相比于仅依赖于点特征的方法,点线特征结合的视觉SLAM方法提高了在弱纹理场景、光照变化及相机快速运动等情况下的定位精度与鲁棒性,但线特征的引入增加了特征提取与匹配环节的时间消耗,使得SLAM系统的运行效率下降.

为了有效提高基于点线特征的视觉SLAM系统的实时性,提出RGB-D相机下快速的视觉SLAM算法. 在非关键帧的追踪过程中,基于描述子进行点特征匹配,基于几何约束进行线特征匹配,根据当前帧与地图之间的特征匹配结果对当前帧位姿进行优化求解. 当插入新的关键帧时,计算线特征描述子以完成关键帧之间的线特征匹配,并利用三角化算法生成地图线特征. 通过降低特征匹配过程运算量来提高SLAM系统的实时性. 此外,基于线特征的深度测量信息,通过构造虚拟右目线段的方法提出新的线特征重投影误差. 本研究旨在提高传统点线特征结合SLAM方法的时间效率,以及更好地利用线特征观测信息.

1. 系统框架

在线特征匹配方面,受Gomez-Ojeda等[9]的工作启发,针对传统点线结合方法计算开销大的问题,提出利用几何约束进行相邻图像帧之间的线特征匹配,从而避免不必要的线特征描述子计算. 考虑到局部地图线程中关键帧之间运动较大且须进行特征匹配,在关键帧上计算线特征描述子并基于描述子完成关键帧间的线特征匹配.

本研究SLAM系统共分为三大线程:追踪(视觉里程计)、局部地图和回环检测,如图1所示. 该系统搭建在ORB-SLAM2的基础之上,其中涉及点特征的所有操作与ORB-SLAM2基本一致. 因此,本研究将着重阐述关于线特征的主要算法.

图 1

图 1   本研究SLAM系统算法框架图

Fig.1   Algorithm framework of proposed SLAM system


2. 基于点线特征的快速SLAM算法

2.1. 线特征追踪与误匹配剔除

采用LSD[12]算法提取线特征,该算法可以较好地平衡特征提取的精度和效率. 大多数基于点线特征的SLAM算法在提取线特征的同时会计算线特征描述子,通常以LBD[13]描述子算法为主. 若每帧图像都要计算线特征描述子将不可避免地影响SLAM系统的运行效率. 线特征不同于点特征,是更高维度的特征,有着更加丰富的几何信息,例如长度和角度. 通常,相机的相邻图像帧之间运动较小,因此线特征匹配可以不借助于描述子,而是通过线段的几何约束来完成. 这种几何约束具体表现有:两匹配线段的长度和角度应该相似;在图像平面上匹配线段的相对平移距离较小.

在局部地图线程中,当前关键帧须与其他的局部地图关键帧进行线特征匹配,这些关键帧之间往往距离较远,图像差别较大,此时两匹配线段的几何约束条件难以满足. 因而,在插入新的关键帧时,本研究所提算法须额外计算线特征的LBD描述子,并基于此完成关键帧之间的线特征匹配. 另外,回环检测模块中词袋模型算法[14]须基于关键帧的特征描述子判断当前关键帧是否检测为回环. 综合以上因素,在关键帧上为线特征计算描述子可以充分发挥线特征在局部地图和回环检测模块中的作用.

在非关键帧线特征追踪过程中,须根据线特征(线段)的几何约束完成线特征匹配. 假设源线段为 $ {l}_{1} $,目标线段为 $ {l}_{1}^{'} $,其长度分别为 $ \left|{l}_{1}\right| $$ \left|{l}_{1}^{'}\right| $. 线特征提取过程会计算线段在像素平面的角度,假设两线段的角度分别为 $ {\theta }_{1} $$ {\theta }_{1}^{'} $,且中点为 $ {M}_{1} $$ {M}_{1}^{'} $. 如果满足以下3点,则认为线段 $ {l}_{1} $$ {l}_{1}^{'} $为匹配线段.

1)两线段的角度相似,即角度之差小于某阈值 $ \alpha $

$ \left|{\theta }_{1}-{\theta }_{1}^{'}\right|<\alpha . $

2)两线段的长度相似,较短线段与较长线段长度比值大于某阈值 $ \;\beta $

$ \frac{{\min}\;\left(\left|{l}_{1}\right|,\;\;\left|{l}_{1}^{'}\right|\right)}{{\max}\;\left(\left|{l}_{1}\right|,\;\;\left|{l}_{1}^{'}\right|\right)}>\beta . $

3)两线段中点的距离相近,即中点的距离小于某阈值 $ \gamma $

$ \left|{M}_{1}-{M}_{1}^{'}\right|<\gamma . $

根据上述算法得到的线特征匹配结果会存在误匹配的情况. 通常,相邻两帧的匹配线特征基本符合旋转一致性,即所有匹配线特征的位移方向基本一致. 因此,提出采用绝对中位差算法(median absolute deviation,MAD)估算这种位移变化的标准差,并基于此对误匹配进行剔除. 假设共有 $ N $对匹配线段:

$ i $对匹配线段的中点分别为 $ ({u}_{i},{v}_{i}) $$ ({u}_{i}^{'},{v}_{i}^{'}) $,定义第 $ i $对匹配线段中点的旋转角度 $ {\phi }_{i} $

$ {\phi }_{i}={\rm{atan}}\;\;\frac{{v}_{i}^{'}-{v}_{i}}{{u}_{i}^{'}-{u}_{i}} . $

考虑所有匹配线段的中点旋转角度 $\phi\! =\!\left\{{\phi }_{1}{,\cdots ,\phi }_{N}\right\}$,则MAD定义为

$ {\rm{MAD}}={\rm{median}}\;\left(\left|{\phi }_{i}-{\rm{median}}\;\left(\phi \right)\right|\right) . $

式中: $ {\rm{median}}\;( \cdot ) $为中值函数. 因此, $ \phi $的标准差 $\sigma =1.482\;6\;{\rm{MAD}}$. 令均值函数为 $ {\rm{mean}}\;( \cdot ) $,若第 $ i $对匹配线段满足

$ \left|{\phi }_{i}-{\rm{mean}}\;\left(\phi \right)\right|> \sigma , $

则认为该对匹配线段为误匹配,并将其剔除.

2.2. 线特征重投影误差

空间线的表示可以有不同的参数化形式,例如使用普吕克坐标[4, 7]或2个端点进行参数化[5-6]. 由于线特征提取的特性,使得两匹配线特征的端点往往不能严格对齐,因此不同于点特征重投影误差计算方式,线段端点的重投影误差并不能用投影点和匹配线段端点之间的几何距离度量. 然而,同一个空间线段上的点在不同视角下总保持共线的关系. 两匹配线特征虽然端点不能严格对齐,但满足投影点与匹配点处于同一直线的共线约束.

图2所示,对于空间线段 $ {P}_{\rm{w}}{Q}_{\rm{w}} $,将其投影到图像平面,令其投影线段的端点坐标为 ${({u}_{1},{v}_{1})}$${({u}_{2},{v}_{2})}$. 假设这2个端点对应的齐次坐标为 ${{P}}^{'}{\text{、}} {{Q}}^{'}$,其中 ${{P}}^{'}={[{u}_{1},{v}_{1},1]}^{\rm{T}},{{Q}}^{'}= {[{u}_{2},{v}_{2},1]}^{\rm{T}},\; {{P}}^{'}{\text{、}} {{Q}}^{'} \in {\bf{R}}^3$. 在图像平面内,空间线段 $ {P}_{\rm{w}}{Q}_{\rm{w}} $对应的二维匹配线特征的两端点对应的齐次坐标为 $ {{P}}{\text{、}}{{Q}}\in {\bf{R}}^{2} $. 在二维图像平面,可以计算出由点 $ {{P}} $$ {{Q}} $确定的直线方程,令该直线方程的直线系数为 $ {{l}}_{0}={[a,b,c]}^{\rm{T}} $,即该直线方程为 $ ax+by+c=0 $. 进一步,定义线段 $ PQ $的规范化直线系数为

图 2

图 2   线特征重投影误差

Fig.2   Reprojection error of line feature


$ {{l}}=\frac{{{l}}_{0}}{\sqrt{{a}^{2}+{b}^{2}}} . $

根据2个投影端点齐次坐标 $ {{P}}^{'} $$ {{Q}}^{'} $到直线 $ {{l}} $的距离Epl,可以定义线特征的重投影误差Eline

$ {E}_{\rm{line}}\left({{P}}^{'},{{Q}}^{'},{{l}}\right)={E}_{\rm{pl}}^{2}\left({{P}}^{'},\;{{l}}\right)+{E}_{\rm{pl}}^{2}\left({{Q}}^{'},\;{{l}}\right), $

$ {E}_{\rm{pl}}\left({{P}}^{'},{{l}}\right)={{l}}^{\rm{T}}{{P}}^{'} . $

在单目和双目相机中,线特征的重投影误差多采用式(8)的方法构造而成. 但是,对于RGB-D相机而言,每一幅彩色图都有与之对应的深度图. 因此,线特征上的像素点往往具有深度测量信息. 为了充分利用线特征的测量信息,本研究在构造线特征重投影误差时对线段深度测量数据也加以考虑.

图3所示,将某一彩色图像帧看作是双目相机模型中的左目图像 $ {F}_{\rm{L}} $(即真实的当前帧),从该图像上所提取的线特征为 $ {S}_{\rm{L}}{E}_{\rm{L}} $,假设与该线特征匹配的空间线段为 $ {S}_{\rm{w}}{E}_{\rm{w}} $. 首先,构造一个虚拟的右目图像帧 $ {F}_{\rm{R}} $,假设左目某像素点的像素测量为 $ (u,v) $,深度测量为 $ d $,则该像素点对应的右目坐标为

图 3

图 3   像素与深度测量信息结合的线特征重投影误差

Fig.3   Line feature reprojection error combining pixel and depth measurement information


$ \begin{array}{l}{u}_{\rm{R}}=u-\dfrac{{f}_{x}b}{d},\; {v}_{\rm{R}}=v .\end{array} $

式中: $ {f}_{x} $为相机横轴焦距, $ b $为双目相机模型中基线. 根据式(10),可以计算出 $ {S}_{\rm{L}} $$ {E}_{\rm{L}} $所对应的右目像素点 $ {S}_{\rm{R}} $$ {E}_{\rm{R}} $. 根据多视图几何知识,在深度观测准确的情况下,左目线段上某像素点在右目图像上的对应像素点应位于线段 $ {S}_{\rm{R}}{E}_{\rm{R}} $之上. 类似于左目图像 $ {F}_{\rm{L}} $上线特征重投影误差的构造方法,也可以构造同一空间线段在右目图像 $ {F}_{\rm{R}} $上所对应的重投影误差. 换言之,左目线段 $ {S}_{\rm{L}}{E}_{\rm{L}} $的深度观测数据可以被整合在右目线段的重投影误差中.

假设三维空间线段 $ {S}_{\rm{w}}{E}_{\rm{w}} $在左目图像的投影线段对应的端点齐次坐标为 $ {{S}}_{\rm{L}}^{'} $$ {{E}}_{\rm{L}}^{'} $(即优化问题中的预测值),在右目图像的投影线段端点齐次坐标为 $ {{S}}_{\rm{R}}^{'} $$ {{E}}_{\rm{R}}^{'} $. 原始图像上的匹配线段观测为 $ {S}_{\rm{L}}{E}_{\rm{L}} $(即优化问题中的测量值)且对应的规范化直线系数为 $ {{L}}_{\rm{L}} $,同时根据深度信息计算出虚拟的右目线段观测 $ {S}_{\rm{R}}{E}_{\rm{R}} $和对应的规范化直线系数 $ {{L}}_{\rm{R}} $. 最终,空间线段 $ {S}_{\rm{w}}{E}_{\rm{w}} $在当前帧的重投影误差定义为

$ {E}_{\rm{final}}={E}_{\rm{line}}\left({{S}}_{\rm{L}}^{'},{{E}}_{\rm{L}}^{'},{{L}}_{\rm{L}}\right)+{E}_{\rm{line}}\left({{S}}_{\rm{R}}^{'},{{E}}_{\rm{R}}^{'},{{L}}_{\rm{R}}\right) . $

在本研究所提线重投影误差构造的方法中,一个重要的问题是如何判断线段上的像素点所对应的深度值准确有效. 通常,可以设定一深度阈值 $ {\varOmega } $,当深度测量值大于该阈值时视该测量值无效,反之有效. 为了构造较为准确的虚拟右目线段,本研究提出虚拟右目线段生成算法. 该算法的核心思想是:从实际观测线段的2个端点开始,利用二分查找法逐点寻找线段上深度测量准确的像素点作为新端点,基于新端点再构造虚拟右目线段. 如果搜寻结束仍未找到合适的端点,说明该线段的空间位置距离相机较远或线段上的深度测量数据噪声过大. 此时,对该线段不为其生成虚拟右目线段,其重投影误差的计算仅采用图像的像素观测忽略深度观测.

2.3. 线特征三角化算法

类似于点的线性三角化算法[15],直线的线性三角化算法目的是通过两图像帧上的匹配线段得到空间线段的位置. 在本研究SLAM系统的局部地图线程中,若某线特征对应的深度值观测无效,则须通过三角化算法生成相应的地图线. 如果两匹配线段的端点严格对齐,则只须通过点的线性三角化算法即可计算出空间直线的对应端点. 但实际上,匹配线段的两端点往往不能保证严格对准. 因此,本研究推导了基于极平面的线特征三角化算法.

图4所示,假设两图像帧分别为 $ {F}_{1} $$ {F}_{2} $,第1帧的位姿为 $ {{T}}_{1{\rm{w}}} $(矩阵,维度为3×4),表示从世界坐标系到第1帧坐标系的变换,类似地,第2帧的位姿为 $ {{T}}_{2{\rm{w}}} $. 假设第1帧下线特征的2个端点为 $ {{Q}}_{1} $$ {{S}}_{1} $,第2帧下线特征的2个端点为 $ {{Q}}_{2} $$ {{S}}_{2} $. 两匹配直线所对应的极平面分别为 $ {O}_{1}{Q}_{1}{S}_{1} $$ {O}_{2}{Q}_{2}{S}_{2} $,则线特征所对应的空间线段必定位于两极平面的交线 $ L $上. 空间直线 $ L $上与 $ {{Q}}_{1} $$ {{S}}_{1} $对应的三维点为 $ {{Q}}_{\rm{w}} $$ {{S}}_{\rm{w}} $.

图 4

图 4   线特征三角化算法

Fig.4   Triangulation algorithm of line feature


对三维空间点 $ {{Q}}_{\rm{w}} $,其齐次坐标为 $ {[X,Y,Z,1]}^{\rm{T}} $,已知该三维点在第1帧下的投影对应于 $ {{Q}}_{1} $,在第2帧下的投影对应于 $ {{Q}}_{2}^{'} $. 假设 $ {Q}_{{\rm{w}}} $在第1帧相机坐标系下归一化坐标 ${{Q}}_{1}=\left[ {{X_1}/{Z_1},} \right.$ ${\left. {{Y_1}/{Z_1},1} \right]^{\rm{T}}} $$ {{Q}}_{\rm{w}} $在第2帧相机坐标系下归一化坐标 ${{Q}}_{2}^{'}= \left[ {{X}_{2}^{'}/{Z}_{2}^{'}, } \right. \left. { {Y}_{2}^{'}/{Z}_{2}^{'},1} \right]^{\rm{T}}$. 根据相机模型可以得到以下关系:

$ \begin{array}{c} {Z}_{1}{{Q}}_{1}={{T}}_{1{\rm{w}}}{{Q}}_{\rm{w}},\; {Z}_{2}^{'}{{Q}}_{2}^{'}={{T}}_{2{\rm{w}}}{{Q}}_{\rm{w}} . \end{array} $

可以推得

$ {{{Q}}_1^ \wedge} {{T}}_{1{\rm{w}}}{{Q}}_{\rm{w}}={{0}} . $

式中:^表示向量到反对称矩阵的转换符,即

$ {{Q}}_1^ \wedge = \left[ {\begin{array}{*{20}{c}} 0&{ - 1}&{{Y_1}/{Z_1}}\\ 1&0&{ - {X_1}/{Z_1}}\\ { - {Y_1}/{Z_1}}&{{X_1}/{Z_1}}&0 \end{array}} \right]. $

$ {{Q}}_{2}^{'} $为三维空间点 $ {{Q}}_{\rm{w}} $在第2帧上的投影,因线特征端点不严格对齐, $ {{Q}}_{2}^{'} $的位置往往不同于 $ {{Q}}_{2} $. 在第2帧图像平面,通过两端点 $ {{Q}}_{2} $$ {{P}}_{2} $确定该线特征所在直线的直线系数,假设该直线系数为 $ {{l}}_{2} $. 根据共线约束,可知 $ {{Q}}_{2}^{'} $应位于直线 $ {{l}}_{2} $上,即 $ {{Q}}_{2}^{'} $到直线 $ {{l}}_{2} $的距离为零:

$ {{l}}_{2}^{\rm{T}} {{Q}}_{2}^{'}={{l}}_{2}^{\rm{T}} \frac{1}{{Z}_{2}^{'}}{{T}}_{2{\rm{w}}}{{Q}}_{\rm{w}}=0 . $

$ {{l}}_{2}^{\rm{T}} {{T}}_{2{\rm{w}}}{{Q}}_{\rm{w}}=0 . $

将式(13)和(16)整合得到

$ \begin{array}{c}\left[\begin{array}{c}{{Q}}_{1}^\wedge {{T}}_{1{\rm{w}}}\\ {{l}}_{2}^{\rm{T}} {{T}}_{2{\rm{w}}}\end{array}\right]{{Q}}_{\rm{w}}={{0}} .\end{array} $

通过奇异值分解方法可以求解空间直线端点 $ {{Q}}_{\rm{w}} $. 类似地,对于端点 $ {{S}}_{\rm{w}} $,求解式为

$ \begin{array}{c}\left[\begin{array}{c}{{S}}_{1}^\wedge {{T}}_{1{\rm{w}}}\\ {{l}}_{2}^{\rm{T}} {{T}}_{2{\rm{w}}}\end{array}\right]{{S}}_{\rm{w}}={{0}} .\end{array} $

3. 实验验证与分析

本研究相关实验在笔记本电脑上开展,基本参数为:英特尔酷睿i7-8550U,最高睿频4.0 GHz,四核八线程处理器,8 G内存.

3.1. 线特征匹配

在本研究SLAM系统的追踪线程中,可以根据线特征的几何约束完成特征匹配,从而避免计算线特征描述子,降低匹配过程的运算量. 如图5所示,基于LBD描述子的线特征匹配数量较多,但仍存在误匹配的情况. 基于本研究所提几何约束和误匹配剔除策略的线特征匹配结果如图6所示.

图 5

图 5   基于LBD描述子的线特征匹配

Fig.5   Line feature matching based on LBD descriptor


图 6

图 6   基于几何约束和误匹配剔除的线特征匹配

Fig.6   Line feature matching based on geometric constraints and mismatch culling


在时间开销方面,图5中线特征匹配过程耗时 $ 4.5\times {10}^{-2}\;\mathrm{s} $图6中匹配过程耗时 $ 4.7\times {10}^{-5}\;\mathrm{s} $. 显然,与基于LBD描述子的线特征匹配方法相比,基于几何约束的线特征匹配方法速度更快. 本节实验仅单独测试不同算法下线特征匹配效果. 考虑到完整SLAM系统的复杂性,实验结果对SLAM系统时间效率只具有定性的参考意义.

3.2. 时间效率

为了衡量本研究算法与传统点线特征结合SLAM系统的时间性能差异,选取TUM RGB-D数据集[16]上fr3/ntn序列测试并对比本研究与PL-SLAM[5]算法的每帧图像追踪时间,如图7所示. 图中,t为追踪时间,Fra为帧数. 因PL-SLAM未开源,基于文献[5]中的思想开发了RGB-D版本PL-SLAM并对其进行测试. 在PL-SLAM算法中,所有线特征匹配过程均基于LBD描述子完成. 本研究算法平均每帧图像的追踪时间为67 ms,而PL-SLAM的平均追踪时间为84 ms. 与PL-SLAM相比,本研究算法的时间效率提高了约20%. 此外,本研究统计了TUM RGB-D数据集fr1/xyz序列上本研究算法与PL-SLAM算法两大线程(追踪和局部地图)中各主要操作的时间消耗,如表1所示.

图 7

图 7   fr3/ntn序列上本研究算法与PL-SLAM追踪时间对比

Fig.7   Comparison of tracking time between proposed method and PL-SLAM on sequence fr3/ntn


表 1   fr1/xyz序列上本研究算法与PL-SLAM的追踪与局部地图线程时间效率

Tab.1  Tracking and local mapping times of proposed method and PL-SLAM on sequence fr1/xyz

ms
线程 操作 PL-SLAM 本研究算法
追踪 特征提取 57.38 46.27
追踪局部地图 22.87 15.48
局部地图 关键帧插入 32.59 24.48
地图特征剔除 1.02 0.97
地图特征生成 33.01 17.50
局部地图优化 334.30 270.68
关键帧剔除 16.66 9.01

新窗口打开| 下载CSV


3.3. 定位精度

通过公开数据集上的实验来验证本研究所提算法的定位精度. ICL-NUIM是针对RGB-D相机的仿真数据集[17],该数据集上的颜色图和深度图会根据噪声模型进行数据处理,以模拟真实的相机传感器数据. 在某些序列下,弱纹理场景较多,对视觉SLAM方法是一大挑战. TUM RGB-D是使用Kinect相机采集的真实室内场景数据集,常被用作验证不同RGB-D SLAM算法的性能表现.

ICL-NUIM和TUM RGB-D数据集上本研究算法与一些典型SLAM算法的定位精度对比结果如表2所示,这些对比方法包括PL-SLAM、ORB-SLAM2、LPVO[18]和DVO-SLAM. 在PL-SLAM算法中线特征重投影误差计算采用传统的单帧图像上点线距离构造,如式(8)所示. 采用绝对轨迹误差(absolute trajectory error,ATE)衡量不同算法所估计轨迹与真值轨迹间的差异. 由表2可以看出,本研究算法在大多数序列上表现优异.

表 2   ICL-NUIM和TUM RGB-D数据集上不同算法绝对轨迹误差对比

Tab.2  Comparison of ATE among different methods on ICL-NUIM and TUM RGB-D datasets

m
序列 本研究算法 PL-SLAM ORB-SLAM2 LPVO DVO-SLAM
lr_kt0 0.006 0.010 0.008 0.015 0.108
lr_kt1 0.010 0.025 0.135 0.039 0.059
lr_kt2 0.018 0.023 0.029 0.034 0.375
lr_kt3 0.014 0.013 0.014 0.102 0.433
of_kt0 0.035 0.046 0.056 0.061 0.244
of_kt1 0.022 0.035 0.058 0.052 0.178
of_kt2 0.027 0.034 0.025 0.039 0.099
of_kt3 0.018 0.036 0.050 0.030 0.079
fr1/xyz 0.009 0.010 0.010 0.011
fr1/room 0.040 0.056 0.059 0.053
fr1/360 0.130 0.161 0.228 0.083
fr3/ntn 0.012 0.018 0.024 0.018
fr3/ntf 0.025 0.038 0.051
fr3/stf 0.009 0.014 0.013 0.174 0.048

新窗口打开| 下载CSV


本研究算法、PL-SLAM和ORB-SLAM2所估计的轨迹对比如图8所示. lr_kt1序列存在较多的弱纹理场景,由图8(a)可以看到,ORB-SLAM2算法在该序列上的定位精度急剧下降.

图 8

图 8   本研究算法、PL-SLAM和ORB-SLAM2所估计轨迹对比图

Fig.8   Comparison of estimated trajectories among proposed method, PL-SLAM and ORB-SLAM2


4. 结 语

提出新的点线特征结合的视觉SLAM框架,利用几何约束进行非关键帧上的线特征匹配,从而减少特征匹配过程计算量. 同时,针对RGB-D相机,提出基于像素与深度观测信息的线特征重投影误差计算方法. 实验表明,与经典的RGB-D SLAM方法相比,所提方法具有更高的定位精度,尤其是针对弱纹理场景. 同时,相比于传统基于线特征描述子的点线特征视觉SLAM方法,所提SLAM系统时间效率得到了有效提高.

参考文献

KLEIN G, MURRAY D. Parallel tracking and mapping for small AR workspaces [C]// Proceedings of the 2007 6th IEEE and ACM International Symposium on Mixed and Augmented Reality. Washington DC: IEEE, 2007: 1-10.

[本文引用: 1]

MUR-ARTAL R, MONTIEL J M M, TARDOS J D

ORB-SLAM: a versatile and accurate monocular SLAM system

[J]. IEEE Transactions on Robotics, 2015, 31 (5): 1147- 1163

DOI:10.1109/TRO.2015.2463671      [本文引用: 1]

VAKHITOV A, FUNKE J, MORENO-NOGUER F. Accurate and linear time pose estimation from points and lines [C]// European Conference on Computer Vision. Amsterdam: Springer, Cham, 2016: 583-599.

[本文引用: 1]

ZUO X, XIE X, LIU Y, et al. Robust visual SLAM with point and line features [C]// 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems. Vancouver: IEEE, 2017: 1775-1782.

[本文引用: 2]

PUMAROLA A, VAKHITOV A, AGUDO A, et al. PL-SLAM: real-time monocular visual SLAM with points and lines [C]// 2017 IEEE International Conference on Robotics and Automation. Singapore: IEEE, 2017: 4503-4508.

[本文引用: 4]

GOMEZ-OJEDA R, MORENO F A, ZUÑIGA-NOËL D, et al

Pl-slam: a stereo slam system through the combination of points and line segments

[J]. IEEE Transactions on Robotics, 2019, 35 (3): 734- 746

[本文引用: 2]

HE Y, ZHAO J, GUO Y, et al

Pl-vio: tightly-coupled monocular visual-inertial odometry using point and line features

[J]. Sensors, 2018, 18 (4): 1159

DOI:10.3390/s18041159      [本文引用: 2]

WANG R, DI K, WAN W, et al

Improved point-line feature based visual SLAM method for indoor scenes

[J]. Sensors, 2018, 18 (10): 3559

DOI:10.3390/s18103559      [本文引用: 1]

GOMEZ-OJEDA R, GONZALEZ-JIMENEZ J. Geometric-based line segment tracking for HDR stereo sequences [C]// 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems. Madrid: IEEE, 2018: 69-74.

[本文引用: 2]

KERL C, STURM J, CREMERS D. Dense visual SLAM for RGB-D cameras [C]// 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems. Tokyo: IEEE, 2013: 2100-2106.

[本文引用: 1]

MUR-ARTAL R, TARDÓS J D

Orb-slam2: an open-source slam system for monocular, stereo, and RGB-D cameras

[J]. IEEE Transactions on Robotics, 2017, 33 (5): 1255- 1262

DOI:10.1109/TRO.2017.2705103      [本文引用: 1]

VON GIOI R G, JAKUBOWICZ J, MOREL J M, et al

LSD: afast line segment detector with a false detection control

[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2008, 32 (4): 722- 732

[本文引用: 1]

ZHANG L, KOCH R

An efficient and robust line segment matching approach based on LBD descriptor and pairwise geometric consistency

[J]. Journal of Visual Communication and Image Representation, 2013, 24 (7): 794- 805

DOI:10.1016/j.jvcir.2013.05.006      [本文引用: 1]

GÁLVEZ-LÓPEZ D, TARDOS J D

Bags of binary words for fast place recognition in image sequences

[J]. IEEE Transactions on Robotics, 2012, 28 (5): 1188- 1197

DOI:10.1109/TRO.2012.2197158      [本文引用: 1]

HARTLEY R, ZISSERMAN A. Multiple view geometry in computer vision [M]. Cambridge: Cambridge University Press, 2003.

[本文引用: 1]

STURM J, ENGELHARD N, ENDRES F, et al. A benchmark for the evaluation of RGB-D SLAM systems [C]// 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems. Vilamoura: IEEE, 2012: 573-580.

[本文引用: 1]

HANDA A, WHELAN T, MCDONALD J, et al. A benchmark for RGB-D visual odometry, 3D reconstruction and SLAM [C]// 2014 IEEE International Conference on Robotics and Automation (ICRA). Hong Kong: IEEE, 2014: 1524-1531.

[本文引用: 1]

KIM P, COLTIN B, KIM H J. Low-drift visual odometry in structured environments by decoupling rotational and translational motion [C]// 2018 IEEE International Conference on Robotics and Automation. Brisbane: IEEE, 2018: 7247-7253.

[本文引用: 1]

/