APP下载

基于连续投影算法-遗传算法-BP神经网络的可见/近红外光谱木材识别

2022-06-28栾景然冯国红朱玉杰

浙江农林大学学报 2022年3期
关键词:紫檀识别率特征值

栾景然,冯国红,朱玉杰

(东北林业大学 工程技术学院, 黑龙江 哈尔滨 150006)

木材在中国可再生资源中占有很大的比例。随着国民经济逐步增长,木材市场不断扩大。目前,由于优质木材频频出现供需不平衡、木材造假等问题,因此采用多种识别技术来甄别木材种类已成为必然。木材种类识别除了依照形态学处理外,还可以使用计算机图像识别、DNA识别等方法[1-3],但是这些方法和传统的取样方法一样[4],都需要对树木进行剖析和制样,对于一些珍贵的木材会造成不必要的浪费,甚至会降低本身的价值。近红外光谱分析技术是20世纪70年代兴起的一种新的木材识别分析技术。它作为一种常用的测量工具,具有快速、无损、在线分析等优势。近几年,学者们应用近红外光谱技术对木材种类进行了识别研究[5],如王学顺等[6]利用近红外光谱技术,结合主成分分析(PCA)和BP神经网络对不同木材种类进行了识别研究,效果良好。谭念等[7]基于近红外光谱技术,联合PCA和支持向量机实现了木材种类的有效鉴别。

目前,近红外光谱分析技术用于木材种类识别大多采用PCA进行特征提取,实现数据降维,但这种方法的特征值筛选有一定的局限性,仅凭累计贡献率决定特征值的个数,无法通过参数化等方法对处理过程进行干预,效率和物理实用性不高。连续投影算法(SPA)是一种常用的特征波长筛选算法。它能够利用向量的投影分析,寻找含有最低限度冗长信息的变量组,通过参数调整可实现较强物理实用性的数据压缩。陈远哲等[8]基于SPA构建了最小偏二乘法回归模型,适用于淡水鱼储藏期质构品质的快速无损检测。郭文川等[9]通过比较不同特征提取方式,得出采用SPA和随机森林识别准确率最高。遗传算法(GA)用于寻优,广泛应用于机器学习等领域。

本研究将SPA和GA联用,在运用SPA获得特征值后,应用GA进一步寻找最佳特征参数,以提升木材识别的效率和准确率。本研究以红檀Swartizia spp.、刺猬紫檀Pterocarpus erinaceus、巴里黄檀Dalbergia bariensis、大果紫檀Pterocarpus macrocarpus、红檀香Myroxylon balsamu、破布木Cordia dichotoma、豆瓣香Osmanthus delavayi、檀香紫檀Pterocarpus santalinus、中美洲黄檀Dalbergia granadillo和黑檀Dalbergia nigra为研究对象,应用可见/近红外光谱仪采集10种木材的光谱图,运用不同的预处理方式叠加进行降噪分析,以BP神经网络为木材种类的分类识别算法,探讨经GA优化的SPA较之常规特征提取算法的优越性,为更精确高效的木材识别提供参考。

1 材料与方法

1.1 数据采集与主要仪器

数据采集:参与试验的木材共10种,试样为6 cm×5 cm×2 cm的木块。每种木材制备5块样本,共计50块。每块木材分10个点采集光谱,以木块横向等分2份,纵向等分5份,取每份的中心点作为标记进行采样,每个点采集10组数据,取平均值作为此样点的实验数据,即1块试样采集10组实验数据,10种木材共计采集500组实验数据。样点采集遵循以下原则:①采谱过程中每15 min进行1次空白校正,以保证光谱的稳定性。②每块木材样本大小、薄厚和形状均保持一致,确保样点在每块样本木块上的属性相同,最大程度缩小误差。

主要仪器:LabSpec 5 000 光谱仪(ASD 公司,美国),波长为 350~2 500 nm。用光谱仪配套的软件Indico Pro Version 3.1 采集光谱数据。

1.2 主成分分析法 (PCA)

PCA是一种常用的波段降维手段。主成分通常表示为原始变量的某种线性组合,它们不仅能够代表原始变量绝大多数的信息,还可以一定程度上去除噪声,压缩数据,对高维数据进行降维,减少预测变量的个数[10]。

1.3 连续投影算法 (SPA)

