張 錚, 周嘉政, 柯子鵬, 錢勤建, 胡新宇
(湖北工業(yè)大學 機械工程學院, 湖北 武漢 430068)
由于芒果成熟后果肉較軟,在采集、存儲及運輸等過程中極易損傷果肉而導致變質。目前芒果的品質通常采用肉眼對果皮的表面特征進行觀察判別,但該方法極易因操作人員的主觀意識而出現(xiàn)較大誤差。近些年,隨著機器視覺技術的不斷成熟,機器視覺技術在無損檢測方向的應用也越來越廣泛,國內學者利用機器視覺技術對芒果的缺陷檢測也做了大量研究。羅志翔等[1]設計了基于BP神經網絡的水果識別系統(tǒng),對水果紋理、形狀、顏色三種特征進行提取并輸入到BP神經網絡中進行訓練、識別,經測試具有較高的識別成功率。李國進等[2]提出了一種基于計算機視覺和極限學習機神經網絡(ELM)模型的芒果分級方法,采用粒子群優(yōu)化算法(PSO)對ELM隨機給定的輸入權值矩陣和隱層閾值進行尋優(yōu),最后根據芒果的外觀特征提取芒果面積、等效橢圓長短軸之比、H分量均值和缺陷面積所占百分比4個特征參數對模型進行訓練和測試,能夠精準地對芒果進行等級劃分。楊濤等[3]提出從成熟度、質量、形狀三方面綜合評估的方法,通過分析HSV顏色模型中H參數判斷草莓成熟度,利用圖像投影面積-質量函數關系對草莓質量進行測算,最后采用K均值聚類法與判別分析相結合對草莓評估分級。Nakano等[4]開發(fā)圖像采集系統(tǒng),通過采集蘋果圖像使用神經網絡將蘋果分為5個等級。辛華健[5]設計了一種基于計算機視覺的芒果品質檢測方法,通過芒果大小、顏色和表面缺陷來反映芒果品質,并基于BP神經網絡實現(xiàn)對芒果的分級。但上述方法僅利用機器視覺或機器學習通過提取、處理芒果的表面形狀特征參數對芒果進行分級研究,未考慮到芒果果肉品質對分級結果的影響,也未以芒果果肉的腐爛度為特征對芒果展開預測與分級研究。
本文以芒果腐爛度作為芒果分級特征,首先對底層處理后的芒果樣本的果皮、果肉、果皮表面缺陷和果肉腐爛特征參數進行提取,然后定義芒果缺陷度、腐爛度,最后通過BP神經網絡對缺陷度進行訓練建立缺陷度-腐爛度預測模型,并能夠依據建立的模型預測出芒果果肉的腐爛程度,準確地甄別出肉眼無法觀察到的果肉腐爛的芒果,故對芒果果肉腐爛度的預測研究有重要意義。綜上所述,本文提出了一種通過建立芒果缺陷度-腐爛度預測模型的新方法來預測芒果果肉的腐爛度并依據芒果果肉腐爛度分級。
選取應季鷹嘴芒果作為研究樣本,成熟鷹嘴芒果果皮偏純黃色,且果皮較薄,易于剝皮,在處理果皮過程中未對果肉造成破壞。在隨機選取的50個果皮表面有不同程度缺陷的芒果中,將40個作為訓練樣本,另外10個作為測試樣本進行試驗。
通過使用型號為SHL-200WS工業(yè)相機搭載型號為C12120F18-3MP工業(yè)視覺鏡頭以及型號為SHL-601 LED光源組成圖像采集實驗平臺,見圖1。為采集到最佳的芒果樣本圖像,將相機固定在距實驗平臺45 cm處并調整焦距。對40個訓練樣本分別從正反兩個方向進行圖像采集,部分樣本見圖2。
由于研究樣本的成熟果皮顏色趨近于黃色,且黃色的RGB值分布為(225,225,0),故對R和G通道賦予較高的權重,對B通道賦予較低的權重,采用加權灰度法將原始圖像轉化為灰度圖像,見圖3。具體方法見下式[6]:
f(x,y)=(ωRR+ωGG+ωBB)
(1)
式中:f(x,y)為點(x,y)轉換后的灰度圖像像素點灰度值;R,G,B分別為點(x,y)在原始圖像中像素點紅色、綠色、藍色分量;ωR、ωG、ωB分別為R、G、B通道在式中的加權權重(經多次試驗,ωR=0.3、ωG=0.59、ωB=0.11)。
為了保留原始圖像特征去除隨機噪聲對灰度圖像采用均值濾波進行平滑去噪,在處理過程中使用 3×3 模板對灰度圖像的鄰域像素進行卷積運算,濾波效果見圖4。
在現(xiàn)有圖像邊緣檢測算法中,Canny算法能夠同時滿足邊緣定位準確、檢測效果優(yōu)良、響應次數低的要求,得到了較為廣泛的應用[7]。本文采用Canny邊緣檢測算法,用一階偏導數的有限差分計算梯度的幅值和方向,使用梯度幅值和方向來估計每一點處的邊緣強度和方向:
(2)
最后,通過雙閾值處理,設定Canny算法的上下閾值來處理和連接檢測邊緣,將目標區(qū)域與背景分割開。針對樣本處理過程中經邊緣檢測后可能存在的邊緣斷裂等情況,需進行形態(tài)學分析,使用閉運算處理圖像,得到連續(xù)邊緣。為了便于后續(xù)對芒果面積特征的提取,對得到的邊緣二值圖像進行填充,將目標區(qū)域完整地分割開,見圖5。
圖像二值化處理后,為過濾非缺陷部分以及對圖像中的細小縫隙進行填補,便于后續(xù)特征參數的提取與計算。在對大量芒果樣本處理后觀察到成熟芒果果皮出現(xiàn)的少量黑色斑點并不會對果肉造成影響,即不考慮將芒果果皮表面的黑色斑點作為表面缺陷,應采用形態(tài)學分析對圖像進行處理。選取圓形結構元素對芒果果皮缺陷圖像及果肉腐爛圖像依據式(3)進行開運算處理,見圖6。
A°B=∪{(B)z|(B)z?A}
(3)
式中:A為目標圖像;B為結構元素。
由圖6可知,開運算腐蝕了目標圖像中芒果自身的斑點、果皮中的少量黑色斑點和果肉纖維等非目標特征。
在芒果分級過程中,為了確保分級的準確,要考慮到內部品質對芒果分級的結果具有很大影響。故需要對芒果果皮面積、果肉面積、果皮缺陷面積和果肉腐爛面積提取計算。通過統(tǒng)計底層處理后的樣本圖像兩個方向上的像素點來表示芒果樣本的面積。首先,統(tǒng)計芒果果皮、果肉、果皮表面缺陷和果肉腐爛的像素點總和分別作為芒果的果皮總面積、果肉總面積、果皮表面缺陷總面積和果肉腐爛總面積。然后,依據式(4)將果皮表面缺陷總面積與果皮總面積的比值作為芒果果皮表面缺陷度,將果肉腐爛總面積與果肉總面積的比值作為芒果果肉腐爛度,芒果果肉腐爛度越大表示果肉的損壞越嚴重。
(4)
式中:Gd為缺陷度;Gr為腐爛度;Sd為果皮表面缺陷總面積;Spl為芒果果皮總面積;Sr為果肉腐爛總面積;Spp為芒果果肉總面積。
BP神經網絡是一種按照誤差逆向傳播數據算法來訓練的多層前饋神經網絡,相比于其他算法BP神經網絡不僅具有誤差反饋的優(yōu)勢而且具備良好的自學習、自適應等能力,常被大量應用在模式識別、故障檢測、智能控制、函數逼近等領域,是目前應用最成功、最廣泛的神經網絡模型之一[1,8]。故本文選用BP神經網絡對樣本數據進行訓練建立關于缺陷度-腐爛度的預測模型。
由于選用缺陷度作為神經網絡的輸入層,故輸入層的神經元個數為1,而隱含層節(jié)點的選取影響著BP神經網絡的誤差、精度以及網絡的復雜程度,對神經網絡模型的性能有很大影響。在確定隱含層節(jié)點數的過程中,應保證在滿足精度的前提下,取盡可能緊湊的結構,即取盡可能少的隱含層節(jié)點數。由Kolmogorov定理,見式(5),根據試驗結果不斷調整,最后確定隱含層的節(jié)點數為3[9-10]。
S=2N+1
(5)
式中:S為隱含層節(jié)點數目;N為輸入層節(jié)點數目。
在BP神經網絡建立過程中,隨機選取40個缺陷度數據作為輸入層訓練樣本,對應的40個腐爛度數據作為輸出層的訓練樣本,10個缺陷度數據作為測試樣本,對應的10個腐爛度數據用于與預測結果進行誤差比對檢驗模型性能。
本文為了能夠準確直觀的驗證模型性能,采用相對誤差及決定系數兩種方法來驗證模型的可行性。由絕對誤差與真實值之比得到的相對誤差能夠真實地反映測量的可信度。依據式(6),首先將模型預測得到的每個樣本預測值與真實值作差得到絕對誤差,絕對誤差(殘差)可以對訓練樣本的擬合函數進行殘差分析,見圖7,然后將絕對誤差除以真實值得到每個樣本的相對誤差。相對誤差的結果反映了偏離真實值的實際大小,相對誤差越小,表明模型的性能越好。
(6)
由圖7中的殘差圖可知殘差到零點的距離,并在殘差圖中可以獲取到訓練樣本殘差分布在值域[-0.8×10-3,2.4×10-3]之間,訓練樣本殘差值與腐爛度不相關且相鄰殘差不具有相關性。在圖中還能夠觀察到90%的殘差都分布在值域[-0.8×10-3, 1.5×10-3]之間,即殘差圖中幾乎所有點都落在了這一水平帶中間,經殘差分析可知該訓練樣本的擬合函數較為準確。
(7)
經計算本文模型的決定系數R2的值為0.998 1,接近于1,表明該模型性能較好。使用決定系數對模型系統(tǒng)擬合優(yōu)度評價后,為了進一步驗證模型的準確性,對真實值與訓練后的預測值擬合曲線進行回歸性分析,見圖8。
圖8反映了神經網絡訓練后,訓練樣本、測試樣本和驗證樣本的真實值以及預測值的相關關系,通過回歸性分析可以觀察到相關性系數R接近于1,誤差在0.01以內,表明樣本數據在神經網絡訓練后與真實值誤差較小,達到了預期的訓練效果。
上述方法中,通過使用殘差分析對訓練樣本的擬合函數進行檢驗,又通過決定系數對模型擬合優(yōu)度進行了評價。當利用回歸性分析中相關性系數來檢驗真實值與訓練后的預測值的相關關系后,再用相對誤差來評價每個測試樣本的真實值與預測值的偏差,能夠真實的反映訓練模型的可信度,見表1。
表1 相對誤差表
為使測試樣本中真實值與預測值的誤差更加直觀,便于檢驗模型準確性,在MATLAB中繪制出真實值-預測值誤差圖,見圖9。
通過對預測結果的分析,可以得到該模型所預測的數據基本準確,證明了模型的有效性。經過大量的試驗以及對樣本數據分析后,發(fā)現(xiàn)試驗中存在部分樣本雖在圖像底層處理中去除掉了不影響芒果果肉的果皮黑色斑點,但當芒果果皮缺陷度小于等于0.004時,果肉腐爛度也會隨之減小,果皮缺陷度對果肉質量的影響程度降低(當缺陷度大于該值時,腐爛度會隨缺陷度的增大而增大,缺陷度對果肉質量的影響程度提高)。該發(fā)現(xiàn)造成了試驗數據擾動,故部分預測點出現(xiàn)細微誤差,但并未影響模型整體的準確性。
依據中國農業(yè)行業(yè)標準(NYT3011—2016)的等級指標對芒果進行分類,見表2[11]。首先,通過芒果的規(guī)格、果形以及缺陷的大小對芒果進行人工分類,并將分類結果對應至提取的芒果果皮表面缺陷度,使芒果等級與腐爛度形成對應關系,并以此為依據,利用BP神經網絡訓練出的缺陷度-腐爛度模型對芒果分級,見表3。對樣本數據整理分析后,擬定不同腐爛度范圍芒果果肉等級的劃分,見表4。
表2 等級指標
表3 部分芒果圖像像素點的統(tǒng)計、計算與等級劃分
表4 芒果果肉腐爛度等級劃分表
根據表2中的等級指標人工篩選20個芒果作為參考結果,使用本文建立的缺陷度-腐爛度擬合模型預測出芒果內部腐爛程度,再結合表4中的果肉腐爛度等級劃分表對芒果進行機器分級,試驗結果見表5,結果表明通過本文所建立的缺陷度-腐爛度模型對芒果果肉腐爛度預測的平均正確率達到88.3%。
表5 芒果品質分級準確率
本文建立的芒果缺陷度-腐爛度預測模型,具備所需樣本數據少、可靠性強和效率高等特點,為預測芒果內部腐爛程度提供了一種高效準確的方法。通過引入機器學習的方法對芒果果肉腐爛度進行預測,并建立預測模型對芒果進行分級篩選,經試驗分析,該模型的預測準確率達88.3%,表明了該模型具有良好的準確性,在實際的生產分級過程中以及后續(xù)芒果內部的無損檢測研究中具有較大的應用價值。