视觉SLAM特征匹配方法、系统、装置及可读存储介质与流程

文档序号:32948213发布日期:2023-01-14 12:07阅读:23来源:国知局
视觉SLAM特征匹配方法、系统、装置及可读存储介质与流程
视觉slam特征匹配方法、系统、装置及可读存储介质
技术领域
1.本发明涉及一种图像特征匹配算法,具体来说,涉及了一种视觉slam特征匹配方法、系统、装置及可读存储介质。


背景技术:

2.作为视觉slam(simultaneous localization and mapping)的前端技术,视觉里程计的主要任务是根据相邻图像的匹配信息估计相机运动,其中对图像进行特征匹配是最关键环节,匹配的准确性直接影响vslam系统精度。常用的特征匹配算法有暴力匹配算法和快速最近邻匹配算法。然而,当相机运动过快时,图像模糊、动态场景、光线变化和图像特征本身的局部特性,使特征误匹配广泛存在,并成为制约视觉slam性能提升的一大瓶颈。
3.为解决特征误匹配率高的问题,国内外学者大多采用vslam与惯性测量单元(inertial measurement unit,imu)融合技术。有学者提出了一种改进的asift特征匹配方法,利用imu提供的运动信息虚构相机视图并估计本质矩阵,以提高特征匹配的稳健性。吴斌和王旭日利用图像的对极约束建立了前后两帧图像像素所在极线的数学关系,并结合imu预测相机位姿获取特征点所在极线,有效地剔除误匹配的特征点。qi guan提出了一种全局搜索和局部搜索交替操作并自动切换的特征匹配算法,利用相机投影模型和imu预积分结果预测特征点可能出现的区域,并对局部区域进行搜索匹配。同样地,campos c,elvira r提出的视觉惯性slam系统orb-slam3在特征匹配阶段也引入了惯导约束,利用imu预测相机位姿,将双目相机左右匹配或三角化得到的地图点投影至图像,预测像素位置。由于惯导解算可为特征点匹配提供区域约束,提高特征匹配的准确度,所以得到了广泛应用。
4.然而,由于imu测量值本身存在误差,在惯导辅助图像特征匹配时,通常将全图像的特征匹配转换为以预测位置为原点,某一固定值为半径的局部区域特征匹配。而且为了适配不同精度imu,普遍做法是设置一个较大的搜索半径值,以避免漏掉特征点。这在imu精度较高时易造成计算资源浪费,提高了图像特征的误匹配率,使slam系统的位姿估计精度降低。


技术实现要素:

