室内环境下融合点线特征的双目VI-SLAM方法
doi: 10.11918/202407032
郭旭1 , 袁杰2 , 谢霖伟1 , 鲍慧敏1 , 李世钰1
1. 新疆大学 电气工程学院, 乌鲁木齐 830017
2. 新疆大学 智能科学与技术学院, 乌鲁木齐 830017
基金项目: 国家自然科学基金(62263031) ; 新疆维吾尔自治区自然科学基金(2022D01C53)
Stereo VI-SLAM method with fused point and line features in indoor environments
GUO Xu1 , YUAN Jie2 , XIE Linwei1 , BAO Huimin1 , LI Shiyu1
1. School of Electrical Engineering, Xinjiang University, Urumqi 830017 , China
2. School of Intelligence Science and Technology, Xinjiang University, Urumqi 830017 , China
摘要
为解决室内环境下弱纹理场景中关键点特征稀疏、结构化场景中结构化特征应用不充分以及相机快速移动时关键帧容易跟踪失败的问题,提出了一种基于点线特征融合的双目视觉惯性SLAM方法。首先,基于EDlines线段提取方法,结合高斯图像金字塔实现多尺度线段的提取,以增强线段匹配的尺度不变性。同时,对不同尺度下的线段端点的不确定性进行建模,并结合平铺技术对线段的二进制描述符进行分块处理,从而加速线段匹配并提高线特征匹配的鲁棒性与效率。其次,优化惯性传感器的预积分模型,融合双目视觉的点特征重投影误差、线特征重投影误差以及惯性传感器的预积分约束,采用滑动窗口的非线性优化方法进行联合优化,以提高系统位姿估计精度。最后,文中在包含弱纹理、结构化以及相机快速移动等复杂环境的EuRoC数据集上进行实验。结果表明,VI-SLAM方法在EuRoC数据集上的相机轨迹均方根误差为0.031 m,平均误差为0.027 m,拥有更强的鲁棒性和更高的定位精度,尤其在弱纹理和相机快速运动场景中,定位精度优势显著。
Abstract
To address the issues of sparse keypoint features in weakly textured indoor environments, insufficient utilization of structured features in structured scenes, and keyframe tracking failures during rapid camera movements, a stereo visual-inertial SLAM method based on the fusion of point and line features is proposed. First, the EDlines line segment extraction method, combined with a Gaussian image pyramid, is employed to achieve multi-scale line segment extraction, enhancing the scale invariance of line segment matching. Simultaneously, the uncertainty of line segment endpoints at different scales is modeled, and binary descriptors of line segments are partitioned using tiling technology to accelerate line segment matching, thereby improving the robustness and efficiency of line feature matching. Second, the pre-integration model of the inertial sensor is optimized, and a sliding window nonlinear optimization is performed by fusing the point feature reprojection error from stereo vision, the line feature reprojection error, and the pre-integration constraints of the inertial sensor, thereby improving the system’s pose estimation accuracy. Finally, extensive experiments are conducted on the EuRoC dataset which includes complex environments such as low-texture, structured scenes, and rapid camera movements. The experimental results demonstrate that the proposed method achieves a root mean square error of 0.031 m and an average error of 0.027 m on the EuRoC dataset, exhibiting stronger robustness and higher localization accuracy, especially in low-texture and rapid camera movement scenarios where the accuracy advantage is particularly significant.
同步定位与建图(simultaneous localization and mapping,SLAM)是一种用于估计机器人状态(如位置、方向、速度等)并同时构建环境模型的技术[1]。SLAM广泛应用于服务机器人、自动驾驶、增强现实(augmented reality,AR)和虚拟现实(virtual reality,VR)等领域,是实现机器人自主导航的关键技术[2]。根据传感器类型的不同,SLAM可分为视觉SLAM、视觉惯性SLAM和激光雷达SLAM[3]。其中,基于相机的视觉SLAM[4]因其硬件成本低、信息丰富,在机器人姿态估计中得到了广泛使用。惯性测量单元(inertial measurement unit,IMU)通过提供加速度和角速度信息,与视觉传感器结合,进一步提升环境感知能力和系统的鲁棒性[5]
视觉SLAM方法通常分为特征法和直接法[6]。直接法如Gao等[7]利用原始图像像素,假设亮度恒定,最小化连续帧之间的光度误差进行位姿估计。基于特征的方法如Mur-artal等[8]、Campos等[9]通过提取图像关键点,最小化重投影误差来恢复位姿轨迹和地标。然而,在弱纹理环境中[10],基于点特征的SLAM方法难以提取到稳定且足够的关键点,导致关键帧跟踪失败,影响系统的定位和地图构建,降低位姿估计精度和系统稳定性。此外,在结构化环境下,这些方法未能充分利用如直线、平面等结构化信息,导致建模的环境整体结构不准确,影响系统的鲁棒性。为解决该问题,Pumarola等[11]在ORB-SLAM2基础上引入了线特征,使用直线段检测法(least significant digit,LSD)检测线段,并通过LBD(line band descriptor)算法进行线段匹配,从而在低纹理环境中能够提取到更多有效特征,提高系统的鲁棒性和稳定性。Zhou等[12]进一步通过优化线端点的逆深度和光度误差提高了位姿估计精度,使系统在有显著线特征的场景中表现更为优异。
尽管基于线特征的SLAM算法在室内环境中的定位精度有所提升,但在相机快速移动时仍面临挑战。快速运动引起的运动模糊、视角变化以及动态场景中的干扰,会影响特征提取和匹配的准确性,特别是在关键帧选择过程中,特征匹配不准确可能导致关键帧跟踪失败,从而影响定位和建图的精度。为此,视觉惯性融合的SLAM方法[13]通过结合IMU数据,提供相机的姿态和运动速度信息,纠正快速运动引起的误差,显著提高了SLAM系统的鲁棒性和精度。Qin等[14]通过紧耦合的非线性优化方法,融合IMU预积分测量与视觉特征观测数据,校正视觉信息中的误差,确保系统在快速运动和复杂环境中的稳定性和精度。为进一步提高弱纹理环境下的位姿估计精度,He等[15]结合点特征和线特征模型,通过最小化投影空间中线端点与观测线特征之间的距离,优化了位姿估计过程,更好地捕捉场景中的几何结构。基于VINS-Mono的PL-VINS则引入了改进的LSD算法,将线特征纳入姿态估计中,提升了在结构化环境中的定位精度和鲁棒性,从而扩展了SLAM系统的应用范围。
上述基于点线特征的视觉惯性SLAM方法在移动机器人定位与自主导航领域得到了广泛应用,但在实际应用中仍存在一些挑战。线特征提取与匹配过程中,误匹配可能导致系统生成冗余关键帧,影响位姿估计的精度。这些冗余关键帧不仅增加了计算负担,还可能引入错误的位置信息,降低系统的鲁棒性。IMU在长时间运行中产生的累计误差可能导致位姿漂移,影响全局定位精度。这些问题限制了SLAM系统在长期运行和复杂环境中的表现,需要进一步优化以提高其可靠性和精度。
为了解决关键点特征稀疏、结构化特征应用不充分的问题,本文基于EDlines线段提取方法,结合高斯图像金字塔提取多尺度线段,并在每层图像中使用特定的噪声方差来模拟线段端点检测的不确定性,从而提高线段匹配的准确性。同时,采用LBD方法为提取线段关联二进制描述符,利用平铺技术对线特征进行分块处理,并按区域进行线段匹配,提高线特征匹配效率。针对相机快速移动时关键帧容易跟踪失败的问题,本文通过优化IMU预积分模型,将双目视觉的点特征重投影误差、线特征的重投影误差与惯性传感器的预积分约束相结合,进行滑动窗口的非线性优化,以此提高系统的位姿估计精度,纠正快速运动引起的误差。最后本文在EuRoC公开数据集进行多次实验,验证了本文方法的可行性和有效性。结果表明,本文算法在室内环境下拥有更强的鲁棒性和更高的定位精度。
1 点线双目视觉惯性SLAM方法
本文提出了一种基于点线特征的双目视觉惯性SLAM方法,如图1所示,包含3个主要线程:跟踪、局部优化和回环检测。系统中点线特征的提取与IMU信息的处理并行进行,以提高效率和准确性。
双目图像和IMU测量数据输入到跟踪线程。跟踪线程对图像进行高斯图像金字塔处理,生成多尺度图像以捕捉不同分辨率下的特征信息,从而增强系统的鲁棒性。在这些图像中,点和线特征会分别进行提取、匹配和筛选,用于构建场景的几何信息,并为后续的视觉惯性对齐提供数据支持。与此同时,系统对时间序列中连续两帧之间的IMU信息进行预积分处理,将IMU的加速度计和陀螺仪数据整合成紧凑的表示形式减少计算量并提高精度,从而提供对姿态和位置的估计。在此基础上,系统结合视觉和惯性信息生成局部的点线图,实现对场景的初步建模。
1点线双目视觉惯性SLAM方法
Fig.1Framework of stereo visual-inertial SLAM method with point and line features
初步建模后,局部优化线程使用BA(bundle adjustment)算法对局部地图进行优化,结合边缘先验信息、IMU残差、点特征重投影误差以及线特征重投影误差进行优化处理,提高系统的定位精度,剔除冗余的关键帧,保持地图的简洁性。最后,系统通过回环检测进行闭环矫正,识别并消除累计误差导致的漂移,增强系统的长期稳定性。通过闭环矫正,系统进行全局优化,更新地图和位姿,使得最终生成的全局地图更加准确和一致。
2 视觉惯性融合中的模型与特征处理
2.1 IMU 预积分模型
针对相机快速移动时关键帧跟踪失败的问题,融合相机和IMU(惯性测量单元)信息,可以增强SLAM系统的鲁棒性。IMU提供高频姿态和加速度信息,可以弥补视觉特征不稳定时的不足,帮助维持关键帧的有效跟踪,避免跟踪失败。多传感器融合是提高SLAM系统在复杂环境中稳定性和精确性的有效方法。
惯性测量组合作为惯性导航的基本测量单元,由加速度计和陀螺仪组成。IMU使用陀螺仪和加速度计测量角速度和线性加速度。陀螺仪测量模型可以描述如下:
ω~b(t)=ωb(t)+bg(t)+ηg(t)
(1)
式中:bgηg分别为陀螺仪的偏置和白噪声。
加速度计测量模型可以描述如下:
a~b(t)=Rbwaw-gw+ba(t)+ηa(t)
(2)
式中:baηa分别为加速度计的偏置和白噪声。
为了减少计算开销并避免在每次迭代后重新积分位置、速度和旋转变量,本文基于IMU预积分原理进行IMU测量的预积分如下:
ΔR~ijΔRijexpδϕij=RiTRjexpδϕij
(3)
Δv~ijΔvij+δvij=RiTvj-vi-gΔtij+δvij
(4)
Δp~ijΔpij+δpij=RiTpj-pi-viΔtij-12gΔtij2+δpij
(5)
式中: ΔR~ijΔv~ijΔp~ij分别为从第i帧到第j帧的姿态、速度和位置向量。
2.2 空间直线参数化
在视觉SLAM中,空间直线的表示在不同阶段有所不同[16]。前端使用Plücker坐标捕捉3D线的几何特性,但在后端优化时,为避免过参数化和奇异性问题,改用正交表示法,这种方式可以简化优化过程,提高算法的稳定性。
2.2.1 Plücker坐标表示
图2所示,给定空间线段l的两个端点为pq,空间直线L的Plücker坐标可以表示为
L=p×qp-q=nvR6
(6)
式中:nR3是由直线L和坐标原点确定的平面πw的法向量,vR3是直线L的方向向量,满足Klein二次曲面约束nTv=0。
2空间直线的Plücker坐标表示
Fig.2Plücker coordinate representation of a spatial line
将3D线从世界坐标系下的Plücker坐标转换为相机坐标系下的Plücker坐标满足以下公式:
Lc=TwcL=Rwctwc×Rwc0Rwc(nwvw)
(7)
式中: Twc为从世界坐标系转换为相机坐标系的转换矩阵,Rwc为旋转矩阵,twc为平移向量。
对于3D线段l,其在归一化平面Ii上的投影为li,其两个端点的投影分别为piR3qiR3。相机坐标系的原点坐标为Oic=xiyiziT,平面πi=(π1π2π3π4)的坐标可以通过下式获得:
π1,π2,π3T=p1×q1π4=π1xi+π2yi+π3zi
(8)
式中[·]×为三维向量的斜对称矩阵。则根据得到的平面坐标πi=(π1π2π3π4),可以得到3D线段l的Plücker坐标为
L*=[n]×v-vT0=πiπkT-πkπiT
(9)
2.2.2 正交表示
正交表示法通过减少参数数目和去除约束,将3D线优化问题转化为一个更为简单、易解且高效的优化问题,有助于在后端BA中实现更好的性能。空间直线L的正交表示(UW)∈SO(3)×SO(2)可以通过对矩阵[n|v]进行正交-三角分解获得:
[nv]=Uw100w200,W=w1-w2w2w1
(10)
Plücker坐标可以由下式转换为正交表示:
[nv]=nvn×vnvn×vn00v00
(11)
可以得到:
U=R(δ)=nvn×vnvn×v
(12)
W=cos(θ)-sin(θ)sin(θ)cos(θ)=w1-w2w2w1=1n2+v2n-vvn
(13)
式中:U为线坐标与相机坐标系之间的旋转矩阵,δ=(δ1δ2δ3)为线坐标相对于相机坐标系的旋转角度,θ∈(0,π/2),原点Ow到直线L的距离为d=||n||/||v||=w1/w2。将正交表示定义为四参数向量:
O=τT,θT
(14)
给定正交表示(UW),空间线段l的Plücker坐标可以表示为
L=w1 μ1w2 μ2
(15)
式中μiU的第i列。
2.3 线特征提取与匹配
针对弱纹理场景中,关键点特征稀疏、结构化场景中的特征应用不充分的问题。引入线特征可以捕捉更多几何信息,增强SLAM系统的鲁棒性和准确性,尤其在纹理少或结构化明显的环境中。结合点特征和线特征能更全面地利用场景信息,改善定位与建图效果。传统线特征提取与匹配方法直接从图像中提取线段,并通过简单的描述符进行匹配,存在对尺度变化适应性差、匹配效率低的问题。此外,端点检测过程中存在较大的不确定性,导致匹配过程的鲁棒性不足,进而影响了系统性能。
本文提出了一种改进的线段提取和匹配方法。图像经过高斯金字塔处理,生成了多层次的图像表示。在每一层图像上,采用EDlines方法提取多尺度线段,以提高线段匹配的尺度不变性。为处理端点检测中的不确定性,本文模拟了线段端点的噪声方差,使用LBD方法为每个提取的线段生成二进制描述符。通过平铺技术加速线段匹配,从而提升线特征匹配的鲁棒性和效率。
2.3.1 高斯图像金字塔
对每个处理的图像,计算其高斯图像金字塔。高斯图像金字塔通过迭代应用高斯模糊和平滑处理,生成多层次的图像表示,使得特征提取可以在多个尺度上进行,增强后续步骤的鲁棒性和效率。
2.3.2 线段提取
在图像金字塔的每一层上,使用EDlines方法进行线段提取。EDlines是一种高效的线段检测算法,基于边缘检测方法(edge drawing,ED)技术,从边缘点出发,沿梯度方向追踪,最终形成线段。EDlines方法具有高重复性、精度和计算效率,其线性时间复杂度使其在处理大规模图像数据时具有显著优势,同时具备误检控制,能够在不同图像条件下稳定提取线段。
在图像金字塔的每一层上,本文使用特定的噪声方差来模拟端点检测过程中的不确定性。具体来说,每个线段的端点piqi都存在一定的检测误差,用σ2liR表示图像端点piqi每个坐标上的噪声方差。这种不确定性建模能够更好地适应实际应用中的检测误差,提升匹配的准确性。
2.3.3 二进制描述符关联
为了实现相邻帧间的线段匹配,本文使用LBD方法为每个提取的线段关联一个二进制描述符。LBD通过对线段附近的图像纹理进行编码,生成一个独特的二进制特征向量。具体来说,LBD在每条线段周围定义一个带状区域,并对该区域内的像素梯度方向和幅值进行统计,生成描述符。这个过程有效地捕捉了线段周围的局部结构信息,使描述符对旋转、尺度变化以及光照变化具有较好的鲁棒性。
2.3.4 平铺技术加速匹配
在线段提取时,本文使用一种平铺技术来加速线段匹配。具体来说,在提取阶段,为每条线段计算其法线方向和带符号的距离。在图像平面上,采用如下形式的2D线方程:
ηTu-h=0
(16)
式中:η=[ηxηy]∈R2为单位法向量,hR为所考虑线与图像平面原点之间的有符号距离。给定两个点u1u2∈Ω,单位法向量η和有符号距离h可由下式得出:
η=[Δv,-Δu]TΔ2u+Δ2vh=ηTui
(17)
式中:法线方向η=arctan2(ηxηy)为线段的朝向,带符号的距离h表示线段到图像原点的距离。本文将2D参数流形(ηh)划分为多个平铺区域,将具有相似参数的线段归为一组。对于每张图像Ii,按其对应的平铺区域对提取的线段进行分组,并将结果存储在Ii中。这种方法不仅减少了匹配时的计算量,还提高了匹配的精度。
2.3.5 线段匹配
在进行线段匹配时,将一个3D线段lMs投影到目标图像Ii上,计算其投影线的表示(ηlhl)。然后,识别出在Ii中与l的参数(ηh)落在同一平铺区域内的所有线段作为候选匹配,根据描述符之间的汉明距离对这些候选匹配进行评分。
2.3.6 剔除误匹配
为了排除可能的错误匹配,本文采用以下两项验证条件:
1)汉明距离比值。匹配线段的汉明距离与第2近邻的比值需低于某个阈值,确保最近邻匹配优于次优匹配,从而提高匹配的可靠性。
2)线段距离阈值。匹配线段在图像平面上的投影距离需低于某个阈值,以确保匹配线段在图像中的位置接近,进一步提高匹配的精度。
这种多层次的匹配验证机制显著减少了误匹配的概率,提升了匹配的可靠性和精度。
3 后端非线性优化
本文对点、线特征的投影误差进行了理论分析和公式推导,包括空间点的重投影误差、空间线的重投影误差以及局部BA优化函数。
3.1 点特征重投影误差计算
对于特征点pP,观测点为pi,世界坐标系的坐标为Pw=[XwYwZw]T,相机坐标系下为Pc=[XcYcZc]T,投影坐标为P=[uv]TK为相机内参矩阵。将一个点从世界坐标系变换到相机坐标系的相机变换矩阵表示为
Twc=Rwctwc0T1
(18)
式中:Rwc为旋转矩阵,twc为平移矩阵。对于3D点,本文使用上标w和c分别表示在世界坐标系和相机坐标系。则投影坐标、世界坐标系下的坐标以及相机坐标系下的坐标满足以下关系:
Pc=RwcPw+twc
(19)
P=πKPc=fxXZ+cx,fyYZ+cyT
(20)
式中:Z为相机坐标系下的深度,f为焦距,c为图像中点。则单目观测点的点重投影误差为
rm=(uLvL)-(uLivLi)
(21)
本文中,第i个双目图像(IiLIiR)由一个矫正后的左侧彩色图像IiL和右侧彩色图像IiR组成。对于双目相机,三维坐标Pw在左、右相机下的投影坐标分别为PL=[uLvL]TPR=[uRvR]T,由视差估计可以得到深度:
Z=bfuL-uR
(22)
式中b为立体基线。
右相机与左相机的不同之处在于其位置相对于左相机的基线偏移b。因此,对于同一个三维点Pw,它在右相机坐标系中的X坐标会变为X-b,基于立体视觉中左右相机的几何关系可以得出:
uR=f(X-b)Z+c
(23)
则立体点重投影误差定义为
rs=uLvLuR-uLivLiuLi
(24)
对于双目相机,既包含左相机坐标系下的单目点重投影误差又包含立体点重投影误差,则点特征重投影误差为
rp=rm+rs
(25)
3.2 线特征重投影误差计算
对于特征线,重投影误差可以定义为观察的线段端点与同一图像平面中重投影线之间的距离,如图3所示,给定一个在世界坐标系中使用Plücker坐标表示的空间直线l,其线段端点在图像Ii中的观测点为(piqi),世界坐标系中的端点为(PQ)以及平面Ii中的线段投影端点(pq)。
3线投影误差
Fig.3Line projection errors
由式(6)可得直线l在相机坐标系的Plücker坐标为Lc=[ncvc]T。则直线l在平面Ik上的投影为
Lk=Klnc=L1L2L3
(26)
其中
Kl=fv000fu0-fvcu-fucvfufv
式中Kl为线投影矩阵。
则线特征重投影误差为
rL=dpT,LkdpT,L=pTLkL12+L22qTLkL12+L22
(27)
3.3 基于滑动窗口的非线性优化
基于滑动窗口因子图模型,本文采用了视觉惯性非线性紧耦合优化方法,见图4
4滑动窗口的非线性优化
Fig.4Nonlinear optimization of the sliding window
需要优化的变量如下:
χ=λ1,λ2,,λn,O1,O2,,Om,x1,x2,,xh
(28)
xk=pbkw,qbkw,vbkw,bak,bgk
(29)
式中:k∈[0,h],λii∈[1,n])为三维点的逆深度,Ojj∈([1,m])为线的正交表示,xkk∈[0,h])为滑动窗口中第k个关键帧在世界坐标系中的位置、旋转、速度以及加速度计和陀螺仪的偏置。
基于需要优化的变量,可以建立非线性优化函数:
(30)
式中:rp-Hpχ为边缘化的先验信息残差,rBz^bk+1bkχ为IMU的测量残差,rPz^jciχrLz^jciχ分别为特征点和特征线的重投影误差,为协方差矩阵,ρ为鲁棒的Huber代价函数。定义为ρrΣ=rTrK为关键帧集合,NM分别为当前帧中的点和线的数量。此优化函数的目标是最小化先验信息残差、IMU测量残差、特征点重投影误差,特征线重投影误差的加权和。
4 结果与分析
本文在公共数据集EuRoC[17]上验证所提出的方法。这些公共数据集都包含立体图像、IMU测量和相应的真实轨迹。本文所有实验均在系统为Ubuntu 20.04、ROS版本为Noetic、配备Intel Core i7-12700H(14核20线程)处理器和16 GB内存的计算机上进行。
4.1 基于EuRoC数据集的算法评估
EuRoC数据集包含由微型飞行器收集的立体图像和相应的IMU测量数据,并广泛用于视觉惯性系统的评估。数据集共有11个序列,分为3个难度级别:“容易”(MH01、MH02,V101,V201)、“中等”(MH03、MH04,V102,V202)和“困难”(MH05,V103,V203)。MH序列是在工厂环境中采集的,VR序列则通过手持相机在室内采集。容易序列的场景为宽敞的实验室或工业环境,特征丰富;中等序列的场景为狭窄的走廊或有障碍物的区域,特征较少且不均匀,飞行器运动轨迹复杂;困难序列的场景则包括光照极端的区域,特征稀少,飞行器运动快速且不规则。数据集的地面真实值由Vicon运动捕捉系统收集,提供了每一时刻的姿态和IMU偏置数据。本文算法在EuRoC数据集上的评估结果见图5
5本文算法在EuRoC数据集的评估
Fig.5Evaluation of the proposed algorithm on the EuRoC dataset
图5(a)~(c)显示了算法在EuRoC数据集不同难度序列(容易的V201、中等的MH03、困难的V103)上的XY平面轨迹误差。图5(d)~(f)展示了轨迹误差随时间变化的具体数值。图5(g)~(i)反映了在对应数据集序列进行跟踪时的点线特征。图5(j)~(l)显示了使用EuRoC数据集重建地标和轨迹的三维地图。从图5(a)~(f)可以看出,本文算法在各个难度序列上都展现了与地面真实情况相符的良好精度性能。此外,图5(g)~(i)中的三维地图重建结果显示,算法通过丰富的特征点和线,成功描述了环境的几何形状,验证了其在复杂场景下的有效性。
4.2 定位精度评估
为了评估本文算法在EuRoC数据集上的定位精度,本文将其与ORB-SLAM3、PL-SLAM[18]、PL-VIO、PL-VINS、OKVIS、VINS-Mono、Kimera[19]、VINS-Fusion等算法进行了对比实验,见表1。在表1中,本文使用绝对轨迹误差(absolute trajectory error,ATE)的均方根误差(root mean square error,RMSE)来评价定位性能。为了减少实验的偶然性并保证实验的可靠性,对本文算法在每个序列上进行了10组实验,并对结果取平均值。对比算法的数据结果则来自相关文献。结果显示,在11个序列中,本文算法的精度最高,其次为ORB-SLAM3。
1本文算法与点线、视觉惯性SLAM的均方根误差
Tab.1RMSE of our algorithm and point-line, visual-inertial SLAM
为了进一步验证本文算法的可行性,将本文算法与ORB-SLAM3、VINS-Fusion以及PL-VINS在相同配置环境下进行了比较。实验中,所有算法均采用双目加IMU的多传感器组合,且未对源码参数进行任何修改。每个序列进行了10组实验,并对数据结果取平均值。通过绝对轨迹误差的均方根误差和平均误差进行对比,定量分析了本文算法的性能。
图6表2可以看出,本文算法在EuRoC数据集上的均方根误差和平均误差均取得了最佳效果。EuRoC数据集分为MH序列和VR序列,MH序列是在光照条件较差、包含低纹理场景和大量结构化信息的工厂环境中采集的,而VR序列是通过手持相机在室内采集的,具有大量的无规则高速晃动。实验结果显示,本文算法在均方根误差和平均误差方面相较于VINS-Fusion平均提升了77.56%和77.55%;相较于PL-VINS提升了76.95%和76.97%;相较于ORB-SLAM3提升了27.37%和27.47%。上述实验结果表明,本文算法在室内环境下能够有效解决弱纹理场景中关键点特征稀疏、结构化场景中特征应用不充分,以及相机快速移动时关键帧容易跟踪失败的问题,本文算法在这些复杂场景中的定位精度和鲁棒性具有显著优势。
6各序列绝对轨迹误差
Fig.6Absolute trajectory error for each sequence
2本文算法与双目点线、视觉惯性SLAM的绝对轨迹误差
Tab.2ATE of our algorithm compared with stereo point-line and visual-inertial SLAM
为了更直观地展示结果,本文还提供了PL-VINS、VINS-Fusion、ORB-SLAM3和本文算法在V201(容易序列)、MH03(中等序列)和V203(困难序列)上的XY平面估计轨迹。这3种序列涵盖了EuRoC数据集的所有场景和难易程度,包含无纹理区域、显著的光照变化以及较少的环路闭合等多种挑战性场景。如图7所示,第1行展示了3个序列(V201、MH03和V203)的整体轨迹和局部放大图,第2行展示了轨迹误差随时间的变化。从整体轨迹图和局部放大图可以看出,本文算法生成的轨迹与地面真实轨迹的距离最近,尤其是在转弯和加速的情况下表现更为出色。轨迹误差图进一步表明,本文算法在整个过程中基本保持了最小的误差。这些结果直观地展示了本文算法的可行性和在复杂环境中的优势。
7双目视觉惯性SLAM的轨迹对比
Fig.7Trajectory comparison of stereo visual-inertial SLAM
4.3 消融实验
为了验证每个模块的有效性,本文分别对各个模块进行了启用和禁用测试。具体来说,“Line”表示启用了线特征提取与匹配模块,“IMU”表示加入了惯性传感器,“B”表示不包含这些模块的基础算法。当绝对轨迹误差的均方根误差超过1 m或无法完成某些序列的所有跟踪时,不记录。比较结果见表3
3不同模块的均方根误差
Tab.3RMSE results comparison for different modules
从整体结果来看,每个模块的启用都对系统性能有积极影响,显著提升了基础算法的效果。在MH序列中,尤其是MH05序列中,场景包含弱纹理场景和结构化特征,仅启用线特征提取与匹配模块时,定位精度达到最高。这证明了线特征能够有效表示结构化信息,并提升算法的定位精度和鲁棒性。在VR序列中,场景是通过手持相机在室内采集的,包含大量无规则的高速晃动。表3结果显示,加入惯性传感器模块后,在剧烈运动时能显著改善特征提取的难度,提高系统的稳定性。整体来看,本文算法通过有效融合各个模块,实现了良好的定位精度和鲁棒性。结果表明,完整的系统在各种复杂环境下都具有出色的性能。
5 结论
1)本文提出了一种基于点线特征融合的双目视觉惯性SLAM方法,针对弱纹理场景中关键点特征稀疏、结构化场景中结构化特征应用不足以及相机快速移动导致的关键帧跟踪失败等问题,采用高斯图像金字塔结合EDlines线段提取方法,实现了多尺度线段的提取。通过模拟不同尺度下线段端点检测过程中的不确定性,并使用LBD方法为线段关联二进制描述符,结合平铺技术加速线段匹配,设定距离阈值剔除误匹配,从而显著提高了线特征匹配的鲁棒性和效率。
2)在系统优化过程中,将双目视觉的点特征重投影误差、线特征重投影误差以及惯性传感器的预积分约束相结合,采用滑动窗口的非线性优化方法,有效提升了系统的位姿估计精度。通过多传感器信息融合,充分发挥了点线特征和惯性信息的互补优势,增强了系统在复杂环境下的鲁棒性和精确度。
3)在EuRoC数据集的多种环境条件下进行的实验表明,本文方法在处理弱纹理场景、结构化场景以及相机快速运动等复杂条件时,具有明显的性能优势。实验结果显示,本文方法的轨迹均方根误差达到0.031 m,平均误差为0.027 m,相较于现有算法,展示出更高的定位精度和更强的鲁棒性,验证了各模块的可行性和有效性。
1点线双目视觉惯性SLAM方法
Fig.1Framework of stereo visual-inertial SLAM method with point and line features
2空间直线的Plücker坐标表示
Fig.2Plücker coordinate representation of a spatial line
3线投影误差
Fig.3Line projection errors
4滑动窗口的非线性优化
Fig.4Nonlinear optimization of the sliding window
5本文算法在EuRoC数据集的评估
Fig.5Evaluation of the proposed algorithm on the EuRoC dataset
6各序列绝对轨迹误差
Fig.6Absolute trajectory error for each sequence
7双目视觉惯性SLAM的轨迹对比
Fig.7Trajectory comparison of stereo visual-inertial SLAM
1本文算法与点线、视觉惯性SLAM的均方根误差
Tab.1RMSE of our algorithm and point-line, visual-inertial SLAM
2本文算法与双目点线、视觉惯性SLAM的绝对轨迹误差
Tab.2ATE of our algorithm compared with stereo point-line and visual-inertial SLAM
3不同模块的均方根误差
Tab.3RMSE results comparison for different modules
ZHU Jun, LI Hongyi, ZHANG Tao. Camera, LiDAR,and IMU based multi-sensor fusion SLAM:a survey[J]. Tsinghua Science and Technology,2024,29(2):415. DOI:10.26599/TST.2023.9010010
LIU Xin, WEN Shuhuan, ZHANG Hong. A real-time stereo visual-inertial SLAM system based on point-and-line features[J]. IEEE Transactions on Vehicular Technology,2023,72(5):5747. DOI:10.1109/TVT.2022.3233721
陈明方, 黄良恩, 王森, 等. 移动机器人视觉里程计技术研究综述[J]. 农业机械学报,2024,55(3):1.CHEN Mingfang, HUANG Liang’en, WANG Sen,et al. Survey of research on visual odometry technology for mobile robots[J]. Transactions of the Chinese Society for Agricultural Machinery,2024,55(3):1. DOI:10.6041/j.issn.1000-1298.2024.03.001
樊铭瑞, 张世栋, 李运, 等. 融合轨道动力学的小行星探测器自主视觉定位[J]. 哈尔滨工业大学学报,2024,56(5):19.FAN Mingrui, ZHANG Shidong, LI Yun,et al. Autonomous visual localization for asteroid probe fusion orbital dynamics[J]. Journal of Harbin Institute of Technology,2024,56(5):19. DOI:10.11918/202202032
GE Yangbing, ZHANG Lilian, WU Yuanxin,et al. PIPO-SLAM:lightweight visual-inertial SLAM with preintegration merging theory and pose-only descriptions of multiple view geometry[J]. IEEE Transactions on Robotics,2024,40:2046. DOI:10.1109/TRO.2024.3366815
ENGEL J, KOLTUN V, CREMERS D. Direct sparse odometry[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2018,40(3):611. DOI:10.1109/TPAMI.2017.2658577
GAO Xiang, WANG Rui, DEMMEL N,et al. LDSO:direct sparse odometry with loop closure[C]//2018 IEEE/RSJ International Conference on Intelligent Robots and Systems(IROS). Madrid: IEEE,2018:2198. DOI:10.1109/IROS.2018.8593376
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. DOI:10.1109/TRO.2017.2705103
CAMPOS C, ELVIRA R, GÓMEZ RODRÍGUEZ J J G,et al. ORB-SLAM3:an accurate open-source library for visual,visual-inertial,and multimap SLAM[J]. IEEE Transactions on Robotics,2021,37(6):1874. DOI:10.1109/TRO.2021.3075644
GOU Rongsong, CHEN Guangzhu, PU Xin,et al. A visual SLAM with tightly-coupled integration of multiobject tracking for production workshop[J]. IEEE Internet of Things Journal,2024,11(11):19949. DOI:10.1109/JIOT.2024.3368417
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). Singapore: IEEE,2017:4503. DOI:10.1109/ICRA.2017.7989522
ZHOU Lipu, HUANG Guoquan, MAO Yinian,et al. EDPLVO:efficient direct point-line visual odometry[C]//2022 International Conference on Robotics and Automation(ICRA). Philadelphia: IEEE,2022:7559. DOI:10.1109/ICRA46639.2022.9812133
夏琳琳, 宋梓维, 方亮, 等. 基于图优化的GNSS/双目视觉/惯性SLAM系统开发及应用[J]. 中国惯性技术学报,2024,32(5):475.XIA Linlin, SONG Ziwei, FANG Liang,et al. The developing and application of graph optimization-based GNSS/stereo visual/inertial SLAM system[J]. Journal of Chinese Inertial Technology,2024,32(5):475. DOI:10.13695/j.cnki.12-1222/o3.2024.05.008
QIN Tong, LI Peiliang, SHEN Shaojie. VINS-mono:a robust and versatile monocular visual-inertial state estimator[J]. IEEE Transactions on Robotics,2018,34(4):1004. DOI:10.1109/TRO.2018.2853729
HE Yijia, ZHAO Ji, GUO Yue,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
KUANG Zhenfei, WEI Wei, YAN Yier,et al. A real-time and robust monocular visual inertial SLAM system based on point and line features for mobile robots of smart cities toward 6G[J]. IEEE Open Journal of the Communications Society,2022,3:1950. DOI:10.1109/OJCOMS.2022.3217147
BURRI M, NIKOLIC J, GOHL P,et al. The EuRoC micro aerial vehicle datasets[J]. The International Journal of Robotics Research,2016,35(10):1157. DOI:10.1177/0278364915620033
GOMEZ-OJEDA R, MORENO F A, ZUNIGA-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. DOI:10.1109/TRO.2019.2899783
ROSINOL A, ABATE M, CHANG Yun,et al. Kimera:an open-source library for real-time metric-semantic localization and mapping[C]//2020 IEEE International Conference on Robotics and Automation(ICRA). Paris: IEEE,2020:1689. DOI:10.1109/icra40945.2020.9196885