基于高光谱技术的三七不同部位粉末的无损鉴别
姚坤杉1, 孙俊1,*, 陈晨2, 徐敏1, 程介虹1, 周鑫1
1.江苏大学电气信息工程学院, 江苏 镇江 212013
2.江苏科技大学经济管理学院, 江苏 镇江 212100
*通讯作者 e-mail: sun2000jun@sina.com

作者简介: 姚坤杉, 1994年生,江苏大学电气信息工程学院博士研究生 e-mail: 825156446@qq.com

摘要

三七是一种传统的中药材, 具有较高的药用价值。 目前市场上中药售假的现象屡见不鲜, 许多不法商贩将三七支根或剪口粉末假冒主根粉末销售, 严重损害了消费者的利益。 利用高光谱技术结合多元分析方法实现三七不同部位粉末的快速无损鉴别。 通过高光谱成像系统分别采集了三七剪口、 须根和主根粉末在400~1 000 nm范围内的高光谱图像, 共300个样本。 采用Savitzky-Golay(SG)平滑结合标准变量变换(SNV)的方法对高光谱数据进行去噪和消除因散射引起的光谱差异。 为了移除光谱变量中的重迭和冗余信息, 利用竞争自适应重加权采样(CARS)算法和本文提出的一种考虑了变量间交互作用的二进制竞争自适应重加权采样(BCARS)算法进行特征波长选择。 最后分别建立了基于全光谱、 CARS和BCARS特征波长的支持向量机(SVM)和极端梯度提升(XGBoost)分类模型。 结果表明, BCARS-XGBoost模型的分类效果最优, 训练集和测试集的分类准确率分别为100%和99.33%。 与CARS相比, BCARS所选择的特征波长数量较少, 有助于多光谱系统和便携式仪器的开发。 利用高光谱技术结合BCARS-XGBoost模型鉴别三七不同部位粉末是可行的。

关键词: 高光谱; 三七; 极端梯度提升; 特征波长选择
中图分类号:O433 文献标志码:A
Non-Destructive Identification for Panax Notoginseng Powder of Different Parts Based on Hyperspectral Imaging Technique
YAO Kun-shan1, SUN Jun1,*, CHEN Chen2, XU Min1, CHENG Jie-hong1, ZHOU Xin1
1. College of Electrical and Information Engineering, Jiangsu University, Zhenjiang 212013, China
2. College of Economics and Management, Jiangsu University of Science and Technology, Zhenjiang 212100, China
*Corresponding author
Abstract

Panax notoginseng is a traditional Chinese medical herb with high medicinal value. Nowadays, adulteration is common in the Chinese medicine market, and many unscrupulous traders sell rootlet or rhizome powder as the main root powder, which seriously damages the interests of consumers. Therefore, this study aims to rapidly and non-destructively identify Panax notoginseng powder of different parts by applying a hyperspectral imaging techniques combined with multivariate analysis methods. The hyperspectral images of Panax notoginseng rhizome, fibrous root and main root powder were collected by the hyperspectral imaging system in the spectral range of 400~1 000 nm (a total of 300 samples). Savitzky-Golay(SG)smoothing combined with Standard Normalized Variate (SNV) was applied to eliminate the noise in spectral data and reduce the spectral difference caused by scattering. In order to remove the overlapping and redundant information in spectral variables, a Binary Competitive Adaptive Reweighted Sampling (BCARS) algorithm that considers the interaction effect among variables proposed in this paper was used to select the feature wavelengths. At the same time, the Competitive Adaptive Reweighted Sampling (CARS) algorithm was also used. Based on the full spectrum, CARS and BCARS feature wavelengths, Support Vector Machine (SVM) and eXtreme Gradient Boosting (XGBoost) classification models were established, respectively. The results showed that the BCARS-XGBoost model had the best performance, with classification accuracies of 100% and 99.33% for the training and prediction sets, respectively. In addition, fewer feature wavelengths were selected by BCARS, which is conducive to developing a multi-spectral system and portable detector. Therefore, it is feasible to identify Panax notoginseng powder of different parts by applying a hyperspectral imaging technique combined with the BCARS-XGBoost model.