SPA是一种使矢量空间共线性最小化的前向变量选择算法,在降低共线信息的研究和有效信息获取的研究中取得较好的成效[11-12]。本研究应用SPA在光谱全波段中筛选出少量几个特征波段,不仅能够减少参与识别的光谱波段个数,并且可以保证特征波段之间的共线性最小,进而提高识别正确率和速度。

1.4 SPA-GA-BP 神经网络识别方法

当SPA筛选后的输入自变量较多且不是相互独立时,利用BP神经网络容易出现过拟合的现象,从而导致所建立的模型精度低、建模时间长等问题,因此,在构建模型前,有必要对输入自变量进行优化,选择最能反映输入与输出关系的自变量参与建模。GA优化能较好解决上述问题。利用GA进行优化计算,需要将解空间映射到编码空间,每个编码对应问题的1个解。本研究将编码长度设计为10,木材光谱特征的每位对应1个输入自变量,每一位的基因取值只能是“1”和“0”,如果一位值为“1”,表示该位对应的输入自变量参与最终的建模;反之,则表示“0”对应的输入自变量不作为最终的建模自变量。选取测试集数据均方误差的倒数作为GA的适应度函数,这样,经过不断的迭代进化,最终筛选出最具代表性的输入自变量参与建模[13-14]。GA优化的设计步骤主要为:首先产生初始种群,对适应度函数进行计算,其次进行选择、交叉和变异的基础操作,最后优化结果输出,构建其模型。设计步骤如图1所示。

图1 SPA-GA-BP 设计步骤Figure 1 SPA-GA-BP design steps

2 结果与分析

2.1 10 种木材的原始光谱图

应用LabSpec 5000光谱仪采集10种木材的原始光谱图,其中选取红檀的50个样本进行对比分析 (图 2)。

为了更直观地对比10种木材光谱图的差异,分别取10种木材中第1组数据进行绘图分析(图3)。由图3可见:大果紫檀、红檀和檀香紫檀的强度数值过小,几乎与x轴重叠。

由图2和图3可以看出:同一种木材光谱图的波形基本一致,但强度值略有差异;刺猬紫檀、巴里黄檀、红檀香、破布木、豆瓣香、中美洲黄檀这6种木材的光谱图从波峰、形状上相似性均较高,黑檀与这6种木材的光谱图也较相似,仅在第1个波谷处形状上略有差异。

图2 红檀的原始光谱图Figure 2 Original spectra of red sandalwood

图3 10 种木材的光谱图Figure 3 Spectral diagrams of 10 species of wood

2.2 主成分分析的 BP 神经网络识别

原始光谱图往往带有一定的噪声,影响BP神经网络识别的正确率,因此有必要对光谱数据进行预处理[15-17]。数据的预处理方法较多,本研究分别采用了移动平均法、移动平均法+多元散射校正(MSC)、移动平均法+标准正态变量变换(SNV)、Savitzky-Golay卷积平滑算法(S-G滤波器)、S-G滤波器+MSC和S-G滤波器+SNV对10种木材的原始光谱进行了预处理,通过对比分析以确定最佳的预处理方法。

针对上述的几种预处理方法,分别进行主成分特征提取。以累计贡献率达95%及以上为主成分个数的选取标准。以选取的主成分为输入向量,40个样本作为训练,10个样本作为测试(后文测试数据均与此相同,不再赘述)。应用BP神经网络进行木材种类识别测试,经过20次的随机试验,获得各种预处理下BP神经网络的平均识别结果(表1)。由表1可以看出:采用S-G滤波器+SNV预处理时,BP 神经网络获得的平均识别率最高,达到了84.7%。

表1 不同预处理的 PCA-BP 神经网络识别率Table 1 PCA-BP neural network recognition with different preprocessing

为了方便对比10种木材各自的识别效果,整理了S-G滤波器+SNV预处理时10种木材的BP神经网络识别结果:10种木材的识别效果相差不大,最低为豆瓣香(83.1%),最高为刺猬紫檀(85.8%)。

2.3 SPA-BP 神经网络识别

