基于SVM和AdaBoost的棉叶螨危害等级识别

2019-03-06 09:07杨丽丽张大卫王振鹏吴才聪
农业机械学报 2019年2期
关键词:算子正确率分类器

杨丽丽 张大卫 罗 君 王振鹏 吴才聪

(中国农业大学信息与电气工程学院, 北京 100083)

0 引言

新疆作为我国最大的产棉区和商品棉基地,棉花对当地经济发展和社会稳定起着重要的作用。随着近年来新疆棉花种植面积的扩大,病虫害大面积的爆发严重影响了当地棉花的产量和品质[1-2]。棉叶螨作为棉花最难防治的害虫之一,因其个体微小、隐蔽性强、传播性广、危害周期长的特点,导致防治困难,危害程度深[3-5]。传统棉叶螨危害等级识别主要依靠有经验的植保人员进行实地人工抽查,其检测范围小,时效性差,农业信息化水平低,难以准确评估整块棉田的受害情况,在一定程度上影响棉花的产量和品质。因此,及时准确地识别棉叶螨的危害等级,对整个害虫防治过程按“采集-喷药-复查”进行周期性数字化处理,可为实现棉田虫害精细监测与精准管理提供可靠依据。

随着数字图像处理技术和农业信息化的发展,国内外学者使用机器视觉技术,进行了一些植物的病虫害等级识别和病斑分类研究[6-11]。结合以上研究,本文在自然条件下通过智能手机拍摄不同棉叶螨危害等级的图像,使用图像分割算法,完成叶片与背景分离,对完成分割后的棉叶,分别提取颜色、纹理和边界特征[12],比较分析得到不同棉叶螨危害等级的可区分特征集合。使用SVM和AdaBoost相结合的算法,训练棉叶螨危害等级识别分类模型。

1 材料与方法

1.1 图像采集

2017年6—8月在新疆石河子四分场和六分场棉田,采集200幅不同棉叶螨危害等级图像,每种危害等级图像各50幅,4种不同棉叶螨危害等级图像如图1所示(正常叶片定义为0级虫害)。采集设备为华为荣耀7手机,后置摄像头为2 000万像素,设置焦距为自动调节,为了保证初始拍摄图像的清晰度,图像的分辨率设置为2 448像素×3 264像素。因为棉叶螨在叶面背部危害棉叶,所以实验所用的棉叶图像都从叶面背部拍摄。同时,以白色底板作为辅助背景,避免复杂背景下棉花叶片分割困难。

图1 不同棉叶螨危害等级图像Fig.1 Images of different cotton spider mites damage levels

1.2 棉叶螨危害等级划分标准

识别棉叶螨危害等级需首先确定棉叶螨危害等级划分标准,在国家标准《棉花叶螨测报技术规范》中螨害等级被分为4级[13]:0级,无为害;1级,叶面有零星黄色斑块;2级,红色斑块占叶面1/3以下;3级,红色斑块占叶面1/3及以上。但在实际应用中,棉叶螨危害初期会在叶茎底端出现散乱的白点,并且随着虫害的加重,叶片会出现黄斑和红斑并存,甚至出现大面积黄斑的现象,在危害更加严重的情况下,还会出现叶面的卷曲和变形,在一定程度上会遮挡病斑的面积。因此,国家标准在实际应用中起判定参考的作用,通过咨询当地的农技人员和植保专家,本文将棉叶螨危害等级重新划分,如表1所示。

1.3 预处理

在棉花种植的实际环境中,由于白天光照强度的快速变化、不同的天气状况和人为因素的干扰,都会影响棉叶图像的成像质量[14]。为了解决在复杂背景下提取棉叶图像困难的问题,在拍摄时以白色底板为背景来减少后期棉叶图像分割的难度。但在实际操作时,图像上仍然会出现阴影、暗光,且白色底板上会出现飞虫、泥土和其他杂质。为了消除图像上的无关信息,增强有关信息的检测性,需要去除图像的背景信息。图像预处理分为:图像尺寸缩放和背景去除两步。

1.3.1图像尺寸缩放

为了减少图像后续处理的计算量,缩减数据冗余,同时更高程度上保证几何变换后图像的质量,本文采用三次内插法[15]对图像尺寸等比例压缩,得到压缩后的图像尺寸为653像素×490像素。

1.3.2图像背景去除

大津法[16](Otsu法)是一种自适应阈值分割方法,基于图像的灰度特征,使用最大类间方差,获得将图像前景和背景分开的最佳阈值。本文使用大津法在多个颜色分量上进行图像分割实验,对于大津法未能完成分割的背景杂色和误拍区域,使用形态学的腐蚀、膨胀和最大连通区域标记算法进行去除。使用图像平均分割精度来检验在不同颜色分量上的图像分割效果[17],计算公式为

