蔡易南 肖小玲
蔡易南,肖小玲. 基于改進(jìn)YOLO v5n的葡萄葉病蟲害檢測模型輕量化方法[J]. 江蘇農(nóng)業(yè)科學(xué),2024,52(7):198-205.
doi:10.15889/j.issn.1002-1302.2024.07.027
(長江大學(xué)計(jì)算機(jī)科學(xué)學(xué)院,湖北荊州 434000)
摘要:由于較大的參數(shù)量和較高的計(jì)算復(fù)雜度,直接在移動端部署通用檢測及識別模型的難度較高。為了解決輕量化的移動端部署難題及提升移動設(shè)備上葡萄葉病害的檢測能力,擬提出1種輕量化、高精度、實(shí)時(shí)性的檢測模型。首先,引入Slimming算法對傳統(tǒng)的YOLO v5n網(wǎng)絡(luò)進(jìn)行縮減,利用模型稀疏化訓(xùn)練、批歸一化的縮放因子分布狀況對不重要的通道進(jìn)行篩選;其次,引入輕量級上采樣算子CARAFE增加感受野,進(jìn)行數(shù)據(jù)特征融合;最后,將邊界框回歸損失函數(shù)改進(jìn)為WIoU損失函數(shù),制定合適的梯度增益分配策略來獲得更加精準(zhǔn)的框定位提升模型對每個(gè)類別目標(biāo)的檢測能力。試驗(yàn)結(jié)果表明,改進(jìn)后的模型能夠在保持模型性能的情況下有效輕量化。與傳統(tǒng)的YOLO v5n相比,改進(jìn)后的算法mAP提高了0.2百分點(diǎn),同時(shí)改進(jìn)后的模型權(quán)重、參數(shù)量、計(jì)算量分別為1.6 MB、0.6 M、1.8 G,分別比原模型減少了58%、67%、57%,能夠滿足移動端和嵌入式設(shè)備的部署要求。
關(guān)鍵詞:葡萄葉病害;YOLO v5;Slimming剪枝;WIoU損失函數(shù);CARAFE算子
中圖分類號:TP391.41;S126? 文獻(xiàn)標(biāo)志碼:A? 文章編號:1002-1302(2024)07-0198-07
葡萄是我國種植面積較大的經(jīng)濟(jì)作物之一,并且我國目前是全球第二大葡萄生產(chǎn)國和全球第一大鮮食葡萄生產(chǎn)國[1]。在葡萄樹的生長過程中,準(zhǔn)確識別葡萄葉片上的病蟲害類型能有效提高葡萄的產(chǎn)量。傳統(tǒng)的人工識別方法耗費(fèi)的時(shí)間和精力十分巨大,而利用計(jì)算機(jī)視覺和圖像處理等技術(shù),可以實(shí)現(xiàn)更為精準(zhǔn)的病蟲害檢測識別,對節(jié)省人力、提升葡萄的產(chǎn)量和質(zhì)量具有重要意義[2]。
目前在農(nóng)業(yè)領(lǐng)域已經(jīng)有應(yīng)用深度學(xué)習(xí)目標(biāo)檢測方法對農(nóng)業(yè)病蟲害進(jìn)行識別的應(yīng)用,戴久竣等在ResNet50的基礎(chǔ)上采用金字塔卷積網(wǎng)絡(luò),并在金字塔網(wǎng)絡(luò)結(jié)構(gòu)上采用深度超參數(shù)化卷積層代替?zhèn)鹘y(tǒng)的卷積層使模型能夠更快收斂的同時(shí)提高精度[3]。謝圣橋等在ResNet50模型的基礎(chǔ)上,保留了卷積層并設(shè)計(jì)了全新的全連接層,提升了模型的魯棒性和識別性能[4]。何欣等針對RestNet模型對不同尺度特征的提取效果較差的問題,提出了在Mask R-CNN 模型中引入多尺度卷積的方法,并且通過添加注意力機(jī)制提升了網(wǎng)絡(luò)的特征提取能力[5]。陳浪浪等以DenseNet121為基礎(chǔ)網(wǎng)絡(luò),引入坐標(biāo)注意力學(xué)習(xí)圖像特征通道關(guān)系和空間位置的重要性來增強(qiáng)模型的特征提取能力[6]。YOLO系列算法及其改進(jìn)的方法在農(nóng)業(yè)領(lǐng)域也被廣泛應(yīng)用,張伏等采用輕量級特征提取網(wǎng)絡(luò)對YOLO v4模型進(jìn)行結(jié)果輕量化改進(jìn),引入了深度可分離卷積結(jié)構(gòu)完成了輕量級網(wǎng)絡(luò)的搭建,并增加小目標(biāo)檢測層,提高了檢測模型對圣女果的識別精度[7]。劉廣等通過引入輕量級網(wǎng)絡(luò)ShuffleNet v2模塊優(yōu)化YOLO v3原有的特征提取網(wǎng)絡(luò),以降低網(wǎng)絡(luò)模型的參數(shù),然后在優(yōu)化后的特征提取網(wǎng)絡(luò)中融合了CBAM注意力機(jī)制以提升模型的數(shù)據(jù)精度[8]。
但是,上述模型的網(wǎng)絡(luò)結(jié)構(gòu)都存在過于復(fù)雜、計(jì)算量過大和參數(shù)量過多等問題,對設(shè)備的計(jì)算能力要求較高,以致在嵌入式或移動端設(shè)備上實(shí)現(xiàn)實(shí)時(shí)目標(biāo)檢測依舊難以實(shí)現(xiàn)。針對模型過于龐大和參數(shù)量過多的問題,許多研究人員提出了輕量化模型,但輕量化模型在減少了模型大小和參數(shù)量的同時(shí)也降低了模型的精度。針對上述問題,本研究擬引入一種剪枝算法,該算法對原始YOLO v5n網(wǎng)絡(luò)訓(xùn)練完成后的模型中貢獻(xiàn)較小的網(wǎng)絡(luò)通道進(jìn)行剪裁,以達(dá)到在減小模型復(fù)雜度的同時(shí)能夠保持模型原有的精度。同時(shí)融合輕量級上采樣算子CARAFE在上采樣的過程中對特征進(jìn)行重新組裝和提取來提升上采樣的質(zhì)量。并引入WIoU來獲得更加精準(zhǔn)的框定位以提升模型的識別能力。
1 材料與方法
1.1 試驗(yàn)數(shù)據(jù)集
本研究的數(shù)據(jù)集包括3個(gè)類別的染病葉片圖片,分別為黑腐病、埃斯卡病、褐斑病(圖1)。由于獲取的數(shù)據(jù)集大多數(shù)都沒有標(biāo)注,因此對數(shù)據(jù)集進(jìn)行重新標(biāo)注。對葉片中的病害部分采用最大外接矩形框進(jìn)行標(biāo)注,標(biāo)注的類別和圖片的類別相同。
首先將原始數(shù)據(jù)集進(jìn)行樣本分類,再采取旋轉(zhuǎn)、翻轉(zhuǎn)、局部放大等數(shù)據(jù)增強(qiáng)方式擴(kuò)充數(shù)據(jù)集并以xml格式保存標(biāo)注文件,示例結(jié)果見圖2。為了保持試驗(yàn)數(shù)據(jù)的隨機(jī)性,本試驗(yàn)將數(shù)據(jù)集劃分為訓(xùn)練集和驗(yàn)證集,比例為9 ∶1。訓(xùn)練集包含4 005張圖片,測試集和驗(yàn)證集的圖片總數(shù)為445張。為了保證試驗(yàn)的準(zhǔn)確性與嚴(yán)謹(jǐn)性,所有試驗(yàn)數(shù)據(jù)皆為進(jìn)行3次試驗(yàn)后統(tǒng)計(jì)出的平均值。
1.2 YOLO v5網(wǎng)絡(luò)模型
目前,主流的目標(biāo)檢測模型可以大致歸為兩大類:二階段目標(biāo)檢測模型和一階段目標(biāo)檢測模型。二階段目標(biāo)檢測模型首先生成一系列候選框,然后對這些候選框進(jìn)行分類。一種經(jīng)典的二階段目標(biāo)檢測模型是Faster-RCNN[9]。除了Faster-RCNN,還有一些其他二階段目標(biāo)檢測模型,如R-FCN等[10]。一階段目標(biāo)檢測模型是一種直接從輸入圖像中預(yù)測目標(biāo)類別和邊界框的目標(biāo)檢測模型,相比于兩階段目標(biāo)檢測模型,一階段目標(biāo)檢測模型具有更快的檢測速度,具有代表性的網(wǎng)絡(luò)模型有SSD、YOLO系列等[11-15]。
相比于之前的YOLO系列目標(biāo)檢測模型,YOLO v5 能夠?qū)崿F(xiàn)140幀/s的推理速度,并且在MSCOCO數(shù)據(jù)集上的mAP@50能夠達(dá)到55.0%以上。YOLO v5的5個(gè)版本有YOLO v5n、YOLO v5s、YOLO v5m、YOLO v5x、YOLO v5l,區(qū)別主要在于網(wǎng)絡(luò)的深度和寬度。在YOLO v5中,網(wǎng)絡(luò)深度、寬度的改變是通過調(diào)整C3的數(shù)量來實(shí)現(xiàn)的。YOLO v5n是最小的版本,其網(wǎng)絡(luò)結(jié)構(gòu)相對簡單,訓(xùn)練后的模型參數(shù)量較小并能保持較好的檢測速度和精度。因?yàn)楸驹囼?yàn)考慮到需要滿足實(shí)時(shí)檢測和足夠的輕量化的要求,故采用深度最小和特征圖寬度最小的YOLO v5n模型作為基礎(chǔ)模型進(jìn)行改進(jìn),改進(jìn)后的YOLO v5n模型結(jié)構(gòu)如圖3所示。
YOLO v5n目標(biāo)檢測模型主要包括輸入層、主干網(wǎng)絡(luò)、頸部網(wǎng)絡(luò)和預(yù)測層4個(gè)部分。輸入層是網(wǎng)絡(luò)的起始點(diǎn),負(fù)責(zé)接收并預(yù)處理輸入圖像,YOLO v5n 接收固定尺寸的輸入圖像并經(jīng)過歸一化、通道順序轉(zhuǎn)換等處理,以便于后續(xù)網(wǎng)絡(luò)的處理。主干網(wǎng)絡(luò)是YOLO v5的核心,被用于提取圖像特征,YOLO v5n主干網(wǎng)絡(luò)采用CSPDarknet53架構(gòu),它是一種輕量級的網(wǎng)絡(luò)結(jié)構(gòu),CSPDarknet53利用CSP連接,通過在不同的層級進(jìn)行特征融合,進(jìn)一步提高了特征的表達(dá)能力。頸部網(wǎng)絡(luò)位于主干網(wǎng)絡(luò)之后,負(fù)責(zé)進(jìn)一步處理和增強(qiáng)從主干網(wǎng)絡(luò)中提取到的特征,YOLO v5n使用特征金字塔網(wǎng)絡(luò)結(jié)構(gòu)及路徑聚合網(wǎng)絡(luò)來增強(qiáng)特征的融合程度,以獲取不同尺度上層級上的特征信息,多尺度特征融合有助于檢測不同大小的目標(biāo),從而提高檢測的準(zhǔn)確性[16-17]。預(yù)測層是YOLO v5n的最后一層,負(fù)責(zé)生成目標(biāo)檢測的結(jié)果。預(yù)測層會根據(jù)不同尺度和特征圖預(yù)測邊界框位置、目標(biāo)類別和置信度得分。
1.3 輕量化葡萄葉病蟲害識別方法
1.3.1 Slimming剪枝算法 優(yōu)化YOLO v5n以使其更加輕量化的方法有很多,如權(quán)值量化、輕量化模型架構(gòu)等。然而,在進(jìn)行輕量化時(shí)不能僅關(guān)注模型的大小以及計(jì)算量和參數(shù)量,還要保持模型的檢測性能。為了在不影響準(zhǔn)確性的情況下降低運(yùn)算量和減小模型的大小,本研究選擇Slimming剪枝算法對模型進(jìn)行壓縮。Slimming剪枝原理如圖4所示[18]。
由圖4可見,深度學(xué)習(xí)網(wǎng)絡(luò)在卷積之后會得到多個(gè)特征圖,但有些特征圖的權(quán)重接近0,并未起到作用。因此Slimming剪枝算法采用在BN層中引入縮放因子(γ)來評估每個(gè)通道的重要性,并且使用L1正則化來稀疏γ的值。引入BN層可以有效避免網(wǎng)絡(luò)過擬合、提高訓(xùn)練的穩(wěn)定性和訓(xùn)練速度并有效避免內(nèi)部協(xié)變量偏移,其基本公式如下所示:
z^=zin-μBσ2B+;zout=γz^+β。(1)
式中:zin、zout分別為BN層的輸入、輸出;μB表示本批次該層輸入的均值;σB表示本批次該層輸入的方差;γ表示縮放因子。
在BN層之后插入1個(gè)縮放層,對于每個(gè)通道將會有2個(gè)連續(xù)的縮放因子。引入縮放因子正則項(xiàng)之后,部分縮放因子會趨于0,剪掉接近0的縮放因子對應(yīng)的通道從而達(dá)到減小模型的大小和計(jì)算量的目的。相對較大的縮放因子所對應(yīng)的通道則被視為相對重要的通道保留下來以保證模型的性能不受影響。
Slimming剪枝算法的定義公式如下:
L=∑(x,y)l[f(x,W),y]+λ∑γ∈Γ g(γ)。
式中:(x,y)為訓(xùn)練的輸入和目標(biāo);W為網(wǎng)絡(luò)中的可訓(xùn)練參數(shù);前一項(xiàng)代表卷積神經(jīng)網(wǎng)絡(luò)中的訓(xùn)練損失函數(shù),后一項(xiàng)是縮放因子上的懲罰項(xiàng);λ為2項(xiàng)的平衡因子。
Slimming剪枝算法包含5個(gè)主要步驟:(1)初始訓(xùn)練。首先使用訓(xùn)練集對深度神經(jīng)網(wǎng)絡(luò)模型進(jìn)行初始訓(xùn)練,以確保其具備一定的準(zhǔn)確性。(2)評估權(quán)值的重要性。在訓(xùn)練過程中,計(jì)算每個(gè)權(quán)重對模型準(zhǔn)確性的貢獻(xiàn)。(3)剪枝。根據(jù)權(quán)重的重要性,選擇1個(gè)合適的閾值來確定需要剪枝的權(quán)重。所有權(quán)重的絕對值低于閾值的節(jié)點(diǎn)將被剪枝,即將其權(quán)重重新設(shè)定為0。(4)微調(diào)。對于經(jīng)過剪枝的模型,經(jīng)過微調(diào)以恢復(fù)其準(zhǔn)確性。(5)迭代剪枝。重復(fù)執(zhí)行步驟(2)至步驟(4),直到達(dá)到期望的模型大小和準(zhǔn)確性。
1.3.2 WIoU Loss YOLO v5原網(wǎng)絡(luò)中使用的邊界框回歸損失函數(shù)是GIoULoss,GIoU考慮到了預(yù)測框和真實(shí)標(biāo)注框的外接矩形面積,并將其納入損失計(jì)算中,從而改善了IoU只關(guān)注預(yù)測框和真實(shí)標(biāo)注框的重疊區(qū)域而不能反映二者相交的不足。損失函數(shù)的定義如下所示:
GIoU=IoU-|C-(A∪B)|[]|C|;(3)
LossGIoU=1-GIoU。(4)
WIoU是一種動態(tài)非單調(diào)聚焦機(jī)制的邊界框定位損失函數(shù),對于低質(zhì)量示例,預(yù)測框和真實(shí)框的縱橫比、距離等幾何度量會增加對低質(zhì)量示例的懲罰,從而影響模型的泛化能力,當(dāng)預(yù)測框、真實(shí)框能夠很好地重合時(shí),應(yīng)適當(dāng)降低幾何度量的懲罰[19]。WIoU共有3個(gè)版本,v1構(gòu)造了基于注意力的邊界框損失,v2、v3在v1的基礎(chǔ)上附加了聚焦機(jī)制,其中v3的性能更好。WIoU根據(jù)距離度量構(gòu)建得到了WIoUv1,如下式所示:
LossWIoUv1=RWIoULIoU;(5)
RWIoU=exp(x-xgt)2+(y-ygt)2(W2g+H2g)*。(6)
式中:Wg、Hg分別代表最小包圍框的寬、高;當(dāng)RWIoU∈[1,e)時(shí),會在一定程度上擴(kuò)大普通質(zhì)量錨框的IoU損失函數(shù)值LIoU,當(dāng)LIoU∈[0,1]時(shí),會明顯降低高質(zhì)量錨框的RWIoU;在目標(biāo)框、錨框匹配度重疊較高的情況下,應(yīng)重點(diǎn)關(guān)注2個(gè)框中心點(diǎn)的距離;*表示將Wg、Hg從計(jì)算圖中分離。
WIoUv2邊界框回歸損失函數(shù)設(shè)計(jì)了能夠減少簡單樣本對損失函數(shù)的貢獻(xiàn),同時(shí)使模型能夠聚焦于困難樣本的單調(diào)聚焦系數(shù),從而提升模型目標(biāo)檢測性能。WIoUv2損失函數(shù)的計(jì)算公式如下:
LWIoUv2=Lγ*IoULWIoUv1,γ>0。(7)
式中:Lγ*IoU在訓(xùn)練時(shí)會隨著LIoU的減小而減小,這會導(dǎo)致模型在訓(xùn)練后期收斂速度變慢。針對這一問題,WIoUv2引入了移動平均值LIoU[TX-]使L*IoULIoUγ整體能保持在較高水平,詳見如下公式:
LWIoUv2=]L*Io]LIoUγLWIoUv1。(8)
WIoUv3損失函數(shù)使用離群度來描述錨框的質(zhì)量,離群度越低表示高質(zhì)量錨框,離群度高表示低質(zhì)量錨框。離群度的定義如下所示:
β=[SX(C*5]L*IoU[]LIoU[TX-*5][SX)]∈[0,+∞)。(9)
利用β構(gòu)造了一個(gè)非單調(diào)動態(tài)聚焦機(jī)制并將其應(yīng)用到WIoUv1,從而得到WIoUv3,該機(jī)制通過將小梯度增益分配到具有小β的高質(zhì)量錨框,使得錨框回歸能夠?qū)W⒂谄胀ㄙ|(zhì)量的錨框。同時(shí),該機(jī)制將小梯度增益分配給β較大的低質(zhì)量錨框,進(jìn)而有效削弱低質(zhì)量樣例對錨框回歸的危害。動態(tài)聚焦機(jī)制的定義如下所示:
LWIoUv3=γLWIoUv1,γ=[SX(]β[]δαβ-δ。(10)
式中:當(dāng)β=δ時(shí),δ使得γ=1。當(dāng)錨框的離群度滿足β=C(C為一個(gè)常數(shù))時(shí),錨框?qū)@得最高的梯度增益。由于LIoU[TX-]是動態(tài)的,這就使得WIoUv3在每一刻都做出最符合當(dāng)前情況的梯度增益。
1.3.3 上采樣算子CARAFE 特征上采樣是卷積神經(jīng)網(wǎng)絡(luò)中不可或缺的一部分。[JP2]在傳統(tǒng)算法中較常見的上采樣方法為最近鄰插值法,該方法僅使用離待插值最近的像素的灰度值作為該采樣點(diǎn)的灰度值,而沒有考慮到其他相鄰像素點(diǎn)的影響,故不能充分利用特征圖的語義信息。此外,傳統(tǒng)方法通常具有較小的感知域并且還引入了大量參數(shù)量和計(jì)算量。
輕量級上采樣算子CARAFE在保持高精度的同時(shí),具有輕量級、高效和內(nèi)容感知的特點(diǎn)[20]。CARAFE能夠通過聚合相鄰特征通道來恢復(fù)目標(biāo)的語義信息,從而有效地增強(qiáng)感受野。與其他上采樣方法不同,CARAFE不是簡單地通過像素點(diǎn)的空間位置來決定上采樣核,而是充分利用了特征圖的語義信息。這使得采樣點(diǎn)更加集中在物體區(qū)域,從而有效忽略背景區(qū)域,達(dá)到內(nèi)容感知重構(gòu)的效果。引入CARAFE替換所有頸部網(wǎng)絡(luò)中的上采樣操作,能夠更好地恢復(fù)圖像的細(xì)節(jié)信息,提供更好的上采樣效果,從而改善模型的性能、結(jié)果質(zhì)量。CARAFE的原理如圖5所示。
CARAFE分為上采樣預(yù)測模塊、特征重組模塊等2個(gè)主要模塊。假定上采樣倍率為σ,給定1個(gè)形狀為H×W×C的輸入特征圖,首先通過上采樣核預(yù)測模塊來預(yù)測上采樣核,然后通過特征重組模塊完成上采樣操作,得到形狀為σH×σW×C的輸出特征圖。CARAFE的操作可以分為2個(gè)步驟。在第1步中,CARAFE會根據(jù)每個(gè)目標(biāo)位置的內(nèi)容預(yù)測1個(gè)重組核。這個(gè)過程可以視為特征圖通道壓縮,例如使用1個(gè)1×1的卷積將它的通道數(shù)降低,以減少后續(xù)計(jì)算量。在第2步中,用預(yù)測的核對特征進(jìn)行重組,生成1個(gè)新的特征圖。因此,CARAFE并不僅僅是簡單地插值或反褶積,而是能夠根據(jù)輸入特征來指導(dǎo)重組過程,這樣在不同的位置可以使用自適應(yīng)和優(yōu)化的重組核,從而實(shí)現(xiàn)更好的性能。
2.1 試驗(yàn)環(huán)境與準(zhǔn)備
本試驗(yàn)所有輕量化處理及訓(xùn)練均在臺式計(jì)算機(jī)上進(jìn)行,所用計(jì)算機(jī)配置如下:Windows 10操作系統(tǒng),Intel Core I5-12600KF CPU,NVIDIA RTX3080Ti GPU,32 GB內(nèi)存。所用環(huán)境為Pytorch 2.0.1,Cuda 12.2,cuDNN 8.7.0,Python 3.9。試驗(yàn)時(shí)間為2023年1—9月,試驗(yàn)地點(diǎn)為長江大學(xué)東校區(qū)3號教學(xué)樓。
2.2 評測指標(biāo)
試驗(yàn)結(jié)果采用Precision、Recall、AP、mAP作為評價(jià)指標(biāo),評價(jià)指標(biāo)的計(jì)算公式如下:
Precision=[SX(]TP[]TP+FP[SX)][JZ)];(11)
Recall=[SX(]TP[]TP+FN[SX)][JZ)];(12)
AP=∫1[KG-1]0p(r)dr[JZ)];](13)
mAP=[SX(]1[]m[SX)]∑[DD(]m[]i=1[DD)]APi。(14)
式中:m表示樣本類別數(shù);p(r)表示Precision以Recall為參數(shù)的一個(gè)函數(shù);TP表示被正確識別的正樣本;TN表示被正確識別的負(fù)樣本;FP表示負(fù)樣本被錯(cuò)誤識別為正樣本;FN表示正樣本被錯(cuò)誤識別為負(fù)樣本。
2.3 損失函數(shù)對比試驗(yàn)
本試驗(yàn)通過對比LCLoU、LFocal-ELoU、LWIoUv1、LWIoUv2以及LWIoUv3這5種損失函數(shù),驗(yàn)證WIoUv3能夠降低框回歸損失,從而使模型能夠更好地預(yù)測準(zhǔn)確的邊界框,有助于提高目標(biāo)檢測中框的質(zhì)量,減少誤檢、漏檢(表1)。
圖6為模型精度隨著訓(xùn)練輪次增長的過程,LWIoUv3相比于LCLoU、LWIoUv1和LWIoUv2、LFocal-ELoU能夠在精度上使模型達(dá)到更高的檢測性能。WIoUv3 Loss通過引入類別權(quán)重,可以平衡不同類別的重要性,使得模型更加關(guān)注那些類別較少的目標(biāo),從而提高模型對于稀有類別的檢測能力。同時(shí),本試驗(yàn)使用的數(shù)據(jù)集中,受埃斯卡病所感染的葉片目標(biāo)區(qū)域相對于褐斑病和黑腐病來說比較大,目標(biāo)數(shù)量較少,因此使得3個(gè)類別中的目標(biāo)數(shù)量差距較大。而引入WIoU Loss可以動態(tài)調(diào)整每個(gè)類別的權(quán)重,從而提高模型整體的檢測性能。
2.4 輕量化對比試驗(yàn)
在本試驗(yàn)中,利用常見的MobileNet v3-small、GhostNet及EfficientNet來優(yōu)化YOLO v5n的骨干網(wǎng)絡(luò)與Slimming算法進(jìn)行對比試驗(yàn),驗(yàn)證了Slimming算法能夠更加有效地實(shí)現(xiàn)YOLO v5n模型的輕量化[21-23]。試驗(yàn)?zāi)P偷膶Ρ冉Y(jié)果見表2。為了保證試驗(yàn)結(jié)果的嚴(yán)謹(jǐn)性,本研究中所有模型的參數(shù)設(shè)定都一致。
由表2可知,輕量化主干網(wǎng)絡(luò)雖然可以降低參數(shù)量和模型大小,但是其檢測速度也有所下降。本試驗(yàn)提出的Slimming剪枝算法可以在有效減少參數(shù)量、計(jì)算量和模型權(quán)重文件大小的同時(shí)保持模型精度和推理時(shí)間,保證模型的實(shí)時(shí)性。GhostNet、EfficientNet等方法具有較低的參數(shù)量和計(jì)算量,但推理速度較慢。對于GPU來說,算力瓶頸在于訪問帶寬。EfficientNet這類輕量化網(wǎng)絡(luò)的特點(diǎn)是使用了大量低FLOPs、高數(shù)據(jù)讀寫量的操作,這會使得模型將大量時(shí)間浪費(fèi)在從現(xiàn)存中讀寫數(shù)據(jù)上,使模型的實(shí)時(shí)性變差。因此,采用Slimming算法能在輕量化的同時(shí)兼顧模型的檢測性能和推理速度。
2.5 消融試驗(yàn)
為了評估Slimming剪枝方法、WIoUv3損失函數(shù)及輕量級上采樣算子CARAFE對YOLO v5n算法帶來的影響,進(jìn)行消融試驗(yàn),試驗(yàn)結(jié)果見表3。[JP2]為了提高模型的泛化能力和避免過擬合,所有試驗(yàn)均采用較大的epoch值(300)。[JP2]表3中,改進(jìn)1模型對原有YOLO v5n算法進(jìn)行剪枝,改進(jìn)2模型對剪枝之后的模型添加了WIoUv3 Loss,改進(jìn)3模型在改進(jìn)2模型的基礎(chǔ)上引入輕量級上采樣算子CARAFE的結(jié)果。
由表3可知,對YOLO v5n使用Slimming剪枝方法可以在模型精度輕微下降的同時(shí)使參數(shù)量降低72%,使計(jì)算量降低62%。通過后續(xù)引入WIoUv3 Loss、輕量級上采樣算子CARAFE,模型的精度相比于比YOLO v5n算法提高了0.2百分點(diǎn),同時(shí)參數(shù)量減少了67%,計(jì)算量減少了57%,模型的大小也縮減了58%。因此可見,改進(jìn)后的模型不僅在檢測精度上有所提升,而且在參數(shù)量、計(jì)算量和檢測速度方面也表現(xiàn)出色。模型的驗(yàn)證結(jié)果如圖7所示。
3 結(jié)論
為了解決現(xiàn)有葡萄葉病蟲害檢測模型難以部署在移動端設(shè)備或嵌入式設(shè)備上的問題,本研究提出了1種基于改進(jìn)的YOLO v5n的深度卷積神經(jīng)網(wǎng)絡(luò)模型。通過Slimming剪枝方法對YOLO原有網(wǎng)絡(luò)模型進(jìn)行剪枝并添加WIoUv3損失函數(shù),引入輕量級上采樣算子CARAFE。[JP2]在減小58%的模型大小和減少67%的參數(shù)量及57%計(jì)算量的基礎(chǔ)上,最終的模型大小僅為1.6 MB,模型精度相比YOLO v5n[JP]的原模型提升了0.2百分點(diǎn)。結(jié)果表明,本研究方法在葡萄葉病蟲害識別上獲得了較好效果,為部署于移動設(shè)備與嵌入式設(shè)備上提供了可能。
參考文獻(xiàn):
[1]田 野, 陳冠銘,李家芬,等. 世界葡萄產(chǎn)業(yè)發(fā)展現(xiàn)狀[J]. 熱帶農(nóng)業(yè)科學(xué), 2018, 38(6):96-101.
[2]翟肇裕,曹益飛,徐煥良,等. 農(nóng)作物病蟲害識別關(guān)鍵技術(shù)研究綜述[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào), 2021, 52(7):1-18.
[3]戴久竣,馬肄恒,吳 堅(jiān),等. 基于改進(jìn)殘差網(wǎng)絡(luò)的葡萄葉片病害識別[J]. 江蘇農(nóng)業(yè)科學(xué),2023,51(5):208-215.
[4]謝圣橋,宋 健,湯修映,等. 基于遷移學(xué)習(xí)和殘差網(wǎng)絡(luò)的葡萄葉部病害識別[J]. 農(nóng)機(jī)化研究,2023,45(8):18-23,28.
[5]何 欣, 李書琴, 劉 斌. 基于多尺度殘差神經(jīng)網(wǎng)絡(luò)的葡萄葉片病害識別[J]. 計(jì)算機(jī)工程, 2021, 47(5):285-291.
[6]陳浪浪,張 艷. 基于改進(jìn)深度卷積神經(jīng)網(wǎng)絡(luò)的水稻病蟲害識別[J]. 山東農(nóng)業(yè)科學(xué),2023,55(5):164-172.
[7]張 伏,陳自均,鮑若飛,等. 基于改進(jìn)型YOLO v4-LITE輕量級神經(jīng)網(wǎng)絡(luò)的密集圣女果識別[J]. 農(nóng)業(yè)工程學(xué)報(bào),2021,37(16):270-278.
[8]劉 廣,胡國玉,趙騰飛,等. 基于改進(jìn)YOLO v3的葡萄葉部病蟲害檢測方法[J]. 微電子學(xué)與計(jì)算機(jī),2023,40(2):110-119.
[9]Ren S Q,He K M,Girshick R,et al. Faster R-CNN:towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2017,39(6):1137-1149.
[10]Dai J F,Li Y,He K M,et al. R-FCN:object detection via region-based fully convolutional networks[J]. Advances in Neural Information Processing Systems,2016,29:379-387.
[11]Liu W,Anguelov D,Erhan D,et al. SSD:single shot multibox detector[C]//Computer Vision–ECCV 2016:14th European Conference,Amsterdam:Springer International Publishing,2016:21-37.
[12]Bochkovskiy A,Wang C Y,Liao H Y M. YOLO v4:optimal speed and accuracy of object detection[J/OL]. [2023-09-09]https://arxiv.org/abs/2004. 10934.
[13]Redmon J,Divvala S,Girshick R,et al. You only look once:unified,real-time object detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,Las Vegas,USA,2016:779-788.
[14]Redmon J,F(xiàn)arhadi A. Yolo9000:better,faster,stronger[C]//Proceedings of the IEEE conference on Computer Vision and Pattern Recognition,Honolulu,USA,2017:7263-7271.
[15]Redmon J,F(xiàn)arhadi A. YOLO v3:An incremental improvement[J/OL]. [2023-09-09]https://arxiv.org/abs/1804. 02767.
[16]Lin T Y,Dollár P,Girshick R,et al. Feature pyramid networks for object detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,Honolulu,USA,2017:2117-2125.[HJ2mm]
[17]Liu S,Qi L,Qin H,et al. Path aggregation network for instance segmentation[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,Salt Lake City,USA,2018:8759-8768.
[18]Liu Z,Li J,Shen Z,et al. Learning efficient convolutional networks through network slimming[C]//Proceedings of the IEEE International Conference on Computer Vision,Venice,Italy,2017:2736-2744.
[19]Tong Z,Chen Y,Xu Z,et al. Wise-iou:bounding box regression loss with dynamic focusing mechanism[J/OL]. [2023-09-09]https://arxiv.org/abs/2301. 10051.
[20]Wang J,Chen K,Xu R,et al. Carafe:content-aware reassembly of [JP3]features[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision,Seoul,Korea(South),2019:3007-3016.
[21]Howard A,Sandler M,Chu G,et al. Searching for mobilenetv3[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision,Seoul,Korea(South),2019:1314-1324.
[22]Han K,Wang Y,Tian Q,et al. Ghostnet:more features from cheap operations[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition,Seattle,USA,2020:1580-1589.
[23]Tan M,Le Q. Efficientnet:rethinking model scaling for convolutional neural networks[C]//International Conference on Machine Learning. PMLR,Long Beach,California,USA,2019:6105-6114.
基金項(xiàng)目:國家自然科學(xué)基金(編號:61771354)。
作者簡介:蔡易南(2000—),男,湖北黃岡人,碩士研究生,主要研究方向?yàn)橛?jì)算機(jī)視覺與目標(biāo)檢測。E-mail:2022710621@yangtzeu.edu.cn。
通信作者:肖小玲,博士,教授,主要研究方向?yàn)橹悄苄畔⑻幚砼c網(wǎng)絡(luò)安全。E-mail:xxl@yangtzeu.edu.cn。