張超宇, 王應(yīng)彪, 顏 旭, 王周梅, 李九峰, 劉夢迪, 周 丹
(西南林業(yè)大學(xué)機械與交通學(xué)院,云南 昆明 650224)
云南是中國第一大核桃生產(chǎn)基地,也是世界深紋核桃的原產(chǎn)地。目前,云南核桃加工技術(shù)相對落后,不僅加工率低,同時初加工占比高、加工工藝落后[1-2]。除了缺少能實現(xiàn)規(guī)模化生產(chǎn)加工的采收機、脫青皮機以及核桃破殼機以外,核桃破殼后殼仁物料的高效無損分類檢測也是云南核桃產(chǎn)業(yè)升級,加工效益進階的關(guān)鍵技術(shù)缺口。
計算機視覺的發(fā)展為農(nóng)產(chǎn)品的無損檢測提供了一條新方法,國內(nèi)外學(xué)者已經(jīng)開展了初步研究,并取得了較好的成效。早期的研究以傳統(tǒng)機器學(xué)習(xí)方法為主。如劉星星等[3]提出的基于OpenCV的葡萄干色澤識別方法,識別效率得到了極大提高;李頎等[4]采用HSV顏色模型和CLBP(完全局部二值模式) 提取玉米種穗的顏色和紋理特征,利用 SVM(支持向量機) 實現(xiàn) 4 種異常玉米種穗的分類。但傳統(tǒng)機器學(xué)習(xí)方法存在對圖像拍攝環(huán)境要求高,復(fù)雜環(huán)境特征提取難度大、預(yù)測正確率低和魯棒性差等問題,導(dǎo)致研究成果很難落地。隨著深度學(xué)習(xí)和圖形處理器(GPU)并行處理技術(shù)的飛速發(fā)展,基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的圖像識別方法表現(xiàn)出更大的優(yōu)越性。甘雨等[5]基于改進的EfficientNet網(wǎng)絡(luò)在大規(guī)模作物害蟲數(shù)據(jù)集IP102上進行訓(xùn)練與評估,作物害蟲識別準(zhǔn)確率達(dá)到69.45%,保持輕量計算的前提下獲得了優(yōu)于同類其他網(wǎng)絡(luò)的識別準(zhǔn)確率;Koklu等[6]基于VGG16與遷移學(xué)習(xí)對土耳其常見的5種水稻種子進行分類識別,準(zhǔn)確率達(dá)到99.90%;Subeesh等[7]利用深度學(xué)習(xí)方法進行甜椒田的雜草識別,準(zhǔn)確率達(dá)到97.70%;牛學(xué)德等[8]基于Densenet網(wǎng)絡(luò)及遷移學(xué)習(xí)方法實現(xiàn)了番茄葉片的分類,測試準(zhǔn)確率達(dá)到97.76%。
目前有關(guān)核桃破殼加工后物料識別分類的研究已得到初步開展。李文寶等[9]基于VGG16網(wǎng)絡(luò)實現(xiàn)了山核桃破殼物料分類識別,準(zhǔn)確率達(dá)到99.50%;趙騰飛等[10]利用卷積神經(jīng)網(wǎng)絡(luò)算法模型進行核桃仁分級,經(jīng)過OpenVINO工具套件優(yōu)化算法后,識別準(zhǔn)確率達(dá)到99.44%,推理時間也大大縮短。上述模型雖在核桃破殼物料的識別中取得較高的準(zhǔn)確率,但模型參數(shù)多、計算量大、識別時間長,導(dǎo)致識別效率較低。ShuffleNet網(wǎng)絡(luò)模型是曠世科技提出的輕量化卷積神經(jīng)網(wǎng)絡(luò)模型,通過引入深度可分離網(wǎng)絡(luò)以及通道劃分與通道重組技術(shù),犧牲部分準(zhǔn)確率使得模型計算量大幅度降低,預(yù)測速度提高。李好等[11]將改進的ShuffleNet V2應(yīng)用于農(nóng)作物病害識別,實現(xiàn)了26種農(nóng)作物常見病害的快速識別;張旭等[12]將改進的ShuffleNet V2部署在Android 移動端對4類蘋果葉部病害圖像進行識別,移動端單張圖像的平均推理時間達(dá)到39.38 ms。但是ShuffleNet V2等輕量化網(wǎng)絡(luò)模型為了達(dá)到快速識別的目的,或多或少犧牲了準(zhǔn)確率,如何提升準(zhǔn)確率,使得模型在精度和速度上達(dá)到平衡,是輕量級CNN設(shè)計需要解決的關(guān)鍵問題。此外,不同數(shù)據(jù)集具有不同特點,在應(yīng)用圖像分類時往往需要針對數(shù)據(jù)集特點進行相應(yīng)的算法優(yōu)化,以實現(xiàn)最優(yōu)的識別效果。
針對云南深紋核桃的特點以及破殼物料深加工的需求,本研究對ShuffleNet V2模型進行改進,實現(xiàn)其對核桃破殼后殼仁物料輕量化識別分類,以期實現(xiàn)核桃破殼物料的快速無損檢測,為進一步的核桃破殼物料快速無損檢測設(shè)備研發(fā)提供支撐。
三臺核桃是聞名全國的深紋優(yōu)良核桃品種,本研究以三臺核桃破殼后的殼仁物料作為研究對象,將破殼風(fēng)選后的核桃仁按照完整度和品質(zhì)[13]分為半仁、大三角仁、四分仁、碎仁和霉變?nèi)?類進行識別,考慮到當(dāng)前風(fēng)選設(shè)備無法實現(xiàn)絕對的殼仁分離,故增加包括核桃殼和隔膜在內(nèi)的殼類共6個類別進行識別分類。
為了增加圖像來源的多樣性以及盡量減少光照環(huán)境對訓(xùn)練結(jié)果的影響,本研究采用2種拍攝方式進行圖像數(shù)據(jù)采集:第一種是由工業(yè)相機大恒MER-051-120GC搭建的立體暗箱,如圖1所示,采用分體式發(fā)光二極管(LED)環(huán)形燈作為光源,將鏡頭、光源以及鏡頭與物料之間的距離固定,保證所采集樣本拍照環(huán)境的一致性,所采集圖像的分辨率為808(水平方向)×608(垂直方向);第二種則是通過手機Redmi K40在隨機光源環(huán)境下拍照得到樣本數(shù)據(jù),同一批拍攝的數(shù)據(jù)焦距一致。隨機光源環(huán)境包括隨機自然光和隨機環(huán)形光源補光,所有數(shù)據(jù)采集底色均為黑色。由于物料正反兩面差異較大,部分?jǐn)?shù)據(jù)進行正反兩面拍攝以模擬傳送帶上物料的空間狀態(tài)。不同類別的殼仁物料圖像如圖2所示。數(shù)據(jù)集共獲得原始圖像980張,其中工業(yè)相機拍攝420張,手機拍攝560張。

