面向视觉SLAM的快速均匀特征点提取方法

2022-08-05 02:27宋霄罡张元培黑新宏
导航定位与授时 2022年4期
关键词:特征提取网格图像

宋霄罡,张元培,梁 莉,黑新宏

(西安理工大学计算机科学与工程学院,西安 710048)

0 引言

视觉同步定位与建图(Simultaneous Localizat-ion and Mapping,SLAM)是通过视觉传感器在对环境建图的同时进行无人系统的自主定位。视觉传感器可以获得物体丰富的图像信息,随着机器人、自动驾驶等行业的快速发展,视觉SLAM成为了广大学者的研究热点。现有的特征点检测方法得到的特征点冗余且均匀性差,大量的信息仅描述少部分显著性特征,导致跟踪过程容易丢失,影响位姿估计的准确性;且在机器人、无人机等计算资源受限的嵌入式平台上,常用的特征检测方法计算效率低,耗时严重,是影响视觉SLAM算法实时性的重要原因之一。

特征点提取是视觉SLAM重要的环节之一,通常可分为基于学习的方法和基于设计的方法。近年来,机器学习的方法被广泛地应用于特征点提取,J.T.Arnfred等提出了无几何约束的图像特征提取与匹配通用框架;Zeng S.等提出了使用参数化的Koopmans-Beckmann 监督学习的图形提取匹配方法,但是机器学习的方法对计算资源要求高,且普适性差,无法应对复杂多变的应用场景。尺度不变特征算法采用128维的特征向量,具有较高的匹配精度,但需要耗费大量的时间。H.Bay在尺度不变特征算法的基础上提出了加速鲁棒特征算法,该算法使用基于Hessian矩阵的检测器和基于分布的描述符加速提取过程,但仍难以满足视觉SLAM的实时性需求。E.Rublee等提出的ORB(Oriented FAST and Rotated BRIEF)算法采用FAST(Features from Accelerated Segment Test)算法提取特征点,使用抗旋转的描述符进行特征修饰和特征匹配。虽然该算法在时间损耗方面有所降低,但提取的特征点过于密集,存在大量冗余,会直接影响位姿估计精度。Rao D.等提出的方法和ORB-SLAM系列算法使用四叉树均匀化方法(Quad-Tree,QT),改善了特征点过于密集的问题。Ma C.等采用自适应阈值的四叉树均匀化方法(Adaptive Threshold Quad-Tree,ATQT),可以得到均匀分布的特征点,但需要遍历整个图像计算动态阈值,增加了时间成本。

基于特征点的视觉SLAM方法,首先检测视频序列中每一帧的特征点,再通过特征点匹配建立帧间关联模型,最后使用空间几何模型计算位姿。这种方法希望提取的特征点均匀分布于图像中,一方面,使用聚集且冗余的特征点建立的地图会出现路标点聚集于部分特征,导致无人系统移动过程中更容易出现跟踪丢失的问题;另一方面,使用八点法求解空间几何模型,冗余且密集的特征点会造成计算失败或误差过大。

本文提出的快速均匀特征点(Fast Uniform Fea-ture Point,FUFP)提取方法根据目标提取特征点数量对图像进行网格划分,得到若干个大小相同的子图像块,对于没有特征点的子图像块,对最近邻的图像块进行补偿性划分,最后选择每个图像块内响应值最大的角点作为特征点,实现特征点均匀分布。根据图像中实际存在的特征点数量设计均匀分布模板,将模板与实际特征点分布情况作对比,计算得到均匀性评价系数,使用均匀性评价系数分析特征点分布均匀性。本文主要贡献如下:

1)提出了FUFP方法直接根据目标特征点提取数量对图像进行网格划分,使特征点均匀分布于图像中,保证计算效率的同时提升了视觉定位精度;

2)提出了同时兼顾全局和局部信息的均匀性评价方式,符合视觉SLAM对特征点分布的要求,评价方法更加可靠。

1 快速均匀特征点提取

1.1 四叉树均匀化方法

ORB特征点提取方法未做任何均匀化处理,得到密集且冗余的特征点。四叉树均匀化方法将二维图像区域递归划分为若干个区域,最终使每个区域中最多存在一个特征点,从而实现特征点的均匀分布。四叉树均匀化过程如图1所示,算法具体步骤如下:

1)将待划分的图像区域划分为相同大小的4个子区域;

(a) 未划分

