一种改进点线特征提取与匹配的SLAM算法

龚迪琛 ,  蒋杨 ,  赵俊杰 ,  郝兴安

科学技术与工程 ›› 2026, Vol. 26 ›› Issue (3) :1135-1146

PDF (16635KB)
科学技术与工程 ›› 2026, Vol. 26 ›› Issue (3) :1135-1146 DOI: 10.12404/j.issn.1671-1815.2500427
论文:自动化技术、计算机技术

一种改进点线特征提取与匹配的SLAM算法

作者信息 +

Improved SLAM Algorithm for Feature Extraction and Matching of Points and Lines

Author information +
文章历史 +

摘要

目前多数视觉即时定位与地图构建(simultaneous localization and mapping, SLAM)方案都是通过提取环境中的特征点来估计位姿,在纹理较少的弱纹理环境中仍存在较大的局限性。为此,在SLAM系统中引入线特征以保证系统能在弱纹理场景中稳定运行。但目前融合点线的视觉SLAM方案存在实时性和精度不足的问题,因此提出基于改进点线特征融合的的视觉惯性SLAM算法。算法前端中,采用FAST(features from accelerated segment test)角点作为特征点提取算法,对ELSED(enhanced line segment detection)算法进行增加短线合并、梯度阈值参数调整,并将四叉树均匀化分布特征点扩展到点线特征,提出改进的点线特征提取算法,减少高纹理区域和特征分布不均的情况对系统精度的影响。对点线特征的跟踪,均采用改进型光流法追踪,将惯性测量单元(inertial measured unit, IMU)得到的位姿信息和已知的特征点深度计算光流法的初值,代替原本的图像金字塔迭代过程,从而节省计算资源,满足系统的实时性。最后,在实际场景中将该系统与优秀的开源方案进行实验对比,验证了所提算法的实时性和精确性。实验表明,本算法可为工业巡检、仓储物流等场景下的机器人提供高鲁棒性定位解决方案,具有显著的产业应用前景。

Abstract

Most current visual simultaneous localization and mapping (SLAM) solutions are based on the extraction of feature points for pose estimation, which still presents significant limitations in weakly textured environments. To address this, line features were introduced into the SLAM system to ensure stable operation in such low-texture scenes. However, current point-line fusion based visual SLAM schemes were often challenged by insufficient real-time performance and accuracy. Therefore, an improved visual-inertial SLAM algorithm based on point-line feature fusion was proposed.In the front-end of the algorithm, FAST (features from accelerated segment test) corners were employed as the feature point extraction method. The ELSED (enhanced line segment detection) algorithm was enhanced through short-segment merging and gradient threshold parameter adjustment. Furthermore, the quadtree-based method for uniform feature point distribution was extended to both points and lines, resulting in an improved point-line feature extraction algorithm. This improvement was designed to reduce the impact of high-texture regions and uneven feature distribution on system accuracy. For tracking both point and line features, an improved optical flow method was utilized. The initial value for the optical flow calculation was provided by the pose information from the inertial measurement unit (IMU) and the known depth of feature points, which replaces the traditional image pyramid iteration process, thereby saving computational resources and meeting the real-time requirements of the system.Finally, the proposed system was experimentally compared with leading open-source solutions in real-world scenarios to validate its real-time performance and accuracy. The experimental results demonstrate that the proposed algorithm can provide a highly robust localization solution for robots in applications such as industrial inspection and warehouse logistics, indicating significant potential for industrial application.

Graphical abstract

关键词

SLAM / 点线特征提取 / 点线特征匹配 / 机器视觉

Key words

SLAM / feature extraction of point and line / point and line feature matching / machine vision

引用本文

引用格式 ▾
龚迪琛, 蒋杨, 赵俊杰, 郝兴安. 一种改进点线特征提取与匹配的SLAM算法[J]. 科学技术与工程, 2026, 26(3): 1135-1146 DOI:10.12404/j.issn.1671-1815.2500427
GONG Di-chen, JIANG Yang, ZHAO Jun-jie, HAO Xing-an. Improved SLAM Algorithm for Feature Extraction and Matching of Points and Lines[J]. Science Technology and Engineering, 2026, 26(3): 1135-1146 DOI:10.12404/j.issn.1671-1815.2500427

登录浏览全文

4963

注册一个新账户 忘记密码

