?

基于ResNeXt與遷移學習的干制哈密大棗果梗/花萼及缺陷識別

2022-02-13 10:43喻國威張原嘉馬本學
食品與機械 2022年1期
關鍵詞:花萼哈密大棗

李 聰 喻國威 張原嘉 馬本學,2

(1. 石河子大學機械電氣工程學院,新疆 石河子 832003;2. 農業農村部西北農業裝備重點實驗室,新疆 石河子 832003)

哈密大棗是新疆傳統名優特產之一,個大肉厚、外觀紫紅且具有光澤,是藥食同源的滋補食品和藥用食品[1]。由于缺陷棗的表面具有與果梗/花萼相似的特征,導致在紅棗實際分級過程中難以對果梗/花萼和缺陷棗進行區分。海潮等[2]采用Blob分析算法進行紅棗與背景的分離以及紅棗表面缺陷的識別,缺陷果識別準確率可達90%以上,但無法對缺陷棗進行定位。張萌等[3]提出了一種亮度快速矯正算法,大大增強了紅棗表面缺陷特征,提升了紅棗檢測與分級的實時性。曾窕俊等[4]提出了一種基于幀間最短路徑搜索的目標定位方法,實現了紅棗位置坐標隨視頻時間序列更新和傳遞。Wu等[5]采用高光譜成像技術獲取反射圖像,以實現常見缺陷如裂紋、蟲害和淤傷的識別。

隨著互聯網時代大數據的爆發,深度學習已被廣泛應用于人臉識別、語音識別和行人檢測等[6-8]。楊志銳等[9]提出了一種基于網中網卷積神經網絡對紅棗進行缺陷檢測的方法,該方法優于基于常規SVM的視覺檢測方法和基于AlexNet網絡的分類方法。方雙等[10]采取多尺度卷積神經網絡對黃皮棗、霉變棗、破頭棗和正常棗進行了檢測,模型在AlexNet卷積神經網絡上進行了改進,增加了深度和寬度,提高了模型的檢測準確率。Ju等[11]通過嵌入SE模塊,用三重損失函數和中心損失函數代替softmax損失函數,對原始殘差網絡模型進行改進,并利用遷移學習技術實現了缺陷棗的檢測與分類。Xu等[12]提出了一種基于特征關注度的多標簽棗缺陷分類關系網絡,實現了對同一紅棗多種缺陷類別的檢測與識別。而目前有關紅棗果梗/花萼與缺陷棗識別的研究尚未見報道,缺陷棗與果梗/花萼區域有相似的灰度,易將果梗/花萼區域誤判為缺陷。

文章擬以干制哈密大棗為研究對象,利用圖像處理結合深度學習的方法,探索能快速、準確識別干制哈密大棗果梗/花萼及缺陷的有效方法,為后續研發干制哈密大棗在線檢測與分級裝置提供理論依據。

1 材料與試驗

1.1 試驗材料

干制哈密大棗:新疆哈密地區哈密市花園鄉閃電農產品專業合作社。

鑒于鳥啄與蟲蛀是干制哈密大棗中最常見的缺陷類型,在購買的干制哈密大棗通貨(包含正常棗和缺陷棗)中挑選缺陷棗(鳥啄和蟲蛀)和正常棗樣本各200個。圖1 為干制哈密大棗樣本圖像及其灰度特征圖像,其紋理特征均很相似,且果梗/花萼和缺陷特征也比較相似。

圖1 干制哈密大棗樣本

1.2 機器視覺圖像采集系統

機器視覺圖像采集系統由封閉暗箱裝置、LED環形光源、HDMI工業相機(4~12 mm工業變焦鏡頭,1 200萬像素)及筆記本電腦組成。鏡頭和實物距離為23.5 cm。經對原始圖像質量篩選(將人為拍攝失誤導致的對焦不準、曝光時間過長,以及拍攝表面與標簽不一致去除)后,最終得到正常棗、缺陷棗和果梗/花萼圖像各200幅,并將其尺寸批量調整為224 Pixel×224 Pixel。

