基于高光谱技术和机器学习的半夏伪品鉴别

2023-11-17 02:25王昌隆路绍军
安徽农业科学 2023年21期
关键词:南星伪品半夏

王昌隆,路绍军

(延安大学物理与电子信息学院,陕西延安 716000)

半夏为天南星科植物半夏的干燥块状根茎,具有化痰止咳、降逆止呕、消痞散结的功效[1-2]。作为临床常用的中药之一,半夏的临床需求量也在日益增加,但是由于产量低,导致了很多不法分子使用水半夏或者南星冒充半夏,其市场价格远远低于半夏,且达不到半夏的药用效果。市面上常售的半夏多以片状居多,半夏、南星、水半夏切片后外观相似,专业人员也很难通过肉眼去区分。目前,半夏鉴别主要有仪器分析法[3-4]和感官评价法[5]。然而这些方法检测步骤烦琐、时效性低、对检测人员的专业要求高。因此,急需开发一种能够快速高效检测出半夏伪品的鉴别方法。

高光谱技术可以同时获得检测对象的光谱信息和空间信息,既可以用来检测物体的外部品质,又可以检测内部品质[6],已经在食品安全[7-11]、生物医学[12-14]、环境检测[15-17]等领域被广泛应用。黄华等[18]采用最小二乘法对白胡椒粉中掺杂不同比例的面粉样品进行近红外高光谱图像判别分析,识别了白胡椒粉末中掺杂的面粉。冯洁等[19]利用高光谱技术结合极限学习机等方法实现了金银花和山银花的鉴别,其训练集和预测集的识别率均为100%。可见,高光谱技术结合机器学习算法在物体鉴别领域具有较高的识别精度。鉴于此,笔者基于高光谱技术和机器学习算法对半夏、水半夏和南星进行鉴别,分析了不同的特征波长提取方法对模型性能的影响,找到了高效、准确的半夏伪品鉴别模型;此外还比较了基于全光谱数据和特征波长光谱数据所建立的模型运行时间。

1 材料与方法

1.1 试验材料试验所用完整半夏、水半夏和南星均从本地药店购买。同时考虑到样品的外形不规则对光谱数据的影响,对半夏、水半夏和南星分别切片,切片时保持切面平整,然后干燥、去除杂质各制备180份,共计540份片状样品。其中部分样品如图1所示。

1.2 试验仪器样本的高光谱图像使用可见-近红外高光谱成像系统采集。该高光谱成像系统(图2)主要由GaiaField v10高光谱成像仪(四川双利合谱公司)、两台50 W卤钨灯、暗箱、计算机组成。GaiaField v10高光谱成像仪的光谱范围为400~1 000 nm;光谱分辨率为4 nm;设定曝光时间1.1 ms;物距20 cm;图像采集速率7.2 mm/s。

图1 样品切片Fig.1 Sample cutting

图2 高光谱成像系统原理 Fig.2 Schematic diagram of hyperspectral imaging system

1.3 光谱数据采集与黑白校正为了避免外部环境的干扰,需要在暗箱中进行高光谱图像的采集,在采集之前,仪器需要预热30 min使光照稳定。且由于存在传感器暗电流以及光照强度分布不均匀的问题,需要按公式(1)计算得到黑白校正后的图像。

(1)

式中:I0为校正前的原始反射光谱图像;W为白板参照图像,采集标定白板获得;B0为全黑图像,盖上镜头盖采集获得;I为校正后的图像。

1.4 感兴趣区域(ROI)的选取在校正后的图像中,利用ENVI 5.3软件在每份样本的中心区域手动选择大小为100像素×100像素的感兴趣区域(region of interest,ROI),将感兴趣区域内的所有像素的光谱数据平均值作为该样本的光谱数据,最后得到一个540×256的数据矩阵(540为样本个数,256为波段数)用于数据分析。

2 光谱数据处理

2.1 光谱数据预处理由高光谱成像系统获得的原始光谱数据中含有试验环境所产生的噪声,这些噪声会影响模型的性能和效率,因此需要对原始光谱数据进行预处理以减小或者消除这些噪声。该研究采用小波变换来对原始光谱数据进行预处理。原始光谱经过小波变换处理后,可以得到低频系数和高频系数,低频系数能够反映光谱曲线的明显形状,高频系数能够反映光谱曲线微小的特征变化和噪声,通过去除高频系数能够减少由试验环境所产生的高频噪音。小波变换中小波基函数和分解尺度的选择将会有不同的效果,该研究设置小波函数Daubechies的正交小波基Db4和分解尺度为7,采用软阈值方法去噪。

