王靖會, 程嬌嬌, 劉洋, 常佳樂, 王朝輝
(1.吉林農業大學信息技術學院, 長春 130118; 2.吉林農業大學食品科學與工程學院, 長春 130118)
大米是生活中必不可少的主食之一,不同品種大米除外觀存在一定差異,其內部的淀粉、蛋白質、脂肪酸等含量也不同,故而品質及價格差別很大,導致市場上利用形似優質米的普通米冒充或摻雜優質米現象頻發,造成了巨大的經濟損失,同時給大米的國際貿易、地理標志產品保護以及消費者權益保護帶來阻礙。2019年出臺的《關于深入實施優質糧食工程的意見》指導文件中提出“要促進農民增收、企業增效、消費者得實惠”[1],更確定了大米品種鑒別的重要性。
目前,常用大米品種鑒別方法有電泳法、分子標記法、拉曼光譜技術、人工嗅覺技術、近紅外光譜技術等,其中人工嗅覺技術誤差較大,電泳法、分子標記法、拉曼光譜技術和近紅外光譜技術存在樣品準備工作繁瑣、耗時長、不能無損檢測等缺陷。高光譜成像技術具有“圖譜合一”的特點,能夠同時獲得樣本的圖像和光譜信息。圖像信息可以反映樣本的大小、形狀等外部特征,光譜信息可以充分表達樣本內部的物理結構和化學組分,其將光譜信息和圖像信息融合使用,更能表達品種的特征,這決定了高光譜成像技術在農產品檢測領域中的優勢地位[2-8]。但高光譜圖像屬于高維非線性數據,存在數據量大、噪聲、冗余及多重共線性等問題,另外,大米品種鑒別的樣本來源大都是地域分散、外觀差異大的品種,而現在市場上通常為外觀相似的品種摻偽,增加了鑒別難度[9-12]。因此,光譜數據處理和建模方法的選擇以及計算效率的提升成為利用高光譜圖像技術鑒別品種的關鍵。常用的建模方法有神經網絡、決策樹、支持向量機等,其中支持向量機(support vector machine, SVM)對解決非線性及高維數據問題效果較好,但其分類精度受參數影響較大。烏鴉搜索算法(crow search algorithm, CSA)是一種智能優化算法[13],具有收斂速度快、全局搜索能力強、輸入變量少等優點,在優化約束工程設計的參數選擇上也有比較廣泛的應用。本研究采集外觀相近的6個品種共600粒大米的高光譜圖像,利用支持向量機算法分別建立基于全波段、特征波段、圖像紋理特征以及光譜-紋理特征融合的大米品種鑒別模型,利用CSA算法進行優化,通過對比分析探索實現大米品種快速無損檢測的新的方法。
1.1.1樣本采集 在吉林省通化地區采集龍稻20、中科發5號、中科804、稻花香、龍洋11、長粒香共6個外觀近似的大米品種作為研究對象(標號為R1~R6),經晾曬、除雜、礱谷、精米等預處理后,挑選色澤均勻、顆粒完整的大米,每個品種100粒,共600粒樣本,利用Kennard-Stone算法[14-15]把樣本按照近似2∶1的比例劃分成訓練集(66)和測試集(34)。
1.1.2高光譜數據采集及校正 利用高光譜圖像采集系統(圖1)采集大米高光譜數據,為確保光源能穩定照射,在采集前預熱光譜儀。該系統由成像光譜儀(Imspector V10E-QE,Spectral Imaging Ltd.,Oulu,Finland)、C8484-05G相機(Hamamatsu Photonics,Japan)、V23-f/2.403 060 3鏡頭(Specim,Finland)、P/N 913 0線光源、2 900 ER控制器(Illuminati on Technologies,USA)、GZ02DS20可升降樣品臺(光正公司)及PSA200-11-X電控位移臺(卓立漢光公司)組成。將大米樣本按照5×5網格分布,以單粒隨機擺放至載物臺黑板上,經多次實驗確定最佳參數:物距為13.5 cm,曝光時間為7 ms,位移臺移動速度為3.4 mm·s-1,波長范圍為400~1 000 nm,波段數為477個,采集圖像時對每個樣本都進行三次掃描。
對采集到的大米高光譜圖像按照式(1)進行校準,以降低外界環境如光源照射不均勻、傳感器響應不同等造成的樣品差異,高光譜圖像采集和黑白校正均由高光譜采集軟件Spectracube 2.75b完成。
(1)
式中,I0為校正前光譜圖像;W為反射率是100%的全白標定圖像;B為蓋上鏡頭蓋并關閉電源之后獲取的反射率為0的全黑標定圖像。
采用ENVI5.0選取6個品種大米樣本的感興趣區域(region of interest,ROI),一個單粒米為一個ROI,所有像素的平均光譜表示該粒米的樣本信息。對同一粒樣本的三幅圖像分別提取ROI然后取平均,每個單粒大米可以得到一條代表樣本的平均光譜曲線,600粒大米獲得一個600×477的光譜矩陣。利用軟件MATLAB2017a中多元散射校正(multiplicative scatter correction, MSC)、標準正態分布(standard normal variate, SNV)和二階導數(2ndderivative,2ND)三種算法對樣本光譜數據進行預處理[16-17],并建立模型。根據模型的判別效果確定最佳預處理方法,以消除基線漂移,背景噪聲及其他隨機噪聲的影響。預處理算法及模型建立均在軟件MATLAB2017a中完成。
原始高光譜圖像包含477個波段,波段較多且相鄰波段間的相關性較高,導致光譜信息大量冗余,因此需要降低光譜維度以提高模型的計算效率。本文使用連續投影和主成分分析方法實現特征波長提取,算法及模型建立均在軟件MATLAB2017a中完成。
1.3.1連續投影算法 連續投影算法(successive projections algorithm, SPA)[18]首先設定特征波長數目的范圍,以一個波長開始,在迭代中合并波長,達到波長數N,用N個特征波長代替全波段,其中每迭代一次都要對波長組合進行多元線性回歸分析,得到驗證集的預測標準偏差(root mean square error of calibration,RMSEC),最小的RMSEC值為最優值,對應的波段即為最優特征波段組合。
1.3.2主成分分析 利用主成分分析(principal component analysis,PCA)對高光譜數據降維[19-20],根據權值系數的絕對值與其對應的波長貢獻率成正比[21],從前幾個累計貢獻率大的主成分權值系數曲線中提取特征波長,即權值系數曲線中波峰波谷的位置。
高光譜圖像技術相較于其他傳統光譜技術的優勢是可以提供樣品的形狀、大小、顏色、紋理等豐富的圖像信息,紋理作為圖像的重要特征之一,是分類的重要依據之一[22]。灰度共生矩陣(gray level co-occurrence matrix, GLCM)是基于共生矩陣的二階統計量的紋理分析技術,它測量特定灰度級別的某兩個像素在指定方向上和一定距離的聯合分布概率。將像素間的距離參數d設為1,計算0 °、45 °、90 °和135 °四個方向的灰度共生矩陣,選取熵(entropy)、對比度(contrast)、相關性(correlation)、協同性(homogeneity)、二階矩(second moment)及協方差(variance)作為紋理信息表征量。灰度共生矩陣算法利用軟件MATLAB2017a完成。
支持向量機(SVM)旨在找到解決分類問題的最優超平面,使得間隔最大以實現不同類別數據的劃分,在高光譜圖像技術分類中使用較廣泛[23-26],與其他機器學習算法相比泛化能力強。核函數的選擇是訓練樣本前比較重要的步驟,RBF核函數適用范圍較廣,無論是小樣本、大樣本還是低維、高維等情況均可,已在許多研究中得到成功應用。在使用RBF-SVM分類時需要設置合適的參數C和g,C是懲罰因子,g是核函數中的gamma函數設置,兩個數值過大或過小都會影響模型的泛化能力,利用MATLAB2017a建立模型。
烏鴉搜索算法(CSA)是近年來興起的一種智能優化算法,通過對烏鴉生活習性的模擬來找尋目標最優解,即合適的適應度函數選擇,本文將分類準確率作為適應度函數。利用CSA算法對SVM模型的參數C和g進行優化,尋找最優組合使得模型分類效果最佳。算法參數設置:飛行長度為 2.5,意識概率為0.1,種群數量的大小為15,最大迭代次數為100。懲罰因子C 的取值范圍是[0.01,20 000],核參數g 的取值范圍是[0.01,100]。利用軟件MATLAB2017a實現優化算法,流程如圖3所示。
混淆矩陣(confusion matrix)也稱誤差矩陣,是一種衡量分類器分類準確程度的方法。在計算多標簽混淆矩陣時,將多分類問題轉化二分類,即one-V-Srest,某一類為正樣本,其余為負樣本。模型準確率由混淆矩陣計算得出,可以衡量模型對樣本的預測能力。

