張超宇, 王應(yīng)彪, 顏 旭, 王周梅, 李九峰, 劉夢(mèng)迪, 周 丹
(西南林業(yè)大學(xué)機(jī)械與交通學(xué)院,云南 昆明 650224)
云南是中國(guó)第一大核桃生產(chǎn)基地,也是世界深紋核桃的原產(chǎn)地。目前,云南核桃加工技術(shù)相對(duì)落后,不僅加工率低,同時(shí)初加工占比高、加工工藝落后[1-2]。除了缺少能實(shí)現(xiàn)規(guī)模化生產(chǎn)加工的采收機(jī)、脫青皮機(jī)以及核桃破殼機(jī)以外,核桃破殼后殼仁物料的高效無(wú)損分類檢測(cè)也是云南核桃產(chǎn)業(yè)升級(jí),加工效益進(jìn)階的關(guān)鍵技術(shù)缺口。
計(jì)算機(jī)視覺的發(fā)展為農(nóng)產(chǎn)品的無(wú)損檢測(cè)提供了一條新方法,國(guó)內(nèi)外學(xué)者已經(jīng)開展了初步研究,并取得了較好的成效。早期的研究以傳統(tǒng)機(jī)器學(xué)習(xí)方法為主。如劉星星等[3]提出的基于OpenCV的葡萄干色澤識(shí)別方法,識(shí)別效率得到了極大提高;李頎等[4]采用HSV顏色模型和CLBP(完全局部二值模式) 提取玉米種穗的顏色和紋理特征,利用 SVM(支持向量機(jī)) 實(shí)現(xiàn) 4 種異常玉米種穗的分類。但傳統(tǒng)機(jī)器學(xué)習(xí)方法存在對(duì)圖像拍攝環(huán)境要求高,復(fù)雜環(huán)境特征提取難度大、預(yù)測(cè)正確率低和魯棒性差等問(wèn)題,導(dǎo)致研究成果很難落地。隨著深度學(xué)習(xí)和圖形處理器(GPU)并行處理技術(shù)的飛速發(fā)展,基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的圖像識(shí)別方法表現(xiàn)出更大的優(yōu)越性。甘雨等[5]基于改進(jìn)的EfficientNet網(wǎng)絡(luò)在大規(guī)模作物害蟲數(shù)據(jù)集IP102上進(jìn)行訓(xùn)練與評(píng)估,作物害蟲識(shí)別準(zhǔn)確率達(dá)到69.45%,保持輕量計(jì)算的前提下獲得了優(yōu)于同類其他網(wǎng)絡(luò)的識(shí)別準(zhǔn)確率;Koklu等[6]基于VGG16與遷移學(xué)習(xí)對(duì)土耳其常見的5種水稻種子進(jìn)行分類識(shí)別,準(zhǔn)確率達(dá)到99.90%;Subeesh等[7]利用深度學(xué)習(xí)方法進(jìn)行甜椒田的雜草識(shí)別,準(zhǔn)確率達(dá)到97.70%;牛學(xué)德等[8]基于Densenet網(wǎng)絡(luò)及遷移學(xué)習(xí)方法實(shí)現(xiàn)了番茄葉片的分類,測(cè)試準(zhǔn)確率達(dá)到97.76%。
目前有關(guān)核桃破殼加工后物料識(shí)別分類的研究已得到初步開展。李文寶等[9]基于VGG16網(wǎng)絡(luò)實(shí)現(xiàn)了山核桃破殼物料分類識(shí)別,準(zhǔn)確率達(dá)到99.50%;趙騰飛等[10]利用卷積神經(jīng)網(wǎng)絡(luò)算法模型進(jìn)行核桃仁分級(jí),經(jīng)過(guò)OpenVINO工具套件優(yōu)化算法后,識(shí)別準(zhǔn)確率達(dá)到99.44%,推理時(shí)間也大大縮短。上述模型雖在核桃破殼物料的識(shí)別中取得較高的準(zhǔn)確率,但模型參數(shù)多、計(jì)算量大、識(shí)別時(shí)間長(zhǎng),導(dǎo)致識(shí)別效率較低。ShuffleNet網(wǎng)絡(luò)模型是曠世科技提出的輕量化卷積神經(jīng)網(wǎng)絡(luò)模型,通過(guò)引入深度可分離網(wǎng)絡(luò)以及通道劃分與通道重組技術(shù),犧牲部分準(zhǔn)確率使得模型計(jì)算量大幅度降低,預(yù)測(cè)速度提高。李好等[11]將改進(jìn)的ShuffleNet V2應(yīng)用于農(nóng)作物病害識(shí)別,實(shí)現(xiàn)了26種農(nóng)作物常見病害的快速識(shí)別;張旭等[12]將改進(jìn)的ShuffleNet V2部署在Android 移動(dòng)端對(duì)4類蘋果葉部病害圖像進(jìn)行識(shí)別,移動(dòng)端單張圖像的平均推理時(shí)間達(dá)到39.38 ms。但是ShuffleNet V2等輕量化網(wǎng)絡(luò)模型為了達(dá)到快速識(shí)別的目的,或多或少犧牲了準(zhǔn)確率,如何提升準(zhǔn)確率,使得模型在精度和速度上達(dá)到平衡,是輕量級(jí)CNN設(shè)計(jì)需要解決的關(guān)鍵問(wèn)題。此外,不同數(shù)據(jù)集具有不同特點(diǎn),在應(yīng)用圖像分類時(shí)往往需要針對(duì)數(shù)據(jù)集特點(diǎn)進(jìn)行相應(yīng)的算法優(yōu)化,以實(shí)現(xiàn)最優(yōu)的識(shí)別效果。
針對(duì)云南深紋核桃的特點(diǎn)以及破殼物料深加工的需求,本研究對(duì)ShuffleNet V2模型進(jìn)行改進(jìn),實(shí)現(xiàn)其對(duì)核桃破殼后殼仁物料輕量化識(shí)別分類,以期實(shí)現(xiàn)核桃破殼物料的快速無(wú)損檢測(cè),為進(jìn)一步的核桃破殼物料快速無(wú)損檢測(cè)設(shè)備研發(fā)提供支撐。
三臺(tái)核桃是聞名全國(guó)的深紋優(yōu)良核桃品種,本研究以三臺(tái)核桃破殼后的殼仁物料作為研究對(duì)象,將破殼風(fēng)選后的核桃仁按照完整度和品質(zhì)[13]分為半仁、大三角仁、四分仁、碎仁和霉變?nèi)?類進(jìn)行識(shí)別,考慮到當(dāng)前風(fēng)選設(shè)備無(wú)法實(shí)現(xiàn)絕對(duì)的殼仁分離,故增加包括核桃殼和隔膜在內(nèi)的殼類共6個(gè)類別進(jìn)行識(shí)別分類。
為了增加圖像來(lái)源的多樣性以及盡量減少光照環(huán)境對(duì)訓(xùn)練結(jié)果的影響,本研究采用2種拍攝方式進(jìn)行圖像數(shù)據(jù)采集:第一種是由工業(yè)相機(jī)大恒MER-051-120GC搭建的立體暗箱,如圖1所示,采用分體式發(fā)光二極管(LED)環(huán)形燈作為光源,將鏡頭、光源以及鏡頭與物料之間的距離固定,保證所采集樣本拍照環(huán)境的一致性,所采集圖像的分辨率為808(水平方向)×608(垂直方向);第二種則是通過(guò)手機(jī)Redmi K40在隨機(jī)光源環(huán)境下拍照得到樣本數(shù)據(jù),同一批拍攝的數(shù)據(jù)焦距一致。隨機(jī)光源環(huán)境包括隨機(jī)自然光和隨機(jī)環(huán)形光源補(bǔ)光,所有數(shù)據(jù)采集底色均為黑色。由于物料正反兩面差異較大,部分?jǐn)?shù)據(jù)進(jìn)行正反兩面拍攝以模擬傳送帶上物料的空間狀態(tài)。不同類別的殼仁物料圖像如圖2所示。數(shù)據(jù)集共獲得原始圖像980張,其中工業(yè)相機(jī)拍攝420張,手機(jī)拍攝560張。
A、B、C、D、E、F分別為工業(yè)相機(jī)拍攝的核桃破殼物料殼仁樣本;a、b、c、d、e、f分別為手機(jī)拍攝的核桃破殼物料殼仁樣本。圖2 不同類別的破殼物料圖像Fig.2 Images of different kinds of shell-breaking materials
為提高所訓(xùn)練模型的泛化能力和魯棒性,通過(guò)對(duì)原始數(shù)據(jù)進(jìn)行數(shù)據(jù)增強(qiáng)來(lái)豐富數(shù)據(jù)集和模擬由于天氣、光照環(huán)境、拍照角度甚至鏡頭不清晰等因素影響下的成像狀態(tài)。本研究采用的數(shù)據(jù)增強(qiáng)方法包括有監(jiān)督的旋轉(zhuǎn)(65°和25°)、亮度變換(亮度增強(qiáng)和亮度減弱)、增加對(duì)比度、添加高斯噪聲和高斯模糊處理等。數(shù)據(jù)增強(qiáng)后的圖像如圖3所示。經(jīng)過(guò)數(shù)據(jù)增強(qiáng)得到最終的云南深紋核桃破殼物料數(shù)據(jù)集共7 840張,每類圖像均在1 300張左右。本研究按照7∶2∶1的比例隨機(jī)將數(shù)據(jù)集劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集,其中訓(xùn)練集用于模型訓(xùn)練,驗(yàn)證集用來(lái)調(diào)整參數(shù)優(yōu)化模型,測(cè)試集用于模型評(píng)估。
圖3 部分?jǐn)?shù)據(jù)增強(qiáng)示例Fig.3 Data enhancement examples
1.2.1 深度可分離卷積 深度可分離卷積由深度卷積(DWconv)和逐點(diǎn)卷積(PWconv)組成,其中深度卷積通過(guò)將卷積核個(gè)數(shù)設(shè)置為輸入通道數(shù),使得每個(gè)卷積核只負(fù)責(zé)1個(gè)特征通道的卷積計(jì)算,逐點(diǎn)卷積通過(guò)卷積運(yùn)算將深度卷積后不同通道上的特征進(jìn)行加權(quán)組合生成新的特征圖,深度可分離卷積的實(shí)現(xiàn)過(guò)程如圖4所示。深度可分離卷積的使用可以大大減少計(jì)算量[14],如果使用得當(dāng)可以在獲得相同識(shí)別精度的同時(shí)使模型更加輕量化,因此深度可分離卷積被廣泛應(yīng)用于輕量化網(wǎng)絡(luò)的設(shè)計(jì)。
1.2.2 通道混洗 通道混洗方法(Channel Shuffle)是ShuffleNet系列網(wǎng)絡(luò)最重要的成果之一[15-16]。由圖5可知分組卷積的直接堆疊會(huì)導(dǎo)致單個(gè)通道的輸出只能來(lái)自輸入通道的一部分,使得卷積過(guò)程對(duì)信息的表示能力被降低,添加通道混洗操作可以使不同組之間的特征得到交流。通道混洗的實(shí)現(xiàn)過(guò)程如圖6,經(jīng)過(guò)緯度重置(Latitudere shape)和特征轉(zhuǎn)置(Transpose)等一系列操作使輸出的通道特征被重新排序,使得不同組之間的信息能夠得到交流。
圖5 堆疊分組卷積有無(wú)通道混洗的區(qū)別Fig.5 The difference between stacked grouping convolution with and without channel shuffle
圖6 通道混洗實(shí)現(xiàn)過(guò)程Fig.6 The realization process of channel shuffle
1.2.3 ShuffleNet V2基礎(chǔ)模塊與框架 ShuffleNet V2網(wǎng)絡(luò)在設(shè)計(jì)過(guò)程中提出了4條輕量化的準(zhǔn)則,并根據(jù)這4條準(zhǔn)則設(shè)計(jì)出的整體結(jié)構(gòu)(表1)及2個(gè)基本單元模塊(圖7)[16]。ShuffleNet V2的深度堆疊模塊(圖7a)直接通過(guò)通道劃分(Channel split)功能將輸入的特征通道平均分成2份,左邊不參與卷積,恒定不變,起到殘差邊的功能。在特征融合之后進(jìn)行通道混洗,左邊和右邊的特征可以得到有效交流。降采樣模塊(圖7b)由于改變了特征圖的尺寸所以在左邊原本的殘差邊也加入了1個(gè)深度可分離卷積,改變特征通道數(shù),使得卷積后的兩邊可以進(jìn)行通道融合。2個(gè)模塊最后都通過(guò)通道混洗使分組后的特征得到融合和交流。
圖7 ShuffleNet V2的基本單元Fig.7 The basic units of ShuffleNet V2
ShuffleNet V2模型在圖像識(shí)別的速度和精度上有著很好的權(quán)衡,犧牲一定的預(yù)測(cè)精度得到更快的推理速度和更小的模型參數(shù)量,非常適合背景簡(jiǎn)單、分類數(shù)較少的核桃破殼物料殼仁數(shù)據(jù)集。作為專門用于移動(dòng)端的高效輕量化模型,十分適合在嵌入式平臺(tái)上部署。
隨著深度卷積神經(jīng)網(wǎng)絡(luò)研究的深入,一些新的網(wǎng)絡(luò)優(yōu)化策略不斷推出。如利用Transformer模型的架構(gòu)和設(shè)計(jì)思路可以使卷積神經(jīng)網(wǎng)絡(luò)模型在推理速度和識(shí)別準(zhǔn)確率上都有較大提升[17]。使用深度可分離卷積可以提高模型的訓(xùn)練效果;使用單獨(dú)的降采樣模塊可以使網(wǎng)絡(luò)的訓(xùn)練更快;在深度卷積中適當(dāng)增大卷積核可以提高網(wǎng)絡(luò)的識(shí)別能力;堆疊基礎(chǔ)模塊的使用比例對(duì)模型的訓(xùn)練也有一定的影響。另外,在網(wǎng)絡(luò)的淺層不使用深度卷積可以加速模型的訓(xùn)練,且?guī)缀醪挥绊懩P偷男阅?但在網(wǎng)絡(luò)的深層必須使用深度卷積;SE通道注意力機(jī)制的正確使用也可以提升模型的性能[18]。H-Swish激活函數(shù)能夠更好地訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò),在網(wǎng)絡(luò)的深層應(yīng)用效果更佳[19]。DropPath操作可以有效防止模型過(guò)度擬合,提高被訓(xùn)練網(wǎng)絡(luò)的泛化能力[20]。
根據(jù)云南深紋核桃殼仁物料數(shù)據(jù)集特點(diǎn),結(jié)合上述研究成果,兼顧模型的識(shí)別精度和速度, 本研究對(duì) ShuffleNet V2-0.5 模型進(jìn)行了改進(jìn),其基本思路如圖8所示。首先,將網(wǎng)絡(luò)整體分為淺層和深層兩部分,在網(wǎng)絡(luò)的淺層不使用深度卷積,添加SE注意力機(jī)制與DropPath 層來(lái)提高網(wǎng)絡(luò)性能,參考EfficientNet V2淺層模塊[18]提出圖9a和圖9b 2個(gè)本網(wǎng)絡(luò)的淺層模塊ShuffleNet-1和ShuffleNet-2,考慮到DropPath層會(huì)丟失所在支路的所有通道特征,所以將DropPath層放在通道融合之后并添加一個(gè)完整特征通道作為殘差邊實(shí)現(xiàn)網(wǎng)絡(luò)深度隨機(jī)的功能。其次,在網(wǎng)絡(luò)的深層使用H-Swish激活函數(shù)替代ReLu激活函數(shù),為了增加卷積神經(jīng)網(wǎng)絡(luò)的感受野,使用7×7卷積核替代深度卷積的3×3卷積核(圖9c);最后,通過(guò)調(diào)整網(wǎng)絡(luò)架構(gòu),改變基礎(chǔ)模塊堆疊比例和模塊的輸入輸出通道數(shù),并設(shè)計(jì)單獨(dú)的降采樣模塊(圖9d)代替ShuffleNet V2-0.5的降采樣模塊Stage2。
圖8 C-ShuffleNet模型基礎(chǔ)模塊設(shè)計(jì)思路Fig.8 Design ideas for the base module of C-ShuffleNet model
圖9 C-ShuffleNet的基本單元Fig.9 The basic units of C-ShuffleNet
綜合上述改進(jìn),提出輕量化卷積神經(jīng)網(wǎng)絡(luò)模型C-ShuffleNet,其4個(gè)基礎(chǔ)單元模塊見圖9,模型的整體結(jié)構(gòu)見表2。
表2 C-ShuffleNet網(wǎng)絡(luò)整體結(jié)構(gòu)
1.4.1 試驗(yàn)環(huán)境 本試驗(yàn)所有模型采用PyTorch 1.11.0深度學(xué)習(xí)框架進(jìn)行搭建,以Python 3.9作為編程語(yǔ)言,在PyCharm 平臺(tái)搭建模型。模型訓(xùn)練采用SGD優(yōu)化算法進(jìn)行優(yōu)化訓(xùn)練,每批次樣本數(shù)設(shè)置為16,初始學(xué)習(xí)率設(shè)置為0.01,使用Lambda自定義衰減更新學(xué)習(xí)率,lrf設(shè)置為0.01,使用交叉熵?fù)p失函數(shù)計(jì)算損失值,訓(xùn)練50個(gè)批次結(jié)束訓(xùn)練,輸入圖像大小均設(shè)置為224×224。訓(xùn)練的硬件環(huán)境如下:處理器型號(hào)為Intel i7-12700F,擁有14核20線程,顯卡為NVIDIA GeForce RTX 3080 12G版本,內(nèi)存32 G,Windows 10 操作系統(tǒng),嵌入式設(shè)備樹莓派4B,處理器型號(hào)為Broadcom BCM2711,使用ARM Cortex-A72 架構(gòu),內(nèi)存8 G。
1.4.2 模型評(píng)價(jià)指標(biāo) 采用精確率(Precision)、召回率(Recall)、F1分?jǐn)?shù)(F1)和準(zhǔn)確率(Accuracy)評(píng)估網(wǎng)絡(luò)性能。其中F1 分?jǐn)?shù)為精確率和召回率的調(diào)和平均數(shù),只有2個(gè)數(shù)據(jù)都很優(yōu)秀才能得到高分;準(zhǔn)確率反映的是模型識(shí)別出的所有預(yù)測(cè)正確的樣本數(shù)占總樣本數(shù)的比例,直接體現(xiàn)模型性能。其計(jì)算公式如下:
(1)
(2)
(3)
(4)
式中,TP為模型識(shí)別為正的正樣本數(shù)量,TN為模型識(shí)別為正的負(fù)樣本數(shù)量,FP為模型識(shí)別為負(fù)的正樣本數(shù)量,FN為模型識(shí)別為負(fù)的負(fù)樣本數(shù)量。
消融試驗(yàn)可以通過(guò)逐步增加或減少深度學(xué)習(xí)網(wǎng)絡(luò)的組成模塊,來(lái)分析和評(píng)估這些組成模塊對(duì)神經(jīng)網(wǎng)絡(luò)性能的影響。為了探究本研究提出的4個(gè)基礎(chǔ)模塊對(duì)模型性能提升的作用,這里將上述改進(jìn)方式整理為3個(gè)調(diào)整組合進(jìn)行消融試驗(yàn)。調(diào)整組合1為在網(wǎng)絡(luò)的淺層使用ShuffleNet-1和ShuffleNet-2替代淺層的Stage1,網(wǎng)絡(luò)層數(shù)及特征通道數(shù)保持不變;調(diào)整組合2為在網(wǎng)絡(luò)的深層使用ShuffleNet-3替代深層的Stage1,網(wǎng)絡(luò)層數(shù)及特征通道數(shù)保持不變;調(diào)整組合3為使用圖9d中單獨(dú)的降采樣模塊替代原網(wǎng)絡(luò)的Stage2,并且調(diào)整網(wǎng)絡(luò)層數(shù)及特征通道數(shù)。
利用C-ShuffleNet網(wǎng)絡(luò)與ShuffleNet V2-0.5網(wǎng)絡(luò)和驗(yàn)證數(shù)據(jù)集,對(duì)不同迭代次數(shù)下識(shí)別準(zhǔn)確率、損失值的進(jìn)行比較;利用C-ShuffleNet網(wǎng)絡(luò)與ShuffleNet V2-0.5網(wǎng)絡(luò)對(duì)測(cè)試數(shù)據(jù)集進(jìn)行試驗(yàn),建立測(cè)試集的混淆矩陣,進(jìn)而進(jìn)行模型評(píng)估。
為充分評(píng)估本研究提出的C-ShuffleNet模型對(duì)云南深紋核桃破后物料的識(shí)別分類能力,選取了多種卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行性能比較,其中包括AlexNet[21]、ResNet[22]、MobileNet V2[14]、EfficientNet V2[18]、ShuffleNet V2[16]等。為了保證試驗(yàn)條件的一致性,所有模型訓(xùn)練時(shí)均采用 PyTorch 框架進(jìn)行網(wǎng)絡(luò)搭建和訓(xùn)練,同時(shí)使用相同的在線預(yù)處理策略進(jìn)行預(yù)處理,且所有網(wǎng)絡(luò)均不使用遷移學(xué)習(xí)。
為了說(shuō)明C-ShuffleNet模型的有效性,本研究使用Grad-CAM[23]可視化技術(shù)對(duì)C-ShuffleNet模型和ShuffleNet V2-0.5模型的預(yù)測(cè)熱力圖進(jìn)行比較,分析模型改進(jìn)前后關(guān)注重點(diǎn)的變化情況。
由表3可以看出,在網(wǎng)絡(luò)的淺層使用ShuffleNet-1和ShuffleNet-2替代淺層的Stage1,模型在核桃破殼物料殼仁測(cè)試數(shù)據(jù)集的識(shí)別準(zhǔn)確率提高了0.12個(gè)百分點(diǎn),而模型在參數(shù)規(guī)模和浮點(diǎn)運(yùn)算量上均有一定的提升;在網(wǎng)絡(luò)的深層使用ShuffleNet-3替代深層的Stage1,模型在參數(shù)規(guī)模和浮點(diǎn)運(yùn)算量上只有少量提升的情況下,模型的識(shí)別準(zhǔn)確率提高了0.76個(gè)百分點(diǎn);使用單獨(dú)的降采樣模塊替代原網(wǎng)絡(luò)的Stage2并調(diào)整網(wǎng)絡(luò)層數(shù)及特征通道數(shù),模型在參數(shù)規(guī)模和浮點(diǎn)運(yùn)算量上均有明顯下降,但模型識(shí)別準(zhǔn)確率卻下降了0.77個(gè)百分點(diǎn);使用ShuffleNet-1、ShuffleNet-2和ShuffleNet-3相應(yīng)替代原網(wǎng)絡(luò)的Stage1,模型在參數(shù)規(guī)模和浮點(diǎn)運(yùn)算量有一定的提升,但模型準(zhǔn)確率提升1.04個(gè)百分點(diǎn);最后,本研究提出的C-ShuffleNet輕量化模型雖然在浮點(diǎn)運(yùn)算量上略高于原模型,但模型在參數(shù)規(guī)模和模型準(zhǔn)確率上均有一定的提升,其中模型準(zhǔn)確率高于未改進(jìn)的ShuffleNet V2-0.5網(wǎng)絡(luò)模型1.28個(gè)百分點(diǎn)。通過(guò)上述消融實(shí)驗(yàn)得出以下結(jié)論,模型參數(shù)規(guī)模得到壓縮主要通過(guò)使用單獨(dú)的降采樣模塊替代原網(wǎng)絡(luò)的Stage2并調(diào)整網(wǎng)絡(luò)層數(shù)及特征通道數(shù)實(shí)現(xiàn)的,但是僅做此處改進(jìn)會(huì)降低模型識(shí)別的準(zhǔn)確率;模型最終準(zhǔn)確率的提升,且參數(shù)規(guī)模有所下降是所有改進(jìn)方式共同作用的結(jié)果。
表3 C-ShuffleNet網(wǎng)絡(luò)的消融試驗(yàn)
調(diào)整組合1:在網(wǎng)絡(luò)的淺層使用ShuffleNet-1和ShuffleNet-2替代淺層的Stage1,網(wǎng)絡(luò)層數(shù)及特征通道數(shù)保持不變;調(diào)整組合2:在網(wǎng)絡(luò)的深層使用ShuffleNet-3替代深層的Stage1,網(wǎng)絡(luò)層數(shù)及特征通道數(shù)保持不變;調(diào)整組合3:使用單獨(dú)的降采樣模塊替代原網(wǎng)絡(luò)的Stage2,并且調(diào)整網(wǎng)絡(luò)層數(shù)及特征通道數(shù)?!獭ⅰ练謩e表示使用和不使用替代措施。
不同迭代次數(shù)下,C-ShuffleNet網(wǎng)絡(luò)和ShuffleNet V2-0.5對(duì)驗(yàn)證準(zhǔn)確率和損失值變化如圖10所示。從圖中可以看出,本研究設(shè)計(jì)的C-ShuffleNet網(wǎng)絡(luò)在訓(xùn)練時(shí)的準(zhǔn)確率和損失值波動(dòng)小,迭代結(jié)束時(shí)C-ShuffleNet網(wǎng)絡(luò)準(zhǔn)確率高、損失值小。
a:驗(yàn)證集準(zhǔn)確率對(duì)比;b:驗(yàn)證集損失值對(duì)比。圖10 C-ShuffleNet網(wǎng)絡(luò)和ShuffleNet V2-0.5驗(yàn)證集準(zhǔn)確率和損失值隨迭代次數(shù)的變化Fig.10 The change of validation set accuracy and loss value with the number of iterations under C-ShuffleNet and ShuffleNet V2-0.5
由圖11的混淆矩陣可知2個(gè)模型對(duì)核桃殼及隔膜等雜物項(xiàng)都可以進(jìn)行準(zhǔn)確的識(shí)別;本研究設(shè)計(jì)的C-ShuffleNet網(wǎng)絡(luò)在半仁和霉變?nèi)实尿?yàn)證集識(shí)別中也可以做到完全預(yù)測(cè)正確,而ShuffleNet V2-0.5網(wǎng)絡(luò)則有識(shí)別錯(cuò)誤5個(gè)半仁和2個(gè)霉變?nèi)?大三角仁雖然2個(gè)模型都有識(shí)別錯(cuò)誤的部分,但本研究設(shè)計(jì)的C-ShuffleNet網(wǎng)絡(luò)模型只有2個(gè)被識(shí)別為最相似的半仁,而ShuffleNet V2-0.5模型除了有3個(gè)被識(shí)別為半仁外,還有1個(gè)被識(shí)別為霉變?nèi)?2個(gè)模型都在四分仁和碎仁的識(shí)別上出現(xiàn)了較多的錯(cuò)誤,說(shuō)明在現(xiàn)有的6種破殼物料分類中四分仁和碎仁是最易混淆的。
圖11 基于C-ShuffleNet與ShuffleNet V2-0.5模型的測(cè)試集評(píng)估結(jié)果(混淆矩陣)Fig.11 Evaluation results (confusion matrix) of test-dataset based on C-ShuffleNet model and ShuffleNet V2-0.5 model
改進(jìn)前后模型對(duì)測(cè)試集的評(píng)估結(jié)果見表4,可以看出C-ShuffleNet模型在模型參數(shù)更少的情況下,模型的精確率、召回率和準(zhǔn)確率都比ShuffleNet V2-0.5模型高,說(shuō)明本研究構(gòu)建的C-ShuffleNet模型在核桃破殼物料殼仁的分類識(shí)別中有更好的性能。
表4 C-ShuffleNet與ShuffleNet V2-0.5測(cè)試集評(píng)估結(jié)果
不同模型對(duì)核桃破殼物料殼仁的識(shí)別性能如表5所示。從表5可以看出,C-ShuffleNet模型的測(cè)試集準(zhǔn)確率在所有模型中只略低于MobileNet V2、EfficientNet V2以及ResNet101這3個(gè)模型,但C-ShuffleNet模型的浮點(diǎn)運(yùn)算量、參數(shù)規(guī)模以及模型大小均遠(yuǎn)小于上述3個(gè)模型。C-ShuffleNet模型相較于AlexNet、ResNet50、ShuffleNet V2-0.5以及ShuffleNet V2-1.0等,用更少的參數(shù)量實(shí)現(xiàn)更高的驗(yàn)證集準(zhǔn)確率,分別高出上述模型1.70個(gè)百分點(diǎn)、1.20個(gè)百分點(diǎn)、1.10個(gè)百分點(diǎn)、0.40個(gè)百分點(diǎn);C-ShuffleNet模型的CPU推理速度僅低于AlexNet和ShuffleNet V2-0.5,排在第3位,而其在嵌入式設(shè)備樹莓派4B上的推理速度更是超過(guò)ShuffleNet V2-0.5模型,排在第2位。
由于浮點(diǎn)運(yùn)算量和參數(shù)規(guī)模是制約嵌入式在線檢測(cè)平臺(tái)性能的主要因素,本研究提出的C-ShuffleNet模型在參數(shù)數(shù)量、識(shí)別準(zhǔn)確率和識(shí)別速度上進(jìn)行了更好的權(quán)衡,在CPU設(shè)備和嵌入式設(shè)備上,模型的推理速度均有較好的表現(xiàn),因此,C-ShuffleNet模型更加適合移植到嵌入式核桃破殼物料殼仁的在線檢測(cè)設(shè)備。
C-ShuffleNet模型和ShuffleNet V2-0.5模型對(duì)核桃破殼物料殼仁預(yù)測(cè)重點(diǎn)熱力圖如圖12所示。從圖12可以看出模型改進(jìn)前后背景、亮度等信息沒(méi)有對(duì)模型進(jìn)行太多干擾,所以模型改進(jìn)前后都有高于97%的識(shí)別準(zhǔn)確率。但是ShuffleNet V2-0.5模型的識(shí)別中只關(guān)注了圖像的少量特征信息,而改進(jìn)后的C-ShuffleNet模型則關(guān)注到更多的特征信息。因而,C-ShuffleNet模型擁有更好的泛化能力,可以適應(yīng)更復(fù)雜的環(huán)境。
(1)本研究提出一種基于改進(jìn)ShuffleNet V2網(wǎng)絡(luò)的云南深紋核桃破殼物料殼仁的分類識(shí)別算法。在ShuffleNet V2模型的基礎(chǔ)上,提出4種構(gòu)成網(wǎng)絡(luò)模型的基礎(chǔ)模塊,結(jié)合EfficientNet V2、MobileNet V2等模型的優(yōu)化策略,對(duì)模塊堆疊的比例、激活函數(shù)類型和深度卷積使用的位置進(jìn)行優(yōu)化改進(jìn),構(gòu)造出更為適用的C-ShuffleNet網(wǎng)絡(luò)模型。
(2)通過(guò)和其他7種深度卷積神經(jīng)網(wǎng)路對(duì)比,本研究提出的C-ShuffleNet網(wǎng)絡(luò)模型能以更少的模型參數(shù)、更快的推理速度獲得98.34%的識(shí)別準(zhǔn)確率,在識(shí)別準(zhǔn)確率和識(shí)別速度上取得很好的平衡。本研究提出的C-ShuffleNet模型具有參數(shù)數(shù)量少、準(zhǔn)確率高、識(shí)別速度快等特點(diǎn),更加適合核桃破殼物料殼仁快速無(wú)損檢測(cè)嵌入式平臺(tái)的開發(fā)應(yīng)用。
(3)本研究數(shù)據(jù)集的采集和處理雖然已經(jīng)考慮到現(xiàn)實(shí)環(huán)境的多樣性,但仍與復(fù)雜多變的真實(shí)環(huán)境存在差距,后續(xù)的研究中可考慮從實(shí)際生產(chǎn)環(huán)節(jié)采集數(shù)據(jù)集,進(jìn)一步提高模型的適用性,促進(jìn)和加快輕量化深度學(xué)習(xí)算法在深紋核桃破殼物料殼仁分級(jí)檢測(cè)嵌入式平臺(tái)中實(shí)現(xiàn)。