(1)

图2 叶片与背景分离Fig.2 Separation of leaves from background

式中S——棉叶图像的平均分割精度

h——图像分割实验的样本数

Ri——棉叶图像目标区域的像素点数

Ti——本文算法分割后得到的图像目标区域像素点数

各棉叶螨危害等级内任取5幅图像,共20幅图像,在不同颜色分量上对其进行图像分割实验,得到的平均分割精度如表2所示。

表2 基于不同颜色分量的平均分割精度对比Tab.2 Comparison of average segmentation accuracy based on different components

由表2可以发现,在H分量上分割效果最好。使用大津法获得的动态阈值,使图像的前景和背景在色调上差异最大,能很好完成图像前景和背景的分离,并且在一定程度上能够减少阴影对图像分割效果的影响。本文在H分量上使用大津法、形态学法和最大连通区域算法消除图像背景和误拍区域,将得到的二值图像与原图像进行逻辑与运算,完成棉叶图像背景的去除。具体操作过程如图2所示。

1.4 特征提取与选择

棉叶在遭受棉叶螨侵害后,最直观的体现是病斑颜色和面积会发生变化,并且随着危害的加重,棉叶上会出现孔洞和褶皱,导致图像边缘信息产生变化。本文以目标区域的视觉特征为基础,从目标图像的全局信息出发,分别提取图像的颜色特征、纹理特征和边缘特征数据进行分析,按照同一危害等级特征数据差异小,不同危害等级特征数据差异大的原则,完成特征数据的筛选。

1.4.1颜色特征提取

采用基于RGB和HSV的颜色空间[18],分别提取4类不同棉叶螨危害等级图像的R、G、B、H、S、V、2G-B-R、2R-B-G和2B-R-G颜色分量的特征数据进行统计分析,得到图3所示的统计结果。

1.4.2纹理特征提取

灰度共生矩阵是求取图像纹理的重要方法,其反映图像上具有相似亮度和同样亮度的2个像素点在位置上的分布情况,反映图像灰度关于方向、相邻间隔和变化幅度的综合信息[19-20]。但是灰度共生矩阵不能反映出图像的纹理特征,还需要计算出纹理的统计量,如熵、能量、惯性矩和相关性等。求取不同危害等级棉叶螨图像的4个纹理特征数据,统计结果如图4所示。

图3 颜色特征统计结果Fig.3 Color feature statistics result

图4 纹理特征统计结果Fig.4 Texture feature statistics result

分别求取能量、熵、惯性矩和相关性在4个危害等级上的极差为0.001、0.012、0.089和0.001,结合图4可以得到,图像纹理的惯性矩在等级1上和其他等级的数据有很大区别,极差也最大。能量、熵和相关性3个纹理性质极差相差较小,在棉叶螨4个危害等级上分布均匀,所以选择惯性矩作为纹理的区分特征。

1.4.3边缘特征提取

图5 边缘特征统计结果Fig.5 Edge characteristics statistics result

边缘检测是对图像中灰度变化较明显部分求取微分来完成边缘定位的计算[21],常用的检测算子有Sobel算子、Prewitt算子、Log算子和Canny算子等。遭受棉叶螨侵害的叶片,会随着叶绿素和汁液的丢失出现空洞和卷曲,导致受害叶片和正常叶片的边缘特征有所不同,图像的边缘特征统计结果如图5所示。

由图5可得,利用4个边缘算子求得各危害等级图像的边缘特征数据差异性较大,其中,利用Sobel算子和Prewitt算子求得3级特征数据明显大于其他等级,利用Canny算子和Log算子求得各危害等级特征数据之间存在明显的差异。计算各算子对应的不同危害等级特征数据的极差,分别为0.024、0.023、0.033和0.025,极差数据较大。因此选择这4种算子提取的边缘特征作为可区分特征。

综上,最后选取6个颜色特征、1个纹理特征和4个边缘特征,作为棉叶螨危害等级分类的特征数据。

唐娜·斯特里克兰(Donna Strickland)、杰拉德·穆鲁(Gérard Mourou)和阿瑟·阿什金(Arthur Ashkin)分享了2018年的诺贝尔物理学奖,以表彰他们为激光技术的进步所做出的贡献。50多年以来,斯特里克兰是首位女性诺贝尔物理学奖的得主,也是诺奖历史上第三位女性物理学奖得主。BELLA和其他高功率激光器采用了斯特里克兰和穆鲁开发的技术——啁啾脉冲放大技术,产生了令人难以置信的高能激光脉冲。有朝一日,这些设备可能:成为医用桌面粒子加速器的动力,用作原子成像的显微镜,推动物理学前沿进一步发展。

