APP下载

基于卷积神经网络结合图像处理技术的荞麦病害识别

2021-04-15陈善雄于显平易泽林雷兴华

农业工程学报 2021年3期
关键词:余弦荞麦卷积

陈善雄,伍 胜※,于显平,易泽林,雷兴华

(1. 西南大学计算机与信息科学学院,重庆 400715;2. 西南大学农学与生物科技学院,重庆 400715;3. 重庆市农业学校,重庆 401329)

0 引 言

荞麦是一种重要杂粮,其营养成分丰富,含有蛋白质、纤维素、糖类和抗氧化物质芦丁等对人体健康非常有益的成分,且种植适应性强,耐寒冷,耐贫瘠,是具有开发潜力的优质作物资源。荞麦在中国主要分布在西北、东北、华北以及西南一带高寒山区,在中西部地区居多,是这些地区的主要粮食兼经济作物[1]。全球其他地方主要分布在加拿大、印度、日本等国家[2]。然而,病害导致荞麦的产量与品质受到极大影响,使其营养价值、饲用品质等降低。荞麦病害问题是全世界共同面临的农业自然灾害之一,荞麦病害种类繁多、影响较大且时常爆发成灾[3]。准确及时对荞麦病害情况作出辨别,是预防和控制的重要手段[4]。现有的荞麦病害识别手段主要是通过人工进行甄别,对专业知识要求高,效率较低,对病害特征的判别不确定,往往错过最佳的控制时期。得益于人工智能与农业领域的结合,机器学习、模式识别的分类、检测、识别的最新方法和技术,在病害影像数据上的应用,有利于提升识别效率、降低成本、提高识别精度,减轻专家的工作强度[5-7]。近年来,计算机技术在农业图像处理方面的研究也受众多学者的关注,研究者利用支持向量机[8]、k-均值聚类[9]、径向基函数[10]、遗传算法[11]、贝叶斯分类[12],集成学习[13],滤波分割[14]等方法开展了农业作物病虫害分类研究,取得较多的成果。然而,传统的图像处理方法在农业图像应用中存在需要人为设定特征模式,特征抽取不稳定,受环境影响较大等问题。随着深度学习兴起,特别是卷积神经网络,递归神经网络等深层结构学习不断完善,在图像识别上的适应性和鲁棒性有较大提升,在农业领域引入深度学习开展病虫害的自动识别也成为众多研究者关注的热点。

对作物病害图像的自动分类是精准农业实施定向病害防控药物选择,药物喷洒的关键技术。而作物病害图像的识别,其核心在于病害特征的提取。利用深度学习获取作物病害的多尺度特征,可以更精确地实现不同病害的特征表达,有利于作物病害的精确识别。Fan等[15]提出了一种基于深度学习的局部模糊图像去模糊方法,通过训练不同结构的卷积神经网络模型,利用基于谱图理论的归一化分割算法对病虫害图像进行分割,具有较好的鲁棒性、泛化性和较高的精度。Qiang等[16]采用了一种具有双重注意力和拓扑融合机制的生成对抗网络(DATFGAN)将不清晰的图像转换成清晰、高分辨率的图像。对处理后的图像进行识别,结果表明该方法明显优于其他方法,具有足够的鲁棒性。

在深度学习领域,针对图像特征提取发展出了许多学习框架,并在农业病虫害检测中得到了应用。Rahman等[17]提出了一种基于深度学习的水稻病虫害检测方法,采用了VGG16和InceptionV3的结构,并对其进行了微调。Chen等[18]利用迁移学习机制,在ImageNet数据库和Inception模块上进行预训练得到DenseNet网络,并用于水稻病虫害的识别。Li等[19]提出了一种基于深度学习的视频检测体系结构,用于检测视频中的植物病虫害。与VGG16、ResNet-50、ResNet-101和YOLOv3相比,该网络结构系统更适合检测未经训练的水稻视频。在文献[20]中,CNN被用于玉米叶片疾病图像的识别,能效识别出玉米叶枯病、普通锈病(高粱锈病)和灰斑病(褐斑病)三种非洲南部地区玉米主要病变。Krishnaswamy等[21]用VGG16作为第8卷积层的特征提取器,利用多分类支持向量机(MSVM)对茄子疾病进行分类取得了较好效果。Valeria等[22]在对比分析最先进的卷积神经网络架构AlexNet、GoogleNet、Inception V3、ResNet18和ResNet 50的基础上进行微调,使用改进的GoogleNet模型识别西红柿病虫害。进一步,Fuentes[23]等还结合视觉对象识别和语言生成模型,产生关于植物异常症状及场景交互的详细信息。在番茄病虫害识别任务中,该方法在番茄植株异常描述数据集中达到了92.5%的精度[23]。Xiao等[24]将病虫害预测归结为时间序列预测问题,提出了一种基于LSTM的病虫害预测方法。Verma等[25]利用胶囊网络实现了对马铃薯疾病的分类,取得了较好的效果。