(2)
式中,TP為真正例,即被判定為正樣本且實際上也是正樣本;TN為真反例,即被判定為負樣本且實際上也是負樣本;FP為假正例,即被判定為正樣本實際上是負樣本;FN為假反例,即被判定為負樣本實際上是正樣本。

圖2 烏鴉搜索算法流程Fig.2 Crow search algorithm flow
為消除設備以外的噪聲影響,本研究采用MSC、SNV、2ND三種方法對大米原始高光譜進行預處理。將三種預處理后的光譜數據作為SVM分類模型的輸入,其分類準確率如表1所示。可以看出,在同一模型下,未經預處理的原始光譜數據的模型整體分類準確率最低,測試集分類準確率僅為75.98%,而經過預處理后的模型整體分類準確率均有所提高,其中基于MSC預處理后的模型分類準確率最高,對大米品種分類效果最好,訓練集和測試集的模型分類效果均達90%以上,表明利用MSC可以很好的消除光譜數據的散射影響,修正大米樣本光譜間的相對基線偏移和平移現象。

表1 全波段分類準確率對比Table 1 Full-band classification accuracy
對降噪后的大米樣本反射率求平均值,得到6個品種大米平均光譜曲線,圖3為MSC預處理后的平均光譜反射率曲線,雖然大米品種不同,但光譜曲線走勢、波峰、波谷位置基本相同,反射率不同,說明其內部組成成分相同,但成分含量不同。在849 nm處的吸收峰主要是由大米內部水分吸收引起的,是水分子中的O-H 基團在該波段的倍頻的振動和延伸。

