APP下载

基于SFFS多特征选择的航拍图像目标检测

2019-06-03陈苏婷牛宇宁张艳艳

实验室研究与探索 2019年3期
关键词:特征选择航拍分类器

陈苏婷, 牛宇宁, 张 闯, 张艳艳

(南京信息工程大学a.江苏省气象探测与信息处理重点实验室;b.江苏省大气环境与装备技术协同创新中心,南京210044)

0 引言

近年来,随着航拍技术的不断发展,高分辨率航拍遥感相机相继研制成功,航拍图像在应急救灾、数字城市建设、工程设计等重大需求领域得到了广泛的应用[1];同时,随着大数据技术的兴起,为航拍图像处理提供了新的思路。航拍图像包含的丰富信息量覆盖了各个尺度的物体,且分布密集,如何快速高效地实现航拍图像目标检测至关重要。

航拍图像具有大范围、宽视角、高分辨率、数据量巨大等特点,这给目标检测带来巨大的挑战。文献[2]中提出基于单像素特征动态贝叶斯网络的目标检测法,该方法针对不同高度和不同角度所拍得的航拍图像实验均取得较好效果,然而当有形状与目标相似或低对比度情况下容易造成误报或漏检;文献[3]中使用超像素和稀疏编码分割图像并提取特征生成词典,依据生成的字典训练航拍图片实现目标检测,提高了识别能力和检测效率,但计算复杂度较高;文献[4]中提出一种时空显著性方法,首先通过时间显著性得到一个粗略的分割,再通过空间显著性提取目标的细节信息,最后通过加权线性融合的方法得到最终检测结果,此方法虽简单,但融合所用的加权系数需要预设或者训练。文献[5]中提出一种面向超像素的目标检测算法,通过最小化能量函数的方式对超像素进行标记以达到目标检测的效果,和传统的方法相比有更多的灵活性,但是需要更大的输出空间和提前了解超像素的标签信息。

由上述分析可见,目前的研究主要是通过对整幅航拍图像提取特征来实现对航拍图像目标的分割与检测,没有充分考虑到图像中包含大量的背景以及特征区分能力不足的缺点[6]。航拍图像中的物体形态随着拍摄视角的不同变化较大,常规的提取单一特征的算法已难以从航拍图像中检测感兴趣目标。针对这些问题,本文提出了基于SFFS[7]多特征选择的航拍图像目标检测方法。在研究航拍图像目标纹理特征和形状特征的基础上,针对航拍相机镜头旋转以及飞行姿态变化带来仿射变换等问题,引入目标检测中对镜头畸变稳健的 RIFF[8]特征,提出基于 BING[9]算法粗定位和SFFS算法的多特征描述,提高目标检测的准确率,在降低维数的同时,提高检测速度。

1 目标检测算法流程

本文所提出的算法整体流程图如图1所示。首先,用BING算法初步定位目标,寻找出包含目标可能性较大的区域,再进行精确检测。然后,提取感兴趣区域中目标的多种特征,增加对航拍图像中目标的描述能力;最后,利用SFFS算法对提取的多种特征进行选择,降低特征维数,并基于支持向量机实现目标检测。

图1 算法整体流程图

2 BING算法目标粗定位

由于航拍图像场景复杂多变,给特征提取带来困难;同时,为解决在繁多的航拍特征信息中,精确提取有用特征信息,提高特征提取效率,本文提出基于感兴趣区域的多特征目标检测方法。该方法首先利用BING算法进行粗定位,提取出可能包含目标的区域以减少计算量,然后利用多特征选择进行航拍图像目标检测。粗定位具体步骤如下:

Step 1 使用模板[-1,0,+1]作用于航拍图像,由此计算出航拍图像的梯度值,bk,l∈{0,1}8×8,并进行归一化处理,通过尺度变换将梯度幅值归一化到8×8的尺度,得到归一化的梯度特征值(NG)。

Step 2 利用二进制估计算法,对NG特征进行估计,获得最终的BING特征,表示为:

步骤1梯度特征值为[0,255],那么8×8窗口上的每个点的NG特征值就可以用1 byte来存储,即用一个8位的二进制串来表示,本文中利用前Ng个位值对特征值进行近似,Ng取4。

Step 3 SVM分类器训练过程。

(1)提取正负样本的 BING特征,输入到LinearSVM中进行训练,到SVM分类器并将其归一化,作为第1级分类器。

(2)将得到的SVM分类器作用于训练样本所在的位置,得到待选目标框,通过非极大值抑制,将剩下的一些较小的待选框作为第2级分类器的训练样本正例,较大的待选框作为训练样本负例。

(3)将第2步生成的正例和负例输入LinearSVM中进行训练得到的分类器作为第2级分类器。