Keyword: Hyperspectral imaging; Panax notoginseng; XGBoost; Feature wavelength selection
引言

三七为五加科、 人参属草本植物, 是我国特有的中药材, 具有悠久的药用历史, 可用于治疗外伤性出血、 跌扑肿痛、 便血、 咯血等。 现代药理学研究表明, 三七的主要活性成份为皂苷, 具有抗氧化、 降低血压和抗血栓等功效。 三七的剪口、 主根和支根部位都含有皂苷, 其中剪口中的含量最高, 支根中的含量最低, 但由于三七主根中的皂苷最易被人体吸收, 药用价值最高, 价格也最贵。 不同部位的三七粉末价格相差可达10倍以上。 从外观形态上很容易分辨剪口、 主根和支根, 但三七通常是以粉末的形式出售, 不同部位的三七粉末颜色和气味相近, 很难通过肉眼或嗅觉对其进行区分。 一些不良商贩利用这一特点, 将支根或剪口粉末冒充主根粉末销售以牟取暴利, 严重影响了市场秩序。 目前, 液相色谱法是区分不同部位三七粉末的主要方法, 但该方法操作复杂、 耗时过长且对样本具有破坏性, 无法满足现代农业检测的实时性要求。 因此, 开发一种快速无损的三七粉末检测方法具有重要的实用价值。

高光谱成像是一种新兴的多信息融合技术, 能够同时获取目标的图像和光谱信息, 克服了传统光谱技术点源采样的缺点[1]。 目前, 高光谱技术已被应用在中药的产地、 真伪和品种检测中。 据了解, 还没有关于利用高光谱技术鉴别三七不同部位粉末的报道。 因此, 通过高光谱技术实现三七不同部位粉末的无损鉴别具有重要意义。 高光谱技术可以提供目标丰富的光谱信息, 但其中也包含了大量的重叠和冗余信息, 直接利用全光谱数据进行建模难以取得较为理想的效果, 且不利于多光谱系统或便携式仪器的开发[2]。 特征波长选择是光谱分析中的一个关键步骤, 可以有效降低波段间的多重共线性, 提高模型的精度和鲁棒性。 研究中提出了一种考虑了变量间交互作用的二进制竞争自适应重加权采样(binary competitive adaptive reweighted sampling, BCARS)算法对三七粉末的光谱变量进行特征选择。 分别建立了基于全光谱、 CARS和BCARS特征波长的支持向量机(support vector machine, SVM)和极端梯度提升(eXtreme gradient boosting, XGBoost)分类模型进行了对比和分析。

1 实验部分
1.1 材料

实验所用样本为云南文山三七, 实验前将剪口、 主根和支根分别粉碎, 通过80目筛盘进行筛选。 每次通过电子天平称取50 g三七粉末作为一个样本, 放置于玻璃器皿中, 保持表面平坦, 共制备了300个样本(每个部位100个样本)。

1.2 高光谱图像采集

本研究使用的的高光谱成像系统(如图1所示)主要包括: 光谱仪(400~1 000 nm)、 CCD相机、 电控移动平台、 卤素灯、 光源调节器和计算机。 为避免环境光的干扰, 所有实验均在暗箱中完成。 相机的曝光时间为10.2 ms, 物距为450 mm, 电控移动平台的速度为6.6 mm·s-1。 获取的原始高光谱图像Io利用式(1)进行校正

Ic=Io-IdIw-Id(1)

式(1)中, Ic为校正后的图像, Id为遮盖镜头(~0%反射率)得到的黑标定图像, Iw为扫描标准白板(~100%反射率)得到的白标定图像。

图1 高光谱成像系统Fig.1 Hyperspectral imaging system

1.3 光谱数据提取与预处理

