1. 引言
电力设备铭牌图像作为一种特殊的图像,其纹理和颜色信息相对单一,而且设备铭牌图像采集过程中受到光照等条件影响,其图像的特征提取是业界一个关键技术问题。
传统基于内容的特征提取方法主要是针对图像形状特征的展开研究,分为基于区域的特征提取方法和基于角点的特征提取方法两种。因为这两种特征提取方法对图像中的特定属性十分敏感,受尺度和光照变化等影响,无法提取稳定的图像特征信息,所以不适合电力设备铭牌图像的特征提取。
随着Lowe提出了完整的尺度不变特征变换(Scale-Invariant Feature Transform, SIFT)算法 [1],针对图像特征表达的研究工作逐渐转向局部特征表达上 [2],相比于传统的基于内容特征提取方法,SIFT特征提取能够在不同的光照、旋转、尺度变化图像上提取稳定的特征点,同时对图像局部区域特征相似点有较好的匹配能力 [3] [4]。因此,对于电力设备铭牌图像而言,与传统的特征提取方法相比,SIFT特征提取是更好的特征提取方法。在SIFT算法的基础之上,又进一步改进产生了SURF算法和ORB算法 [5] [6]。
本文具体分析了以上三种特征提取算法,进而对不同变化处理后的铭牌图像数据应用这三种算法进行特征提取以及匹配实验。实验结果表明,对于电力设备铭牌图像而言,SURF算法是适合的特征提取算法。
2. 尺度不变特征变换算法
David G. Lowe教授经过多年的研究,在2004年提出基于尺度不变特征变换(Scale Invariant Feature Transform, SIFT)算法,该算法将提取特征的过程分为四个步骤:在尺度空间上检测极值点、精确定位关键点位置、计算关键点主方向、计算特征点描述子。SIFT算法在实现原理上,最关键的部分就是在图像中构建多尺度空间,利用高斯金字塔寻找对尺度、光照、旋转等变化不敏感的特征点,使得提取的特征点具有较强的鲁棒性 [1]。
2.1. 尺度空间极值点检测
尺度空间是指把某个特定核函数和原有的图像函数做卷积处理从而得到一组单参数的函数族,该函数族被称为尺度空间 [7]。
在二维图像空间中,高斯核函数
被证实是尺度空间中的唯一空间核函数,因此常用作建立尺度空间的处理方法,高斯函数表达式如下表示:
利用高斯核函数
对图像进行卷积运算后,得到图1所示的高斯尺度空间 [8],也成为高斯金字塔。
实际的计算过程中,高斯差分函数(Difference of Gaussian,DoG)比高斯函数更具有健壮性。因此SIFT算法在实现上采用DoG函数尺度空间,DoG的尺度空间记为
:
![](//html.hanspub.org/file/14-1541576x15_hanspub.png)
通过上式构建得到图像尺度空间后,SIFT算法首先就是需要找出尺度空间的极值点作为备选特征点,其检测过程如图2所示。
假设上图中的“×”是目标检测点,将该点与图中空间上相邻的26个点的像素值进行比较,如果该点的像素值为最大或最小值,那么则将该点记为候选特征点。
2.2. 精确定位特征点
为了在连续空间上得到精确位置的特征点,SIFT算法利用子像素插值法(Sub-pixel Interpolation)将图像中的离散数据进行拟合,得到特征点的精确位置和尺度信息 [9]。
在DoG尺度空间里,图像函数的极大值在图像的横跨边缘出现主曲率较大且竖直边缘主曲率较小的情况。为了消除图像边缘响应,从而进一步精确确定特征点位置,SIFT算法需要降低DoG函数极大值的主曲率对图像边缘的影响 [10]。特征点的主曲率是根据其所在图像尺度上的Hessian矩阵计算得到,Hessian矩阵的表达式如下:
![](//html.hanspub.org/file/14-1541576x16_hanspub.png)
Figure 2. Extreme point detection in Gaussian differential scale-space
图2. 高斯差分尺度空间极值点检测
在上式中,
为DoG空间中,某一尺度下图像在计算X方向二次导数的值。矩阵D的主曲率和Hessian矩阵H的特征值呈线性关系,令
为矩阵H的最大特征值,
为矩阵D的最小特征值,得到
和
的线性关系表达式:
上述过程可以化简为以下公式:
当
和
的比值越大时,
与
的比值最大,此时说明图像在某个方向上梯度值与另一梯度值的差值越大,这种情况正好符合图像边缘的特征特点,为了去除特征点的边缘响应,需要将
设置一个阈值范围,并对上式做进一步判断 [11]:
Lowe在论文中认为
取值为10能得到最好的效果。
2.3. 计算特征主方向
SIFT在计算特征主方向上,首先选特征点所在的尺度大小为
的邻域范围内像素点集,计算邻域像素点的梯度幅度和梯度方向,具体计算公式如下所示,其中
表示图像中特征点所在尺度的空间值。
像素梯度:
梯度幅值:
梯度方向:
![](//html.hanspub.org/file/14-1541576x38_hanspub.png)
得到特征点邻域像素的梯度和方向等信息后,利用360°的梯度方向直方图进行梯度方向统计。梯度方向直方图以10°为单位设立一个柱(bin),共有36个柱,并将相应的梯度方向统计到对应的柱上。特征点的主方向根据这个梯度方向直方图进行选取。如图3所示,其中编号为(5)的柱统计的统计值最高,因此将该柱对应的方向设为特征点的主方向,另外编号为(2)和(8)的柱高于主方向柱高度的80%,因此将这两个柱对应的方向设为特征点辅方向。
![](//html.hanspub.org/file/14-1541576x39_hanspub.png)
Figure 3. Sketch map of selecting direction of feature points
图3. 选取特征点方向示意图
2.4. 计算特征描述子
SIFT特征描述子是在DoG尺度空间中统计特征点的周围像素梯度得到,具体过程是:首先划分特征点邻近的像素为若干个子区域,并计算和统计每块子区域的梯度直方图,最终将每个直方图的结果组成一个特征表达向量。
![](//html.hanspub.org/file/14-1541576x40_hanspub.png)
Figure 4. Rotation of coordinate system to main direction of feature point
图4. 坐标轴旋转到特征点主方向
如图4所示,为了让特征描述子具有旋转不变性,在计算描述子之前需要将特征点坐标轴转到主方向上。
旋转后,在以特征点为中心的
邻域范围里,计算每个像素点的梯度幅值和方向,并以
像素为单位进行高斯加权统计(如图5所示),将统计结果分配到8个方向上,最终将
个子区域的统计结果转化为一维向量,即得到
维的特征向量。
![](//html.hanspub.org/file/14-1541576x45_hanspub.png)
Figure 5. Expression process of SIFT descriptor
图5. SIFT描述符表达过程
3. 改进的SIFT算法
SIFT虽然能够在一定程度上保证了图像特征的不变性,但是仍然存在一定的不足,比如计算过程复杂、特征描述子的向量过大等问题。为了解决SIFT算法的不足,后来许多研究学者提出了改进的方案,其中SURF和ORB算法是其中较为成熟的改进方法。
3.1. SURF算法
Herbert Bay教授在2006年提出加速鲁棒特征(Speeded-Up Robust Features, SURF)算法,该算法是基于SIFT算法的改进。SURF算法在实现原理上与SIFT大致相同,在保持了SIFT算法中对尺度、光照、旋转、仿射等变化鲁棒性强的特点的同时,针对SIFT算法在设计中存在耗时长、特征描述子维度过大的问题进行了优化。
![](//html.hanspub.org/file/14-1541576x46_hanspub.png)
Figure 6. Computation of S area in the image
图6. 计算图像S区域面积
3.1.1. 积分图像
SURF算法利用过了积分图像能够快速得到图像中任意区域的像素和。以图6为例,利用积分图像的公式可以快速得到区域S的像素值之和,其计算过程如下式所示。
3.1.2. 方格滤波器
SURF算法在构建尺度空间过程中,采用了方格滤波器来替代Gaussian滤波器,图7和图8对比了在二维平面上,两种滤波器设计的不同。
(a) X方向 (b) Y方向 (c) XY方向
Figure 7. Second order Gaussian filter
图7. 二阶高斯滤波器
(a) X方向 (b) Y方向 (c) XY方向
Figure 8. Second order grid filter
图8. 二阶方格滤波器
显然,在实现上相较于SIFT算法采用的高斯滤波器,方格滤波器实现原理简单,处理速度更快,因此提高了SURF算法的处理效率 [12] [13]。
3.1.3. Haar小波
Haar小波是一种结构简单,且能够检测水平和垂直方向的梯度变化的滤波器。SURF利用图9(a)的Haar滤波器计算图像在水平方向的梯度,(b)计算垂直方向的梯度。
SURF算法利用Haar小波计算特征点邻域的Haar响应结果作为其特征方向,另外在计算特征描述子过程中,SURF算法统计特征点周围的
区域的Haar小波系数,得到一个64维的特征向量。
(a) 水平方向 (b) 垂直方向
Figure 9. Haar wavelet with different direction
图9. 不同方向的Haar小波
3.2. ORB算法
ORB(Oriented FAST and Rotated BRIEF)算法是一种基于二进制描述子的特征检测算法,该算法结合了FAST算法和BRIEF算法两种算法并加以改进。
FAST的主要思想是:若某像素与其周围邻域内足够多的像素点相差较大,则该像素可能是角点。BRIEF是一种基于二进制编码的特征点描述方法,具有匹配迅速的特点。
ORB的改进思路为:在检测特征点过程中,ORB利用Harris角点来限定FAST角点;在计算特征描述子上利用强度质心(intensity centroids)方法,提高特征描述子在特征方向描述能力。因此ORB算法具备了出色的算法实时性,同时在图像特征表达上也具备一定的稳健性 [14]。
3.2.1. 特征点检测
FAST角点检测是在检测点周围邻域上比较差值大小,如图10所示,检测点P比较其周围16个点的像素值差值,若有足够多的周围点与检测点的像素差值超过阈值,即上述16个点的差值的平均值,则认为该点为特征点。
ORB算法则增加了Harris检测对特征点进行排序,加入了响应函数,并在多尺度空间金字塔中计算FAST角点,增加了特征点的尺度不变性。
3.2.2. 计算特征主方向
ORB算法在计算特征主方向上,利用极值点与质心的灰度偏移量作为特征方向。假设特征点的邻域矩
的计算公式为:
其中,
表示像素的灰度值,S表示特征点邻域范围,其质心C的表达式为:
特征点的主方向为该点和质心C的夹角
的表达式如下:
3.2.3. 计算特征描述子
如图11所示,ORB算法采用了BRIEF算法的思想,将若干个像素点对进行像素差值比较,得到若干长度的比特串作为特征描述子。为了提高对像素点的噪声容忍性,ORB选择5×5的区域来替代像素点的比较,并且计算该区域的像素平均灰度值进行比较。
![](//html.hanspub.org/file/14-1541576x61_hanspub.png)
Figure 11. Selecting point pairs based on BRIEF
图11. BRIEF选取若干点对
另一方面,为了得到具有旋转不变性的特征描述子,ORB算子将得到的特征方向
,计算旋转矩阵
,计算公式如下:
最后将旋转矩阵对特征描述子主方向校正,得到具有旋转不变性的特征描述子。
4. 电力设备铭牌特征提取实验
电力设备铭牌图像是一类特殊的图像,其纹理和颜色信息相对单一,如图12所示,电力设备铭牌局部范围经常出现较高的相似性,而在整体性上则很少出现相似情况。基于这一特性,采用局部特征的提取方法十分适合应用在电力设备铭牌的特征提取场景。
4.1. 实验数据
本文采用5幅来自不同厂家的电力设备铭牌图像作为实验的原始图像,并且对每个原始图像做放缩、模糊、仿射、裁切、加噪、旋转共6种变换,因此每幅原始图像共产生6幅变化图像,将原始图像与对应的6幅变化图像分为一组,最终得到5组电力设备铭牌图像实验数据,图13展示了其中一组的实验图像。
(a) (b) (c)
(d) (e) (f) (g)
Figure 13. Change processing on nameplate of electrical equipment; (a) Original; (b) Zoom; (c) Slur; (d) Affine; (e) Cut; (f) Adding noise; (g) Rotate
图13. 电力设备铭牌图像变化处理;(a) 原图;(b) 缩放;(c) 模糊;(d) 仿射;(e) 裁切;(f) 加噪;(g) 旋转
4.2. 评价标准
4.2.1. 特征位置分散性及不变性
从视觉角度看,特征位置是最为直观的评价维度。对于特征位置评价标准而言,主要考察其分散性以及不变性。对于一幅图像,若提取特征点越分散,表示其特征对图像的覆盖性更广,所提取的特征信息集合表达越全面。
4.2.2. 特征提取效率
本文对特征提取算法评价从时间、特征数量和单位时间提取特征个数三个层面对特征提取算法的效率进行综合性评价。
4.2.3. 正确率和召回率
正确率和召回率是对图相匹配评价的重要指标。准确率是指算法所得到的两幅图像的匹配对中,正确匹配对数量与得到的匹配对数量的比值;召回率是指正确匹配对数量与图像提取特征点数量的较小值的比值。
4.3. 实验结果分析
本文采用SIFT、SURF和ORB算法采用三种特征提取算法分别提取每幅图像的特征,图14~16为三种算法在提取不同变化的电力设备铭牌图像特征效果。
可以看出,SIFT、SURF和ORB算法都能够准确发现电力设备名牌图像中的角点位置,并提取特征点,但从特征点位置的分散性和稳定性而言,ORB算法稍显不足,相比而言,SIFT和SURF算法则具备更好的稳定性。
![](//html.hanspub.org/file/14-1541576x68_hanspub.png)
![](//html.hanspub.org/file/14-1541576x69_hanspub.png)
Figure 14. Extracting feature points based on SIFT
图14. SIFT算法提取特征点
![](//html.hanspub.org/file/14-1541576x70_hanspub.png)
![](//html.hanspub.org/file/14-1541576x71_hanspub.png)
Figure 15. Extracting feature points based on SURF
图15. SURF算法提取特征点
![](//html.hanspub.org/file/14-1541576x72_hanspub.png)
![](//html.hanspub.org/file/14-1541576x73_hanspub.png)
Figure 16. Extracting feature points based on ORB
图16. ORB算法提取特征点
接下来分析三种算法的特征提取效率,分别从特征提取数量、算法特征提取耗时以及单位时间提取特征数量三个维度进行考察,其统计结果如图17所示。
(a) (b)
(c)
Figure 17. Efficiency of extracting features with different algorithms; (a) Number of extracted features; (b) Time of extracting; (c) Number of extracted features in unit time
图17. 不同算法提取特征效率;(a)特征提取数量;(b)特征提取耗时;(c)单位时间提取特征数量
显然,无论是特征提取是数量还是特征提取效率上,ORB具有最佳的特征提取效率,SURF次之,SIFT算法在提取特征处理速度上效率最低。
(a)
(b)
(c)
Figure 18. Features matching experiments based on SIFT, SURF, and ORB; (a) Number of matched pairs of points; (b) Accuracy; (c) Recall rate
图18. SIFT、SURF、ORB特征匹配实验;(a) 匹配点对数量;(b) 正确率;(c)召回率
从图18可以看出,ORB虽然在特征数量上提取最多的特征点,但是特征表达的不变性较差,在匹配过程中得到较低的正确率和召回率,SURF和SIFT算法则表现相对较好,在部分变换场景下,SURF特征在匹配正确率和召回率高于SIFT算法。
5. 结语
SIFT算法由于其在检测图像特征上,具备较高的稳定性和鲁棒性,得到了广泛的应用。与此同时,许多研究学者在基于SIFT算法提出了改进的方法,以提高特征提取的效率和性能。
本文针对电力设备铭牌图像的特征提取上进行深入的分析,介绍了SIFT算法,以及两种基于SIFT的改进算法SURF和ORB算法的实现原理。在实验部分,利用不同变化处理后的铭牌图像数据,将三种基于多尺度的特征提取算法进行特征提取以及匹配实验,实验结果表明SURF算法最适于电力设备铭牌图像的特征提取算法。
上文已经提到,光照变化是铭牌特征提取中的一个不确定因素。为了更好的进行铭牌特征提取,下一步的研究重点是利用图像增强算法处理光照变化。