基于改进支持向量机算法的农业害虫图像识别研究*
2021-03-31张亚军
张亚军
(驻马店职业技术学院,河南驻马店,463000)
0 引言
农业害虫识别是农作物害虫防治工作的重要环节,因此及时、准确地识别可提高农作物产量和质量[1]。随着计算机视觉技术发展,农业害虫图像识别算法得到了广泛的研究。Li等[2]通过神经网络算法(Neural Network,NN)对12种最常见的农业害虫进行了识别研究,经过试验证明,识别结果较好。孙鹏等[3]提出注意力卷积神经网络算法(Attention Convolution Neural Network,ACNN)对大豆害虫图像识别,在卷积神经网络引入注意力机制提高了对大豆蚜虫的识别率,但它依赖于大量的数据样本。Leal-Ramírez等[4]利用模糊逻辑算法(Fuzzy Logic,FL)对水稻作物常见害虫图像识别做了试验,结果表明该方法效果良好。刘翠翠等[5]通过支持向量机算法(Support Vector Machine,SVM)提取麦冬叶部的害虫图像颜色、形状等特征,对特征进行训练学习,得到了害虫分类模型。马鹏鹏等[6]通过图像特征和样本量对水稻害虫识别,目标害虫之间、目标害虫和非目标昆虫之间比例在最佳范围内,SVM分类器才能获得较好的识别结果。吕军等[7]利用后验概率SVM算法(Posterior Probability SVM,PPSVM)对水稻害虫识别,统计并分析测试集所有样本的后验概率,该方法能够提高识别率。张红涛等[8]提出布谷鸟算法优化SVM的惩罚因子和径向核函数,利用SVM对谷子叶片害虫进行自动识别,最终叶片害虫的平均识别率较高。
以上各种算法对差异性较大的农业害虫图像识别较好,但是由于农业害虫外观具有特殊性:体积较小、自身颜色与环境颜色差异性不大、不同害虫的纹理存在相同性,这些特性导致识别率较低,由此本文通过改进支持向量机算法(Improved support vector machine,ISVM),对农业害虫的外观多特征融合识别,避免单一性特征识别的缺陷。
1 改进支持向量机策略
1.1 基本支持向量机算法
SVM属于统计学习分类方法,假设训练样本为(xi,yi),xi为输入向量,yi为输出向量,也是类别标签,利用SVM构造一个目标函数[9],引入非线性映射φ(x),寻求最优分割超平面
f(x)=Wφ(x)+b
(1)
式中:W——权重系数;
b——偏差量。
通过引入估计函数来解决非线性回归问题,假定训练样本集在一定的精度下无误差地进行线性函数拟合,在拟合中引入松弛系数β1、β2,求解以下最优方程
(2)
式中:C——惩罚因子,主要对错误分类进行惩罚;
Q——优化目标;
γ——精度参数。
通过拉格朗日函数可获得识别函数
(3)
K(xi,xj)——核函数。
通过核函数把输入空间变换到高维空间,然后在这个新空间中可求取最优分类面。
1.2 改进支持向量机算法
1.2.1 基于交叉验证的惩罚因子优化
(4)
式中:θl——第l个子集的正确率。
1.2.2 基于Manhattan距离的核函数选择
在SVM中,核函数的选择对SVM性能有很大影响,选择改进径向基函数作为SVM的核函数
(5)
式中:σ——核宽参数;
ε——调节系数;
∣xi-yj∣——Manhattan距离。
当σ过大时,SVM对训练数据的分类能力最好,但是对新样本的分类能力会降低;当σ过小时,SVM只能得到一个接近于常数的识别函数,对样本的正确分辨率很低。当σ比较大时,为避免K(xi,xj)变小,通过ε调节使得K(xi,xj)变大,增加SVM的通用性,当σ比较小时,为避免K(xi,xj)变大,通过ε调节使得K(xi,xj)变小,提高SVM正确识别率[10]。
2 农业害虫图像识别
2.1 害虫图像特征识别
2.1.1 颜色特征
害虫图像颜色直方图易于区分不同的害虫[11],但是部分害虫颜色在HIS颜色模型中H分量会形成相同峰值,具有相似的直方图,无法明显的正确区分不同害虫,因此引入颜色矩来更仔细地描述害虫图像的共性和特性。害虫图像颜色特征可通过不同的颜色矩表示,只利用颜色的一阶矩、二阶矩和三阶矩这三个低阶矩就能表示出害虫图像颜色分布。害虫图像颜色存在三个颜色分量即红、绿、蓝,在红、绿、蓝颜色分量上存在三个低阶矩,因此一共可以形成9个分量,即
(6)
式中:Pi j——第j个像素第i个颜色分量值;
G——像素的个数;
μi——第i个颜色通道上所有像素的均值;
Bi——第i个颜色通道上所有像素的标准差;
Hi——第i个颜色通道上所有像素的斜度的3次方根。
2.1.2 纹理特征
提取农业害虫纹理特征参数主要如下[12]。
纹理平均亮度
(7)
式中:L——灰度级总数;
zi——第i个灰度级;
p(zi)——归一化直方图灰度级分布中灰度为zi的概率。
区域中亮度的相对平滑度
(8)
直方图偏斜性的度量
(9)
基于灰度共生矩阵理论提取农业害虫纹理特征参数主要如下。
二阶矩
(10)
式中:Pδ——灰度共生矩阵;
Pδ(i,j)——矩阵元素;
i、j——像素灰度级;
δ——两个像素间的位置关系,δ=(Δx,Δy);
Δx、Δy——两个像素在x方向和y方向上的距离,两像素间距离和方向由δ决定。
f1反映了图像灰度分布的均匀性和图像纹理的粗细程度。
对比度
(11)
f2越大纹理的沟纹越深,图像的视觉效果越清晰。
熵
(12)
熵f3值近似等于0时图像没有任何纹理;若图像的细纹理很多,该图像的熵f3值最大。
2.1.3 形状特征
在形状特征提取中,利用Ostu算法分割出害虫目标图像,Zernike矩在描述目标物形状占优势[13],一个目标对象的形状特征可以用一组Zernike矩特征向量表示,Zernike矩特征向量的差异性就可以区分出害虫形状,因此通过区域Zernike矩算法获得害虫形状特征。把害虫图像归一化到以图像的质心为中心的单位圆中,则害虫图像f(x,y)的n阶m次Zernike矩为
(13)
式中:Vn m(ρ,θ)——单位圆的正交复函数多项式;
Rnm(ρ)——径向多项式。
Zernike矩是一组正交矩,具有旋转不变性的特性,即使害虫图像获取过程中被旋转了,但是害虫图像目标并不改变其模值,这样方便识别。
2.2 害虫图像多特征识别
由于害虫外观的颜色与农作物的颜色存在相似性,如果单一性特征提取进行目标识别,极易与具有形状相似特征的害虫混淆识别,造成一定的误判,因此对害虫图像进行多特征融合识别[14-15]。特征融合识别函数为
(14)
式中:fj——第j个害虫图像的融合特征;
N——特征个数;
ηi——融合前的特征分量;
3) 计算所有样本的三种特征对应的样本类内距离的平均值
(15)
其中:i=1,…,A,1≤k≤j≤N。Fisher线性识别希望Lw(n)越小越好。
4) 计算所有样本的三种特征对应的样本类间距离的平均值
(16)
其中:1≤k≤j≤A,u,v∈[1,N]。Fisher线性识别希望Lb(n)越大越好。
2.3 算法流程
1) 输入训练样本,并进行颜色特征、纹理特征、形状特征数据归一化处理。
2) 通过式(4)获得惩罚因子。
3) 通过式(5)获得核函数。
4) 将获取到的最佳参数对整个训练集进行训练,并得到最优分类模型。
5) 最优分类模型进行测试样本分类。
6) 标注类别标签,得到分类结果。
3 试验仿真
试验仿真通过Matlab编程实现,计算机配置为双通道内存4 GB,Intel主板,集成显卡。农业害虫包含:蝗虫、蝼蛄、叶蝉、粉虱、青虫、葱蝇、玉米螟、棉铃虫、麦蛾、卷心虫共计10种,每种害虫图像50幅,每幅图像的大小为128像素×128像素,灰度级数为256,其中每种害虫随机选取图像20幅进行训练,剩余图像30幅进行识别。
3.1 惩罚因子C与核宽σ选择
本文算法ISVM采用交叉验证方法来选择惩罚系数、Manhattan距离选择核宽,每次试验训练样本和测试样本是随机选取,获得惩罚系数和核宽变化情况如图1所示。
从图1可以看出,分类精度随着惩罚因子C的增加而逐渐增加,当C大于90时分类精度开始减小,因此本文选择惩罚因子C=90;分类精度随着核宽σ的增加而逐渐增加,当核宽度值增大至某一特定值时,即核宽σ大于0.42时将会引起分类精度的减小,因此本文选择核宽σ=0.42。
(a) 惩罚因子
(b) 核宽
3.2 不同算法对害虫不同特征平均识别率
选择三幅农业害虫图像进行识别,分别为叶蝉、青虫、粉虱,在试验中依次进行NN、ACNN、FL、SVM、PPSVM、ISVM对比试验,其结果如表1所示。
表1 不同算法识别效果Tab. 1 Recognition effect of different algorithms
从表1可以看出,本文ISVM算法能够识别出各种害虫图像,识别到害虫图像的边缘实际轮廓,比如可以把叶蝉的丝状触角识别出来,其他算法识别效果较差,没有识别出实际轮廓,特别是在复杂背景下进行害虫识别,无法消除背景因素的影响,本文算法在对复杂背景下的害虫检测效果中已显示出优势,其他算法把植物叶片的边缘也误认为是害虫边缘识别出来。
图2为不同算法对农业害虫图像的形状特征、纹理特征、颜色特征、形状特征和纹理特征、形状特征和颜色特征、纹理特征和颜色特征、多特征平均识别率,每种算法进行30次蒙特卡罗实验。
(a) 形状特征(b) 颜色特征
(c) 纹理特征(d) 形状特征和颜色特征
(e) 形状特征和纹理特征(f) 纹理特征和颜色特征
(g) 多特征
从图2可以看出,单一性特征对农业害虫平均识别率比较低,其中形状特征平均识别率为68.35%,颜色特征平均识别率为65.88%,纹理特征平均识别率为63.25%。随着特征组合增加,对害虫平均识别率逐渐提高,多特征对害虫平均识别率最高;单一性特征对害虫平均识别率形状特征最高,纹理特征最低;两特征对害虫平均识别率中形状特征和颜色特征最高,纹理特征和颜色特征最低;多特征对害虫平均识别率高于单一性特征、两特征。这说明对农业害虫识别选择多特征有利于对害虫的识别。在多特征识别中,本文算法ISVM对害虫平均识别率均值为95.67%,NN算法对害虫平均识别率均值为87.12%,ACNN算法对害虫平均识别率均值为89.56%,FL算法对害虫平均识别率均值为90.62%,SVM算法对害虫平均识别率均值为92.05%,PPSVM算法对害虫平均识别率均值为93.89%,本文算法ISVM相比NN、ACNN、FL、SVM、PPSVM分别提高了9.81%、6.82%、5.57%、3.93%、1.90%,因此本文算法检测结果优于其他算法
3.3 不同算法对害虫识别消耗时间分析
识别的时效性决定了算法的实际应用效果,记录NN、ACNN、FL、SVM、PPSVM、ISVM对比试验30次过程中多特征害虫识别平均消耗时间,如图3所示。
图3 不同算法对害虫识别平均消耗时间Fig. 3 Time consumption of different algorithms for pest recognition
从图3可以看出,本文算法ISVM对害虫识别平均消耗时间为2.42 s,NN算法对害虫识别平均消耗时间为7.35 s,ACNN算法对害虫识别平均消耗时间为6.12 s,FL算法对害虫识别平均消耗时间为5.84 s,SVM算法对害虫识别平均消耗时间为4.24 s,PPSVM算法对害虫识别平均消耗时间为3.91 s,本文算法ISVM相比NN、ACNN、FL、SVM、PPSVM分别减少了67.07%、60.46%、58.56%、42.92%、38.11%,因此本文算法ISVM的处理时效性比较好。
4 结论
1) 本研究对支持向量机算法进行改进,通过交叉验证优化惩罚因子,避免惩罚因子过学习和欠学习的发生,选择改进径向基函数作为支持向量机算法的核函数,增设调节系数,提高SVM正确分辨率;在害虫识别中对害虫图像进行多特征融合识别,并且害虫的颜色特征、纹理特征、形状特征所分配的权重值也不同,避免害虫混淆识别、误判的发生。
2) 本文采用改进SVM算法对农业害虫进行多特征分类研究,通过大量样本的训练与测试,单一性特征对农业害虫平均识别率比较低,其中形状特征平均识别率为68.35%,颜色特征平均识别率为65.88%,纹理特征平均识别率为63.25%;随着特征组合增加,对害虫平均识别率逐渐提高,形状特征和颜色特征平均识别率为84.12%,形状特征和纹理特征平均识别率为80.96%,纹理特征和颜色特征平均识别率为79.76%;多特征对害虫平均识别率为95.67%,多特征组合模型比单一模型的预测结果更合理、更可靠,因此为农业害虫图像识别提供了一种新方法。