在对高光谱图像进行校正后, 将三七粉末样本中心直径为400像素的圆形区域内所有像素点的光谱取平均作为单个三七粉末样本最终的反射光谱。 去除受仪器噪声影响较为明显的初始波段后, 最终有效的光谱范围为471~1 000 nm, 共417个波段。

由于三七粉末的颗粒大小不均匀, 在采集光谱的过程中容易发生散射现象。 此外, 受仪器性能的影响, 光谱信号中难免掺杂着部分随机噪声, 因此对光谱数据进行预处理是必要的, 可以有效提高后续所建立的模型的精度和鲁棒性[3]。 采用Savitzky-Golay(SG)平滑结合标准变量变换(standard normalized variate, SNV)对原始的光谱数据进行预处理。 SG平滑可以通过低通滤波的方式消除光谱信号中的噪声, 提高信噪比[4]。 SNV可以消除由散射产生的光谱差异, 减小基线漂移[5]

1.4 特征波长选择算法

1.4.1 CARS

CARS[6]是一种基于进化论中“适者生存”模式的变量选择方法。 在CARS中, 通过迭代的方式, 保留适应性较强的变量, 移除适应性较差的变量。 CARS选择特征变量的步骤如下:

(1)通过蒙特卡洛(Monte Carlo, MC)采样随机抽取一定比例的样本建立偏最小二乘(partial least squares, PLS)模型, 并以回归系数的绝对值作为对应变量的权重。

(2)利用指数衰减函数(exponentially decreasing function, EDF)消除一定数量权重较小(即适应性较差)的变量, 然后采用自适应重加权采样(adaptive reweighted sampling, ARS)进一步选择关键变量。

(3)利用关键变量构成的样本子集再次建立PLS模型, 并计算交叉验证均方根误差(root mean square error of cross validation, RMSECV)。

(4)重复步骤(1)—步骤(3)直到达到设定的MC采样次数。 最终, 将RMSECV最小的PLS模型中的变量选择为特征变量。

1.4.2 BCARS

尽管CARS算法具有较高的计算效率而得到了广泛的应用, 但其缺点是将每个变量当做独立的个体, 忽略了变量之间的交互作用, 导致部分有用的信息变量被移除和所选择的特征变量中仍可能存在部分冗余信息。 针对以上缺点, 提出了一种考虑了变量间交互作用, 适应于分类问题的BCARS算法, 具体步骤如下:

(1)假设输入矩阵为Xm×n, 输出矩阵为Ym×1, 其中mn分别为样本和变量的数量, 通过MC采样随机选取k个样本, 得到新的输入和输出矩阵X1k×n, Y1k×1

(2)生成一个与输入矩阵X1大小相同, 只包含0和1的二进制矩阵Bk×n, 其中每一列中0和1的数量相等。 矩阵Bk×n的每一行都分别用来决定矩阵X1中用于建模的变量, 数值“1”表示对应的列变量用于建模, 数值“0”表示不用于建模。

(3)将矩阵Bj列中所有的0更改为1, 得到矩阵B1, 然后将矩阵B1第j列中所有的1更改为0, 得到矩阵B0, B0和B1的生成过程如图2所示。

图2 二进制矩阵生成过程Fig.2 The process of generating binary matrices

(4)通过变量间的交互作用评价每个变量的重要性。 利用矩阵B1的第i(i=1, 2, …, k)行分别建立一个基于X1k×n, Y1k×1的偏最小二乘判别分析(partial least squares discriminant analysis, PLS-DA)分类模型, 可以得到第j个变量的交叉验证准确率向量C1j(k行1列); 同理, 利用矩阵B0可得到对应的向量C0j。 此时, 模型集群分析可以基于C1jC0j来评价第j个变量的重要性。

(5)计算C1jC0j的平均值, 分别记为M1jM0j, 两者的差定义为式(2)

Mj=M1j-M0j(2)