A、B、C、D、E、F分別為工業(yè)相機拍攝的核桃破殼物料殼仁樣本;a、b、c、d、e、f分別為手機拍攝的核桃破殼物料殼仁樣本。圖2 不同類別的破殼物料圖像Fig.2 Images of different kinds of shell-breaking materials
為提高所訓(xùn)練模型的泛化能力和魯棒性,通過對原始數(shù)據(jù)進行數(shù)據(jù)增強來豐富數(shù)據(jù)集和模擬由于天氣、光照環(huán)境、拍照角度甚至鏡頭不清晰等因素影響下的成像狀態(tài)。本研究采用的數(shù)據(jù)增強方法包括有監(jiān)督的旋轉(zhuǎn)(65°和25°)、亮度變換(亮度增強和亮度減弱)、增加對比度、添加高斯噪聲和高斯模糊處理等。數(shù)據(jù)增強后的圖像如圖3所示。經(jīng)過數(shù)據(jù)增強得到最終的云南深紋核桃破殼物料數(shù)據(jù)集共7 840張,每類圖像均在1 300張左右。本研究按照7∶2∶1的比例隨機將數(shù)據(jù)集劃分為訓(xùn)練集、驗證集和測試集,其中訓(xùn)練集用于模型訓(xùn)練,驗證集用來調(diào)整參數(shù)優(yōu)化模型,測試集用于模型評估。