1.3 試驗平臺

試驗平臺由計算機硬件和開發平臺兩部分組成。計算機硬件:處理器(CPU)為Intel(R) Core (TM) I7-8700 CPU @3.20GHz,圖形處理器(GPU)為NVIDIA GeForce RTX2060。開發平臺:Windows10操作系統上的Pytorch深度學習框架,配置NVIDIA CUDA Toolkit10.1 和深度神經網絡加速庫NVIDIA CUDNNv8.0.4;編程語言為Python 3.7.4。

2 圖像預處理

2.1 圖像增強

圖像分類時,有效的圖像數據增強可以進一步提高分類精度[13]。圖像數據增強方法包括旋轉、平移、翻轉、隨機裁剪等。鑒于干制哈密大棗更換不同方向角度觀察都不會改變其特征的特點,為增加訓練樣本數據量,采用線下圖像擴充和實時擴充的圖像數據增強方法。模型訓練前對數據樣本進行隨機翻轉和隨機旋轉;訓練過程中使用預先的神經網絡對數據樣本實時擴充,包括隨機剪裁和尺寸變換。經圖像擴充后訓練樣本數量增加8倍,加上訓練過程中實時擴充后,極大擴充了訓練樣本的多樣性。

2.2 感興趣區域提取

為研究圖像感興趣區域提取后是否有利于深度學習模型更好地學習特征,對拍攝的干制哈密大棗感興趣區域進行批量預處理,為了規范化數據集,利用Python語言調用OpenCV庫編寫圖像預處理程序,對干制哈密大棗圖像依次進行如下預處理:

(1) 提取干制哈密大棗RGB圖像中B通道,采用閾值分割算法去除背景,閾值設置為130。

(2) 填充干制哈密大棗目標區域孔洞,形成目標掩膜。

(3) 利用中值濾波器,對圖像邊緣平滑去噪。

(4) 將掩模與原始圖像相乘以獲得彩色區域。

(5) 采用最小矩形框算法提取目標區域。

3 分類方法

3.1 遷移學習

遷移學習是一種在相似或不同領域快速實施學習的過程,文中采用遷移學習技術,通過對原始模型在ImageNet數據集上進行預訓練得到模型參數文件,然后對改進模型的網絡權值進行全局微調并初始化,最終得到新的模型參數文件。

3.2 殘差網絡

在深度卷積神經網絡訓練過程中,通常會出現梯度消失的問題,隨著訓練的進行,早期層的梯度幅度迅速降低到零。為解決這一問題,He等[14]提出了殘差網絡(ResNet)學習模型。ResNet在網絡中引入殘差結構,通過捷徑連接的方式形成跳躍式結構,為解決深層卷積神經網絡模型的錯誤率不降反升的難題提供了新的方向。

圖2為殘差模塊學習示意圖,假設某段神經網絡的輸入樣本是x,期望輸出是H(x),以往的卷積神經網絡模型都試圖通過堆疊不同的層找到可將輸入x映射為輸出H(x)的函數,然而殘差網絡的思想是構建等式(1)。

圖2 殘差模塊學習示意圖

F(x)=H(x)-x,

(1)

式中:

x——網絡輸入;

F(x)——堆疊的非線性層,使得H(x)表示為F(x)+x。

每個ResNet塊都包含一系列層,如圖3中有兩個權重層,每一個權重層的輸出和堆疊的權重層最終輸出見式(2)和式(3)。

圖3 ResNeXt網絡殘差模塊結構

F(x)=W2δ(W1x),

(2)

H(x)=W2δ(W1x)+x,

(3)

式中:

δ——線性激活函數ReLU;

H(x)——最終輸出(其中x的維度和F必須一致);

W1、W2——第一層和第二層的權重。

