周維 牛永真 王亞煒 李丹
摘要: 針對(duì)水稻病蟲(chóng)害檢測(cè)精度低、速度慢、模型復(fù)雜度高、部署困難等問(wèn)題,改進(jìn)了YOLOv4目標(biāo)檢測(cè)算法,結(jié)合輕量化GhostNet網(wǎng)絡(luò),提出了一種基于改進(jìn)的YOLOv4-GhostNet水稻病蟲(chóng)害識(shí)別方法:1)利用幻象模塊代替普通卷積結(jié)構(gòu),替換主干特征提取網(wǎng)絡(luò)CSPDarkNet53,構(gòu)建GhostNet模塊進(jìn)行圖像的特征提取;2)改進(jìn)YOLOv4網(wǎng)絡(luò)的加強(qiáng)特征提取部分PANet結(jié)構(gòu);3)結(jié)合遷移學(xué)習(xí)與YOLOv4網(wǎng)絡(luò)訓(xùn)練技巧。通過(guò)試驗(yàn)將YOLOv4及其MobileNet系列輕量化網(wǎng)絡(luò)與Faster-RCNN系列網(wǎng)絡(luò)和SSD系列網(wǎng)絡(luò)進(jìn)行對(duì)比,結(jié)果表明,改進(jìn)的YOLOv4-GhostNet模型平均準(zhǔn)確率達(dá)到79.38%,檢測(cè)速度可達(dá)1 s 34.51 幀,模型權(quán)重大小縮減為42.45 MB,在保持檢測(cè)精度達(dá)到較高水平的同時(shí)模型參數(shù)量大幅度降低,適用于部署在計(jì)算能力不足的嵌入式設(shè)備上。
關(guān)鍵詞: 水稻病蟲(chóng)害檢測(cè); GhostNet網(wǎng)絡(luò); YOLOv4; 輕量化; 遷移學(xué)習(xí)
中圖分類號(hào): TP391.4?? 文獻(xiàn)標(biāo)識(shí)碼: A?? 文章編號(hào): 1000-4440(2022)03-0685-11
Rice pests and diseases identification method based on improved YOLOv4-GhostNet
ZHOU Wei, NIU Yong-zhen, WANG Ya-wei, LI Dan
(College of Information and Computer Engineering, Northeast Forestry University, Harbin 150040, China)
Abstract: Aiming at the problems of low accuracy, slow speed, high model complexity and difficult deployment in rice pests and diseases detection, the YOLOv4 target detection algorithm was improved. Combined with the lightweight GhostNet network, a rice pests and diseases recognition method based on the improved YOLOv4-GhostNet was proposed. The phantom module was used to replace the ordinary convolution structure, the backbone feature extraction network CSPDarkNet53 was replaced, and the GhostNet module was constructed for image feature extraction. The PANet structure of the enhanced feature extraction part of YOLOv4 network was improved. Transfer learning was combined with YOLOv4 network training skills. YOLOv4 and its MobileNet series lightweight networks were compared with Fast-RCNN series networks and SSD series networks. The results showed that the average accuracy of the improved YOLOv4-GhostNet model was 79.38%, the detection speed was 34.51 frames per second, and the weight of the model was reduced to 42.45 MB. While maintaining high detection accuracy, the number of model parameters is greatly reduced. It is suitable for embedded devices with insufficient computing power.
Key words: rice diseases and pests detection; GhostNet network; YOLOv4; lightweight; transfer learning
水稻是中國(guó)主要糧食作物,在中國(guó)農(nóng)業(yè)生產(chǎn)中占據(jù)重要地位。而水稻病害、蟲(chóng)害直接影響水稻產(chǎn)量及其經(jīng)濟(jì)效益,水稻病蟲(chóng)害的研究十分重要 [1-2] 。目前圖像識(shí)別與機(jī)器學(xué)習(xí)方法在病蟲(chóng)害識(shí)別領(lǐng)域中廣泛應(yīng)用。張武等利用K-均值聚類算法和最大類間方差法分割小麥病害圖像 [3] 。馬媛等利用均值漂移算法監(jiān)督葡萄生長(zhǎng)狀態(tài)與病蟲(chóng)害 [4] 。鮑文霞等釆用橢圓型度量矩陣提升SVM分類器識(shí)別水稻蟲(chóng)害能力 [5] 。王映龍等應(yīng)用圖像處理技術(shù)對(duì)水稻蟲(chóng)害進(jìn)行識(shí)別 [6] 。Xia等利用原位檢測(cè)方法檢測(cè)溫室條件下出現(xiàn)多葉重疊遮擋現(xiàn)象和復(fù)雜背景的胡椒葉片病害圖像識(shí)別 [7] 。Ye等基于顏色在強(qiáng)光與非強(qiáng)光區(qū)域逐漸變換的原理,提出一種基于概率超像素馬爾可夫網(wǎng)絡(luò)的抗強(qiáng)光照作物特征方法 [8] 。以上基于機(jī)器學(xué)習(xí)的病蟲(chóng)害識(shí)別方法,實(shí)質(zhì)上是以圖片分類的方式實(shí)現(xiàn),對(duì)于復(fù)雜背景的圖片需要進(jìn)行多種算法的處理,且各算法之間存在著特征能力描述和識(shí)別速度之間相互排斥的矛盾,提取的特征相似度較高,難以同時(shí)識(shí)別特征相差較大的病害和蟲(chóng)害。
隨著深度學(xué)習(xí)網(wǎng)絡(luò)的不斷發(fā)展,其應(yīng)用也被引入到農(nóng)作物病害識(shí)別領(lǐng)域。Mohanty等利用AlexNet和GoogLeNet識(shí)別開(kāi)放數(shù)據(jù)庫(kù)PlantVillage中14種不同植物的26 種病害 [9] 。Ferentinos等利用健康和患病植物葉片圖像,訓(xùn)練幾種卷積神經(jīng)網(wǎng)絡(luò),檢測(cè)9 種不同的番茄病蟲(chóng)害 [10] 。房若民等使用MobileNet模型,檢測(cè)10個(gè)物種,包括27個(gè)類型的農(nóng)業(yè)病蟲(chóng)害 [11] 。燕斌等利用Inception-V3網(wǎng)絡(luò)和ImageNet數(shù)據(jù)集實(shí)現(xiàn)8 種病害的識(shí)別 [12] 。楊國(guó)國(guó)等利用優(yōu)化后的卷積神經(jīng)網(wǎng)絡(luò)識(shí)別復(fù)雜自然背景下茶園害蟲(chóng) [13] 。
基于深度學(xué)習(xí)的方法往往需要大量數(shù)據(jù)作為模型訓(xùn)練基礎(chǔ),而農(nóng)業(yè)病蟲(chóng)害檢測(cè)數(shù)據(jù)集構(gòu)建困難,缺少病蟲(chóng)害公共數(shù)據(jù)集,實(shí)際數(shù)據(jù)檢測(cè)精度往往較低。為了提升深度學(xué)習(xí)網(wǎng)絡(luò)的精度,往往設(shè)計(jì)網(wǎng)絡(luò)層數(shù)更深、結(jié)構(gòu)更復(fù)雜、參數(shù)量更大的神經(jīng)網(wǎng)絡(luò),這使得模型訓(xùn)練時(shí)間長(zhǎng),模型復(fù)雜度高,部署困難。對(duì)于從事水稻病蟲(chóng)害研究與防治的用戶而言,其設(shè)備計(jì)算資源、存儲(chǔ)能力往往有限,研究輕量化的水稻病蟲(chóng)害目標(biāo)檢測(cè)方法十分必要。張?zhí)諏幍壤靡环N改進(jìn)的YOLOv3-MobileNet目標(biāo)檢測(cè)算法,提升了模型的檢測(cè)精度和運(yùn)算速度 [14] 。李維剛等利用一種基于改進(jìn)YOLOv4的新型室內(nèi)場(chǎng)景目標(biāo)檢測(cè)算法,使平均檢測(cè)精度達(dá)到83.0% [15] 。曹遠(yuǎn)杰等利用GhostNet殘差結(jié)構(gòu)進(jìn)行4 種飲料識(shí)別,衡量指標(biāo)mAP到達(dá)79.43%,參數(shù)量縮減10% [16] 。張官榮等利用面向小目標(biāo)檢測(cè)的輕量化YOLOv3-CSP算法,實(shí)現(xiàn)對(duì)原模型參數(shù)量95%的壓縮 [17] 。董藝威等應(yīng)用輕量化卷積神經(jīng)網(wǎng)絡(luò) SlimNet將參數(shù)量降低32%,計(jì)算量降低50% [18] ;。劉超軍等應(yīng)用GhostNet的卷積特征,改進(jìn)EOC目標(biāo)跟蹤算法,提高了全程的跟蹤速度 [19] 。
本研究擬構(gòu)建輕量化GhostNet結(jié)構(gòu),對(duì)YOLOv4框架的主干特征提取網(wǎng)絡(luò)CSPDarkNet53進(jìn)行替換,對(duì)加強(qiáng)特征提取金字塔PANet進(jìn)行改進(jìn),并采用基于PASCAL VOC [20] 數(shù)據(jù)集得到的基礎(chǔ)網(wǎng)絡(luò),進(jìn)行遷移學(xué)習(xí),凍結(jié)訓(xùn)練數(shù)據(jù)量較小的水稻病蟲(chóng)害目標(biāo)檢測(cè)模型,同時(shí)檢測(cè)9種水稻病蟲(chóng)害。
1 材料與方法
1.1 數(shù)據(jù)材料
1.1.1 數(shù)據(jù)采集 擬利用PASCAL VOC數(shù)據(jù)集對(duì)模型進(jìn)行預(yù)訓(xùn)練。PASCAL VOC數(shù)據(jù)集數(shù)據(jù)量大,圖像種類多,具有背景信息豐富、目標(biāo)提取簡(jiǎn)單等易于泛化的圖像特征,其包含了圖片、標(biāo)簽和訓(xùn)練集、測(cè)試集、驗(yàn)證集劃分文件。
構(gòu)建水稻病蟲(chóng)害數(shù)據(jù)集,對(duì)圖片數(shù)據(jù)進(jìn)行采集,圖片來(lái)源于百度、谷歌網(wǎng)站,部分圖片如圖1所示。其中水稻病害數(shù)據(jù)主要有5 類:稻曲病、水稻細(xì)菌性條斑病、稻瘟病、水稻胡麻斑病、水稻白葉枯病;水稻蟲(chóng)害數(shù)據(jù)主要有4 類:稻飛虱、稻蝗、稻棘緣蝽、螟蟲(chóng)。采集的數(shù)據(jù)類別及種類占比信息見(jiàn)表1。由于圖片來(lái)源有限,數(shù)據(jù)量少,擬采用數(shù)據(jù)增強(qiáng)策略來(lái)提高模型對(duì)檢測(cè)目標(biāo)的魯棒性。
1.1.2 數(shù)據(jù)預(yù)處理 水稻病蟲(chóng)害圖像數(shù)據(jù)總計(jì)1 009 張,通過(guò)離線數(shù)據(jù)增強(qiáng)操作對(duì)圖像進(jìn)行加噪聲、反轉(zhuǎn)、旋轉(zhuǎn)、平移、光度隨機(jī)調(diào)節(jié)、HVS調(diào)節(jié),將數(shù)據(jù)量擴(kuò)充至6 054 張,按PASCAL VOC數(shù)據(jù)集格式,創(chuàng)建水稻病蟲(chóng)害數(shù)據(jù)集。利用Python腳本,將增強(qiáng)后的數(shù)據(jù)圖片以數(shù)字序號(hào)批量重命名,修改圖片格式,以.jpg格式存入相對(duì)應(yīng)的圖片文件夾中。使用LabelImg軟件人工標(biāo)定數(shù)據(jù),生成.xml格式的標(biāo)簽文件,記錄所有的目標(biāo)檢測(cè)框的位置、大小和類別信息,命名為對(duì)應(yīng)圖片的編號(hào),存入標(biāo)簽文件夾。按照63∶ 27∶ 10的比例劃分訓(xùn)練集、驗(yàn)證集、測(cè)試集。在模型訓(xùn)練過(guò)程中,使用在線增強(qiáng)策略,對(duì)輸入圖片數(shù)據(jù)進(jìn)行隨機(jī)放縮、扭曲、調(diào)整色域等增強(qiáng)操作,同時(shí)對(duì)目標(biāo)檢測(cè)框?qū)嵤┫鄳?yīng)的校準(zhǔn),使得每次訓(xùn)練進(jìn)入網(wǎng)絡(luò)的數(shù)據(jù)具有不相同的概率,無(wú)需將增廣后的數(shù)據(jù)合成出來(lái),節(jié)省了數(shù)據(jù)的存儲(chǔ)空間,具有很高的靈活性。
1.2 方法
1.2.1 遷移學(xué)習(xí) 利用公開(kāi)數(shù)據(jù)集PASCAL VOC的預(yù)訓(xùn)練權(quán)值,得到基礎(chǔ)網(wǎng)絡(luò)。修改網(wǎng)絡(luò)的通道數(shù),將已經(jīng)學(xué)習(xí)到的圖像特征遷移到本研究構(gòu)建的水稻病蟲(chóng)害目標(biāo)檢測(cè)網(wǎng)絡(luò)上,對(duì)模型進(jìn)行訓(xùn)練。水稻病蟲(chóng)害數(shù)據(jù)集(6 054 張)與PASCAL VOC數(shù)據(jù)集(20 000 張)相比,數(shù)據(jù)量小,圖像特征的相似度低,因此采用凍結(jié)與訓(xùn)練(Freeze and Train)策略:凍結(jié)預(yù)訓(xùn)練模型中前 K 層主干特征提取網(wǎng)絡(luò)的權(quán)重,將更多的算力資源分配給后面的 N-K 層網(wǎng)絡(luò)。凍結(jié)訓(xùn)練迭代100次后,解凍凍結(jié)層,訓(xùn)練整體網(wǎng)絡(luò)100 次。該策略彌補(bǔ)了水稻病蟲(chóng)害數(shù)據(jù)集大小不足的缺陷,使得訓(xùn)練時(shí)間與計(jì)算資源的利用得到了極大的改善。
1.2.2 經(jīng)典 YOLOv4算法 作為經(jīng)典的單階段目標(biāo)檢測(cè)算法,YOLOv4 [21] 網(wǎng)絡(luò)模型由以下4部分組成:
輸入端(Input)將尺寸為416× 416× 3的圖像輸入網(wǎng)絡(luò),進(jìn)行圖像預(yù)處理。使用Mosaic數(shù)據(jù)增強(qiáng),每次通過(guò)對(duì)4 張圖片組合進(jìn)行翻轉(zhuǎn)、裁剪、色域變化,豐富檢測(cè)物體的背景信息,加快批量歸一化(Batch normalization, BN)的計(jì)算效率。運(yùn)用類平滑標(biāo)簽(Label smoothing)防止數(shù)據(jù)過(guò)擬合。采用自對(duì)抗訓(xùn)練(Self-Adversarial-Training, SAT)在增添擾動(dòng)的圖像上訓(xùn)練,進(jìn)行前、后向?qū)故綌?shù)據(jù)增強(qiáng),提升網(wǎng)絡(luò)精度與泛化能力。
基準(zhǔn)網(wǎng)絡(luò)(BackBone)采用 CSPDarkNet53 ?[22] 特征提取網(wǎng)絡(luò),引入 CSPNet結(jié)構(gòu),將殘差塊的堆疊拆分成2 個(gè)部分,平衡每層的網(wǎng)絡(luò)計(jì)算量,消除網(wǎng)絡(luò)反向優(yōu)化時(shí)梯度信息冗余現(xiàn)象,增強(qiáng)卷積網(wǎng)絡(luò)學(xué)習(xí)能力。采用梯度更為平滑的Mish激活函數(shù) [23] ,增加信息傳播深度。
頸部網(wǎng)絡(luò)(Neck)采用空間金字塔池化(Space pyramid pool, SPP) ?[24] 和路徑聚合網(wǎng)絡(luò)(Path aggregation network, PANet) [25] 結(jié)構(gòu)。SPP網(wǎng)絡(luò)對(duì)特征層進(jìn)行多種尺度的最大池化(Maxpooling)操作,增加主干特征的接受范圍,將重要的上下文特征進(jìn)行分離。PANet結(jié)構(gòu)對(duì)特征金字塔網(wǎng)絡(luò)(Feature pyramid network, FPN) [26] 進(jìn)行了改進(jìn),將FPN層自頂向下捕獲強(qiáng)語(yǔ)義特征與PAF自底向上傳達(dá)強(qiáng)定位特征組合,解決在傳遞過(guò)程中出現(xiàn)淺層信息丟失的問(wèn)題,實(shí)現(xiàn)目標(biāo)精準(zhǔn)定位的功能。
頭部網(wǎng)絡(luò)(Head)采用完全比值損失函數(shù)(Complete IoU, CIoU),在距離比值算法(Distance-IoU, DIoU)的基礎(chǔ)上,添加重疊率、懲罰項(xiàng)等因素,檢測(cè)框的回歸更加穩(wěn)定。利用非極大抑制算法,考慮邊界框中心點(diǎn)的位置信息,保留最佳預(yù)測(cè)框,檢測(cè)結(jié)果更加準(zhǔn)確。
YOLOv4整體網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
訓(xùn)練時(shí),采用模擬余弦退火 [27] (Cosine annealing)策略降低學(xué)習(xí)率。余弦函數(shù)中隨著 x 的變化,余弦值下降可分為3 個(gè)階段:緩慢下降、加速下降、緩慢下降。這種變化模式和預(yù)熱學(xué)習(xí)率的方式配合,減少模型的不穩(wěn)定因素,加快模型的收斂速度,使得模型慢慢趨于穩(wěn)定,便于得到全局最優(yōu)解。
檢測(cè)階段,輸入圖像(以輸入尺寸大小416× 416 為例)經(jīng)過(guò)特征提取和融合,被劃分為 A× A 網(wǎng)格。每個(gè)網(wǎng)格單元對(duì)應(yīng)3 個(gè)預(yù)測(cè)框,每個(gè)預(yù)測(cè)框帶有5 種信息(2 個(gè)中心點(diǎn)坐標(biāo)偏移量、2 個(gè)邊框大小偏移量和1 個(gè)目標(biāo)置信度)、目標(biāo)的分類結(jié)果和檢測(cè)概率。如圖3所示,紅色小框部分為目標(biāo)中心點(diǎn)所在的網(wǎng)格,黃色實(shí)線框?yàn)檎鎸?shí)框,藍(lán)色實(shí)線框?yàn)轭A(yù)測(cè)框。
1.2.3 改進(jìn)的YOLOv4算法
1.2.3.1 幻象模塊Ghost Module的引入 為減少冗余特征圖,提升主干特征提取網(wǎng)絡(luò)的運(yùn)算速度,進(jìn)一步減小網(wǎng)絡(luò)大小和計(jì)算量,采用幻象模塊(Ghost module ?[28] )對(duì)輸入圖像(Input)進(jìn)行操作(圖4)。通過(guò)1 次卷積(Convolution)生成 m ?個(gè)原始特征圖 T ,進(jìn)行兩部分變換:一部分采用1× 1的普通卷積進(jìn)行映射(Identity),生成 m ?個(gè)必要特征濃縮;另一部分利用深度可分離卷積塊進(jìn)行逐層卷積,對(duì) T 進(jìn)行線性變換(Linear transformation)與堆疊(Stack),生成 s ?個(gè)幻象特征圖。將 T 映射后的 m ?個(gè)特征圖與 s ?個(gè)幻象特征圖堆疊,得到 n ?個(gè)新特征圖, n= m× s 。
1個(gè)幻象模塊具有1個(gè)恒等映射和 m× (s-1) ?個(gè)線性運(yùn)算,設(shè)普通卷積核大小為 p× p ,每個(gè)線性運(yùn)算規(guī)模相同,且線性運(yùn)算后卷積核大小為 j× j ,輸入圖像高度為 g ,寬度為 k ,輸入通道數(shù)為 c ,輸出圖像高度為 g′? ,寬度為 k′? ,其運(yùn)算量 s 1? 為
s 1 =m×g′ ×k′ ×c×p×p+m×(s-1)×g′ ×k′ ×j×j (1)
而使用普通卷積的運(yùn)算量為
s 2 =n×g′ ×k′ ×c×p×p (2)
因此,幻象模塊升級(jí)普通卷積操作的理論加速比為:
r s =s 2 s 1
=n×g′ ×k′ ×c×p×pm×g′ ×k′ ×c×p×p+m×(s-1)×g′ ×k′ ×j×j
=n×g′ ×k′ ×c×p×p(n/s)×g′ ×k′ ×c×p×p+(n/s)×(s-1)×g′ ×k′ ×j×j=c×p×p(1/s)×c×p×p+(s-1s)×j×j
由于 j<<p ,因此
r s ≈c×p×p(1/s)×c×p×p
即 r s ≈s (3)
同理計(jì)算參數(shù)壓縮比為
r c =n×c×p×pm×c×p×p+m×(s-1)×j×j
=n×c×p×p(n/s)×c×p×p+(n/s)×(s-1)×j×j
=c×p×p(1/s)×c×p×p+(s-1s)×j×j
≈c×p×p(1/s)×c×p×p
因此
r c ≈s (4)
上述分析結(jié)果說(shuō)明,GhostNet網(wǎng)絡(luò)較大地提升了模型的速度和參數(shù)量。
1.2.3.2 主干特征提取網(wǎng)絡(luò)的替換 YOLOv4網(wǎng)絡(luò)將其主干特征提取網(wǎng)絡(luò)CSPDarknet53的3個(gè)有效特征層,分別傳入加強(qiáng)特征提取網(wǎng)絡(luò)SPP和PANet,進(jìn)行特征金字塔的構(gòu)建。在改進(jìn)YOLOv4網(wǎng)絡(luò)過(guò)程中,利用幻象模塊(Ghost module)代替CSPDarknet53中的普通卷積,獲得幻象瓶頸結(jié)構(gòu)(Ghost bottlenecks),重構(gòu)主干特征提取網(wǎng)絡(luò),獲取3 個(gè)有效特征層。其中,幻象瓶頸結(jié)構(gòu)由多個(gè)卷積層和剪短路徑(Shortcut)組成,剪短路徑由下采樣層和步長(zhǎng)(Stride)為2的深度卷積DWConv(Depthwise convolution)實(shí)現(xiàn)。
改進(jìn)前后有效特征層尺寸與參數(shù)量大小對(duì)比數(shù)據(jù)如表2所示。由表2中參數(shù)量大小的變化可知,GhostNet主干特征提取網(wǎng)絡(luò)將原CSPDarknet53的參數(shù)量減小了28.37%。
1.2.3.3 加強(qiáng)特征提取網(wǎng)絡(luò)PANet的改進(jìn) 在PANet中,利用 3×3 深度可分離卷積(Depthwise separable convolution)和1× 1點(diǎn)卷積代替普通3× 3卷積。深度可分離卷積的實(shí)現(xiàn)過(guò)程為:逐通道卷積(Depthwise convolution)和卷積核數(shù)目相同的特征圖(Feature map)生成,再利用1× 1逐點(diǎn)卷積(Pointwise convolution)在通道的深度上增加權(quán)重,生成新的特征圖(圖5)。
設(shè)卷積層有 w ?個(gè)濾波器,每個(gè)濾波器核心尺寸為 h× h ,輸入通道數(shù)為 i ,輸出通道數(shù)為 j ,輸入圖片尺寸為 c× c ,則:
普通卷積參數(shù)量為: w×h×i×j (5)
計(jì)算量為: w×h×(c-w+1)×(c-h+1)×i×j (6)
深度可分離卷積的參數(shù)量為: w×h×i+i×j (7)
計(jì)算量為: w×h×(c-w+1)×(c-h+1)×i+w×h×i×j (8)
深度可分離卷積參數(shù)量為普通卷積的 1/j ,且在相同計(jì)算量的情況下可以將神經(jīng)網(wǎng)絡(luò)層數(shù)加深。PANet網(wǎng)絡(luò)的3× 3深度卷積利用不同的卷積核對(duì)輸入的通道數(shù)進(jìn)行卷積,再通過(guò)點(diǎn)卷積整合深度卷積的輸出特征圖,防止普通卷積層中任意1 個(gè)卷積核都需要對(duì)所有通道進(jìn)行操作。
在YOLOv4及其輕量化網(wǎng)絡(luò)輸入圖片尺寸相同的條件下,總參數(shù)量最低的為GhostNet網(wǎng)絡(luò),為CSPDarkNet53的8.05%,其網(wǎng)絡(luò)大小縮減為YOLOv4網(wǎng)絡(luò)的6.12%,且較MobileNet系列輕量化網(wǎng)絡(luò)也有較大的提升(表3)。利用深度可分離卷積塊改進(jìn)PANet后,各輕量化網(wǎng)絡(luò)參數(shù)量下降為原來(lái)的25.0%左右,PANet的改進(jìn)有效降低了網(wǎng)絡(luò)的參數(shù)量。
1.2.4 試驗(yàn)準(zhǔn)備
1.2.4.1 試驗(yàn)環(huán)境 使用的硬件配置為Intel(R)Core(TM)i7-10750H CPU,NVIDIA GeForce RTX 2060 Ti顯卡, Windows10操作系統(tǒng)。軟件環(huán)境為CUDA10.0,Cudnn10.0,采用Pytorch深度學(xué)習(xí)框架,安裝Scipy、Numpy、Matplotlib、Opencv等軟件進(jìn)行數(shù)據(jù)分析與圖像繪制。輸入圖片的尺寸為416× 416× 3,運(yùn)用馬賽克數(shù)據(jù)增強(qiáng)和余弦退火學(xué)習(xí)率策略,平滑標(biāo)簽設(shè)置為0.005。共設(shè)置200次迭代,進(jìn)行4 類損失值觀測(cè)。其中,凍結(jié)訓(xùn)練迭代次數(shù)為100 次,初始學(xué)習(xí)率設(shè)置為0.001,Batch size為16;解凍訓(xùn)練迭代次數(shù)為100 次,初始學(xué)習(xí)率為0.000 1 ,Batch size為8。損失函數(shù)隨迭代次數(shù)的變化關(guān)系如圖6所示。由圖6可見(jiàn),前25次迭代損失值急劇降低,直到50次迭代后變化趨于穩(wěn)定。后面的迭代過(guò)程中,4 類損失值均變化較小,在小范圍振蕩。
1.2.4.2 模型評(píng)價(jià)機(jī)制 水稻病蟲(chóng)害檢測(cè)問(wèn)題本質(zhì)上屬于二分類問(wèn)題。針對(duì)一個(gè)二分類問(wèn)題,本研究將9 類待檢測(cè)實(shí)例劃分為正類和負(fù)類。若一個(gè)實(shí)例是正類,并且被預(yù)測(cè)為正類,即為真正類(True positive, TP);若一個(gè)實(shí)例是正類,但是被預(yù)測(cè)為負(fù)類,即為假負(fù)類(False negative, FN);若一個(gè)實(shí)例是負(fù)類,但是被預(yù)測(cè)為正類,即為假正類(False positive, FP);若一個(gè)實(shí)例是負(fù)類,并且被預(yù)測(cè)為負(fù)類,即為真負(fù)類(True negative, TN)。于是定義如下評(píng)價(jià)指標(biāo):
精確率( Precision )表示預(yù)測(cè)為正的所有樣本中真正為正樣本所占的比例,計(jì)算公式為:
Precision=TPTP+FP (9)
召回率( Recall )表示真正為正的樣本中被預(yù)測(cè)為正的樣本所占比例,計(jì)算公式為:
Recall=TPTP+FN (10)
F 1值為在 Precision和Recall 的基礎(chǔ)上對(duì) Precision和Recall 進(jìn)行整體評(píng)價(jià), F 1的定義如下:
F1=Precision×Recall×2Precision+Recall (11)
平均精度( AP )為精確率-召回率曲線(Precision-Recall curve)下的面積, Total images 代表數(shù)據(jù)集中總圖片數(shù)目,計(jì)算公式為:
AP=∑PrecisionN(Totalimages) (12)
mAP 值為所有待檢測(cè)類別(Class)的 AP 的平均值, Total classes 代表數(shù)據(jù)集中待檢測(cè)目標(biāo)總類別數(shù),計(jì)算公式為:
mAP=∑APN(Total classes) (13)
在目標(biāo)檢測(cè)系統(tǒng)中,由于 F 1值與 mAP 評(píng)價(jià)指標(biāo)綜合考慮了準(zhǔn)確率和召回率,消除了單一評(píng)價(jià)對(duì)結(jié)果的影響,因此性能參數(shù)優(yōu)先級(jí)別由大到小依次為 mAP 值、 F 1值、準(zhǔn)確率和召回率。
2 結(jié)果與分析
2.1 遷移學(xué)習(xí)試驗(yàn)結(jié)果分析
使用預(yù)訓(xùn)練權(quán)重與凍結(jié)訓(xùn)練的遷移學(xué)習(xí)策略,獲得了基礎(chǔ)特征網(wǎng)絡(luò),將PASCAL VOC公開(kāi)數(shù)據(jù)集上學(xué)習(xí)到的知識(shí)或模式應(yīng)用到水稻病蟲(chóng)害檢測(cè)領(lǐng)域中。由表4可見(jiàn),使用遷移學(xué)習(xí)策略獲得的基礎(chǔ)特征網(wǎng)絡(luò)加強(qiáng)了輕量化網(wǎng)絡(luò)提取特征的效率,使得模型在迭代次數(shù)較低(200 次)的條件下,獲得近2倍的 mAP 值的提升。融合遷移學(xué)習(xí)訓(xùn)練的水稻病蟲(chóng)害目標(biāo)檢測(cè)模型,平均訓(xùn)練時(shí)間大幅度縮減為原來(lái)的近1/12,CPU占用率平均降低約12%,內(nèi)存使用情況也有所降低。遷移學(xué)習(xí)策略的應(yīng)用,大幅度提升了模型的平均訓(xùn)練速度,降低了對(duì)模型訓(xùn)練的計(jì)算機(jī)性能要求。
2.2 不同模型對(duì)水稻病蟲(chóng)害目標(biāo)檢測(cè)性能的比較
為驗(yàn)證改進(jìn)的YOLOv4輕量化模型對(duì)水稻病蟲(chóng)害目標(biāo)檢測(cè)性能,按照各種評(píng)價(jià)指標(biāo)的優(yōu)先級(jí)次序,將其與經(jīng)典目標(biāo)檢測(cè)模型Faster-RCNN系列、單激發(fā)多盒探測(cè)(SSD)系列進(jìn)行對(duì)比,并對(duì)結(jié)果進(jìn)行分析。圖7顯示,在各目標(biāo)檢測(cè)網(wǎng)絡(luò)模型的 mAP 值中,YOLOv4系列目標(biāo)檢測(cè)算法的 mAP 值最低為79.02%,最高可達(dá)84.79%,整體性能優(yōu)于Faster-RCNN系列的63.64%與SSD系列目標(biāo)檢測(cè)模型的63.32%; SSD-MobileNet系列 mAP 值僅為38.38%,YOLOv4系列輕量化模型可達(dá)81.60%,實(shí)現(xiàn)2.13倍的提升,可見(jiàn)改進(jìn)的YOLOv4輕量化模型更適合對(duì)水稻病蟲(chóng)害的目標(biāo)檢測(cè)。
表5顯示,改進(jìn)的YOLOv4系列模型 F 1值明顯高于Faster-RCNN系列與SSD系列模型,YOLOv4-MobileNet對(duì)9類檢測(cè)目標(biāo)的 F 1值平均值為0.780,YOLOv4-GhostNet為0.781,表明單階段目標(biāo)檢測(cè)算法YOLOv4在采用了多尺度檢測(cè)后,綜合準(zhǔn)確率與召回率更好。
圖8顯示,F(xiàn)aster-RCNN系列和未改進(jìn)的YOLOv4模型坐標(biāo)點(diǎn)距原點(diǎn)距離過(guò)遠(yuǎn),其中未改進(jìn)的YOLOv4模型訓(xùn)練時(shí)間長(zhǎng)達(dá)67 020 ?s,模型權(quán)重大小達(dá)到244.37 MB,相比于SSD系列和改進(jìn)的YOLOv4輕量化模型,模型大小與參數(shù)量規(guī)模龐大,在水稻病蟲(chóng)害檢測(cè)中,嚴(yán)重消耗算力資源,增加模型檢測(cè)成本。
綜合上述分析,SSD系列模型訓(xùn)練時(shí)間最短,模型權(quán)重最小,但是準(zhǔn)確率過(guò)低,無(wú)法實(shí)現(xiàn)水稻病蟲(chóng)害的目標(biāo)檢測(cè)任務(wù);Faster-RCNN系列的訓(xùn)練時(shí)間過(guò)長(zhǎng),模型權(quán)重過(guò)大,訓(xùn)練準(zhǔn)確度雖比較SSD系列有所提升,但仍然處于較低水平;YOLOv4目標(biāo)檢測(cè)網(wǎng)絡(luò)平衡了準(zhǔn)確率、訓(xùn)練時(shí)間、網(wǎng)絡(luò)大小與參數(shù)量,可以較好地完成水稻病蟲(chóng)害目標(biāo)檢測(cè)任務(wù)。
2.3 不同輕量化YOLOv4模型的水稻病蟲(chóng)害檢測(cè)效果
在水稻病蟲(chóng)害數(shù)據(jù)集上,分析YOLOv4模型與其輕量化改進(jìn)的數(shù)據(jù),結(jié)果表明各類水稻病蟲(chóng)害檢測(cè)效果的 AP 值(精確度-召回率曲線與 x 軸所圍圖形的面積)基本持平(表6)。其中GhostNet網(wǎng)絡(luò)最小,參數(shù)量最低, AP 值最高可達(dá)97.2%。
與原YOLOv4模型和YOLOv4-MobileNet系列輕量化目標(biāo)檢測(cè)模型對(duì)比,YOLOv4-GhostNet的檢測(cè)精度 mAP 值略有損失,平均降低1.895個(gè)百分點(diǎn);權(quán)重大小僅為YOLOv4的17.37%,比YOLOv4-MobileNet系列平均縮小8 MB;傳輸幀數(shù)與原YOLOv4模型相比,每秒提高了11.59幀,相較于YOLOv4-MobileNet系列平均降低了15.20幀;訓(xùn)練時(shí)間比其余4 種模型平均減少了41.72%(表7)。本研究通過(guò)對(duì)YOLOv4-GhostNet模型部分結(jié)構(gòu)與訓(xùn)練策略的改進(jìn),綜合考慮目標(biāo)檢測(cè)模型的各種評(píng)價(jià)指標(biāo)與影響因素,實(shí)現(xiàn)了對(duì)9 種水稻病蟲(chóng)害的檢測(cè),在不影響精度的條件下縮減模型規(guī)模,降低參數(shù)量。改進(jìn)的YOLOv4-GhostNet模型更適用于配置在普通算力的設(shè)備上,進(jìn)行水稻病蟲(chóng)害的精準(zhǔn)檢測(cè)。
2.4 不同數(shù)據(jù)集與不同數(shù)據(jù)類別對(duì)改進(jìn)的YOLOv4-GhostNet模型檢測(cè)效果的影響
在分析不同數(shù)據(jù)集對(duì)改進(jìn)的YOLOv4-GhostNet模型檢測(cè)效果影響的試驗(yàn)中,利用水稻病蟲(chóng)害數(shù)據(jù)集與其他研究者不同的研究方法和不同的數(shù)據(jù)集進(jìn)行對(duì)比,并分析水稻病蟲(chóng)害數(shù)據(jù)集自身的檢測(cè)數(shù)量、檢測(cè)類別對(duì)改進(jìn)的模型的影響,數(shù)據(jù)如表8所示。
文獻(xiàn)[28]和文獻(xiàn)[15]分別使用植物幼苗數(shù)據(jù)集和室內(nèi)場(chǎng)景數(shù)據(jù)集對(duì)2種模型進(jìn)行了評(píng)估,平均檢測(cè)精度( mAP 值)均接近80%,與YOLOv4模型相比,YOLOv4-GhostNet模型和文獻(xiàn)中改進(jìn)的YOLOv4模型每秒傳輸幀數(shù)均獲得提升,但模型的權(quán)重大小降低幅度不明顯。本研究在使用PASCAL VOC數(shù)據(jù)集、水稻病害數(shù)據(jù)集、水稻蟲(chóng)害數(shù)據(jù)集和水稻病蟲(chóng)害數(shù)據(jù)集進(jìn)行對(duì)比檢測(cè)時(shí),在YOLOv4模型下獲得了較高的 mAP 值,使用改進(jìn)的模型后, mAP 值和 F 1值略有損失,但權(quán)重文件大小縮減為原來(lái)的1/6,且傳輸幀數(shù)有了近1 s 10幀的提升。
水稻病蟲(chóng)害數(shù)據(jù)集(6 054 張)相比于PASCAL VOC數(shù)據(jù)集(20 000 張)較小,檢測(cè)目標(biāo)物體圖像細(xì)節(jié)特征不明顯,導(dǎo)致 mAP 值下降。水稻病害、蟲(chóng)害數(shù)據(jù)集劃分訓(xùn)練與合并訓(xùn)練對(duì)改進(jìn)的YOLOv4-GhostNet模型的各類評(píng)價(jià)指標(biāo)均無(wú)較大影響,說(shuō)明該模型對(duì)水稻病蟲(chóng)害檢測(cè)具有較強(qiáng)的適應(yīng)性。
由表5可知,各檢測(cè)網(wǎng)絡(luò)對(duì)稻曲病、稻蝗、稻棘緣蝽等病蟲(chóng)害的檢測(cè)效果較好。這類病蟲(chóng)害圖像特征表現(xiàn)為檢測(cè)目標(biāo)體積大、密度小、重疊少、種類單一、與背景清晰分離,且數(shù)據(jù)集制作時(shí)標(biāo)注清晰明確,人為誤差較小。而對(duì)于稻飛虱、水稻細(xì)菌性條斑病、白葉枯病等病蟲(chóng)害的檢測(cè)效果略差。原因?yàn)槠鋱D像特征表現(xiàn)為檢測(cè)目標(biāo)小、數(shù)量大、密度高,在進(jìn)行圖像特征提取時(shí),有效特征數(shù)據(jù)被縮減。同時(shí)在輕量化網(wǎng)絡(luò)構(gòu)建時(shí),由于縮減了網(wǎng)絡(luò)參數(shù)進(jìn)而導(dǎo)致細(xì)小目標(biāo)的特征被模糊化,導(dǎo)致檢測(cè) AP 值下降。為降低網(wǎng)絡(luò)輕量化與人為標(biāo)注時(shí)產(chǎn)生的誤差,本研究在對(duì)該類目標(biāo)進(jìn)行數(shù)據(jù)標(biāo)注時(shí)采用了成組標(biāo)注法,即對(duì)待檢測(cè)目標(biāo)進(jìn)行區(qū)域性標(biāo)注,使得單個(gè)目標(biāo)檢測(cè)框中的目標(biāo)數(shù)量增加,降低有效特征被裁剪的概率,有利于提升目標(biāo)檢測(cè)的準(zhǔn)確性,減少人為標(biāo)注誤差帶來(lái)的不良結(jié)果。
3 結(jié) 論
本研究用構(gòu)建的GhostNet結(jié)構(gòu)替換YOLOv4目標(biāo)檢測(cè)模型中的主干特征提取網(wǎng)絡(luò)CSPDarkNet53,對(duì)水稻病蟲(chóng)害進(jìn)行特征提取。利用深度可分離卷積代替普通卷積,改進(jìn)了PANet特征金字塔。結(jié)合遷移學(xué)習(xí)與YOLOv4網(wǎng)絡(luò)的訓(xùn)練技巧,對(duì)YOLOv4-GhostNet水稻病蟲(chóng)害網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練。改進(jìn)的YOLOv4-GhostNet模型平均精確度達(dá)到79.38%,檢測(cè)速度為1 s 34.51 幀,模型權(quán)重大小縮減為42.45 MB,在降低參數(shù)量和計(jì)算量的同時(shí),增加了特征表達(dá)能力,提升了水稻病蟲(chóng)害檢測(cè)的性能,輕量便捷。與Faster-RCNN系列、SSD系列和YOLOv4及其MobileNet系列輕量化模型相比,改進(jìn)的YOLOv4-GhostNet模型各項(xiàng)性能具有較高的水平和較強(qiáng)的魯棒性,為水稻病蟲(chóng)害目標(biāo)檢測(cè)的具體應(yīng)用提供了新思路與新方向。
參考文獻(xiàn):
[1] 商世吉,楊立群,趙庸洛,等. 水稻品種抗稻瘟病性鑒定方法的研究[J].東北農(nóng)學(xué)院學(xué)報(bào),1989(4):321-326.
[2] 張亞玲,周萬(wàn)福,靳學(xué)慧. 黑龍江省稻瘟病菌與水稻品種的互作分析[J].東北農(nóng)業(yè)大學(xué)學(xué)報(bào),2011,42(1):28-33.
[3] 張 武,黃 帥,汪京京,等. 復(fù)雜背景下小麥葉部病害圖像分割方法研究[J].計(jì)算機(jī)工程與科學(xué),2015,37(7):1349-1354.
[4] 馬 媛,馮 全,楊 梅. 基于HOG的釀酒葡萄葉檢測(cè)[J].計(jì)算機(jī)工程與應(yīng)用,2016,52(15):158-161.
[5] 鮑文霞,邱 翔,胡根生,等. 基于橢圓型度量學(xué)習(xí)空間變換的水稻蟲(chóng)害識(shí)別[J].華南理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2020,48(10):136-144.
[6] 王映龍,戴香糧. 圖像處理技術(shù)在水稻蟲(chóng)害系統(tǒng)中的應(yīng)用[J].微計(jì)算機(jī)信息,2007(26):274-275,256.
[7] XIA C, LEE J M , LI Y ,et al. Plant leaf detection using modified active shape models[J]. Biosystems Engineering, 2013,116(1):23-35.
[8] YE M, CAO Z, YU Z , et al. Crop feature extraction from images with probabilistic superpixel Markov random field[J]. Computer & Electronics in Agriculture, 2015, 114:247-260.
[9] MOHANTY S P, HUGHES D P, MARCEL S. Using deep learning for image-based plant disease detection[J]. Frontiers in Plant Science, 2016,7: 14-19.
[10] FERENTINOS K P. Deep learning models for plant disease detection and diagnosis[J]. Computers and Electronics in Agriculture, 2018,145:311-318.
[11] 房若民,沈凱文,李浩偉. MobileNet算法的嵌入式農(nóng)業(yè)病蟲(chóng)害識(shí)別系統(tǒng)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2020,20(5):61-63.
[12] 燕 斌,周 鵬,嚴(yán) 利. 基于遷移學(xué)習(xí)的小樣本農(nóng)作物病害識(shí)別[J]. 現(xiàn)代農(nóng)業(yè)科技,2019(6):87-89.
[13] 楊國(guó)國(guó),鮑一丹,劉子毅. 基于圖像顯著性分析與卷積神經(jīng)網(wǎng)絡(luò)的茶園害蟲(chóng)定位與識(shí)別[J].農(nóng)業(yè)工程學(xué)報(bào),2017,33(6):156-162.
[14] 張?zhí)諏?,陳恩慶,肖文福. 一種改進(jìn)MobileNet_YOLOv3網(wǎng)絡(luò)的快速目標(biāo)檢測(cè)方法[J].小型微型計(jì)算機(jī)系統(tǒng),2021,42(5):1008-1014.
[15] 李維剛,楊 潮,蔣 林,等. 基于改進(jìn)YOLOv4算法的室內(nèi)場(chǎng)景目標(biāo)檢測(cè)[J].激光與光電子學(xué)進(jìn)展,2022,59(18):1-19.
[16] 曹遠(yuǎn)杰,高瑜翔. 基于GhostNet殘差結(jié)構(gòu)的輕量化飲料識(shí)別網(wǎng)絡(luò)[J].計(jì)算機(jī)工程,2022,48(3):310-314.
[17] 張官榮,陳 相,趙 玉,等. 面向小目標(biāo)檢測(cè)的輕量化 YOLOv3算法[J].激光與光電子學(xué)進(jìn)展, 2022,59(16):1-13.
[18] 董藝威,于 津. 基于SqueezeNet的輕量化卷積神經(jīng)網(wǎng)絡(luò)SlimNet[J].計(jì)算機(jī)應(yīng)用與軟件,2018,35(11):226-232.
[19] 劉超軍,段喜萍,謝寶文. 應(yīng)用GhostNet卷積特征的ECO目標(biāo)跟蹤算法改進(jìn)[J].激光技術(shù),2022,46(2):239-247.
[20] EVERINGHAM M, GOOL L V, WILLIAMS C, et al. The pascal visual object classes (VOC) challenge[J]. International Journal of Computer Vision, 2010, 88(2):303-338.
[21]WANG C Y, MARK LIAO H Y, WU Y H, et al. CSPNet: a new backbone that can enhance learning capability of CNN[C]//IEEE. 2020 IEEE/CVF conference on computer vision and pattern recognition workshops (CVPRW). Seattle, WA, USA: IEEE Press, 2020: 1571-1580.
[22] 周睿璇,汪俊霖,孫 宏,等. 一種改進(jìn)YOLO v3的貨車(chē)車(chē)輪檢測(cè)算法[J].山西電子技術(shù),2021(4):37-40.
[23] HE K, ZHANG X, REN S, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(9): 1904-1916.
[24] LIU S, QI L, QIN H, et al. Path aggregation network for instance segmentation[C]//IEEE. 2018 IEEE conference on computer vision and pattern recognition. Salt Lake City, UT, USA:IEEE Press, 2018: 8759-8768.
[25] LIN T Y, DOLLAR P, GIRSHICK R, et al. Feature pyramid networks for object detection[C]//IEEE. 2017 IEEE conference on computer vision and pattern recognition. Honolulu, HI, USA. IEEE Press, 2017: 936-944.
[26] 張 娜,賀興時(shí). 基于模擬退火的自適應(yīng)正余弦算法[J].紡織高校基礎(chǔ)科學(xué)學(xué)報(bào),2021,34(1):84-90.
[27] HAN K, WANG Y, TIAN Q, et al. Ghostnet: More features from cheap operations[C]//IEEE. Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington, USA:IEEE Press, 2020: 1580-1589.
[28] 李文婧,徐國(guó)偉,孔維剛,等. 基于改進(jìn)YOLOv4的植物葉莖交點(diǎn)目標(biāo)檢測(cè)研究[J].計(jì)算機(jī)工程與應(yīng)用,2022,58(4):221-228.
(責(zé)任編輯:張震林)
收稿日期:2021-12-09
基金項(xiàng)目:國(guó)家級(jí)大學(xué)生創(chuàng)新訓(xùn)練計(jì)劃項(xiàng)目(41111214)
作者簡(jiǎn)介:周 維(2001-),女,吉林長(zhǎng)春人,本科,研究方向?yàn)橛?jì)算機(jī)視覺(jué)與病蟲(chóng)害目標(biāo)檢測(cè)。(E-mail)xingan_cangshu@nefu.edu.cn
通訊作者:李 丹,(E-mail)ld725725@126.com