2 棉叶螨危害等级识别

对棉叶螨危害等级识别进行仿真实验。软件平台为Windows 10系统,Matlab R2014a;计算机CPU为Intel Core i5-7400,频率为3 GHz,8 GB内存。根据1.4节得到的结论,对200幅棉叶图像进行特征数据提取,不同危害等级各50幅图像,其中30幅训练集,20幅测试集。

2.1 SVM算法对棉叶螨危害识别与分析

参考国内外研究现状发现,SVM算法是植物病斑分类和病虫危害等级识别最常用的分类算法。因此,本文在建立棉叶螨危害等级分类器时,首先选用SVM算法进行分类模型的训练。SVM算法作为有监督的机器学习算法,特别是对于小样本数据,在寻找全局最优解时,得到的分类器具有较强的泛化能力[22]。

SVM算法作为经典的二分类学习算法,在解决多分类的问题上,需要对多分类问题进行拆分。常用的拆分策略[23]有“一对一”、“一对多”和“多对多”。“多对多”的方法实现复杂,正反类的构造须有特殊的设计,不适合棉叶螨危害等级的特征分类。本文选择“一对一”和“一对多”的4分类拆分策略,使用0~3级表示危害等级0~3,对应生成分类器的结果如图6所示。

由图6可知,“一对多”的拆分方法生成4个分类器,与“一对一”的方法生成6个分类器相比,少训练2个。但这并不意味着采用“一对多”的方法会比“一对一”的方法在训练时间和存储空间上更小。因为“一对多”的方法在训练一个分类器时,需要使用全部训练样本,那么训练4个分类器需要对480个训练数据进行运算,而“一对一”方法训练6个分类器只需要360个训练数据,这就使得“一对一”的拆分策略在前期训练分类器时训练时间和存储空间较小。同时,在“一对多”的方法上训练模型,训练数据在正反类的构造上会造成数据不平衡的问题,例如在训练分类器C1时,正类数据为30,负类数据为90。这样得到的分类器会更加偏向数据类多的一方,导致生成的分类器泛化能力差[24]。本文对“一对多”的方法进行了实验,为解决数据不平衡的问题,使用smote算法对数据少的一类进行模拟填充[25]。使用SVM算法训练得到4个分类器进行分类识别,最终得到棉叶螨4种危害等级平均识别正确率为70%,识别结果不理想。

因此,本文选用“一对一”的拆分策略,对棉叶螨4种危害等级生成6个分类器,采用投票法完成棉叶螨危害等级的划分。

使用SVM算法训练生成6个分类器,对80个测试样本进行分类识别,结果如表3所示。表中棉叶螨1级危害识别正确率仅为40%,与之相比3级危害识别正确率为100%,4个等级平均识别正确率为76.25%,分类结果达不到实际应用需求。对1级危害识别正确率较低的原因进行分析,发现是与1级危害相关的3个分类器F1、F4和F5选取不当所导致。

当可区分特征数据集合确定后,SVM分类器的生成主要与核函数和SVM内的参数选取有关。通过多次实验测试,SVM内的核函数选择为径向基核函数(Radial basis function,RBF)。通过人工调优和穷举法调整SVM内的惩罚参数C和核函数内的gamma参数来寻找最优分类器,发现gamma参数对各危害等级识别正确率有很大的影响。以危害等级1级和3级生成的分类器F5为例,当gamma参数取不同值时,识别正确率变化很大,图7为危害等级1级和3级在测试集上识别正确率的统计结果。

图7 gamma参数对1级和3级危害识别正确率的影响Fig.7 Effect of gamma value on accuracy of 1 and 3 classifications

由图7可知,当3级危害识别正确率较高时,1级危害识别正确率较低,否则相反,3级和1级识别正确率符合互斥现象。按照同样的操作,通过改变gamma参数对0级和1级、1级和2级进行测试,在测试集上得到的识别正确率和gamma参数之间的关系,同样符合图7所示的规律。经过上述实验发现,在现有特征数据基础上,使用SVM算法很难训练出0级和1级、1级和2级、1级和3级识别正确率比值较高的分类器。

2.2 AdaBoost分类器的生成

为了解决上述问题,本文引入了AdaBoost集成学习算法,通过训练若干个弱分类器,组合成强分类器[26],替代SVM生成的F1、F4和F5分类器。以危害等级1、3级生成的强分类器F5为例,AdaBoost算法计算流程如下:

