王 可,張存喜,王 瑞
(浙江海洋大學 海洋工程裝備學院,舟山 316022)
冷鏈物流可以使生鮮食品、藥品等商品在生產、運輸、儲藏等過程中保持低溫,以保證食品、藥品質量,減少損耗,但仍無法完全阻止,尤其對于冰鮮肉等易腐食品,因此新鮮度檢測是避免食品安全問題的重要手段,對于冰鮮魚蝦等肉類保護仍有欠缺,由于魚蝦的水分含量高內源性酶豐富,在運輸貯存中極易產生品質劣變,其食用價值和安全性也逐漸下降,對食用者的身體健康造成一定危害[1-4]。
近年來,研究學者們將計算機視覺技術應用于食品領域[5-6]。文獻[7]利用計算機視覺技術提取大量牛肉脂肪圖像信息,與支持向量機結合,對牛肉進行了分級;文獻[8]采用聚類法分割魚鰓感興趣區域,通過分析小波域內魚鰓特征信息,實現新鮮度快速評估;文獻[9]利用圖像采集系統提取鯽魚頭部圖像的顏色空間直方圖特征和灰度共生矩陣特征,并通過LDA 進行特征降維,采用K 最臨值算法實現對新鮮度的快速分類。上述檢測方法通過人工選取魚體特征構建機器視覺系統,實現對水產品的新鮮度評估,存在耗時長效率低等問題。深度學習可以自主學習提取特征,避免了傳統圖像處理繁瑣的特征設計過程。文獻[10]以冰鮮鯧魚為研究對象,基于改進VGG-19 網絡的分類算法探究鯧魚新鮮度等級評估方法,驗證了將深度學習應用于鯧魚新鮮度等級評估的可行性;文獻[11]以鯉魚為研究對象,利用VGG-16 架構自動提取魚類圖像特征實現鯉魚新鮮度智能識別,識別準確率達到98.21%。本文以紅蝦為研究對象,采用改進Resnet50 網絡來實現蝦類新鮮度的識別評估,實現低成本高準確率的無損快速檢測。
本文以舟山紅蝦為研究對象,依據理化指標TVB-N 測定紅蝦新鮮度,以判定紅蝦圖像所屬新鮮度等級,建立基于環境因子的紅蝦圖像TVB-N 的新鮮度等級圖像數據集,數據集構建過程中嚴格把控采集環境的溫濕度條件,依據SC_T3113-2002《凍蝦》和GB2733-2015《鮮凍動物性水產品》的國家標準劃分紅蝦圖像樣本新鮮度等級[12]。
實驗用舟山紅蝦(海蝦),共500 只,平均質量為20 g±5 g 左右。所有樣本置于0℃的恒溫冰箱中儲存,每日9:00 測定4 個樣本的TVB-N 值直至樣本腐壞,每個樣本10 g,共測試13 天,共獲得有效樣品52 個。其他樣本均用于圖像采集,于每日20:00進行圖像樣本采集。
(1)圖像采集與預處理
為了樣本圖像的標準化,成像設備與目標蝦類之間的采集距離為30 cm。以俯視角度拍攝,按照原圖像的寬高比將數據集中的圖像縮放至1000 px×750 px,減少圖像處理的時間和內存。
(2)數據增強
考慮到本文自建紅蝦數據集樣本數量少,易導致網絡訓練模型的訓練結果差,通過數據增強方法擴充原數據集的樣本量,以提高網絡的泛化能力,減少模型訓練中出現過擬合的可能性。本文采取旋轉翻轉改變亮度對比度等方式進行數據增強。經數據增強后,共獲得紅蝦數據集圖像5890 張。
根據SC_T3113-2002《凍蝦》和GB2733-2015《鮮凍動物性水產品》標準規定,海水蝦的TVB-N 含量(質量比)在20 mg/(100 g)以內為一等鮮度;20~25 mg/(100 g)為二級鮮度;25~30 mg/(100 g)為合格品(三級品);30 mg/(100 g)以上為不合格品,不可食用。本文所采用的舟山紅蝦屬于海蝦,可依據以上標準進行劃分等級。所有樣本圖像以4∶1 的比例隨機劃分為訓練集和測試集,新鮮度分類數據集劃分如表1 所示。