2.3.1 不同预处理的对比分析 针对 2.2 节中的几种预处理方法进行SPA的BP神经网络识别探讨,以确定最佳的预处理方法。为了对比预处理的效果,针对SPA方法中的起始波段和特征值个数进行了随机设置。令SPA方法中的起始波段(Winitial)为15 nm,特征值个数(Ntot)为10,对各种预处理后的数据进行SPA特征提取,应用BP神经网络进行20次的随机识别,得出10种木材的平均识别率(表2)。由表2可以看出:对于不同的预处理方式,SPA-BP的正确识别率有所不同,移动平均法+SNV的预处理方法最佳,正确率可达88.2%,因此,后续在分析SPA-BP神经网络识别木材时,本研究仅针对移动平均法和SNV叠加的预处理方法进行分析。

表2 不同预处理的 SPA-BP 神经网络平均识别率Table 2 Average recognition rate of SPA-BP neural network with different pretreatments

2.3.2 基于吸收峰的最佳起始波段分析 影响 SPA 特征提取的因素通常有 2 个,分别是Winitial和Ntot。随着Winitial和Ntot的改变,提取的特征波长分布会有所不同,从而影响最终BP神经网络的正确识别率,此处探讨最佳Winitial的选取方法。光谱图中的特征吸收峰对被分析物质是很关键的特征,因此首先考虑分别以木材的吸收峰和非吸收峰作为起始波段,通过对比分析,确定最佳起始波段。①吸收峰作为起始波段的选取。光谱图中分布了大小不一的波峰,选取波峰特征较明显的吸收峰进行分析,以波峰点为中心点,取宽度相等的波段区间(每个波段均取51个数据)作为吸收峰的集中分布波段,10种木材的吸收峰集中波段如表3所示。由表3可以看出:10种木材的吸收峰重叠的波段有1 230~1 260、1 780~1 810、1 940~1 970 nm。分别取 3 个波段的中位数作为起始波段值,即 1 245、1 795 和 1 955 nm。因为Winitial的数值表示为序列号,所以在此基础上减去初始波段350 nm,Winitial最终取值分别为895、1 445、1 605 nm。②非吸收峰作为起始波段的选取。将全波段 350~2 500 nm等分成 5份,分别在每个等分波段中随机选取1个非吸收峰作为起始波段。本研究随机选取的5个波段的波长分别为365、1 145、1 345、1 700、2 300 nm。在此基础上减去初始波段 350 nm,Winitial最终取值分别为 15、795、995、1 350、1 950。分别以上述的吸收峰和非吸收峰为起始波段值,即以 15、795、895、995、1 350、1 445、1 605、1 950 nm作为SPA的起始波段。SPA的特征值个数统一取10,进行BP神经网络识别,经过20次的随机试验,10种木材提取的特征波长分布和平均识别率如表4所示。由表4可以看出:以吸收峰作为起始波段时,特征波长分布大多追溯在吸收峰附近。对比表4的识别率可见,起始波段为1 445 nm 时最高,达 90.4%,其余按照 1 605、895、795、995、1 350、1 950 和 15 nm 的顺序依次递减。不难看出,吸收峰作为起始波段的识别率普遍优于非吸收峰。

表3 10种木材吸收峰个数和集中波段Table 3 Number of absorption peaks and concentrated bands of 10 species of wood

表4 不同起始波段的 SPA-BP 神经网络平均识别率Table 4 Average recognition rate of SPA-BP neural network with different starting bands

2.3.3 最佳特征值个数分析 将起始波段固定为最佳,即Winitial=1 445 nm,探讨Ntot取不同数值时,对BP神经网络识别木材的影响。从图3的光谱图可以看出:红檀、大果紫檀、檀香紫檀3种木材样本的吸收峰有7个,刺猬紫檀、巴里黄檀、红檀香、破布木、豆瓣香、中美洲黄檀和黑檀有9个。考虑吸收峰能更好地反映木材光谱图的特征,Ntot分别取了7和9,同时参考SPA的相关文献[18-21],且基于BP神经网络输入向量过多也会影响识别精度,又分别取了5、8、10、20、25进行了对比分析。基于以上特征数,分别应用BP神经网络进行木材识别,每个状态仍随机运行20次,获得的结果如表5所示。分析表5可知:整体上,当特征值个数取7和9时正确率偏高,说明特征值个数的取值和吸收峰值有关;当特征值个数取9时识别率最高,达93.2%,说明特征值个数和单个木材的吸收峰无关,应由整体的吸收峰来确定。

表5 同一起始波段不同特征波段的 SPA-BP 神经网络平均识别率Table 5 Average recognition rate of SPA-BP neural network with the same starting band and different characteristic bands