即时定位与地图构建(simultaneous localization and mapping, SLAM)问题最早于1986年提出,其求解本质上是一个状态估计问题[1]。尽管视觉SLAM技术发展迅速,许多算法的实时性和精度满足生产要求,但是弱纹理场景中基于特征点法的视觉SLAM仍存在缺陷,过少的特征点无法满足位姿估计的要求[2]。Pumarola等[3]提出点线融合SLAM(point-line SLAM, PL-SLAM)系统,该方案在,ORB-SLAM(oriented fast and rotated brief simultaneous localization and mapping)框架中的一些模块中增加了线特征,构建了一套单目SLAM系统。PL-SLAM能在弱纹理环境中运行,甚至可以在连续三帧中仅使用线特征进行初始化,但该方案并未将线特征融入回环检测模块。He等[4]在视觉惯性导航系统(visual-inertial navigation system, VINS-Mono)的基础上融入了线特征,提出点线特征融合视觉惯性里程计(point and line feature fusion visual-inertial odometry, PL-VIO),该方案使用最常见的LSD ( line segment detector )线特征提取算法[5]和LBD ( line band descriptor )描述子[6]匹配,还提出了一种线三角化方法,相比原算法性能有所提升。PL-VIO只使用特征点进行初始化,线特征只用于后端,且没有构建回环模块,不能消除累计误差。Gomez-Ojede等[7]提出一种结合点线特征的双目PL-SLAM方案,这是一个完整的PL-SLAM框架,利用长度和方向剔除差异较大的匹配,得到最终匹配结果。Fu等[8]提出了PL-VINS方法,该方法调整了LSD算法的内部参数,并且认为长度更长的线特征更可靠,剔除短线特征,修改后的算法提取速度明显提升,使得SLAM系统的实时性得以保证,且定位误差比VINS方法更小。
为此,现提出一种基于VINS-Mono框架[9]下的线特征提取算法EHPL-VINS,该算法对线特征提取算法(efficient line segment detector and descriptor,ELSED)进行增加短线合并、梯度阈值参数调整,线特征均匀化剔除策略,能提高算法在低纹理环境下的适应性,并改善长线被分割成短线的现象;还提出融合IMU信息的改进型线特征光流法,可提高特征跟踪的速度和鲁棒性。

1 改进线特征提取方法

融合点线特征是提高视觉SLAM系统在弱纹理环境中运行性能的常用方法[10]。经过多年发展,特征点的提取算法已经比较成熟,而线特征的提取仍有较大的进步空间。由于线特征本身比点特征复杂,其参与SLAM计算的过程也更加复杂,因此在引入线特征时,除了需要尽量保证所提取的线特征能准确反映环境中实际的线条外,还应该兼顾处理线特征的耗时问题。

线特征的提取算法ELSED的不足和系统要求对其进行改进。ELSED线特征提取算法性能良好,提取速度和线特征质量都明显优于其他算法[11],但仍存在将场景中的长线条分割成短线的情况,进而影响SLAM系统的精度。另外,线特征提取算法最终需要应用于SLAM中,因此为保证SLAM系统的稳定性,运行在各种环境时均能提取合适数量的线特征。为此,在ELSED算法的基础上,加入短线合并算法,进一步改善长线被分割的现象,并使用梯度阈值调整和线特征均匀化剔除策略提高线特征提取算法对各种环境的适应性。

1.1 短线合并算法

线段合并算法分为粗筛选、精筛选和线段合并三个步骤,在粗筛选步骤中设置绝对阈值初步筛选候选线段,精筛选阶段根据线段长度和距离调整阈值,最后进行合并,步骤如下:

1.1.1 粗筛选

首先对ELSED算法提取出的n条线段按长度由大到小排序,得到直线集合L={l1,l2,…,ln},因为长线段通常来自连续梯度强的区域,所以优先寻找是否有线段可以与之合并。为方便后续线段合并操作,给线段赋予方向:将线段两端点中x坐标较小的那个作为起点。

通过距离阈值dth和角度阈值θth筛选掉大量与当前直线相差较大的线段。假设当前线段为li,其端点为Ai、Bi,其起点和终点分别为(${x}_{{A}_{i}}$,${y}_{{A}_{i}}$)和(${x}_{{B}_{i}}$,${y}_{{B}_{i}}$),与水平方向的夹角为θi,在剩下的n-1条线段中寻找可以与之合并的线段。在人造环境中通常存在许多平行的线特征,其距离相差较远,虽然不属于同一直线但角度相近,因此先进行距离筛选,有利于提升短线合并的速度。得到候选线段组L1的方法为

L1= ∀ l j ∈ L : m i n ( | x A j - x A i | , | x A j - x B i | ,     | x B j - x A i | , | x B j - x B i | ) < d t h m i n ( | y A j - y A i | , | y A j - y B i | ,     | y B j - y A i | , | y B j - y B i | ) < d t h

之后进行角度筛选得到线段组L2为

L2=[∀lj∈L1:(|θi-θj|<θth)]

1.1.2 精筛选

通过最近端点距离、角度修正值进一步筛选。首先筛选空间上离线段Li的接近程度小于距离阈值的线段,得到候选线段组L3为

L3=[∀li∈L2:(dij<dth)]

式(3)中:dij为线段li和线段lj的最小端点距离,即

