焦 俊 王文周 侯金波 孫 裴 何嶼彤 辜麗川
(1.安徽農業(yè)大學信息與計算機學院, 合肥 230036; 2.安徽泓森物聯網有限公司, 亳州 236800; 3.安徽農業(yè)大學動物科技學院, 合肥 230036)
豬肉在存放過程中,由于酶的作用、微生物污染或宰殺前患病等原因,造成豬肉自溶、腐敗分解等變化,導致豬肉新鮮度下降。豬肉成分的分解必然使其營養(yǎng)價值降低,而且參與腐敗的微生物和毒素,以及腐敗后產生的有毒分解物,可能引起食用者中毒或誘發(fā)疾病。豬肉質變是一個漸進過程,受諸多因素的影響。因此快速識別豬肉品質和安全性有助于維護消費者的健康和切身利益。
豬肉品質的評價指標有顏色、質地、pH值、嫩度、新鮮度等,新鮮度反映微生物、理化和生化特性,是評價豬肉品質和安全性的重要指標。豬肉的主要成分(蛋白質、脂肪和碳水化合物)被酶和細菌分解,產生氣味;豬肉中的蛋白質將逐漸分解為氫、硫化物、氨、乙基硫醇等,產生包括組胺、酪胺、腐胺和色胺有毒小分子;脂肪分解成醛類化合物和醛酸;碳水化合物分解為醇類、酮類、醛類、烴類和羧酸類酸性氣體。在貯藏過程中,這些物質和其他堿性氮化合物一起將影響豬肉的顏色、紋理和形狀特征[1-3]。
理化分析揮發(fā)性鹽基氮(Total volatile basic nitrogen,TVB-N)和微生物種群是豬肉新鮮度檢測的常規(guī)方法,但是該方法有損、低效和耗時。近紅外(Near-infrared ,NIR)光譜具有快速、簡單檢測肉品性狀的能力,將其與計算機視覺(Computer vision,CV)結合評估豬肉新鮮度,已經取得了較好的效果[4-5]。高光譜結合成像技術也在食品品質檢測中得到了應用,文獻[6-7]利用高光譜圖像(Hyperspectral imaging, HSI)技術檢測豬肉中細菌總數(Total viable count,TVC),效果良好;文獻[8-9]用HSI評估肴肉的新鮮度,也獲得了較好的檢測結果。多光譜成像(Multispectral imaging, MSI)同樣是新型的檢測技術,該方法將圖像和光譜結合起來,獲得檢測對象的空間信息和光譜信息[10-15],以實現對豬肉新鮮度高精度的無損檢測。文獻[16]將MSI與線性算法相結合,檢測有氧包裝牛肉在不同貯藏溫度下的品質狀況,結果表明,其對牛肉腐爛等級有較好的分類效果。MSI與線性偏最小二乘回歸(Partial least squares regression, PLSR)相結合,檢測熟豬肉香腸中需氧平板數(APC)的快速無損檢測技術,表現出良好的檢測能力[17]。
近紅外、高光譜和多光譜檢測設備價格高昂,這些設備只能作為一種實驗室研究設備。為了滿足消費者的需要,研究低成本豬肉新鮮度檢測方法尤為重要。
隨著深度學習和計算機視覺技術的快速發(fā)展,開發(fā)基于深度學習和計算機視覺的豬肉新鮮度識別系統(tǒng)成為可能。遷移學習運用在大樣本數據集上訓練好的模型,再提取小樣本特征,為小樣本檢測對象的識別提供了途徑[18-25]。
黑毛豬是淮豬的一個品系,是生長于淮北平原的地方優(yōu)良品種,由于現有淮豬肉新鮮度圖像樣本數量較少,因此對其新鮮度的識別較為困難。
針對小樣本黑毛豬肉新鮮度識別問題,本文提出一種改進殘差網絡的黑毛豬肉新鮮度識別模型,以獸醫(yī)病理生物學與疫病防控安徽省重點實驗室多年積累的各類豬肉新鮮度圖像為樣本數據集(Pork freshness image as data set, PfidSet),并完成分類標注。運用殘差網絡(Residual networks, ResNet)ResNet-50在該數據集上進行識別訓練,構建殘差網絡ResNet-50的參數模型,然后運用遷移學習和模型微調將訓練好的ResNet-50模型遷移到黑毛豬肉圖像數據集(Iberico pork image data set,IpidSet)中微調,在黑毛豬肉圖像樣本較少的情況下,實現黑毛豬肉新鮮度的準確識別。
黑毛豬肉新鮮度分級的主要依據是微生物菌群總量、大腸菌群和pH值。大腸菌群的計數方法根據GB/T 4789.32—2002《食品大腸菌群快速檢驗標準》;微生物菌落總數計數根據GB 47892—2010《食品微生物菌落總數測定標準》;pH值根據GB 5009.237—2016《食品測定標準》。因此,黑毛豬肉圖像樣本的設計思路是:采用正常宰殺、未經冷凍處理的黑毛豬后腿部位肌肉和脂肪組織,拍攝保存為新鮮的豬肉樣本圖像。把新鮮豬肉樣本分為A、B、C共3組。其中A組樣本由14塊肉組成,每兩塊放進一個密封袋,共7份;B組樣本由12塊肉組成,每兩塊肉放進一個密封袋,共6份;C組樣本由10塊肉組成,每兩塊放進一個密封袋,共5份。
將3組樣本放進-20℃環(huán)境保存,1 d后,拿出標簽為A的全部樣本放進4℃環(huán)境繼續(xù)保存1 d,再取A組樣本中的第1份豬肉樣本編號,分別統(tǒng)計其微生物菌群總量和大腸菌群,檢測pH值。
然后,從-20℃冷凍的環(huán)境中取出保存2 d的B組肉樣本放在4℃環(huán)境保存1 d后,再取出A組樣本中的第2份樣本和B組樣本中的第1份樣本分別編號并統(tǒng)計其微生物菌群總量和大腸菌群,檢測pH值。
最后,把C組樣本全部從保存3 d的-20℃環(huán)境中取出,放進4℃環(huán)境保存1 d,再取出A組樣本中的第3份、B組樣本中的第2份和C組樣本中的第1份樣本,分別編號并統(tǒng)計其微生物菌群總量和大腸菌群,檢測pH值。
以后每天取出A、B、C組各一份豬肉樣本,統(tǒng)計微生物總數和檢測pH值,全部樣本檢測需要7 d。不同新鮮度豬肉樣本制備流程圖如圖1所示。

