王新龍 李 翔
(1. 長治學院,山西 長治 046011;2. 陜西科技大學,陜西 西安 710021)
受屠宰方式、儲存手段等因素影響,牛肉品質可以劃分為正常肉、白肌肉、黑干肉和摻假肉等類型[1-5],人工感官識別是目前常見的識別手段,其主觀性強、勞動強度大、結果可信度低[6]。隨著近紅外光譜技術的快速發展,光譜技術應用于品質識別與鑒定已成為熱點研究領域之一。由于光譜中包含了大量被測物品信息,如何高效地對光譜特征進行提取篩選以實現高精度識別是當前亟需解決的難題。張保霞[7]利用主成分分析法對豬肉光譜進行降維處理,提取出豬肉光譜特征,并采用支持向量機進行品質辨識,該方法識別精度可以達到92.31%以上,但是,該方法提取的特征能否保持原始數據分類能力有待進一步研究。吳葉蘭等[8]采用主成分分析法對高光譜成像特征進行篩選,并利用隨機森林模型進行識別,有效分辨出了柑橘病蟲害葉,但是主成分分析法對噪聲魯棒性不強,誤差較大。孔德明等[9]面對海量光譜數據,采用稀疏主成分分析法進行特征提取,得到的分類準確率比主成分分析法提高了5%,但是該方法采用網格搜索法配置支持向量機模型參數,容易陷入局部最優,影響了識別精度。
牛肉品質識別過程需要進行大量數據樣本訓練,而以往研究往往忽略了數據差異性對識別精度的影響,尤其是當訓練樣本存在較多異常點時,得到的識別結果是不可靠的。為了降低數據差異性以及光譜特征冗余度對牛肉品質識別的影響,研究擬采用DPeak[10]對牛肉光譜進行分類,使得同類內數據有更多的相似性,不同類數據具有更多的差異性;設計分類光譜特征提取機制,盡可能降低數據維度,并最大限度保持原始數據辨識能力;運用獅群算法[11-12]對分類支持向量機(SVM)模型參數進行優化,得到最優模型參數配置;并建立融合分類特征提取和SVM的牛肉品質識別模型,以提高牛肉品質分類識別精度。
正常肉、白肌肉、黑干肉試驗樣本:取生鮮牛肉股二頭肌、左右側背最長肌,每塊樣品去除結締組織,切割厚度30 mm,并取每塊樣品的局部進行化學分析以確定所屬品質,市售;
摻假牛肉樣本:指定合成牛肉生產商,按5%,10%,15%,20%,25%比例在牛肉中摻加鴨肉,并于-30 ℃冷凍,冷藏解凍24 h后制成摻假牛肉樣品。
所有樣品統一標簽備注,按正常肉∶白肌肉∶黑干肉∶摻假肉為1∶1∶1∶1的比例選取300個樣本組成訓練樣本集,隨機選取4類牛肉80個組成測試集。結合化學分析的pH值、乳酸含量、肌糖原、摻假比例等指標[13],建立牛肉品質指數與品質類別對應表,并采用專家判定法[14]按表1對每個訓練樣本、測試樣本品質指數進行賦值。

表1 牛肉品質指標與品質類別對應表Table 1 Corresponding table of beef quality index and quality category
利用近紅外光譜儀采集樣本全波段(FS)數據,得到訓練樣本FS數據集合和測試樣本FS數據集合。對于訓練樣本FS數據集合,設計改進的DPeak算法(IDPeak)進行聚類分析,得到多個FS分類;定義分類牛肉光譜特征提取目標函數,采用改進LSO(ILSO)進行求解,提取到每個分類最佳光譜特征子集;利用改進ILSO對分類SVM參數進行優化,建立融合分類特征提取和SVM的牛肉品質識別模型。對于測試樣本FS數據集合,找到每個待測試樣本光譜數據對應的分類,利用該分類識別模型提取特征參數,并進行牛肉品質識別,最終得到識別結果,牛肉品質識別方法示意圖見圖1。

