徐鳴謙,寇天一,彭 滟,朱亦鳴
(上海理工大學 上海市現代光學系統重點實驗室,上海 200093)
近年來,太赫茲(THz)波譜技術已被廣泛應用于上千種物質[1-2]的識別方面,并且借助一些算法可達到很高的識別精度[3-5]。然而,這些技術都是基于相同的測量系統,并不適用于處理來源于多個系統的光譜數據。如Liu等[6]與Chen等[7]測量的同一種物質DNT,在幅值、頻域范圍以及采樣間隔上都不一樣,這是由不同測量系統的誤差造成的,系統誤差除了自身設備的參數設置不同,還包括了不可避免的環境因素(如溫度、濕度等)。因此,當數據來源復雜時,這些測量方法就不能用于識別物質或者使物質識別的正確率下降。因此,本文提出了一種基于多個太赫茲時域光譜(THz-TDS)系統的物質識別方法。
本文用兩套THz-TDS系統測量已知的6種物質的光譜信號,對每個計算得到的吸收系數先作數據預處理, 包括去除基線和噪聲以及統一采樣頻率(維度),再用處理后的光譜數據訓練支持向量機(SVM)分類器[8],并選擇合適的核函數和SVM參數,最終得到了非常理想的識別結果。
實驗中使用由中國科學院提供的6種樣品,分別為鹽酸多巴胺、對氨基苯甲酸、D-乳糖水合物、肌醇、C4(一種混合物炸藥)以及酪氨酸,這些涵蓋了生物、化學以及危險品的物質具有一定的代表性。由于純樣品分布密度太大,透射通過的THz信號很弱,從而會影響檢測效果。為了稀釋樣品的分布密度,達到理想的吸收和透射效果,將樣品與聚乙烯(PE)粉末按1 ∶10的比例進行混合,并在瑪瑙研缽中研磨成細小粉末,采用3 t壓力壓制成厚度為1 mm直徑為10 mm的藥片。
在實驗中,我們分別用來自上海理工大學上?,F代光學系統重點實驗室(上理工)和上海高晶影像科技有限公司(高晶)的兩臺THz-TDS測量6種已知樣品的THz光譜數據。其中上理工測量系統的光譜分辨率為0.009 THz,信噪比為40000 ∶ 1,有效帶寬為0.1~4.0 THz,高晶測量系統的光譜分辨率為0.01 THz, 信噪比為50000 ∶ 1,有效帶寬為0.2~1.5 THz。為了保證算法的可靠性,每個系統對每種樣品分別在不同時間、溫度和濕度下重復測量10次,共得到120組光譜數據。根據Beer-Lambert定律[9],計算出樣品的相對吸收系數為

式中:d為樣品厚度,lsam(w)為樣品信號的功率譜,lref(w)為參考信號(空氣)的功率譜。
在THz波段,由于固體樣本的散射、周圍環境的擾動以及空氣中的水分都會在一定程度上引起基線漂移和波譜噪聲,我們采用小波變換對基線進行校正,并根據多分辨率分析去除高頻噪聲。其中小波變換的表達式為[10]

式中:φJ(u)為小波母函數;ψj(u)為尺度函數且與φJ(u)正交;CJ為f(u)在第J+1尺度上的分量,即低頻部分;dj為f(u)在第j個尺度上的分量(1 ≤j≤J),即高頻部分。根據式(2),可以對信號的不同部分和頻率進行分析[11]。本文對THz吸收光譜數據進行6尺度正交小波分解,舍去第6尺度下表示基線的低頻分量,同時也舍去第1~3尺度下代表噪聲信息的高頻分量,保留第4~5尺度下代表有用信息的高頻分量。圖1為上理工系統測量的光譜數據在小波變換前后的對比圖,可以發現,在有效帶寬0.2~1.5 THz內,基線被有效地去除,處理后的波峰變得更清晰,整體更加平滑,振幅也得到調整。