表1 新鮮度等級分類Tab.1 Classification of freshness grade
本研究采用的模型基礎網絡是Resnet50,通過殘差模塊在增加模型深度的同時防止梯度消失。本研究整體方案如圖1 所示,完成圖像采集后進行圖像預處理和數據增強,按理化指標進行圖像的新鮮度等級分類,對基礎網絡進行改進優化得到一個優質的模型,最后進行移動端部署。

圖1 研究整體方案Fig.1 Study the overall protocol
Resnet 在2015 年由何愷明團隊提出的一種深層卷積神經網絡架構[13]。當前在目標檢測、圖像分割、圖像識別等領域里都得到廣泛的應用。隨著網絡層數的不斷加深,網絡模型容易出現梯度消失或梯度爆炸等問題,會在一定程度上影響模型的性能,Resnet 很好地解決了這些問題。
Resnet 使用殘差模塊構建直連通道,將輸入信息繞道傳到輸出,提高了網絡性能。Residual 結構分為2 種,BasicBlock 和BottleNeck。兩種殘差塊結構如圖2 所示,殘差結構1:輸入X(即input)經過一系列處理之后得到殘差F(X),若是在shortcut 分支上不經過downsample 處理(即不經conv1×1 卷積+BN處理),則在最終得到的殘差映射函數為F(X)+X。殘差結構2:殘差結構2 提到的類似這種需要在shortcut 分支上進行downsample 處理的結構,一般用在每個conv_x 組塊的第1 層中,上一層的輸出out_channel 不符合此層所需要的in_channel,此時需要用conv1×1 卷積進行升維操作,此時得到的殘差映射函數為F(X)+G(X),G(X)為shortcut 分支上對輸入X 進行處理后得到的恒等映射。