圖1 牛肉品質識別方法示意圖Figure 1 Schematic diagram of beef quality identification method
獅群算法(LSO)設置獅王、母獅、幼獅3種類型個體,分別執行不同的更新進化策略,其算法核心在于平衡局部搜索與全局搜索,具有較好的收斂能力[15-16]。LSO缺陷主要有:幼獅等概率選取獅王、母獅、反向學習進行進化,導致算法初期不利于大范圍搜索,算法后期影響了收斂速度;公獅、母獅只選擇向自身歷史最優解和當前公獅、母獅群體最優解進行學習,容易陷入局部最優;個體進化控制系數隨機選取,不利于保持種群多樣性。為此提出ILSO,自適應調整幼獅不同學習進化的個體規模,增加獅王、母獅學習對象種類,設計改進的進化控制系數,并以概率的形式接受不好的解。
2.1.1 自適應學習 以最小值優化問題為例(目標優化函數為f),LSO種群規模為Q、最大迭代次數Tmax、幼獅個體數量為Nc。t時刻,種群最優解、最差解為Xb(t)、Xw(t),采取向獅王、母獅和反向進化學習的幼獅個體數量分別為Nc,1、Nc,2、Nc,3。
(1)
(2)
Nc,2=Nc-Nc,1-Nc,2,
(3)
式中:

γ1、γ2——個體數量控制系數;
ε——極小常數。
由式(1)~式(3)可知,算法初期,幼獅更多的個體向具有更優目標函數值的獅王位置進行移動,加速了算法收斂速度;隨著迭代次數的增加,種群整體趨向全局最優解,此時,幼獅更多的個體執行反向進化操作,提高了算法跳出局部極值的概率和收斂精度。
2.1.2 學習對象擴展與進化控制t時刻,對于XL,i(t)、母獅XM,j(t),引入種群其他個體信息以擴展搜索空間:
XL,i(t)=ωXb(t)+rand(-1,1)[pL,i-XL,i(t)]+rand(-1,1)[XL,i(t)-XL,a(t)],
(4)
XM,j(t)=ωXb(t)+rand(-1,1)[XM,j(t)-XM,b(t)]+rand(-1,1)[XM,j(t)-XM,c(t)],
(5)
(6)
式中:
ω(ωmin、ωmax)——進化控制系數(邊界);
pL,i-XL,i(t)——歷史最優解;
XL,a(t)[XM,b(t)、XM,c(t)]——公獅(母獅)其他個體;
f、favg——LSO當前個體目標函數值、種群目標函數平均值。
由式(4)~式(6)可知,獅王(母獅)迭代進化中引入種群最優解和其他公獅(母獅)個體信息,并根據自身目標函數值動態調整向種群最優解學習進化程度,有效擴展了種群搜索空間,提高了算法收斂精度。
2.1.3 概率進化 當獅群內個體Xi(t)執行完設定的更新策略后得到新的個體Xi,new(t),若Xi,new(t)目標函數值優于Xi(t),則用Xi,new(t)替代Xi(t);否則,以概率p接受Xi,new(t):
(7)
式中:
α——比例系數。
根據馬爾科夫鏈理論[17],采用概率的形式接受不好的解,使得ILSO算法能夠以概率1收斂于全局最優解。從ILSO算法實現可知,對于D維優化問題,算法種群初始化復雜度O(Q),算法迭代一次復雜度為O(QlgD),總計算復雜度為TmaxO(QlgD)+O(Q)≈TmaxO(QlgD)。
增加訓練樣本規模能改善模型訓練效果,有利于提高識別精度,但是,訓練樣本規模增加的同時,也帶入了大量噪聲、孤立點等信息,若不妥善處理數據樣本差異性,得到的識別結果往往是不可靠的。為此,引入改進DPeak算法(IDPeak)對訓練樣本進行聚類分析,降低數據差異性對識別精度的影響。DPeak算法作為一種粒度計算模型,具有參數簡單、魯棒性強等特點,對于大部分數據類型都有著很好的適應性[18]。對于牛肉光譜訓練樣本數據集合Θ={Si}i=1,…,N,每個樣本Xi由n個波段組成Si=(si1,…,sin),設Si到Sj的歐式距離為dij,DPeak定義局部密度ρi、最近點距離δi、分類判定參數γi:
(8)
式中:
dc——截斷距離(DPeak算法唯一設定參數),m。
DPeak基于ρi、δi、γi建立決策圖,將數據點劃分為離群點、密度峰值點和正常點,并選取決策圖右上方的點為聚類(分類)中心。對于多孤立點復雜聚類問題,DPeak聚類效果不佳,且dc的取值大小直接影響了ρi、δi、γi,為此,設計改進DPeak(IDPeak)算法,采用核距離Dij對Si到Sj的距離進行描述,并利用ILSO求解最佳截斷距離:
Dij=‖Φ(Sj)-Φ(Si)‖2,
(9)
式中:
Φ(·)——核函數(文中選取高斯函數)。
參照文獻[19]提出的邦費羅尼指數,定義聚類效果評價指標(CEEI):
(10)
式中:
CEEI——聚類效果評價指標。
CEEI取值越小,聚類效果越優[19]。CEEI涉及σ、dc兩個參數,采用ILSO對CEEI優化,將個體編碼Xi等效為Xi=(σi,dc,i),目標函數為f(X)=minCEEI。通過ILSO迭代進化,最終得到最佳截斷距離dc,max。圖2為IDPeak對4個典型數據集的聚類結果,其與FCM、DPeak聚類正確率對比見表2。由圖2和表2可知,IDPeak聚類結果更優。