圖3 部分?jǐn)?shù)據(jù)增強示例Fig.3 Data enhancement examples
1.2.1 深度可分離卷積 深度可分離卷積由深度卷積(DWconv)和逐點卷積(PWconv)組成,其中深度卷積通過將卷積核個數(shù)設(shè)置為輸入通道數(shù),使得每個卷積核只負(fù)責(zé)1個特征通道的卷積計算,逐點卷積通過卷積運算將深度卷積后不同通道上的特征進行加權(quán)組合生成新的特征圖,深度可分離卷積的實現(xiàn)過程如圖4所示。深度可分離卷積的使用可以大大減少計算量[14],如果使用得當(dāng)可以在獲得相同識別精度的同時使模型更加輕量化,因此深度可分離卷積被廣泛應(yīng)用于輕量化網(wǎng)絡(luò)的設(shè)計。
1.2.2 通道混洗 通道混洗方法(Channel Shuffle)是ShuffleNet系列網(wǎng)絡(luò)最重要的成果之一[15-16]。由圖5可知分組卷積的直接堆疊會導(dǎo)致單個通道的輸出只能來自輸入通道的一部分,使得卷積過程對信息的表示能力被降低,添加通道混洗操作可以使不同組之間的特征得到交流。通道混洗的實現(xiàn)過程如圖6,經(jīng)過緯度重置(Latitudere shape)和特征轉(zhuǎn)置(Transpose)等一系列操作使輸出的通道特征被重新排序,使得不同組之間的信息能夠得到交流。

圖5 堆疊分組卷積有無通道混洗的區(qū)別Fig.5 The difference between stacked grouping convolution with and without channel shuffle

圖6 通道混洗實現(xiàn)過程Fig.6 The realization process of channel shuffle
1.2.3 ShuffleNet V2基礎(chǔ)模塊與框架 ShuffleNet V2網(wǎng)絡(luò)在設(shè)計過程中提出了4條輕量化的準(zhǔn)則,并根據(jù)這4條準(zhǔn)則設(shè)計出的整體結(jié)構(gòu)(表1)及2個基本單元模塊(圖7)[16]。ShuffleNet V2的深度堆疊模塊(圖7a)直接通過通道劃分(Channel split)功能將輸入的特征通道平均分成2份,左邊不參與卷積,恒定不變,起到殘差邊的功能。在特征融合之后進行通道混洗,左邊和右邊的特征可以得到有效交流。降采樣模塊(圖7b)由于改變了特征圖的尺寸所以在左邊原本的殘差邊也加入了1個深度可分離卷積,改變特征通道數(shù),使得卷積后的兩邊可以進行通道融合。2個模塊最后都通過通道混洗使分組后的特征得到融合和交流。