(1)构建图像特征数据训练集为G={(x1,y1),(x2,y2),…,(xn,yn)},其中,xi为图像的特征数据,yi为标签集,yi∈(-1,1),i=1,2,…,n,n=60。

(2)初始化每个图像特征数据的权值D1=(w11,w12,…,w1i,…,w1n),其中,w1i=1/i,w1i为第i个图像特征数据对应的初始权值。

(3)迭代循环m次,m=1,2,…,M,使用决策树算法对具有权值分布的训练集G训练出弱分类器fm(x)。

计算弱分类器fm(x)在样本集G上的误差率为

(2)

式中I——弱分类器fm在样本集G上错分的个数,满足fm(xi)≠yi

wmi——第m次迭代循环对应第i个图像特征数据的权值

弱分类器fm(x)的系数αm为

(3)

更新训练集的权重数据

Dm+1=(wm+1,1,wm+1,2,…,wm+1,i,…,wm+1,n)

(4)

其中

(5)

重复步骤(3)M次,将训练的弱分类器进行组合得到强分类器F5,计算公式为

(6)

使用上述算法,完成新分类器F1和F4的生成,用于和SVM生成的分类器F2、F3和F6组合,完成棉叶螨危害等级的识别。

2.3 SVM和AdaBoost对棉叶螨危害等级识别

使用SVM算法训练生成F2、F3和F6共3个分类器。使用AdaBoost算法训练生成F1、F4和F5共3个分类器。将两种算法得到的6个分类器进行集成,采用投票法得到最终分类结果,如表4所示。从表中可得,SVM和AdaBoost生成的集成分类器平均识别正确率为88.75%。在4个危害等级识别中, 0级样本中有1个样本错分为2级,主要由于在室外拍摄图像时,因为遮挡的原因,叶片上一部分曝光过高,一部分过暗。在1级样本内有2个样本错分为0级,主要由于在叶片的叶茎底端有散乱的白点,危害较轻,不易分辨。在2级样本内有2个样本错分为3级,主要由于在田间拍摄时叶片上出现杂质和飞虫,从而导致错分。在3级样本内有1个样本错分为0级,主要由于该叶片的边角部分受害过重,导致蜷曲,病斑部分被完全遮挡。识别结果表明,使用集成分类器可较好地对棉叶螨危害等级进行识别。

表4 集成分类器识别棉叶螨危害等级的结果Tab.4 Cotton spider mites damage level recognition result generated by combination classifier

2.4 棉叶螨危害等级识别比较实验

以BP神经网络和AdaBoost为训练算法,进行棉叶螨危害等级的对比实验,利用2.3节所使用的训练集和测试集进行训练和测试。构建3层BP神经网络,输入层为11个神经元,隐含层22个神经元,输出层4个神经元,隐含层的传递函数选择Sigmoid函数。AdaBoost算法采用“一对一”的拆分方法训练6个二分类器,对于弱分类器,分别选择34、55、20、38、25和35个二分类器。对比实验统计结果如表5所示。

表5 棉叶螨危害等级识别比较实验结果Tab.5 Experiment results of cotton spider mites damage level comparison

从表5可知,本文算法比BP神经网络识别正确率高13.75个百分点,运行时间减少了0.225 s;与SVM算法相比,虽然运行时间多了0.171 s,但识别正确率显著提高;与AdaBoost算法相比,识别正确率和运行时间都有所改善。

3 结论

(1)参考棉叶螨危害等级的国家测定标准,结合实际生产状况和棉叶螨危害特点,提出了新的棉叶螨等级测定方法,为后续棉叶螨危害等级的判断提供了理论基础。

(2)棉叶螨危害等级识别上,本文算法平均识别正确率为88.75%,耗时0.389 s,与SVM生成的分类器相比,识别正确率提高了12.5个百分点;与AdaBoost生成的分类器相比,耗时减少了0.092 s;与BP神经网路生成的分类器相比,识别精度和耗时均有改进。

猜你喜欢
算子正确率分类器
与由分数阶Laplace算子生成的热半群相关的微分变换算子的有界性
个性化护理干预对提高住院患者留取痰标本正确率的影响
学贯中西(6):阐述ML分类器的工作流程
基于朴素Bayes组合的简易集成分类器①
门诊分诊服务态度与正确率对护患关系的影响
Domestication or Foreignization:A Cultural Choice
基于特征选择的SVM选择性集成学习方法
基于差异性测度的遥感自适应分类器选择
QK空间上的叠加算子
生意