表2 評價指標對比結果Table 2 Comparison results of evaluation indexes %

圖2 IDPeak典型數據集聚類結果Figure 2 Clustering results of typical IDPeak data sets

(11)

(12)
(13)
式中:
Η——類間相似度矩陣且為常數矩陣;
U——相關性矩陣。
分類特征提取的目的是通過確定V表達形式,使得提取到的特征波段盡可能保持原始數據的分類能力,為此,利用IDPeak對CL,i進行聚類分析,以驗證提取后波段特征的分類能力。式(13)中Η反映了IDPeak分類后的類間相似程度,U反映了Sij與類的相關性,可以采用最大信息系數法[20]求解。
當TZT取最小值時對應的V即為最佳特征波段提取向量Vbest,為此,采用ILSO對TZT最小值問題進行優化,將個體編碼Xi等效為Xi=V,目標函數為f(X)=minTZT。由于TZT最小值問題屬于離散問題,對ILSO對應的式(4)、式(5)進化方式進行離散化理解,即ωXb(t)理解為隨機選取Xb(t)內ω個編碼位進行替代操作,rand(-1,1)[XM,j(t)-XM,b(t)]理解為隨機選取[rand(-1,1)×m]個編碼位進行替代操作[m為XM,j(t)、XM,b(t)不同編碼位的個數]。


(14)
式中:
y——模型輸出;
K(·)——核函數,參數為θ;

λ——懲罰參數;
b——超平面偏差。

(15)
式中:
W——訓練次數;


ILSO循環迭代進化,最終得到分類CL,i的SVM模型最佳參數組合(λ,θ)best,i。對于測試樣本FS數據集合Θs={Zi},牛肉品質識別實現過程為:根據Zi與Θ={Si}i=1,…,N每個分類中心的距離判定其所屬分類,采用1stDer等方法數據預處理后,利用該分類對應的最佳特征波段提取向量特征波段,將其作為分類SVM模型輸入,通過SVM模型識別預測,最終完成Zi牛肉品質識別。
采用Thermo公司生產的AntarisⅡ型近紅外光譜儀進行全波段掃描,光譜采集軟件為Avasoft7.4版本,數據處理軟件為MATLAB2017a,圖3為試驗方法示意圖。

圖3 試驗方法示意圖Figure 3 Schematic diagram of test method

由表3可知,IDPeak算法將訓練數據集劃分為7個分類,對于每個分類,無論是直接進行特征提取,還是先經過1stDer預處理再進行特征提取,每個分類提取到的特征波段是不同的,表明不同類數據具有較大的差異性,且數據經過預處理后,特征波段也發生了變化,這種差異性和特征變化會影響最后識別精度。由圖4可知,相比于LSO、PSO算法,ILSO收斂速度更快,收斂精度更高。由表4可知,不同分類中同時包含了多種品質類型的牛肉樣本,例如,對于“分類7”,同時包含了正常肉、黑干肉和摻假肉3種牛肉品質類型,表明不同牛肉品質的樣本在光譜特性上有相似性,進一步驗證了采用分類進行牛肉品質識別的重要性。

