焦 俊 王文周 侯金波 孫 裴 何嶼彤 辜麗川
(1.安徽農(nóng)業(yè)大學(xué)信息與計算機學(xué)院, 合肥 230036; 2.安徽泓森物聯(lián)網(wǎng)有限公司, 亳州 236800; 3.安徽農(nóng)業(yè)大學(xué)動物科技學(xué)院, 合肥 230036)
豬肉在存放過程中,由于酶的作用、微生物污染或宰殺前患病等原因,造成豬肉自溶、腐敗分解等變化,導(dǎo)致豬肉新鮮度下降。豬肉成分的分解必然使其營養(yǎng)價值降低,而且參與腐敗的微生物和毒素,以及腐敗后產(chǎn)生的有毒分解物,可能引起食用者中毒或誘發(fā)疾病。豬肉質(zhì)變是一個漸進過程,受諸多因素的影響。因此快速識別豬肉品質(zhì)和安全性有助于維護消費者的健康和切身利益。
豬肉品質(zhì)的評價指標有顏色、質(zhì)地、pH值、嫩度、新鮮度等,新鮮度反映微生物、理化和生化特性,是評價豬肉品質(zhì)和安全性的重要指標。豬肉的主要成分(蛋白質(zhì)、脂肪和碳水化合物)被酶和細菌分解,產(chǎn)生氣味;豬肉中的蛋白質(zhì)將逐漸分解為氫、硫化物、氨、乙基硫醇等,產(chǎn)生包括組胺、酪胺、腐胺和色胺有毒小分子;脂肪分解成醛類化合物和醛酸;碳水化合物分解為醇類、酮類、醛類、烴類和羧酸類酸性氣體。在貯藏過程中,這些物質(zhì)和其他堿性氮化合物一起將影響豬肉的顏色、紋理和形狀特征[1-3]。
理化分析揮發(fā)性鹽基氮(Total volatile basic nitrogen,TVB-N)和微生物種群是豬肉新鮮度檢測的常規(guī)方法,但是該方法有損、低效和耗時。近紅外(Near-infrared ,NIR)光譜具有快速、簡單檢測肉品性狀的能力,將其與計算機視覺(Computer vision,CV)結(jié)合評估豬肉新鮮度,已經(jīng)取得了較好的效果[4-5]。高光譜結(jié)合成像技術(shù)也在食品品質(zhì)檢測中得到了應(yīng)用,文獻[6-7]利用高光譜圖像(Hyperspectral imaging, HSI)技術(shù)檢測豬肉中細菌總數(shù)(Total viable count,TVC),效果良好;文獻[8-9]用HSI評估肴肉的新鮮度,也獲得了較好的檢測結(jié)果。多光譜成像(Multispectral imaging, MSI)同樣是新型的檢測技術(shù),該方法將圖像和光譜結(jié)合起來,獲得檢測對象的空間信息和光譜信息[10-15],以實現(xiàn)對豬肉新鮮度高精度的無損檢測。文獻[16]將MSI與線性算法相結(jié)合,檢測有氧包裝牛肉在不同貯藏溫度下的品質(zhì)狀況,結(jié)果表明,其對牛肉腐爛等級有較好的分類效果。MSI與線性偏最小二乘回歸(Partial least squares regression, PLSR)相結(jié)合,檢測熟豬肉香腸中需氧平板數(shù)(APC)的快速無損檢測技術(shù),表現(xiàn)出良好的檢測能力[17]。
近紅外、高光譜和多光譜檢測設(shè)備價格高昂,這些設(shè)備只能作為一種實驗室研究設(shè)備。為了滿足消費者的需要,研究低成本豬肉新鮮度檢測方法尤為重要。
隨著深度學(xué)習(xí)和計算機視覺技術(shù)的快速發(fā)展,開發(fā)基于深度學(xué)習(xí)和計算機視覺的豬肉新鮮度識別系統(tǒng)成為可能。遷移學(xué)習(xí)運用在大樣本數(shù)據(jù)集上訓(xùn)練好的模型,再提取小樣本特征,為小樣本檢測對象的識別提供了途徑[18-25]。
黑毛豬是淮豬的一個品系,是生長于淮北平原的地方優(yōu)良品種,由于現(xiàn)有淮豬肉新鮮度圖像樣本數(shù)量較少,因此對其新鮮度的識別較為困難。
針對小樣本黑毛豬肉新鮮度識別問題,本文提出一種改進殘差網(wǎng)絡(luò)的黑毛豬肉新鮮度識別模型,以獸醫(yī)病理生物學(xué)與疫病防控安徽省重點實驗室多年積累的各類豬肉新鮮度圖像為樣本數(shù)據(jù)集(Pork freshness image as data set, PfidSet),并完成分類標注。運用殘差網(wǎng)絡(luò)(Residual networks, ResNet)ResNet-50在該數(shù)據(jù)集上進行識別訓(xùn)練,構(gòu)建殘差網(wǎng)絡(luò)ResNet-50的參數(shù)模型,然后運用遷移學(xué)習(xí)和模型微調(diào)將訓(xùn)練好的ResNet-50模型遷移到黑毛豬肉圖像數(shù)據(jù)集(Iberico pork image data set,IpidSet)中微調(diào),在黑毛豬肉圖像樣本較少的情況下,實現(xiàn)黑毛豬肉新鮮度的準確識別。
黑毛豬肉新鮮度分級的主要依據(jù)是微生物菌群總量、大腸菌群和pH值。大腸菌群的計數(shù)方法根據(jù)GB/T 4789.32—2002《食品大腸菌群快速檢驗標準》;微生物菌落總數(shù)計數(shù)根據(jù)GB 47892—2010《食品微生物菌落總數(shù)測定標準》;pH值根據(jù)GB 5009.237—2016《食品測定標準》。因此,黑毛豬肉圖像樣本的設(shè)計思路是:采用正常宰殺、未經(jīng)冷凍處理的黑毛豬后腿部位肌肉和脂肪組織,拍攝保存為新鮮的豬肉樣本圖像。把新鮮豬肉樣本分為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)計微生物總數(shù)和檢測pH值,全部樣本檢測需要7 d。不同新鮮度豬肉樣本制備流程圖如圖1所示。
圖1 制備不同新鮮度豬肉樣本流程圖Fig.1 Procedures for preparing pork samples with different freshness
依據(jù)國家規(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格式保存。待試驗完成后,根據(jù)微生物菌體濃度、大腸菌菌體濃度和pH值,對照1.2節(jié)的分類標準,把A、B、C組豬肉樣本圖像分別標記,歸到7個類別的相應(yīng)類別中。最終把所有7類圖像以等級名稱命名放在samples文件夾中。7類樣本圖像如圖2所示。
利用邊緣的最小外接矩,裁剪樣本為224像素×224像素,使之縮小,樣本裁剪前后如圖3所示,每個樣本約11 kB。對樣本分別運用仿射變換、透視變換和旋轉(zhuǎn)進行增廣處理,其中初始圖像7 823幅、增廣圖像15 604幅。
圖3 樣本裁剪Fig.3 Cutting samples
深度殘差神經(jīng)網(wǎng)絡(luò)(ResNet)是由殘差學(xué)習(xí)模塊重復(fù)堆積而形成的一個完整網(wǎng)絡(luò)[26],由于其引入殘差模塊,解決模型在訓(xùn)練時的梯度彌散問題,增強了模型的特征學(xué)習(xí)能力,以及模型的識別性能。殘差模塊如圖4所示。
圖4 殘差模塊Fig.4 Residual module
設(shè)x為輸入,經(jīng)過卷積層W1、W2運算后輸出為F(x,W1,W2),激活函數(shù)為ReLu,因此,殘差模塊單元的最終輸出y可表示為
y=F(x,W1,W2)+Wsx
(1)
式中W1、W2——卷積神經(jīng)網(wǎng)絡(luò)1、2層所要學(xué)習(xí)的權(quán)重參數(shù)
Ws——將變量x從輸入殘差模塊維度變換到輸出維度的方陣
x跨層后與F(x,W1,W2)融合,成為下個殘差模塊的輸入。
當Ws的模為1表示殘差模塊的輸入與輸出維度相同;當Ws的模不為1表示殘差模塊的輸入與輸出維度不相同,需要通過Ws將殘差模塊的輸入與輸出維度變換到相同的維度。當y-x=0,表示為恒等映射;當y-x≠0,表明殘差網(wǎng)絡(luò)只需要學(xué)習(xí)輸入輸出的差別部分。深度殘差神經(jīng)網(wǎng)絡(luò)在訓(xùn)練時,深層的誤差通過捷徑傳播到淺層,減輕梯度彌散現(xiàn)象。ResNet-50被本文選為圖像的特征提取器,來學(xué)習(xí)圖像的抽象特征。
在監(jiān)督學(xué)習(xí)方式下,需要大量數(shù)據(jù)訓(xùn)練殘差網(wǎng)絡(luò)模型,然而,目前帶標簽的黑毛豬肉新鮮度圖像數(shù)據(jù)較少,難以滿足訓(xùn)練深度網(wǎng)絡(luò)模型的需求。
為了改善黑毛豬肉新鮮度圖像識別精度和ResNet-50模型的泛化能力,采用基于中層表達的遷移學(xué)習(xí)方法,將遷移學(xué)習(xí)和深度學(xué)習(xí)結(jié)合,先利用PfidSet對ResNet-50網(wǎng)絡(luò)進行預(yù)訓(xùn)練,使其具有抽取圖像特征的能力,并將訓(xùn)練好的網(wǎng)絡(luò)參數(shù)作為網(wǎng)絡(luò)模型的初始參數(shù);然后,改進ResNet-50網(wǎng)絡(luò),利用7類黑毛豬肉圖像對改進的ResNet-50進行微調(diào),實現(xiàn)黑毛豬肉新鮮度圖像自動識別。
為了使PfidSet訓(xùn)練后的ResNet-50模型更具有泛化能力,采用一個3層的自適應(yīng)網(wǎng)絡(luò)取代ResNet-50模型的全連接層和分類層,再運用LReLu-Softplus作為網(wǎng)絡(luò)的激活函數(shù)。
ReLu非線性映射函數(shù)為
(2)
圖5a為其示意圖。當輸入x≤0時,ReLu輸出0,該單元處于未激活狀態(tài)。
LReLu線性整流單元的表達式為
(3)
取α=0.01,圖5b為其示意圖,當輸入x<0時,輸出負值,神經(jīng)元仍處于激活狀態(tài),避免了神經(jīng)元的壞死。
Softplus激活函數(shù)為
f(x)=ln(ex+1)
(4)
從圖5c可見,函數(shù)變化平緩,其值與ReLu接近,具有較高的模型識別性能和較好的泛化性,并且其規(guī)避了ReLu函數(shù)強制性稀疏的缺點。但是Softplus函數(shù)存在一個與ReLu—樣的問題,即輸出偏移現(xiàn)象,這會影響網(wǎng)絡(luò)的收斂性。
雖然LReLu函數(shù)解決ReLu函數(shù)會導(dǎo)致神經(jīng)元死亡的問題,但函數(shù)光滑度不高。Softplus函數(shù)具有優(yōu)良的光滑特性,可是該函數(shù)的輸出偏移會影響網(wǎng)絡(luò)的收斂性??紤]到LReLu和Softplus函數(shù)的特點,結(jié)合這2個函數(shù)特點,本文設(shè)計一種改進的激活函數(shù),即LReLu-Softplus函數(shù),公式為
(5)
圖5 激活函數(shù)Fig.5 Activation functions
其中α是個常數(shù),接近于0,初始值設(shè)為0.25,圖5d為其示意圖。
本文提出的改進殘差網(wǎng)絡(luò)的黑毛豬肉新鮮度識別模型是基于遷移學(xué)習(xí)和LReLu-Softplus激活函數(shù)的殘差網(wǎng)絡(luò)模型,即Proposed(LReLu- Softplus),其結(jié)構(gòu)如圖6所示,其中,M1、M2、M3、M4分別為ResNet-50所示模型中的4個殘差塊,自適應(yīng)網(wǎng)絡(luò)
N1層的神經(jīng)元有1 000個;N2層有256個神經(jīng)元;有7個神經(jīng)元在N3層,每層神經(jīng)元的激活函數(shù)采用LReLu-Softplus,在深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程中,加入dropout(“丟棄”)機制,以一定的概率“暫時丟棄”一些神經(jīng)元,減少神經(jīng)元之間的依賴性,提高模型的泛化能力,取dropout為0.8。
圖6 基于中層表達的遷移學(xué)習(xí)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,內(nèi)存為金士頓DDR46 4GB,操作系統(tǒng)為Windows 10企業(yè)版,Caffe系統(tǒng)是Windows 10版,模型訓(xùn)練參數(shù)見表1。
訓(xùn)練與測試用的黑毛豬肉新鮮度圖像數(shù)據(jù)共有23 427幅,其中初始圖像7 823幅,擴展圖像15 604幅,如表2所示。
按照4∶1的比例隨機分配訓(xùn)練集和測試集,按照9∶1的比例分配訓(xùn)練集與驗證集。利用可以度量真實樣本分布與預(yù)測樣本分布差異的交叉熵代價函數(shù),監(jiān)督本文提出的Proposed (LReLu-Softplus)模型訓(xùn)練,圖7為訓(xùn)練時的模型損失率和模型準確率變化曲線,可以發(fā)現(xiàn)經(jīng)過800代遍歷,訓(xùn)練和驗證集上的模型損失率均趨向零。也可以發(fā)現(xiàn)經(jīng)過800代遍歷后,訓(xùn)練集的識別準確率趨向于99.7%,驗證集的準確率最高達到95%。可見,本文設(shè)計的基于改進殘差網(wǎng)絡(luò)和遷移學(xué)習(xí)的豬肉新鮮度識別模型具有較好的肉品圖像識別性能。
表1 模型訓(xùn)練參數(shù)Tab.1 Parameters for model training
表2 初始圖像和擴展圖像數(shù)量Tab.2 Total number for initial and extended images 幅
本文利用混淆矩陣來定量評估豬肉各類新鮮度之間的混淆程度,矩陣的行和列分別代表真實和預(yù)測情況,矩陣中任意一個元素xij代表將第i種類別預(yù)測為第j種類別的圖像數(shù)占該類別圖像總數(shù)的百分比。對角線元素值分別表示各種黑毛豬肉新鮮度識別的準確率,其他位置為錯分率。表3為混淆矩陣,分析表3可知,新鮮肉的識別效果最好,具有99%的準確率,次鮮肉三級和腐敗肉一級的識別準確率最差,為91%;各類黑毛豬肉新鮮度的總體識別準確率為94.5%,可見,本文設(shè)計的Proposed(LReLu-Softplus)模型對黑毛豬肉新鮮度的識別具有較高準確率。
圖7 模型損失率和識別準確率變化曲線Fig.7 Changing curves for model loss and recognition accuracy rate
表3 混淆矩陣Tab.3 Confusion matrix %
同時,將Proposed(LReLu-Softplus)模型,與僅使用PfidSet數(shù)據(jù)集訓(xùn)練的ResNet-50 (PfidSet)模型、僅使用IpidSet數(shù)據(jù)集訓(xùn)練的ResNet-50 (IpidSet)模型和基于遷移理論與ReLu激活函數(shù)的改進ResNet-50模型,即Proposed(ReLu)進行比較,表4是比較結(jié)果。表4中模型的識別準確率均是在測試集上獲得,分析表4可得,ResNet-50(IpidSet)的識別準確率最差,這是由于IpidSet的樣本數(shù)量較少;綜合表3和表4可知,僅使用PfidSet數(shù)據(jù)集訓(xùn)練模型會出現(xiàn)過擬合現(xiàn)象。本文提出的Proposed(LReLu- Softplus)模型是利用PfidSet數(shù)據(jù)集預(yù)訓(xùn)練模型,然后遷移到IpidSet數(shù)據(jù)集上微調(diào)模型,優(yōu)于僅使用PfidSet或IpidSet訓(xùn)練的模型。此外,本文通過對ResNet-50模型的改進,減少了模型的運算量和訓(xùn)練時間,而且模型識別準確性能相對于未改進的ResNet-50模型也有較好的提高。網(wǎng)絡(luò)中利用LReLu-Softplus激活函數(shù)對模型的效率影響,較利用ReLu激活函數(shù)明顯,模型的識別準確率也有所提高。
表4 模型性能比較Tab.4 Comparison for models performance
為了解決小樣本黑毛豬肉新鮮度識別問題,使用PfidSet源數(shù)據(jù)制作了包含7類各品種的豬肉新鮮度圖像數(shù)據(jù)集,構(gòu)建基于中層表達的遷移學(xué)習(xí)模型,利用一個3層的自適應(yīng)網(wǎng)絡(luò)取代ResNet-50模型的全連接層和識別層,并使用7類黑毛豬肉圖像數(shù)據(jù)對模型進行微調(diào),實現(xiàn)對7類新鮮豬肉圖像的有效識別。試驗結(jié)果表明,Proposed(LReLu- Softplus)模型適合黑毛豬肉新鮮度識別,各類新鮮度豬肉總體識別準確率為94.5%。