张会敏 谢泽奇 张善文
摘要:因病害叶片图像的复杂多变性,较难准确分割病斑图像和提取到鲁棒的病害分类特征。现有的基于卷积神经网络(CNN)的作物病害识别方法通过扩展训练样本来增加大量不同角度、方向的训练样本,从而增强模型的鲁棒性和泛化能力,但需要较长的训练数据和较大的算力,并且对于一些少见的病斑不能准确识别,因此提出一种基于注意力胶囊网络(ACapsNet)的作物病害识别方法。ACapsNet中的注意力机制用于提高CapsNet的训练能力。ACapsNet中的胶囊由多个神经元组成,每个神经元表示图像中特定病斑的各种属性,这些属性能够表达不同类型病斑的形状、颜色、纹理、位置、大小和方向等特征,在复杂黄瓜病害叶片图像数据集上进行交叉验证试验。结果表明,ACapsNet能够有效表达不同病害叶片图像的各种特征,加快网络的训练速度,能够应用于田间复杂场景的作物病害识别系统。
关键词:作物病害识别;注意力机制;胶囊网络;注意力胶囊网络
中图分类号: TP391.41 文献标志码: A
文章编号:1002-1302(2022)06-0101-06
收稿日期:2021-06-05
基金项目:国家自然科学基金(编号:62072378);河南省教育厅高等学校重点科研项目(编号:20A520045)。
作者简介:张会敏(1981—),女,河南漯河人,硕士,副教授,研究方向为模式识别应用。E-mail:zhm0413@163.com。
通信作者:张善文,博士,教授,研究方向为模式识别及应用研究。E-mail:wjdw716@163.com。
作物病害会严重影响作物的产量和质量,因此作物病害的识别研究是作物病害防治工作中一个重要的研究方向[1-3]。目前,作物病害识别方法主要分为两大类[4]:基于特征提取的识别方法[5-8]和基于卷积神经网络(CNN)的识别方法[9-11]。传统方法需要对病害叶片图像进行分割,然后提取人为设计的病斑图像的分类特征,最后利用训练集中样本的分类特征向量训练分类器,利用测试集中样本的分类特征向量进行病害识别。事实上,由于病害叶片图像及其背景的复杂性、多样性(图1)以及病斑分割、特征提取和分类器依赖于人为选择和设计,所以传统方法实现流程较复杂,并且病斑图像分割存在较大冗余性,分割的病斑图像和提取的特征存在很大的主观性,在病害识别的精度和泛化能力方面难以满足大规模大田作物病害防治需求。
多年来,CNN在图像识别、分割、检测和检索等多种任务中取得了成功应用,并得到了显著的识别效果,其主要优点是可直接从输入图像中学习“端到端”的分类特征,大大消除了主观性或物理模型等技术的依赖[12-13]。CNN通过不断卷积操作提取更深层次的特征,通过池化操作极大地加速了网络模型的收敛,增加更深层次神经元的感受野,允许它们检测更深层次的特征。CNN卷积核的大小对病害识别结果有很大影响,若卷积核太小,包含的病害类别信息太少,不利于病害类型识别;若卷积核太大,则网络模型的参数过大,对算力要求就很高,因此选择合适的卷积核大小非常重要。为了克服CNN模型的不足,Sabour等提出了一种胶囊网络(CapsNet)[14]。CapsNet中的信息以矢量形式进行存储,主要封装识别目标特征状态的所有关键信息,胶囊将目标的检测概率编码为矢量长度,同时将检测目标特征的姿势信息,包括目标的形状、颜色、纹理、位置、方向、旋转角度等编码为矢量方向[15-17]。注意力机制以高权重聚焦目标的重要分类信息,以较低权重忽略与分类不相关的信息,并且不断调整权重,从而在不同情况下均可以选取重要的分类信息,可见将注意力机制应用于CNN,有望加速模型收敛,增强模型的可扩展性和鲁棒性[18]。针对大田作物病害叶片图像的干扰信息较多,早期病害叶片存在病斑较小,病斑形状、图像像素及其分布复杂、无规律,颜色变化多端,且不同类病斑差异较小等问题,充分结合胶囊网络与注意力机制的优势,提出一种基于注意力胶囊网络的作物病害识别方法,并進行大量试验,验证该模型的有效性。
1 胶囊网络(CapsNet)
CapsNet利用胶囊取代神经网络的神经元表示特征,以胶囊的输出为特征向量,其模长用于预测待识别目标是否存在,特征向量各维的参数用于表示目标的空间位置关系。CapsNet由编码器和解码器组成,其中编码器由卷积层、主胶囊层和数字胶囊层组成。主胶囊使用1个卷积操作提取输入图像的特征,然后封装成胶囊,数字胶囊是类别胶囊层,它的作用是将特征胶囊层的特征胶囊映射到类别胶囊中去。在经典的CapsNet模型中,卷积层包含256个大小为9×9且步长为2的卷积核,输出20×20×256维的特征图;主胶囊层包含32组卷积核,每组由8个大小为9×9且步长为2的卷积核组成,该层对卷积层的输出进行卷积操作,得到1 152个8维胶囊;再输入到挤压激活函数,该函数将大范围输入挤压到较小区间,通常采用Sigmoid函数,可将较大范围的输入挤压到(0,1)区间内;输入到数字胶囊层,假设该层有10个数字胶囊,则表示10个类别。胶囊层对主胶囊层的输出进行路由操作,得到16×10维分类向量;解码器由3个全连接层组成,接收数字胶囊层输出10×16维分类向量,输出为10个16维向量;然后计算这10个16维向量的长度,输出10维向量,最后计算其与标签值的损失。编码器和解码器的结构见图2和图3。胶囊与神经元差异见表1。
与CNN相比,CapsNet利用动态路由算法代替池化层,对输入特征进行分类,等同于特征选择过程。动态路由算法通过获取所有子胶囊预测结果来预测父胶囊的参数,当所有子胶囊预测结果一致时,激活父胶囊并输出特征向量,其计算流程如下。
1.1 非线性函数对输入向量进行压缩,输出特征向量
uj|i=wijui,sj=∑iciju^j|i,vj=‖sj‖21+‖sj‖2×sj‖sj‖。(1)
式中:ui为第i个胶囊的输出,与转化矩阵wij相乘得向量 u^j|i;cij为子胶囊层中第i个胶囊到父胶囊层中第j个胶囊的路由参数;sj为父胶囊层中第j个胶囊;vj为父胶囊层中第j个胶囊的输出,与对应的阈值先相减、再平方、最后取平均值,相当于预测结果与阈值的欧式距离的误差。
1.2 路由参数cij用于实现胶囊层之间的动态路由选择
cij=exp(bij)∑kexp(bik)。(2)
式中:bij为子胶囊层中i胶囊连接到父胶囊层中j胶囊的概率。
bij通过低层胶囊中与高层胶囊对应位置的特征的匹配程度来更新,计算如下:
bij+u^j|i·vj=bij。(3)
为了估计参数更新后的胶囊向量代表的预测值与真实结果之间的误差,以便在动态路由算法中更好地对参数进行更新,在最后1层的数字胶囊层中,vj的个数与模型输出类别的个数一致,求出向量vj的模长,是分类目标为第j类别的概率值。正确类别和错误类别分别为1和0,若判断正确,则使用前半部分来计算损失;若判断不正确,则使用后半部分来计算损失。本研究对应的阈值分为合格的上限阈值和不合格的下限阈值,使用间隔损失作为损失函数:
MLoss=∑k∈CNumTkmax(0,m+-‖vk‖2)+λ(1-Tk)max(0,‖vk‖-m-)2。(4)
式中:m+和m-分别为类别预测阈值;默认m+=09,m-=0.1;λ=0.5为平衡系数;Tk为数据类别标签;CNum为数据集的类别数;k为类别序号。MLoss越小,则输出向量的预测值与输入向量的真实值之差越小,即胶囊网络分类的效果越好。
2 注意力机制与胶囊网络
2.1 注意力机制
CapsNet中的注意力机制旨在从众多信息中通过运算篩选出对识别目标更关键的特征信息。其中,通道信息注意力网络主要利用建模卷积特征通道之间的相互依赖关系来提高分类识别率。CapsNet通过学习全局信息来选择性地强调特征信息实现特征通道的校准。假设1个数据集a={a1,a2,…,aL},ai∈LD,其中:L是特征向量的数量;D是维度空间。使用注意力机制计算每个样本ai在当前时刻t的权重αt,i如下:
αt,i=exp(eti)/∑Lk=1exp(etk)。(5)
式中:eti=fatt(ai,ht-1)为多层感知器;fatt(L)为中间变量;ht-1为最后时刻的隐藏状态。通过权值的测量,可以使网络聚焦于最具分类性的区域和特征图。
2.2 注意力胶囊网络(ACapsNet)
ACapsNet由编码模块、重构模块、注意力模块和分类模块组成。其中,编码模块用于提取病害叶片图像的分类特征;重构模块用于对编码模块的输出特征进行采样,输出重构图像;分类模块用于病害类别识别。为了有效提取特征和降低噪声对网络的影响,在编码模块中引入自注意力机制,在胶囊层之间利用局部动态路由算法,从而减少网络的计算量和加快网络训练;利用Swish激活函数来替代ReLU激活函数,避免网络退化问题。ACapsNet网络的结构见图4。
ACapsNet的编码模块由2个卷积层conv1和conv2、自注意力层、主胶囊层、次胶囊层构成,主胶囊层对conv2的输出特征用32个步长为2的5×5卷积核进行8次卷积操作,实现卷积层与胶囊层的转换,次胶囊层与自注意力层使用的卷积核步长均为1,其他层卷积核的步长均为2。重构模块由卷积层conv3、反卷积层(deconv)和卷积层conv4组成,conv3进行胶囊层与卷积层的转化,反卷积层用于对conv3的输出进行上采样,再通过conv4下采样
得到重构图像。分类模块由数字胶囊层组成,ACapsNet的参数见表2。
ACapsNet采用基于梯度下降算法进行优化,梯度下降的权值更新为:
Wnew=Wold-ηEWold。(6)
式中:Wold和Wnew分别为更新前和更新后的权值;η为学习率;损失E为权值W的复合函数。
Adam是典型的随机梯度下降优化算法,并广泛用于学习率自适应约束控制优化,使得参数的更新比较稳定,适用于求解带有大规模数据或参数的优化问题,表示为:
Δw=-ut/(1-α)vt/(1-β)+ε·η。(7)
式中:Δw为权值更新;η为学习率;α和β为超参数;vt=βvt-1+(1-β)gt为有偏一阶矩估计;ut=αut-1+(1-α)gt为有偏二阶矩估计;gt为当前时刻的梯度;ut-1、vt-1分别为上一时刻的有偏一阶矩估计和有偏二阶矩估计。
学习率对网络模型的优化算法收敛起着决定作用,学习率设置过小则收敛速度慢;反之,设置过大则模型可能无法收敛到最优解。通常在迭代训练开始时将学习率设置较大,随着模型逐渐收敛而不断变小,使得模型更好收敛。在ACapsNet迭代过程中,利用Adam算法进行优化,初始选择一个较大的学习率,设置为0.9,随着数据集训练完成的次数,按照指数函数进行衰减。
基于ACapsNet的作物病害识别主要包括3个部分,数据集预处理、ACapsNet模型训练和利用训练好的ACapsNet进行病害图像分类,主要过程描述如下:
(1)对每幅图像进行扩展;
(2)对扩展后的每一幅图像进行归一化,然后将所有图像划分为训练集和测试集;
(3)利用训练集训练ACapsNet模型,在每次迭代过程中按照“公式(7)”计算权值更新,判断Δw是否小于阈值,若小于阈值,迭代终止;否则继续训练。阈值默认设置为0.001;
(4)利用测试数据集测试ACapsNet模型对作物病害叶片图像样本的平均识别率。
3 试验环境与结果
在黄瓜病害叶片图像数据集上进行试验,并与2种深度学习方法和2种传统方法进行比较,说明基于ACapsNet的作物病害识别方法的有效性。2种深度学习方法为VGG16[12]和CapsNet[15],2种传统方法为基于显著区域和PHOG(SRPHOG)[8]、基于图像处理技术和人工神经网络(IPANN)[19]。4种方法都是在原始图像及其扩展图像上进行训练和识别的,没有对图像进行增强和病斑分割等预处理。
3.1 试验环境及参数设置
为了验证AcapsNet算法的有效性,试验于2021年5月在IBM服务器上运行,网络模型训练与测试的软件环境为 Win10+CUDA+VS+Anaconda+keras配置GPU,开发环境为Pycharm、CUDA Toolkit10.0、CUDNN V7.6.5、Windows10 64 bit操作系统、Pytorch深度学习框架。网络训练与测试硬件环境为Intel Xeon E5-2643v3 @3.40 GHz CPU;GTX2080TI 11 GB GPU;64 GB内存。学习率过大可能导致AcapsNet易过拟合,采用指数函数衰减学习率进行网络训练,本试验过程中学习率初始化为0001,衰减率设置为0.9,并在训练和测试过程通过GPU加速。批次样本数设置为32,最大迭代次数为3 000。
3.2 数据集
白粉病、霜霉病、炭疽病、细菌性角斑病和斑点病是黄瓜上5种常见的叶部病害。数据集主要使用各种移动设备,如iPhone7、华为P10、索尼wifi控制摄像头和物联网,采集地点在在陕西省宝鸡市农业研究所作物试验基地,采集时间为2018年6—8月,采集的图像分辨率约为4 928×3 264像素,构建1个原始的图像数据集,包含1 000幅在不同场景、不同自然光背景、不同传感器类型、不同图像分辨率下的多样性图像,每一种病害200幅叶片图像。部分作物害蟲图片见图5。从图5可以看出,同类病害叶片图像的形状、颜色、病斑大小、纹理变化多端。所以,采用传统方法很难分割病斑、提取鲁棒性的分类特征。为了更方便查看图像集的处理结果,图像名称统一采用“类型+编号+(扩展角度或剪切).jpg”。
由于所收集的数据集较小,每类病害叶片只有200幅图像,为了增强病害识别方法的泛化能力和避免深度学习模型的过拟合问题,利用旋转、裁剪和缩放等操作,就每幅图像扩充10幅,得到10 000幅图像。1幅图像的10幅扩展图像见图6。将扩展后的图像集制作成TFRecord格式的数据文件。
3.3 结果与分析
ACapsNet采用Adam算法进行整个模型的参数优化,使之可以在增加收敛速度的同时获得最优解,本研究通过梯度的一阶矩和二阶矩更新学习率,初始学习率为1×10-5。作物病害识别识别率是一次测试的样本中正确的数量除以所有样本的数量,平均识别率即所有类别识别率的平均值。主要是对作物的5种病害进行识别,需要输出的为5类分类结果,因此需要将数字胶囊层中的参数进行替换,变为输出为16×5的胶囊,实现胶囊对应到5个类别,从而获取分类结果。在试验前对数据集进行预处理,将每一幅图像大小变换为224×224图像,即根据最长的一边缩小为224的比例做长宽等比例缩小,再剪切一个包含病斑的区域并旋转角度以扩充数据集,背景采用黑色填充。
基于VGG16、CapsNet和ACapsNet等3种作物病害识别方法的训练效果对比见图7。从图7可以看出,与VGG16和CapsNet的训练效果比较,ACapsNet具有较好的鲁棒性,训练经过2 000次迭代后,其损失值降到约0.13,已基本趋于收敛。其原因是ACapsNet利用了注意力机制,有效提高了训练收敛速度。
按7 ∶3比例将扩展后的原始图像及其扩展图像随机划分为训练集和测试集,训练集用于训练模型,测试集用于算法识别。重复进行该试验50次,计算作物病害的平均识别率。从表3可以看出,2种传统方法的识别率很低,主要是由于原始图像很难提取到高鲁棒性的分类特征;3种基于VGG16、CapsNet和ACapsNet等方法的识别率较高,CapsNet的识别率比VGG16高,因为胶囊网络可以通过保留图像特征的位置信息达到提升病斑图像和病害图像识别率的效果;基于ACapsNet方法的识别率最高,因为ACapsNet利用了胶囊网络和注意力机制的优势。结果表明,ACapsNet能够自动提取更具区分性的特征,进一步提高作物病害的识别率,进而能够有效解决人工选择复杂病害叶片图像的特征提取与选择问题。
4 结论
针对传统基于特征提取的作物病害叶片图像分类方法的精度不高且过分依赖人工选择特征的问题,以及现有卷积神经网络对复杂自然背景下作物病害识别率低等问题,提出一种用于作物病害识别的注意力胶囊网络(ACapsNet)。ACapsNet以胶囊网络为基础,通过引入动态路由算法降低网络计算量,以适应深度特征提取网络训练,引入自注意力机制提高网络特征表达与特征提取能力,并降低噪声对网络识别性能的影响。在黄瓜病害叶片图像集上的结果表明,ACapsNet能够应用于作物病害自动识别系统。未来考虑在大规模数据上进行试验,尝试ACapsNet的动态路由算法进行优化,以进一步完善ACapsNet的结构,使其能够更加高效、准确地进行作物病害识别。
参考文献:
[1]李成阳. 黄瓜病虫害检测仪关键技术研究[D]. 银川:宁夏大学,2018.
[2]阮 超. 冬小麦赤霉病和白粉病多尺度遥感监测[D]. 合肥:安徽大学,2019.
[3]丁 莲. 温室黄瓜病害图像识别方法研究及应用[D]. 成都:电子科技大学,2020.
[4]Barbedo J G A.A review on the main challenges in automatic plant disease identification based on visible range images[J]. Biosystems Engineering,2016,144:52-60.
[5]Patil J K,Kumar R.Analysis of content based image retrieval for plant leaf diseases using color,shape and texture features[J]. Engineering in Agriculture,Environment and Food,2017,10(2):69-78.
[6]Singh V,Misra A K.Detection of plant leaf diseases using image segmentation and soft computing techniques[J]. Information Processing in Agriculture,2017,4(1):41-49.
[7]马慧琴. 基于多源数据的小麦白粉病遥感监测与预测模型研究[D]. 南京:南京信息工程大学,2017.
[8]张云龙,张会敏,谢泽奇,等. 基于显著区域和PHOG的黄瓜病害识别方法研究[J]. 江苏农业科学,2018,46(22):246-250.
[9]姚群力,胡 显,雷 宏. 基于多尺度融合特征卷积神经网络的遥感图像飞机目标检测[J]. 测绘学报,2019,48(10):1266-1274.
[10]黄守志. 基于多特征多尺度卷积神经网络的目标检测算法研究[D]. 北京:北京邮电大学,2019.
[11]吕昊宇,方 睿. 基于多尺度融合的卷积神经网络的杂草幼苗识别[J]. 计算机科学与应用,2020(12):2406-2418.
[12]马浚诚,杜克明,郑飞翔,等. 基于卷积神经网络的温室黄瓜病害识别系统[J]. 农业工程学报,2018,34(12):186-192.
[13]孙 俊,谭文军,毛罕平,等. 基于改进卷积神经网络的多种植物叶片病害识别[J]. 农业工程学报,2017,33(19):209-215.
[14]Sabour S,Frosst N,Hinton G E. Dynamic routing between capsules[J/OL]. Neural Information Processing Systems,2017:121-130.(2017-11-07)[2021-03-20].https://proceedings.neurips.cc/paper/2017/file/2cad8fa47bbef282badbb8de5374b894-Paper.pdf#:~:text=Dynamic%20routing%20can%20be%20viewed%20as%20a%20parallel,make%20higher-level%20segmentation%20decisions%20inthe%20domain%20of%20pixels.
[15]Gritsevskiy A,Korablyov M. Capsule networks for low-data transfer learning[J/OL]. Computer Science·ArXiv, 2018. (2018-04-26)[2021-03-20].https://math.mit.edu/research/highschool/primes/materials/2018/Gritsevskiy.pdf.
[16]Tobing E,Murtaza A,Han K,et al. EP-CapsNet:extending capsule network with inception module for electrophoresis binary classification[C]//18th International Conference on Bioinformatics and Bioengineering.Taichung,2018:327-333.
[17]Xiang C Q,Zhang L,Tang Y,et al. MS-CapsNet:a novel multi-scale capsule network[J]. IEEE Signal Processing Letters,2018,25(12):1850-1854.
[18]侯金秀,李 然,鄧红霞,等. 融合通道信息注意力网络的叶片病害识别[J]. 计算机工程与应用,2020,56(23):124-129.
[19]刘 娜,赵 慧,包思圆,等. 基于图像处理的黄瓜叶子病害识别系统的研究[J]. 山东工业技术,2018(5):138.