当前利用深度学习方法对作物病害的识别大都在标准作物样本库下开展研究。标准样本库通过专家的筛选往往呈现明显的病害特征,没有考虑野外采集到病害图像的复杂性,如叶片重叠,光照不均,阴影覆盖等,这些因素使得识别效果受到较大影响。本研究采用最大稳定极值区域(Maximally Stable Extremal Regions,MSER)和卷积神经网络(Convolutional Neural Network,CNN)结合的方法对荞麦发病区域进行检测;然后在传统卷积神经网络框架上,加入了两级inception结构和余弦卷积,对光照不均,低质量荞麦图像准确地进行特征抽取,提高病害分类的准确性。

1 荞麦病害识别框架

本研究对荞麦病害的判别包含病害区域检测和识别2个过程,如图1所示。

在MSER方法对病害区域检测基础上,加入改进的Alexnet网络解决病害区和非病害区的重合问题[26],以及对背景模糊区域,叶片边缘区域误检测为病害区域问题。然后采用inception结构和余弦相似度卷积完成对具体病害的判别。

2 病害区域的检测

本研究要求识别出荞麦病虫害类别,需要准确地从图像中检测出荞麦病发的区域[27],从而对病害区域进行特征提取。基于区域特征的抽取,能对不同类型的病害进行有效判别,确保分类精度。荞麦病害区域检测就是从图像中分离出病害区域与非病害区域,然后把病害区域送入网络就可完成训练和识别。针对荞麦病虫害区域的检测,本研究提出一种MSER[28]和CNN结合的方法对荞麦发病区域进行检测。

2.1 基于MSER的病害区域检测

采用基于MSER的方法对病害区域进行检测,MSER算法的具体实现过程如下:

1)对荞麦病害图像进行灰度化处理,在灰度区间[0,255]内的256个不同阈值对灰度图像进行二值化;令Qt表示二值化阈值t对应的二值图像中的某一连通区域,当二值化阈值由t变成t+Δ和t-Δ时,Δ为变化量,连通区域Qt相应变成了Qt+Δ和Qt-Δ。

2)计算阈值为t时的面积比当Qt的面积随二值化阈值t的变化而发生较小变化,即qt为局部极小值时,Qt为最大稳定极值区域。其中|Qt|表示连通区域Qt的面积表示Qt+Δ减去Qt-Δ后的剩余区域面积。

在进行MSER检测的过程中有些大的矩形框会包含小的矩形框,因此要对这些区域进行合并,将小的矩形框去除。对于两个区域合并,设连通区域1的参数为β1,χ1,δ1,ε1,连通区域2的参数为β2,χ2,δ2,ε2,其中,χ和β分别表示连通区域最小外接矩形在y轴方向上的最小值和最大值,δ和ε分别表示连通区域最小外接矩形在x轴方向上的最小值和最大值,那么连通区域1包含连通区域2可以根据式(1)进行判定。

通过以上步骤,对病害区域进行选定。但是由图2可以看出,检测结果中仍然存在病害区和非病害区的重合与错误检测的情况,把背景模糊区域以及叶片边缘区域误检测为病害区域。

2.2 基于改进AlexNet的病害区域分离

