可见/近红外光谱结合GWO-SVM对千禧番茄的分类鉴别
2022-10-09王新月崔夏华曹炜桦张晓东张亚坤
张 伏,王新月,崔夏华,曹炜桦,张晓东,张亚坤
1.江苏大学现代农业装备与技术教育部重点实验室, 江苏 镇江 212013 2.河南科技大学农业装备工程学院,河南 洛阳 471003 3.机械装备先进制造河南省协同创新中心,河南 洛阳 471003
引 言
千禧番茄富含番茄红素、VC、可溶性固形物、果糖、葡萄糖、柠檬酸、苹果酸和氨基酸等丰富营养物质,不同千禧番茄品种其营养物质含量具有明显差异[1-4],如何实现千禧番茄的快速准确分类,对筛选综合营养价值高的千禧番茄品种具有重要的研究意义和价值。
随着可见-近红外光谱、高光谱、图像处理等技术在品种分类上应用,快速和分类准确率是关键评价指标之一。Marcos等[5]基于带描述符的RGB颜色模型对番茄模糊分类,重点优化颜色空间的描述符,分类预测结果准确率较高。Harvey等[6]利用人工蜂群算法训练的人工神经网络(artificial neural network,ANN)分类器对番茄自动分类,分类准确率98.19%。周云成等[7]基于深度卷积网络对番茄分类,分类准确率为81.64%。耿磊等[8]提出EBn-Net分类模型对7种苹果品种分类鉴别,平均分类准确率为96.78%。李鸿强等[9]基于高光谱建立微型种薯的分类检测方法,通过线性判别分析、BP(back propagation)神经网络和支持向量机建立分类模型,模型平均分类准确率为89.75%。赵杰文等[10]基于近红外光谱对不同品种苹果进行分类,以径向基函数为内核建立支持向量机分类模型,通过对比不同预处理方法的分类效果,最终确定惩罚系数c和正则化系数γ的取值,分类准确率为100%。
目前,灰狼优化算法作为一种高效的群体智能优化算法,已被证明其稳定性和求解精度明显优于粒子群优化算法(particle swarm optimization,PSO)、万有引力优化算法(gravitational search algorithm,GSA)等[12],因而被广泛用于求解复杂问题。其通过模拟灰狼群体捕食行为,基于狼群群体协作的机制达到优化的目的,因具有良好的性能引起了学者的广泛关注[11]。孙俊等[12]基于迭代保留信息变量法选取特征变量,以RBF径向基函数作为支持向量回归机(support vector regression,SVR)的核函数,并用灰狼算法优化SVR的惩罚因子c和核函数参数g,用优化后的参数c和g建立SVR回归模型对番茄叶片含水率检测,结果表明经灰狼算法寻优后,模型过拟合效果得到有效改善。安娟华等[13]用高斯函数作为支持向量机的核函数,并采用灰狼算法和粒子群算法分别对支持向量机的惩罚因子c和高斯核函数参数σ优化,结果表明建立的GWO-SVM模型对小麦籽粒优劣分级的准确率和速率均明显优于PSO-SVM。武新燕等[14]对近红外光谱的变量筛选应用灰狼算法,为玉米内部成分含量测定建立了GWO-PLS模型,预测均方根误差降低了40%,提高了预测准确率。灰狼优化算法设置参数少、算法简单、鲁棒性强,且运行结果准确度高,收敛速度快,广泛用于农产品的分类,但利用灰狼优化算法对千禧番茄品种分类鲜见报道。基于此,利用可见-近红外光谱对千禧番茄进行分类研究,以RBF径向基函数作为支持向量机的核函数,采用灰狼算法优化支持向量机参数,以期提高支持向量机分类性能,获得较佳的分类效果,为千禧番茄的分类研究提供新方法。
1 实验部分
1.1 材料
千禧番茄样本采自河南省洛阳市孟津县的某采摘园,包括成熟且颜色相近的四个品种改良千禧番茄,分别标号为类别1、类别2、类别3和类别4,如图1,每个品种各有60个,共240个千禧番茄样本。
图1 千禧番茄样本
1.2 仪器与设备
可见-近红外光谱采集系统主要包括微型光纤光谱仪(USB4000-VIS-NIR-ES,Ocean Optics,USA)、光学光纤(SMA 905-VISNIR,Ocean Optics,USA)、光源(HL-2000,Ocean Optics,USA)和计算机等,如图2。光谱仪的扫描范围是350~1 000 nm,光学分辨率为1.5~2.3 nm FWHM。利用光谱仪配套的Spectrasuite软件获取并处理可见-近红外光谱数据。数据分析软件为The Unscrambler X10.4,Excel 2019,Origin 2018,Matlab 2016b。
图2 光谱采集系统
1.3 光谱采集
可见-近红外光谱仪预热30 min后采集暗光谱和参考光谱校正,为避免杂光干扰,黑暗环境中测量;在不损坏样本情况下,光纤探头紧贴样本表面,每个果实测量最大横径处两个点的光谱反射强度(如图3所示),即每个果实有二组数据,取这二组数据的平均值作为该果实的光谱反射强度测试值。
图3 采集位置示意图
采集后通过Spectrasuite软件将光谱数据导入计算机进行分析,处理后得到345.89~1 040.49 nm波长范围的平均光谱反射强度曲线,通过式(1)得到千禧番茄反射率,如图4。为提高光谱测量精度,增强光谱信噪比,剔除345.89~480.94和800.21~1 040.49 nm两段噪声较大的光谱,即实际有效波长范围是481.15~800.03 nm。
图4 千禧番茄样本平均反射率曲线图
(1)
式(1)中,R为果实反射率,I为果实反射强度,IAN为暗光谱,ICK为参考光谱。
测量过程中,每隔10 min采集一次暗光谱和参考光谱重新校正,以确保测量准确性。另外,在试验操作过程中,操作人员穿深色衣服,有助于最大限度地减少操作员衣服反射光线干扰。
1.4 建模方法和模型评价标准
连续投影算法(successive projections algorithm,SPA)是一种提取特征变量方法,可实现对原始数据降维处理;支持向量机(support vector machine,SVM)用于定性分类和预测,通过对训练集样本训练,调整参数所得SVM模型对测试集数据进行预测,采用投票方式实现样本分类[15],采用性能较稳定的RBF径向基函数作为SVM核函数,其中,惩罚因子c和核函数参数g为两个重要的参数;灰狼优化算法(grey wolf optimization,GWO)模拟自然界中灰狼群体的社会等级制度与狩猎行为的新型群体智能优化算法,主要通过灰狼群体搜索、包围、追踪和攻击猎物等过程以达到优化搜索的目的[16],灰狼算法通过搜索最优参数c和g优化支持向量机模型。
光谱数据预处理后,将去噪后的481.15~800.03 nm波段范围内的数据提取特征波长作为模型输入变量,四种不同的千禧番茄类别作为模型输出变量建立SVM定性分类模型,发现分类效果较差,于是采用GWO来寻找SVM的最优参数c和g,设置狼群数量、最大迭代次数和参数范围后,初始化α,β和δ狼的位置及目标函数值,按照α,β和δ的等级排序后,对训练集样本进行训练,建立不同品种千禧番茄的预测分类模型,通过分类准确率(accuracy)评价模型的性能。
2 结果与讨论
2.1 训练集与测试集的划分
综合分析了本次采样千禧番茄品种的代表性,同时又考虑到构建模型的稳定性和普适性,将采样得到的240个样本按照2∶1的比例划分为训练集和测试集,如表1,以此计算分析训练集和测试集平均分类准确率(accuracy)。
表1 样本划分结果
2.2 光谱数据预处理
由于光谱探测器获得的光谱数据除含被测样本待测成分信息外,还容易受到杂散光、基线漂移、噪声、样本背景等无关信息的干扰,从而影响建模效果[17],故在建立模型前先对光谱数据预处理,以此降低各种非目标因素对检测信息的影响,以期提高模型精度,建立更稳定可靠的数学模型。
选择S-G平滑法(Savitzky-Golay smoothing)对光谱数据预处理,平滑点数为3,所使用的数据处理软件是The Unscrambler X 10.4,经过S-G平滑法预处理后的光谱平均反射率曲线图,如图5。
图5 预处理后的光谱平均反射率曲线图
2.3 模型分析
2.3.1 连续投影算法
预处理后的光谱数据从481.15~800.03 nm波段范围内共1 621个波长变量,数据维数过高,冗余信息过多,运行时间过长,直接建立模型会影响分类效果[18],所以需对经过S-G平滑预处理后的数据提取特征进行降维;因连续投影算法筛选出的特征波长数目较少,且优选出的波长建立模型预测效果较好[19],故采用连续投影算法提取特征波长,建立千禧番茄分类模型。根据均方根误差(RMSE)最小原则,共优选出11个波长变量,如图6(a)所示,分别是第56,198,427,951,1 129,1 195,1 228,1 264,1 350,1 559和1 618个变量,即对应492.54,521.78,568.42,672.55,707.07,719.75,726.06,732.94,749.28,788.52和799.47 nm处的波长,如图6(b)所示。
图6 连续投影算法提取特征波长
2.3.2 支持向量机
使用支持向量机分类器将SPA算法提取的11个特征波长作为输入变量建立SPA-SVM模型,训练集和测试集每个千禧番茄品种的预测正确数目分别如表2和表3,预测分类结果分别如图7和图8。
表2 训练集分类结果
根据表2和图7,训练集样本每个类别有40个共160个,其中类别1预测正确数目为34,预测准确率为85%;类别2预测正确数目为20,预测准确率为50%;类别3预测正确数目为26,预测准确率为65%;类别4预测正确数目为15,预测准确率为37.5%。由表3和图8,测试集样本每个类别有20个共80个,其中类别1预测正确数目为17,预测准确率为85%;类别2预测正确数目为14,预测准确率为70%;类别3预测正确数目为8,预测准确率为40%;类别4预测正确数目为5,预测准确率为25%。
图7 训练集分类结果
图8 测试集分类结果
表3 测试集分类结果
综上,训练集的平均分类准确率为59.38%,测试集的平均分类准确率为48.75%,结果表明支持向量机模型对千禧番茄品种的分类效果差。
2.3.3 GWO优化SVM
采用灰狼优化算法优化上述支持向量机的参数c和g,建立SPA-GWO-SVM模型对千禧番茄分类预测,灰狼优化算法所用公式如式(2)—式(10)。
灰狼个体与猎物的距离
D=|CP(n)-W(n)|
(2)
灰狼个体的位置更新
W(n+1)=P(n)-AD
(3)
α狼与其他灰狼个体的距离
Dα=|C1Wα(n)-W(n)|
(4)
β狼与其他灰狼个体的距离
Dβ=|C2Wβ(n)-W(n)|
(5)
δ狼与其他灰狼个体的距离
Dδ=|C3Wδ(n)-W(n)|
(6)
ω狼向α狼移动
W1=Wα(n)-A1Dα
(7)
ω狼向β狼移动
W2=Wβ(n)-A2Dβ
(8)
ω狼向δ狼移动
W3=Wδ(n)-A3Dδ
(9)
ω狼的最终位置
W(n+1)=(W1+W2+W3)/3
(10)
其中,W表示当前灰狼的位置;P表示猎物的位置;n表示当前迭代次数;N表示最大迭代次数;D表示灰狼个体与猎物的距离;A和C是系数向量,A=2ab1-a,C=2b2;a是收敛因子,a=2-2n/N;b1和b2是[0, 1]内的随机数向量。
灰狼算法调优步骤如下:
Step 1 初始化灰狼α,β,δ位置;
Step 2 计算灰狼个体适应度值;
Step 3 比较灰狼个体适应度值,找到最优解、次优解、第三优解并分别保存位置到Wα,Wβ和Wδ;
Step 4 计算a,A,C值;
Step 5 根据式(1)—式(9)更新灰狼位置;
Step 6 判断是否达到最大迭代次数,若是则输出α位置即为所优化参数的最优解;若否则转到Step 2。
经灰狼算法优化后的支持向量机参数如表4所示。
表4 经灰狼算法寻优的支持向量机参数
训练集和测试集每个千禧番茄品种的预测正确数目分别见表5和表6,预测分类结果分别见图9和图10。
表5 训练集分类结果
根据表5和图9,训练集样本每个类别有40个共160个,四个品种全部预测正确。由表6和图10,测试集样本每个类别有20个共80个,其中类别1预测正确数目为19,预测准确率为95%;类别2预测正确数目为17,预测准确率为85%;类别3预测正确数目为12,预测准确率为60%;类别4预测正确数目为17,预测准确率为85%。
表6 测试集分类结果
图9 训练集分类结果
图10 测试集分类结果
综上,训练集平均分类准确率均为100%,较支持向量机模型准确率提高了40.62%,测试集的平均分类准确率为81.25%,较支持向量机模型准确率提高了32.50%,结果表明经过灰狼算法优化的支持向量机模型较未优化支持向量机模型准确率有明显提高,对千禧番茄品种具有较好的分类效果。
使用SPA算法对S-G平滑处理后的光谱数据提取11个特征波长(492.54,521.78,568.42,672.55,707.07,719.75,726.06,732.94,749.28,788.52和799.47 nm)作为模型输入变量分别建立SPA-SVM模型和SPA-GWO-SVM模型对四个品种千禧番茄分类,训练集和测试集分类准确率对比图分别如图11和图12。分析可得,不论是训练集还是测试集,每个品种优化后的SPA-GWO-SVM模型分类准确率均明显提高,其中类别2和类别4分类准确率差异最为显著,这说明灰狼优化算法对支持向量机参数寻优效果较好,可实现对千禧番茄品种的分类。
图11 训练集准确率对比
图12 测试集准确率对比
3 结 论
为筛选风味佳且综合营养价值高的千禧番茄品种,实现千禧番茄的快速准确分类,对4种不同品种千禧番茄的分类开展了试验和分析。
(1)利用S-G平滑法对所采集的光谱数据作平滑去噪预处理,确定481.15~800.03 nm波段的光谱数据为有效光谱;
(2)采用连续投影算法对预处理后的样本降维,得到11个特征变量,分别是492.54,521.78,568.42,672.55,707.07,719.75,726.06,732.94,749.28,788.52和799.47 nm;
(3)SPA提取的特征波长作为输入变量建立支持向量机模型,训练集共160个样本,预测正确数目为95,预测平均分类准确率为59.38%;测试集共80个样本,预测正确数目为39,预测平均分类准确率为48.75%;
(4)用灰狼算法寻找最优支持向量机参数c和g,并用优化的支持向量机分类模型对训练集样本训练,训练集的最优参数为c=56.888 3和g=36.971 1,四种样本的平均分类准确率为100%,较支持向量机模型准确率提高了40.62%;测试集平均分类准确率为81.25%,较支持向量机模型准确率提高了32.50%。
研究结果表明经灰狼算法优化可明显提高支持向量机的分类性能,实现千禧番茄快速准确分类,为千禧番茄及其他果蔬准确分类提供了新思路和方法。