圖1 制備不同新鮮度豬肉樣本流程圖Fig.1 Procedures for preparing pork samples with different freshness
依據國家規(guī)定,把被檢測豬肉的pH值在5.6~6.2之間、稀釋度為1/10 000的條件下,微生物菌體濃度在2.46~16.2 CFU/mL之間、大腸菌菌體濃度在3.48~5.97 CFU/mL之間規(guī)定為新鮮肉;pH值在6.2~6.7之間、稀釋度為1/10 000的條件下微生物菌體濃度在16.8~ 370.43 CFU/mL之間、大腸菌菌體濃度在9.24~ 93 CFU/mL之間規(guī)定為次鮮肉;pH值大于6.7、稀釋度為1/10 000的條件下微生物菌體濃度在410~3 070 CFU/mL之間、大腸菌菌體濃度在240~1 100 CFU/mL之間規(guī)定為腐敗肉。

圖2 豬肉樣本Fig.2 Pictures for pork freshness samples
把次鮮肉微生物菌體濃度在16.2~28.4 CFU/mL之間、大腸菌菌體濃度在5.97~9.2 CFU/mL之間且pH值在6.1~6.3之間規(guī)定為次鮮肉一級;微生物菌體濃度在28.4~142 CFU/mL之間、大腸菌菌體濃度在9.2~28 CFU/mL之間且pH值在6.2~6.5之間規(guī)定為次鮮肉二級;微生物菌體濃度在142~370 CFU/mL之間、大腸菌菌體濃度在28~93 CFU/mL之間且pH值在6.4~ 6.7之間規(guī)定為次鮮肉三級。
把腐敗肉微生物菌體濃度在370~1 040 CFU/mL之間、大腸菌菌體濃度在93~240 CFU/mL之間且pH值在6.7~6.8之間規(guī)定為腐敗肉一級;微生物菌體濃度在1 040~1 420 CFU/mL之間、大腸菌菌體濃度在240~290 CFU/mL之間且pH值在6.8~7.0之間規(guī)定為腐敗肉二級;微生物菌體濃度1 420~3 020 CFU/mL之間、大腸菌菌體濃度在290~1 100 UFC/mL且pH值大于7.0規(guī)定為腐敗肉三級。
在每次檢測黑毛豬肉樣本微生物菌體濃度、大腸菌菌體濃度和pH值前,采用高清晰攝像頭拍攝被檢測樣本,拍攝時選擇單一背景顏色、光線明亮適中,攝像頭背光,拍攝的圖片以JPG或PNG格式保存。待試驗完成后,根據微生物菌體濃度、大腸菌菌體濃度和pH值,對照1.2節(jié)的分類標準,把A、B、C組豬肉樣本圖像分別標記,歸到7個類別的相應類別中。最終把所有7類圖像以等級名稱命名放在samples文件夾中。7類樣本圖像如圖2所示。
利用邊緣的最小外接矩,裁剪樣本為224像素×224像素,使之縮小,樣本裁剪前后如圖3所示,每個樣本約11 kB。對樣本分別運用仿射變換、透視變換和旋轉進行增廣處理,其中初始圖像7 823幅、增廣圖像15 604幅。