Step 4 利用穷举得到的待选区域,将上述训练得到的分类器作用于待选区域,每1个待选区域通过线性模型w∈R64打分机制得到最终的感兴趣区域,得分为:

坐标为l=(i,x,y),其中:i为尺度,即一个保存了不同窗口大小的数组中挑出的第i个尺度;(x,y)表示待选区域的中心位置。

3 多特征提取和SFFS特征选择

由于航拍图像的复杂背景与目标的多样性,仅使用单一图像特征对目标进行检测精度不高,容易造成误检。局部二值模式通过一阶统计特征来描述目标的局部纹理信息,缺乏对航拍图像结构信息的描述,而傅里叶形状特征能够很好的描述目标的轮廓,与纹理特征具有一定的互补性。综合考虑纹理特征和形状特征的特点和优势,并引入能够克服航拍图像镜头畸变的RIFF特征,提出一种基于SFFS多特征选择的航拍图像目标检测方法。

3.1 旋转不变LBP特征提取

局部二值模式(Local Binary Pattern,LBP)是一种通过比较像素邻域灰度值大小对图像进行描述的纹理特征,在纹理分类以及人脸检测中得到广泛应用[10]。通过比较,得到掩膜中心8邻域的无符号值,即为该掩膜中心像素的LBP值并用这个值来反映该区域的纹理信息,如图2所示。

图2 LBP特征示意图

由于传统LBP模式的窗口为3×3大小,对较大尺度的纹理描述能力较差,Ojala等将其扩展到任意邻域LBPP,R,即以中心像素点为圆心,在半径为R的邻域内均匀取P个元素进行比较[11]。常见的(P,R)取值有(8,1)、(16,2)、(24,3)。假设gc的坐标为(a,b),则gp的坐标为(a+Rcos(2πp/P),b+Rsin(2πp/P))。图像的坐标必须是整数,若按照上式计算得到的gp坐标不是整数,则利用双线性插值算法计算gp的像素灰度值。任意圆形邻域集都可以得到一个LBP编码,定义如下:

式中,2i为编码权重值,

S(gi-gc)为每个采样点gi与中心像素gc作灰度二值化运算。

LBP算子在实际应用中常用两种模式:旋转不变模式和等价模式。针对航拍图像的目标检测,本文采用的是LBP算子的旋转不变模式。旋转不变的LBP特征(RI-LBP)[12]可由扩展的LBP特征通过数据的循环移为操作实现,取其最小值作为该邻域的LBP值,计算公式为:

式中:ROR(x,k)表示对P位二进制数x进行向右循环以为k次(|k|<P)。本文使用P=8,R=1,0时的旋转不变LBP特征,示例如图3所示,根据RI-LBP算法过程,可得其中最小的LBP值是15,即掩膜中心像素的RI-LBP值为15。

图3 RI-LBP特征示意图(P=8,R=1)

得到各个像素的RI-LBP值后,通过直方图来描述旋转不变的LBP特征。

3.2 轮廓法形状特征提取

形状特征可以用来描述图像中目标轮廓特征,弥补颜色特征和纹理特征对图像含义表达的缺陷。形状描述可分为三类:轮廓描述算法、区域描述算法和骨架描述算法[13]。考虑到航拍图像的特点以及目标检测的实时性要求,所使用的形状描述子应计算简单,且具有平移、旋转、尺度不变性及起始点的无关性。因此本文引入基于变换域的傅里叶描述法用于对形状的轮廓描述FD[13]。设一维形状标识函数为u(t),则其离散

由式(6),通过{an}来描述形状特征。若对目标形状选择不同的起点可以得到不同的形状标识函数。在实际应用中,若对图像轮廓进行起点改变、尺度缩放、平移或者旋转,可得到新的标识函数傅里叶变换:

式中:a0n为变换前的形状标识;exp(inτ)表示起点改变变化因子;exp(i)表示旋转变化因子;s表示尺度变化因子。除了直流分量变化,其他因子不受影响,因此,形状描述子{an}的具有不变性。

3.3 RIFF 特征提取

为了克服镜头畸变对检测的影响,进一步增加检测的准确度,引入RIFF特征,径向梯度变换(Radial Gradient Transform,RGT)[14]是 RIFF 特征具有旋转不变性的关键,通过对梯度旋转适当的角度,实现旋转不变性。RIFF特征提取的过程为:首先对输入图像的梯度进行 RGT变换,然后通过盒式差分滤波核(Difference of Boxes filter kernel)进行检测,最后通过构建金字塔尺度空间寻找出局部空间极值,并确定最终的特征描述子。具体实现如下:

Step 1 计算感兴趣区域的梯度,并对其进行RGT变换。如图4所示,C为圆心,P为圆周上任意一点,r=CP/CP为点P的径向单位向量,t=Rπ/2r为点P的切向单位向量,g为点P的梯度向量,RΘ为旋傅里叶变换表达式为:转Θ角的旋转矩阵。由文献[16]可知,梯度向量g在r-t坐标系上的坐标表示为(gTr,gTt)。假设P旋转角度Θ到达PΘ后,可得gΘ在rΘ-tΘ坐标系上的坐标表示为(

可得:

图4 RGT示意图

由上述可知,经过RGT变换后的梯度具有旋转不变性。

Step 2 利用盒式差分滤波核检测块区域。在检测过程中,每个点的滤波器响应值为不同大小的两个盒式滤波器相减得到,在尺度参数s下,较小盒式滤波器的大小为2s+1,较大的则为4s+1,那么任意点的滤波器响应为:

式中,B(x,y,s)为区域规范化的滤波器函数,具体为:

∑(x,y,s) 定义为以(x,y)为中心,宽度为 2s+1 的区域中所有像素和。

Step 3 为增加特征的尺度不变性并降低计算复杂度,利用金字塔尺度空间获取不同尺度下的局部空间值,而后通过比较获取局部空间极值。

Step 4 在给定尺度下获取感兴趣特征点,利用RGT产生鲁棒性强,具有旋转不变性的特征描述算子。

以感兴趣特征点(x,y,s)为圆心,提取半径为P的统计块(bin),处于统计块内(bin)的每个像素点可以以下坐标表示:

式中:sp为局部块的直径大小;s*u,s*v分别对应为x、y在尺度s下的离散值。计算bin内的笛卡尔梯度,若梯度最大值与次大值相差超过10%,选择梯度最大值的方向作为该bin的主方向;否则选取最大值与次大值中间方向作为邻域主方向,同时将梯度值归一化。使用文献[8]中的方法生成描述子:D=[H1…Hnb],其中nb表示为统计块bin内的n个特征。

3.4 SFFS多特征选择

特征提取过程中分别提取出感兴趣区域的RILBP特征、FD特征和RIFF特征,若只是对3种特征进行简单的串联融合,会导致特征描述子维度过高,计算量大大增加,不能满足实时检测的需求。为此,本文提出使用SFFS算法对提取的多种特征进行特征选择以降低特征维数并减少计算复杂度,生成最终的特征描述子。

SFFS算法是一种浮动搜索策略,通过贝叶斯分类对不同的特征子集进行分类评价。具体实现如下:

Step 1 SFFS从空集开始,在未选择的特征中选择一个子集x,并计算对应的评价函数,使评价函数达到最优。

Step 2 在已选择的特征中选择子集z,并使剔除子集z后评价函数达到最优。

Step 3 在剔除子集z评价函数达到最优的情况下,进一步可得贝叶斯正确分类的精度为:式中:Z表示选择后的特征子集;Tr表示错分的集合;Dr表示训练集,这里为第4节所提取的LBP特征、FD形状特征和RIFF特征的集合;ε(Z,Tr;Dr)表示贝叶斯分类错分率。

Step 4 当错分概率的期望值达到最低值时,此时的集合为最优集合解。

Step 5 在测试阶段,确定特征子集依据Jnrep(Z)。对于两个特征子集Z1,Z2,若Jnrep1(Z1) >Jnrep2(Z2),选用特征子集Z1;反之,则选取特征子集Z2。

由上述分析可见,选择后生成的最终特征描述子,在去除冗余无关特征之后,使得特征具有更好的表征能力与旋转不变特性,并能够较好地克服航拍过程中因镜头旋转导致图片发生扭曲形变的问题。

4 SVM目标检测

支持向量机(Support Vector Machine,SVM)[15]是一种适用于二分类的监督学习算法,广泛使用于小样本、非线性及高维模式识别问题中,因此本文选择使用SVM对图像特征进行训练分类,并在分类器后加上一个非极大值抑制的过程,用来过滤错误的分类。

设图像特征输入为{xi|i∈Z1},输出为{yi|i∈Z1},其中:Z1表示特征子集;i为第i个特征;最大间隔为 max,以及核函数K(xi,x),得到分类函数:

式中:b为偏移量;为当前特征距离分类平面的间隔;w为需要求取的检测结果。将问题转换为求取minw2/2的最小值;最后通过拉格朗日函数将约束条件融合到目标函数中去,由此得到问题的最优解即为最终的检测结果。

5 实验结果及分析

5.1 实验样本数据

目前,适用于目标检测的航拍场景数据库较为匮乏,为了验证本文目标检测算法的有效性,采集了GoogleEarth上的4类航拍图像作为样本,分别为汽车、飞机、船舶、道路,每类选取200个标准样本,共计800个样本,并在这800个样本中随机选择600个作为训练样本,其余200个作为测试样本对检测结果进行评价。本文实验基于VS2012+OpenCV2.4.9,运行环境是Win7,工作站配置为Intel Xeon E5-2650 CPU 2.60 Hz 2.60 Hz,64 GB 内存。

5.2 实验结果

图5展示了本文算法目标检测的结果。从结果可以看出,目标几乎全部都被检测出来,并用黄颜色方框进行了标示。

如图5(a)所示的汽车检测的实验中,由于背景相对复杂,且存在大量与待检测目标像似的物体,如建筑、路牌等,影响了最后的检测结果,误检率较高。如图(b)和(c)所示的飞机和船舶检测实验中,由于待检测目标与背景差异较大,形状特征较为明显,误检率较低,最终的检测结果较好。图(d)所示的道路检测实验中,由于道路与背景混在一起,存在一定的误检。

图5 航拍图像目标检测结果图

5.3 实验分析

为进一步说明本文算法的有效性,采用目标检测的准确率与召回率对算法进行性能评估,其中,查准率是指被正确检测出来的目标占所有检测出来的目标的百分比,查全率是指正确检测出来的目标占总的样本的百分比。

图6分别给出了利用BING+RI-LBP,BING+FD,BING+RIFF,BING+RI-LBP+FD+RIFF+SFFS算法对汽车,飞机,船舶,道路进行检测的P-R(查准率-查全率)曲线图。从图6可以看出,相比使用单一特征进行目标检测的方法,融合旋转LBP特征、FD特征和RIFF特征并使用SFFS算法进行特征选择后的目标检测方法性能更优。使用BING+RI-LBP进行检测的性能明显低于其他算法,因为RI-LBP算法只是提取图像浅层纹理特征,所以单一的纹理特征不适用于航拍图像的目标检测。

为验证本文算法的先进性,将本文算法与S-saliency[4]算法、LS[5]算法和 DAVE 算法[16]进行比较,并用平均准确率(mean Average Precision,mAP)对这4种算法进行定量比较,如表1所示。mAP更能客观地说明结果的全局性,而它的提出也是为了解决召回率与准确率的单值局限性。4种算法中,LS算法效果较差;S-saliency算法的尺度旋转不变特征性使得mAP比LS算法高出0.6% ~2.5%;而DAVE算法仅比S-saliency算法高1.3% ~3.0%,这是由于DAVE算法采用深度学习的方法进行目标检测,能够自动学习图像的深层特征,而本文实验航拍图像训练集不足,限制了DAVE深度学习算法的性能,只能达到较高的水平;本文算法在上述几种算法中,平均准确率达到最高,这是因为本文算法在大大减少特征维数的同时,挖掘了具有相互补充和增强描述能力的潜在特征,提高了目标检测的平均准确度。

图6 目标的P-R曲线图

表1 目标的平均检测准确率

图7为本文算法与S-saliency算法、LS算法和DAVE算法的运行时间比较,在文献[4]中,通过显著性的方法进行目标检测,摒弃传统的分别计算空间和时间的显著性,而是设计出一种分层的显著性检测方法,减少了时间代价,达到了实时的检测效果;在文献[5]中的实验中,以超像素为计算目标,通过最小化能量函数的方式对超像素进行标记以达到目标检测的效果,灵活性较好,但是检测效率较低。DAVE使用多个网络实现目标检测,算法不能满足实时性要求。本文算法通过在感兴趣区域提取特征,缩小了特征提取范围,带来了一定的速度提升,虽然在时间运行效率上落后于LS算法,但在满足实时性的需求下,目标检测的准确率更高。

图7 算法运行时间比较

6 结语

本文针对高清航拍图像视角变化大、目标丰富、背景复杂的特点,提出基于多特征选择的航拍目标检测方法,在满足实时性的需求下,获得了更高的准确率。为提高航拍图像的目标检测效率,本文利用BING算法提取航拍图像中目标的感兴趣区域,并通过提取感兴趣区域的多种特征,利用SFFS算法进行特征选择生成表述能力强的特征描述符,并将其融入到SVM训练检测模型。经过实验表明,本文提出的多特征选择检测算法获得了较好的检测结果。由于数据集的获取、准备工作量较大,为了验证本文算法的有效性,本文只采用了几类目标,为了使得算法具有泛化性,下一步可以扩大数据集。

猜你喜欢

特征选择航拍分类器
航拍巴彦呼硕
航拍,苍穹下的醉美视角
难忘的航拍
基于差异性测度的遥感自适应分类器选择
《航拍中国》美得让人想哭
基于实例的强分类器快速集成方法
基于最大信息系数和近似马尔科夫毯的特征选择方法
Kmeans 应用与特征选择
基于特征选择聚类方法的稀疏TSK模糊系统
基于层次化分类器的遥感图像飞机目标检测