刘灏霖+姚远程+张江梅+王坤朋
摘要:提出了一种基于K-SVD的构造稀疏分解原子库并用于核素γ能谱特征提取的方法。针对γ能谱信号的成谱特点及峰值规律,通过K-SVD算法构造学习型稀疏字典,将稀疏分解系数向量作为表征γ能谱的特征,实现特征提取,利用最近邻分类算法、支持向量机和决策树等机器学习分类算法实现核素识别。实验部分在七种不同的分类算法上比较了提出的特征提取方法和传统方法的核素识别准确率,结果表明:相较于传统方法,该文方法所提取特征具有更高的分类准确率。
关键词:核素识别;特征提取;KSVD;稀疏表示
中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2018)02-0177-03
γSpectrum Feature Extraction and Nuclide Identification by K-SVD
LIU Hao-lin, YAO Yuan-cheng ,ZHANG Jiang-mei,WANG Kun-peng
(Southwest University of Science and Technology,College of Information Engineering of Sichuan Province,Mianyang 621010,China)
Abstract: A method Based on K-SVD to construct a sparse atomic library is proposed in this paper and is used to extract features of radionuclide γ spectrum. A learning sparse dictionary is constructed by using K-SVD algorithm according to the characteristics of γ spectrum signal, and the sparse decomposition coefficient vector is used to characterize γ spectrum to realize feature extraction and nuclide identification. The experiments verify the feature extraction performance by comparing the recognition accuracy with the traditional methods using seven different classification algorithms including KNN algorithm, SVM algorithm and Decision Tree algorithm. The results show that the feature extraction by the method proposed in this paper has higher classification accuracy compared with the traditional methods.
Key words: Nuclide identification; Feature extraction; K-SVD; Sparse Representation
放射性核素的γ能譜信号是识别核素种类主要依据,其原因在于,能谱信号是以能量为横坐标,以特定时间内所探测到的射线粒子数为纵坐标进行表征的,能够较为直观地反映各种不同能量粒子的相对强度与分布情况,研究者可根据占比较大的粒子能量值判别待测核素种类。但与此同时,能谱也会受到来自环境和探测器等各种来源的噪声影响,导致有用信号被掩盖或者淹没。传统的核素识别方法主要将研究重点放在寻峰方法的研究上,常见的寻峰方法有导数法[1]、协方差法[2]、对称零面积变换法[3]等,但这些方法对峰的筛选极依赖专家知识,适用性不高[4]。
将核素γ能谱当作时间的函数,可将字典原子看作稀疏表示的基,使用字典原子对γ能谱信号进行拟合,将传统峰位信息转化为稀疏分解系数向量。稀疏字典的构建主要由两类方法实现,一是以Gabor字典、DCT字典、Haar字典为典型代表的固定字典(Pre-constructed dictionary),其优点是使用简单,但在稀疏表示过程中对目标的针对性不足;二是从学习角度构建的学习字典(Learned dictionary),其优点是对任何类型的信号都有较好的适应性,但其构造复杂度较高,尤其是在针对高维度信号进行学习时,所需计算量较大[5]。本文针对γ能谱信号的成谱特点及峰值规律,通过K-SVD算法构造学习型稀疏字典,将稀疏分解系数向量作为表征γ能谱的特征,实现特征提取及核素识别。
1 基于K-SVD的γ能谱特征提取及核素识别方法
K-SVD可以看作K-means的一种泛化形式,K-means算法中每个信号量只能用一个原子来近似表示,而K-SVD中的每个信号是用多个原子的线性组合来表示的。通过K-SVD构建字典来对数据进行稀疏表示,经常用于图像压缩、编码、分类等应用中[5,6]。
通过K-SVD算法构造学习型稀疏字典是一个迭代过程。设输入信号为[Y=y1,y2,…,yN∈Rn×N],稀疏字典为[D=d1,d2,…,dK∈Rn×K],则有稀疏系数矩阵X[=x1,x2,…,xN∈RK×N],且满足下式:Y = D·X。下面将描述基于K-SVD的γ能谱特征提取及核素识别方法:
(1) 对输入信号Y中的每一类样本随机选取其中q个组成初始化字典D0,q值的大小对整个字典的规模影响较大,其取值取决于稀疏字典宽度K与输入信号中样本的类别总数,并对初始化字典D0中的每一列原子分别进行标准化;endprint
(2) 使用初始字典D0和OMP算法对输入信号Y进行稀疏表示,得到稀疏系数矩阵X0;
(3) 初始字典D0往往无法取到最优值,从而产生的稀疏系数矩阵X0所表征的信号和原输入信号会有较大误差,需要在满足稀疏度的条件下逐列对初始字典D0进行更新优化;固定稀疏系数矩阵X0,逐列进行D0的更新,为了剥离D0中第k列dk的贡献,将dk列的值置零,同时设稀疏表示系数矩阵X0中对应的第k行为[xkT],同样将这一行置零,则可计算当前稀疏系数矩阵X0下的误差矩阵:
[Ek=Y-D0?X0dk=0,xkT=0=Y-i≠kdixiT] (1)
则可得误差值为:
[E=Y-DX2F=Y-D0?X02F]
[=Y-i≠kdixiT-dkxkT2F=Ek-dkxkT2F] (2)
(4) 重复执行步骤(3)根据稀疏系数矩阵更新字典,减小整体误差值,直到误差值趋于稳定或小于一个预先设定好的阈值;
(5) 重复执行步骤(2)—(4),直到字典D收敛,得到通过K-SVD算法构造的学习型稀疏字典D和稀疏系数矩阵X,则稀疏系数矩阵X为输入信号Y在稀疏字典D下的稀疏特征;
(6) 对稀疏系数矩阵X进行筛选,抽取不同类别样本的稀疏特征系数向量xi,i=1,2,…,N,寻找绝对值最大的特征向量分量并将其在向量xi中的位置记为特征位置向量[Pos=pos1,pos2,…posJ],重复执行步骤本步骤,直到特征位置向量Pos中的元素个数达到预先设定的特征个数J为止;
(7) 针对稀疏系数矩阵X,取其特征位置向量Pos所对应位置的特征向量分量组成新的特征向量矩阵[ F=f1,f2,…,fN∈RJ×N];
(8) 在每一个特征向量fN尾部添加样本标签c(c∈标签集合C),即[F'=f'1,f'2,…,f'N∈R(J+1)×N],其中每一个特征向量[f'N]都表征了一个样本的特征;
(9) 以最近邻分类算法为例对识别过程进行说明,最近邻分类算法的主要思想是通过计算样本特征向量[f'N]的邻居与其的相对距离,并将不同距离的邻居对该样本产生的影响给予不同的权值,然后将邻居的属性与权值的乘积的最大值赋给该样本,就可以得到该样本的属性。具体步骤如下:
Step1:设定s值。一般先确定一个初始值,然后根據实验结果反复调整至最优;
Step2:计算测试样本和每个训练样本的欧氏距离;
Step3:选择距离相对较小的s个样本作为测试样本的s个近邻;
Step4: 找出主要类别:设s个近邻与样本的距离为d1,d2,...,ds,相应的类别标签为c1,c2,...,cs,相应的权重为(d1)-1,(d2)-1,...,(ds)-1,计算相应类标签与权重的乘积之和,则拥有最大概率的类别被标记为样本[f'N]的主要类别。
本方法放弃了传统方法中与标准核素库进行匹配的思想,利用K-SVD算法对核素能谱稀疏分解字典进行构造,其优势在于将γ能谱特征转化为稀疏分解系数向量,是在区分性最好的维度上对核素能谱进行投影,可针对各种核素实现其种类的识别。
2 实验结果与分析
本文利用Geant4软件模拟了6种(241Am、137Cs、60Co、 152Eu、 226Ra、 131I) 不同的核素能谱,每种核素共200个数据。实验采用10折交叉验证来验证算法的有效性,该方法将所有样本随机平均分为10份,每次拿其中的9份用于训练,剩下的1份用于测试,并循环10次计算其平均识别率。
为了证明本文方法对于γ能谱特征提取的有效性,本实验比较了本文方法与两种传统方法在不同分类方法上的分类结果,两种传统的特征提取方法分别是基于Savitzky-Golay平滑与导数寻峰的方法和基于梯形窗平滑与导数寻峰的方法。本实验基于WEKA平台,使用了七种不同的分类算法对模拟核素能谱进行分类,并对七种方法所得结果求取平均值,这七种分类算法分别是:最近邻分类算法 (KNN)、朴素贝叶斯分类算法 (Naive Bayes)、支持向量机(SMO)、PART Decision List (PART)、C4.5决策树分类算法 (C4.5)、CART决策树分类算法 (CART)、RBF神经网络 (RBF Network)。
如表1所示,实验结果表明,本文提出的基于K-SVD和稀疏表示的γ能谱特征提取方法的训练准确率和测试准确率识别率普遍高于90%,分类效果较好,且在KNN方法下识别效果最佳,为99.25%;而两种传统的特征提取方法识别率均较低,在SVM方法上甚至低至20%以下。可以认为K-SVD和稀疏表示的γ能谱特征提取方法能够有效地提取到区分能力更强的能谱特征。
进一步的,为了进一步探究学习型稀疏字典宽度K与特征识别准确率的关系,本实验令K=12,24
同时,针对不同K值情况下的字典D和稀疏分解系数X,使用公式Y' = D·X对输入信号Y进行回复重构,得到重构信号Y',随机选取在K=30时的一组重构信号与其输入信号进行对比,如图1(b)所示,其中,横轴代表字典原子数K,纵轴代表原始信号与重构信号的残差能量值,残差能量值随着K值的增大而不断减小,到K=60时下降坡度趋于平缓,到K=120时保持在稳定水平;在图2中绘制在不同K值情况下该组信号的残差能量特征曲线,重构信号在幅值上存在一定程度的误差,但整体基本恢复了原始信号的特征,尤其是特征峰部分的恢复情况较好。
本方法放弃了传统方法中与标准核素库进行匹配的思想,利用K-SVD算法對核素能谱稀疏分解字典进行构造,其优势在于将γ能谱特征转化为稀疏分解系数向量,是在区分性最好的维度上对核素能谱进行投影,可针对各种核素实现其种类的识别。
3 结束语
本文针对γ能谱信号的成谱特点及峰位规律,基于K-SVD算法和稀疏表示表示思想构造学习型稀疏字典,将稀疏分解系数向量作为表征γ能谱的特征,实现了核素γ能谱的特征提取及核素种类的识别。利用模拟能谱进行实验,表明了本文方法在各种分类算法情况下与传统方法相对比都具有较高的识别准确率,平均识别准确率可达94.6%,远远高于传统方法,能够有效地提取γ能谱特征。
参考文献:
[1] Savitzky A, Golay M J E. Smoothing and Differentiation of Data by Simplified Least Squares Procedures [J]. Analytical Chemistry, 1964, 36(8):1627-1639.
[2] Blok H, De Lange J, Schotman J. A new peak search method for an automatic spectrum analysis program [J]. Nuclear Instruments and Methods, 1975, 128(3):545-556.
[3] Mariscotti M A. A method for automatic identification of peaks in the presence of background and its application to spectrum analysis[J]. Nuclear Instruments & Methods, 1967, 50(2):309-320.
[4] 陈亮. 核素识别算法及数字化能谱采集系统研究[D]. 清华大学, 2009.
[5] Michal Aharon, Michael Elad, Alfred Bruckstein. K-SVD: An Algorithm for Designing Overcomplete Dictionaries for Sparse Representation[J]. IEEE transactions on signal processing, TRANSACTIONS ON SIGNAL PROCESSING, 2006,54(11):4311-4322.
[6] 彭志珍.匹配追踪算法中稀疏度的自适应研究[D].武汉:华中科技大学, 2011.endprint