(b) 一次划分

(c) 四次划分图1 四叉树均匀化过程Fig.1 Quadtree homogenization process

2)根据每个子区域中特征点数量判断是否需要继续划分,若特征点数量大于1,则返回步骤1)对该区域继续进行划分,否则停止对该区域的划分;

3)当划分得到的特征点个数大于期望数量,或特征点个数不再增加时,确保每个子区域中最多存在一个特征点,均匀化处理完成。

1.2 FUFP方法

四叉树均匀化方法通过判断当前区域特征点数量,递归地对图像进行划分;而本文提出的FUFP方法通过目标特征点数量对图像进行网格划分,算法的主要流程如图2所示。

图2 特征点提取流程图Fig.2 Flow chart of feature point extraction

算法的具体实施流程为:

1)建立图像金字塔,提取不同尺度的角点特征。

2)若目标提取特征点数量为,则将图像按目标提取数量进行网格划分,得到大小一致的×个图像子块,划分结果如图3所示,和计算方法如式(1)所示,其中,、分别为目标图像的宽和高。

(1)

图3 图像网格划分结果Fig.3 Image meshing results

3) 对于没有角点的网格区域,按照自左向右、自上向下的顺序,寻找下一个存在角点的网格区域,将该区域划分为4个大小相同的子区域,此方法称为补偿性划分。

4)选择每一个网格区域中Harris响应值最大的角点作为代表该网格区域的特征点。

最终提取的特征点如图4所示,图中圆形代表第一次网格划分中的特征点,星形代表通过补偿性划分后得到的子区域中的特征点。因为不能保证每个网格中都存在角点,所以需要进行补偿性划分,以保证实际得到的特征点数尽可能接近目标提取数量。

图4 均匀特征点提取结果Fig.4 Results of uniform feature point extraction

2 均匀性评价系数

基于图像区域划分的特征点分布均匀性评价方法,通过比较各个图像区域的特征点个数,进行特征点分布均匀性评价,但缺少对局部均匀性的关注。本文提出的评价方法通过特征点与最近邻特征点间的像素距离计算均匀性分布系数。

若要使个特征点均匀地分布在一张图像上,最佳的方案是个半径为的圆形无重叠地布满整个图像,特征点分布在每个圆形的圆点位置,该方案称为模板,如图5所示。此时,各个特征点与最近邻特征点间的像素距离均为=2,的计算方法见式(2)。

(2)

其中,表示图像像素高;表示图像像素宽。

图5 特征点均匀分布模板Fig.5 Template with uniform distribution of feature points

模板最重要的特点是每个特征点和最近邻特征点之间的距离均为,由此得到计算特征点分布均匀性系数的方法:首先计算图像上每一个特征点与它最近邻特征点之间的距离,再与模板距离作比较计算,最后求得平均值,即为均匀性系数。具体的计算方法见式(3)。

(3)

其中,为均匀性评价系数;表示第个特征点与其最近邻特征点间的像素距离。的值越小均匀性越好,越大则均匀性越差。

3 实验评估

3.1 实验平台

采用NVIDIA Jetson TX2嵌入式计算机作为实验平台,主要软硬件参数如表1所示。

表1 实验平台参数

3.2 数据集

验证数据集采用EuRoC MAV MH系列数据集和TUM RGBD fr1系列数据集。EuRoC MAV MH系列数据集是由六角旋翼直升机在工厂环境中拍摄收集,实验使用代表简单、中等和困难的MH02、MH03、MH04序列。TUM RGBD fr1系列数据集是通过手持摄像机在办公室环境中拍摄收集,使用代表平移、旋转、360环绕和重复拍摄的fr1/xyz、fr1/rpy、fr1/360和fr1/desk序列。

3.3 实验结果与分析

使用ORB特征提取方法、四叉树均匀化方法、自适应阈值的四叉树均匀化方法和提出的FUFP方法进行对比实验分析。实验分为两部分:特征点提取和特征点在视觉SLAM中的评估。

3.3.1 特征点提取

设定目标提取特征点个数为200,使用四种方法分别在工厂环境和办公室环境下提取特征点,结果如图6所示。