利用威尔科克森检验(Wilcoxon test)对C1jC0j进行统计分析, 根据p值及Mj将所有变量划分为如下三类, 见式(3)

ViVinformative, ifMj> 0, Pj< 0.05ViVinterfering, ifMj< 0, Pj< 0.05ViVuninformative, ifPj0.05(3)

其中Vinformative, VinterferingVuninformative分别代表信息变量, 干扰变量和无信息变量。 将归一化处理后的Mj作为第j个变量的权重。

(6)利用EDF移除变量, 其中干扰信息变量被优先移除, 其次是无信息变量, 最后是信息变量。 采用ARS进一步选取关键变量构成新的样本子集, 然后利用新的样本子集再次建立PLS-DA分类模型并计算交叉验证准确率。 此外, 所选取的关键变量在下轮迭代中用于生成新的输入矩阵。

(7)重复步骤(1)—步骤(6)直到达到最大MC采样次数。 最终选择交叉验证准确率最高的PLS-DA模型中的变量被选择为特征变量。

BCARS算法的流程如图3所示。

图3 BCARS算法的流程图Fig.3 Flowchart of BCARS algorithm

1.5 模型的建立与评价

XGBoost[7]是一种基于梯度提升框架的新型机器学习算法。 在梯度提升树的基础上, XGBoost在loss函数中引入了二阶泰勒展开以加快优化速度, 并在目标函数中添加了归一化以避免过度拟合。 由于其出色的性能, XGBoost已经被用来解决一些实际问题, 如COVID-19的传输时间序列预测, 洪水风险评估和乳腺癌的识别等[8, 9, 10], 但在高光谱模型中的应用还很少。 因此, 本文应用XGBoost算法建立三七不同部位粉末的分类模型以期提高预测性能。 作为对比, 本研究也使用了传统的SVM算法。

2 结果与讨论
2.1 光谱数据预处理

采用SG平滑和SNV结合的方法对原始光谱数据进行预处理, 其中SG平滑点数和多项式阶数分别设置为5和2, 结果如图4所示。 对比两图4(a)和(b)发现, SG-SNV预处理后光谱曲线中的毛刺明显减少, 不同类型三七粉末样本间的光谱差异降低。 图4(c)为预处理后三七剪口、 支根和主根部位粉末的平均光谱曲线, 可以看出三种三七粉末的光谱曲线整体趋势相同, 但在部分波段范围内存在较为明显的差别, 为建立三七不同部位粉末的鉴别模型提供了依据。 在480 nm附近, 三者的光谱曲线都有较强的吸收, 这解释了三七不同部位的粉末颜色接近, 很难从外观上进行区分; 980 nm附近的弱吸收峰与水的O—H伸缩振动第二泛音有关, 可以解释为三七粉末中几乎不含水[11]

图4 预处理前后光谱曲线
(a): 原始光谱曲线; (b): SG-SNV预处理后光谱曲线; (c): 预处理后不同部位三七粉的平均光谱曲线
Fig.4 Spectral curves before and after preprocessing
(a): Raw spectral curves; (b): Spectral curves after SG-SNV preprocessing; (c): Mean spectral cureves of Panax notoginseng powder of different parts after preprocessing

2.2 特征波长选择

特征波长选择可以有效消除光谱变量中的冗余和重叠信息, 降低模型的复杂程度, 有利于多光谱系统和便携式仪器的开发。 在本文中, CARS和BCARS用来选择特征波长, 在两种算法中MC采样都设置为100次并使用5折交叉验证。 最终CARS和BCARS算法分别选取了14个和9个特征波长, 如表1所示。 740和900 nm附近的波段分别与C-H键的第四和第三泛频相关, 这可能是由三七不同部位中多糖含量差异导致的。

表1 CARS和BCARS的特征波长选择结果 Table 1 Results of feature wavelength selection for CARS and BCARS
2.3 分类模型的建立

在本研究中, XGBoost的实验环境为Python3.7, 主要的超参数设置如表2所示。 在SVM中采用RBF核函数, 惩罚参数和核函数参数的值由交叉验证寻优的方式确定。