圖7 ShuffleNet V2的基本單元Fig.7 The basic units of ShuffleNet V2
ShuffleNet V2模型在圖像識別的速度和精度上有著很好的權(quán)衡,犧牲一定的預(yù)測精度得到更快的推理速度和更小的模型參數(shù)量,非常適合背景簡單、分類數(shù)較少的核桃破殼物料殼仁數(shù)據(jù)集。作為專門用于移動端的高效輕量化模型,十分適合在嵌入式平臺上部署。
隨著深度卷積神經(jīng)網(wǎng)絡(luò)研究的深入,一些新的網(wǎng)絡(luò)優(yōu)化策略不斷推出。如利用Transformer模型的架構(gòu)和設(shè)計思路可以使卷積神經(jīng)網(wǎng)絡(luò)模型在推理速度和識別準(zhǔn)確率上都有較大提升[17]。使用深度可分離卷積可以提高模型的訓(xùn)練效果;使用單獨的降采樣模塊可以使網(wǎng)絡(luò)的訓(xùn)練更快;在深度卷積中適當(dāng)增大卷積核可以提高網(wǎng)絡(luò)的識別能力;堆疊基礎(chǔ)模塊的使用比例對模型的訓(xùn)練也有一定的影響。另外,在網(wǎng)絡(luò)的淺層不使用深度卷積可以加速模型的訓(xùn)練,且?guī)缀醪挥绊懩P偷男阅?但在網(wǎng)絡(luò)的深層必須使用深度卷積;SE通道注意力機制的正確使用也可以提升模型的性能[18]。H-Swish激活函數(shù)能夠更好地訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò),在網(wǎng)絡(luò)的深層應(yīng)用效果更佳[19]。DropPath操作可以有效防止模型過度擬合,提高被訓(xùn)練網(wǎng)絡(luò)的泛化能力[20]。
根據(jù)云南深紋核桃殼仁物料數(shù)據(jù)集特點,結(jié)合上述研究成果,兼顧模型的識別精度和速度, 本研究對 ShuffleNet V2-0.5 模型進行了改進,其基本思路如圖8所示。首先,將網(wǎng)絡(luò)整體分為淺層和深層兩部分,在網(wǎng)絡(luò)的淺層不使用深度卷積,添加SE注意力機制與DropPath 層來提高網(wǎng)絡(luò)性能,參考EfficientNet V2淺層模塊[18]提出圖9a和圖9b 2個本網(wǎng)絡(luò)的淺層模塊ShuffleNet-1和ShuffleNet-2,考慮到DropPath層會丟失所在支路的所有通道特征,所以將DropPath層放在通道融合之后并添加一個完整特征通道作為殘差邊實現(xiàn)網(wǎng)絡(luò)深度隨機的功能。其次,在網(wǎng)絡(luò)的深層使用H-Swish激活函數(shù)替代ReLu激活函數(shù),為了增加卷積神經(jīng)網(wǎng)絡(luò)的感受野,使用7×7卷積核替代深度卷積的3×3卷積核(圖9c);最后,通過調(diào)整網(wǎng)絡(luò)架構(gòu),改變基礎(chǔ)模塊堆疊比例和模塊的輸入輸出通道數(shù),并設(shè)計單獨的降采樣模塊(圖9d)代替ShuffleNet V2-0.5的降采樣模塊Stage2。

圖8 C-ShuffleNet模型基礎(chǔ)模塊設(shè)計思路Fig.8 Design ideas for the base module of C-ShuffleNet model

圖9 C-ShuffleNet的基本單元Fig.9 The basic units of C-ShuffleNet
綜合上述改進,提出輕量化卷積神經(jīng)網(wǎng)絡(luò)模型C-ShuffleNet,其4個基礎(chǔ)單元模塊見圖9,模型的整體結(jié)構(gòu)見表2。