图6中,红圈标注的部分展示了不同特征提取方法对同一局部信息提取特征点的对比结果。图6结果表明:ORB特征点提取方法均匀性最差,特征点密集且冗余,无法准确地描述图像空间信息;四叉树均匀化方法得到的特征点在整个图像上呈现均匀分布,但是存在局部密集的现象;自适应阈值的四叉树均匀化方法提取的特征点在特征明显的局部位置呈现均匀性,但全局均匀性较差;本文提出的FUFP方法提取的特征点均匀分布于整张图像上,充分突出了图像特征信息。

(a) ORB

(b) ATQT

(c) QT

(d) FUFP

采用第2节所述均匀性评价方法对四种特征提取方法进行实验分析,分别在四类场景数据集中提取50、100和200个特征点,计算平均每帧的均匀性系数,结果如表2所示。

表2结果表明:ORB方法提取的特征点存在大量冗余,多个特征点描述同一个特征信息,均匀性最差;本文提出的FUFP方法以目标提取特征点个数划分网格区域,满足一个网格区域内只存在一个特征点,特征点均匀分布在整张图像中,均匀性最好。

目标提取特征点个数分别为50、100和200时,分别使用四种方法在7个视频序列中进行测试,四种方法平均每一帧的处理耗时如表3所示。

表2 平均每帧均匀性系数

表3 特征点提取平均每帧耗时

表3结果表明:自适应阈值的四叉树均匀化方法花费时间最长,计算特征点提取阈值需要遍历图像所有像素,消耗大量的计算时间;而本文提出的FUFP方法耗费时间最短,时间主要用于提取角点特征,网格划分消耗时间可忽略不计。

同时,通过特征点匹配实验比较了四种特征点提取方法得到的特征点质量。使用旋转不变性描述子在两帧之间进行特征点匹配,表4所示为四种方法提取的特征点在7个视频序列上进行特征点匹配的平均匹配精度。

表4 特征点平均匹配精度

表4结果表明:虽然未进行任何均匀化处理的ORB特征提取方法得到的特征点质量和平均匹配精度高,但是特征点聚集且冗余,无法充分突出空间信息,影响SLAM跟踪定位精度;本文提出的FUFP方法提取的特征点平均匹配精度相对较低,但是剔除了部分冗余特征,为视觉SLAM提供了更多空间特征信息,有助于提高SLAM跟踪定位精度。

图7所示为使用FUFP方法剔除冗余特征点的前后对比图。通过网格划分和特征点筛选,剔除冗余和密集特征点,选取网格中响应值最大的角点作为代表该区域的特征点,选取的特征点均匀分布于图像中。

(a) 未剔除冗余特征点的提取结果

(b) FUFP方法的提取结果图7 冗余特征点剔除前后结果对比图Fig.7 Comparison of results before and after elimination of redundant feature points

3.3.2 在SLAM中的评估

ORB-SLAM2是基于特征点的纯视觉SLAM方法中表现优秀的方案。为验证特征点分布均匀性对视觉SLAM方法精度的影响,采用ORB-SLAM2单目视觉作为主体SLAM方案,通过替换不同的特征点提取方法进行实验分析(ORB-SLAM2采用的特征提取为四叉树均匀化方法,验证四叉树均匀化方法时不做替换)。表5所示为ORB-SLAM2分别采用四种特征提取方法在EuRoc数据集和TUM数据集中实验后得到的轨迹的均方根误差,表中“*”表示未能成功建立初始地图,运行失败。

表5结果表明:未做任何均匀化处理的ORB方法,在TUM fr1数据集中均未完成初始地图的建立,在EuRoc MH数据集中初始化时间长,造成跟踪过程丢失频繁,轨迹误差最大;因为跟踪过程丢失频繁,以成功跟踪的位姿计算相对轨迹误差,在MH03数据集上相对位姿的均方根误差较小。QT、ATQT、FUFP这三种对特征点进行均匀化处理的方法轨迹误差均小于未做均匀化处理的ORB方法,其中本文提出的FUFP用于ORB-SLAM2算法得到的轨迹均方根误差最小,定位精度最高。

图8所示为ORB-SLAM2分别采用四种特征提取方法在7个视频序列中实验后得到的轨迹误差曲线对比图。图8中结果与表5中结果一致,ORB特征提取方法用于ORB-SLAM2算法计算得到的轨迹误差最大;FUFP特征提取方法用于ORB-SLAM2算法,在MH02、MH03、fr1/xyz、fr1/rpy、fr1/360和fr1/desk数据集中计算得到的轨迹误差最小。

表5 轨迹均方根误差

(a) MH02

(b) MH03

(c) MH04