圖3 樣本裁剪Fig.3 Cutting samples
深度殘差神經網絡(ResNet)是由殘差學習模塊重復堆積而形成的一個完整網絡[26],由于其引入殘差模塊,解決模型在訓練時的梯度彌散問題,增強了模型的特征學習能力,以及模型的識別性能。殘差模塊如圖4所示。

圖4 殘差模塊Fig.4 Residual module
設x為輸入,經過卷積層W1、W2運算后輸出為F(x,W1,W2),激活函數為ReLu,因此,殘差模塊單元的最終輸出y可表示為
y=F(x,W1,W2)+Wsx
(1)
式中W1、W2——卷積神經網絡1、2層所要學習的權重參數
Ws——將變量x從輸入殘差模塊維度變換到輸出維度的方陣
x跨層后與F(x,W1,W2)融合,成為下個殘差模塊的輸入。
當Ws的模為1表示殘差模塊的輸入與輸出維度相同;當Ws的模不為1表示殘差模塊的輸入與輸出維度不相同,需要通過Ws將殘差模塊的輸入與輸出維度變換到相同的維度。當y-x=0,表示為恒等映射;當y-x≠0,表明殘差網絡只需要學習輸入輸出的差別部分。深度殘差神經網絡在訓練時,深層的誤差通過捷徑傳播到淺層,減輕梯度彌散現象。ResNet-50被本文選為圖像的特征提取器,來學習圖像的抽象特征。
在監(jiān)督學習方式下,需要大量數據訓練殘差網絡模型,然而,目前帶標簽的黑毛豬肉新鮮度圖像數據較少,難以滿足訓練深度網絡模型的需求。
為了改善黑毛豬肉新鮮度圖像識別精度和ResNet-50模型的泛化能力,采用基于中層表達的遷移學習方法,將遷移學習和深度學習結合,先利用PfidSet對ResNet-50網絡進行預訓練,使其具有抽取圖像特征的能力,并將訓練好的網絡參數作為網絡模型的初始參數;然后,改進ResNet-50網絡,利用7類黑毛豬肉圖像對改進的ResNet-50進行微調,實現黑毛豬肉新鮮度圖像自動識別。
為了使PfidSet訓練后的ResNet-50模型更具有泛化能力,采用一個3層的自適應網絡取代ResNet-50模型的全連接層和分類層,再運用LReLu-Softplus作為網絡的激活函數。
ReLu非線性映射函數為

(2)
圖5a為其示意圖。當輸入x≤0時,ReLu輸出0,該單元處于未激活狀態(tài)。
LReLu線性整流單元的表達式為

(3)
取α=0.01,圖5b為其示意圖,當輸入x<0時,輸出負值,神經元仍處于激活狀態(tài),避免了神經元的壞死。
Softplus激活函數為
f(x)=ln(ex+1)
(4)
從圖5c可見,函數變化平緩,其值與ReLu接近,具有較高的模型識別性能和較好的泛化性,并且其規(guī)避了ReLu函數強制性稀疏的缺點。但是Softplus函數存在一個與ReLu—樣的問題,即輸出偏移現象,這會影響網絡的收斂性。
雖然LReLu函數解決ReLu函數會導致神經元死亡的問題,但函數光滑度不高。Softplus函數具有優(yōu)良的光滑特性,可是該函數的輸出偏移會影響網絡的收斂性。考慮到LReLu和Softplus函數的特點,結合這2個函數特點,本文設計一種改進的激活函數,即LReLu-Softplus函數,公式為
(5)

圖5 激活函數Fig.5 Activation functions
其中α是個常數,接近于0,初始值設為0.25,圖5d為其示意圖。
本文提出的改進殘差網絡的黑毛豬肉新鮮度識別模型是基于遷移學習和LReLu-Softplus激活函數的殘差網絡模型,即Proposed(LReLu- Softplus),其結構如圖6所示,其中,M1、M2、M3、M4分別為ResNet-50所示模型中的4個殘差塊,自適應網絡
N1層的神經元有1 000個;N2層有256個神經元;有7個神經元在N3層,每層神經元的激活函數采用LReLu-Softplus,在深度神經網絡的訓練過程中,加入dropout(“丟棄”)機制,以一定的概率“暫時丟棄”一些神經元,減少神經元之間的依賴性,提高模型的泛化能力,取dropout為0.8。