为了能够进一步区分病害区域和非病害区域,避免检测框重叠和误检测,本研究在AlexNet[29]网络基础上设计了一个CNN的二元分类器,其结构如图3所示。该网络一共有两个卷积层、两个池化层,最后的全连接层是一个针对病害区和非病害区的二元分类器。首先输入一张128×128的图像,然后再用16个3×3的卷积核提取输入图像的特征,进而得到一个32×32×16的卷积层,接着用2×2最大池化的方法降低卷积层的数据维度,得到一个16×16×16像素的池化层,再用32个5×5的卷积核进一步提取更高层的特征,最后通过2×2最大池化的方法得到8×8×32的输出。将这些输出特征全部连接在一个全连接层,根据特征向量进行权重计算,输出属于2个类别的概率,进而判断输入的图像是否为病害区域。该步骤实现了更准确的病害区域定位,解决了两个病害区域比较接近,检测到的区域容易交叉的情况。

2.3 模型训练与测试

在训练CNN模型时,本研究采用Adam作为优化算法,学习率设定为0.001,学习率下降乘数因子设定为0.1,损失函数选择交叉熵损失函数[30]。训练样本从原始图像上通过人工裁剪获得。研究选取了124张荞麦病害图像剪裁出病害和非病害区域,用来构建裁剪图像数据集。正样本为病害区域,如图4a所示,共792个区域裁剪图像;负样本为非病害区域,如图4b所示,共1 135个区域裁剪图像。导入数据进行训练时,首先打乱顺序,以4:1的比例进行随机划分,分别作为训练集和测试集,然后对输入图像采用均值分别为0.471、0.452、0.412,方差分别为0.282、0.267、0.231的参数对导入图像进行标准化变换。

裁剪样本的大小和CNN预测的平均准确率变化情况如图5所示。

试验结果表明,在训练第20到30轮次的时候预测的平均准确率趋于稳定,通过比较24×16、24×24、32×24、32×32、48×32几种不同大小的裁剪样本,最终选择将32×32大小的裁剪样本作为训练数据,同时将检测算法得到的候选区域统一调整为32×32大小的图像进行分类。

本研究在500张荞麦病害图片中进行了测试,单张叶片上病害斑块分布最多为16块,最少为2块。经过测试分析发现,完全检测到所有斑块的图片有135张,检测率在90%~100%之间的有117张,而检测率50%以下的有134张,表1所示。总体来看,单张叶片病害区域检测率在70%以上的图片达到455张,具有较好的病害区域检测效果。

图6为通过CNN分类以后得到的病害区域,可以看检测的结果更加精确,消除了交叉框和对病害区域的错误检测。由此可见,本研究方法能够对荞麦的病害区域和非病害区域进行准确的分类。

表1 荞麦病害斑块检测统计Table 1 Detection statistics of buckwheat disease area

3 荞麦病害识别的卷积神经网络结构

荞麦图像源于野外采集,成像质量不一。对于低质量荞麦图像,单纯的依靠增加网络深度,并不能对病害特征进行有效提取,特别在低质量图像上不同病害区分度并不明显。只有通过提升网络宽度去获取细节特征,这引起网络层间的参数量增加。为了避免参数量较大,采用了2层Inception结构。第一层提取病害轮廓特征,特征表示的维度是浅层信息表示,它丢掉了一些重要的因素,如相关性结构;第二层获得较细节特征,这样每层的参数量相对较少,避免了训练过程中的梯度消失。

3.1 基于inception结构的改进网络

Inception是一种局部拓扑结构的网络,对输入图像并行地执行多个卷积运算或池化操作,并将所有输出结果拼接为一个非常深的特征图。因为1×1、3×3或5×5等不同的卷积运算与池化操作可以获得荞麦病害图像的不同信息,并行处理这些运算,并结合所有结果将获得更好的病害图像表征。

本研究采用的卷积神经网络结构,如图7所示,该网络在传统结构的基础上加入了两个inception,其具体处理流程为:1)首先,网络的输入是大小为64×64的荞麦病害的图像,接着用136个9×9大小的卷积核进行卷积操作,得到136个56×56的特征图。2)将特征图送入inception1结构中,网络中所有inception结构均采用相同的卷积操作,即不改变特征图的大小。接下来的所有池化层中池化窗口的大小为2×2,因此经过池化后特征图的大小变为28×28。3)采用200个5×5的卷积核得到200个24×24的特征图,将这些特征图送入inception2结构中后,经过池化层后再用264个5×5的卷积核得到264个8×8的特征图。4)经过池化层后进入最后一层卷积层,卷积核个数为520,大小为3×3,因此会得到520个2×2的特征图。最后是全连接层和分类输出层。

