李士靜,潘 羲,陳熙卓,朱均燕,吳碧致,謝小芳,溫永仙*
1.福建農林大學計算機與信息學院,福州市倉山區(qū)上下店路15號 350002 2.福建農林大學統(tǒng)計及應用研究所,福州市倉山區(qū)上下店路15號 350002 3.福建省三明市煙草公司寧化分公司,福建省寧化縣鎮(zhèn)南大街煙草大廈 365400 4.福建省煙草公司三明市公司,福建省三明市崇桂新村100幢 365000 5.廈門大學近海海洋環(huán)境科學國家重點實驗室,福建省廈門市翔安區(qū)S201 361000 6.福建農林大學生命科學學院,福州市倉山區(qū)上下店路15號 350002
煙葉是我國重要的經(jīng)濟作物之一,嚴格規(guī)范其品質檢驗與等級劃分過程具有重要意義。傳統(tǒng)的煙葉分級主要依靠人工感官和經(jīng)驗進行判定,但不同人的感官和經(jīng)驗存在差異,因此人工分級具有較強的主觀性和隨意性,容易導致煙葉分級不準確,對卷煙生產(chǎn)造成不良影響[1]。針對此問題,近年來采用人工智能技術代替人工分級已有較多研究,主要分為3個方面:①基于機器視覺技術結合神經(jīng)網(wǎng)絡的煙葉自動分級研究[2-4],利用機器視覺技術提取煙葉表面特征,將煙葉的顏色、形狀、紋理等特征作為神經(jīng)網(wǎng)絡的輸入變量,建立基于煙葉圖像特征的分類模型。該方法對同一片煙葉需要進行3次以上圖像采集,采集樣本量大,耗費時間長,且采集過程容易受到外部因素影響,導致圖像質量不高,從而影響煙葉等級識別的正確率[5]。此外,機器視覺技術只提取煙葉表面特征,當煙葉存在未完整放置、未完整鋪開、正反面放置不一致、葉片之間有重疊等問題時,會導致煙葉分級效果降低[6]。②基于模糊模式識別的煙葉自動分級研究[7-8],結合模糊數(shù)學和模糊模式識別并基于化學指標建立煙葉等級識別模型,但該方法的數(shù)學規(guī)則推導復雜且化學指標測量過程耗時長,導致分類正確率不高。③基于光譜技術的煙葉自動分級研究[9-10],通過無損方式獲得煙葉光譜數(shù)據(jù),進而建立基于光譜特征的煙葉分類模型。光譜技術具有快速、簡單、無損等特點,利用光譜技術可以獲得反映煙葉外部結構特征的光譜,以及與煙葉密切相關的化學指標和內部結構信息。與機器視覺技術相比,利用光譜技術建立的煙葉分類模型可靠性更高。
高光譜成像是一種將成像技術與光譜技術相結合的影像數(shù)據(jù)技術,具有光譜分辨率高、多波段、檢測速度快且無損等特點[11]。高光譜圖像包含圖像信息和光譜信息,圖像信息可以真實地展現(xiàn)農作物的表面損失及外部特征,光譜信息則能反映出農作物的內部結構及成分組成。高光譜成像技術目前已廣泛應用于農產(chǎn)品內外部品質檢測、損傷識別、作物信息獲取等方面[12]。程術希等[11]采用多元散射校正(Multivariate Scattering Correction,MSC)預處理方法對大白菜種子的高光譜信息進行消噪,利用極限學習機(Extreme Learning Machine,ELM)和 隨 機 森 林(Random Forest,RF)等方法識別大白菜種子,識別正確率均超過90%。楊思成等[13]基于PCA(Principal Component Analysis)提取特征光譜的圖像信息,結合Fisher識別模型、偏最小二乘回歸模型、人工神經(jīng)網(wǎng)絡模型對稻谷品種進行分類識別,分類正確率均達到95%。李丹等[14]采用多元散射校正(MSC)、標準正態(tài)變量變換(Standard Normal Variate transformation,SNV)等方法對樹種葉片的高光譜數(shù)據(jù)進行預處理,運用隨機森林(RF)和支持向量機(Support Vector Machine,SVM)分類模型進行建模,分類正確率在54.41%~77.06%之間。張龍等[15]利用高光譜成像技術對煙葉和雜物進行分類,分類正確率達到99.92%,提高了除雜效果。邢雪霞等[16]基于烤煙葉片的高光譜曲線特征,建立了色素含量的預測模型,選擇出與色素含量相關性最高的高光譜特征參數(shù)。但利用高光譜成像技術進行煙葉分級的研究則鮮見報道。為此,基于高光譜信息探討了不同數(shù)據(jù)預處理方法以及分類模型對煙葉分類正確率的影響,建立了基于特征波段的4種煙葉分類模型并對其進行驗證,以期提高煙葉等級識別正確率,提升煙葉分級智能化水平。
數(shù)據(jù)集A的煙葉樣本為31個2019年國家標準樣本,包含B1F、B2F和B3F共3個等級;數(shù)據(jù)集B的煙葉樣本為147個2020年國家標準樣本,包含C2F、C3F和C4F共3個等級。所有煙葉樣本均由福建省煙草專賣局煙草科學研究所提供,并按照烤煙分級國家標準(42級)GB2635—1992[17]進行定級。具體樣本信息見表1。
表1 煙葉樣本信息Tab.1 Information of tobacco leaf samples
數(shù)據(jù)集A的高光譜成像系統(tǒng)由Gaiasky-mini2-VN光譜儀(四川雙利合譜科技有限公司)、HSIALS-T-200W專用光源(四川雙利合譜科技有限公司)以及安裝有Spectral-image(臺灣五鈴光學股份有限公司)的專用計算機組成,見圖1。系統(tǒng)參數(shù):圖像分辨率為960 pixel×176 pixel;波長范圍為400~1 000 nm,共包含176個波段;光譜分辨率為3.5 nm;曝光時間為6.4 ms;光源強度為200 W。由于波長400~1 000 nm范圍內的波段頭尾處存在較大噪聲,故選取500~900 nm范圍內的116個波段進行分析。
圖1 數(shù)據(jù)集A的高光譜成像系統(tǒng)結構示意圖Fig.1 Structure of hyperspectral imaging system for dataset A
數(shù)據(jù)集B的采集系統(tǒng)由高感度EM285CL EMCCD相機(北愛爾蘭Raptor Photonics公司)、Imspector V10E成像光譜儀(芬蘭Spectral Imaging公司)、IT 3900 150 W鹵素燈(美國Ocean Optics公司)以及安裝有Spectral-image(臺灣五鈴光學股份有限公司)的專用計算機組成,見圖2。系統(tǒng)參數(shù):圖像分辨率為1 024 pixel×237 pixel;波長范圍為400~1 000 nm,共包含237個波段;光譜分辨率為2.4 nm;曝光時間為8 ms;光源強度為70 W;平臺移動速度為13.3 mm/s。
圖2 數(shù)據(jù)集B的高光譜成像系統(tǒng)結構示意圖Fig.2 Structure of hyperspectral imaging system for dataset B
如圖3所示,將每個煙葉樣本展開平鋪在載物臺的黑布上,通過高光譜成像系統(tǒng)進行數(shù)據(jù)采集。利用遮蓋鏡頭及標準白板圖像獲得黑板和白板校正圖像,用于對原始高光譜圖像進行校正[12]。計算公式為:
圖3 煙葉樣本的高光譜圖像Fig.3 Hyperspectral image of tobacco sample
式中:R表示校正后樣本圖像;I表示樣本原始圖像;B表示黑板校正圖像;W表示白板校正圖像。
在黑白板校正后的高光譜圖像中,利用ENVI(Enviroment for Visualizing Images,美國ITT Visual Information Solutions公司)軟件在葉莖兩側的葉片部位隨機選取15 pixel×15 pixel的感興趣區(qū)域(Region of Interest,ROI),每個像素點包含一條光譜信息,將ROI內所有像素點的平均光譜反射率作為樣本的高光譜數(shù)據(jù)。每個等級煙葉選取300個ROI,數(shù)據(jù)集A和B分別得到900個樣本。隨機選擇800個樣本作為訓練集,100個樣本作為測試集。
高光譜數(shù)據(jù)中除了包含煙葉樣本化學指標信息外,還含有其他無關信息和噪聲。因此,在建立模型前,利用多元散射校正(MSC)、標準正態(tài)變量變換(SNV)、Savitzky-Golay卷積平滑(SG)3種方法對數(shù)據(jù)進行預處理[18],以消除高光譜數(shù)據(jù)中的無關信息和噪聲。
(1)多元散射校正(MSC)是一種多變量散射校正技術,可以消除樣本間散射所導致的基線平移和偏移現(xiàn)象,增強與成分含量相關的光譜吸收信息,提高原始光譜的信噪比[19]。
式中:xi表示所需校正光譜集的第i條光譜(i=1,2,…,n);xi(MSC)表示多元散射校正處理后的第i條光譜;n表示需要校正的光譜數(shù)量;mi和bi分別表示利用最小二乘法求取的第i條光譜的系數(shù)和截距。
(2)標準正態(tài)變量變換(SNV)的作用是消除固體顆粒大小、表面散射的影響,以及光程變換對NIR漫反射光譜的影響[18]。
式中:xi,k表示第i條光譜在第k處波長(k=1,2,…,m)的反射率值;m表示波長點數(shù);x(iSNV)表示標準正態(tài)變量變換處理后的第i條光譜。
(3)Savitzky-Golay卷積平滑法(SG)是一種信號平滑方法,主要用于消除高光譜數(shù)據(jù)的隨機噪聲。
式中:xi,(kSG)表示SG卷積平滑處理后的第i條光譜在第k處波長的反射率值;xi,k+j表示第i條光譜在第(k+j)處波長的反射率值;2ω+1表示平滑窗口的寬度;hj表示平滑系數(shù),測量值乘以平滑系數(shù)hj的目的是盡可能地減少平滑處理對有用信息的影響;H表示歸一化因子。
采用隨機森林(RF)、支持向量機(SVM)、極限學習機(ELM)和梯度提升決策樹(GBDT)4種算法分別建立分類模型;采用F-Score算法選取煙葉高光譜數(shù)據(jù)的特征波段。隨機森林(RF)是Breiman等[20]提出的一種基于決策樹的集成算法,對數(shù)據(jù)噪聲容忍度好,具有人工干預少、運算速度快等優(yōu)點[21]。支持向量機(SVM)是一種基于結構風險最小化的統(tǒng)計學習方法[22],其決策函數(shù)由少數(shù)的支持向量確定,在某種意義上避免了“維數(shù)災難”問題[23],因此具有較強的泛化能力。本研究中選擇了用于處理SVM模式識別與回歸的軟件包LIBSVM[24],核函數(shù)選用了徑向基函數(shù)(Radial Basis Function,RBF)。極限學習機(ELM)是由Huang等[25]提出的一種簡單高效的單隱層前饋神經(jīng)網(wǎng)絡算法,具有學習速度快、耗時短、效率高、算法復雜度低等優(yōu)點[26]。梯度提升決策樹(Gradient Boosting Decision Tree,GBDT)是 由Friedman[27]提出的一種由多個弱分類器經(jīng)過迭代形成的強分類器,可靈活處理各種數(shù)據(jù),預測準確率高,對異常值具有較強的魯棒性[28]。F-Score算法主要用于衡量特征在不同類別間的分辨能力,通過計算數(shù)據(jù)集中每個特征的F-Score值以及所有特征的F-Score平均值而得到閾值。如果某一特征的F-Score值大于閾值,則將該特征加入特征空間;否則,則將該特征從特征空間中移除[29]。F-Score算法能夠選擇較小的變量子集進行計算,從而減少計算消耗,提高算法性能。
采用ENVI 5.3軟件提取煙葉樣本ROI的光譜反射率信息;采用MATLAB 2016a建立隨機森林(RF)、支持向量機(SVM)和極限學習機(ELM)的分類模型,并利用F-Score算法選取特征波段;采用Python 3.8建立梯度提升決策樹(GBDT)的分類模型。
兩個數(shù)據(jù)集中所有煙葉樣本的原始光譜反射率隨波長變化曲線見圖4。可見,不同波長下反射率整體呈上升趨勢,在670~680 nm范圍內存在一個反射率波谷,原因是該波段范圍為葉綠素的強吸收帶,而葉綠素a和b對植物的反射率光譜曲線影響較大[30]。數(shù)據(jù)集A和B在680~700 nm范圍內反射率急劇上升,曲線幾乎垂直于x軸。
圖4 兩個數(shù)據(jù)集中所有煙葉樣本的原始光譜曲線Fig.4 Original spectral curves of tobacco leaf samples in two datasets
兩個數(shù)據(jù)集中同一等級煙葉樣本的平均光譜在不同波長下的反射率變化曲線見圖5。可見,同一數(shù)據(jù)集中不同等級煙葉的平均光譜曲線變化趨勢相似,曲線之間的間隔較小,這種現(xiàn)象在數(shù)據(jù)集B中更為明顯,說明依靠原始數(shù)據(jù)區(qū)分不同等級煙葉難度較大,需要進一步進行數(shù)據(jù)預處理和建模分析。
圖5 兩個數(shù)據(jù)集中同一等級煙葉樣本的平均光譜曲線Fig.5 Average spectral curves of tobacco leaf samples of different grades in two datasets
分別采用MSC、SNV、SG這3種方法對兩個數(shù)據(jù)集中不同等級煙葉的高光譜數(shù)據(jù)進行預處理,并繪制預處理后所有煙葉樣本的光譜曲線,見圖6和圖7。可見,經(jīng)MSC預處理后兩個數(shù)據(jù)集的光譜曲線更加集中,其中數(shù)據(jù)集A預處理后在波長500~600 nm和800~900 nm處的曲線沒有原始數(shù)據(jù)曲線光滑,原因可能是數(shù)據(jù)集A煙葉樣本間的基線平移和偏移現(xiàn)象不明顯,經(jīng)過預處理反而加入了噪聲。經(jīng)SNV預處理后數(shù)據(jù)集B的相對反射率(原始反射率經(jīng)預處理變換后得到的反射率)相比數(shù)據(jù)集A波動較大,可能是由于數(shù)據(jù)集B的波長點數(shù)多于數(shù)據(jù)集A,導致標準偏差增大。數(shù)據(jù)集A與B經(jīng)SG預處理后的光譜曲線與原始光譜曲線差異不明顯。
圖6 數(shù)據(jù)集A預處理后的光譜曲線Fig.6 Preprocessed spectral curve of dataset A
圖7 數(shù)據(jù)集B預處理后的光譜曲線Fig.7 Preprocessed spectral curve of dataset B
將預處理后的數(shù)據(jù)集作為輸入變量,煙葉等級對應的標簽作為輸出變量,建立隨機森林(RF)、支持向量機(SVM)、極限學習機(ELM)以及梯度提升決策樹(GBDT)4種煙葉分類模型。選擇分類正確率作為分類模型的評價指標,分類正確率是指正確分類的樣本占所有樣本的比例。對原始數(shù)據(jù)和不同預處理后數(shù)據(jù)進行分類,結果見表2和表3??梢?,經(jīng)SG或SNV預處理后兩個數(shù)據(jù)集的分類正確率整體上與原始數(shù)據(jù)的分類正確率接近,可能是煙葉樣本間散射現(xiàn)象不明顯,隨機噪聲小,導致經(jīng)過預處理的數(shù)據(jù)丟失了有效信息。數(shù)據(jù)集A經(jīng)MSC預處理后,SVM模型的分類正確率明顯下降,可能是經(jīng)MSC預處理后增加了噪聲,而SVM模型對噪聲比較敏感。MSC預處理在數(shù)據(jù)集A中提高了ELM和GBDT模型的分類正確率,在數(shù)據(jù)集B中提高了全部4種模型的分類正確率。對比發(fā)現(xiàn),經(jīng)MSC預處理后分類正確率相對較高,在數(shù)據(jù)集A中平均分類正確率僅比SNV、SG低1.00百分點、1.75百分點,但在數(shù)據(jù)集B中比SNV、SG高18.25百分點、11.75百分點。綜上,MSC預處理略優(yōu)于其他兩種預處理方法,能夠提高分類模型的識別效果。
在RF模型中,利用逐步搜索法選擇決策樹的個數(shù),得到數(shù)據(jù)集A和B的決策樹個數(shù)分別為200和50。在SVM模型中,利用LIBSVM軟件包中K折交叉驗證法(本文中為五折交叉驗證法)進行參數(shù)選擇,得到數(shù)據(jù)集A的懲罰系數(shù)C為256,核函數(shù)參數(shù)γ為0.25;數(shù)據(jù)集B的懲罰系數(shù)C為1 024,核函數(shù)參數(shù)γ為0.062 5。在ELM模型中,選擇常用的Sigmoidal函數(shù)作為激勵函數(shù),采用十折交叉驗證法對隱層節(jié)點數(shù)進行選擇,數(shù)據(jù)集A和B的分類正確率隨隱層節(jié)點數(shù)變化的曲線見圖8。當驗證集的分類正確率逐漸趨于穩(wěn)定時,得到分類正確率最大時數(shù)據(jù)集A對應的隱層節(jié)點數(shù)為139個,數(shù)據(jù)集B為169個。在GBDT模型中,利用網(wǎng)格搜索法對參數(shù)進行選擇,得到數(shù)據(jù)集A的學習率為0.1,迭代次數(shù)為180次,決策樹深度為7;數(shù)據(jù)集B的學習率為0.1,迭代次數(shù)為170次,決策樹深度為7。
圖8 不同隱層節(jié)點數(shù)下兩個數(shù)據(jù)集分類正確率變化曲線Fig.8 Variation curves of classification accuracy at different hidden node numbers for two datasets
4種分類模型下兩個數(shù)據(jù)集的分類正確率見表2和表3??梢?,RF和GBDT模型對數(shù)據(jù)集A原始數(shù)據(jù)(波段數(shù)116個,維數(shù)116)的分類正確率為77%和76%,對數(shù)據(jù)集B原始數(shù)據(jù)(波段數(shù)237個,維數(shù)237)的分類正確率為54%和55%。在數(shù)據(jù)集B中分類正確率下降的原因,除了基線平移和偏移外,還可能是隨著數(shù)據(jù)維數(shù)的增加,存在過擬合現(xiàn)象。對比發(fā)現(xiàn),ELM和SVM模型的識別效果最佳,基于MSC預處理的分類正確率在數(shù)據(jù)集A中分別達到84%和80%,在數(shù)據(jù)集B中分別達到96%和95%。其中,ELM模型可能對SNV預處理后的數(shù)據(jù)比較敏感,分類正確率受到較大影響,在數(shù)據(jù)集A中從83%下降到77%,在數(shù)據(jù)集B中從91%下降到62%。綜上,基于全波段建立的分類模型識別效果較優(yōu),其建模方案是預處理方法為多元散射校正(MSC),分類模型為極限學習機(ELM)或支持向量機(SVM)。
表2 不同預處理方法和分類模型下數(shù)據(jù)集A的分類正確率Tab.2 Classification accuracy for dataset A with different preprocessing methods and classification models(%)
表3 不同預處理方法和分類模型下數(shù)據(jù)集B的分類正確率Tab.3 Classification accuracy for dataset B with different preprocessing methods and classification models(%)
采用光譜全波段建模,信息量大、變量多,且樣本的部分光譜信息與樣本性質無明顯相關性,對樣本等級的識別貢獻小。因此,利用F-Score算法選取對煙葉分類有較大貢獻的特征波段作為分類模型的輸入變量。F-Score算法能夠在降低高光譜數(shù)據(jù)維度的同時,保留原有高光譜波段的物理意義,提高模型運行速度[31]。由上述分析結果可知,經(jīng)MSC預處理后分類正確率相對較高,因此對數(shù)據(jù)集A和B先進行MSC預處理,再利用F-Score算法選取特征波段。按照全波段F-Score值的大小進行降序排列,選擇前10%~90%作為特征波段,然后按照波長大小對特征波段進行排序,結果見表4。
根據(jù)表4結果建立RF、ELM、SVM和GBDT分類模型,不同特征波段數(shù)量和分類模型下兩個數(shù)據(jù)集的分類正確率見表5和表6??梢?,當特征波段數(shù)量較少時,4種模型的識別效果均不理想。隨著特征波段數(shù)量的增加,4種模型的分類正確率均有所提高,其中ELM和SVM模型的分類正確率增加20百分點左右。在數(shù)據(jù)集B中可能是受到特征波段數(shù)量的影響,SVM模型隨著維數(shù)的增加呈先上升后下降趨勢,由于SVM模型能夠克服“維數(shù)災難”,最終分類正確率趨于穩(wěn)定。當特征波段數(shù)量達到70%時,4種模型的分類正確率大部分接近全波段。在數(shù)據(jù)集B中,當特征波段數(shù)量達到30%時,SVM模型的分類正確率(97%)已經(jīng)優(yōu)于全波段(95%,見表3),說明特征波段的選擇有益于SVM模型進行數(shù)據(jù)分類。綜上,當特征波段數(shù)量占比為70%時,煙葉分類正確率已接近基于全波段的分類正確率,且可減小數(shù)據(jù)規(guī)模,提升運算速度。
表4 兩個數(shù)據(jù)集中特征波段數(shù)量選擇結果Tab.4 Numbers of characteristic bands selected by F-Score algorithm based on two datasets
表5 不同特征波段數(shù)量和分類模型下數(shù)據(jù)集A分類正確率Tab.5 Classification accuracy for dataset A in case of different numbers of characteristic bands and different classification models (%)
表6 不同特征波段數(shù)量和分類模型下數(shù)據(jù)集B分類正確率Tab.6 Classification accuracy for dataset B in case of different numbers of characteristic bands and different classification models (%)
基于煙葉高光譜信息,采用多元散射校正(MSC)等3種預處理方法以及支持向量機(SVM)等4種分類模型,分析了煙葉等級的分類正確率。結果表明:①MSC預處理的分類正確率較高,在數(shù)據(jù)集A中平均分類正確率僅比SNV、SG低1.00百分點、1.75百分點,但在數(shù)據(jù)集B中比SNV、SG高18.25百分點、11.75百分點。②在4種模型中,ELM和SVM模型識別效果較優(yōu),基于全波段和特征波段的分類正確率均高于其他模型,其中經(jīng)MSC預處理后基于全波段的分類正確率在數(shù)據(jù)集A中達到84%和80%,在數(shù)據(jù)集B中達到96%和95%。③當選擇的特征波段數(shù)量達到全波段的70%時,4種模型的分類正確率已接近基于全波段的分類正確率,其中SVM模型對數(shù)據(jù)集B的分類正確率達到96%。研究結果顯示利用煙葉的高光譜信息對煙葉進行分級是可行的。