圖6 基于中層表達的遷移學習Fig.6 Transfer learning based on middle-level expressions
試驗軟硬件環(huán)境主要配置:主板為華碩Z170,CPU為Intel Core i7-6700k,硬盤為三星SSD 950 PRO256GB+希捷ST2000 2.0TB,顯卡為GeForce GTX1080,內存為金士頓DDR46 4GB,操作系統(tǒng)為Windows 10企業(yè)版,Caffe系統(tǒng)是Windows 10版,模型訓練參數見表1。
訓練與測試用的黑毛豬肉新鮮度圖像數據共有23 427幅,其中初始圖像7 823幅,擴展圖像15 604幅,如表2所示。
按照4∶1的比例隨機分配訓練集和測試集,按照9∶1的比例分配訓練集與驗證集。利用可以度量真實樣本分布與預測樣本分布差異的交叉熵代價函數,監(jiān)督本文提出的Proposed (LReLu-Softplus)模型訓練,圖7為訓練時的模型損失率和模型準確率變化曲線,可以發(fā)現經過800代遍歷,訓練和驗證集上的模型損失率均趨向零。也可以發(fā)現經過800代遍歷后,訓練集的識別準確率趨向于99.7%,驗證集的準確率最高達到95%。可見,本文設計的基于改進殘差網絡和遷移學習的豬肉新鮮度識別模型具有較好的肉品圖像識別性能。

表1 模型訓練參數Tab.1 Parameters for model training

表2 初始圖像和擴展圖像數量Tab.2 Total number for initial and extended images 幅
本文利用混淆矩陣來定量評估豬肉各類新鮮度之間的混淆程度,矩陣的行和列分別代表真實和預測情況,矩陣中任意一個元素xij代表將第i種類別預測為第j種類別的圖像數占該類別圖像總數的百分比。對角線元素值分別表示各種黑毛豬肉新鮮度識別的準確率,其他位置為錯分率。表3為混淆矩陣,分析表3可知,新鮮肉的識別效果最好,具有99%的準確率,次鮮肉三級和腐敗肉一級的識別準確率最差,為91%;各類黑毛豬肉新鮮度的總體識別準確率為94.5%,可見,本文設計的Proposed(LReLu-Softplus)模型對黑毛豬肉新鮮度的識別具有較高準確率。

圖7 模型損失率和識別準確率變化曲線Fig.7 Changing curves for model loss and recognition accuracy rate

表3 混淆矩陣Tab.3 Confusion matrix %
同時,將Proposed(LReLu-Softplus)模型,與僅使用PfidSet數據集訓練的ResNet-50 (PfidSet)模型、僅使用IpidSet數據集訓練的ResNet-50 (IpidSet)模型和基于遷移理論與ReLu激活函數的改進ResNet-50模型,即Proposed(ReLu)進行比較,表4是比較結果。表4中模型的識別準確率均是在測試集上獲得,分析表4可得,ResNet-50(IpidSet)的識別準確率最差,這是由于IpidSet的樣本數量較少;綜合表3和表4可知,僅使用PfidSet數據集訓練模型會出現過擬合現象。本文提出的Proposed(LReLu- Softplus)模型是利用PfidSet數據集預訓練模型,然后遷移到IpidSet數據集上微調模型,優(yōu)于僅使用PfidSet或IpidSet訓練的模型。此外,本文通過對ResNet-50模型的改進,減少了模型的運算量和訓練時間,而且模型識別準確性能相對于未改進的ResNet-50模型也有較好的提高。網絡中利用LReLu-Softplus激活函數對模型的效率影響,較利用ReLu激活函數明顯,模型的識別準確率也有所提高。

表4 模型性能比較Tab.4 Comparison for models performance
為了解決小樣本黑毛豬肉新鮮度識別問題,使用PfidSet源數據制作了包含7類各品種的豬肉新鮮度圖像數據集,構建基于中層表達的遷移學習模型,利用一個3層的自適應網絡取代ResNet-50模型的全連接層和識別層,并使用7類黑毛豬肉圖像數據對模型進行微調,實現對7類新鮮豬肉圖像的有效識別。試驗結果表明,Proposed(LReLu- Softplus)模型適合黑毛豬肉新鮮度識別,各類新鮮度豬肉總體識別準確率為94.5%。