马玉琨,刘子琼,张文武,冯向荣
(1.河南科技学院人工智能学院,河南新乡453003;2.河南科技学院信息工程学院,河南新乡453003)
农作物是人们赖以生存的主要食物来源,农作物病虫害严重影响了粮食产量和质量[1].我国是农业大国,粮食质量和产量是国计民生的保障,所以农业病虫害的防治至关重要.预警和预报是有效预防和控制植物病害的基础.目前为止,我国农作物病虫害检测主要依靠人工观察,但是农作物病害种类多,农民的专业知识不全面,容易延误最佳防治时期,且病虫害具有突发性、不可预见性,病害检测不及时错过最佳的治理时间,也会导致粮食减产质量下降.因此农作物病斑的自动检测问题亟待解决.
近年来,图像识别技术被应用于农业领域,国内外学者基于农作物叶部病虫害图像对病虫害自动识别进行了研究.农作物病虫害的自动检测方法包括基于手工特征和基于深度学习两种方法.基于手工特征的方法如方向梯度直方图+支持向量机[2]、mean shift算法[3]等.唐建等[4]提取颜色特征和纹理特征,用贝叶斯判别法对水稻病害识别;杨倩等[5]综合颜色特征和局部二值化模式(Local Binary Pattern,LBP)纹理特征,特征向量融合构建支持向量机对大麦病害进行识别;陈兵旗等[6]用小波变换和纹理矩阵方法强调小麦病变部位.纵观前人用机器学习方法的其主要是基于单一的特征进行分类,无法全面完整地描述病害图像的特点.深度学习的方法如Hulya Yalcin等[7]通过监控在土耳其建立了农业信息系统,利用预训练的卷积神经网络对采集的图片自动提取特征进行识别;Kamlesh等[8]提出了基于高光谱的卷积神经网络用于植物病害检测;Mohanty等[9]利用PlantVillage数据集对AlexNet,GoogLeNet等网络做微调,完成网络的迁移学习,对农作物病斑图像进行识别.此外文献[10-11]对于黄瓜、水稻等单作物的识别分别做了研究.纵观前人的深度学习方法需要大量的数据、深层的网络,小样本的情况下容易过拟合,但农业数据的采集具有较长的周期性(一个生长周期),而多种病害的数据很难在一个周期内完备地收集,海量级别的、带有标注的数据较难实现.
鉴于上述分析,提出利用多特征融合的农业图像病虫害识别算法,提取农作物图像的LBP和灰度共生矩阵(Grey-Level Co-occurrence Matrix,GLCM)特征,然后使用分数级融合的方法进行分类识别.解决了单一特征分类的局限性,提取了多角度的图像信息,该方法可有效识别农作物病害,为农业智能检测提供参考.
图1列出了小麦和水稻常见的6种病害图像.
图1 大田作物病害数据集Fig.1 Field crop disease dataset
由图1可知,农作物病害发病部位主要为叶片和叶鞘,但病害表现各不相同.水稻叶瘟病病斑从外到内依次为黄色、褐色、灰白色;水稻胡麻叶斑病多为椭圆或近圆形,斑点密集,芝麻粒大小;水稻纹枯病病斑呈云纹状,病斑面积较大,病斑主要分布在叶鞘、叶面,病斑边缘发黄,中间呈白色;小麦白粉病为椭圆或圆形的白色粉状霉点;小麦赤霉病病斑主要分布在麦穗,病斑呈褐色;小麦锈病主要分布在叶片上,为黄褐色粉状斑点.
鉴于病害患病部分体现出不同的纹理特征,本文提出基于多特征融合的农作物病虫害检测方法,如图2所示.分别提取农作物图像的LBP和GLCM特征,然后使用分数级融合的方法进行分类识别,共分LBP、GLCM、SVM和多特征融合4部分.
图2 多特征融合的农作物病害检测流程Fig.2 Flow chart of crop disease detection based on multi-feature fusion
众所周知,LBP算法[12]描述图像局部特征,能够应对灰度及光照变化,同时理论简单,实现高效,并且能够获得较高的纹理识别精度.LBP算法的定义公式为
式(1)、式(2)中:R表示中心像素点局部邻域的半径,P表示中心像素点周围像素点的个数,gc表示中心像素点的灰度值,gp表示周围像素点的灰度值[13].本次实验取R为1,P为8,利用上述方法提取LBP算子.一幅农业图像记录的是每个像素点的灰度值,与此同时每个像素点都可以得到一个LBP编码,遍历所有像素点后得到特征图谱;统计LBP特征图中0~255像素值所占比例,得统计直方图.LBP特征提取流程如图2所示,最后得到1*256的特征向量.
GLCM是20世纪70年代初由Haralic等[14]提出的,用于显示两个相邻像素两个灰度级空间分布特性,可用于描述图像的纹理[15].f(x,y)为一幅二维数字图像,大小为M*N,灰度级别为K.取图像中任意一点(x,y)及除去(x,y)的任意另一点(x+a,x+b),设该点对的灰度值分别为i和j,用(i,j)出现的总次数将它们归一化为出现的概率P(i,j),则灰度共生矩阵为
式(3)中:#(T)表示集合T中元素个数,(x,y)与(x+a,y+b)间距离为d,两者连线与坐标横轴的夹角为θ,则可以得到各种间距及角度的灰度共生矩阵P(i,j,d,θ).本次实验图片大小调整为512*512,取灰度级K为16,d为1,分别取θ为0°、45°、90°和135°得到四个方向的大小为16*16的灰度共生矩阵.为了减小运算量,对4个角度的灰度共生矩阵提取参数:分别为能量(Asm)、对比度(Con)、熵(Ent)、反差分矩阵(IDM),上述4者融合相加可得到1*16的特征向量.
本次实验采用SVM分类器[16].SVM解决的是二分类问题,对于线性问题通过构建最优超平面实现模型的最优化,使经验风险和结构风险降低到最小.非线性问题需借助核函数将训练数据从非线性空间变换到线性空间的同时从低维空间变换到高维空间,然后求解最优超平面实现非线性的数据分类[17].对于训练数据D,选择合适的核函数K和惩罚因子C,可以构建和求解最优化问题
式(4)中:(xi,yi)是训练样本,i=1,2,…,N.xi为第i个训练样本特征向量,yi为第i个样本对应的标签.构建最优超平面,求解最优目标函数
式(5)中:K为核函数,a为拉格朗日乘子,利用上述表达式选择合适的核函数求得最优解,选择的一个分量满足条件,计算得
以及支持向量机的目标决策函数
农业病虫害属于非线性分类,所提方法采用高斯径向基核函数,既能够实现非线性映射又没有数值困难.令惩罚因子C为5 000,将训练集中的六类病害轮流作为正类,构建6个分类器,每当输入一个测试样本在6个分类器里分别进行计算.
通过上一节的分析,不同的手工设计的特征表达了不同的纹理信息,因此采用多特征融合的方式综合利用各个信息.
设农作物病害共有K类,将图像的LBP特征输入SVM分类器因而得到该图像分别属于K类别的概率表示如下
同理,图像的GLCM特征可得到
将每种特征向量分类得到的概率值相加融合
测试结果xi所属类别为D
概率融合算法如图2所示.本次实验将测试样本分别在LBP单特征训练及GLCM单特征训练的分类器测试,共6种病害,故每个测试样本可得到6个概率,将在两个分类器上测试的概率融合相加所得概率最大值对应类别即为识别结果.
本次实验选用大田作物病害图像识别技术挑战赛数据集[18],包含有3 000张患有病虫害的水稻和小麦图像,图像分辨率为3 000*2 000,其中水稻病害有叶瘟病,纹枯病,胡麻叶斑病三类共1 800张,每类600张,小麦病害有白粉病,赤霉病,锈病三类共1 200张,每类400张.图片背景分单一、简单、复杂3种,如图3所示.实验中将数据集按7∶2∶1的比例随机划分为2 100张训练集、600张验证集、300张测试集.
图3 数据集中不同背景的例子Fig.3 Examples with different background in dataset
采用上述LBP,GLCM算法对农作物病害图像进行特征提取.本文用LBP单特征识别、GLCM单特征识别、多特征分数级融合等三种算法分别进行测试,测试结果如表1所示.可以看出,通过分数级融合的方法可以提高大多数场景下的分类精度.
表1 分类精度表Tab.1 Classification accuracy %
图4为六分类病害识别的分类结果图,可以看出对角线上的数值较高,即大部分病害都能被成功识别.少数识别错误集中在水稻纹枯病被识别为水稻叶瘟病(16.7%的概率)、小麦锈病被识别为小麦白粉病(10%的概率).事实上,这两对病害的区分也是人眼判断的难点.图5列出了两对病害较为类似的例子,肉眼几乎无法分辨.
图4 六分类病害识别的分类结果Fig.4 Recognition results of six kinds of diseases
图5 不同病害较为相似的例子Fig.5 Examples of similar diseases
为进一步说明所提算法的优势,表2比较了本文方法和相关工作[19]的性能.其中AlexNet和VGGNet为常用的两个深度学习框架,微调指使用PlantVillage数据集[20]训练后使用大田作物病害微调,PlantVillage数据集包含38类病虫害的54 306张图像.由表2可知,本文所提LBP+GLCM多特征融合的方法其准确率优于AlexNet、VGGNet、VGGNet(微调),和AlexNet(微调)的性能相当,但所提算法避免了对大量参数和训练数据集的依赖.
表2 同相关工作的性能比较Tab.2 Performance comparison related to work %
农作物病害的自动检测有利于病害的及时防治,进一步提高农作物产量和质量.农作物病害表现较为复杂,传统单一特征无法全面描述其病害特点,而利用深度学习技术又受限于大规模训练数据的采集.本文利用LBP、GLCM两种特征从不同角度描述病害表现,并进行分数级融合进而分类.以常见的6种水稻和小麦病斑图像为实验对象,结果表明,所提方法可以利用较小数据集取得比深度学习方法更为准确的性能.
本文研究了农作物病害图像的自动识别,揭示了特征融合对于识别准确率的影响机理,为田间智能诊断提供了技术基础和支撑.