基于小波基特征提取的苹果叶部病害检测算法设计
2024-05-17李亚文赵杰陈月星
李亚文 赵杰 陈月星
摘 要:针对苹果叶部常见病害实现绿色、无损检测,提出了一种基于SVM和小波基特征提取的苹果叶部病害识别算法。该算法通过对苹果叶片图像进行小波变换,提取出小波系数后,进一步执行小波包变换,再提取出具有代表性的小波基特征,根据每个区域的特征参数,得到一组小波基特征向量,然后通过SVM进行模型训练,使用SVM分类器对不同病害进行分类识别。试验结果表明,基于小波基特征提取的苹果叶部病害识别算法,识别常见五种苹果叶部病害准确率较高,可靠性较好,满足实际生产中对苹果叶部病害无损检测的需求,为绿色、智慧果业提供技术支持。
关键词:小波基特征;SVM训练;特征提取;召回率
中图分类号:TP391.41 文献标识码:A 文章编号:1674-0033(2024)02-0026-09
引用格式:李亚文,赵杰,陈月星.基于小波基特征提取的苹果叶部病害检测算法设计[J].商洛学院学报,2024,38(2):26-34.
A Design of Apple Leaf Disease Detection Algorithm
Based on Wavelet Feature Extraction
LI Ya-wen1, ZHAO Jie1, CHEN Yue-xing2
(1.College of Electronic Information and Electrical Engineering of Shangluo University / Shangluo Artificial Intelligence Research Center 726000, Shaanxi; 2.College of Biopharmaceutical and Food Engineering, Shangluo University, Shangluo 726000, Shaanxi)
Abstract: For the green and non-destructive detection of common apple leaf diseases, an apple leaf disease recognition algorithm is proposed based on SVM and wavelet feature extraction. The algorithm performs wavelet transform on the apple leaf image. After extracting the wavelet coefficients, the wavelet packet transform is further performed to extract the representative wavelet basis features. According to the characteristic parameters of each region, a set of wavelet basis feature vectors is obtained. Then, the model is trained by SVM, and the SVM classifier is used to classify and identify different diseases. The experimental results show that the apple leaf disease recognition algorithm based on wavelet feature extraction has high accuracy and good reliability in identifying five common apple leaf diseases, which meets the needs of non-destructive detection of apple leaf diseases in actual production and provides technical support for green and intelligent fruit industry.
Key words: wavelet base characteristics; SVM training; feature extraction; recall rate
蘋果叶部病害的鉴别主要是通过技术人员到现场,根据病株的发病部位、时期、病斑形状和颜色等诊断,存在主观性强、误差大的缺点[1]。随着机器学习和计算机视觉技术的发展,基于图像处理和特征提取的自动化算法被广泛应用于农业研究领域,以实现对苹果病害的自动识别和分类。早期病害图像分类以传统机器学习为主,经过图像预处理、图像分割和特征提取后,再通过特定的机器学习算法训练其对特定特征向量的分类能力,从而达到识别病害图像的目的[2]。近几年,一些研究者利用深度学习的相关算法提高了苹果叶部病害识别的精度,江鹏等[3]提出了利用深度学习中的卷积神经网络(CNN)和SSD检测器,通过对苹果叶片图像进行卷积和检测,提高了病害检测的准确率和鲁棒性,可以有效地识别苹果叶片病害的类型和位置。李鑫然等[4]建立了一种改进Faster R-CNN算法的苹果叶片病害检测模型,在RPN网络中引入空洞卷积和级联ROI池化层,提高苹果叶片病害检测的速度和准确率。潘仁勇等[5]通过利用DTS和ResNet结构,在卷积层之间添加残差连接,加快信息传递和提高特征提取能力。赵嘉威等[6]提出了一种基于改进的YOLOv4算法的苹果叶片病害检测方法,针对网络结构、数据增强和损失函数的改进,实现对苹果叶片病害特征的精准分类和定位。Erveen Kahkashan等[7]提出了一种基于多维注意力机制的CNN模型,在基于多维注意力机制的CNN模型中卷积和池化的基础上,加入了注意力机制,从而更加有效地提取苹果叶片病害的特征参数。本文提出了一种基于SVM和小波基特征提取的苹果叶部病害识别算法,通过提取苹果叶部的小波基特征参数并进行SVM分类训练,实现对苹果常见的五种病害的快速、高效的检测识别。
1 小波基特征
小波特征提取[8]是一种信号处理技术,通过对信号进行小波变换来获取有用的特征信息。其原理是利用小波分析对信号进行多尺度、多分辨率的分解,将信号分解为不同频率的子带,进而从中提取出与应用相关的特征。特征提取是指从数据中提取有用特征的降维或函数映射的过程。特征提取、选择和构造是筛选数据或实例等简约的有效方法,其目标是减少数据量、关注相关数据、提高数据质量。
小波特征提取主要包括5个参数:均值、标准差、方差、水平高频能量和垂直高频能量。
1)均值:表示子带信号中各个采样点的平均值,是描述信号整体趋势的一个指标。对于第j层小波包系数,其均值为:
Meanj=[][N][i=1][ωj,i](1)
式(1)中,ωj,i表示第j层第i个小波包系数,N表示第j层小波包系数的个数。
2)标准差:表示子带信号中各个采样点与均值之间的离散程度,是描述信号波动性的一个指标。对于第j层小波包系数,其标准差为:
SDj=(2)
3)方差:表示子帶信号中各个采样点与均值之间的离散程度的平方,是描述信号波动性的另一个指标。对于第j层小波包系数,其方差为:
Varj=[N][][i=1][(ωj,i-Meanj)2](3)
4)水平高频能量:表示子带信号中水平方向上的高频分量的能量大小,是描述信号在水平方向上的细节特征的一个指标。对于第j层小波包系数,其水平高频能量为:
EH,j=[N][][i=1][ω](4)
式(4)中,ω表示第j层第i个小波包系数,N表示第j层小波包系数的个数。
5)垂直高频能量:表示子带信号中垂直方向上的高频分量的能量大小,是描述信号在垂直方向上的细节特征的一个指标。对于第j层小波包系数,其垂直高频能量为:
EV,j=[N][][i=1][ω](5)
6)对角线高频能量:表示子带信号中对角线方向上的高频分量的能量大小,是描述信号在对角线方向上的细节特征的一个指标。对于第j层小波包系数,其对角线高频能量为:
ED,j=[N][][i=1][ω](6)
式(6)中,ωj,i表示第j层第i个小波包系数,N表示第j层小波包系数的个数。
这些参数可以用于信号处理、特征提取和模式识别等领域,对于理解和分析信号的特征具有重要的意义。
2 支持向量机
SVM是一种基于统计学习和凸优化的方法,可用于模式识别和回归估计[9],它属于机器学习、模式识别和人工神经网络等多个学科,SVM是基于统计学习理论建立的模型,因此它需要大量的训练数据来保证分类器的准确性和鲁棒性。
设置训练样本为xi,i=1,2,…,n,相对应的期望输出为yi={+1,-1},+1和-1分别表示不相同的两个类型。假定分类面的方程为:
wx+b=0(7)
yi(xi+b)-1≥0(8)
可以计算出分类间隔为:
-=(9)
训练目标是最大化分类间隔,使‖w2‖最小化。然后,将最优分类问题变换成以下约束条件下优化问题,就可以得到式(10)的最小值[10-11]。
Φ(w)=‖w2‖(10)
yi(xiw+b)-1≥0(11)
使用拉格朗日乘子的方法,可以进行相应的转换。
[l][][i=1][aiyi(xiw+b)+][l][][i=1][ai][L=‖w‖2-](12)
[*][ai]{[xiw+b]yi-1}=0(13)
对于大多数的样本,[*][ai]取0,而对取值不是0的[*][ai],yi(xiw+b)-1≥0等号成立,这些样本称为支持向量(Support Vector)。
3 算法实现
3.1 算法实现技术方案
本算法以苹果叶部5种病害为研究对象,建立采集苹果叶部病害数据集,对图像经过前期预处理,针对预处理后的5种苹果叶部病害图像数据集,使用小波包变换进行图像特征提取,并通过特征选择算法筛选出最能表征这5种叶部病害的特征向量,然后利用训练集的特征向量和对应的病害标签训练SVM分类器,并将其应用于测试集中的叶片图像分类,算法实现的具体技术路线如图1所示。
3.2 数据采集和环境搭建
本研究使用的苹果叶部病害图像数据集来源于飞桨数据集(https://aistudio.baidu.com/aistudio/datasetdetail/11591/0),选取其中1 000张图片作为测试集,其中包括:花叶病216张图像(如图2)、锈病190张图像(如图3)、灰斑病192张图像(如图4)、斑点落叶病210张图像(如图5)、褐斑病192张图像(如图6)等,以5种苹果病害叶部作为训练样本,训练集用来训练模型,验证集用来调整模型的超参数(如学习率、正则化强度等),测试集用来评估模型的泛化能力。
算法模型训练试验环境设置如表1所示,试验中深度学习框架是由Pytorch平台搭建。
表1 算法模型训练试验环境
3.3 小波基特征提取
试验中定义了一个函数(extract_features)来从图像中提取特征[12-13]。该函数通过执行小波分解(具体使用db2小波,分解级别为2)来提取纹理特征中的统计特征,然后将得到的所有系数串联成一个特征向量。
运用小波基特征提取方法时,使用Python编程语言的学习库(scikit-learn库)。调用 extract_features函数对图像进行纹理特征提取,使用选定的小波基函数db2对信号进行小波变换,得到小波系数,从小波系数中提取小波包特征使用小波包分解方法,计算每个小波包子带的能量、熵、标准差等特征,将其作为特征向量,并将结果存储在feature变量中。先提取数据集1 000张图像的小波系数,再计算小波包特征的均值、标准差、方差、水平高频能量、垂直高频能量和对角线高频能量,表2中展示20张样本测试的小波特征数据值。
4 试验测试与结果分析
4.1 参数指标
准确率(precision)、召回率(recall)和F1值是用于评估二分类问题模型性能的常用指标[14],与SVM模型的训练和评估密切相关。准确率是指模型正确分类的样本数与总样本数之比。准确率高表示模型的分类精度高,但无法反映模型的分类能力在正例和负例两个类别上的表现。TP表示真正例(分类器将正例正确分类为正例的样本数),TN表示真负例(分类器将负例正确分类为负例的样本数),FP表示假正例(分类器将负例错误分类为正例的样本数),FN表示假负例(分类器将正例错误分类为负例的样本数)。
准确率代表分类器正确分类的正例占所有分类为正例的样本数的比例:
Precision=(14)
召回率是指模型能够正确识别正例样本的能力,即模型对于所有真实正例中识别出的正例样本的比例[15]。召回率高说明模型能够覆盖较多的正例样本,但无法保证对负例样本的分类效果。召回率代表真实正例中被分类器正确分类的比例:
Recall=(15)
F1值综合考虑了准确率和召回率,是一个综合评价指标[16]。在SVM中,F1值由精度和召回率的调和平均数得到。F1值越高说明模型的分类效果越好,在正例和负例两个类别上的表现都较好。
F1值将准确率和召回率进行平均,是综合评价分类器性能的指标:
F1-score=(16)
精确率代表分类器正确分类的比例:
Accuracy=(17)
4.2 試验测试的结果与分析
通过小波基特征提取训练样本后,送入SVM中进行分类训练,SVM的核心思想是寻找一个最优的决策边界或者超平面,将数据点分为两个不同的类别,并具有优秀的泛化性能,使用测试集来评估训练好的模型,计算出分类精度,试验中计算了测试集样本精度的核心指标参数准确率、召回率和F1值等,测试样本精度如表3所示。
归纳分析苹果叶部病害中:花叶病、锈病、灰斑病、斑点落叶病和褐斑病样本测试的核心指标参数:准确率(precision)、召回率(recall)和F1值,检测结果如表4所示。
表4 苹果叶部病害检测结果
分析表4可知,锈病的准确率、召回率和F1值均较高,说明模型对苹果锈病的检测效果较好;苹果褐斑病的准确率、召回率和F1值也较高,但相比于锈病还是稍微有所退步;苹果花叶病的准确率、召回率和F1值较低,说明模型对苹果花叶病的识别效果较差,需要进一步优化算法或增加样本量;苹果灰斑病和苹果斑点落叶病的准确率、召回率和F1值都处于中等水平,但相对来说还是比苹果花叶病的检测效果好。
试验结果显示,该算法在苹果叶部病害识别方面取得了较好的效果,分类报告则提供了更详细的信息,包括每个类别的准确率(precision)、召回率(recall)和F1值,准确率反映了模型分类正确的比例;召回率反映了模型对真实样本的分类能力;F1值综合了准确率和召回率两个指标,可作为评价模型综合性能的重要指标。
5 结语
本文设计了一种基于小波基特征提取的苹果叶部病害识别算法,该算法基于采集到的苹果叶部图像,通过小波变换得到小波基特征,然后使用SVM分类器对不同病害进行分类识别。使用小波变换对每个区域进行特征提取,得到一组小波基特征向量。利用支持向量机(SVM)对特征向量进行分类训练。本研究表明,该算法利用小波变换对图像进行特征提取,具有更好的非线性逼近能力和更高的分类准确率。该算法在识别不同病害方面具有较高的准确率和鲁棒性,为智慧农业的推广提供了一种快速、准确、可靠的绿色无损病害检测方法,同时也为苹果叶部病害分类等相关领域的研究提供了新的思路和方法。
参考文献:
[1] 王远志,施子珍,张艳红.改进的Faster R-CNN用于苹果叶部病害检测[J].安庆师范大学学报(自然科学版),2022,28(2):26-30.
[2] 党荣辉,宁纪锋.基于MATLAB的陕西苹果叶片病害识别研究[J].农村科学实验,2017(2):116-118.
[3] 江鹏,陈跃翰.基于SSD苹果叶片病害检测方法[J].电子技术与软件工程,2019(10):56.
[4] 李鑫然,李书琴,刘斌.基于改进Faster R_CNN的苹果叶片病害检测模型[J].计算机工程,2021,47(11):298-304.
[5] 潘仁勇,张欣,陈孝玉龙,等.基于DTS-ResNet的苹果叶片病害识别方法[J].国外电子测量技术,2022,41(9):142-148.
[6] 赵嘉威,田光兆,邱畅,等.基于改进YOLOv4算法的苹果叶片病害检测方法[J].江苏农业科学,2023,51(9):193-199.
[7] PERVEEN K, KUMAR S, KANSAL S, et al. Multidimensional attention-based CNN model for identifying apple leaf disease[J].Journal of Food Quality,2023,2023:1-12.
[8] YAN Q, YANG B H, WANG W Y, et al. Apple leaf diseases recognition based on an improved convolutional neural network[J].Sensors,2020,20(12):256-274.
[9] 张颖,马承泽,杨平,等.基于小波变换和改进PCA的人脸特征提取算法[J].吉林大学学报(理学版),2021,59(6):1499-1503.
[10] 王晓柱,钮赛赛,张凯,等.基于小波变换与特征提取的红外弱小目标图像融合[J].西北工业大学学报,2020,38(4):723-732.
[11] 王云露.基于深度迁移学习的苹果病害识别方法研究[D].泰安:山东农业大学,2022:9-11.
[12] 杨春艳,陈英,刘飞,等.苹果叶部病害的傅里叶变换红外光谱鉴别研究[J].河南农业科学,2017,46(6):156-160.
[13] 晁晓菲.基于深度学习的常见苹果叶片病害识别与病斑分割方法研究[D].杨凌:西北农林科技大学,2021:13-15.
[14] 金海彬,吕志贤,侯木舟,等.基于特征融合与SVM的内镜图像分类算法研究[J].中北大学学报(自然科学版),2023,44(1):86-96.
[15] 于雪莹,高继勇,王首程,等.基于生成对抗网络和混合注意力机制残差网络的苹果病害识别[J].中国农机化学报,2022,43(6):166-174.
[16] 姜红花,杨祥海,丁睿柔,等.基于改进ResNet18的苹果叶部病害多分类算法研究[J].农业机械学报,2023,54(4):295-303.