dij=min(|Ai-Aj|,|Ai-Bj|,|Bi-Aj|,|Bi-Bj|)

对角度阈值进行修正[12]。当前线段为li,候选线段lj∈L3,则其角度阈值修正系数为

λj= s j s i+ 1 ξ t h d i j s i

式(5)中:si、sj分别为线段i、j的长度;1/ξth为两线段的加权系数,ξth= d t h s i且0<ξth<1。

候选线段lj的自适应角度阈值为

θ i j *= 1 - 1 1 + e - 2 ( λ j - 1.5 )θth

根据该阈值确定最终的候选线段组L4为

L4=[∀lj∈L3:(|θi-θj|< θ i j *)]

1.1.3 线段合并

线段li和L4中的每个lj进行预合并,考虑两种情况:①0°≤θi<90°-θth或90°+θth≤θi<180°;②90°-θth<θi≤90°+θth。当满足第一种情况时,由于已经按x坐标确定了线段的方向,所以进行合并时取两条线段的两个起点中的横坐标较小的那个作为合并后的起点,取两条线段的两个终点中的横坐标较大的点为合并后的终点,合并后的线段为${l}_{j}^{*}$。当满足第二种情况时,两线段角度均接近90°,依靠横坐标不能合理地合并两线段,应统一比较四个端点的纵坐标,取最大和最小的点作为合并后的端点,之后根据这两个端点横坐标大小确定起点和终点。区分上述两种情况的原因是当线段li与lj中某一线段角度小于90°而另一线段大于90°时,依靠横坐标合并线段可能会出现差错,又因为${\theta }_{ij}^{*}$<θth,所以可以利用阈值θth将上述两种情况分开考虑。

计算预合并前两线段中较长的线段与合并后的线段${l}_{j}^{*}$之间的夹角θm,若满足θm<θth/2,则此次合并视为初步成功。对L4中所有线段进行线段合并操作,初步成功的合并线段中取θm最小的${l}_{j}^{*}$作为最终的合并结果,用${l}_{j}^{*}$代替li并删除lj得到新的线段集合L1,然后重复迭代粗筛选、精筛选和线段合并步骤,直到所有线段均无法再合并。

1.2 梯度阈值调整与线特征均匀化剔除策略

保证在弱纹理场景或其他场景中均能提取合适数量的线特征,需要控制所提取的线特征数量规模。例如,纹理极少且光线昏暗或纹理极高的极端情况,需要采取一些策略提高或降低所提取的线特征的数目。

首先考虑纹理极少且光线昏暗的情况。考虑在环境纹理很弱或灰度变化较小的情况下使用默认的梯度阈值参数可能难以提取到足够的线特征。因此当检测到的线特征数量太少时,应降低算法中的梯度阈值,以增大提取的线特征数量。算法中默认的梯度阈值Tgrad=30,当检测到的线特征数量过少时,应该适当减小阈值,将其调整为

T'grad=ηTgrad

式(8)中:T'grad为调整后的阈值;η∈(0,1),为比例因子;根据实际运行环境确定。

其次考虑提取的线特征数量过多的情况,需要剔除部分特征。在剔除线特征时,需要尽量使剔除后的线特征分布均匀,使用四叉树进行特征点均匀分布的思想,将其拓展到线特征,实现线特征的均匀化剔除。在均匀化剔除时,为简化处理过程,使用线特征的中点代表该线特征,进行均匀化剔除过程,步骤如下:

如图1所示为线特征均匀化剔除的过步骤,其中黑点表示线特征的中点,代表该线特征。原始图像中共有54个特征,左侧分布密集,右边较为稀疏,假设目标是留下30个线特征。

将原图像视为一个根节点,第一次分裂为4个节点,其中每个节点中均有线特征,且含有线特征的节点不到30个,进行下一次分裂。第二次分裂为16个节点,其中有2个节点中不含有线特征,2个节点仅含有一个线特征,含有线特征的节点为14,少于30,含有多个线特征的12个节点将进一步分裂。第三次分裂最多可能得到48个新节点,加上第二次分裂得到的仅包含一个线特征的2个节点,可能超过目标数,于是在本次分裂中,仅需要再得到28个包含线特征的节点。第三次分裂优先分裂包含线特征较多的节点,当包含线特征的节点达到目标时停止分裂。由图1可知,经过第三次分裂后得到30个包含线特征的节点,达到目标30个线特征的要求。在这30个节点的每个节点中仅保留一个线特征,优先保留长度最长的线特征,这样就得到均匀化后的、满足数目要求的线特征。

2 基于光流法点线特征跟踪的优化策略