圖3 六個品種大米ROI平均光譜曲線Fig.3 ROI average spectral curve of six varieties of rice
2.2.1特征波長的確定 由圖3可以看出,品種R1、R4、R5和品種R2、R6均有重合部分,基于全波段光譜數據建立的分類模型會受到影響,同時全波段下的光譜數據信息冗余量大,在模型計算量及計算效率方面很不友好,因此需要對全波段光譜數據降維,以特征波長代替全波段。采用SPA進行光譜數據特征波長選取,將波長數的范圍設定在5~30,從RMSEV值隨波長數量變化的曲線(圖4)可以看出,波長數在16之前,RMSEV值處于下降狀態,而后趨于平穩,經多元線性回歸分析計算可得RMSEV最小值為0.072 842,對應的特征波長個數為16個。選定的16個最優波長分布如圖5所示,分別為415.63、426.84、429.25、461.91、470.59、520.32、580.36、861.89、881.17、892.75、910.76、927.48、939.06、969.65、975.46、978.56 nm。

圖4 SPA的RMSEC最小值Fig.4 Minimum RMSEC of SPA

圖5 SPA選取的特征波長Fig.5 Featured wavelength selected by SPA
2.2.2主成分分析 PCA主成分個數的選取一般有兩種標準:一是累計貢獻率≥85%以上,二是特征值≥1。經過計算,前三個主成分的累計貢獻率已達97.11%(表2),很好地表達了原變量信息。在前三個主成分權值系數曲線中,其波峰波谷的位置即為特征波長,選取的7個波長分別為429.84、712.26、737.7、761.93、791.34、867.03、914.62 nm。

表2 前三個主成分累計貢獻率Table 2 Cumulative contribution rate of the top three principal components
2.2.3模型分類結果分析 將兩種降維方法提取的特征波長分別輸入SVM分類模型,分類結果如表3所示,雖然基于SPA和PCA提取特征波長的模型整體分類準確率相較于全波段的降低了,但是輸入變量維度減少了96%以上,模型訓練時間有了大幅度降低。而利用PCA降維的模型訓練時間稍低于SPA降維的模型訓練時間,但測試集分類準確率相較于SPA卻降低了2.94%,表明利用SPA算法選取特征波長效果較好,在保證模型分類準確率的同時大幅度提升模型運算效率。

