APP下载

基于图像力场理论的ORB特征优化方法*

2019-11-22孙恩泽郭鹏程

沈阳工业大学学报 2019年6期
关键词:力场特征描述汉明

张 凤,孙恩泽,袁 帅,2,郭鹏程

(1.沈阳建筑大学 信息与控制工程学院,沈阳 110168;2.中国科学院沈阳自动化研究所 机器人学国家重点实验室,沈阳 110000)

视觉SLAM(simultaneous localization and mapping)技术是机器人自主移动领域的关键技术,它是移动机器人采用相机作为传感器进行实时定位和建图的重要方法.随着现有视觉算法性能的不断提升,视觉SLAM算法也得到了很大进展.无论是工业机器人还是家用机器人,视觉SLAM技术已成为目前研究的热点.在视觉SLAM中,主要定位方法分为特征点法和光流法,其中特征点法SLAM定位主要包括PTAM[1]、ORB-SLAM[2]、SVO[3]、RDSLAM[4]等,光流法SLAM定位主要包括LSD-SLAM[5]和DTAM[6].光流法SLAM涉及到大量复杂的图像数据计算,需要配置高性能的显卡才能较为流畅地运行,这样会导致机器人的成本增加且无法实际应用.相比于直接法SLAM,特征点法SLAM能够仅使用CPU进行实时计算而达到比较高精度的定位效果,所以特征点法SLAM研究逐渐成为视觉SLAM的主流算法.然而特征点法SLAM缺乏有效的特征点描述方法,并存在大量匹配误差,使得机器人定位偏移较大,且难于有效跟踪目标,导致地图建立过程中易于错位甚至混乱,无法使机器人进行自主导航移动.

图像特征点提取与匹配是视觉SLAM的一个重要环节,目前很多研究人员已经做了大量研究工作.文献[7]提出使用SIFT(scale-invariant feature transform)算法,该算法提取的特征点较为稳定,然而该算法计算复杂度高,无法满足机器人的实时定位.在SIFT算法基础上,文献[8]提出了SURF(speed up robust features)算法,该算法利用Hessian矩阵和Hear小波相互结合作为SURF描述子,SURF算法优点是特征点具有尺度不变性,计算速度略高于SIFT,稳定性略低于SIFT.SIFT和SURF的计算速度较慢,不适合用于移动机器人视觉SLAM算法,文献[9]提出了ORB(oriented FAST and rotated BRIEF(binary robust independent elementarty features))算法,该算法的优点是计算速度快,然而ORB算法的稳定性弱于SIFT描述子和SURF描述子,但考虑到视觉SLAM算法需要较高实时性,因此,ORB特征点更适用于特征点SLAM算法.由于ORB算法过于追求速度上的优势,因此,ORB算法在尺度不变性、光照不变性和旋转不变性上效果不好,会导致大量的误匹配.很多学者也对ORB算法进行了优化,如柴江龙等[10]人采用梯度方向改进法对ORB特征进行改进,但是该方法提取特征点数目过少,无法应用到特征点SLAM算法;张阳等[11]人提出使用均匀采样算法对ORB特征进行改进,在一定程度上提升了ORB特征的稳定性,但没有对ORB特征描述子优化,因此匹配成功率提升幅度较小;王湘明等[12]人提出了改进特征方法,但是该算法需要的特征点不多,因此该算法无法应用到大范围的移动机器人.

针对ORB特征点稳定性差的问题,本文主要对ORB特征点稳定性进行了优化,针对ORB描述子不具备尺度不变性的问题,提出采用多尺度图像金子塔提取特征点方法保证ORB特征的尺度不变性,通过计算熵值选取合适的图像金字塔层数,对熵值进行归一化处理解决特征点的光照不变性.引入图像力场理论对ORB特征描述子进行优化,保证ORB特征描述子的稳定性,并减少误匹配.在此基础上,采用PROSAC算法剔除冗余特征点,提高特征点匹配精度.最后通过实验验证了本文算法的有效性和精确性.

1 ORB理论与应用

1.1 ORB特征提取

ORB特征提取算法主要包含三个部分,分别为图像特征点提取、特征点描述向量构建与特征点匹配.ORB特征点提取是从图像中提取一定数量的FAST特征点,建立图像不同尺度的高斯金字塔.由于FAST特征点本身不具备旋转特性,因此采用灰度质心法保证其旋转不变性,将灰度图像的角点和质心组成的偏移向量定义为FAST特征点方向.

FAST特征点的邻域矩阵定义为

(1)