从图像中提取点线特征后,需要对不同帧之间的特征建立数据关联,采用光流跟踪法,光流法利用灰度不变假设计算像素运动,实时性能较好。另外,线特征存在长度属性,在SLAM运行过程中,线特征的长度会因为相机视角和距离的变化而变化,可能导致特征匹配失败,而光流法对此类情况的适应性会更好。再基于Lucas-Kanade 光流算法(LK光流法)[13]和图像金字塔[14]的改进版本LK光流法的原理,再合IMU信息提出改进型LK光流法。

2.1 改进的光流法追踪特征点

在视觉惯性融合里程计算法中,可以通过惯性测量单元(inertial measured unit,IMU)数据和IMU与相机之间的外参计算出连续两帧图像I1和I2之间的变换,同时在初始化后,I1中跟踪特征点的深度已知,可以根据这两点信息将I1上的特征点投影到I2计算该特征点的光流初值。

如图2所示,I1和I2是连续两帧图像,假设空间中一点P在I1和I2中对应的特征点分别为p1(u1,v1)和p2(u2,v2),P在I1帧相机坐标系下的坐标为P1=[X1,Y1,Z1]T。两帧图像对应的IMU坐标系b1到b2的位移和旋转,用矩阵形式表示为Tb21=[Rb21|tb21],相机与IMU之间的外参Tcb=[Rcb|tcb]通过标定获得,可计算得I1到I2的相机坐标系变换为

Tc21=[Rc21|tc21]=TcbTb21${T}_{cb}^{-1}$

设P点在I1和I2的相机坐标系的深度为Z1和Z2,内参矩阵为K,根据相机模型得

p 1 = 1 Z 1 K P 1 p 2 = 1 Z 2 K ( R c 21 P 1 + t c 21 )

在完成初始化后,式(10)中的深度Z1是已知的,p1、p2为齐次形式,根据式(10)可计算出p2坐标,从而计算出光流初值g0为

g0=p2-p1=(${g}_{u}^{0}$,${g}_{v}^{0}$)

设置初始残差Δd=(du,dv)=(0,0),m为图像金字塔的层级,w为用于光流计算的窗口,于是损失函数为

e(Δdm)=$\sum _{x={u}^{m}-\frac{w-1}{2}}^{{u}^{m}-\frac{w+1}{2}}\sum _{x={v}^{m}-\frac{w-1}{2}}^{{v}^{m}-\frac{w+1}{2}}$[I1(x,y)-I2(x+${g}_{u}^{0}$+du,y+${g}_{v}^{0}$+dv)]2

式(12)中:${g}_{u}^{0}$、${g}_{v}^{0}$分别为u、v方向上的分量;du、dv分别为残参d在u、v方向上向的分量。

改进的LK光流法利用IMU提供的信息计算特征点的光流初值,使损失函数的求解结果较小,从而保持较小的损失函数构建区域,在减少计算负担的同时保持追踪的鲁棒性和准确度。

2.2 改进的光流法追踪线特征

目前线特征的匹配仍存在较多问题如线段端点位置不稳定,而且描述子的计算和匹配比较耗时。借鉴EPLF-VINS( event-based point-line feature based visual-inertial navigation system)[15]的光跟踪线特征的方法,再合利用IMU信息的改进型LK光流法,提出本文改进的线特征光流法。

如图3所示,假设当前帧图像上提取的线段l在下一帧中移动到l'处,定义这两线段上的点的集合分别为

l = { ( u 1 , v 1 ) , ( u 2 , v 2 ) , … , ( u n , v n ) , … , ( u m , v m ) } l ' = { ( u '   1 , v '   1 ) , ( u '   2 , v '   2 ) , … , ( u '   n , v '   n ) , … , ( u '   m , v '   m ) }

用ln表示线段(u1,v1)和(un,vn)的欧几里得距离,g1、g2分别表示起点的位置变化在u、v方向上的分量,g3表示围绕起点(u1,v1)的旋转变化角度,α为前一帧中该线特征的角度。于是根据几何关系,两个连续帧之间线段的对应点的关系为

u '   n = u n - l n c o s α + g 1 + l '   n c o s ( α + g 3 ) v '   n = v n - l n s i n α + g 2 + l '   n s i n ( α + g 3 )

在两个连续帧之间,线特征变化很小,即g3接近于0,且ln≈l'n,式(14)可简化为

u '   n = u n + g 1 - g 3 ( v n - v 1 ) v '   n = v n + g 2 + g 3 ( u n - u 1 )

由式(15)可得

d u d t = d ( u '   n - u n ) d t = d g 1 d t - ( v n - v 1 ) d g 3 d t d v d t = d ( v '   n - v n ) d t = d g 2 d t - ( u n - u 1 ) d g 3 d t

分别使用G1、G2、G3表示 d g 1 d t、 d g 2 d t、 d g 3 d t,将其写成矩阵形式,即

d u d t d v d t= 1 0 - ( v n - v 1 ) 0 1 - ( u n - u 1 ) G 1 G 2 G 3