2.3.4 10 种木材的最佳识别结果分析 基于最佳预处理方式 (移动平均法+SNV)、最佳起始波段(Winitial=1 445 nm)和最佳特征值个数(Ntot=9),整理出SPA-BP神经网络识别10种木材各自的识别结果(表6)。由表6可以看出:在最佳参数设置下,SPA-BP神经网络的识别率较高,大果紫檀、红檀香、中美洲黄檀和黑檀的平均识别率均为100.0%,其他木材的平均识别率最低达90.7%,最高达95.1%。

表6 同一预处理方式 10 种木材的 SPA-BP 神经网络平均识别率Table 6 Average recognition rate of SPA-BP neural network for 10 species of wood with the same pretreatment method

2.4 SPA-GA-BP 神经网络识别

针对SPA的最佳预处理方式(移动平均法+SNV)、最佳起始波段(Winitial=1 445 nm)和最佳特征值个数(Ntot=9),基于SPA-GA的BP神经网络识别方法随机运行20次,采用GA优化前后建模时间明显缩短;大果紫檀、红檀香、中美洲黄檀和黑檀在采用GA优化前后正确识别率均为100.0%,说明这4种木材在采用SPA特征提取时,识别率较高,采用GA优化后对正确识别率影响不大;其他6种木材采用SPA特征提取时均有一定的误判,运用GA优化后识别率有一定的提高。其中破布木的识别率由90.0%提升到了100.0%,巴里黄檀由88.9%提升到了100.0%,刺猬紫檀由90.9%提升到了100.0%。虽然每次仅提升1种木材,但通过多次运行,可达到整体提升的效果。

针对上述20次运行结果,获得10种木材各自的识别结果:大果紫檀、中美洲黄檀、刺猬紫檀、巴里黄檀、红檀香、破布木和黑檀平均识别正确率高达100.0%,其他3种木材的平均识别率最低达91.5%,最高达95.7%,10种木材的平均识别率达98.0%。

已有的木材识别研究的特征提取方法主要集中于主成分分析[22]、导数处理[23]等,主成分分析的平均识别率为70.0%~95.3%,导数处理识别率达98.6%。虽然这些研究识别率较高,但这些研究参与识别的木材种类大多仅为4~5个,对于同时识别10种木材未见尝试。经研究,参与识别的木材种类越多,识别率越难保证。本研究的主成分分析法识别10种木材,平均识别率仅为84.7%。本研究采取SPAGA联合的特征提取方法,识别对象为10种木材,通过调整吸收峰、特征值等参数,最终7种木材的平均识别率达100.0%,且识别速度提高为原来的2~3倍。为了进一步验证识别率的鲁棒性,本研究还采用多种预处理的方式,使得原始数据表现出良好的稳定性和容错性。最后实验数据均为随机20次运行的结果,说明训练好的模型可以随时间和频次迁移应用,识别性能不会降低。

3 结论

研究结果表明:①SPA-GA法识别木材时,选择移动平均法+SNV的预处理方式效果最佳。②对于参数的选择,起始波段选取吸收峰比选取非吸收峰识别率更高,特征值个数结合光谱图的峰值个数选取更恰当。本研究分别选取起始波段为1 445 nm,特征值个数为9个。③SPA-GA提取光谱图特征时识别性能最佳。SPA特征值经GA寻优后,特征个数大多减少为原来的一半左右,优化后BP神经网络的平均识别速度显著提升,大果紫檀、中美洲黄檀、刺猬紫檀、巴里黄檀、红檀香、破布木和黑檀等7种木材的平均识别正确率均高达100.0%,总体识别率较SPA显著提高。

本研究仅选择了红檀、刺猬紫檀、巴里黄檀、大果紫檀、红檀香、破布木、豆瓣香、檀香紫檀、中美洲黄檀和黑檀这10种木材样本进行了探讨,对于其他木材的识别有待进一步研究验证。

猜你喜欢

紫檀识别率特征值
水边的紫檀靠椅
基于扩展FEAST的大规模特征值求解问题研究
中国紫檀博物馆
伴随矩阵的性质及在解题中的应用
档案数字化过程中OCR技术的应用分析
求矩阵特征值的一个简单方法
基于PCA与MLP感知器的人脸图像辨识技术
科技文档中数学表达式的结构分析与识别
人工智能现状和发展
不变的是流光还有那一抹紫檀之美