式中:(x,y)为相对FAST特征点的位置,(x,y)∈[-R,R],R为圆形邻域半径,一般取4;I(x,y)为(x,y)坐标上图像的灰度值;mpq为特征点p+q阶矩阵,p、q=0,1,2,….由此可得FAST角点圆形邻域的图像质心为

(2)

FAST特征点向量的方向为

(3)

1.2 ORB特征点描述子

ORB算法采用rBRIEF描述子,该描述子具有旋转不变性,其实质是在特征点中选取一定数量的像素点,通过比较其灰度值,组成一个二进制形式的特征描述子,相应图像块的描述子分段函数T定义为

(4)

式中,d(x)和d(y)为邻域内x和y处的灰度函数.需要选择S个(x,y)位置对,BRIEF描述子包含n个二进制形式的矢量,即

(5)

为了求取特征描述子方向,将式(3)得到的特征点质心方向信息添加至描述子中.在任意位置(x,y)处,定义一个2×n的矩阵,即

(6)

式中,(xi,yi)为测试点对,i=1,2,…,n.

Q在旋转后的矩阵Qθ表示为

Qθ=RθQ

(7)

式中,Rθ为旋转方向矩阵,即

(8)

通过式(5)、(7)计算,可以得到加上主方向的特征描述子为

gn(d,θ)=fn(d)|(xi,yi)∈Qθ

(9)

最后采用贪婪算法,从特征点周围随机找出256个像素块,同时使其相关性最低并构成特征点的描述子.

1.3 ORB特征点匹配

利用ORB提取两个将要匹配图像块的特征点描述子,采用汉明距离计算ORB特征的相似度,当两个汉明距离的比例小于一个阈值(设定为0.85)时,认为这两个特征点是相互匹配的.匹配中使用的两个描述子定义为K1、K2,即

(10)

通过汉明距离计算ORB特征描述子的相似度D(K1,K2),D(K1,K2)越大,则相似度越高,其表达式为

(11)

2 基于力场理论的ORB算法优化

2.1 图像特征预处理

在ORB特征提取时,为了解决ORB特征的尺度不变性问题,采取图像的高斯金字塔来解决ORB尺度不变性,通常将原有ORB算法中金字塔的尺度层数设置为8,但由于金字塔层数S比较大,图像不清晰,其信息量不足,不利于后来的匹配过程.因此,为了选取合适的金字塔层数S,使用图像熵来优化图像金字塔的层数,建立最优图像金子塔解决ORB特征的尺度不变性.

图像熵反应图像的平均信息量,表示某像素的亮度值与周围像素亮度分布的综合情况,图像熵H的表达式为

(12)

(13)

式中:f(i,j)为亮度函数,即点(i,j)处的亮度值;N为采集图像的横向和纵向总像素,1

图1为桌面图像.对图1每层图像金字塔进行计算图像熵,结果如表1所示.第1层图像熵为7.621 75,第7层图像熵为6.957 82,大约为原图像的90%,因此选择图像金字塔层数为6.

图1 桌面图像Fig.1 Desktop image

表1 图像熵值Tab.1 Image entropy

2.2 图像特征提取

研究人员通过引入自然界内引力的概念,提出了一种图像的力场转换理论.在力场转换理论中,本文将每幅图像当做一个引力场,而力场形成是通过假定图像中任意两个像素点之间存在引力作用,即图像中位置rj的像素点受到位置ri像素点的引力作用Fi(rj),引力大小与ri像素点灰度值成正比,与ri点和rj点间距离的平方成反比.引力方向即两点间连线方向,可表示为

(14)

式中:I(ri)为点ri的灰度值;ri-rj为力的矢量方向;|ri-rj|为两个像素点之间的距离.像素点rj受到其他所有像素点的引力和可表示为

(15)

基于力场转换理论,设计基于力场理论的ORB特征提取算法运行步骤如下:

1)计算各层图像熵,选择一个合适的图像金字塔层数;

2)对不同金字塔层数的图像进行FAST特征点检测;

3)根据图像力场转换理论计算FAST特征点的引力方向,并计算出特征点引力大小;

4)对FAST特征点计算BRIEF描述子,形成ORB特征;

5)对特征点的描述子施加引力方向和引力大小的约束.

2.3 图像特征点匹配

由于外界噪声干扰问题,利用ORB特征进行图像特征匹配,容易出现匹配错误.采用汉明距离匹配可能出现误匹配特征点,从而导致匹配效果下降.本文采用PROSAC算法对汉明距离匹配后的特征点进行筛选,具体步骤如下:

1)设置迭代次数初值、内点数目阈值、最大迭代次数和误差范围;

2)将样本数据按质量好坏降序排序,然后选取k个质量较高的数据;