用Iu、Iv表示u和v方向的像素梯度,It表示像素灰度对时间的变化量,则有

[Iu Iv] 1 0 - ( v n - v 1 ) 0 1 - ( u n - u 1 ) G 1 G 2 G 3=-It

为了提高线特征光流法的跟踪能力,构建线特征光流的图像金字塔,由于线特征存在长度等信息,在构建金字塔时还需对线特征进行缩放。但是构建和求解图像金字塔比较耗时,本文中使用IMU信息代替图像金字塔为原始图像计算线特征光流提供初值,具体推导如下。

如图4所示,设I1和I2是连续两帧图像,图像I1上有一线段l1,其对应的三维空间直线为L,l1的起点和终点分别为s1(us1,vs1)和e1(ue1,ve1),在I1相机坐标系下使用普吕克坐标表示为L1=[ n 1 v 1]T。

根据式(11)可计算出s1在图像I2的预测值s2(us2,vs2),于是计算出初值${g}_{1}^{0}$和${g}_{2}^{0}$为

g 1 0 = u s 2 - u s 1 g 2 0 = v s 2 - v s 1

根据式(9)将L1在I2相机坐标系下用普吕克坐标表示为

L2= n 2 v 2=Tc21L1= R c 21 t ^ c 21 R c 21 0 R c 21L1

将L2投影到图像I2上,得

l2= f v 0 0 0 f u 0 - f v c u f u c v f u f vn2

式(21)中: t ^ c 21为tc21的反对称矩阵;fu、fv、cu、cv均为相机内参。

于是得到图像I1中的线段l1在图像I2中的预测线段l2,所以初值${g}_{3}^{0}$为

${g}_{3}^{0}$=α2-α1

式(22)中:α1和α2分别为线段l1和l2的角度。设图像帧I1到图像帧I2经过的时间为Δt,分别令${G}_{1}^{0}$=$\frac{{g}_{1}^{0}}{\Delta t}$、${G}_{2}^{0}$=$\frac{{g}_{2}^{0}}{\Delta t}$、${G}_{3}^{0}$=$\frac{{g}_{3}^{0}}{\Delta t}$,并设残差ΔG1=$\frac{\Delta {g}_{1}}{\Delta t}$、ΔG2=$\frac{\Delta {g}_{2}}{\Delta t}$和ΔG3=$\frac{\Delta {g}_{3}}{\Delta t}$,根据式(18)得

[Iu Iv] 1 0 - ( v n - v 1 ) 0 1 - ( u n - u 1 ) G 1 0 G 2 0 G 3 0 + Δ G 1 Δ G 2 Δ G 3=-It

令

${I}_{t}^{0}$=[Iu Iv]$\left[\begin{array}{l}\begin{array}{lll}1& 0& -({v}_{n}-{v}_{1})\end{array}\\ \begin{array}{lll}0& 1& -({u}_{n}-{u}_{1})\end{array}\end{array}\right]\left[\begin{array}{l}{G}_{1}^{0}\\ {G}_{2}^{0}\\ {G}_{3}^{0}\end{array}\right]$

式(23)化简为

[Iu Iv]$\left[\begin{array}{l}\begin{array}{lll}1& 0& -({v}_{n}-{v}_{1})\end{array}\\ \begin{array}{lll}0& 1& -({u}_{n}-{u}_{1})\end{array}\end{array}\right]\left[\begin{array}{l}\Delta {G}_{1}\\ \Delta {G}_{2}\\ \Delta {G}_{3}\end{array}\right]$=-(It+${I}_{t}^{0}$)

式(25)是一个关于ΔG1、ΔG2和ΔG3的超定线性方程,可以用高斯牛顿法进行求解。

如图6所示,用g表示图像I1中的线段l到图像I2中位置l'的真实光流值,g0表示利用IMU信息计算出的光流初值${g}_{1}^{0}$、${g}_{2}^{0}$和${g}_{3}^{0}$,Δg为式(25)完成求解后最终获得的结果Δg1、Δg2和Δg3。如图5(a) 需要计算的光流为g,而图5(b)中由于使用了光流初值,仅需计算Δg部分,使得光流计算公式的解保持在零附近,在求解过程的容易收敛而不会陷入局部极小值,提高了线特征跟踪能力。同时,相比构建图像金字塔逐层迭代为原始图像计算线特征光流提供初值的方法,使用IMU计算初值的过程更加简单,减少了算法所需的计算资源。

3 实验结果及分析

为了验证改进的特征点提取、特征跟踪,以及系统的有效性,分别对每个算法进行对比实验验证。

3.1 改进的线特征提取算法(EMPL-VINS)实验对比与分析