在网络的前两层卷积层中,分别采用了9×9和5×5的感受野,为了在更小的感受野中提取更多不同尺度的特征信息,同时扩大网络的宽度和深度,因此在这两层卷积层中分别加入了inception1和inception2结构,它们的结构如图8所示。在inception1结构中,分别使用了1×1、3×3、1×5、5×1,4种不同尺度的卷积核进行多通道的特征提取,最后将通道进行融合。最上层的1×1卷积可以有效降低输入特征图的通道数,减小网络的计算成本。最底层的1×1卷积是为了将输入特征图的通道数还原,保持输入输出特征图通道数的一致性。在inception2结构中,输入的特征图变得更小,因此将inception1中的1×5和5×1卷积分别替换成了1×3和3×1卷积。在第2个卷积层中,输入特征图的数量比第一层多,因此将结构内的通道数由30增加到40。

为了评估inception模块的性能,从荞麦斑枯病、荞麦菌核病、荞麦立枯病、荞麦轮纹病、荞麦霜霉病、荞麦褐斑病、荞麦病毒病、荞麦白霉病的8类样本中选出1 200张样本,同时加入800张没有病害的荞麦图像,将训练集和测试集按照4:1划分,对inception1和inception2进行了控制变量的试验对比,同时,对卷积层层数、卷积核个数、学习速率和批数量大小(Batch-size)四个主要参数进行了调试,确定最佳参数:4个卷积层,卷积核为:(136,200,264,520),学习速率:0.02,Batch-size:100。试验结果如表2所示。

通过表2可以发现,在分别加入了inception1和inception2结构以后,在相同的迭代次数内,网络的识别准确率有所提升,因此证明了本研究所提出的inception结构的有效性。

表2 Inception模块性能评估Table 2 Performance evaluation of Inception Module

3.2 基于余弦相似度的卷积

荞麦病害图像数据来源于田间采集,受采样环境的限制,存在噪声干扰。因此,为了使卷积运算后,特征图中只有和卷积核具有相似特征的位置取得较高的激活值,同时减小特征之间的差异性,减少想引入卷积层的运算中,把输入的特征图和卷积核看作两个向量,计算它们之间的相关性。

在传统的卷积神经网络中,假定第l层卷积层的第j个特征图的输出值为:

式中g(·)表示激活函数,M表示输入特征图的集合表示第i个特征图和第j个特征图之间采用的卷积核向量,为偏置。

余弦相似度是衡量两个向量之间相似程度的指标,它计算两个向量夹角的余弦值,夹角越小,意味着两个向量之间的相关性越高,计算出的余弦值也越大,其取值范围是[-1,1]。以下是向量X和向量Y之间余弦相似度的计算方式,式中n表示向量的维数:

式中r×z表示卷积核的大小,Wij和Mij分别表示卷积核与特征图中的系数。那么,相似性度量函数可以表示为

因此,第l层基于余弦相似度运算的卷积层的输出值为

本研究将基于传统卷积、欧几里得距离卷积、切比雪夫距离卷积、曼哈顿距离卷积、余弦相似度卷积方式的神经网络的识别性能进行对比分析。选取荞麦斑枯病、荞麦菌核病、荞麦立枯病、荞麦轮纹病、荞麦霜霉病,荞麦褐斑病、荞麦病毒病、荞麦白霉病的8类图像数据集中共计1 200个样本,同时加入800张没有病害的荞麦图像样本,将训练集与测试集按照4比1的比例划分,按照图7的网络结构,进行病害和无病害识别。对几种不同卷积方式的网络在卷积核为:(136,200,264,520),学习速率:0.02,Batch-size:100的参数条件下分别就传统卷积、欧几里得距离卷积、切比雪夫距离卷积、曼哈顿距离卷积余弦相似度卷积的识别性能进行了5次重复试验,结果如表3所示。

从表3可以看出,采用余弦相似度运算的卷积方式比传统的卷积方式所取得的识别准确率有所提高,平均准确率提升了4.14%。而基于其他相似度函数卷积方式的网络反而比传统卷积的网络得到的准确率更低,这说明其他相似度函数的计算方式放大了样本中特征之间的差异性,使得样本中的噪声对特征提取的过程产生了较大的干扰。而余弦相似度会将输出结果限定在-1到1之间,可以最大限度的减小噪声对特征提取造成的影响。