表2 C-ShuffleNet網(wǎng)絡(luò)整體結(jié)構(gòu)
1.4.1 試驗環(huán)境 本試驗所有模型采用PyTorch 1.11.0深度學(xué)習(xí)框架進行搭建,以Python 3.9作為編程語言,在PyCharm 平臺搭建模型。模型訓(xùn)練采用SGD優(yōu)化算法進行優(yōu)化訓(xùn)練,每批次樣本數(shù)設(shè)置為16,初始學(xué)習(xí)率設(shè)置為0.01,使用Lambda自定義衰減更新學(xué)習(xí)率,lrf設(shè)置為0.01,使用交叉熵?fù)p失函數(shù)計算損失值,訓(xùn)練50個批次結(jié)束訓(xùn)練,輸入圖像大小均設(shè)置為224×224。訓(xùn)練的硬件環(huán)境如下:處理器型號為Intel i7-12700F,擁有14核20線程,顯卡為NVIDIA GeForce RTX 3080 12G版本,內(nèi)存32 G,Windows 10 操作系統(tǒng),嵌入式設(shè)備樹莓派4B,處理器型號為Broadcom BCM2711,使用ARM Cortex-A72 架構(gòu),內(nèi)存8 G。
1.4.2 模型評價指標(biāo) 采用精確率(Precision)、召回率(Recall)、F1分?jǐn)?shù)(F1)和準(zhǔn)確率(Accuracy)評估網(wǎng)絡(luò)性能。其中F1 分?jǐn)?shù)為精確率和召回率的調(diào)和平均數(shù),只有2個數(shù)據(jù)都很優(yōu)秀才能得到高分;準(zhǔn)確率反映的是模型識別出的所有預(yù)測正確的樣本數(shù)占總樣本數(shù)的比例,直接體現(xiàn)模型性能。其計算公式如下:
(1)
(2)
(3)
(4)
式中,TP為模型識別為正的正樣本數(shù)量,TN為模型識別為正的負(fù)樣本數(shù)量,FP為模型識別為負(fù)的正樣本數(shù)量,FN為模型識別為負(fù)的負(fù)樣本數(shù)量。
消融試驗可以通過逐步增加或減少深度學(xué)習(xí)網(wǎng)絡(luò)的組成模塊,來分析和評估這些組成模塊對神經(jīng)網(wǎng)絡(luò)性能的影響。為了探究本研究提出的4個基礎(chǔ)模塊對模型性能提升的作用,這里將上述改進方式整理為3個調(diào)整組合進行消融試驗。調(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中單獨的降采樣模塊替代原網(wǎng)絡(luò)的Stage2,并且調(diào)整網(wǎng)絡(luò)層數(shù)及特征通道數(shù)。
利用C-ShuffleNet網(wǎng)絡(luò)與ShuffleNet V2-0.5網(wǎng)絡(luò)和驗證數(shù)據(jù)集,對不同迭代次數(shù)下識別準(zhǔn)確率、損失值的進行比較;利用C-ShuffleNet網(wǎng)絡(luò)與ShuffleNet V2-0.5網(wǎng)絡(luò)對測試數(shù)據(jù)集進行試驗,建立測試集的混淆矩陣,進而進行模型評估。
為充分評估本研究提出的C-ShuffleNet模型對云南深紋核桃破后物料的識別分類能力,選取了多種卷積神經(jīng)網(wǎng)絡(luò)模型進行性能比較,其中包括AlexNet[21]、ResNet[22]、MobileNet V2[14]、EfficientNet V2[18]、ShuffleNet V2[16]等。為了保證試驗條件的一致性,所有模型訓(xùn)練時均采用 PyTorch 框架進行網(wǎng)絡(luò)搭建和訓(xùn)練,同時使用相同的在線預(yù)處理策略進行預(yù)處理,且所有網(wǎng)絡(luò)均不使用遷移學(xué)習(xí)。
為了說明C-ShuffleNet模型的有效性,本研究使用Grad-CAM[23]可視化技術(shù)對C-ShuffleNet模型和ShuffleNet V2-0.5模型的預(yù)測熱力圖進行比較,分析模型改進前后關(guān)注重點的變化情況。
由表3可以看出,在網(wǎng)絡(luò)的淺層使用ShuffleNet-1和ShuffleNet-2替代淺層的Stage1,模型在核桃破殼物料殼仁測試數(shù)據(jù)集的識別準(zhǔn)確率提高了0.12個百分點,而模型在參數(shù)規(guī)模和浮點運算量上均有一定的提升;在網(wǎng)絡(luò)的深層使用ShuffleNet-3替代深層的Stage1,模型在參數(shù)規(guī)模和浮點運算量上只有少量提升的情況下,模型的識別準(zhǔn)確率提高了0.76個百分點;使用單獨的降采樣模塊替代原網(wǎng)絡(luò)的Stage2并調(diào)整網(wǎng)絡(luò)層數(shù)及特征通道數(shù),模型在參數(shù)規(guī)模和浮點運算量上均有明顯下降,但模型識別準(zhǔn)確率卻下降了0.77個百分點;使用ShuffleNet-1、ShuffleNet-2和ShuffleNet-3相應(yīng)替代原網(wǎng)絡(luò)的Stage1,模型在參數(shù)規(guī)模和浮點運算量有一定的提升,但模型準(zhǔn)確率提升1.04個百分點;最后,本研究提出的C-ShuffleNet輕量化模型雖然在浮點運算量上略高于原模型,但模型在參數(shù)規(guī)模和模型準(zhǔn)確率上均有一定的提升,其中模型準(zhǔn)確率高于未改進的ShuffleNet V2-0.5網(wǎng)絡(luò)模型1.28個百分點。通過上述消融實驗得出以下結(jié)論,模型參數(shù)規(guī)模得到壓縮主要通過使用單獨的降采樣模塊替代原網(wǎng)絡(luò)的Stage2并調(diào)整網(wǎng)絡(luò)層數(shù)及特征通道數(shù)實現(xiàn)的,但是僅做此處改進會降低模型識別的準(zhǔn)確率;模型最終準(zhǔn)確率的提升,且參數(shù)規(guī)模有所下降是所有改進方式共同作用的結(jié)果。

表3 C-ShuffleNet網(wǎng)絡(luò)的消融試驗
調(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:使用單獨的降采樣模塊替代原網(wǎng)絡(luò)的Stage2,并且調(diào)整網(wǎng)絡(luò)層數(shù)及特征通道數(shù)。√、×分別表示使用和不使用替代措施。
不同迭代次數(shù)下,C-ShuffleNet網(wǎng)絡(luò)和ShuffleNet V2-0.5對驗證準(zhǔn)確率和損失值變化如圖10所示。從圖中可以看出,本研究設(shè)計的C-ShuffleNet網(wǎng)絡(luò)在訓(xùn)練時的準(zhǔn)確率和損失值波動小,迭代結(jié)束時C-ShuffleNet網(wǎng)絡(luò)準(zhǔn)確率高、損失值小。

a:驗證集準(zhǔn)確率對比;b:驗證集損失值對比。圖10 C-ShuffleNet網(wǎng)絡(luò)和ShuffleNet V2-0.5驗證集準(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個模型對核桃殼及隔膜等雜物項都可以進行準(zhǔn)確的識別;本研究設(shè)計的C-ShuffleNet網(wǎng)絡(luò)在半仁和霉變?nèi)实尿炞C集識別中也可以做到完全預(yù)測正確,而ShuffleNet V2-0.5網(wǎng)絡(luò)則有識別錯誤5個半仁和2個霉變?nèi)?大三角仁雖然2個模型都有識別錯誤的部分,但本研究設(shè)計的C-ShuffleNet網(wǎng)絡(luò)模型只有2個被識別為最相似的半仁,而ShuffleNet V2-0.5模型除了有3個被識別為半仁外,還有1個被識別為霉變?nèi)?2個模型都在四分仁和碎仁的識別上出現(xiàn)了較多的錯誤,說明在現(xiàn)有的6種破殼物料分類中四分仁和碎仁是最易混淆的。