为了测试改进后的线特征提取算法在完整SLAM系统中的性能,选取EuRoC数据集中Machine Hall 01(MH01)、Machine Hall 04(MH04)、Machine Hall 05(MH05)、Vicon Room 1-01(V1-01)、Vicon Room 1-03(V1-03)、Vicon Room 2-03(V2-03)4个序列进行实验。其中Machine Hall 01和Vicon Room 1-01场景简单,可用于测试算法在普通环境中的性能,其他4个序列运动模糊、纹理差且场景黑暗,符合弱纹理场景的特征,用于测试算法在弱纹理场景中的运行效果。将采用改进后的线特征提取算法的SLAM系统命名为EMPL-VINS(enhanced multi point line feature visual inertial navigation system),与同为视觉惯性点线SLAM方案且效果较好的开源方案PL-VINS进行对比。

首先在运行时间上进行对比。PL-VINS采用的是使用隐藏参数调整和长度拒绝策略改进的LSD算法,将两个算法运行这6个数据集序列时提取每一帧图像中线特征的平均耗时和标准差统计如表1所示。

由表1可知本文改进的线特征提取算法的速度整体优于PL-VINS使用的LSD算法,经计算,EMPL-VINS平均速度比PL-VINS约快22%。其中在困难场景中两者差距比较明显,如序列Machine Hall 05中EMPL-VINS的速度提升达到43%;在简单场景中差距较小,原因是简单场景中的线特征数量较多,导致改进的线特征提取算法在线段合并和筛选步骤耗时较长,因而整体的提取速度差距不大。

进一步分析数据序列内每一帧提取耗时和线特征数目的分布情况。如图6所示为两种算法运行Machine Hall 05序列时每帧耗时分布。整体上EMPL-VINS速度更快,尤其在第500~800帧时EMPL-VINS的速度提升最明显。这时数据集大致运行至厂房外,图像中可提取的线特征相对较少,由前可知在线特征合并和筛选步骤的耗时较少,所以与PL-VINS耗时差距更大。

如表2所示为PL-VINS与EMPL-VINS两个系统的轨迹误差对比。可以看出,在大多数情况下EMPL-VINS的绝对轨迹误差和相对轨迹误差略小于PL-VINS,其中Vicon Room 2-03序列差距较大,其他序列精度提升较小,经计算,EMPL-VINS绝对轨迹误差较PL-VINS相比平均低10.4%。

进一步分析两个系统运行数据集过程中误差变化情况,得到如图7所示PL-VINS和EMPL-VINS运行Vicon Room 2-03序列时绝对轨迹误差的变化情况。可以看出两个系统的轨迹误差变化趋势大体上一致,峰值出现的地方基本在同一时间点,但是微观上看EMPL-VINS中误差变化时伴随着较为频繁的波动,PL-VINS也存在着波动但波动幅度小于EMPL-VINS。从绝对轨迹误差的标准差、均值、中值等数据看,代表EMPL-VINS误差值稍微低于PL-VINS,说明本文提出的改进线特征提取算法提取的线特征质量更好,更有益于系统精度的提升。

3.2 改进的特征光流法(ELPL-VINS)实验对比与分析

需要测试改进型光流法跟踪线特征的效果,验证其可行性。因此在采用传统LK光流法的EMPL-VINS系统的基础上,改用本文提出的改进型光流法ELPL-VINS(enhanced line feature pyramid LK optical flow visual inertial navigation system)。运行数据集序列Machine Hall 03(MH03)和Machine Hall 05(MH05),分别从这两个序列中各选取一帧,统计该帧图像中的线特征和此后连续10帧的跟踪情况,统计结果中不包括后续帧新提取的线特征如图8所示,其中绿线表示当前帧中提取的线特征,红线表示历史帧中的线特征。

如表3统计了跟踪过程中每帧能跟踪到的线特征数量,Machine Hall 03(MH03)序列第一帧中提取了412个线特征,在第二帧中追踪到了398个线特征,经过10帧后仍能跟踪到229个线特征;Machine Hall 05(MH05)序列第一帧中提取了215个线特征,第二帧中追踪到了201个线特征,经过10帧后仍跟踪到109个线特征。本文改进型光流法基本能成功跟踪到90%以上的线特征,跟踪效果较好,可以应用于后续的位姿估计和优化。

如表4所示为EMPL-VINS系统和ELPL-VINS系统运行这6个数据集序列时跟踪每帧图像的线特征的平均处理时间和标准差。从表4中数据可知,ELPL-VINS运行这4个数据集序列时跟踪线特征的平均耗时均低于EMPL-VINS。其中,与困难场景序列相比,简单场景中的平均耗时差距更大,原因是简单场景中提取的线特征更多,因此改进型光流法中节省构建图像金字塔的那部分时间在总跟踪时间中占比更大,因而实验数据中体现的时间差距更为明显,相反在困难序列中体现的时间差距不太明显。经计算,ELPL-VINS运行这4个序列的平均耗时降低了大约为16.8%。