圖2 殘差塊結構Fig.2 Residual block structure
將圖2(a)的2 個3×3 的卷積層替換為1×1+3×3+1×1。圖2(b)的3×3 的卷積層首先在一個降維1×1 卷積層下減少了計算量,在第2 個1×1 的卷積層還原為3×3 卷積層。圖2(a)結構的參數為1179648,圖2(b)結構的參數為69632,參數量約下降69.4%,在保持精度的同時減少了計算量。
注意力機制從本質上來說是實現信息處理資源的高效分配,它能夠以高權重去聚焦重要信息,還可以不斷調整權重,在不同情況下選取重要信息。使用ECA 注意力機制,ECA 是一種極輕量的通道注意力模塊,該模塊增加的模型復雜度小,提升效果顯著。ECANet 是通道注意力機制的一種實現形式,ECANet 可以看做是SENet 的改進版[14]。表明SENet 中的降維會給通道注意力機制帶來副作用,并且捕獲所有通道之間的依存關系是效率不高的,而且是不必要的。ECA 注意力機制模塊直接在全局平均池化層之后使用1×1 卷積層,去除了全連接層。該模塊避免了維度縮減,并有效捕獲了跨通道交互。并且ECANet 只涉及少數參數就能達到很好的效果。ECANet 通過一維卷積layers.Conv1D 來完成跨通道間的信息交互,卷積核的大小通過一個函數來自適應變化,使得通道數較大的層可以更多地進行跨通道交互。
ECA 注意力機制的實現過程如下:
(1)將輸入特征圖經過全局平均池化,特征圖從[h,w,c]的矩陣變成[1,1,c]的向量;
(2)根據特征圖的通道數計算得到自適應的一維卷積核大小kernel_size;
(3)將kernel_size 用于一維卷積中,得到對于特征圖的每個通道的權重;
(4)將歸一化權重和原輸入特征圖逐通道相乘,生成加權后的特征圖。
遷移學習是把一個領域(源領域)的知識,遷移到目標領域,使得目標領域取得更好的訓練效果。遷移學習改變了傳統訓練神經網絡模型的固有模式,增加了使用其他域進行預訓練的步驟,降低了資源損耗,提高了訓練效率。在深度神經網絡的訓練中,足夠大且質量高的數據集是訓練得到模型準確性的重要基礎。
遷移學習減少了構建深度學習模型所使用的計算力,可以較好地解決小數據集在復雜網絡上易出現的過擬合問題。本文采用遷移學習方法,充分利用網絡模型在其他數據集中學習到的經驗,用于蝦類新鮮度圖像識別研究。在深度神經網絡的訓練中,足夠大且質量高的數據集是訓練得到模型準確性和高可靠性的重要基礎。本文自建的數據集樣本較少,提取圖像特征的能力有限,本研究采用了對全連接層進行微調,凍結其他層的遷移學習方法來訓練蝦類新鮮度識別模型。
所有試驗均使用同一平臺。本文采用準確率、損失函數和訓練時長來綜合評估蝦類新鮮度分類模型的性能。
(1)Accuary 準確率是衡量模型性能優良最直觀的方法,它是檢測正確樣本與全部檢測樣本的比值,公式如下:
式中:T 為正確樣本數量;N 為全部樣本數量。
(2)Loss 損失函數是用來評價模型的預測值和真實值不一樣的程度,本模型采用交叉熵損失函數,公式如下:
(3)訓練時長是評估模型優良度的重要部分。
本實驗統一選取Adam 優化算法,BATCH SIZE設置為64,學習率設置為0.001,迭代次數為200,損失函數選取交叉熵損失函數。
為確定本文模型中所采用的方法對蝦類新鮮度識別能力的提升效果,使試驗更具科學性和合理性,在試驗過程中進行對比試驗。本研究選取了同類先進的深度卷積神經網絡進行性能比較,包括了Resnet18、Resnet50 和Densenet121。得到的試驗結果如表2 所示,其中方案4 為本文改進后模型。

表2 不同方案試驗結果Tab.2 Test results of different protocols
由表2 可知,Resnet18 模型的準確率最低為77.59%,但訓練時長最短,與Resnet18 相比,Resnet50在訓練時長進小幅度增長的情況下準確率有明顯提升,表明50 層的殘差網絡能夠提取更加準確的特征值,有利于提高訓練集的準確率。相比于Resnet18和Resnet50,Densenet121 的訓練時間雖有一定增長,但準確率也有不錯的提升,可以達到91.83%。本文改進的模型準確率達93.35%,高于其他網絡模型,訓練時長有所增加,但仍滿足實際應用需求,模型的其它性能指標也比較優異。
針對目前蝦類新鮮度檢測耗時長成本高等問題,為了能夠精準識別蝦類所屬新鮮度等級,為冷鏈運輸行業提供一種快速準確且低成本的識別方法。本文以設計紅蝦新鮮度識別算法為研究目標,基于改進Resnet50 網絡的分類算法探究冰鮮紅蝦新鮮度等級評估方法,驗證了將深度學習應用于紅蝦新鮮度等級評估的可行性。
針對數據集樣本少的問題,采用數據增強和遷移學習的方法,隨著數據集的擴充增強,試驗數據更加準確,遷移學習在加速模型收斂速度的同時提高網絡的魯棒性,驗證了將遷移學習方法應用在小規模數據集的有效性;基于改進Resnet50 網絡探究冰鮮紅蝦新鮮度等級評估方法,驗證了將遷移學習方法應用在小規模數據集的有效性。添加ECA 注意力機制方法可有效提升模型識別準確率。冰鮮紅蝦新鮮度分類識別準確率為93.35%,在有效地完成輕量化目標的同時實現了紅蝦新鮮度的準確識別。