張忠志 薛歡慶 范廣玲
(1. 吉利學(xué)院,四川 成都 641423;2. 大慶師范學(xué)院,黑龍江 大慶 163712;3. 東北石油大學(xué),黑龍江 大慶 163311)
目前中國(guó)對(duì)紅棗缺陷的檢測(cè)方法大多通過(guò)人工進(jìn)行篩選,勞動(dòng)強(qiáng)度大且效率低,而且紅棗的品質(zhì)受分揀人員的影響較大,難以滿(mǎn)足中國(guó)食品安全相關(guān)標(biāo)準(zhǔn)的要求[1]。研究人員對(duì)食品缺陷檢測(cè)技術(shù)進(jìn)行了研究,并取得了一定的成果。楊森等[2]提出了一種基于輕量級(jí)卷積網(wǎng)絡(luò)的馬鈴薯外部缺陷無(wú)損檢測(cè)與分類(lèi)方法,當(dāng)訓(xùn)練率為0.000 001時(shí),網(wǎng)絡(luò)模型的整體性能最好,訓(xùn)練精度為98.88%。與傳統(tǒng)方法相比,輕量級(jí)網(wǎng)絡(luò)模型平均表現(xiàn)出較好的識(shí)別效果,平均識(shí)別率為96.04%。張思雨等[3]提出了一種將機(jī)器視覺(jué)與自適應(yīng)卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合的花生質(zhì)量檢測(cè)方法,該法對(duì)花生常見(jiàn)缺陷的平均識(shí)別率為99.7%,比傳統(tǒng)的深度網(wǎng)絡(luò)具有更高的收斂速度和識(shí)別精度。海潮等[4]提出了一種基于機(jī)械視覺(jué)檢測(cè)紅棗表面缺陷的方法,其顏色空間模型使用Blob分析算法將紅棗與背景分離,并識(shí)別紅棗上的表面缺陷,準(zhǔn)確率在90%以上。然而,上述食品缺陷檢測(cè)方法的研究往往局限于單一缺陷,識(shí)別準(zhǔn)確率和效率不高,在實(shí)際應(yīng)用中無(wú)法滿(mǎn)足要求。
針對(duì)目前紅棗人工缺陷識(shí)別技術(shù)的現(xiàn)狀,研究擬提出一種用于紅棗缺陷自動(dòng)識(shí)別的多分類(lèi)方法,通過(guò)雙分支深度融合卷積神經(jīng)網(wǎng)絡(luò)(Double branch deep fustion convolutional neural network,DBDFCNN)進(jìn)行缺陷識(shí)別。采用雙分支卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),分支1結(jié)合遷移學(xué)習(xí)策略進(jìn)行預(yù)訓(xùn)練,分支2基于輕量級(jí)網(wǎng)絡(luò)融合特征圖提取紅棗圖像的特征信息。通過(guò)對(duì)比實(shí)驗(yàn)驗(yàn)證該方法的優(yōu)越性。旨在為食品缺陷檢測(cè)方法的研究提供一定的依據(jù)。
紅棗缺陷檢測(cè)系統(tǒng)結(jié)構(gòu)如圖1所示,其工作原理:進(jìn)料機(jī)構(gòu)可將棗從混亂狀態(tài)轉(zhuǎn)變?yōu)閱我贿M(jìn)料狀態(tài),將棗有序地引入輸送機(jī)的輥列中[5]。輸送系統(tǒng)可實(shí)現(xiàn)紅棗的自動(dòng)翻轉(zhuǎn),在正向運(yùn)輸?shù)耐瑫r(shí),可以在攝像機(jī)采集范圍內(nèi)查看棗的各個(gè)側(cè)面,進(jìn)行全方位采集,獲取紅棗的全部表面信息[6]。圖片處理系統(tǒng)經(jīng)過(guò)處理后將結(jié)果傳到分揀系統(tǒng),分揀系統(tǒng)通過(guò)封嘴將不同缺陷棗移動(dòng)到指定位置,利用擋板進(jìn)行收集,正常紅棗會(huì)自動(dòng)落入輸送帶末端的儲(chǔ)存箱中,實(shí)現(xiàn)紅棗缺陷的分選。
圖1 系統(tǒng)結(jié)構(gòu)
在食品圖像檢測(cè)識(shí)別領(lǐng)域,種類(lèi)繁多、特征相似、數(shù)據(jù)集匱乏等問(wèn)題提高了對(duì)模型遷移能力的要求,限制了傳統(tǒng)深度學(xué)習(xí)模型的應(yīng)用[7]。因此,提出一種雙分支深度融合卷積神經(jīng)網(wǎng)絡(luò)用于自動(dòng)識(shí)別紅棗中的缺陷。
輕量級(jí)網(wǎng)絡(luò) SqueezeNet以1×1卷積核來(lái)代替部分3×3的卷積核,減少了卷積神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練參數(shù),壓縮了網(wǎng)絡(luò)模型的大小[8]。 同時(shí),通過(guò)延遲池化層來(lái)獲得更大的特征圖,使識(shí)別的準(zhǔn)確率得到極大的提高。SqueezeNet 網(wǎng)絡(luò)結(jié)構(gòu)如圖 2所示,主要由卷積層、池化層、Fire 模塊、激活層 ReLU 組成。其中Fire 模塊是 SqueezeNet 網(wǎng)絡(luò)的核心部分[9]。文中紅棗輸入圖像數(shù)據(jù)大小為227×227,卷積層Conv1卷積核大小為7×7,步長(zhǎng)為2,卷積層Conv10的卷積核大小為1×1,步長(zhǎng)為1,通過(guò)Conv10代替全連接層進(jìn)行分類(lèi)[10]。輸出為紅棗分類(lèi)結(jié)果,分為5類(lèi),對(duì)應(yīng)紅棗的各類(lèi)別。 SqueezeNet網(wǎng)絡(luò)參數(shù)如表1所示。
圖2 SqueezeNet網(wǎng)絡(luò)結(jié)構(gòu)
表1 SqueezeNet網(wǎng)絡(luò)參數(shù)
為了進(jìn)一步提高模型識(shí)別的準(zhǔn)確率,對(duì)輕量級(jí)網(wǎng)絡(luò)進(jìn)行改進(jìn),將Fire模塊的3個(gè)卷積層Squeeze 1×1、expand 1×1、expand 3×3通過(guò)Concat層進(jìn)行融合,形成融合模塊(Fusion module),并將相鄰Fusion模塊提取的特征信息進(jìn)行融合,融合后的特征圖作為下一層網(wǎng)絡(luò)的輸入[11]。增加了特征圖在網(wǎng)絡(luò)中的分支數(shù)量,使網(wǎng)絡(luò)的特征信息更加豐富[12]。在卷積操作后,都會(huì)加入一個(gè) BN 批量標(biāo)準(zhǔn)操作層,并使用 PReLU 函數(shù)代替 ReLU 函數(shù)作為網(wǎng)絡(luò)激活層。深度融合卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如圖 3所示。
圖3 深度融合卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
使用Fusion模塊與Fire模塊進(jìn)行替換,相鄰Fusion模塊進(jìn)行特征融合,所以稱(chēng)為深度融合卷積神經(jīng)網(wǎng)絡(luò)[13]。該網(wǎng)絡(luò)的結(jié)構(gòu)由2個(gè)卷積層、8個(gè)Fusion模塊、4個(gè)池化層和1個(gè)Dropout層組成[14]。在每次卷積操作之后,進(jìn)行 BN 批量標(biāo)準(zhǔn)操作層和PReLU激活層,8個(gè)Fusion模塊兩兩進(jìn)行融合(2 和 3、4 和 5、6 和 7、8 和 9),通過(guò)融合優(yōu)化特征信息流[15]。
每一層特征數(shù)據(jù)輸入之前都要進(jìn)行歸一化處理,均值0,方差1。如果BN層輸入有d維數(shù)據(jù)X={x1,x2,x3,K,xd},則批量數(shù)據(jù)特征均值如式(1)所示,方差如式(2)所示[16]。
(1)
(2)
在深度融合卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,提出了一種DBDFCNN結(jié)構(gòu)來(lái)解決紅棗缺陷識(shí)別問(wèn)題。如圖4所示,DBDFCNN 網(wǎng)絡(luò)是雙分支結(jié)構(gòu),第1個(gè)分支使用訓(xùn)練好的SqueezeNet網(wǎng)絡(luò)模型對(duì)文中模型進(jìn)行預(yù)訓(xùn)練。 第2個(gè)分支通過(guò)Fusion模塊提取棗圖像的特征信息[17]。
圖4 雙分支深度融合卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
DBDFCNN結(jié)構(gòu)的設(shè)計(jì)是在卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中使用遷移學(xué)習(xí)策略,利用訓(xùn)練好的SqueezeNet網(wǎng)絡(luò)模型對(duì)DBDFCNN網(wǎng)絡(luò)模型進(jìn)行預(yù)訓(xùn)練,提高了網(wǎng)絡(luò)訓(xùn)練整體收斂速度[18]。 同時(shí)拓寬了網(wǎng)絡(luò)結(jié)構(gòu)的寬度,提高了DBDFCNN模型的分類(lèi)精度和泛化能力[19]。
相機(jī):mer-503-20gc-p型,北京大恒圖像視覺(jué)有限公司;
鏡頭:m0814-mp2型,日本康標(biāo)達(dá)公司;
計(jì)算機(jī):聯(lián)想啟天M435型,聯(lián)想(北京)有限公司;
Halcon:德國(guó)MVtec公司;
Visual Studio 2018:微軟公司。
網(wǎng)絡(luò)輸入層紅棗圖像的大小統(tǒng)一裁剪為227×227,該數(shù)據(jù)集包含干條、黃皮、霉變、破頭和正常棗(各2 000張),分為訓(xùn)練集和測(cè)試集,訓(xùn)練集和測(cè)試集比例為1∶1[20]。最大迭代數(shù)為10 000,學(xué)習(xí)率為0.000 1。DBDFCNN網(wǎng)絡(luò)參數(shù)如表2所示。
表2 參數(shù)設(shè)置
對(duì)不同卷積神經(jīng)網(wǎng)絡(luò)性能對(duì)比分析,以驗(yàn)證DBDFCNN網(wǎng)絡(luò)模型的有效性。與傳統(tǒng)缺陷識(shí)別方法和改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)方法進(jìn)行比較,驗(yàn)證該方法的優(yōu)越性[21]。圖5為紅棗的分類(lèi)圖。
圖5 紅棗分類(lèi)圖
從圖6(a)可以看出,迭代0~500時(shí)DBDFCNN網(wǎng)絡(luò)模型識(shí)別準(zhǔn)確率快速上升,在500~3 000時(shí)上升較為緩慢,之后準(zhǔn)確率趨于穩(wěn)定,最終穩(wěn)定在99%以上。從圖6(b) 可以看出,迭代0~500時(shí)DBDFCNN網(wǎng)絡(luò)模型的損失值迅速下降,在500~3 000時(shí)下降緩慢,之后趨于穩(wěn)定。
圖6 DBDFCNN網(wǎng)絡(luò)的準(zhǔn)確率和損失值變化
使用DBDFCNN網(wǎng)絡(luò)模型對(duì)紅棗圖像測(cè)試集數(shù)據(jù)進(jìn)行識(shí)別和分類(lèi),測(cè)試集中共有5 000張紅棗圖片,分5種類(lèi)型,每種類(lèi)型各1 000張。表3為DBDFCNN網(wǎng)絡(luò)模型識(shí)別結(jié)果。
由表3可知,網(wǎng)絡(luò)模型識(shí)別準(zhǔn)確率分別為99.8%,99.6%,99.4%,98.7%,100.0%,總體分類(lèi)準(zhǔn)確率為99.5%。
表3 識(shí)別結(jié)果
為了驗(yàn)證DBDFCNN網(wǎng)絡(luò)模型的有效性,將網(wǎng)絡(luò)模型與SqueezeNet網(wǎng)絡(luò)模型進(jìn)行對(duì)比分析。迭代次數(shù)設(shè)置為10 000,干條、黃皮、霉變、破頭和正常棗各2 000張為試驗(yàn)集進(jìn)行實(shí)驗(yàn)驗(yàn)證。由圖7可知,文中網(wǎng)絡(luò)模型的分類(lèi)準(zhǔn)確率和網(wǎng)絡(luò)學(xué)習(xí)速度都優(yōu)于SqueezeNet網(wǎng)絡(luò)模型,而且網(wǎng)絡(luò)收斂速度快,損失值小,網(wǎng)絡(luò)學(xué)習(xí)速度快。
圖7 不同網(wǎng)絡(luò)的準(zhǔn)確率和損失值變化
通過(guò)紅棗數(shù)據(jù)集對(duì)DBDFCNN網(wǎng)絡(luò)和SqueezeNet 網(wǎng)絡(luò)進(jìn)行訓(xùn)練和測(cè)試,準(zhǔn)確率分別為96.2% 和 99.5%。每張紅棗圖像的平均分類(lèi)和識(shí)別時(shí)間分別為3.7,8.2 ms。
由表4可以看出,SqueezeNet網(wǎng)絡(luò)模型的分類(lèi)識(shí)別時(shí)間相對(duì)較短,且其準(zhǔn)確率較文中網(wǎng)絡(luò)模型低了3.43%。雖然文中網(wǎng)絡(luò)模型增加了紅棗缺陷分類(lèi)所需的時(shí)間,但仍能滿(mǎn)足紅棗分類(lèi)識(shí)別的工程應(yīng)用。
表4 不同網(wǎng)絡(luò)模型對(duì)比
為了驗(yàn)證DBDFCNN算法的優(yōu)越性,將其與網(wǎng)中網(wǎng)卷積神經(jīng)網(wǎng)絡(luò)(Network in network -convolutional neural networks,NIN-CNN)算法[22]和粒子群優(yōu)化的最小二乘法支持向量機(jī)(Particle swarm optimization-least squares support vector machine,PSO-LS-SVM)算法[23]進(jìn)行比較。PSO-LS-SVM算法用于提取和識(shí)別紅棗單一特征,未進(jìn)行多種缺陷分類(lèi)。而DBDFCNN算法和NIN-CNN算法針對(duì)不同棗品質(zhì)實(shí)現(xiàn)多分類(lèi),相比于傳統(tǒng)識(shí)別方法,在識(shí)別準(zhǔn)確率和效率上都有一定的提升。從表5可以看出,傳統(tǒng)的紅棗缺陷識(shí)別和檢測(cè)方法僅關(guān)注缺陷的存在與否,不會(huì)對(duì)缺陷進(jìn)行分類(lèi)。卷積神經(jīng)網(wǎng)絡(luò)的出現(xiàn)解決了紅棗缺陷的多分類(lèi)問(wèn)題,網(wǎng)絡(luò)通過(guò)原始圖片進(jìn)行訓(xùn)練,無(wú)需復(fù)雜的圖像預(yù)處理操作,分類(lèi)識(shí)別準(zhǔn)確率較高,DBDFCNN網(wǎng)絡(luò)模型的識(shí)別準(zhǔn)確率達(dá)到99.5%。
表5 不同識(shí)別方法對(duì)比
基于雙分支深度融合的卷積神經(jīng)網(wǎng)絡(luò)的紅棗缺陷識(shí)別方法,提高了網(wǎng)絡(luò)學(xué)習(xí)速度和收斂速度,具有較好的分類(lèi)識(shí)別效果。相比于SqueezeNet網(wǎng)絡(luò),文中提出的網(wǎng)絡(luò)模型將紅棗缺陷分類(lèi)準(zhǔn)確率提高了3.43%,識(shí)別準(zhǔn)確率達(dá)到99.5%。鑒于試驗(yàn)設(shè)備和數(shù)據(jù)規(guī)模,文中研究仍處于起步階段,僅進(jìn)行試驗(yàn)分析,后期將不斷提高該方法的性能。