圖1 6 種物質小波變換后的 THz 光譜Fig.1 THz spectrum of six kinds of substance after the wavelet transform
在我們建立的SVM分類器中,采用離散的吸收光譜數據作為特征向量。然而本實驗中的兩套THz-TDS系統的采樣頻率不相同(上理工測量系統為0.009 THz,高晶測量系統為0.01 THz),這會導致后面算法中的數據維數不同從而使程序發生錯誤。因此,需要將所有測量系統的采樣頻譜映射至相同的采樣頻率上使得光譜維數一樣,我們把采樣頻率設定為兩個THz-TDS系統中最小的頻率即0.009 THz。采用3次樣條插值[12]的方法將高晶系統的采樣頻率映射到0.009 THz上,得到統一采樣頻率下的所有光譜數據。圖2為6種物質分別在這兩套THz-TDS系統下測得的光譜數據,可以發現,雖然不同THz-TDS系統測得的同種樣品在波形及幅度上仍有微小的差異,但是吸收峰的位置基本一致。
SVM算法[13-14]是根據有限的樣本信息在模型的復雜度( 即對訓練樣本的學習精度) 和學習能力(即對測試樣本的識別準確率) 之間尋求最佳折衷,以獲得最好的推廣能力。用給定的訓練集來建立SVM分類器,訓練集可表示為(Xi,Yi),i= 1,2,3,···,N,Xi∈ R,其中:Yi是吸收光譜數據Xi的輸出標簽,即為物質的類別;N是樣本數。SVM的目標函數定義為[15]:

圖2 不同系統測得的同一種樣品在數據預處理后得到的光譜圖Fig.2 The spectra after data preprocessing measured by different systems

式中:w為權重;c為懲罰參數; φ為核函數;為 容忍參數;b為偏置參數。c的作用是調節模型的置信范圍和經驗風險的比例以調節其推廣能力,核函數用于建立SVM分類器。實驗采用3種最常用的核函數,分別表示為:
(1)線性函數:t(x,y)=x·y
(2) 多項式函數:t(x,y)=[(x·y)+1]d(d為樣品厚度)
(3) 徑向基函數:t(x,y)=exp-|x-y|2/g2(g為核參數)
懲罰參數c和核參數g的選取對SVM的識別模型有很大的影響[16];當c和g過小時,會產生對測試樣本缺乏泛化能力的“過學習”現象;而當c和g太大時,則會產生把所有樣本都劃分為一類的“欠學習”現象[17]。為了獲得良好的識別效果,有必要選擇最優的c和g參數。本文采用網格搜索法對SVM參數進行優化[18]。
實驗基于開源軟件LIBSVM[19]與MATLAB平臺進行,用上理工的THz-TDS系統得到的光譜數據作為訓練集(60個樣本),并建立SVM模型,再用該建立好的模型預測高晶系統得到的光譜數據(60個樣本)。 圖3顯示了網格搜索法對SVM參數選擇的過程,SVM的最優化參數為:c=0.0625,g=1,可以觀察到網格搜索的遍歷程度很高,并且c和g參數的選擇對于訓練集的準確率有很大的影響。因此,網格搜索方法可以找到SVM的全局最優參數。

圖3 基于網格搜索法優化參數選擇結果Fig.3 Optimization c, g parameters based on grid search method
在3種常用核函數模型(c=0.062 5,g=1)下,用SVM分類器對于6種物質識別的正確率如表1所示。

表1 3 種常用核函數的 SVM 識別結果Tab.1 SVM identification results of three common kernel functions
可發現采用徑向基核函數的SVM算法識別率最高為98.33%,60個樣本中只識別錯了一個樣本,能夠很好地識別出由多個THz-TDS測量的6種未知物質。這是由于徑向基核函數是一個非線性核函數,而我們的數據特征分布具有非線性特性,因此,非線性核函數的識別效果要好于線性的核函數,說明本文采用的方法能夠很好地適用于不同測量系統之間的物質識別,具有很強的適應性和魯棒性。
本文利用THz光譜的指紋譜特性,提出一種不受光譜來源限制的物質識別方法。首先,根據參考信號和實際信號計算出THz光譜的吸收系數,然后采用小波變換的方法去除光譜中的基線和噪聲等干擾信息;由于每臺THz-TDS的離散采樣頻率不同,因此通過3次樣條插值的方法將其映射到相同的采樣頻率上,使得多來源數據能夠同時帶入分類器中進行識別。最后結合基于網格搜索法的SVM對物質進行分類。在比較3種不同的核函數后,發現采用徑向基核函數時物質識別的準確率最高且可達到98.33%。研究結果對于基于多個THz-TDS系統物質識別具有重要意義,可以為物質識別研究提供參考。