2.2 特征波长提取高光谱数据的波段众多,不同波段间的光谱信息大多存在冗余和共线特征,会使模型的复杂度加大。该研究采用主成分分析(PCA)、连续投影算法(SPA)、竞争性自适应重加权算法(CARS)在全光谱中提取特征波长作为分类判别模型的输入,以减少信息冗余和共线性信息的影响。

2.3 分类判别模型为了选出最优的判别模型,采用K-S算法将样本集按照2∶1的比例划分为训练集和测试集之后,基于训练集采用BP、SVM、ELM共3种算法分别建立半夏伪品鉴别模型,使用所建模型鉴别测试集中的样本,通过鉴别准确率评估模型的性能。模型鉴别准确率公式如下:

(2)

式中:E1为某种样本的鉴别正确数量;E为该品种参与鉴别的实际数量;W为鉴别准确率。

经过反复调试,所选算法ELM采用“sigmoidal”作为激活函数,隐含层神经元个数设置为2(N-1),其中N为特征数。BP神经网络设定为单隐含层的3层神经网络,输入层神经元个数由输入变量的个数决定,隐含层神经元个数经过不断调试获得,输出层为1个神经元,BP神经网络的训练函数为Tansig和Purelin,学习函数为Learngdm;迭代次数为1 000次,学习速度为0.1;SVM选择径向基函数(RBF)作为核函数参数,在采用径向基函数时,惩罚因子(c)和核函数参数(g)是2个必须调整的参数,该研究使用遗传算法来寻找最优的c和g,寻优时参数设置为:最大进化代数200,种群数量20,交叉概率0.8,变异概率为0.2。

3 结果与分析

3.1 光谱预处理和原始光谱原始光谱数据一共有256个波段,波长范围400~1 000 nm,由于存在噪声干扰,剔除前15个波段,保留16~256波段(420~1 000 nm)的数据作为该研究所用光谱,共241个波段。

半夏、水半夏、南星共540份样品原始光谱如图3a所示,分别计算半夏、水半夏和南星的平均光谱数据,其平均光谱曲线如图3b所示。在全波段范围内半夏和南星、水半夏的光谱曲线走势一致,在420~490 nm区间半夏的反射率值最大;在620~1 000 nm区间水半夏的反射率值最大,半夏的反射率值最小。利用小波变换预处理后的光谱如图3c所示,对比图3a和3c发现,经过小波变换处理后的光谱曲线与原始光谱曲线在总体变化趋势上保持一致。在420~1 000 nm,3种不同类别样本的曲线走势相似,无法直接通过光谱去区分不同类别的样本,需要进一步建模分析。

注:a.原始光谱;b.平均光谱;c.小波变换预处理后的光谱。Note:a.Original spectra;b.Average spectra;c.Preprocessed spectra by wavelet transform.图3 半夏、水半夏和南星预处理前后的光谱分布 Fig.3 Spectral profiles of Rhizoma ternata and Rhizoma Typhonii Flagelliformis and Rhizome arisaematis before and after preprocess

3.2 特征波长的提取

3.2.1应用PCA提取特征波长。利用PCA进行主成分分析,得到了半夏、水半夏、南星3类样本前10个成分的方差贡献率图(图4)。由图4可知,前2个主成分已经保留了原始光谱信息的98%以上,可以反映主要的原始光谱信息,为尽量减小有效光谱信息丢失的影响,最终选择前10个主成分作为特征变量用作后续模型的输入。

图4 前10个主成分的方差贡献率Fig.4 Variance contribution rate of the top 10 principal components

3.2.2应用SPA提取特征波长。该研究将最大提取波长设定为25,运行SPA算法,根据预测均方根误差(RMSE)最小的原则确定提取的特征变量的个数,图5是预测均方根误差随着提取变量个数的变化情况。由图5可知,当选取15个维度(图中“□”对应的横坐标)时RMSECV处在较小的位置,此时RMSE为0.101 7,表明特征波长包含有原始光谱较多的信息。之后维度虽然增加,但RMSE降幅很小,类似于梯度下降中梯度收敛。原始光谱数据通过SPA降维最终生成了只有15个特征波长的光谱数据。