5.本发明针对上述现有技术的不足,提供一种自适应惯导辅助视觉slam特征匹配方法及系统,以惯性单元误差为基础,根据误差传播定律自动调整图像特征匹配搜索半径,不仅能提高特征点匹配的准确率,还能减少匹配所需的计算量和耗时,提高特征匹配的效率。
6.本发明为实现上述目的所采用的技术方案是:
7.本发明第一方面提供一种基于自适应惯导辅助的视觉slam特征匹配方法,包括以下步骤;
8.步骤1,预处理双目相机图像数据;
9.步骤2,对惯性测量单元imu测量值进行预积分;
10.步骤3,对预积分进行误差分析;
11.步骤4,对像素坐标进行预测;
12.步骤5,确定自适应阈值。
13.本发明第二方面提供一种基于自适应惯导辅助的视觉slam特征匹配系统,包括:
14.第一处理模块,用于预处理双目相机图像数据;
15.第二处理模块,用于对惯性测量单元imu测量值进行预积分;
16.第三处理模块,用于对预积分进行误差分析;
17.第四处理模块,用于对像素坐标进行预测;
18.第五处理模块,用于确定自适应阈值;
19.所述第一处理模块、所述第二处理模块、所述第三处理模块、所述第四处理模块和所述第五处理模块依次连接,用以完成所述的基于自适应惯导辅助的视觉slam特征匹配方法。
20.本发明第三方面提供一种视觉slam特征匹配装置,包括:
21.存储器;以及
22.耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行所述的基于自适应惯导辅助的视觉slam特征匹配方法。
23.本发明第四方面提供一种非瞬时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述的基于自适应惯导辅助的视觉slam特征匹配方法。
24.本发明相对现有技术具有突出的实质性特点和显著进步,具体来说,本发明具有以下有益效果及优点:
25.本发明提出了自适应阈值惯性测量单元辅助的图像特征匹配算法,以惯性单元误差为基础,能够根据误差传播定律自动调整图像特征匹配搜索半径,从而利用不同精度的惯性测量数据高效辅助视觉slam的特征匹配。本发明提出的自适应算法能够有效缩小特征匹配的搜索半径,为特征点提供区域约束,提高图像特征匹配的准确度,为slam系统提供较为准确的位姿初值,进而提升系统整体位姿精度。
附图说明
26.图1惯导辅助图像特征匹配流程图。
27.图2双目相机的成像模型图。
28.图3确定自适应特征匹配搜索半径流程图。
具体实施方式
29.下面结合附图对本发明做进一步的详细说明。
30.技术名称的说明:
31.特征点,是指像素坐标系下具有代表性的像素,是从图像中选取的具有代表性的点,因此其对应的坐标称为像素坐标;
32.地图点,是指特征点对应的三维空间点;
33.载体,是指搭载相机与惯导的平台。
34.实施例1
35.如图1-3所示,本实施例提供一种基于自适应惯导辅助的视觉slam特征匹配方法,
包括以下步骤;
36.步骤1,预处理双目相机图像数据;
37.预处理双目图像数据的方法包括:
38.步骤1-1,根据相似三角形原理,得地图点在双目相机坐标系下的深度值z为
[0039][0040]
其中,f为相机的焦距,b为双目相机的基线;
[0041]
步骤1-2,将特征点在双目相机坐标系下的深度值z代入针孔相机投影模型,得地图点在相机坐标系下的坐标p
l

[0042][0043]
式中,(u
l
,v
l
)是地图点p在左目相机图像平面坐标系下的像素坐标,c
x
,cy是相机内参。
[0044]
步骤2,对惯性测量单元imu测量值进行预积分;
[0045]
在两个连续图像帧i,j之间有多帧imu数据,通过对惯性测量单元imu测量值预积分可得到两帧图像的相对运动增量;
[0046]
对惯性测量单元imu测量值进行预积分的方法包括:
[0047][0048][0049][0050]
式中,δr
ij
,δv
ij
,δp
ij
分别为相邻两图像帧i,j经预积分解算得到的相对姿态、速度和位置;分别为k时刻陀螺仪和加速度计的测量值、零偏和离散的高斯白噪声;δt为惯性测量单元imu的采样时间间隔;exp(
·
)为指数映射,将旋转向量映射为李群空间的旋转矩阵。
[0051]
步骤3,对预积分进行误差分析;
[0052]
对预积分进行误差分析的方法包括:
[0053]
步骤3-1,由于预积分量与惯性测量单元imu噪声存在复杂的依赖关系,难以直接利用误差传播定律递推出预积分的信息矩阵,因此可将惯性测量单元imu噪声从预积分量中分离出来,得到预积分测量噪声与惯性测量单元imu噪声关系为:
[0054][0055]
[0056][0057]
式中,为i到j时刻惯性测量单元imu预积分量中姿态误差δr
ij
对应的李代数;δv
ij
,δp
ij
分别为i到j时刻惯性测量单元imu预积分量中速度和位置的误差;分别为k时刻陀螺仪和加速度计的离散噪声,是其连续噪声与采样频率开方的乘积,单位分别为rad/s,m/s2;
[0058]
步骤3-2,由于三个预积分状态量误差表达式较为复杂,直接计算会给计算平台带来资源的浪费,经推导与简化,得预积分量误差的递推公式为:
[0059][0060]
式中,为i到j-1时刻惯性测量单元imu预积分量中姿态误差δr
i,j-1
对应的李代数;δv
i,j-1
,δp
i,j-1
分别为i到j-1时刻惯性测量单元imu预积分量中速度和位置的误差;为j到j-1时刻载体相对姿态;为j-1时刻加速度计测量值;为i时刻加速度计零偏,这里定义相邻两图像帧间偏差不变;为右雅克比矩阵的逆;分别为j-1时刻陀螺仪和加速度计的离散噪声;
[0061]
步骤3-3,根据误差传播定律,得两相邻图像帧之间imu预积分量的协方差∑
ij
为:
[0062][0063][0064]
[0065][0066]
式中,∑
i,j-1
为i到j-1时刻惯性测量单元imu预积分量的协方差,定义初始时刻惯性测量单元imu预积分量无误差,即∑
ii
为零矩阵;为j-1时刻惯性测量单元imu测量值噪声的协方差,定义任意时刻惯性测量单元imu协方差都为固定值,且由陀螺仪和加速度计标定噪声η
gd