(d) fr1/xyz

(e) fr1/rpy

(f) fr1/360

(g) fr1/desk图8 不同数据集上轨迹误差曲线对比图Fig.8 Comparison of trajectory error curves on different data sets

特征点均匀性不但影响视觉定位精度,而且影响建图结果,使用ORB-SLAM2为主体SLAM框架,分别使用ORB特征提取方法和FUFP特征提取方法的ORB-SLAM2对MH02视频序列进行跟踪并建图,结果如图9所示。

(a) ORB的ORB-SLAM2建图结果

(b) FUFP的ORB-SLAM2建图结果图9 两种特征点提取的SLAM方法建图结果Fig.9 Mapping results of two SLAM methods with feature points extraction

图9结果表明:在采用ORB的ORB-SLAM2建立的地图中,3D点聚集且冗余,大量的3D点描述同一个特征,导致跟踪频繁丢失并发生重定位,出现地图中关键帧密集分布的现象,建图结果混乱;在FUFP用于ORB-SLAM2建立的地图中,3D点均匀分布于三维空间中,充分地体现了空间信息,且关键帧均匀分布于地图中,地图清晰。

以ORB-SLAM2为主体框架比较了四种特征提取方法在SLAM算法中跟踪成功时的平均跟踪率,表6所示为特征点在ORB-SLAM2中的平均跟踪率,表中“*”表示未能成功建立初始地图,运行失败。

ORB-SLAM系列算法的定位精度不仅依赖特征点匹配和跟踪结果,还依赖于特征点分布均匀性。图6、图9、表4、表6的实验结果表明:在ORB-SLAM2框架下,虽然ORB、QT、ATQT和FUFP四种方法的特征点匹配率和特征点跟踪率相近,但是ORB、QT、ATQT方法存在特征点冗余或局部密集问题。冗余或密集的特征点在地图中易产生堆积现象,相机移动过程易发生跟踪丢失,严重影响了定位精度;并且密集的特征点求解空间几何模型时不易收敛,同样会导致定位精度的降低。本文提出的FUFP 方法用于ORB-SLAM2得到的特征点均匀分布于空间中,可提高跟踪的稳定性和定位的精度。

表6 特征点在ORB-SLAM2中的平均跟踪率

同时,评估了四种特征提取方法对ORB-SLAM2平均跟踪时间的影响,表7所示为在EuRoc数据集和TUM数据集中实验后统计的平均每帧处理耗时,表中“*”表示未能成功建立初始地图,运行失败。

表7 SLAM平均每帧耗时

表7结果表明:使用ORB的ORB-SLAM2方案得到的数据无比较意义,因为这种方法在EuRoC MH数据集中运行完成初始化较晚,且存在大量跟踪丢失。排除使用ORB特征点提取的不合理数据,使用本文提出的FUFP的ORB-SLAM2方案平均每帧处理时间最短,使用ATQT的ORB-SLAM2方案平均每帧处理时间最长。

4 结论

特征点提取是影响视觉SLAM精度的因素之一,高效提取无冗余且均匀分布的特征点是目前特征点提取面临的主要问题。针对现有的特征点提取方法存在提取结果分布均匀性差且在计算资源受限条件下实时性差的问题,提出了一种网格划分的快速均匀特征点提取方法,并采用特征点与最近邻特征点间的像素距离进行均匀性评价。结论如下:

1)多组不同场景下的实验结果表明,文中提出的FUFP方法提高了特征点均匀分布性和计算效率,同时保证了特征点质量;在无纹理和低纹理场景中,FUFP和其他方法一样,提取到的特征点质量都受到了一定影响。

2)本文提出的使用特征点间距离的均匀性评价标准兼顾全局和局部信息,更加符合视觉SLAM对特征点分布的要求,评价方法更可靠。

3)本文提出的特征点提取方法降低了特征信息冗余及特征信息缺失的概率,为位姿估计提供了丰富的空间信息,提升了视觉SLAM定位精度和时间效率,具有较高的实际应用价值。

猜你喜欢
特征提取网格图像
以“网格+”模式不断开创侨务工作新局面
同步定位与建图特征提取和匹配算法研究
追逐
A、B两点漂流记
基于MED—MOMEDA的风电齿轮箱复合故障特征提取研究
基于曲率局部二值模式的深度图像手势特征提取
名人语录的极简图像表达
一次函数图像与性质的重难点讲析
趣味数独等4则