表3 不同卷积方式下的识别准确率Table 3 Recognition accuracy under different convolution modes%

为了进一步分析余弦相似度卷积网络性能,以第3次试验为例,给出了基于传统卷积方式网络和余弦相似度卷积网络的损失函数和准确率变化曲线如图9所示。

通过图9可以看出,传统卷积的网络大约在迭代5000次以后损失值逐渐收敛,而基于余弦相似度的卷积在3 000次以后就已经收敛;对于准确率而言,传统卷积的网络在迭代4 000次后趋于稳定,而基于余弦相似度的卷积在2 000次以后达到稳定状态。因此,基于余弦相似度卷积的网络收敛速度更快,更容易找到全局最优解。主要是因为这种卷积方式能更好的评估卷积核与输入特征图对应特征的关联程度,使得与卷积核特征相似的位置取得更高的激活值,同时避免噪声对特征提取的影响。受采样的时间和环境的影响,在荞麦病害的图像中,有很多样本都存在光照不均、阴暗变化明显的情况,这种情况导致图像的灰度值变化明显,因此最终传统卷积运算所取得的激活值也会发生突变,图10为传统卷积方式和基于余弦相似度卷积方式的输出对比。

假设图10中的数值代表图像的像素灰度值,它们取值的不同主要是由于光照不均所导致的,将图中的卷积核输入特征图分别进行传统卷积运算和基于余弦相似度的卷积运算。可以看出,传统卷积方式得到的输出值大小有着明显的差异,其特征提取的能力也相应被削弱。而基于余弦相似度卷积的输出值大小相对均匀,这说明这种方式能更好的适应光照不均的干扰,更加有利于特征的提取。

图11展示了不同光照环境下荞麦叶片样本采用余弦相似度的卷积运算后输出特征图。从图中可以看出,在第一层卷积特征map上,除了样本轮廓特征,还存在一些由于光照不均引起的明显的分界线;第二层卷积后,特征map对光照不均的表现较为弱化;在第三卷积层,特征map基本消除了光照影响;第四卷积层,第五卷积层,所有特征Map趋于仅保留了荞麦叶片的高层特征。因此,基于余弦相似度的卷积得到的输出特征图色调相对均衡,说明这种方式能够减少光照不均的影响,有更佳的特征提取能力。

4 结果与分析

建立了一个荞麦病害数据库,该数据库包含了荞麦斑枯病、菌核病、立枯病、轮纹病、霜霉病、褐斑病、病毒病、白霉病等8种荞麦病害图像,图像来源于重庆市荞麦产业技术体系团队的田间采集,经过荞麦专家筛选后,每种病害图像500张,无病害(正常)的图像1 000张,共计5 000张。每种病害选取400张作为训练集,100张作为测试集,无病害图像选取800张作为训练集,200张作为测试集;用五折交叉验证的方式进行。采用3.1节的inception结构,余弦相似度卷积的卷积神经网络进行识别,并对最终的识别准确率进行了比较。使用召回率(Recall,R)、精确率(Precision,P)、精确率和召回率加权调和平均值(F1),作为指标来评估识别的效果。召回率是分类器找到所有病害样本的能力;精确率是期望为病害的样本中的TP与TP加FN总数的比率。

其中TP(True Positive)指正确分类的正样本数,表示正确判断病害的样本数;FP(False Positive)指被错误标记为正样本的负样本数,表示判断为病害的正常样本数;FN(False Negative)指被错误标记为负样本的正样本数,表示判断为正常样本的病害样本数;

试验结果如表4所示。在对比主流的CNN模型的同时,为了表明所提方法的性能,还引入了目前研究比较深入的人脸识别模型(DeepFace、VGGFace、FaceNet,DeepID2+、WSTFusion、SphereFace、RangeLoss、Hi ReST-9+)[31-33]在荞麦病害数据集中进行测试,结果表明采用本研究的方法,精确率、召回率、F1分别达到了96.82%、95.62%、96.71%,比主流的AlexNet、VGG、GoogleNet、ResNet、LeNet框架的最佳性能分别高2.59%、2.89%、2.13%。且本研究提出的识别框架FPS值为5.19,可以看出其处理速度也处于较高水平。