如图9所示,为了更直观地观察两种算法在耗时方面的差异,选取困难序列Machine Hall 05(MH05)的跟踪每帧图像的线特征的时间绘制成的折线图。可知EMPL-VINS的耗时整体上高于ELPL-VINS。

另外需要判断改进型光流法是否对系统的精度产生影响,将EMPL-VINS与ELPL-VINS运行这些数据集序列时的各项误差进行统计如表5所示。可知两个系统的各项误差值比较接近,没有明显的差异或规律,说明改进型光流法的跟踪效果与原来基于金字塔的光流法跟踪效果一致,没有对系统的精度产生影响。

进一步分析两个系统运行数据集过程中误差变化情况。如图10所示为EMPL-VINS和ELPL-VINS运行Vicon Room 1-03序列时的绝对轨迹误差热力图。两条轨迹颜色变化基本一致,误差较大值和较小值出现的位置基本相同,可得出两个系统运行过程中的绝对轨迹误差变化情况大体一致。

根据上述实验结果和分析,采用本文提出的改进型光流法追踪线特征的ELPL-VINS系统在实时性方面有所提升,尤其在环境纹理比较丰富时提升更加明显。在精度方面,改进型光流法与传统光流法几乎没有差距,说明本文改进光流法的跟踪结果与传统光流法一致,因而对后续的位姿估计和优化几乎没有影响。

3.3 改进特征光流法(EHPL-VINS)实验对比与分析

经过前文所述对线特征提取算法和光流法的改进,最终得到本文改进后的EHPL-VINS系统。通过实验测试,综合对比分析本文提出的EHPL-VINS系统与几种优秀的开源方案(VINS-Mono、PL-VINS、EPLF-VINS)的优劣。

首先对比各个SLAM系统的精度差异。如图11所示为上述四个SLAM系统运行过程中实时提取的点线特征,其中EHPL-VINS、PL-VINS和EPLF-VINS系统包含点线特征,而VINS-Mono仅提取特征点。

如表6所示为VINS-Mono、PL-VINS、EPLF-VINS和EHPL-VINS系统运行6个数据集序列得到的绝对轨迹误差的ATE值。其中VINS-Mono仅使用特征点,用于对比引入线特征后SLAM性能的提升情况;PL-VINS系统改进了LSD线特征提取算法,EPLF-VINS使用EDLines线特征提取算法并采用光流法追踪特征,都在一定程度上提升了系统的实时性能。从表6中数据来看,大部分场景中EHPL-VINS系统的绝对轨迹误差(absolute trajectory error,ATE)最小,其次是EPLF-VINS系统,其精度略低于EHPL-VINS。在纹理差和运动模糊的场景如Machine Hall 05和Vicon Room 2-03序列中,基于点线特征的PL-VINS、EPLF-VINS和EHPL-VINS系统的精度都要高于仅基于特征点的VINS-Mono系统,且相差较大;在简单场景中各个系统的精度误差差别不大。

如图12所示为这4个SLAM系统运行Machine Hall 05序列时的绝对轨迹误差热力图。

如表7所示为各个SLAM系统运行六个数据集序列时的相对轨迹误差(relative pose error,PRE)结果,多数情况下EHPL-VINS系统的误差最小,尤其是符合弱纹理场景特征的Vicon Room 2-03序列,与其他算法的差距最明显。

如图13所示为各个系统运行Machine Hall 05序列时的位置和姿态轨迹图,可知得各个系统的运行结果与真值的重合度都比较高。

对各个SLAM系统的实时性能进行对比,如表8所示为各个SLAM系统运行Machine Hall 05序列时各模块耗时。在线特征检测和跟踪模块,EHPL-VINS算法速度最快,之后是EPLF-VINS;本地VIO模块稍快于其他算法;回环检测模块中基于点线特征的系统都慢于VINS-Mono,原因是点线SLAM的回环模块包含线特征的回环检测,增加了计算量。同样运行其他五个序列并统计分析,可以得出相比其他基于点线特征的SLAM系统,本文中EHPL-VINS系统实时性最好。

经过上述实验对比分析可知,本文所提出的EHPL-VINS系统在综合性能上表现较好,并且相较于其他开源算法有一定的进步,在实时性方面运行速度更快,在系统精度方面也有一定提升。

3.4 方法的应用价值

本文提出的改进点线特征融合SLAM算法具有重要的实际应用价值,尤其是在机器人自主导航与定位领域。随着中国智能制造、智慧物流及服务机器人产业的快速发展,复杂场景下的环境感知与高精度定位成为关键技术瓶颈。传统视觉SLAM在弱纹理环境(如仓储货架走廊、地下停车场、工业厂房等)中容易因特征点的不足,而导致定位失效或者效果很差,严重制约了机器人的可靠运行。本算法通过引入自适应线特征提取与融合IMU信息的光流跟踪策略,显著提升了本文算法在弱纹理下的鲁棒性,可为传统视觉SLAM在弱纹理环境提供技术支撑。未来,本文算法可进一步与多传感器融合(如激光雷达、毫米波雷达)结合,拓展至农业机器人野外作业、灾害救援机器人废墟探索等更复杂场景,为中国机器人产业的技术升级与规模化应用提供算法支持和新思路。

