王靖會, 曹崴, 冷全陽, 程嬌嬌, 王艷輝, 沈海鷗, 陳雷, 王朝輝
(1.吉林農(nóng)業(yè)大學(xué)信息技術(shù)學(xué)院,長春 130118;2.吉林省長春市凈月開發(fā)區(qū)福祉街道辦事處,長春 130122;3.吉林農(nóng)業(yè)大學(xué)資源環(huán)境學(xué)院 長春 130118;4.吉林省長春市交警支隊南關(guān)區(qū)大隊,長春 130000;5.吉林農(nóng)業(yè)大學(xué)食品工程技術(shù)學(xué)院,長春 130118)
大米是我國主要糧食之一,不同產(chǎn)地大米的口感與營養(yǎng)價值具有較大差異,而大米外觀及品質(zhì)用肉眼難以鑒別,使得低質(zhì)高價、混淆真?zhèn)?、產(chǎn)地造假等現(xiàn)象日益嚴重。傳統(tǒng)鑒別方法包括感官識別、近紅外光譜、礦物質(zhì)元素等,都有一定的劣勢與不足。感官評價不僅對從業(yè)人員有很高的經(jīng)驗要求,且容易受主觀影響而錯判,近紅外光譜方法需要對大米進行粉碎處理,礦物質(zhì)元素方法實驗繁瑣且周期長,均無法滿足快速無損的確證需求。
近年來,高光譜圖像技術(shù)在無損檢測領(lǐng)域發(fā)展迅速,其在獲取樣本光譜信息的同時也可以獲取樣本的圖像信息,具有快速、無損、準確性高等特點,被廣泛應(yīng)用于農(nóng)產(chǎn)品的產(chǎn)地鑒別、損傷識別和品質(zhì)檢測中[1-9]。但其數(shù)據(jù)高維性以及相鄰波長數(shù)據(jù)點存在共線性和冗余等問題,限制了在實際應(yīng)用中的便利性[10]。降維是對高維度數(shù)據(jù)特征的預(yù)處理,基于高維度的數(shù)據(jù)保留下最重要的一些特征,去除噪聲和不重要的特征,從而提升數(shù)據(jù)處理的速度[11-14]。多維尺度分析(multidimensional scaling,MDS)是一種在低維空間去展示高維多元數(shù)據(jù)的可視化方法,其基本目標是將原始數(shù)據(jù)“擬合”到一個低維坐標系中,使得由降維所引起的任何形變最小。在高光譜特征提取與降維中,MDS既能保留光譜所包含的維度信息,又不會對降維后的數(shù)據(jù)特征產(chǎn)生衰減[15]。目前,基于高光譜數(shù)據(jù)建立分類模型的相關(guān)研究多是基于支持向量機(support vector machine,SVM)、偏最小二乘判別(partial least squares discrimination analysis,PLS-DA)、多層感知機(multi-layer perceptron,MLP)等[16-18]。隨著實際應(yīng)用中高光譜圖像數(shù)據(jù)量的不斷增加,SVM、PLS-DA、MLP等方法的訓(xùn)練方式都存在反復(fù)迭代的問題,大大增加了訓(xùn)練時間。
由于高光譜數(shù)據(jù)中包含大量非線性數(shù)據(jù),本文選擇更適應(yīng)于非線性數(shù)據(jù)處理的在線序列極限學(xué)習(xí)機(online sequential extreme learning machine,OS-ELM)算法[19]、極限學(xué)習(xí)機(extreme learning machine,ELM)算法[20]與多層感知機(MLP)算法[21],分別建立大米產(chǎn)地確證模型,并在分類準確率與訓(xùn)練時間上進行對比分析,探究一種適用于大米產(chǎn)地確證的高效、準確、穩(wěn)定的方法。
1.1.1大米樣本采集 梅河口市是吉林省主要的優(yōu)質(zhì)粳稻生產(chǎn)基地,是世界黃金糧食生產(chǎn)帶。梅河大米以其米飯?zhí)赜械南?、粘、滑、軟而聞名,為我國地理標識保護產(chǎn)品。本研究樣本采集于吉林省梅河口市水稻主產(chǎn)區(qū)和松原、輝南、大安等其他水稻產(chǎn)區(qū)。遵循空間采樣布點原則[22],在梅河口市主產(chǎn)區(qū)采集成熟的水稻樣本585組,非梅河產(chǎn)區(qū)采集水稻樣本405組,具體采樣區(qū)域及采樣點分布如表1所示。利用JLGJ4.5礱谷機、HNMJ3碾米機(河南鄭州南北儀器設(shè)備有限公司)對其進行脫殼、碾米處理后,每組樣本隨機選取15粒米作為高光譜檢測樣本。
表1 大米樣本采集點分布表
1.1.2高光譜圖像采集及校正 利用高光譜圖像采集系統(tǒng)(圖1)采集大米原始高光譜數(shù)據(jù),該系統(tǒng)波長范圍為400~1 000 nm,由2×2 binning壓縮方式的成像光譜儀(Imspector V10E-QE,Spectral Imaging Ltd.,Oulu,F(xiàn)inland)、P/N 9130線光源及2900ER控制器(Illumination Technologies,USA)、C8484-05G相機(Hamamatsu Photonics,Japan)、V23-f/2.4 030603鏡頭(Specim,F(xiàn)inland)、GZ02DS20可升降樣品臺(光正公司)和PSA200-11-X電控位移臺(卓立漢光公司)構(gòu)成,采用9589(EKE-ER,Philips公司)全光譜鹵素?zé)魹楣庠础T谙鄼C與鏡頭之間加入2 mm的近攝接圈以保證獲取清晰地樣品圖像。為了有效獲取能代表大米產(chǎn)地的高光譜信息,經(jīng)多次試驗對比后,將大米樣本按照3×5網(wǎng)格分布,以單粒隨機擺放至載物臺黑板上,物距為13.5 cm,曝光時間為15 ms,位移臺移動速度為1.62 mm·s-1。
圖1 高光譜圖像采集系統(tǒng)
為避免在高光譜成像系統(tǒng)中暗電流的影響以及光源強度分布不均勻等情況,采用Spectracube 2.75b(spectral imaging ltd,oulu,finland)軟件進行高光譜圖像采集和黑白校正,再對樣本進行高光譜圖像采集,如式(1)所示。
(1)
式中,E0為未校正光譜圖像;P為標準白板(spectral on,lab sphere lnc,USA)的全白標定圖像;Z為關(guān)閉電源蓋上鏡頭蓋后的全黑標定圖像。
感興趣區(qū)域(region of interest,ROI)選取方法直接影響建立模型的分類精度。本文在3×5網(wǎng)格內(nèi)所有單粒米樣的中間部位選取,采用如圖2所示的10×10像素的紅色正方形區(qū)域作為感興趣區(qū)域,通過計算感興趣區(qū)域內(nèi)所有像素的均值反射率得到每個樣本的平均光譜數(shù)據(jù)。均值反射率計算如式(2)所示。
圖2 感興趣區(qū)域選擇
采用ENVI 5.0對高光譜圖像ROI進行選擇,感興趣區(qū)域內(nèi)均值反射率由ENVI5.0計算生成。基于Python3.6軟件提取高光譜圖像對應(yīng)的光譜數(shù)據(jù)。采集的高光譜圖像共549個波段。
為提高模型分類準確率與穩(wěn)定性,本文分別采用標準正態(tài)變量變換(standard normal variate,SNV)、多元散射校正(multiplicative scatter correction,MSC)[23]及卷積平滑(savitzky-Golay,S-G)[24]方法對光譜進行預(yù)處理,將預(yù)處理后的數(shù)據(jù)導(dǎo)入MLP、ELM、OS-ELM模型,并根據(jù)模型分類性能對預(yù)處理方法進行選擇,以獲得最佳預(yù)處理方法。預(yù)處理軟件采用Matlab.2016b。
由于全波段光譜含有大量冗余信息,導(dǎo)致算法性能下降,本文采用Python3.6編寫及運行MDS算法,從第51~499波段(468~942 nm)的光譜中提取特征波長,輸入測試集與訓(xùn)練集樣本的光譜數(shù)據(jù)和類別編號,共采用13個特征波長用于后續(xù)建模分析。
由于高光譜數(shù)據(jù)中所包含大量非線性特征數(shù)據(jù),本文選取能夠?qū)崿F(xiàn)復(fù)雜非線性映射的分類方法建立產(chǎn)地確證模型,建模過程由Python語言編程實現(xiàn)。本文運用Python第三方庫pandas程序包中的Sample函數(shù)實現(xiàn)數(shù)據(jù)分層抽樣以保證數(shù)據(jù)劃分的隨機性和一致性,在保證梅河與非梅河的大米樣本比例一致的前提下將原始數(shù)據(jù)集的990個樣本以7∶3的比例隨機劃分為訓(xùn)練集和測試集,其中693個訓(xùn)練集樣本用于模型的建立和優(yōu)化,297個測試集樣本用于外部精度檢驗。
1.5.1多層感知機 多層感知機網(wǎng)絡(luò)(MLP)是一種誤差反向傳播的多層前饋神經(jīng)網(wǎng)絡(luò)算法,本文采用Python語言,首先導(dǎo)入sklearn庫中的neural_network.MLPClassifier包,加載訓(xùn)練數(shù)據(jù),之后訓(xùn)練模型,最終輸出MLP模型的測試集評價。
1.5.2極限學(xué)習(xí)機 極限學(xué)習(xí)機(ELM)是一種無需在訓(xùn)練過程中反復(fù)調(diào)整輸入層與隱含層間的連接權(quán)值,且隱含層神經(jīng)元的閾值是隨機產(chǎn)生的算法[25-27]。本文采用Python語言,導(dǎo)入sklearn庫中的metrics驗證方法,首先輸入樣本集、激活函數(shù)和隱藏層節(jié)點數(shù),之后隨機設(shè)置輸入權(quán)值和隱含節(jié)點偏置,計算隱藏層輸出矩陣以及輸出矩陣的廣義逆矩陣,再計算極限學(xué)習(xí)機的隱含層到輸出層的權(quán)值,最后輸出權(quán)值,實現(xiàn)ELM模型。
1.5.3在線序列極限學(xué)習(xí)機 在線序列極限學(xué)習(xí)機(OS-ELM)是ELM的在線學(xué)習(xí)改進算法。本文采用Python語言,在ELM模型算法的基礎(chǔ)上加入在線序列階段,得到單個樣本或者樣本數(shù)據(jù)塊初始階段所學(xué)習(xí)的單隱層前饋神經(jīng)網(wǎng)絡(luò)的輸出權(quán)重,實現(xiàn)OS-ELM模型。
1.6.1模型性能評估 混淆矩陣(confusion matrix)是一種用可視化方式呈現(xiàn)算法性能的評價標準,它通過矩陣描述樣本數(shù)據(jù)的真實類別屬性和預(yù)測結(jié)果的關(guān)系[28]。本文模型準確率由混淆矩陣計算得出,如式(2)所示。
(2)
式中,TP為真正例,定義為被判定為梅河樣本,事實上也是梅河樣本;TN為真反例,定義為被判定為非梅河樣本,事實上也是非梅河樣本;FP為假正例,定義為被判定為梅河樣本,事實上是非梅河樣本;FN為假反例,定義為被判定為非梅河樣本,事實上是梅河樣本。
1.6.2模型效率評估 為了驗證OS-ELM和ELM訓(xùn)練效率上的性能優(yōu)勢,本文隨機選取500組樣本數(shù)據(jù)分別訓(xùn)練3種算法,計算三種算法的訓(xùn)練時間。對于OS-ELM算法,設(shè)置隱含層數(shù)L為10、選取參與初始學(xué)習(xí)階段的樣本個數(shù)N0為100、數(shù)據(jù)塊長度為[75,250]區(qū)間的隨機數(shù);ELM算法設(shè)置隱含層數(shù)L為10,MLP隱含層數(shù)亦為10。
為了模擬實際應(yīng)用中不斷地分批次得到新數(shù)據(jù)的數(shù)據(jù)獲取途徑,本文假設(shè)分五次每次獲得100組共500組數(shù)據(jù)進行模型訓(xùn)練與測試,OS-ELM在線學(xué)習(xí)數(shù)據(jù)塊長度設(shè)置為20,對OS-ELM和ELM同時輸入100組變量作為第一批數(shù)據(jù)進行訓(xùn)練,并依次加入100組訓(xùn)練樣本作為新添加數(shù)據(jù),分別計算OS-ELM與ELM的訓(xùn)練時間。
為了避免光譜區(qū)間邊緣響應(yīng)低、噪聲大對模型所造成的負面影響,本文剔除了1~50(408~467 nm)和500~549(944~100 7 nm)波段光譜,選取第51~499(468~942 nm)波段光譜進行分析。
將經(jīng)標準正態(tài)變量變換(SNV)、多元散射校正(MSC)及卷積平滑(S-G)方法預(yù)處理并進行樣本劃分后的高光譜數(shù)據(jù)作為輸入變量,計算MLP、ELM、OS-ELM三種方法的分類準確率,結(jié)果如表2所示。可以看出,SNV與S-G預(yù)處理方法對分類準確率有一定程度的負面影響,而基于MSC處理后的分類結(jié)果與全波段分類結(jié)果相比略有提高,其中所建立的MSC-OS-ELM模型的分類效果最優(yōu),分類準確率達到了98.3%,說明建立的模型具有良好的性能,利用MSC對光譜信息進行預(yù)處理可以得到良好的產(chǎn)地確證模型。
表2 基于預(yù)處理方法的全波段分類準確率對比
2.2.1特征波長分析 經(jīng)MDS提取13個特征波長為484、510、536、560、608、720、750、780、841、854、899、921、932 nm。選取的特征波長位置如圖4所示。據(jù)已有研究,510、560、750 nm 的吸收波段主要與大米中水分、脂肪、淀粉和蛋白質(zhì)的吸收有關(guān)[29]。位于608、536 和720nm 的吸收波段與大米中直鏈淀粉和支鏈淀粉的吸收相關(guān)[35];780 nm左右的光譜吸收主要與水分子中O-H鍵的第二和第三倍頻峰的振動和延伸相關(guān)[36]。而蛋白質(zhì)、脂肪、糖等大米內(nèi)部重要的化學(xué)指標均可以由高光譜信息表征,且大米顆粒中最主要的水分和淀粉等理化指標,因大米的產(chǎn)地不同其含量也會有一定的區(qū)別[37]。這些對應(yīng)關(guān)系從大米理化指標上進一步驗證MDS降維方法選取的特征波段是可靠的。
圖3 特征波長選擇
2.2.2模型性能評估結(jié)果 在990組高光譜樣本中,將經(jīng)MSC預(yù)處理與MDS降維后提取的特征波長高光譜數(shù)據(jù)按照隨機劃分好的693組訓(xùn)練集與297組測試集進行三種模型的訓(xùn)練與測試,測試結(jié)果如表3所示。
表3 全波段光譜數(shù)據(jù)與降維后數(shù)據(jù)分類準確率對比
通過對基于全波段光譜數(shù)據(jù)和特征波長光譜數(shù)據(jù)所建立的判別模型進行對比可知,MDS-MLP分類準確率相比較于全波段光譜數(shù)據(jù)模型下降了1.3%,MDS-ELM下降了1.1%,MDS-OS-ELM則下降了0.9%。基于特征波長數(shù)據(jù)的分類模型識別率下降均在1.3%以內(nèi),其中MDS-OS-ELM準確率能達到97%以上,而輸入變量減少了96.6%,大量冗余信息被剔除。
2.3.1全樣本訓(xùn)練時間對比 OS-ELM、ELM、MLP三種模型訓(xùn)練時間如表4所示??梢钥闯?,本文采用的OS-ELM算法在訓(xùn)練時間上與ELM基本相同,對比于MLP算法,在相同的參數(shù)取值下,模型訓(xùn)練時間極大地減少。
表4 三種模型訓(xùn)練時間對比
2.3.2累次增加樣本訓(xùn)練時間對比 不同樣本訓(xùn)練時間比較結(jié)果如表5所示??梢钥闯?,在數(shù)據(jù)樣本分批次獲得的情況下,對于初始的100組樣本,OS-ELM訓(xùn)練時間略高于ELM。而隨著分批次數(shù)據(jù)樣本的加入,ELM需要找回已經(jīng)學(xué)習(xí)過的初始的100組數(shù)據(jù)與新加入的數(shù)據(jù)一起訓(xùn)練網(wǎng)絡(luò),OS-ELM由于在任何時候都僅需對新加入的樣本進行學(xué)習(xí)的特點,避免了重復(fù)學(xué)習(xí)已經(jīng)訓(xùn)練過的舊樣本。另外,對于OS-ELM,數(shù)據(jù)在學(xué)習(xí)完成之后立即刪除,不再占用RAM運行內(nèi)存空間,因而訓(xùn)練時間低于ELM。同理,加入的數(shù)據(jù)樣本越多,OS-ELM的優(yōu)勢越明顯。
表5 OS-ELM與ELM按比例增加數(shù)據(jù)后模型訓(xùn)練時間對比
多層感知機網(wǎng)絡(luò)(MLP)是一種誤差反向傳播的多層前饋神經(jīng)網(wǎng)絡(luò)算法,是由若干層感知機神經(jīng)元組成的非線性神經(jīng)網(wǎng)絡(luò)。MLP不僅結(jié)構(gòu)簡單且易于實現(xiàn),可以通過共同作用的多層神經(jīng)元解決大多數(shù)線性不可分的問題。但訓(xùn)練速度較慢,有時需要通過特征工程對輸入數(shù)據(jù)進行特征提取[30]。極限學(xué)習(xí)機(ELM)是一種批量學(xué)習(xí)算法,由輸入層、隱含層和輸出層組成,由于其無需在訓(xùn)練過程中反復(fù)調(diào)整輸入層與隱含層間的連接權(quán)值,且隱含層神經(jīng)元的閾值是隨機產(chǎn)生的特點,近年來被廣泛用于高光譜數(shù)據(jù)的分類分析[31-33]。較之傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)算法具有學(xué)習(xí)速率快和泛化性能好等優(yōu)點。OS-ELM不僅保留了ELM的優(yōu)點與特點,且能有效地銜接舊樣本與新加入的樣本,對樣本進行靈活的分批處理,避免了數(shù)據(jù)重復(fù)訓(xùn)練所帶來問題,有效的提高了模型的準確率與訓(xùn)練效率[34]。本文采用Python語言基于高光譜圖像技術(shù)建立了MLP、ELM、OS-ELM算法的產(chǎn)地確證模型。
由于受電噪音、光散射、基線漂移、光程變化等因素的影響,使得高光譜數(shù)據(jù)中包含大量的干擾信息[35]。本文分別采用多元散射校正(MSC)、標準正態(tài)變量變換(SNV)、卷積平滑(S-G)方法對光譜數(shù)據(jù)進行處理。最終基于MSC處理后的數(shù)據(jù)建立的MLP、ELM、OS-ELM模型分類準確率均高于未進行預(yù)處理和經(jīng)SNV、S-G預(yù)處理的。其中所建立的MSC-OS-ELM模型的分類效果最優(yōu),分類準確率達到了98.3%,證明MSC可以對數(shù)據(jù)進行良好的修正及處理。
全波段光譜數(shù)據(jù)具有很高的維數(shù)和復(fù)雜的結(jié)構(gòu),帶有大量的冗余信息,使得時間和空間復(fù)雜度上升從而導(dǎo)致算法性能下降[36],大大影響了實際應(yīng)用中的便利性。多維尺度分析(MDS)是一種非常有效的數(shù)據(jù)降維方法[37]。與上述方法不同的是,在高光譜圖像技術(shù)特征提取領(lǐng)域,MDS能夠有效的在低維數(shù)據(jù)中保留高維數(shù)據(jù)間的相對關(guān)系,減小降維引起的任何形變,既不會對降維后的數(shù)據(jù)特征產(chǎn)生衰減,又保留了光譜所包含的維度信息。為了簡化輸入變量,提升模型訓(xùn)練效率,應(yīng)用MDS降維方法提取了13個有代表性的特征波長,降維后輸入變量減少96.6%,大大減少了光譜數(shù)據(jù)信息的數(shù)量?;谔卣鞑ㄩL數(shù)據(jù)分別建立MDS-OS-ELM、MDS-ELM和MDS-MLP模型,其中MDS-OS-ELM算法模型分類準確率穩(wěn)定在97.4%,降維在保證模型分類性能的前提下提高了模型訓(xùn)練速度?;谔卣鞑ㄩL光譜數(shù)據(jù)所建立的模型在分類準確率上雖略低于基于全波段光譜數(shù)據(jù)所建立的模型,但運算時間縮減效率提高,更加適合于快速無損鑒別大米產(chǎn)地的需求。
在模型訓(xùn)練效率評估試驗中,ELM與OS-ELM在模型訓(xùn)練時間上明顯優(yōu)于MLP。由于MLP在模型訓(xùn)練過程中需反復(fù)訓(xùn)練和修改連接權(quán)值、閾值的原因,使得模型在訓(xùn)練時間上不具有優(yōu)越性。而ELM相比較于MLP算法,其輸入層到隱含層的權(quán)值和閾值都是隨機產(chǎn)生的,避免了反復(fù)訓(xùn)練和修改連接權(quán)值閾值的過程;另一方面,隱含層到輸出層的權(quán)值矩陣實質(zhì)上是利用最小二乘法求取使損失函數(shù)最小化的最優(yōu)解,不需要迭代過程。因此,從理論上ELM算法相比較于MLP能夠大大地降低網(wǎng)絡(luò)訓(xùn)練調(diào)節(jié)時間,有著極快的訓(xùn)練速度。而OS-ELM算法是ELM的在線序列學(xué)習(xí)改進算法,每當(dāng)有新的數(shù)據(jù)塊被接收,就重新運行一次ELM并得到新的輸出權(quán)重,最后新舊輸出權(quán)重會進行組合從而完成對神經(jīng)網(wǎng)絡(luò)的更新,避免了對已經(jīng)訓(xùn)練過的樣本重復(fù)學(xué)習(xí),大大提升了模型效率,滿足了快速無損的大米產(chǎn)地確證需求,在大數(shù)據(jù)背景下的地標大米產(chǎn)地確證領(lǐng)域更具有實用性。