GoogLeNet模型中提出的一種通過“分解—轉換—融合”的策略,即“Inception模塊”,采用多尺度卷積核提取特征,以提高模型的非線性表達能力,提升模型性能。ResNeXt網絡借鑒了“Inception模塊”的策略,通過在殘差結構中增加獨立路徑的數量即“基數”的超參數來增加網絡的維度。網絡結構中基數采用分組卷積的思想,將獲得的特征圖輸入分成不同組,分別進行正常的卷積操作,最終將卷積后的結果進行合并。與“Inception模塊”不同的是分組卷積層并不是使用不同的結構,而是采用相同的結構,因此需要微調的超參數只有一個,大大簡化了網絡結構[15]。如圖3所示為ResNeXt網絡殘差模塊結構。

3.3 模型結構

文中的分類模型是在ResNeXt-50網絡結構的基礎上進行進一步的改進。通過觀察ResNeXt-50網絡結構可知,輸入主干是由一個7×7的卷積核等組成,其中卷積層的計算成本為卷積核寬度或者卷積核高度的平方,因此一個7×7卷積核的計算量是3個3×3卷積核計算量的5~6倍。文中將輸入主干中的7×7卷積核替換成3個3×3的卷積核,其中第一個卷積核步幅為2,輸出通道大小為32,最后一個卷積核輸出通道大小為64,在保證和原始網絡輸出主干信息一致的情況下大幅度降低了計算成本,同時減少網絡模型參數數量。同時,文中將原始模型架構中7×7的全局平均池化層替換成2個步長為2的3×3卷積核,采用批量歸一化處理,并將全連接層輸出維度設置為3,對應3種類別。在保證卷積層細節不被丟失的前提下,還可以減小網絡模型參數數量,提高模型精度。

4 結果與分析

4.1 圖像識別模型性能對比

為驗證試驗提出的模型在干制哈密大棗果梗/花萼及缺陷分類識別上的優越性以及感興趣區域提取是否有利于模型更好地學習有用特征,按80%和20%的比例將2 400幅圖像隨機用于訓練與驗證。相同試驗條件下與ResNet-50、VGG-19、GoogLeNetInception v2和ResNeXt-50深度卷積神經網絡標準模型進行試驗對比,并將改進的ResNext-50模型分別對感興趣區域提取前、后的干制哈密大棗樣本圖像進行實驗驗證,圖4為感興趣區域提取效果。

圖4 感興趣區域提取效果

VGGNet將兩個3×3卷積核的卷積層代替以往深度學習模型中一個5×5卷積核的卷積層,全部使用3×3小卷積核來加深網絡的深度,但VGGNet含有3個全連接層,參數量極大,耗費更多計算資源[16]。GoogLeNet參考VGGNet使用多個小卷積核替代大卷積核的方法,通過引入Inception模塊,使用多個尺度的卷積核提取特征,同時采用批量歸一化的方法,使模型更加輕量化,但存在計算次數太多,效率不足的問題[17]。ResNet在VGGNet的基礎上引入跨層連接,使用殘差模塊構造更加復雜的網絡,由于使用全局平均池化操作而不是全連接層,所以ResNet模型的參數更少,但傳統ResNet面向上千種分類,訓練小樣本時,存在冗余參數,降低訓練與識別速度。ResNeXt結合GoogLeNet的Inception模塊和ResNet殘差結構的優點,但模型參數仍有待優化。文中提出改進的ResNeXt-50網絡結構,將主干網絡上的7×7卷積核用3個3×3卷積核替代,將原始模型架構中7×7的全局平均池化層替換成2個步長為2的3×3卷積核,并采用批量歸一化處理,不僅提高了模型精度,而且極大地減少了網絡計算成本。綜合考慮硬件性能和訓練時間,經多次調試后,Batchsize設置為32,采用Adam優化器進行模型訓練優化,初始學習率設置為0.001。經100輪訓練后,各模型的識別準確率與損失函數曲線如圖5所示。

圖5 不同模型在測試集上的準確率和損失曲線