3)从选取的k个数据中随机去掉k″个,然后计算模型参数,计算与此模型参数误差小于设定范围内点数目;

4)若内点数目小于设定阈值,则将迭代次数加1,返回步骤2).

经过汉明距离和PROSAC算法筛选后得到的匹配点对为稳定的ORB特征点对.针对现有ORB-SLAM所需ORB特征点数量较多,本文所有实验设置PROSAC具体参数为:迭代初值为0,最大迭代次数为2 000,置信区间为0.97,内点数目阈值为400.

3 实验与分析

为了验证本文优化算法的性能,进行了4组实验.实验在PC端进行,操作系统为Ubuntu16.04,CPU为i5-7300HQ(2.50 GHz),8 GB内存.

实验环境分别为桌子、地面方向、门以及窗户四个区域.图2将图像向右旋转90°并缩放的ORB匹配实验和优化的ORB算法匹配实验及ORB特征汉明距离对比.通过汉明距离数据对比,可以看出优化ORB算法能够使特征点的描述子更加精确.

图2~5分别为对桌子、门、窗户、室内4组图像向右旋转90°并缩放的ORB匹配实验和本文优化的ORB算法匹配实验.通过对图像分别旋转和缩放进行特征匹配,即图像向右旋转90°并缩放的ORB匹配实验和本文优化的ORB算法匹配实验,其中子图a为ORB算法匹配实验,子图b为ORB优化算法实验,子图c为汉明距离对比.通过实验验证了本文提出的优化ORB算法可以很好地应用到室内环境图像匹配.表2中实验组别1~4分别对应图2~5四组实验.表2、3为ORB算法和ORB优化算法图像尺度和旋转变化匹配准确度,表4为算法执行时间.

图2 桌子尺度和旋转变化匹配对比Fig.2 Comparison in matching between desk scale and rotation change

图3 门尺度和旋转变化匹配对比Fig.3 Comparison in matching between gate scale and rotation change

图4 窗户尺度和旋转变化匹配对比Fig.4 Comparison in matching between window scale and rotation change

图5 室内环境尺度和旋转变化匹配对比Fig.5 Comparison in matching between indoor environmental scale and rotation change

根据表2、3可以看出,ORB算法最高成功匹配率为73.8%,ORB优化算法的最低成功匹配率为88.8%.根据表4可以看出,本文优化算法的执行速度和原有的ORB算法执行速度基本相差不大,完全没有影响到ORB算法的执行速度.

使用牛津经典数据匹配库中的bike图像进行SIFT、SURF、ORB和本文算法进行比较,结果如表5、6所示,本文ORB优化算法的准确率超过了SURF和ORB的准确率,略低于SIFT准确率.本文算法执行速度远大于SIFT算法和SURF算法,同时与ORB算法执行速度相差很小.

表2 ORB算法图像尺度和旋转变化匹配准确度Tab.2 Matching accuracy of image scale and rotation change for ORB algorithm

表3 ORB优化算法图像尺度和旋转变化匹配准确度Tab.3 Matching accuracy of image scale and rotation change for optimized ORB algorithm

表4 算法执行时间Tab.4 Execution time of algorithm s

表5 数据集中算法准确率Tab.5 Accuracy of algorithm in data sets

表6 数据集中算法执行时间Tab.6 Execution time of algorithm in data sets

通过以上实验数据对比可知,本文提出的优化ORB算法建立的特征点描述子更加准确,提高了匹配效率和精度,使得ORB特征点的抗旋转能力更强,同时解决了ORB特征不具备尺度不变性的问题.

4 结 论

本文提出了基于图像力场理论的ORB特征优化算法,通过图像熵算法计算每层高斯金字塔图像的熵值,解决ORB特征的尺度不变性;然后将图像力场转换原理引入ORB特征点中,优化ORB特征点的主方向,通过特征点引力大小约束特征描述子;最后采用PROSAC算法对ORB特征进行匹配优化.实验结果表明,本文算法提高了描述子的准确度和ORB特征点的匹配精度.

猜你喜欢

力场特征描述汉明
船舶尾流图像的数字化处理和特征描述技术
调性的结构力场、意义表征与听觉感性先验问题——以贝多芬《合唱幻想曲》为例
具有最优特性的一次碰撞跳频序列集的新构造
小学科学优质微课程的特征描述
面向视觉导航的图像特征评价方法研究
学校教学管理者领导效率的诊断与提升
目标鲁棒识别的抗旋转HDO 局部特征描述
媳妇管钱
一种新的计算汉明距方法
妻子眼中的陶汉明