









摘要:為實(shí)現(xiàn)自然環(huán)境下硬核期葡萄簇的快速精準(zhǔn)檢測,提出一種改進(jìn)的YOLOv5s網(wǎng)絡(luò)。首先,將YOLOv5s主干特征提取網(wǎng)絡(luò)和加強(qiáng)特征提取網(wǎng)絡(luò)中的卷積模塊(Conv)替換為擁有更強(qiáng)特征提取能力的RepConv模塊;然后,將YOLOv5s主干特征提取網(wǎng)絡(luò)中C3結(jié)構(gòu)的BottleNeck也替換為RepConv模塊;接下來,將高效通道注意力模塊(ECA)添加到Y(jié)OLOv5s加強(qiáng)特征提取網(wǎng)絡(luò)中的C3結(jié)構(gòu);最后,將YOLOv5s卷積模塊中的激活函數(shù)SiLU改為ReLU6。試驗(yàn)結(jié)果表明,改進(jìn)YOLOv5s網(wǎng)絡(luò)對葡萄簇檢測的精確率為96.5%、召回率為94.5%、平均精度均值為98.0%、檢測速度為260 f/s。相比Faster R-CNN、SSD、RetinaNet、YOLOv3(Ultralytics)、YOLOXs和YOLOv5s,其平均精度均值分別高10.4、44.1、13.9、0.2、8.9和1.0個百分點(diǎn)。提出的改進(jìn)網(wǎng)絡(luò)能夠較好地檢測自然環(huán)境下模糊、遮擋、簇粘連、不完整、昏暗及逆光等各種狀態(tài)的硬核期葡萄簇,且方便在移動設(shè)備上部署。
關(guān)鍵詞:葡萄簇;目標(biāo)檢測;YOLOv5s算法;重參數(shù)化;注意力機(jī)制
中圖分類號:TP391.4" " " 文獻(xiàn)標(biāo)識碼:A" " " 文章編號:2095?5553 (2024) 08?0240?06
Detection of grape cluster in stone hardening stage based on improved YOLOv5s
Feng Xiao1, 2, Zhang Hui1, 2, Liu Yunchao3, Zhang Wei1, 2, Li Xiaohong1, 2, Ma Zhongjie1, 2
(1. Institute of Agricultural Economy and Information, Henan Academy of Agricultural Sciences, Zhengzhou, 450002, China; 2. Key Laboratory of Huang?Huai?Hai Smart Agricultural Technology, Ministry of Agriculture and Rural Affairs, Zhengzhou, 450002, China; 3. School of Physics Science and Information Technology, Liaocheng University, Liaocheng, 252000, China)
Abstract: In order to realize the rapid and accurate detection of stone hardening stage grape clusters in the natural environment, an improved YOLOv5s network was proposed. Firstly, the convolutional module (Conv) in the backbone feature extraction network and the enhanced feature extraction network of YOLOv5s was replaced by the RepConv module with stronger feature extraction capabilities." Secondly, the BottleNeck in the C3 structure of the backbone feature extraction network of YOLOv5s was also replaced by the RepConv module. Thirdly, the Efficient Channel Attention (ECA) module was added to the C3 structure of the enhanced feature extraction network of YOLOv5s." Finally, the activation function SiLU in the convolutional module of YOLOv5s was changed to ReLU6. The experimental results showed that the precision of the improved YOLOv5s network for grape cluster detection was 96.5%, the recall rate was 94.5%, the mean average precision was 98.0%, and the detection speed was 260 f/s. Compared with Faster R-CNN, SSD, RetinaNet, YOLOv3 (Ultralytics), YOLOXs and YOLOv5s, the mean average precision of the improved YOLOv5s was 10.4, 44.1, 13.9, 0.2, 8.9 and 1.0 percentage points higher, respectively. The improved network proposed in this paper can effectively detect stone hardening stage grape clusters in various states, such as blur, occlusion, cluster adhesion, incompleteness, dimness, and backlight in the natural environment, and is easy to deploy on mobile devices.
Keywords: grape cluster; object detection; YOLOv5s algorithm; re?parameterization; attention mechanism
0 引言
葡萄產(chǎn)業(yè)是我國許多地方發(fā)展特色農(nóng)產(chǎn)品的支柱產(chǎn)業(yè),提高其生產(chǎn)過程的機(jī)械化、智能化對于提高生產(chǎn)效率、提升果實(shí)品質(zhì)具有重要作用,是當(dāng)前葡萄產(chǎn)業(yè)發(fā)展的趨勢[1?3]。硬核期是葡萄果粒由急速生長膨大向內(nèi)涵物質(zhì)充實(shí)的過渡期,果粒大小基本不變,利用機(jī)器視覺技術(shù)精準(zhǔn)檢測硬核期葡萄簇生長情況,對于早期估產(chǎn)以及指導(dǎo)機(jī)器人疏果等工作具有重要意義。
近年來,深度學(xué)習(xí)技術(shù)在圖像目標(biāo)檢測領(lǐng)域的研究不斷取得突破,相關(guān)算法主要分為兩類,一類是two?stage算法,即先定位,再識別,主要有RCNN系列;另一類是one?stage算法,通過卷積神經(jīng)網(wǎng)絡(luò)提取特征后同時(shí)完成定位和分類任務(wù),具有算法速度快、模型小、適合移動端部署的優(yōu)點(diǎn),如YOLO系列和SSD系列。YOLO系列一直保持著較高的更新率,在目標(biāo)檢測領(lǐng)域得到廣泛應(yīng)用,許多學(xué)者應(yīng)用或改進(jìn)YOLO系列網(wǎng)絡(luò)對作物果實(shí)進(jìn)行檢測,獲得了較好的效果。Wang等[4]提出了一種改進(jìn)YOLOv4的輕量級模型檢測李子,減小了模型參數(shù),提升了推理速度,平均精度均值達(dá)88.56%,優(yōu)于YOLOv4及MobileNet-SSD。王卓等[5]提出了一種改進(jìn)YOLOv4的輕量化蘋果目標(biāo)檢測模型,在保證檢測精度的同時(shí),縮小了模型大小。張三林等[6]采用YOLOv5、YOLOv3、YOLOv4和Faster R-CNN進(jìn)行核桃品種的識別與定位,結(jié)果表明YOLOv5在檢測精度、推理速度和模型大小上相比其他3個模型優(yōu)勢明顯。黃彤鑌等[7]通過引入注意力機(jī)制并替換損失函數(shù)的方式改進(jìn)YOLOv5,用于自然環(huán)境下柑橘果實(shí)檢測,與Faster R-CNN相比,平均精度高1個百分點(diǎn),且推理速度和模型大小有明顯優(yōu)勢。
利用深度學(xué)習(xí)算法檢測葡萄簇的已有研究多集中于對成熟期近景大葡萄簇的檢測,葡萄簇大且顏色為非綠色,與葡萄葉區(qū)分度大,針對復(fù)雜自然環(huán)境下采集的包含近景和遠(yuǎn)景的非成熟期綠色葡萄簇檢測的相關(guān)研究較少。陽光玫瑰葡萄深受消費(fèi)者及種植戶喜愛,近年來發(fā)展迅猛,逐漸成為我國主流葡萄品種。
鑒于以上原因,本文基于YOLO系列應(yīng)用廣泛的YOLOv5網(wǎng)絡(luò)進(jìn)行自然場景下硬核期陽光玫瑰葡萄圖像中葡萄簇的檢測,并通過引入RepConv模塊、添加高效通道注意力(ECA)模塊以及更換激活函數(shù)為ReLU6的方法改進(jìn)YOLOv5s,進(jìn)一步提高網(wǎng)絡(luò)的平均精度均值,為葡萄早期估產(chǎn)及機(jī)器人自動疏果提供研究基礎(chǔ)。
1 材料與方法
1.1 圖像采集及預(yù)處理
試驗(yàn)圖像樣本來源于河南新鄉(xiāng)市平原新區(qū)河南省農(nóng)業(yè)科學(xué)院現(xiàn)代農(nóng)業(yè)科技試驗(yàn)示范基地溫室內(nèi)處于硬核期的陽光玫瑰葡萄,葡萄采用T型棚架模式栽培,葡萄架距離地面2.8 m高。采集日期為2022年6月21日,使用華為手機(jī)于上午、下午共拍攝視頻20個,不同視頻拍攝時(shí)傾斜角度不固定。將視頻每10幀抽取一幅圖像,去除無葡萄簇以及質(zhì)量過差人眼無法分辨出葡萄簇的圖像,共獲得1 707幅有效圖像。圖像格式為JPG,尺寸為1 920像素×1 080像素。圖像中葡萄簇存在大小差異較大、模糊、遮擋、簇粘連、不完整、昏暗或逆光等情況,樣本圖像如圖1所示。采用LabelImg對圖像中葡萄簇進(jìn)行標(biāo)注,并保存為PASCAL VOC格式。隨機(jī)劃分出訓(xùn)練集1 191幅、驗(yàn)證集363幅和測試集153幅。
1.2 YOLOv5s網(wǎng)絡(luò)結(jié)構(gòu)
YOLOv5s網(wǎng)絡(luò)結(jié)構(gòu)由輸入端(Input)、主干特征提取網(wǎng)絡(luò)(Backbone)、加強(qiáng)特征提取網(wǎng)絡(luò)(Neck)和用于獲得目標(biāo)種類和位置的檢測頭(Head)共4部分組成,如圖2所示。Backbone部分的第1層通過采用1個6×6的卷積層替代早期的Focus模塊,保證模型效果的同時(shí)提升了運(yùn)算速度。Backbone和Neck的卷積塊中采用SiLU激活函數(shù),可避免梯度彌散消失,同時(shí)具有一定的正則效果。采用C3結(jié)構(gòu)替代早期的CSP結(jié)構(gòu),減少1個卷積層,不再對通道層做分離,直接對全部特征進(jìn)行卷積,在保證精度的前提下提升了運(yùn)算速度。C3中的BottleNeck如圖2所示有2種結(jié)構(gòu),Backbone中的C3采用了BottleNeck1,Neck中的C3采用了BottleNeck2。采用SPPF替代早期的SPP,并將SPPF放在Backbone的最后一層。SPPF將3個并行的MaxPool改為串行,并且kernel_size一樣,使得在保證不損失檢測精度的同時(shí),減少運(yùn)算參數(shù)量,性能比SPP提升1倍以上。Neck部分實(shí)現(xiàn)了對不同尺度特征的混合與組合,增強(qiáng)了網(wǎng)絡(luò)的魯棒性,提升了目標(biāo)檢測能力。
訓(xùn)練使用了豐富的數(shù)據(jù)增強(qiáng)策略以提高模型的泛化能力,例如Mosaic、Mixup、CopyPaste等。本試驗(yàn)采用模型默認(rèn)的數(shù)據(jù)增強(qiáng)策略,其中包括圖3所示的Mosaic數(shù)據(jù)增強(qiáng),其通過隨機(jī)選取4幅圖像,進(jìn)行隨機(jī)縮放、隨機(jī)排布、隨機(jī)剪裁等操作后拼接到一起提升網(wǎng)絡(luò)對小目標(biāo)的檢測能力。另外,將自適應(yīng)錨框計(jì)算嵌入到模型訓(xùn)練過程,實(shí)現(xiàn)訓(xùn)練集中最佳錨框值的自適應(yīng)計(jì)算。推理時(shí),采用自適應(yīng)圖像縮放以減少計(jì)算量,從而提升模型的推理速度。
1.3 改進(jìn)網(wǎng)絡(luò)
對YOLOv5s的改進(jìn)包括4部分,一是采用圖4所示的RepConv模塊替換YOLOv5s主干特征提取網(wǎng)絡(luò)和加強(qiáng)特征提取網(wǎng)絡(luò)中的Conv,二是采用RepConv模塊替換YOLOv5s主干特征提取網(wǎng)絡(luò)中C3結(jié)構(gòu)中的BottleNeck;三是將ECA模塊添加到Y(jié)OLOv5s加強(qiáng)特征提取網(wǎng)絡(luò)中的C3結(jié)構(gòu)中;四是將卷積模塊中的激活函數(shù)由SiLU改為ReLU6。改進(jìn)后的網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。
RepConv模塊借鑒了Ding等[8]提出的結(jié)構(gòu)重參數(shù)化技術(shù)以及Vasu等[9]提出的MobileOne。RepConv模塊通過結(jié)構(gòu)重參數(shù)化技術(shù),將訓(xùn)練時(shí)采用的多分支結(jié)構(gòu)在推理時(shí)融合成單分支結(jié)構(gòu)。圖4左側(cè)是訓(xùn)練時(shí)采用的多分支結(jié)構(gòu),比單分支結(jié)構(gòu)擁有更好的特征提取能力;右側(cè)是推理時(shí)采用的單分支結(jié)構(gòu),使得推理時(shí)相比多分支結(jié)構(gòu)擁有更快的速度。
ECA模塊能對輸入特征圖進(jìn)行通道特征加強(qiáng),且輸出時(shí)不改變輸入特征圖大小。其通過一維卷積有效實(shí)現(xiàn)不降維局部跨信道交互策略,并采用了自適應(yīng)選擇一維卷積核大小方法確定局部跨信道交互覆蓋率。該模塊避免了降維帶來副作用,在幾乎不增加復(fù)雜度和計(jì)算負(fù)擔(dān)情況下獲得性能提升。
2 試驗(yàn)結(jié)果與分析
2.1 試驗(yàn)環(huán)境
試驗(yàn)用計(jì)算機(jī)平臺的操作系統(tǒng)為Ubuntu22.04 LTS,處理器為酷睿i7-12700,內(nèi)存64 GB,顯卡為GeForce RTX 4090,顯存24 GB。采用的編程語言為Python3.8,深度學(xué)習(xí)框架為Pytorch2.0,編程環(huán)境為Pycharm,Cuda版本為12.0。模型訓(xùn)練前對模型參數(shù)進(jìn)行隨機(jī)初始化。模型訓(xùn)練時(shí),輸入圖像被調(diào)整為640像素×640像素,迭代次數(shù)epoch設(shè)置為300,一次訓(xùn)練選取的樣本數(shù)batch_size設(shè)置為16,學(xué)習(xí)率和優(yōu)化器等參數(shù)均使用官方默認(rèn)值。
2.2 模型評價(jià)指標(biāo)
為評價(jià)網(wǎng)絡(luò)結(jié)構(gòu)檢測硬核期葡萄簇的綜合性能,選取精確率(Precision,P)、召回率(Recall,R)、平均精度均值(mean Average Precision,mAP@0.5)、檢測速度(Frames Per Second,F(xiàn)PS)和模型大小作為評價(jià)指標(biāo)。
2.3 YOLOv5不同版本模型對比
表1為YOLOv5的5個不同版本(YOLOv5n、 YOLOv5s、YOLOv5m、YOLOv5l和YOLOv5x)模型對硬核期葡萄簇檢測的性能。從表1中可以看出,YOLOv5s的精確率最高,達(dá)到96.8%;YOLOv5x的召回率最高,達(dá)到93.6%;YOLOv5s的平均精度均值最高,達(dá)到97.0%。另外,隨著模型規(guī)模增大,檢測速度呈降低趨勢。綜合考慮,5個YOLOv5版本中,YOLOv5s綜合性能最優(yōu),盡管其平均精度均值達(dá)到了97.0%,但仍存在不少漏標(biāo)、誤檢情況,為此,本文通過改進(jìn)YOLOv5s以進(jìn)一步提升模型檢測效果。
2.4 網(wǎng)絡(luò)改進(jìn)策略效果分析
為評價(jià)本文1.3中所述的RepConv模塊、ECA模塊以及激活函數(shù)ReLU6改進(jìn)YOLOv5s對葡萄簇檢測的效果,進(jìn)行改進(jìn)策略對比試驗(yàn),如表2所示。表2中“√”表示改進(jìn),“-”表示未改進(jìn)。從表2可以看出,僅采用RepConv模塊優(yōu)化YOLOv5s,平均精度均值從97.0%提升到了97.7%,提升效果顯著,且檢測速度也有2 f/s的提升,但模型增大了7.2 MB。這表明,RepConv模塊相對于傳統(tǒng)卷積模塊,特征提取能力更強(qiáng)。僅采用ECA模塊優(yōu)化YOLOv5s,可在損失一點(diǎn)檢測速度的情況下,平均精度均值提升0.1個百分點(diǎn)。僅替換激活函數(shù)平均精度均值和檢測速度均有一點(diǎn)下降。同時(shí)引入RepConv和ECA相比單獨(dú)引入RepConv,平均精度均值又提升了0.1個百分點(diǎn)。同時(shí)采用3種改進(jìn)策略相比同時(shí)引入RepConv和ECA,平均精度均值再次提升0.2個百分點(diǎn)。綜合以上分析,同時(shí)引入3種改進(jìn)策略平均精度均值相比YOLOv5s獲取了從97.0%到98.0%大幅度提升,盡管模型大小有所增大,但并不影響在移動設(shè)備上部署的需求,是表2中最優(yōu)的改進(jìn)策略。
2.5 不同網(wǎng)絡(luò)模型對比試驗(yàn)
為驗(yàn)證改進(jìn)YOLOv5s的效果,使用測試集對改進(jìn)YOLOv5s與Faster R-CNN、SSD、RetinaNet、YOLOv3(Ultralytics)、YOLOXs和YOLOv5s的檢測效果進(jìn)行對比,結(jié)果如表3所示。改進(jìn)YOLOv5s的平均精度均值最高,檢測速度相比YOLOv5s雖有小幅度下降,但遠(yuǎn)高于其他模型。綜合表2和表3分析,改進(jìn)YOLOv5s實(shí)現(xiàn)了檢測精度、檢測速度和模型大小的平衡,適合在嵌入式平臺上部署,相比其他幾種網(wǎng)絡(luò)模型更具優(yōu)勢。
2.6 葡萄簇檢測效果分析
圖6為同時(shí)引入3種改進(jìn)策略的改進(jìn)YOLOv5s對葡萄簇的檢測效果。2個網(wǎng)絡(luò)對葡萄簇的檢測效果整體均表現(xiàn)較好,改進(jìn)YOLOv5s檢測效果更優(yōu)。圖6左列圖像有10簇葡萄,右列圖像有5簇葡萄,改進(jìn)YOLOv5s均全部檢出;而YOLOv5s未檢出左列圖像左下角被遮擋的葡萄簇(藍(lán)色圓框內(nèi)),誤將右列圖像右下角的葡萄葉片識別為葡萄簇(藍(lán)色圓框內(nèi))。
分析改進(jìn)YOLOv5s對153幅測試集中各種狀態(tài)葡萄簇的檢測效果,發(fā)現(xiàn)其對完整的大葡萄簇以及完整且清晰的小葡萄簇能夠全部檢出;對模糊、昏暗或逆光、不完整、被遮擋、目標(biāo)很小等多種不利狀態(tài)同時(shí)具備的葡萄簇存在少量漏檢。圖像邊緣處,光線明暗交錯的多葉片匯交處以及葉片和枝蔓交錯處偶爾出現(xiàn)誤檢情況。另外,遠(yuǎn)景中的卷曲葉片也有被誤檢為葡萄簇的情況,圖7為改進(jìn)YOLOv5s對葡萄簇檢測結(jié)果示例,其中漏檢和誤檢處用藍(lán)色圓框標(biāo)識。
3 結(jié)論
1) 為實(shí)現(xiàn)自然環(huán)境下硬核期陽光玫瑰葡萄簇的快速精準(zhǔn)檢測,本文提出一種基于重參數(shù)化及注意力機(jī)制改進(jìn)YOLOv5s的網(wǎng)絡(luò)結(jié)構(gòu)。改進(jìn)后的網(wǎng)絡(luò)平均精度均值為98.0%,檢測速度為260 f/s,模型大小為20.8 MB,相比YOLOv5s,盡管模型大小有一定的增加,但平均精度均值在97%的基礎(chǔ)上獲得1.0個百分點(diǎn)的提升,大幅提高模型的檢測效果。
2) 本文通過引入RepConv模塊、ECA模塊以及更換激活函數(shù)為ReLU6的方式改進(jìn)YOLOv5s。其中,RepConv對主干特征提取網(wǎng)絡(luò)和加強(qiáng)特征提取網(wǎng)絡(luò)均進(jìn)行改進(jìn),在不影響移動設(shè)備部署的前提下,以增大模型大小為代價(jià),提升對自然環(huán)境下硬核期陽光玫瑰葡萄簇檢測的平均精度均值。引入RepConv在優(yōu)化后模型性能提升上起到關(guān)鍵作用。
3) 考慮到改進(jìn)YOLOv5s對自然環(huán)境下昏暗或逆光圖像易出現(xiàn)漏檢和誤檢的問題,可進(jìn)一步考慮通過圖像增強(qiáng)技術(shù)改善圖像質(zhì)量,以提升模型檢測效果。本試驗(yàn)用圖像樣本來源于同一地點(diǎn),今后將采集更多圖像及視頻樣本建模,為利用圖像或視頻進(jìn)行葡萄簇檢測、計(jì)數(shù)及估產(chǎn)等工作提供支撐。
參 考 文 獻(xiàn)
[ 1 ] 彭紅星, 徐慧明, 劉華鼐. 融合雙分支特征和注意力機(jī)制的葡萄病蟲害識別模型[J]. 農(nóng)業(yè)工程學(xué)報(bào), 2022, 38(10): 156-165.
Peng Hongxing, Xu Huiming, Liu Huanai. Model for" identifying grape pests and diseases based on two?branch feature fusion and attention mechanism [J]. Transactions of the Chinese Society of Agricultural Engineering, 2022, 38(10): 156-165.
[ 2 ] 蔡文龍, 周艷, 賈首星, 等. 基于AMESim葡萄修剪機(jī)液壓系統(tǒng)設(shè)計(jì)與仿真分析[J]. 中國農(nóng)機(jī)化學(xué)報(bào), 2020, 41(10): 41-47.
Cai Wenlong, Zhou Yan, Jia Shouxing, et al. Design and" simulation analysis on hydraulic system of grape trimmer based on AMESim [J]. Journal of Chinese Agricultural Mechanization, 2020, 41(10): 41-47.
[ 3 ] 張佳喜, 黃濤, 王茂博. 單馬達(dá)往復(fù)式葡萄剪枝機(jī)設(shè)計(jì)與試驗(yàn)[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào), 2021, 52(8): 106-116.
Zhang Jiaxi, Huang Tao, Wang Maobo. Design and experiment of single motor reciprocating grape pruning machine [J]. Transactions of the Chinese Society for Agricultural Machinery, 2021, 52(8): 106-116.
[ 4 ] Wang L, Zhao Y, Liu S, et al. Precision detection of dense plums in orchards using the improved YOLOv4 model [J]. Frontiers in Plant Science, 2022, 13: 839269.
[ 5 ] 王卓, 王健, 王梟雄, 等. 基于改進(jìn)YOLOv4的自然環(huán)境蘋果輕量級檢測方法[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào), 2022, 53(8): 294-302.
Wang Zhuo, Wang Jian, Wang Xiaoxiong, et al. Lightweight real?time apple detection method based on improved YOLOv4 [J]. Transactions of the Chinese Society for Agricultural Machinery, 2022, 53(8): 294-302.
[ 6 ] 張三林, 張立萍, 鄭威強(qiáng), 等. 基于YOLOv5的核桃品種識別與定位[J]. 中國農(nóng)機(jī)化學(xué)報(bào), 2022, 43(7): 167-172.
Zhang Sanlin, Zhang Liping, Zheng Weiqiang, et al. Identification and localization of walnut varieties based on YOLOv5 [J]. Journal of Chinese Agricultural Mechanization, 2022, 43(7): 167-172.
[ 7 ] 黃彤鑌, 黃河清, 李震, 等. 基于YOLOv5改進(jìn)模型的柑橘果實(shí)識別方法[J]. 華中農(nóng)業(yè)大學(xué)學(xué)報(bào), 2022, 41(4): 170-177.
[ 8 ] Ding X, Zhang X, Ma N, et al. RepvVGG: Making VGG?style convnets great again [C]. Proceedings of the" IEEE/CVF Conference on Computer Vision and Pattern" Recognition, 2021: 13733-13742.
[ 9 ] Vasu P K A, Gabriel J, Zhu J, et al. MobileOne: An improved one millisecond mobile backbone [J]. Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2023: 7907-7917.