表3 分類結果與分類特征波段提取結果Table 3 Classification results and classification feature band extraction results

表4 每個分類樣本對應牛肉品質類型及個數Table 4 Number of samples and beef quality type of each classification

圖4 ILSO優化CEEI、TZT收斂曲線Figure 4 ILSO optimization and convergence curve
利用測試樣本數據集合驗證文中所提融合分類特征提取和ILSO優化SVM識別模型(IDPeak-ILSO-SVM)精度,表5給出了識別精度結果。
設置對比試驗場景1:不對訓練樣本進行聚類,采用主成分分析法(PCA)和文中提出的最佳特征提取方法(CEEI)對訓練樣本進行特征提取,采用文中提出的ILSO優化SVM模型(ILSO-SVM)進行識別,表6給出了識別精度對比結果。
設置試驗場景2:利用DPeak、IDPeak對訓練樣本進行聚類,采用CEEI提取特征波段,并運用RF、ILSO-SVM進行識別,表6給出了識別精度對比結果。
由表5~表7可知,不同數據預處理方法對識別精度影響不同,相比于多元散射校正(MSC)、標準正態變換(SNV)預處理方法以及原始數據,經1stDer預處理后的識別精度更高,而MSC表現最差。未進行聚類分析時,經1stDer預處理后,ILSO-SVM對4種牛肉品質的識別精度分別為92.4%,91.7%,92.8%,91.1%;采用DPeak算法進行聚類分析時,ILSO-SVM的識別精度分別為93.1%,92.8%,93.4%,93.5%;采用IDPeak算法進行聚類分析時,ILSO-SVM的識別精度分別為99.6%,99.1%,99.9%,99.5%,表明利用IDPeak算法進行聚類分析,降低了數據差異性對識別精度的影響。

表5 IDPeak-ILSO-SVM模型識別精度Table 5 IDPeak-ILSO-SVM recognition accuracy %
由表6可知(以1stDer預處理數據為例),未提取特征波段,ILSO-SVM的識別精度分別為82.6%,81.5%,79.6%,80.5%;采用PCA提取特征波段時,ILSO-SVM的識別精度分別為88.4%,89.3%,86.2%,87.5%;采用CEEI進行特征提取時,ILSO-SVM的識別精度分別為92.4%,91.7%,92.8%,91.1%(未進行聚類分析的情況下),表明利用CEEI提取到的特征波段的識別能力優于PCA算法,識別精度更高。由表7可知,采用IDPeak算法聚類分析、CEEI分類特征提取,RF的識別精度分別為94.2%,93.6%,92.7%,94.6%,低于ILSO-SVM識別精度,表明采用ILSO對SVM進行參數配置,提高了模型的識別精度。

表6 試驗場景1下ILSO-SVM模型識別精度對比Table 6 Comparison of recognition accuracy under comparative test scenario 1 %

表7 試驗場景2下模型算法識別精度對比Table 7 Comparison of recognition accuracy under comparative test scenario 2 %
為進一步驗證所提IDPeak-ILSO-SVM性能,與SSA-SVM[7]、1stDer-PCA-SVM[8]進行對比,每種方法獨立運行30次,選取識別精度均值、均方根誤差均值為評價指標,對比結果見表8。由表8可知,相比于其他2種識別模型,IDPeak-ILSO-SVM的識別精度均值、均方根誤差均值更優,識別精度提高了約5.02%~8.30%,更適用于牛肉品質識別。

表8 不同識別方法評價指標對比Table 8 Comparison of evaluation indexes of different identification methods
對正常肉、白肌肉、黑干肉、摻假肉4種牛肉品質類型識別問題進行研究,提出了基于分類特征提取和深度學習的牛肉品質識別方法。結果表明,通過設計改進DPeak算法、最佳分類特征波段提取策略和ILSO優化SVM模型,降低了數據差異性以及特征冗余度對識別精度的影響,識別精度更高。下一步,將圍繞提高在線牛肉品質識別精度問題進行研究。