蔡 娣,路 阳,林立媛,杜娇娇,管 闯
(1.黑龙江八一农垦大学 信息与电气工程学院,黑龙江 大庆 163319;2.东北石油大学 黑龙江省网络化与智能控制重点实验室,黑龙江 大庆 163318)
水稻是我国第二大粮食作物。2019年水稻播种面积约为4.45亿亩,占粮食种植面积的25.27%[1],水稻产量超过2亿吨。但水稻病害对我国水稻高产和稳产造成重大威胁,其中稻瘟病是流行最广、影响最大的病害之一。20世纪90年代开始,稻瘟病发生面积每年约为380万亩[2],给种植户造成巨大的损失。水稻稻瘟病分为:慢性、急性、褐点和白点型4种类型[2]。从目前水稻种植经验可看出,水稻早期病害的防治极其容易被忽略,一方面是由于农民的防治意识和力度不够,而另一方面是在病害发生初期,由于水稻叶片纹理复杂多变,差异性极难判断,以及对初期病斑的诊断失误都会引起后期大范围的发病。若能及时发现水稻稻瘟病的早期病害并实施有针对性的措施,就可减少稻瘟病的发生。因此,准确识别水稻的早期稻瘟病具有重要的现实意义。
目前,水稻稻瘟病的早期识别主要依靠传统的模式识别和数字图像处理技术。这种传统的识别方法主要包括图像预处理,提取特征和识别病害3个关键步骤。首先通过主成分分析[3]等方法对原始图像进行降维,然后通过数字图像处理技术进行纹理、颜色和形状等特征提取[4]。最后利用支持向量机等分类方法依据提取的特征进行分类识别[5]。
随着人工智能技术的发展,Geoffery等[6]提出一种深度“自动编码器”网络用于学习高维数据的低维特征表达。Yann等[7]提出稀疏自动编码器模型,进一步拓展了自动编码器的研究与应用。谢林等[8]将稀疏自动编码技术(SAE:Sparse Automatic Encoder)应用于15类场景数据集进行图像表示并使用SVM(Support Vector Machine)识别,证明了SAE的有效性;赵玉兰等[9]设计一种稀疏编码和机器学习相融合,通过稀疏编码算法确定特征的权值可精确描述多姿态人脸识别特征;汤芳[10]等应用稀疏自编码神经网络提取滚动轴承的信号特征并进行故障诊断。深度神经网络被广泛应用于图像分类、语音识别、故障诊断等领域中,取得了显著成果,但其在植物保护相关领域的应用却非常有限。以上研究的开展为将自动编码器应用于水稻病害早期诊断识别提供了参考和可行性依据。
笔者将构建稀疏自动编码器和交换粒子群优化支持向量机融合的深度神经网络,通过编码、解码学习水稻病害样本更高层的隐含特征,然后应用交换粒子群优化的支持向量机对水稻稻瘟病类型识别。具体研究过程包括SAE-SPSO-SVM(Sparse Automatic Encoder-Switching Particle Swarm Optimization Support Vector Machine-Support Vector Machine)模型构建、交换粒子群优化SVM算法实现及验证、模型性能对比与分析等。
1.1稀疏自动编码器
笔者通过SAE对复杂背景下的水稻稻瘟病叶部病害进行特征提取,依据田间环境下早期叶部稻瘟病图像的特点,建立一种SAE-SPSO-SVM模型进行田间叶部稻瘟病图像的识别,框架结构如图1所示。
图1 SAE-SPSO-SVM识别稻瘟病框架结构图Fig.1 Frame structure diagram of rice blast identification based on SAE-SPSO-SVM
自动编码器(AE:Auto Encoder)是由1个输入层、1个隐含层和1个输出层构成的对称神经网络[11],如图2所示。
图2自动编码器结构图Fig.2 Structure diagram of automatic encoder
假设获得了输入层向量xn,可通过参数W和b得到隐藏层特征h,这部分的网络也称之为编码器,编码器对输入数据进行编码;之后,可利用参数W′和b′映射到输出层以得到重建向量y,这部分网络称为解码器,解码器重构输入数据。编码和解码的实现过程可描述为
h=f(Wxn+b)
(1)
y=g(W′h+b′)
(2)
其中f和g分别为编码和解码阶段的神经元激活函数,笔者选用ReLu函数。W、W′和b、b′分别表示编码、解码阶段的权重和偏置系数。当xn和y的重构误差cost足够小时,得到的y即为xn的隐层特征。
当y(i)=x(i)时,称之为稀疏自动编码。为保证隐含层的稀疏性,在自动编码器的代价方程引入稀疏性惩罚项,总体代价函数如下
Jsparse(W,b)=J(W,b)+β
(3)
为实现稀疏性约束,需要向损失函数中添加额外的稀疏性惩罚项,并使用超参数β控制其在损失函数中所占比重,添加过稀疏性约束的损失函数形式如下
(4)
(5)
交换粒子群优化算法(SPSO:Switching Particle Swarm Optimization)通过在标准粒子群优化算法中引入交换概率进行粒子速度更新。具有马尔可夫交换参数的模式独立的速度更新参数被引入到普通粒子群速度更新公式中,缓解了全局搜索与局部搜索之间的矛盾。即在早期搜索阶段,粒子群中的粒子应该保持它的独立性和种群多样性,帮助扩大搜索范围,避免早熟收敛到局部极值。在搜索的后期,所有的粒子将收敛到最佳位置,从而获得更精确的解。SPSO具体算法描述请参考文献[12-14]。交换粒子群算法优化SVM参数流程如图3所示。
图3 交换粒子群算法优化SVM参数流程Fig.3 The flowchart of SVM parameter optimization by switching particle swarm optimization algorithm
SAE-SPSO-SVM网络模型的训练通过逐层无监督贪婪预训练和反向有监督微调两个步骤实现,以确定各层神经元之间的权重系数。为保证深度神经网络的整体性能,通过有监督训练对网络参数进行全局微调。完整的训练算法流程如图4所示。
图4 训练算法流程图Fig.4 Flow chart of training algorithm
根据早期叶部稻瘟病的发病规律,在病害症状较为显著时在水稻植株叶片上采集样本。采集时间为2020年6月-2020年9月,采集地点位于黑龙江省齐齐哈尔市哈拉海农场水稻生产区(123.58°、47.71°)。利用苹果手机iPhone X(主摄像头双1 200万像素)垂直拍摄叶片样本,拍摄距离约10~15 cm,拍摄时叶片展平,没有重叠,保证病斑颜色、形状清晰。共采集原始图像3 320幅:其中白点型613幅、褐点型649幅、急性型786幅、慢性型932,健康型340幅。1 520幅从病害数据库(https:∥www.kaggle.com/minhhuy2810/rice-diseases-image-dataset)获取。采集原始图像如图5所示。
图5 田间自然环境下的水稻稻瘟病图像Fig.5 Image of rice blast in field natural environment
由于在采集过程中受光照影响,部分叶片存在光照不均匀现象,在进行特征提取前,笔者针对光照不均匀问题,采用Retinex增强方法进行处理[15],效果如图6所示。
图6 水稻稻瘟病校正图像Fig.6 Correction image of rice blast
在不同的学习率和不同的隐含层神经元数目条件下,测试了SAE-SPSO-SVM模型的识别精度,此时SPSO和SVM采用随机初始值,结果如表1所示。经过多次试验验证,当SAE的学习率为0.4时,隐含层神经元数目为100时,网络性能达到最佳。
表1 不同隐含层神经元个数的识别性能Tab.1 Recognition performance under different number of hidden layer neurons
初始种群数和两个学习因子是交换粒子群优化算法的重要参数。选用常见的Sphere函数作为SPSO算法性能测试函数。设置最大迭代次数300,惯性权重参数为0.6,在初始种群分别为20,40,60,80,100条件下,选取3组学习因子作对比实验,优化性能指标如图7所示。从图7中可以看出,当学习因子c1为1.6,c2为1.8,初始种群为80时,Sphere函数优化性能指标最好。因此SPSO参数设置为,初始种群为80,惯性权重为0.9,最大迭代次数为300,学习因子c1为1.6,c2为1.8。
图7 SPSO优化算法在不同参数下的性能分析Fig.7 Performance analysis of SPSO optimization algorithm under different parameters
采用网格搜索法比较SVM惩罚参数C和核函数参数g不同组合下的识别精度。惩罚因子C和核函数参数g都以0.1作为搜索步长遍历网格中的所有点,选择识别精度最高时的C值和g值作为SVM模型的最优参数,如表2所示。从表2中可以看出,当C=2.8,g=50时,支持向量机对4种类型水稻稻瘟病叶部病害和健康叶片的识别效果最好。
表2 参数C=2.8和g=50条件下4类水稻叶部病害及健康叶片的识别结果Tab.2 Identification results of four types of rice leaf diseases and healthy leaves
水稻稻瘟病分为白点、急性、慢性、褐点型4种,分别用0、1、2、3表示对应的类别标签,健康叶片对应的类别标签为5。从每类350个样本数据集中随机选择80%,即每类280个样本,共1 400个作为训练集,其余20%,即每类70个样本,共350个作为测试集。使用上述确定的最优参数训练SAE-SPSO-SVM模型,并分别选用PSO优化的支持向量机和未优化的支持向量机模型做对比分析,学习收敛曲线如图8所示,从图8中可看出,SAE-SPSO-SVM收敛最快。3种不同模型识别结果如表3所示,从表3中可看出,交换粒子群算法优化后的支持向量机识别率达到了95.7%,取得了较好的识别效果。
图8 不同模型收敛曲线对比分析Fig.8 Comparative analysis of convergence curves of different models
表3 不同模型识别率对比分析Tab.3 Comparative analysis of recognition rates of different models
笔者针对传统模式识别方法在识别水稻叶部稻瘟病4种类型病害时主观性强,不能及早诊断问题,提出将SAE和SPSO-SVM相结合,构建深层神经网络模型对水稻叶部稻瘟病早期病害进行识别。研究了稀疏自动编码器编码、解码学习病斑的高层隐含特征。通过实验确定了交换粒子群算法的参数,并使用交换群算法优化了支持向量机惩罚因子和核函数参数。通过Kaggle水稻病害图像和实际采集的水稻稻瘟病图像数据集验证了提出方法的有效性。但笔者的研究仍然存在模型比较简单,没有结合病斑精准标注等不足,后续研究将在优化模型结构和学习方法,结合病斑精准标注,推进水稻病害移动诊断研究和应用。