ad
构成。
[0067]
步骤4,对像素坐标进行预测;
[0068]
对像素坐标进行预测的方法:
[0069]
利用惯性测量单元的测量值和预积分原理计算出载体在相邻两帧图像之间的旋转矩阵和平移向量分别作为相邻两图像帧i,j经惯性测量单元imu预积分解算得到的相对姿态和位置
[0070]
根据上一图像帧时刻载体在世界坐标下的位姿和相邻两图像间相对位姿,预测当前图像帧时刻载体在世界坐标系下的位姿为:
[0071][0072][0073]
其中,分别为上一图像帧时刻载体在世界坐标系下的姿态、速度和位置,δt为相机的采样间隔,g为地球重力;
[0074]
将当前图像帧时刻载体系在世界坐标系下的位姿转换为世界系相对载体系的位姿为:
[0075][0076][0077]
作为经惯性测量单元imu预积分预测的相机位姿;
[0078]
利用视觉惯性slam标定的相机系与载体系转换矩阵,预测当前图像帧时刻相机相对世界系的位姿为:
[0079][0080][0081]
其中,r
cb
,t
cb
分别为相机系与载体系的转换矩阵和平移向量;
[0082]
当相机模型为针孔相机模型时,利用双目相机模型获取的地图点在当前帧图像上对应像素坐标为:
[0083]
pc=r
cw
pw+t
cw
[0084][0085]
其中,f
x
,fy,c
x
,cy为相机的内参数,pw为地图点在世界坐标系下的三维坐标,pc为地图点在当前帧相机系的坐标,u,v为地图点对应像素坐标。
[0086]
步骤5,确定自适应阈值;
[0087]
确定自适应阈值的方法:
[0088]
步骤5-1,由惯性测量单元imu预积分误差和误差传播定律可得图像间相对位姿的协方差利用惯性导航辅助特征匹配原理可得其传递至每个地图点对应的像素,获取预测像素位置的中误差;由于特征匹配过程中使用的函数与位姿相关,因此误差传递时从李代数的角度对函数进行线性化;将惯性测量单元imu预积分相对位姿误差传递至当前图像帧时刻载体相对世界系的位姿误差过程中,需要对相对姿态和位置线性化,故计算关于相对姿态和位置的导数:
[0089][0090][0091]
步骤5-2,计算当前图像帧时刻载体相对世界系位姿的协方差:
[0092][0093][0094]
其中,为对应的李代数,为右乘雅克比矩阵的逆,为imu预积分获取相对位姿的协方差;
[0095]
步骤5-3,同理,依据预积分量误差的递推公式和两相邻图像帧之间imu预积分量的协方差∑
ij
,由当前图像帧时刻载体系相对世界系位姿协方差可得相机相对世界系位姿的协方差,利用相机的针孔投影模型将预测相机位姿协方差传递到每个地图点对应像素,得到像素的协方差;
[0096]
自适应特征匹配搜索半径与像素协方差的对应关系为:
[0097][0098]
r=3max{σu,σv}
[0099]
其中,σ0为单位权中误差,σu,σv分别为像素坐标u,v的中误差,r为特征匹配的搜索半径,取像素坐标的极限误差。
[0100]
实验验证
[0101]
为验证本实施例所述方法的可行性和有效性,分别使用euroc和tum两个公共数据
集中的不同场景序列进行实验分析。其中euroc数据集由搭载mt9v034摄像机和adis16448惯性测量单元的微型飞行器采集,同时使用激光跟踪仪或vicon动作捕捉系统实时捕捉飞行时位姿,作为飞行器的真实轨迹;tum数据集由搭载ueye相机和bmi160惯性测量单元的移动小车采集,真实轨迹由optitrack动作捕捉系统提供。
[0102]
本次实验选择两个公开数据集中mh01、v101、v201、corridor1、magistrale1、room1和slides1这7个代表性序列,每个序列都给出了具体场景、距离及加速度计和陀螺仪的噪声,见表1:
[0103]
表1实验所选序列
[0104][0105]
为验证本实施例方法的可用性,本次实验对比了不同数据集中不同图像序列利用改进前后orb-slam3系统处理输出位姿的绝对位姿误差,见表2,这里的数据为各序列10次评测绝对位姿误差均方根的平均值。
[0106]
表2各序列整体位姿的绝对位姿误差的均方根(m)
[0107][0108]
由表2可知,在选用的图像序列中,依据本实施例所述方法改进后的orb-slam3系统的绝对轨迹误差均优于原算法,改进后系统整体位姿精度平均提高24.32%。证明改进后的orb-slam3系统能够在不同场景序列中都可以良好运行,具有较强的鲁棒性,同时定位精度也有所提升。这是因为orb-slam3系统后端采用非线性优化法,即使最终输出位姿经历了
三次优化,但其仍与给定的初始位姿具有较强的相关性。而这里的初始位姿正是由跟踪线程提供的,因此本实施例所提出的方法直接提升了跟踪线程位姿估计的精度,为slam系统提供了较为准确的初值,进而使slam系统整体定位精度提高。
[0109]
实施例2
[0110]
本实施例提供一种基于自适应惯导辅助的视觉slam特征匹配系统,包括:
[0111]
第一处理模块,用于预处理双目相机图像数据;
[0112]
第二处理模块,用于对惯性测量单元imu测量值进行预积分;
[0113]
第三处理模块,用于对预积分进行误差分析;
[0114]
第四处理模块,用于对像素坐标进行预测;
[0115]
第五处理模块,用于确定自适应阈值;
[0116]
所述第一处理模块、所述第二处理模块、所述第三处理模块、所述第四处理模块和所述第五处理模块依次连接,用以完成实施例1所述的基于自适应惯导辅助的视觉slam特征匹配方法。
[0117]
本实施例系统的具体实现方法,参见实施例1所述的方法,在此不再赘述。
[0118]
实施例3
[0119]
本实施例提供一种视觉slam特征匹配装置,包括:
[0120]
存储器;以及
[0121]
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行实施例1所述的基于自适应惯导辅助的视觉slam特征匹配方法。
[0122]
其中,存储器例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(boot loader)以及其他程序等。
[0123]
装置还可以包括输入输出接口、网络接口、存储接口等。这些接口以及存储器和处理器之间例如可以通过总线连接。其中,输入输出接口为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口为各种联网设备提供连接接口。存储接口为sd卡、u盘等外置存储设备提供连接接口。
[0124]
实施例4
[0125]
本实施例提供一种非瞬时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现实施例1所述的基于自适应惯导辅助的视觉slam特征匹配方法。
[0126]
本领域内的技术人员应当明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机程序代码的计算机非瞬时性可读存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0127]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装
置。
[0128]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0129]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0130]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1