白雪杰, 廉飛宇,2, 付麥霞,2
(1. 河南工業(yè)大學(xué)信息科學(xué)與工程學(xué)院,河南 鄭州 450001; 2. 河南工業(yè)大學(xué) 糧食信息處理與控制教育部重點實驗室,河南 鄭州 450001)
珍珠有著特殊的功效,在藥材、美容、裝飾等領(lǐng)域有著廣泛的應(yīng)用,貝殼內(nèi)層的化學(xué)組成與珍珠相似,也有著相同的應(yīng)用,用貝殼粉制作的珍珠,稱為貝珠。其中貝珠有用新鮮貝殼制作的,品質(zhì)較好,也有用死亡半年以上貝殼制作的,品質(zhì)較差,近年來出現(xiàn)了很多用死亡貝殼冒充新鮮貝殼的案例,侵害了消費者的權(quán)益。因此快速準確地鑒別貝殼種類,對保證產(chǎn)品質(zhì)量和保護消費者權(quán)益有著重要的意義。目前對貝殼粉的檢測有較為經(jīng)典的液相色譜儀測量貝殼氨基酸含量法[1],但是該方法對樣品有損且過程緩慢。還有光譜學(xué)方面的傅里葉變換紅外光譜法,文獻[2]以不同貝殼粉的碳酸鈣文石在紅外光譜中的特征吸收峰位不同作為鑒別方法[2],但是碳酸鈣文石的顆粒粒徑大小、晶體結(jié)構(gòu)受貝殼粉樣品的制備差異影響較大,使得即使是同一種貝殼粉,在不同的制備條件下,其熱相變[3]行為也存在著不可忽略的差異,因此該方法誤差較大。除此之外還有X射線衍射法、指紋圖譜法、電感耦合等離子等分析方法[4-5],這些方法操作復(fù)雜,耗費時間長,人力要求高,對貝殼樣品的破壞程度大,難以做到實時檢測。與這些方法不同,THz-TDS技術(shù)操作簡單、不同物質(zhì)的特征區(qū)分明顯、魯棒性高。尤其在同類的光譜分析技術(shù)中,THz-TDS技術(shù)具有較寬的探測帶寬和較高的探測信噪比,而且很容易就可獲得所需的光學(xué)參數(shù),同時由于THz較小的脈沖能量,也不會對樣品造成破壞[6-8]。但是在太赫茲光譜中,新舊貝殼分別對應(yīng)的譜之間相互存在交叉,無法人工分辨。
在分類識別方面,支持向量機(SVM)被廣泛應(yīng)用,但是對于數(shù)據(jù)維數(shù)較多,特征存在較大冗余的問題,單純使用支持向量機算法,精度方面仍有欠缺。目前常用于降維的機器學(xué)習(xí)算法主成分分析(PCA),不僅可以提取到數(shù)據(jù)最主要的特征,降低冗余,還可以極大地減少計算量,故產(chǎn)生PCA—SVM的結(jié)合算法。但使用該算法只能將4種太赫茲光譜分別進行實驗,從中選取精度最高的1種,這樣就造成了其余3種光譜數(shù)據(jù)的浪費。
綜上,本文經(jīng)過研究擬提出一種PCA—Adaboost—SVM的識別模型,利用太赫茲時域光譜技術(shù)得到不同種類貝殼的太赫茲時域光譜、頻域光譜、折射率譜和吸收譜的數(shù)據(jù),再通過PCA降維、Adaboost多維特征融合以及SVM分類的方法,得到新舊貝殼分類預(yù)測模型。該模型重在將特征進行融合,充分利用4種光譜數(shù)據(jù)。經(jīng)實驗研究表明,與其他算法相比,本文算法模型具有更好的分類精度。
為了充分利用4種光譜信息,本文開發(fā)了一種PCA—Adaboost—SVM識別模型。該模型首先采用主成分分析法(PCA)從4種光譜中提取特征信息,以降低用于識別的特征維數(shù)[9],然后把提取到的主成分進行Adaboost多維特征融合,最后輸入到核函數(shù)為 Radial Basis Function 的支持向量機 (SVM)對貝殼種類進行分類預(yù)測,其算法機制架構(gòu)如圖1所示。此方法旨在提高識別的準確率、模型的穩(wěn)定性以及模型的可行性。
圖1 算法機制框架
1.2.1 主成分分析(PCA)
1) 數(shù)據(jù)歸一化,也稱作數(shù)據(jù)標準化。數(shù)據(jù)歸一化的方法有很多,這里選擇Z-score標準化,對上述數(shù)據(jù)做如下處理:
1.2.2 支持向量機(SVM)
如果原始數(shù)據(jù)是線性的,那么可以找到一個或多個閾值將數(shù)據(jù)進行分類,但如果原始數(shù)據(jù)是非線性的,那么無法直接找到這些閾值,此時就需要利用SVM算法。SVM算法本質(zhì)就是將低維數(shù)據(jù)映射到高維,因為從理論上說非線性可分的原始數(shù)據(jù)被升到無限維時一定可以變?yōu)榫€性可分[11]。假設(shè)輸入訓(xùn)練集為:
其中C是事先設(shè)定的參數(shù),沒有固定值,需根據(jù)實際情況確定,為松弛變量,為正則項。公式(4)就是要在滿足限制條件的情況下求的最小值,但是直接求解較為困難,故可根據(jù)優(yōu)化理論將上述問題轉(zhuǎn)換為等價的對偶問題進行求解。將(4)化為對偶問題得到公式(5),故需求解公司(5)即可。
1.2.3 自適應(yīng)提升(Adaboost)
在實際情況中,一個分類器往往難以達到很好的分類效果,就算是考慮了全方面,其分類效果也不盡如意,而且上升空間極其受限,而Adaboost很好地解決了這一問題。Adaboost是一種集成學(xué)習(xí)算法,其核心思想是將多個分類器加權(quán)組合成一個強分類器,各個分類器的結(jié)果是相互關(guān)聯(lián)的,后面的分類器會受到前面分類器分類效果的影響并根據(jù)影響調(diào)整和設(shè)定當前分類器的權(quán)重,每一級的分類器的關(guān)注點并不一樣,所以通過加權(quán)聯(lián)合起來便可以達到很好的效果[12]。
Adaboost算法分類精度高,其具體步驟如下。設(shè)輸入數(shù)據(jù)集為: T ={(xi,yi)},i=1~N,輸出為二分類暫定為。
1)初始化采樣權(quán)重:
3)更新權(quán)值分布:
4)回到步驟2)循環(huán)M次;
5)得到最終的分類器:
圖2 Adaboost算法圖解
2.1.1 實驗原料與樣品制備
本次實驗選擇新鮮貝殼1種,陳舊貝殼3種,每種隨機選取10個作為樣本。實驗前需制備成樣品,每種貝殼的10個樣本均需研磨,然后隨機抽取部分粉末進行組合,作為該種貝殼的粉末,再經(jīng)過干燥、稱重、壓片、厚度測量、樣品編號等步驟完成制作。4種貝殼樣品的制備方式如表1所示。
表1 樣品制作方式
2.1.2 實驗儀器
實驗裝置采用河南工業(yè)大學(xué)糧食信息處理與控制教育部重點實驗室的Zomega-Z3型THz-TDS系統(tǒng)。裝置如圖3所示。
圖3 THz-TDS系統(tǒng)
THz-TDS系統(tǒng)采用的是鈦藍寶石飛秒鎖模脈沖激光器,其產(chǎn)生的激光通過偏振射束分離器分為泵浦光和探測光。泵浦光可經(jīng)調(diào)制入射到GaAs光電導(dǎo)天線,激發(fā)產(chǎn)生THz脈沖[13]。穿過貝殼樣品的THz脈沖被拋物鏡集聚在ZnTe探測器上,并與探測光在此會聚。由于穿過樣品時THz脈沖的相位和幅值會發(fā)生改變,這樣樣品的信息就以幅值與相位的形式被THz脈沖攜帶并聚集到探測器上。最后利用探測系統(tǒng)對THz脈沖信號進行測量,通過不斷改變延遲線,即可得到THz信號的時域波形,然后將得到的信號送入鎖相放大器進行放大,接著輸進計算機作數(shù)據(jù)處理。
測量時為減少空氣中其他物質(zhì)(主要為水分)對測量產(chǎn)生的影響,將THz的整個光路密封在充滿干燥氮氣的容器里,以提高測量結(jié)果的信噪比。
樣品測試之前設(shè)置測試條件:溫度20 ℃;濕度小于1.0%(充干燥空氣);激光中心波長800 nm、重復(fù)頻率 80 MHz、脈沖寬度 100 fs、輸出功率 1.10 mW;泵浦光強 150 mW;探測光強 13 mW;天線電壓 79 V;系統(tǒng)信噪比 5 000;譜分辨率 29.3 GHz。每個樣品測量3次,取其平均值。
太赫茲的波譜范圍在0.1~3 THz均有效,但是越靠近邊界受到干擾等不確定因素的影響越大[14],所以通過數(shù)次的實驗和觀察,確定0.2~1.6 THz頻譜范圍作為分析重點關(guān)注范圍。通過實驗得到了4種樣品的時域光譜圖、頻域光譜圖、折射率光譜圖以及吸收光譜圖,已知no.1、no.3、no.4為陳舊貝殼,no.2為新貝殼。
圖4顯示了4種貝殼樣品的典型太赫茲時域光譜。從時域譜中可見樣品對太赫茲光吸收較多,與參考信號(ref)氮氣相比,在幅度上衰減很大,在時間上有一定的延遲。圖4(a)為參考信號和4種貝殼樣品的時域光譜,圖4(b)為四種貝殼樣品的時域光譜。
圖4 太赫茲時域光譜
通過對時域波形(如圖4所示)進行快速傅里葉變換(FFT),得到頻域譜(如圖5所示),由頻譜可見,貝殼樣品主要吸收的是太赫茲的高頻部分,從而使頻譜寬度變窄。圖5(a)為參考信號和4種貝殼樣品的頻域光譜,圖5(b)為四種貝殼樣品的頻域光譜。
圖5 太赫茲頻域光譜
通過公式計算,可以得到樣品的折射率譜如圖6所示。由折射率譜上讀出,1 THz處折射率:貝殼1號的折射率為2.035, 貝殼2號的折射率為2.78,貝殼3號折射率2.034,貝殼4號的折射率為1.703。由圖中可得,在0.2~0.8 THz之間,貝殼1號和貝殼2號的折射率相似,而在1.0 THz 之后,貝殼1號和貝殼3號的折射率相似。
圖6 4種貝殼樣品的太赫茲折射率光譜
由公式計算,可以得到樣品的吸收光譜如圖7所示。由吸收譜可見4個樣品的吸收均隨頻率的增加而增加,其中貝殼1號和貝殼2號的吸收系數(shù)光譜的總體趨勢基本一致,在0.842 THz處存在明顯的吸收峰。而貝殼2號在0.732 THz處存在一個較大的吸收峰,貝殼 4 號在 0.586 THz、0.805 THz處存在兩個較小的吸收峰。
圖7 4種貝殼樣品的太赫茲吸收光譜
雖然從粉末樣品外觀來看,新舊貝殼區(qū)別并不明顯,但是太赫茲譜并非完全重疊,在特征頻率處仍有較大差別。由圖4可知,與參考信號氮氣相比,貝殼樣品的時域光譜幅值衰減較大,而且存在時延,但是它們均集中在一個區(qū)域,且波形相似,這說明貝殼樣品有著自己的特征時域光譜。觀察圖4(b)可知4種貝殼樣品的時域光譜彼此交叉,直接人工分別變得不切實際而且誤差較大,所以需要利用更復(fù)雜的機器學(xué)習(xí)算法來提取特征并進行分類。
圖5中4種貝殼樣品的頻域光譜表現(xiàn)好一些,在0.3~0.4 THz間,新舊貝殼頻譜存在幅值上的差別,可進行分類的判決依據(jù),但是為了更準確,仍采用機器學(xué)習(xí)進行分類。
圖6所示的太赫茲折射率光譜圖中,在0.78 THz之后,新舊貝殼區(qū)分非常明顯,新貝殼樣品的折射率明顯高于其他3種陳舊貝殼。利用這一方面可以做很好的區(qū)分。圖7太赫茲吸收光譜圖中新貝殼樣品在0.732 THz處存在一個明顯的較大的吸收峰,而其他3種陳舊貝殼在此及其附近吸收光譜卻較為平滑,它們的吸收峰則多出現(xiàn)在后面的較高頻率部分,據(jù)此可作為分類的重要依據(jù)。針對上述問題,本文采用的機器學(xué)習(xí)算法為PCA、Adaboost與SVM聯(lián)用的方法。
2.4.1 PCA 分析
PCA降低了原始數(shù)據(jù)的特征維度[15],以太赫茲頻域光譜為例,本次實驗運用的PCA算法提取到了4個特征向量并按從大到小的順序排列,4個特征向量對應(yīng)的特征值分別為90%、6%、1.4%和0.3%,集成了原始數(shù)據(jù)97.7%的信息量,從理論上來說,已經(jīng)滿足大于80%,可用這4維代表原始256維的數(shù)據(jù)。在實驗中發(fā)現(xiàn),因為第一個特征值為90%,已經(jīng)占據(jù)了原始數(shù)據(jù)大部分的信息,只用它自己去做分類,分類準確率已經(jīng)能夠達到81%,而將4個主成分全部用于訓(xùn)練的話,會對分類的準確度進一步提高。
2.4.2 PCA—SVM 分析
使用PCA分別處理了太赫茲時域光譜、頻域光譜、折射率譜以及吸收譜的數(shù)據(jù)。分別得到主成分個數(shù)為4、4、5和4個。將4種主成分特征分別作為SVM的輸入特征用作分類測試。在進行PCA—SVM聯(lián)合算法之前,需確定參數(shù)和C的最佳值。從理論分析角度,C應(yīng)從范圍內(nèi)尋找最佳值,應(yīng)從范圍內(nèi)尋找最佳值。按照平常的暴力搜索法可以找到結(jié)果,但是由于本次實驗數(shù)據(jù)量較大,使用此方法不便,故采用網(wǎng)絡(luò)搜索優(yōu)化算法,確定參數(shù)C的最佳值為2.1。利用1.2.2提到的均方根誤差(RMSE)方法,根據(jù)經(jīng)驗縮短搜索范圍,得到與均方根誤差的統(tǒng)計折線圖表,如圖8所示。通過圖8可以得到最優(yōu)值為4.4。
圖8 本次實驗參數(shù)與RMSE統(tǒng)計關(guān)系圖
為了實現(xiàn)最好的分類效果,本文將1.2.2提到的3種核函數(shù)均分別進行了分類實驗,以太赫茲時域光譜為例得到識別效果如表2所示。從表2可知,PCA—SVM算法的分類效果會因核函數(shù)不同而受到影響[16-17],在本次實驗中,效果最佳的是徑向基核函數(shù),其次是多項式核函數(shù),最差的為線性核函數(shù)。與此同時還可知所有樣本的分類預(yù)測準確率均在85%以上,說明PCA—SVM已經(jīng)達到初步預(yù)測分類要求,但為了更加準確,還需進行后續(xù)改進實驗。根據(jù)結(jié)論,在后續(xù)實驗中,均采用徑向基核函數(shù)進行分類預(yù)測工作。
表2 不同核函數(shù)識別效果
2.4.3 PCA—Adaboost—SVM 分析
在2.4.2已經(jīng)給出核函數(shù)為徑向基核函數(shù)的PCA—SVM算法利用太赫茲時域光譜數(shù)據(jù)進行分類識別的總識別準確率為90%,同樣地,以徑向基核函數(shù)的PCA—SVM算法處理太赫茲頻域光譜、太赫茲折射率譜和太赫茲吸收譜的總識別準確率分別為90%、91%和92%。雖然識別結(jié)果已經(jīng)非常不錯,但只是每種光譜數(shù)據(jù)單獨作用的結(jié)果,如果將4種光譜融合起來,相信仍有提升空間。故決定采用PCA—Adaboost—SVM算法,其核心思想是將上述通過4種光譜數(shù)據(jù)分別利用PCA—SVM算法分類器得到的4種總識別準確率,使用Adaboost加權(quán)系數(shù)計算原理,將4種光譜的主成分分別賦予權(quán)重,組合成新的主成分,也就是實現(xiàn)了多維特征的融合[18-22],最后將融合后的主成分特征送入SVM進行訓(xùn)練。其結(jié)果等效于將4個強分類器集成為更強的分類器。
在1.2.3已經(jīng)討論了Adaboost的具體流程,但在這里需稍加修改,這里的輸入數(shù)據(jù)集為4種光譜的主成分即4、4、5和4個主成分。不使用錯誤率,而使用總識別準確率記為。然后給4種光譜提取到的主成分分別乘以對應(yīng)的加權(quán)系數(shù),得到新的組合主成分特征集,實現(xiàn)主成分的融合,雖然這樣做使得特征維度升高,但畢竟匯集了4種光譜的特征信息,信息量得到大幅提升。表3列出了該模型的識別效果。
表3 PCA—Adaboost—SVM模型識別效果
2.4.4 模型性能比較
為了說明PCA—Adaboost—SVM模型在新舊貝殼方面分類預(yù)測性能更優(yōu),本文特測試了常用到的BP神經(jīng)網(wǎng)絡(luò)、PCR、PLS三類模型對新舊貝殼的分類預(yù)測效果,加上2.4.2的PCA—SVM模型,共5種結(jié)果列于表4所示。
表4 5種模型的分類預(yù)測性能
通過表4可知,PCA降維后再使用SVM分類使得準確率大大提高,達到了91%,而常用的BP、PCR、PLS識別準確率卻在80%以下,有的甚至剛到50%。這樣的準確率用于實際工程是不可取的。為了再次提高準確率,本文又使用了PCA—Adaboost—SVM模型,利用多維特征的融合,將4種光譜信息得到的主成分組合到一起使用SVM進行分類預(yù)測,而且將準確率提升至98%的高度。綜上所述,對比可得結(jié)論為PCA—Adaboost—SVM模型在新舊貝殼方面的識別性能優(yōu)于其他模型。
2.4.5 識別方法性能比較
為充分說明本文提出的預(yù)測分類方法的優(yōu)越性,特做紅外光譜法、X射線衍射法、液相色譜法等分類實驗,并就1)樣品破壞程度、2)總識別準確率、3)識別方法的穩(wěn)定性三個關(guān)鍵指標的測試分析,給出綜合評判結(jié)果,證明本文方法最優(yōu)這一結(jié)論。
其中每種分類方法做三次實驗,取均值作為前兩個指標的測試結(jié)果,第三個指標取第二個指標的方差作為測試結(jié)果。所有測試數(shù)據(jù)均采用1.2.1提到的Z-score算法作歸一化處理,并用百分比的形式表示。測試計算結(jié)果如表5所示。
由表5可知,X射線衍射法雖然對樣品的破壞程度較低,穩(wěn)定性較好,但是存在輻射,安全性差;紅外光譜法與熱相變動力學(xué)法[23]由于對樣品的高溫煅燒,已使得物質(zhì)的化學(xué)組成發(fā)生改變,無法重復(fù)利用,故破壞程度是100%的,識別準確率也較低,由引言的理論分析可知,其穩(wěn)定性不會很好,與實驗結(jié)果吻合;液相色譜法與電感耦合等離子法以提取化學(xué)組成元素為目的,對樣品也是完全破壞,但是準確率和穩(wěn)定性較為可觀;指紋圖譜法應(yīng)用較少,不過破壞程度低,識別準確率與穩(wěn)定性均在可接受范圍內(nèi);本文方法在三個關(guān)鍵指標中均位居前列,是相較最優(yōu)的方法。
表5 測試計算結(jié)果
本文研究表明,太赫茲時域光譜技術(shù)結(jié)合機器學(xué)習(xí)算法,對識別新舊貝殼有著良好的效果。新舊貝殼樣品其實是在水分子含量方面有著較大的區(qū)別,而太赫茲時域光譜技術(shù)正好可以將其以數(shù)據(jù)的形式直觀地表現(xiàn)出來,得到時域光譜、頻域光譜、折射率譜和吸收譜,然后采用PCA降維,Adaboost多維特征融合,SVM分類的方法,將識別準確率提升至98%的高度。同時與其他文獻提到的紅外光譜法、X射線衍射法、液相色譜法等方法相比,太赫茲時域光譜加機器學(xué)習(xí)分類法具有破壞性小、識別率高、穩(wěn)定性好等優(yōu)點。