表4 荞麦病害识别的结果Table 4 Results of buckwheat disease recognition

为了进一步研究对荞麦叶片病害区域进行检测后,模型对荞麦病害识别效果的影响,这里对是否执行区域检测进行了测试。在加入第2节的病害区域检测的方法后,识别效果得到明显的提升,如表5所示。采用了病害区域检测的方法后,本研究识别方法的精确率,召回率和F1分别达到了97.54%,96.38%,97.82%,比使用前提高了0.72%,1.76%,1.11%。结合表4分析发现加入病害区域检测后,各个识别模型平均精确率、召回率和F1分别提高了1.45%、1.67%、1.46%。同时发现区域检测引入了额外的计算开销,因此处理速度略有下降,所有模型的PFS值平均下降的0.46,但对整体性能影响不大。

表5 加入区域检测后荞麦病害的识别结果Table 5 Recognition results of buckwheat disease after regional detection

试验还针对荞麦斑枯病、荞麦菌核病、荞麦立枯病、荞麦轮纹病、荞麦霜霉病、荞麦褐斑病、荞麦病毒病、荞麦白霉病进行分类识别。表6展示的是在病害区域检测后,用本研究所提的识别框架进行具体病害辨别的结果。可以看出针对具体的病害识别效果有明显的下降,对于具体病害的识别精确率,召回率和F1均值为84.86%,85.78%,85.40%。特别是对荞麦霜霉病的识别性能较差。这是由于仅仅判别荞麦是否存在病害这是一个二分类问题,因此分类效果较好,而识别的具体的病害类型,分类的目标增多,识别难度增加。由于拍照设备的性能不同,拍照环境不同,成像质量差别较大;同时识别的精度很大程度依赖于模型的训练和样本的数量,本研究所采用的样本数量源于田间采集,受条件限制,对每种病害的样本仅500张,模型训练不充分,识别效果受到较大影响。但可以看出荞麦斑枯病、轮纹病识别的精确率,召回率和F1仍然达到90%以上。这是因为这两种病害在荞麦叶片上的边缘轮廓比较清晰,用卷积神经网络进行特征提取时能准确地得到病害的特征图,因此在进行分类时表现出较高的精度。虽然不同类的识别精度是不同的。从整体上看,斑类病的识别效果好于霉菌类病,这是因为斑类病在荞麦叶片上形成的病害区域特征比较明显,辨识度较高,能准确提取特征,而霉菌类病在荞麦叶片上分布比较分散,边缘比较模糊,算法对特征的提取能力较弱。

表6 各种荞麦病害的识别效果Table 6 Recognition effect of buckwheat diseases

6 结 论

本研究对荞麦病害的自动识别进行了分析,利用卷积神经网络的多层特征提取方式,对荞麦病害的特征进行抽取,然后根据特征进行分类,最终实现对荞麦病害的判别。为了提升对荞麦病害的识别精度,进行了病害区域的检测,把检测的结果输入卷积神经网络进行训练和识别;同时在传统结构的基础上加入了inception结构,进一步提升精度。为了降低采样过程中光照的影响,用基于余弦相似度的卷积代替传统的卷积,使得对光照不均情况的样本也能够进行较好的特征提取。通过试验结果分析,本研究提出的inception结合余弦相似度的卷积神经网络结构在对荞麦是否患病识别的精确率,召回率以及精确率和召回率加权调和平均值分别达到了97.54%,96.38%,97.82%;对于具体病害的识别其均值分别为84.86%,85.78%,85.40%,高于主流的VGG、GoogleNet、ResNet、DeepID等识别框架。

本研究进行了病害区域检测,使得处理时间有所增加,但对总体性能影响不大。然而部分病变区域与成像背景区分度较低,导致识别精度不高,需要进一步改进识别框架,针对具体病害提升识别精度。

猜你喜欢

余弦荞麦卷积
红山荞麦看木森
我国科学家发现荞麦属新种
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
从滤波器理解卷积
荞麦
椭圆余弦波的位移法分析
基于傅里叶域卷积表示的目标跟踪算法
两个含余弦函数的三角母不等式及其推论
实施正、余弦函数代换破解一类代数问题