圖11 基于C-ShuffleNet與ShuffleNet V2-0.5模型的測試集評估結(jié)果(混淆矩陣)Fig.11 Evaluation results (confusion matrix) of test-dataset based on C-ShuffleNet model and ShuffleNet V2-0.5 model
改進前后模型對測試集的評估結(jié)果見表4,可以看出C-ShuffleNet模型在模型參數(shù)更少的情況下,模型的精確率、召回率和準(zhǔn)確率都比ShuffleNet V2-0.5模型高,說明本研究構(gòu)建的C-ShuffleNet模型在核桃破殼物料殼仁的分類識別中有更好的性能。

表4 C-ShuffleNet與ShuffleNet V2-0.5測試集評估結(jié)果
不同模型對核桃破殼物料殼仁的識別性能如表5所示。從表5可以看出,C-ShuffleNet模型的測試集準(zhǔn)確率在所有模型中只略低于MobileNet V2、EfficientNet V2以及ResNet101這3個模型,但C-ShuffleNet模型的浮點運算量、參數(shù)規(guī)模以及模型大小均遠(yuǎn)小于上述3個模型。C-ShuffleNet模型相較于AlexNet、ResNet50、ShuffleNet V2-0.5以及ShuffleNet V2-1.0等,用更少的參數(shù)量實現(xiàn)更高的驗證集準(zhǔn)確率,分別高出上述模型1.70個百分點、1.20個百分點、1.10個百分點、0.40個百分點;C-ShuffleNet模型的CPU推理速度僅低于AlexNet和ShuffleNet V2-0.5,排在第3位,而其在嵌入式設(shè)備樹莓派4B上的推理速度更是超過ShuffleNet V2-0.5模型,排在第2位。
由于浮點運算量和參數(shù)規(guī)模是制約嵌入式在線檢測平臺性能的主要因素,本研究提出的C-ShuffleNet模型在參數(shù)數(shù)量、識別準(zhǔn)確率和識別速度上進行了更好的權(quán)衡,在CPU設(shè)備和嵌入式設(shè)備上,模型的推理速度均有較好的表現(xiàn),因此,C-ShuffleNet模型更加適合移植到嵌入式核桃破殼物料殼仁的在線檢測設(shè)備。
C-ShuffleNet模型和ShuffleNet V2-0.5模型對核桃破殼物料殼仁預(yù)測重點熱力圖如圖12所示。從圖12可以看出模型改進前后背景、亮度等信息沒有對模型進行太多干擾,所以模型改進前后都有高于97%的識別準(zhǔn)確率。但是ShuffleNet V2-0.5模型的識別中只關(guān)注了圖像的少量特征信息,而改進后的C-ShuffleNet模型則關(guān)注到更多的特征信息。因而,C-ShuffleNet模型擁有更好的泛化能力,可以適應(yīng)更復(fù)雜的環(huán)境。
(1)本研究提出一種基于改進ShuffleNet V2網(wǎng)絡(luò)的云南深紋核桃破殼物料殼仁的分類識別算法。在ShuffleNet V2模型的基礎(chǔ)上,提出4種構(gòu)成網(wǎng)絡(luò)模型的基礎(chǔ)模塊,結(jié)合EfficientNet V2、MobileNet V2等模型的優(yōu)化策略,對模塊堆疊的比例、激活函數(shù)類型和深度卷積使用的位置進行優(yōu)化改進,構(gòu)造出更為適用的C-ShuffleNet網(wǎng)絡(luò)模型。
(2)通過和其他7種深度卷積神經(jīng)網(wǎng)路對比,本研究提出的C-ShuffleNet網(wǎng)絡(luò)模型能以更少的模型參數(shù)、更快的推理速度獲得98.34%的識別準(zhǔn)確率,在識別準(zhǔn)確率和識別速度上取得很好的平衡。本研究提出的C-ShuffleNet模型具有參數(shù)數(shù)量少、準(zhǔn)確率高、識別速度快等特點,更加適合核桃破殼物料殼仁快速無損檢測嵌入式平臺的開發(fā)應(yīng)用。
(3)本研究數(shù)據(jù)集的采集和處理雖然已經(jīng)考慮到現(xiàn)實環(huán)境的多樣性,但仍與復(fù)雜多變的真實環(huán)境存在差距,后續(xù)的研究中可考慮從實際生產(chǎn)環(huán)節(jié)采集數(shù)據(jù)集,進一步提高模型的適用性,促進和加快輕量化深度學(xué)習(xí)算法在深紋核桃破殼物料殼仁分級檢測嵌入式平臺中實現(xiàn)。