王昌隆,路紹軍
(延安大學(xué)物理與電子信息學(xué)院,陜西延安 716000)
半夏為天南星科植物半夏的干燥塊狀根莖,具有化痰止咳、降逆止嘔、消痞散結(jié)的功效[1-2]。作為臨床常用的中藥之一,半夏的臨床需求量也在日益增加,但是由于產(chǎn)量低,導(dǎo)致了很多不法分子使用水半夏或者南星冒充半夏,其市場(chǎng)價(jià)格遠(yuǎn)遠(yuǎn)低于半夏,且達(dá)不到半夏的藥用效果。市面上常售的半夏多以片狀居多,半夏、南星、水半夏切片后外觀相似,專(zhuān)業(yè)人員也很難通過(guò)肉眼去區(qū)分。目前,半夏鑒別主要有儀器分析法[3-4]和感官評(píng)價(jià)法[5]。然而這些方法檢測(cè)步驟煩瑣、時(shí)效性低、對(duì)檢測(cè)人員的專(zhuān)業(yè)要求高。因此,急需開(kāi)發(fā)一種能夠快速高效檢測(cè)出半夏偽品的鑒別方法。
高光譜技術(shù)可以同時(shí)獲得檢測(cè)對(duì)象的光譜信息和空間信息,既可以用來(lái)檢測(cè)物體的外部品質(zhì),又可以檢測(cè)內(nèi)部品質(zhì)[6],已經(jīng)在食品安全[7-11]、生物醫(yī)學(xué)[12-14]、環(huán)境檢測(cè)[15-17]等領(lǐng)域被廣泛應(yīng)用。黃華等[18]采用最小二乘法對(duì)白胡椒粉中摻雜不同比例的面粉樣品進(jìn)行近紅外高光譜圖像判別分析,識(shí)別了白胡椒粉末中摻雜的面粉。馮潔等[19]利用高光譜技術(shù)結(jié)合極限學(xué)習(xí)機(jī)等方法實(shí)現(xiàn)了金銀花和山銀花的鑒別,其訓(xùn)練集和預(yù)測(cè)集的識(shí)別率均為100%??梢?jiàn),高光譜技術(shù)結(jié)合機(jī)器學(xué)習(xí)算法在物體鑒別領(lǐng)域具有較高的識(shí)別精度。鑒于此,筆者基于高光譜技術(shù)和機(jī)器學(xué)習(xí)算法對(duì)半夏、水半夏和南星進(jìn)行鑒別,分析了不同的特征波長(zhǎng)提取方法對(duì)模型性能的影響,找到了高效、準(zhǔn)確的半夏偽品鑒別模型;此外還比較了基于全光譜數(shù)據(jù)和特征波長(zhǎng)光譜數(shù)據(jù)所建立的模型運(yùn)行時(shí)間。
1.1 試驗(yàn)材料試驗(yàn)所用完整半夏、水半夏和南星均從本地藥店購(gòu)買(mǎi)。同時(shí)考慮到樣品的外形不規(guī)則對(duì)光譜數(shù)據(jù)的影響,對(duì)半夏、水半夏和南星分別切片,切片時(shí)保持切面平整,然后干燥、去除雜質(zhì)各制備180份,共計(jì)540份片狀樣品。其中部分樣品如圖1所示。
1.2 試驗(yàn)儀器樣本的高光譜圖像使用可見(jiàn)-近紅外高光譜成像系統(tǒng)采集。該高光譜成像系統(tǒng)(圖2)主要由GaiaField v10高光譜成像儀(四川雙利合譜公司)、兩臺(tái)50 W鹵鎢燈、暗箱、計(jì)算機(jī)組成。GaiaField v10高光譜成像儀的光譜范圍為400~1 000 nm;光譜分辨率為4 nm;設(shè)定曝光時(shí)間1.1 ms;物距20 cm;圖像采集速率7.2 mm/s。
圖1 樣品切片F(xiàn)ig.1 Sample cutting
圖2 高光譜成像系統(tǒng)原理 Fig.2 Schematic diagram of hyperspectral imaging system
1.3 光譜數(shù)據(jù)采集與黑白校正為了避免外部環(huán)境的干擾,需要在暗箱中進(jìn)行高光譜圖像的采集,在采集之前,儀器需要預(yù)熱30 min使光照穩(wěn)定。且由于存在傳感器暗電流以及光照強(qiáng)度分布不均勻的問(wèn)題,需要按公式(1)計(jì)算得到黑白校正后的圖像。
(1)
式中:I0為校正前的原始反射光譜圖像;W為白板參照?qǐng)D像,采集標(biāo)定白板獲得;B0為全黑圖像,蓋上鏡頭蓋采集獲得;I為校正后的圖像。
1.4 感興趣區(qū)域(ROI)的選取在校正后的圖像中,利用ENVI 5.3軟件在每份樣本的中心區(qū)域手動(dòng)選擇大小為100像素×100像素的感興趣區(qū)域(region of interest,ROI),將感興趣區(qū)域內(nèi)的所有像素的光譜數(shù)據(jù)平均值作為該樣本的光譜數(shù)據(jù),最后得到一個(gè)540×256的數(shù)據(jù)矩陣(540為樣本個(gè)數(shù),256為波段數(shù))用于數(shù)據(jù)分析。
2.1 光譜數(shù)據(jù)預(yù)處理由高光譜成像系統(tǒng)獲得的原始光譜數(shù)據(jù)中含有試驗(yàn)環(huán)境所產(chǎn)生的噪聲,這些噪聲會(huì)影響模型的性能和效率,因此需要對(duì)原始光譜數(shù)據(jù)進(jìn)行預(yù)處理以減小或者消除這些噪聲。該研究采用小波變換來(lái)對(duì)原始光譜數(shù)據(jù)進(jìn)行預(yù)處理。原始光譜經(jīng)過(guò)小波變換處理后,可以得到低頻系數(shù)和高頻系數(shù),低頻系數(shù)能夠反映光譜曲線(xiàn)的明顯形狀,高頻系數(shù)能夠反映光譜曲線(xiàn)微小的特征變化和噪聲,通過(guò)去除高頻系數(shù)能夠減少由試驗(yàn)環(huán)境所產(chǎn)生的高頻噪音。小波變換中小波基函數(shù)和分解尺度的選擇將會(huì)有不同的效果,該研究設(shè)置小波函數(shù)Daubechies的正交小波基Db4和分解尺度為7,采用軟閾值方法去噪。
2.2 特征波長(zhǎng)提取高光譜數(shù)據(jù)的波段眾多,不同波段間的光譜信息大多存在冗余和共線(xiàn)特征,會(huì)使模型的復(fù)雜度加大。該研究采用主成分分析(PCA)、連續(xù)投影算法(SPA)、競(jìng)爭(zhēng)性自適應(yīng)重加權(quán)算法(CARS)在全光譜中提取特征波長(zhǎng)作為分類(lèi)判別模型的輸入,以減少信息冗余和共線(xiàn)性信息的影響。
2.3 分類(lèi)判別模型為了選出最優(yōu)的判別模型,采用K-S算法將樣本集按照2∶1的比例劃分為訓(xùn)練集和測(cè)試集之后,基于訓(xùn)練集采用BP、SVM、ELM共3種算法分別建立半夏偽品鑒別模型,使用所建模型鑒別測(cè)試集中的樣本,通過(guò)鑒別準(zhǔn)確率評(píng)估模型的性能。模型鑒別準(zhǔn)確率公式如下:
(2)
式中:E1為某種樣本的鑒別正確數(shù)量;E為該品種參與鑒別的實(shí)際數(shù)量;W為鑒別準(zhǔn)確率。
經(jīng)過(guò)反復(fù)調(diào)試,所選算法ELM采用“sigmoidal”作為激活函數(shù),隱含層神經(jīng)元個(gè)數(shù)設(shè)置為2(N-1),其中N為特征數(shù)。BP神經(jīng)網(wǎng)絡(luò)設(shè)定為單隱含層的3層神經(jīng)網(wǎng)絡(luò),輸入層神經(jīng)元個(gè)數(shù)由輸入變量的個(gè)數(shù)決定,隱含層神經(jīng)元個(gè)數(shù)經(jīng)過(guò)不斷調(diào)試獲得,輸出層為1個(gè)神經(jīng)元,BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練函數(shù)為T(mén)ansig和Purelin,學(xué)習(xí)函數(shù)為L(zhǎng)earngdm;迭代次數(shù)為1 000次,學(xué)習(xí)速度為0.1;SVM選擇徑向基函數(shù)(RBF)作為核函數(shù)參數(shù),在采用徑向基函數(shù)時(shí),懲罰因子(c)和核函數(shù)參數(shù)(g)是2個(gè)必須調(diào)整的參數(shù),該研究使用遺傳算法來(lái)尋找最優(yōu)的c和g,尋優(yōu)時(shí)參數(shù)設(shè)置為:最大進(jìn)化代數(shù)200,種群數(shù)量20,交叉概率0.8,變異概率為0.2。
3.1 光譜預(yù)處理和原始光譜原始光譜數(shù)據(jù)一共有256個(gè)波段,波長(zhǎng)范圍400~1 000 nm,由于存在噪聲干擾,剔除前15個(gè)波段,保留16~256波段(420~1 000 nm)的數(shù)據(jù)作為該研究所用光譜,共241個(gè)波段。
半夏、水半夏、南星共540份樣品原始光譜如圖3a所示,分別計(jì)算半夏、水半夏和南星的平均光譜數(shù)據(jù),其平均光譜曲線(xiàn)如圖3b所示。在全波段范圍內(nèi)半夏和南星、水半夏的光譜曲線(xiàn)走勢(shì)一致,在420~490 nm區(qū)間半夏的反射率值最大;在620~1 000 nm區(qū)間水半夏的反射率值最大,半夏的反射率值最小。利用小波變換預(yù)處理后的光譜如圖3c所示,對(duì)比圖3a和3c發(fā)現(xiàn),經(jīng)過(guò)小波變換處理后的光譜曲線(xiàn)與原始光譜曲線(xiàn)在總體變化趨勢(shì)上保持一致。在420~1 000 nm,3種不同類(lèi)別樣本的曲線(xiàn)走勢(shì)相似,無(wú)法直接通過(guò)光譜去區(qū)分不同類(lèi)別的樣本,需要進(jìn)一步建模分析。
注:a.原始光譜;b.平均光譜;c.小波變換預(yù)處理后的光譜。Note:a.Original spectra;b.Average spectra;c.Preprocessed spectra by wavelet transform.圖3 半夏、水半夏和南星預(yù)處理前后的光譜分布 Fig.3 Spectral profiles of Rhizoma ternata and Rhizoma Typhonii Flagelliformis and Rhizome arisaematis before and after preprocess
3.2 特征波長(zhǎng)的提取
3.2.1應(yīng)用PCA提取特征波長(zhǎng)。利用PCA進(jìn)行主成分分析,得到了半夏、水半夏、南星3類(lèi)樣本前10個(gè)成分的方差貢獻(xiàn)率圖(圖4)。由圖4可知,前2個(gè)主成分已經(jīng)保留了原始光譜信息的98%以上,可以反映主要的原始光譜信息,為盡量減小有效光譜信息丟失的影響,最終選擇前10個(gè)主成分作為特征變量用作后續(xù)模型的輸入。
圖4 前10個(gè)主成分的方差貢獻(xiàn)率Fig.4 Variance contribution rate of the top 10 principal components
3.2.2應(yīng)用SPA提取特征波長(zhǎng)。該研究將最大提取波長(zhǎng)設(shè)定為25,運(yùn)行SPA算法,根據(jù)預(yù)測(cè)均方根誤差(RMSE)最小的原則確定提取的特征變量的個(gè)數(shù),圖5是預(yù)測(cè)均方根誤差隨著提取變量個(gè)數(shù)的變化情況。由圖5可知,當(dāng)選取15個(gè)維度(圖中“□”對(duì)應(yīng)的橫坐標(biāo))時(shí)RMSECV處在較小的位置,此時(shí)RMSE為0.101 7,表明特征波長(zhǎng)包含有原始光譜較多的信息。之后維度雖然增加,但RMSE降幅很小,類(lèi)似于梯度下降中梯度收斂。原始光譜數(shù)據(jù)通過(guò)SPA降維最終生成了只有15個(gè)特征波長(zhǎng)的光譜數(shù)據(jù)。
圖5 RMSE值隨特征波長(zhǎng)數(shù)的變化Fig.5 RMSE changed with the number of characteristic wavelengths
3.2.3應(yīng)用CARS提取特征波長(zhǎng)。設(shè)置蒙特卡洛采樣次數(shù)為50,交叉驗(yàn)證的最大潛在變量數(shù)為40。圖6a表示采樣變量數(shù)隨采樣運(yùn)行次數(shù)的變化,可以看出在采樣運(yùn)行次數(shù)增加的過(guò)程中,采樣變量數(shù)在減小;在采樣前期,變量數(shù)下降速度較快,到了后期,變量數(shù)量下降速度變慢,表明在變量的篩選過(guò)程中存在“精選”和“粗選”2個(gè)過(guò)程。圖6b為RMSECV隨著采樣次數(shù)的變化,在采樣次數(shù)為25次時(shí)RMSECV達(dá)到最小值,而之后RMSECV增加,表明剔除了重要的光譜變量。圖6c是各變量變化的回歸系數(shù)的路徑,“*”號(hào)所對(duì)應(yīng)的位置表示此時(shí)RMSECV最小,保留了第25次采樣時(shí)的變量。CARS算法最終選擇了25個(gè)特征波長(zhǎng)用作后續(xù)模型的輸入。
3.3 基于全光譜和特征波長(zhǎng)的建模分析將模型的輸入分別設(shè)置為全光譜(FS)和特征波長(zhǎng)的光譜數(shù)據(jù),建立了基于BP、SVM、ELM的半夏偽品鑒別模型,測(cè)試所建模型在訓(xùn)練集和測(cè)試集中的鑒別準(zhǔn)確率。由表1可知,基于3種特征波長(zhǎng)提取方法建立的BP、SVM、ELM模型鑒別準(zhǔn)確率均大于95%,具有較高的鑒別準(zhǔn)確率,說(shuō)明可以使用高光譜技術(shù)結(jié)合機(jī)器學(xué)習(xí)算法實(shí)現(xiàn)半夏偽品鑒別。對(duì)比3種模型發(fā)現(xiàn),基于全光譜和CARS提取的特征波長(zhǎng)建立的BP、SVM和ELM鑒別模型對(duì)3種樣本的鑒別準(zhǔn)確率達(dá)到了100%。而基于其他2種特征波長(zhǎng)提取方法建立的鑒別模型精度有所下降,且基于SPA方法提取的特征波長(zhǎng)建立的鑒別模型的準(zhǔn)確率優(yōu)于PCA方法。同時(shí)基于Windows10(64位操作系統(tǒng)),Inter(R)Core i5-7200U@2.50GHZ處理器,利用MATLAB2019a對(duì)模型的運(yùn)行時(shí)間還進(jìn)行了對(duì)比。從表2可以看出,基于全光譜建立的鑒別模型的運(yùn)行時(shí)間遠(yuǎn)長(zhǎng)于基于特征波長(zhǎng)所建立模型的運(yùn)行速度。所以在減小計(jì)算量同時(shí)不減小分類(lèi)識(shí)別精度的情況下,使用CARS算法提取的特征波長(zhǎng)作為鑒別模型的輸入能夠更加快速實(shí)現(xiàn)半夏偽品鑒別。
圖6 利用CARS提取特征波長(zhǎng)的過(guò)程Fig.6 The process of extracting characteristic wavelengths by CARS
表1 基于全光譜和特征波長(zhǎng)的BP、SVM和ELM模型分類(lèi)的準(zhǔn)確率
表2 基于不同特征波長(zhǎng)提取方法建立的ELM模型的運(yùn)行時(shí)間Table 2 Runtime of ELM model based on different characteristic wavelengths extraction methods
模型的復(fù)雜度分析顯示,PCA、SPA、CARS提取的特征波長(zhǎng)數(shù)分別為10、15和25個(gè),均能有效提取特征波長(zhǎng)。比較了采用全光譜和特征波長(zhǎng)作為模型輸入所建立的BP、SVM、ELM鑒別模型的分類(lèi)準(zhǔn)確率,結(jié)果顯示在提取特征波長(zhǎng)方面,CARS算法效果最優(yōu),其中使用全光譜和CARS算法提取的特征波長(zhǎng)作為模型輸入所建立的BP、SVM和ELM鑒別模型對(duì)所有樣本的分類(lèi)準(zhǔn)確率達(dá)到了100%。最后,比較了基于全光譜和不同方法提取的特征波長(zhǎng)建立的ELM模型的運(yùn)行時(shí)間,結(jié)果顯示基于特征波長(zhǎng)建立的ELM模型能夠大大減少運(yùn)行時(shí)間,為快速鑒別奠定了基礎(chǔ)。因此,使用高光譜技術(shù)并結(jié)合合適的機(jī)器學(xué)習(xí)算法能夠快速高效地鑒別出半夏偽品,為后續(xù)開(kāi)發(fā)相關(guān)的便攜式檢測(cè)設(shè)備奠定了理論基礎(chǔ)。