4 结论

在纹理较少的弱纹理环境中SLAM系统仍存在较大的局限性。为此,在SLAM系统中引入线特征以保证系统能在弱纹理场景中稳定运行。但目前融合点线的视觉SLAM方案存在实时性和精度不足的问题,因此提出改进对点线特征的提取、特征的跟踪,并将其结合到VINS-Mono框架中。将改进后的方法与其他的优秀算法进行实验对比,将改进后的系统与几种优秀的开源方案(VINS-Mono、PL-VINS、EPLF-VINS)进行实验对比。实验结果表明:改进的线特征提取算法能够提升SLAM系统的实时性能,并且提高所提取线特征的质量,从而间接提高了系统精度;改进的线特征光流法能够降低线特征的跟踪耗时,而不影响系统的精度。本文构建的SLAM系统可以在典型的弱纹理场景中稳定、实时地运行,精度方面也与开源方案相近。本文算法的思路可以应用于其他的视觉SLAM系统中,为视觉SLAM的改进方向提供了新思路。

参考文献

[1]

李涌. 基于激光SLAM的智能隧道巡检机器人自主移动平台研究[D]. 西安: 长安大学, 2021.

[2]

Li Yong. Research on autonomous mobile platform of intelligent tunnel patrol robot based on laser SLAM[D]. Xi’an: Chang’an University, 2021

[3]

李辉, 王金刚, 张小俊. 一种改进的地下车库弱纹理下智能汽车SLAM算法[J]. 科学技术与工程, 2021, 21(24): 10369-10375.

[4]

Li Hui, Wang Jingang, Zhang Xiaojun. An improved SLAM algorithm for smart cars under weak texture in underground garages[J]. Science Technology and Engineering, 2021, 21(24): 10369-10375.

[5]

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 (ICRA). New York: IEEE, 2017: 7989714.

[6]

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.

[7]

von Gioi R G, Jakubowicz J, Morel J, et al. LSD: a line segment detector[J]. Image Processing on Line, 2012, 2: 35-55.

[8]

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.

[9]

Gomez-Ojeda R, Moreno F, Zuniga-Noel 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.

[10]

Fu Q, Wang J, Yu H, et al. PL-VINS: real-time monocular visual-inertial SLAM with point and line features[EB/OL]. arXiv Preprint, arXiv:2009. 07462, 2020.

[11]

Qin T, Li P, Shen S. Vins-mono: a robust and versatile monocular visual-inertial state estimator[J]. IEEE Transactions on Robotics, 2018, 34(4): 1004-1020.

[12]

蒋林, 夏旭洪, 韩璐, 等. 一种点线特征融合的双目同时定位与地图构建方法[J]. 科学技术与工程, 2020, 20(12): 4787-4792.

[13]

Jiang Lin, Xia Xuhong, Han Lu, et al. A stereo simultaneous localization and mapping method based on point-line feature fusion[J]. Science Technology and Engineering, 2020, 20(12): 4787-4792.

[14]

Suárez I, Buenaposada J M, Baumela L. ELSED: enhanced line segment drawing[J]. Pattern Recognition, 2022, 127: 108619.

[15]

林利蒙, 王梅. 改进点线特征的双目视觉SLAM算法[J]. 计算机测量与控制. 2019, 27(9): 156-162.

[16]

Lin Limong, Wang Mei. A binocular vision SLAM algorithm with improved dot and line features[J]. Computer Measurement and Control, 2019, 27(9): 156-162.

[17]

Lucas B D, Kanade T. An iterative image registration technique with an application to stereo vision[C]// IJCAI’81: 7th International Joint Conference on Artificial Intelligence. New York: IEEE, 1981: 674-679.

[18]

Bouguet J Y. Pyramidal implementation of the affine lucas kanade feature tracker description of the algorithm[J]. Intel Corporation, 2001, 5(4): 1-10.

[19]

Xu L, Yin H, Shi T, et al. EPLF-VINS: real-time monocular visual-inertial SLAM with efficient point-line flow features[J]. IEEE Robotics and Automation Letters, 2023, 8(2): 752-759.

基金资助

四川省重大科技专项(20ZDZX0013)

教育部联合基金(8091B022233)

四川省自然科学基金青年科学基金(2024NSFSC0817)

PDF (16635KB)

34

访问

0

被引

详细

导航
相关文章

/

〈 〉