表2 XGBoost模型的超参数设置 Table 2 Hyper-parameter settings of XGBoost model

将300份三七粉末样本每类按1∶1的比例随机划分为训练集和测试集。 基于全光谱数据、 CARS和BCARS特征波长数据, 分别建立SVM和XGBoost分类模型, 结果如表3所示。 从表3可以看出, 基于全光谱数据建立的SVM和XGBoost分类模型均已取得较好的分类效果, 但两个模型的训练集和测试集的分类准确率相差都较大, 存在过拟合现象。 经过特征波长选择后, 由于光谱数据中的冗余和干扰信息被移除, SVM和XGBoost模型的分类精度和鲁棒性都得到了提高。 在分类精度方面, 基于三种光谱数据的XGBoost模型的分类准确率均高于SVM模型, 表明XGBoost算法比传统的机器学习算法具有更强的发掘变量间关系的能力; 基于BCARS特征波长数据的SVM和XGBoost模型的分类准确率均高于基于CARS特征波长模型的分类准确率, 表明BCARS具有更强的特征选择性能。 在建模复杂程度上, CARS和BCARS均有效地简化了模型, 所用波长数量分别仅为全光谱的3.4%和2.2%。 最终, 基于BCARS特征波长的XGBoost模型分类效果最佳, 训练集和测试集的分类准确率分别达到了100%和99.33%。 因此, 利用高光谱技术结合BCARS-XGBoost模型可以有效地对三七不同部位的粉末进行无损鉴别。

表3 XGBoost和SVM的建模结果 Table 3 Modeling results of XGBoost and SVM
3 结论

利用高光谱技术结合多元分析方法鉴别三七不同部位粉末具有可行性。 为了消除光谱变量中的重叠和冗余信息, 提出一种考虑了变量间交互作用的BCARS算法对三七样本的光谱数据进行特征波长选择。 结果表明, 与CARS算法相比, 所提出的BCARS算法具有更强的特征选择性能, 且所选择的特征波长数量更少, 有助于多光谱系统和轻型化仪器的开发。 最终, 所建立的BCARS-XGBoost分类模型的训练集和测试集的准确率分别为100%和99.33%。 因此, 利用高光谱技术结合BCARS-XGBoost模型可以有效地对三七不同部位的粉末进行无损鉴别。

参考文献
[1] Zhou X, Sun J, Tian Y, et al. Food Chemistry, 2020, 321: 126503. [本文引用:1]
[2] Sun J, Zhou X, Hu Y, et al. Computers and Electronics in Agriculture, 2019, 160: 153. [本文引用:1]
[3] Yao K, Sun J, Zhou X, et al. Journal of Food Process Engineering, 2020, 43(7): e13422. [本文引用:1]
[4] Cong S, Sun J, Mao H, et al. Journal of the Science of Food and Agriculture, 2017, 27: 98. [本文引用:1]
[5] Yang Q, Sun D W, Cheng W W, Journal of Food Engineering, 2017, 192: 53. [本文引用:1]
[6] Zheng K, Feng T, Zhang W, et al. Chemometrics and Intelligent Laboratory Systems, 2019, 191: 109. [本文引用:1]
[7] Montomoli J, Romeo L, Moccia S, et al. Journal of Intensive Medicine, 2021, 1(2): 110. [本文引用:1]
[8] Luo J, Zhang Z, Fu Y, et al. Results in Physics, 2021, 27: 104462. [本文引用:1]
[9] Ma M, Zhao G, He B, et al. Journal of Hydrology, 2021, 598: 126382. [本文引用:1]
[10] Liew X Y, Hameed N, Clos J, Machine Learning With Applications, 2021, 6: 100154. [本文引用:1]
[11] Yao K, Sun J, Tang N, et al. Journal of Food Process Engineering, 2021, 44(7): e13718. [本文引用:1]