表3 模型分類結果Table 3 Classification result based on model
高光譜圖像包含連續波長的灰度圖像,如果從每個灰度圖像中提取紋理特征,就會導致數據冗余難以處理,同時為了提高特征提取的穩健性[27],本研究選取基于SPA、PCA提取的特征波長對應的大米高光譜灰度圖像為研究對象,分別計算每個品種在四個方向上的灰度共生矩陣,對矩陣做歸一化處理,得到每個品種四個方向的六個特征量值,然后取其平均作為樣本的最終紋理信息,從最終每個品種得到6個紋理特征,如圖6所示。從紋理特征平均值(表4)可以看出,不同品種的二階矩值相近且較小,說明圖像灰度分布不均。以紋理特征作為模型輸入,大米品種分類模型的準確率如表5所示,可以看出,基于SPA特征波長下提取的紋理特征分類模型準確率明顯高于PCA特征波長下的紋理特征分類模型準確率,兩種組合方法下的品種分類模型整體鑒別率低于基于光譜數據建立的模型,表明單獨利用紋理特征分類方法誤差較大。

圖6 R1在580.36 nm下的六個紋理特征Fig.6 Six texture features of R1 at 580.36 nm

表4 六個品種平均紋理特征Table 4 Average texture characteristics of six varieties

表5 基于紋理特征分類結果Table 5 Classification result based on texture characteristic
光譜特征波段與圖像紋理特征在數值上有較大差異,直接將二者融合,大數值區間的屬性會過分支配小數值區間的屬性進而影響建模分類效果,因此在進行特征融合前需對數據做歸一化處理。 分別將利用SPA、PCA提取的特征波長與6個紋理特征數據歸一化后進行融合,將融合后的數據作為SVM分類器的輸入,分類結果如表6所示,經過特征融合后的分類模型整體鑒別率優于單獨使用光譜數據或紋理數據的分類模型鑒別率,融合特征后的模型結合了大米的外部和內部屬性,可以更充分地說明大米品種的質量變化,表明經過特征融合的數據可以更充分的表達品種信息,補足了由單一特征分類的缺陷,提高分類模型的精度。

表6 基于融合數據分類結果Table 6 Classification result based on fusion data
隨著迭代次數的增加,每代最佳適應度(準確率)發生變化(圖7),從48代開始最佳適應度趨于穩定達到0.97。將CSA算法得到的最優(C,g)組合輸出帶入SVM分類模型計算分類準確率,結果如表7所示,優化后的兩種數據融合后模型整體分類準確率均有所提高,能很好地區分6個大米品種,其中基于SPA數據融合下的模型優化前后的整體分類準確率高于基于PCA數據融合下的模型優化前后的整體分類準確率,表明在此實驗中SPA的特征提取效果優于PCA,同時將烏鴉搜索算法與支持向量機結合具有合理性,為相關研究提供了思路。

圖7 適應度曲線Fig.7 Fitness curve

表7 優化后分類結果Table 7 Classification result after optimization
傳統的大米品種鑒別技術很難無損高效地進行大米品種鑒別,而高光譜成像技術可以從樣本的外部特征和內里的化學成分著手進行大米品種的快速無損鑒別,但其獲得的數據量大,冗余度高,導致實際在線檢測時出現計算量大、數據處理不方便等問題,因而如何降低數據維度,提高模型分類準確率等是目前值得研究的問題。
本研究利用高光譜成像技術鑒別大米品種的,結果表明,利用SPA和PCA在進行特征提取是可行的,不同的方法原理在特征選擇時存在差異,這與Yang等[18]利用SPA提取不同品種玉米的特征波段和樊陽陽等[21]利用PCA及SPA提取不同品種干棗特征波段的結論一致,同時本研究表明,利用特征波段代替全波段建立模型后的分類準確率降低,這是由于降維后丟失了一些關于品種的特征信息,但結合模型效率考慮,降維后的代價最小。單獨使用光譜數據或圖像數據進行大米品種鑒別的模型準確率低于圖譜數據融合使用后的模型分類準確率且單獨使用圖像紋理特征進行大米品種鑒別準確率最低,這與黃蒂云等[5]利用高光譜成像技術進行脫絨棉種品種分類的結論一致,表明單純依靠圖像紋理鑒別外觀近似的大米品種存在難度,而高光譜成像優勢可以彌補單一特征的缺陷,提升鑒別準確率。為了進一步提高模型的分類性能,本研究利用CSA對SVM參數進行優化,優化后的模型分類準確率有所提高,表明該算法融合能夠有效提高模型分類準確率。綜上所述,以特征光譜融合紋理數據,利用SVM和CSA的融合算法,可以實現大米品種的快速無損鑒別,能夠為其他研究提供思路和參考,接下來的研究目標是收集更多的粒形相似的大米品種,建立更加完善的大米品種鑒別模型。