图5 RMSE值随特征波长数的变化Fig.5 RMSE changed with the number of characteristic wavelengths

3.2.3应用CARS提取特征波长。设置蒙特卡洛采样次数为50,交叉验证的最大潜在变量数为40。图6a表示采样变量数随采样运行次数的变化,可以看出在采样运行次数增加的过程中,采样变量数在减小;在采样前期,变量数下降速度较快,到了后期,变量数量下降速度变慢,表明在变量的筛选过程中存在“精选”和“粗选”2个过程。图6b为RMSECV随着采样次数的变化,在采样次数为25次时RMSECV达到最小值,而之后RMSECV增加,表明剔除了重要的光谱变量。图6c是各变量变化的回归系数的路径,“*”号所对应的位置表示此时RMSECV最小,保留了第25次采样时的变量。CARS算法最终选择了25个特征波长用作后续模型的输入。

3.3 基于全光谱和特征波长的建模分析将模型的输入分别设置为全光谱(FS)和特征波长的光谱数据,建立了基于BP、SVM、ELM的半夏伪品鉴别模型,测试所建模型在训练集和测试集中的鉴别准确率。由表1可知,基于3种特征波长提取方法建立的BP、SVM、ELM模型鉴别准确率均大于95%,具有较高的鉴别准确率,说明可以使用高光谱技术结合机器学习算法实现半夏伪品鉴别。对比3种模型发现,基于全光谱和CARS提取的特征波长建立的BP、SVM和ELM鉴别模型对3种样本的鉴别准确率达到了100%。而基于其他2种特征波长提取方法建立的鉴别模型精度有所下降,且基于SPA方法提取的特征波长建立的鉴别模型的准确率优于PCA方法。同时基于Windows10(64位操作系统),Inter(R)Core i5-7200U@2.50GHZ处理器,利用MATLAB2019a对模型的运行时间还进行了对比。从表2可以看出,基于全光谱建立的鉴别模型的运行时间远长于基于特征波长所建立模型的运行速度。所以在减小计算量同时不减小分类识别精度的情况下,使用CARS算法提取的特征波长作为鉴别模型的输入能够更加快速实现半夏伪品鉴别。

图6 利用CARS提取特征波长的过程Fig.6 The process of extracting characteristic wavelengths by CARS

表1 基于全光谱和特征波长的BP、SVM和ELM模型分类的准确率

表2 基于不同特征波长提取方法建立的ELM模型的运行时间Table 2 Runtime of ELM model based on different characteristic wavelengths extraction methods

4 结论

模型的复杂度分析显示,PCA、SPA、CARS提取的特征波长数分别为10、15和25个,均能有效提取特征波长。比较了采用全光谱和特征波长作为模型输入所建立的BP、SVM、ELM鉴别模型的分类准确率,结果显示在提取特征波长方面,CARS算法效果最优,其中使用全光谱和CARS算法提取的特征波长作为模型输入所建立的BP、SVM和ELM鉴别模型对所有样本的分类准确率达到了100%。最后,比较了基于全光谱和不同方法提取的特征波长建立的ELM模型的运行时间,结果显示基于特征波长建立的ELM模型能够大大减少运行时间,为快速鉴别奠定了基础。因此,使用高光谱技术并结合合适的机器学习算法能够快速高效地鉴别出半夏伪品,为后续开发相关的便携式检测设备奠定了理论基础。

猜你喜欢
南星伪品半夏
不同温度对半夏倒苗的影响
水韵南星渎
冬冲夏草与掺伪品的鉴别研究
近红外光谱技术鉴别白及粉及其混伪品
电子舌技术鉴别川贝母粉及其掺伪品
花开半夏 Let the flower blooming anywhere
应用rbcL条形码鉴别高良姜及其伪品大高良姜
卷卷当道之花开半夏
复方南星止痛膏治疗寒湿瘀阻证336例随机对照研究
半夏泻心汤治疗慢性咳嗽42例