由圖5可知,同等試驗條件下,VGG-19、GoogLeNet Inception v2、ResNet-50和ResNeXt-50 4種深度學習模型對于干制哈密大棗果梗/花萼及缺陷數據集的識別能力相差不大,在模型訓練初始階段準確率均能達到60%以上,且均取得了較低的損失值,但難以收斂。文中提出的X-ResNext-50相比其他網絡,當迭代次數為20時,準確率第一次達到90%以上,且在準確率與收斂方面均有一定的提升。使用圖像感興趣區域提取后,模型的表現能力得到了較大提升,在訓練初始階段基本可保持準確率在80%以上,表明感興趣區域提取有利于網絡更好地提取一些有效特征,并幫助模型更快收斂。

4.2 基于遷移學習的模型性能對比

由于遷移學習加載了預訓練模型,模型在訓練的初始階段就可以獲取較好的訓練參數,因此模型能更快收斂。遷移學習模型TL-ROI-X-ResNeXt-50與ROI-X-ResNeXt-50模型的準確率與損失曲線如圖6所示,遷移學習對于網絡模型收斂有極大的促進作用,模型在訓練初始階段就已迅速收斂,且有著較低的損失值和較高的準確率,在第5次迭代后,模型的準確率基本與ROI-X-ResNeXt-50模型收斂時相同,且損失值更低,表明TL-ROI-X-ResNeXt-50模型可以較好地識別干制哈密大棗果梗/花萼及缺陷。

圖6 不同模型在測試集上的準確率與損失曲線

4.3 模型驗證

為驗證模型的實用性,結合維視圖像試驗裝置開發了一款干制哈密大棗果梗/花萼及缺陷檢測系統進行實驗驗證。系統界面如圖7所示,后臺處理通過編寫Python語言調用OpenCV打開相機,并通過光電傳感器控制相機拍攝獲取圖像,調用Pytorch深度學習框架實現干制哈密大棗果梗/花萼及缺陷識別。通過實時采集圖像進行實驗驗證,正常、果梗/花萼及缺陷樣本分別隨機挑選40個進行檢測。

圖7 系統界面

經測試,120個干制哈密大棗樣本中,檢測正確樣本數為113個,識別準確率為94.17%,干制哈密大棗果梗/花萼及缺陷系統驗證的混淆矩陣結果如圖8所示。由圖8 可知,40個果梗/花萼樣本中6個被誤判為缺陷類別,1個被誤判為正常類別,表明果梗/花萼的特征與缺陷特征確實容易混淆,果梗/花萼容易被誤識別為缺陷棗;此外,40個正常與缺陷樣本全部判斷正確,較好地避免了缺陷棗果被誤判為正常棗果的危害,表明改進的網絡結構能夠較好地識別干制哈密大棗缺陷特征。綜上,文中建立的檢測系統可以實現干制哈密大棗果梗/花萼及缺陷判別。

圖8 混淆矩陣

5 結論

在改進ResNeXt-50深度學習模型基礎上,采用感興趣區域提取方法和遷移學習技術提出了一種TL-ROI-X-ResNeXt-50分類模型,實現了干制哈密大棗果梗/花萼及缺陷分類。結果表明,改進的X-ResNeXt-50網絡結構可以減少模型計算成本,促進模型收斂。感興趣區域提取方法和遷移學習技術有助于模型更快地學習一些有用的特征,提高準確率并加速網絡模型收斂。為驗證檢測模型的實用性,結合維視圖像裝置開發了干制哈密大棗果梗/花萼及缺陷檢測系統,其識別準確率可達94.17%,初步滿足干制哈密大棗果梗/花萼及缺陷在線檢測裝備的生產需求,后續可以考慮在深度學習網絡模型中加入圖像感興趣區域提取預處理模塊,提高檢測效率。

猜你喜歡
花萼哈密大棗
若要皮膚好 粥里加大棗
大棗病蟲害防控關鍵技術
玫瑰茄轉錄組測序及花青素合成相關基因表達分析
搶親
關于對哈密維吾爾族刺繡的研究
搶親
18個獼猴桃優良品種雌花形態多樣性比較
大棗橘皮湯助消化
大棗
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合