基于几何约束的改进SURF算法
2020-11-02易业曦肖业夫周政雷刘运毅
易业曦,陆 艳,肖业夫,周政雷,刘运毅,2,3+
(1.广西大学 计算机与电子信息学院,广西 南宁 530004;2.广西大学 广西多媒体通信与网络技术重点实验室,广西 南宁 530004;3.广西大学 广西高校多媒体通信与信息处理重点实验室,广西 南宁 530004)
0 引 言
在计算机视觉领域,特征提取操作能够提取图像的主要特征信息,再通过匹配特征操作可实现对目标的识别。作为图像匹配的前提,图像特征的提取会直接影响匹配处理效果[1]。尤其于工业视觉机器人领域,特征点的提取数量与匹配的精度对于后续工业机器人的操作有较大的影响。
对于经典的特征提取与匹配算法如SIFT算法[2]、SURF算法[3]、KAZE算法[4]等都有不少学者进行改进与探索,其中陈天华等[5]通过改进特征点描述算子,重新描述其特征点的方向,结合SIFT和ORB算子的特性,获得了更强的旋转与尺度不变性,实现了实时鲁棒的匹配效果;桑书娟等[6]将分级聚类模型与最优节点优先方法引入SURF算法中,实现了更高效率与更高精度的图像篡改识别功能;李鹏等[7]利用计算几何变换模型来优选特征点,并在KAZE算法基础上利用空间约束来提高匹配速度和精度,最后采用均方根误差迭代法剔除错误匹配点,实现了具有更强适应性的多遥感影像匹配。
以上文献中可见学者们主要对几种经典的图像进行研究,在理论上对算法进行改进,或者通过结合新的模型来提高特征提取与匹配算法的精度与效率,而针对于某一特定领域如工业领域的改进与研究较少。因此本文结合实际工业现场中的环境与作业需要,对经典的SURF算法进行改进,以期在工业应用中能获得更好的性能。
1 基于曲线几何约束的聚类算法过滤规则
在实际工业生产环境上采集到的工件图像,可能会受现场光线或粉尘、工业机器人的运动干扰以及工作台背景损耗造成的复杂背景线条的影响,如图1所示。在使用传统特征提取与匹配算法操作时,可能会出现提取出错误的特征点或者匹配精度下降的情况。为了能够保证后续提取特征点的准备率与匹配的精度,本文算法从制定过滤规则过滤背景干扰曲线出发。
图1 工业环境下的工件图片
1.1 图像预处理
为了制定适用于工业环境的过滤背景曲线几何约束规则,首先需要对工业环境下采集到的工件图像进行预处理,分析其具有的几何特性。其中处理操作主要为对采集到的图像进行滤波处理、边缘检测、连通域处理、过滤干扰曲线等[8],具体流程如图2所示。
首先为了减少工业现场光线或粉尘对工件图像的影响,需要对图像进行过高斯滤波处理[9],在一定程度上能减少工件图片中的噪声影响。
为了分析工件图像的几何特性,需要检测出工件的主要特征曲线。本文首先采用Canny算子[10]进行边缘检测处理,其能检测出整幅图像的曲线信息。其中为了保留更多的工件图像曲线信息以便后续处理,将Canny算子的阈值设为0.01,效果如图3所示。
图2 基于聚类的曲线过滤规则流程
图3 Canny边缘检测
由Canny算子检测出的工件曲线图可知,图中包括了前景工件的形状曲线和复杂背景里的干扰曲线,两种曲线相互交错连接。如果按照一定的规则过滤曲线,在过滤了背景曲线的同时也会过滤一部分工件曲线。为了避免此情况,采用提取图像连通域后打断连通域分叉的方法对图像进行处理,将粘连到一起的曲线分隔开,其处理效果如图4所示。
图4 连通域打断分叉
仔细观察可发现,通过预处理后图像中的曲线在曲线长度、曲线所围周长、曲线所围面积这3个几何特性上有较大的差异。背景曲线与工件曲线在几何特性上的差异为后续过滤规则的制定提供了理论依据。
1.2 根据曲线几何特性制定过滤规则
为了利用背景曲线与工件曲线在几何特性上的差异,将差异定量分析。分别依据长度、周长、面积提出了3个几何约束规则:
(1)基于曲线长度L的约束规则。由于实际采集到的图像中,目标工件的曲线都具有完整且较长的长度,而复杂背景中的曲线一般都较短,依据适当的长度阈值可以过滤复杂背景中的曲线。因无法直接测量图像连通域中某一段曲线的长度,本文将每个连通域中像素点的个数N来体现某段曲线的长度L。
(2)基于曲线周长P的约束规则。通过对曲线长度约束后的实验数据进行分析,该约束规则过滤干扰曲线时不能过滤分布在背景中长度相同,但具有不同弯曲程度的曲线。为了处理该情况,本文通过将包围某一段曲线的最小矩形的周长近似看成该段曲线的周长。预先设定周长阈值,便可过滤具有特定周长和弯曲的干扰曲线。一段曲线的周长具体由该曲线上的点的最大值与最小值确定,其计算公式如式(1)所示
P=(max(X)-min(X)+max(Y)-min(Y))×2
(1)
其中,X,Y分别为曲线上的点的横坐标与纵坐标。
(3)基于曲线面积S的约束规则。由于存在当包围某段曲线的最小矩形的周长相等时,其包围某段曲线的最小矩形的面积不相等的情况。为了进一步过滤此种情况下的干扰曲线,利用包围某段曲线的最小矩形的面积作为一个度量过滤曲线,可增加干扰曲线与工件曲线的区分度。一段曲线的面积具体由该曲线上的点的最大值与最小值确定,其计算如式(2)所示
S=(max(X)-min(X))×(max(Y)-min(Y))
(2)
分别使用以上3个过滤规则过滤干扰曲线的效果如图5所示,其中每个规则的阈值由其规则直方图确定。
图5 3种过滤规则效果
1.3 基于聚类的曲线过滤规则
由于使用上述过滤规则过滤背景中的干扰曲线以及工件形状上的干扰曲线需要根据每个工件图片的直方图确定阈值,为了提高在工业应用时的自适应能力,采用无监督学习的K_Means聚类算法[11]与几何约束过滤规则结合,实现曲线的分类处理,达到自适应过滤干扰曲线的目的。
K_Means聚类主要是依据相似性原则,按所有数据的相似程度将每个数据划分至对应的类别,即相似程度高的数据能聚集到同一类中,而相似程度低的数据会划分到不同的类中。对比其它分类方法,K_Means聚类算法为无监督过程,不需要具有先验知识的数据集参与计算,只需要依据工业现场处理的工件图像选取合适的聚类中心初始点个数,便能完成曲线分类与过滤操作。基于聚类的曲线过滤规则流程如图6所示。
图6 基于聚类的曲线过滤规则流程
考虑到本文算法的主要对象为实际工业环境下采集到的工件图像,其中包括目标工件曲线与背景干扰曲线,应当将聚类算法的中心初始点设为2。即将所有干扰曲线分为两大类,一类是目标工件形状曲线,另一类是背景干扰曲线和工件上的干扰曲线。但通过具体实验结果可知,此方法可能过多过滤了全图的曲线,如一部分与背景干扰曲线相似的工件形状曲线也会被聚类算法划分到干扰曲线的分类中,可能存在错误过滤工件形状曲线的情况,造成工件形状曲线的信息缺失。
因此需要通过实验,确定符合工件图片的聚类中心初始点个数。实验效果如图7所示(其中k为初始中心点个数)。
图7 聚类算法处理结果
通过对比不同初始中心点个数的效果可知:
(1)初始中心点个数k=1时,图像曲线只分为一类,不做处理,保持原图曲线;
(2)初始中心点个数k=2时,图像曲线分为两类,即主体工件曲线类与干扰曲线类。由图7(b)知,通过过滤最弱曲线类,即过滤干扰曲线类,干扰曲线能完全过滤,但因干扰曲线类中包含大部分的工件曲线,部分主体工件曲线也被过滤了;
(3)初始中心点个数k=3时,图像曲线会被分为3类,即主体工件曲线类、过渡曲线类、干扰曲线类。其中过渡类曲线包含的是曲线几何特性处于工件曲线与干扰曲线之间的类别。过滤最弱类后,仍然有部分主体工件曲线被错误过滤了,因此初始中心点个数为3时也无法准确地过滤干扰曲线;
(4)初始中心点个数k=4时,图像曲线会被分为4类,即主体工件曲线类、两个过渡曲线类、干扰曲线类。由结果可知,通过此分类进行过滤曲线,图像中仍存在一部分干扰曲线,但是主体工件曲线能够完整保留下来,并不会被错误过滤;
综合以上4种情况,为了保留完整的主体工件曲线,选择初始中心点个数为4。并可通过多次进行此聚类算法,进一步过滤干扰曲线,得到不含干扰曲线的完整的工件形状曲线图,如图8所示。该基于几何约束的聚类算法过滤规则简化了处理过程,更适用于实际的工业应用。
图8 多次基于曲线特性聚类处理效果
2 基于几何约束的改进SURF算法
2.1 SURF算法的Hessian矩阵迹处理
SURF算法相较于其它经典匹配算法,具有耗时更短,精度更高等优势,其核心是Hessian矩阵[12],又称为海森矩阵。利用Hessian矩阵可优化多元函数求极值。在SURF算法中,图像中的每一个像素点都可以通过计算得出对应的Hessian矩阵行列式,根据该行列式的取值正负判断是否极值点,再分类极值点可得到近似值图像。Hessian矩阵主要由函数和偏导数两部分组成。假设一个点的函数值为f(x,y),则该点的Hessian矩阵为
(3)
在图像处理中,设图像中一个像素点为x=(x,y),则该点x在尺度σ中的Hessian矩阵为
(4)
其中,Lxx(x,σ)是像素点在图像I的x方向的二阶导数,同理Lxy(x,σ)、Lxy(x,σ)、Lyy(x,σ)也是在对应方向上的导数二阶导数。
为了保证特征点的尺度不变性[13],需要预先对原图像进行高斯滤波处理操作后再构造对应Hessian矩阵,其计算公式如下
L(x,t)=G(t)×I(x,t)
(5)
其中,L(x,t)是在不同解析度下的图像。可用高斯核G(t)和图像函数I(x,t)在图像点x的卷积来表示,其中常用高斯核G(t)公式为
(6)
通过以上处理可以近似计算出图像的每个像素点的近似Hessian矩阵。原SURF算法中采用的是Hessian矩阵的行列式值来表示单个像素点的信息,在本文算法中,改为采用Hessian矩阵的迹。矩阵的迹为矩阵对角线元素之和,其包含了该点基本的几何特性信息。通过改变图像的高斯模板大小处理得到不同尺度的近似值图,其中Hessian矩阵迹进行处理后具有更明显的几何特性,如图9所示。
图9 不同尺度的原图与Hessian矩阵迹
2.2 对Hessian矩阵迹的连通域应用几何约束应用规则
利用基于聚类与几何约束的曲线规律规则同时对不同尺度原图及Hessian矩阵迹的处理效果实际过滤分析,处理效果如图10所示。
图10 对不同尺度的原图和矩阵迹处理效果
对相同尺度的原图和Hessian迹处理,Hessian矩阵迹能够保留更为完整和精确的目标工件曲线,且背景中不存在干扰曲线。而对比不同尺度的原图和不同尺度的Hessian矩阵处理效果,可知在第0尺度能够保留丰富的特征信息。综上,考虑使用第0尺度的Hessian矩阵迹进行后续处理操作。
2.3 基于几何约束的改进SURF算法
为了更好地把SURF算法应用于对实际作业环境中工件的特征提取与匹配,通过提出的基于几何约束的过滤干扰曲线规则,结合对不同尺度的Hessian矩阵迹的处理,对原SURF算法进行了相关改进及补充。改进后的SURF算法主要流程如图11所示。
图11 SURF算法流程
本文主要针对原SURF算法进行了以下改进:
(1)修改原始SURF算法中对基础特征点的提取规则,同时提高提取极大点的阈值,使该算法能提取更多待过滤的特征点;
(2)通过本文提出的基于几何约束的曲线过滤规则对图像Hessian迹进行处理,提取得到目标工件的形状曲线,并与提取出的特征点进行校验。通过校验与筛选得到具有几何特征信息的点,即分布在目标工件形状曲线上的点作为匹配特征点进行后续匹配操作。
3 实验与对比
首先分别利用原SURF算法与改进后的SURF算法对工业现场作业过程中采集到的图像进行特征提取与匹配,初步验证改进后SURF算法的表现。实验效果对比如图12、图13所示。
图12 实际提取特征点效果对比
图13 实际匹配效果对比
根剧实际特征点提取与匹配效果对比可知,原SURF算法主要提取的特征点位于工件的拐角、棱角、顶点处,且提取了一部分位于杂乱背景中的特征点,并不能体现工件的几何特征信息。而改进后的SURF算法不会提取到复杂背景中的错误特征点,且对比原算法能提取更多位于工件上的特征点。这些特征点都分布在工件的几何边缘处,经匹配后能体现工件更丰富的几何曲线特性。
由于无法对工件图片进行客观评价,为充分验证所提算法的有效性,采用牛津大学经典图像匹配数据库中Bikes、Leuven、Ubc、Graffi这4组图像进行实验。4组图像分别对应的是图像模糊、拍摄角度、光照变化、JPEG压缩比变化。同时利用原SURF算法和改进SURF算法对4组图像进行处理,实验效果与数据如图14与表1所示。
图14 实验效果对比
表1 实验数据对比
由4组图像的整体处理效果与数据可知:①改进后的SURF算法能够大幅度增加基准图特征点数、待匹配图特征点数和匹配特征点数。且利用基于几何约束的曲线过滤规则提取的特征点分布在前景几何边缘上,能够更好地表示图像中目标曲线的线性特征,以便进行后续匹配。②在匹配过程的特征点大量增加的前提下,改进后SURF算法的匹配准确率相对于原SURF算法在4组图像上皆有明显提升。同时利用检索特征点的PR(precision recall)曲线对实验结果进行统计分析,其对应计算公式如下
(7)
(8)
其中,TP为检测到的正确特征点个数,FP为检测出的错误特征点个数,FN为错误排除的特征点个数。其中数据库中的Leuven图像PR曲线如图15所示。
图15 Leuven图像PR曲线
图15中横坐标为精确率P,纵坐标为召回率R,结合PR曲线图与表1数据,可知本算法在没有降低原算法特征点检索效率的基础上提高了匹配精度,并且能在实际工业作业环境中,大量提取实际工件图像上分布在几何边缘的特征点,为接下来的匹配工作提供更丰富和更准确的图像信息。
4 结束语
本文提出了一种基于几何约束的改进SURF算法,通过分析分布在工件图像中前景与背景中曲线几何特性的差异,并针对前景工件曲线的几何特性制定相应的过滤规则,同时在SURF算法中Hessian矩阵迹进行优化处理和应用过滤规则,得到目标的形状曲线图,进一步使得在图像的边缘区域或主要几何区域获得密集的特征点进行匹配。在实验过程中,在处理实际工厂环境中采集到的图像时,改进后SURF能比原SURF算法提取到更多的有效特征点数,得到更高的匹配准确率。结果表明,本文算法在处理实际工业环境下的工件图片方面是有效的。在今后的研究中,仍需进一步优化并提升算法的性能与自适应性,以期能够应用于更复杂的工业环境中。