摘要:花椒簇的自動化采摘是實現(xiàn)花椒智能化生產(chǎn)、降低生產(chǎn)成本的重要部分,花椒簇在自動化采摘時快速準(zhǔn)確檢測是其重要前提。以花椒簇為研究對象,提出一種基于YOLOv5s的輕量化花椒簇檢測模型GGL—YOLO。首先,在GhostNet淺層添加SE注意力機(jī)制,并且刪除GhostNet較深的冗余層,用優(yōu)化后的GhostNet作為YOLOv5s的主干;其次,在模型的頸部采用更加輕量的GSConv卷積方法和C2f模塊;最后,在P3、P4、P5特征圖輸出層使用動態(tài)感受野的方法。結(jié)果表明,GGL—YOLO模型相比于YOLOv5s模型,平均精確度均值mAP提升1.5%、參數(shù)量降低58.6%、浮點(diǎn)運(yùn)算數(shù)FLOPs降低66.7%,檢測速度提高13.2%。該模型對花椒簇檢測準(zhǔn)確度高、速度快、參數(shù)量低,具有可行性。
關(guān)鍵詞:花椒簇;目標(biāo)檢測;YOLOv5;輕量化;深度學(xué)習(xí)
中圖分類號:S573+.9; TP391.4" " " 文獻(xiàn)標(biāo)識碼:A" " " 文章編號:2095?5553 (2025) 04?0120?06
Research on prickly ash cluster detection based on lightweight YOLO model
Ding Zhanbo, Xu Jian, Zhu Yaolin, Zhang Yongjin, Liu Chenyu
(School of Electronics and Information, Xi'an Polytechnic University, Xi'an, 710048, China)
Abstract: The automation of prickly ash cluster harvesting is a crucial step towards achieving intelligent production of prickly ash and reducing production costs. Accurate and efficient detection of prickly ash clustersis an important prerequisite for automated harvesting systems. This study introduces a lightweight prickly ash cluster detection model, GGL—YOLO, based on YOLOv5s, specifically designed for this task. The model incorporates several enhancements. First, the SE attention mechanism is integrated into the shallow layers of GhostNet, while its redundant deeper layers are removed, resulting in an optimized GhostNet serving as the YOLOv5s backbone. Second, the neck of the model is improved by introducing a lighter GSConv convolution method and the C2f module. Finally, a dynamic receptive field is applied to the P3, P4, and P5 feature map outputs. Experimental results show that, compared tothe YOLOv5s model, the GGL—YOLO model achieved a 1.5% increase in the mean average precision(mAP), a 58.6% reduction in parameter volume, a 66.7% reduction in FLOPs, and a 13.2% increase in detection speed. These results confirm that the GGL—YOLO model offers a feasible solution for the fast and accurate detection of prickly ash clusters, thereby advancing the automation of their harvesting process.
Keywords: prickly ash cluster; object detection; YOLOv5; lightweight; deep learning
0 引言
隨著計算機(jī)視覺和深度學(xué)習(xí)技術(shù)的飛速發(fā)展,果實識別、機(jī)器人自動采摘、果實產(chǎn)量預(yù)測等領(lǐng)域逐漸成為研究焦點(diǎn)?;ń反貦z測作為一項關(guān)鍵的農(nóng)業(yè)應(yīng)用技術(shù),對農(nóng)業(yè)生產(chǎn)的優(yōu)化和智能化至關(guān)重要。其中,對花椒簇進(jìn)行快速、準(zhǔn)確的檢測是實現(xiàn)自動化采摘的關(guān)鍵[1]。
傳統(tǒng)的目標(biāo)檢測算法通常需要先對花椒圖像進(jìn)行分割,去除背景信息,再提取尺度不變特征轉(zhuǎn)換[2]或方向梯度直方圖[3]等紋理特質(zhì),然后進(jìn)行目標(biāo)定位和識別。萬芳新等[4]提出一種采用色差法進(jìn)行圖像分割,并用膨脹腐蝕等去除非目標(biāo)花椒串果實,來實現(xiàn)花椒果實的識別和定位。齊銳麗等[5]提出一種基于HSV顏色空間與改進(jìn)的Otsu算法相結(jié)合的圖像分割方法,達(dá)到對花椒的識別。但由于實際采摘過程中背景復(fù)雜、花椒簇目標(biāo)大小不一、形狀變化大等因素,傳統(tǒng)的檢測算法對花椒簇的檢測效果差、魯棒性低。
近年來,基于深度學(xué)習(xí)的目標(biāo)檢測算法在農(nóng)業(yè)自動化領(lǐng)域得到廣泛的應(yīng)用,如橘子檢測[6]、棗檢測[7]、梨檢測[8]等。常用的深度學(xué)習(xí)檢測算法分為兩類,第一類是基于候選區(qū)域的目標(biāo)檢測算法,主要有R—CNN、Faster R—CNN、SPPNet等。另一類是基于回歸的目標(biāo)檢測算法,主要有YOLO系列和SSD系列等。YOLO算法在檢測速度和精度上具有較好的表現(xiàn),被廣泛應(yīng)用于農(nóng)作物檢測。楊前等[9]向YOLOv4目標(biāo)檢測網(wǎng)絡(luò)中加入枝干分割模塊,形成檢測—分割多任務(wù)網(wǎng)絡(luò)準(zhǔn)確檢測近景花椒。李光明等[10]使用ShuffleNet替換YOLOv5模型主干實現(xiàn)輕量化,完成對花椒簇的檢測。徐楊等[11]利用優(yōu)化后的EfficientViT網(wǎng)絡(luò)替換YOLOv5s的主干,減少模型參數(shù),增強(qiáng)模型對重要特征的表達(dá)能力,在模型大小與準(zhǔn)確率兼顧的情況下實現(xiàn)對花椒簇的檢測。目前研究表明,基于深度學(xué)習(xí)的檢測算法對不同環(huán)境下花椒簇檢測效果較好,但通常自動化采摘設(shè)備搭載的嵌入式設(shè)備計算性能有限,并且實際采摘過程中對檢測速度要求很高,現(xiàn)有的深度學(xué)習(xí)模型算法由于參數(shù)量大,計算復(fù)雜導(dǎo)致檢測速度低,很難部署到嵌入式設(shè)備中,因此,在保證檢測精度與速度的同時,減少模型的參數(shù)量和計算量是花椒簇檢測問題的難點(diǎn)。
本文以花椒簇為研究對象,提出基于改進(jìn)YOLOv5s模型的輕量化花椒簇檢測模型GGL—YOLO,針對花椒簇復(fù)雜的形態(tài)特征進(jìn)行識別與定位,以提高花椒簇識別精確率與識別速度,實現(xiàn)對花椒簇的快速檢測,為花椒簇的自動化采摘裝備搭建提供一定的支持。
1 材料與方法
1.1 數(shù)據(jù)集制作
以成熟的花椒簇為研究對象,花椒品種為大紅袍,圖像采集于甘肅省某種植園,采集設(shè)備為佳能700D相機(jī),分辨率為2 592像素×1 728像素,拍攝時間為2023年6月。為提高網(wǎng)絡(luò)模型的檢測精度和泛化能力,在不同距離、不同光照、不同位置條件下對花椒進(jìn)行實地拍照,共獲得成熟花椒簇圖像800張。對收集到的每張圖片隨機(jī)選擇鏡像翻轉(zhuǎn)、旋轉(zhuǎn)、改變亮度3種方式中的任意一種方式進(jìn)行變換擴(kuò)充,共得到1 600張圖片。之后使用LabelImg工具對收集到的花椒簇圖像用最小外接矩形框的方法進(jìn)行標(biāo)注,標(biāo)注后得到Y(jié)OLO數(shù)據(jù)格式的.txt標(biāo)注文件。將數(shù)據(jù)集按照8∶1∶1的比例隨機(jī)劃分為訓(xùn)練集、驗證集及測試集,其中訓(xùn)練集包含1 280張圖片,驗證集包含160張,測試集包含120張圖片。數(shù)據(jù)集部分圖像如圖1所示。
1.2 YOLO模型改進(jìn)
1.2.1 改進(jìn)GhostNet網(wǎng)絡(luò)
為壓縮原有YOLOv5s模型的大小,用改進(jìn)后的GhostNet網(wǎng)絡(luò)替換原有模型的主干。GhostNet是一種輕量級的深度學(xué)習(xí)網(wǎng)絡(luò),其創(chuàng)新之處在于Ghost模塊,Ghost模塊的卷積過程如圖2所示。首先,是一個普通卷積,接著,用普通卷積生成的特征圖進(jìn)行線性變換(計算量較少的)生成額外的Ghost特征圖,最后,把兩次生成的特征圖合并輸出,得到最終總的特征圖。Ghost模塊通過參數(shù)共享來減少模型參數(shù),同時通過共享權(quán)重的方式,不同卷積層可以相互交流信息,從而提高模型的表示能力。使其在圖像分類、目標(biāo)檢測和語義分割等任務(wù)中表現(xiàn)卓越[12]。
GhostNet采用輕量化G_bneck(Ghost bottleneck)模塊遵循MobileNetV3架構(gòu)來進(jìn)行設(shè)計的,一個G_bneck由兩個Ghost模塊堆疊而成,G_bneck結(jié)構(gòu)如圖3所示。SE模塊通過平均池化將輸入特征圖壓縮為一個一維向量,這個向量包含每個通道的全局信息,接著通過兩層全連接層,計算每個通道的重要性權(quán)重,并使用這些權(quán)重來重新加權(quán)原始特征圖的每個通道。SE注意力機(jī)制通過“擠壓”和“激發(fā)”兩個階段來學(xué)習(xí)并應(yīng)用通道權(quán)重,使得模型能夠自適應(yīng)地關(guān)注重要的特征通道,從而提高模型的性能和表達(dá)能力。
為獲取更多的梯度流信息,刪除原GhostNet較深的冗余層,在淺層添加SE注意力機(jī)制。具體改進(jìn)細(xì)節(jié)如圖4所示,在第一個G_bneck上添加SE模塊,將最后一層CBS層上面原有的5個G_bneck減少為3個。
1.2.2 輕量化卷積方法GSConv
GSConv在無人駕駛領(lǐng)域有著非常出色的表現(xiàn)[13]。無人駕駛領(lǐng)域?qū)δP退俣群途纫筝^高,考慮到后期實際應(yīng)用時,同樣需要對速度和精度有較高的要求。所以在YOLOv5s的頸部網(wǎng)絡(luò)融入GSConv卷積,如圖5所示。GSConv卷積提供一種實現(xiàn)檢測器更高計算成本效益的方法,通過使用混洗操作將標(biāo)準(zhǔn)卷積生成的信息滲透到深度可分離卷積生成的每一部分信息中,減輕模型復(fù)雜度,保證精度,且計算成本僅為標(biāo)準(zhǔn)卷積的60%~70%,更好地平衡模型準(zhǔn)確度和速度。
1.2.3 C2f模塊
C2f模塊是YOLOv8中新增的一種特征融合模塊,參考C3模塊以及ELAN的思想,從梯度優(yōu)化的角度來考慮模型設(shè)計,只在每一個模塊的最后階段進(jìn)行特征的聚合,這樣既保留了密集連接機(jī)制的優(yōu)點(diǎn),又優(yōu)化了對GPU的利用。在YOLOv5s頸部網(wǎng)絡(luò)采用C2f模塊,在增加梯度信息的同時減少計算塊中的計算量。圖6為C3模塊和C2f模塊的結(jié)構(gòu)對比。
1.2.4 動態(tài)感受野
LSKNet在遙感數(shù)據(jù)集上對小目標(biāo)和遮擋目標(biāo)識別方面有非常好的表現(xiàn)[14]??紤]到本文對花椒簇的檢測同樣存在著一些遮擋目標(biāo)及其小目標(biāo),因此,在GGL—YOLO頸部網(wǎng)絡(luò)P3、P4、P5特征圖輸出節(jié)點(diǎn)添加動態(tài)感受野LSK模塊,LSK模塊通過動態(tài)地自適應(yīng)調(diào)整其空間感受野,獲取更豐富的上下文信息,提高檢測精度。LSK模塊具體結(jié)構(gòu)如圖7所示。改進(jìn)后的GGL—YOLO整體網(wǎng)絡(luò)結(jié)構(gòu)如圖8所示。
首先,為從輸入數(shù)據(jù)X的不同區(qū)域獲取豐富的背景信息特征,應(yīng)用具有不同感受野大小的一系列深度可分離卷積
1.3 試驗環(huán)境與評價指標(biāo)
1.3.1 試驗環(huán)境
試驗在Windows10操作系統(tǒng)上進(jìn)行,訓(xùn)練顯卡為NVIDIA GeForce GTX3090Ti。軟件環(huán)境為Python3.8.17、Pytorch1.12.1、CUDA11.3。網(wǎng)絡(luò)訓(xùn)練時批次大小(Batch size)設(shè)置為16,動量因子(Momentum)設(shè)置為0.937,初始學(xué)習(xí)率(Learning rate)設(shè)置為0.01,衰減系數(shù)設(shè)置為0.000 5,共訓(xùn)練200輪。
1.3.2 評價指標(biāo)
采取平均精度均值mAP、浮點(diǎn)運(yùn)算數(shù)FLOPs、模型訓(xùn)練參數(shù)量以及幀率FPS作為評價指標(biāo)來評估模型的整體性能。mAP是通過計算每個類別的平均精度AP,然后將所有類別的AP取平均得到的。本文檢測類別只有一類,所以mAP等于AP。P、R及AP的計算如式(9)~式(11)所示。
2 結(jié)果與分析
2.1 消融試驗
為驗證和評估所提出的不同模塊對模型性能的影響,以YOLOv5s模型為基線,通過移除或添加不同的模塊,共進(jìn)行6組對比試驗,結(jié)果如表1所示。由試驗1可知,當(dāng)YOLOv5s主干網(wǎng)絡(luò)替換為GhostNet后,mAP有所下降,但模型參數(shù)量減少36%,浮點(diǎn)運(yùn)算數(shù)從15.9 G減少到7.1 G,減少55%。試驗2采用改進(jìn)后的New_Ghost作為YOLOv5s主干,相比于試驗1,模型更加輕量化的同時,mAP上升0.2%,使用New_GhostNet作為主干在減少參數(shù)的同時增強(qiáng)了多尺度學(xué)習(xí)能力和對重要特征的表達(dá)能力。在試驗2基礎(chǔ)上,試驗3在頸部網(wǎng)絡(luò)使用GSConv卷積,相比于試驗2,mAP上升0.6%,GSConv卷積通過引入全局上下文信息,來提高模型的感受野大小和語義理解能力,同時,參數(shù)量和計算復(fù)雜度也有一定的下降。在試驗3基礎(chǔ)上,試驗4在模型頸部采用C2f,mAP上升0.8%,同時參數(shù)量相較于基線下降64%,浮點(diǎn)運(yùn)算數(shù)下降74%,C2f模塊在增加梯度信息的同時,減少計算塊中的計算量。試驗5將YOLOv5s的主干替換為改進(jìn)后的New_GhostNet,并在頸部網(wǎng)絡(luò)采用GSConv和C2f,在特征輸出層采用動態(tài)感受野方法LSK,得到最終模型GGL—YOLO;參數(shù)量僅為2.9 M,相比于基線YOLOv5s的7.0 M下降58.6%;浮點(diǎn)運(yùn)算數(shù)FLOPs僅為5.3 G,相比于基線YOLOv5s的15.9 G下降66.7%;同時,改進(jìn)后的模型mAP較基線YOLOv5s提升1.5%,速度達(dá)到129.6幀/s,提升13.2%。YOLOv5s模型采用New_GhostNet作為特征提取主干網(wǎng)絡(luò),頸部網(wǎng)絡(luò)融入GSConv卷積、C2f模塊,在特征輸出層采用動態(tài)感受野機(jī)制,大幅降低參數(shù)和模型大小的同時,提高對小目標(biāo)檢測的精度,更適合本文對模型輕量化和高精確率的需求。
模型訓(xùn)練過程中的損失函數(shù)曲線如圖9(a)所示,box_loss代表邊界框預(yù)測損失,obj_loss代表置信度損失;圖9(b)為模型的精確率與召回率曲線圖。改進(jìn)后的模型大幅降低參數(shù)和復(fù)雜度的同時,訓(xùn)練收斂速度快。
2.2 與不同主流模型的性能對比
為對比所提方法與主流模型的性能差異,將常見的目標(biāo)檢測模型Faster R—CNN、SSD、YOLOv8s、YOLOv5s進(jìn)行對比試驗,結(jié)果如表2所示。不同模型的檢測效果如圖10所示。
由表2可知,雙階段檢測網(wǎng)絡(luò)模型Faster R—CNN的識別精度低且網(wǎng)絡(luò)參數(shù)多,推理速度慢,單階段目標(biāo)檢測模型SSD、YOLOv5s和YOLOv8s在推理速度上高于Faster R—CNN。GGL—YOLO對比上面4種模型,在參數(shù)量和檢測速度方面都有一定的優(yōu)勢。相比于其他主流模型,本文模型對各種類型的花椒簇均成功檢測,不存在漏檢現(xiàn)象。改進(jìn)后的網(wǎng)絡(luò)不僅更加輕量化,而且網(wǎng)絡(luò)層之間信息交流增加,從而提高學(xué)習(xí)能力,生成的檢測框最為準(zhǔn)確,檢測速度較快,在面對小目標(biāo)、遮擋目標(biāo)以及多目標(biāo)檢測均未出現(xiàn)漏檢、錯檢現(xiàn)象。
3 結(jié)論
基于YOLOv5s模型提出改進(jìn)后的輕量化模型GGL—YOLO,首先,對GhostNet進(jìn)行優(yōu)化,刪除較深冗余層,添加SE注意力機(jī)制,以增強(qiáng)不同層次特征的交互和表達(dá)能力,將得到New_GhostNet作為模型的主干網(wǎng)絡(luò)。然后,在頸部采用更加輕量的GSConv卷積和C2f模塊,提高模型的運(yùn)行效率。最后,在P3、P4、P5特征圖輸出層采用動態(tài)感受野機(jī)制,提高對小目標(biāo)檢測的精度,最終得到輕量化檢測模型。
1) 在自制的花椒簇數(shù)據(jù)集上進(jìn)行驗證,GGL—YOLO模型與基線YOLOv5s相比,mAP提升1.5%、模型參數(shù)量下降58.6%,模型復(fù)雜度FLOPs下降66.7%,檢測速度快13.2%。結(jié)果表明,所提出的模型具有更高的檢測精度和速度,為后續(xù)進(jìn)一步開展花椒采摘器的實時定位調(diào)整提供應(yīng)用研究基礎(chǔ)。
2) 對模型輕量化的改進(jìn),可以為自動化農(nóng)業(yè)采摘設(shè)備搭建提供一定的技術(shù)支持。將進(jìn)一步研究如何通過蒸餾、剪枝、微調(diào)等方法在精度損失較小的情況下,對模型進(jìn)行更加輕量化的處理,以便于在計算性能有限的邊緣端設(shè)備上搭載。
參 考 文 獻(xiàn)
[ 1 ] 阮承治, 趙德安, 陳旭, 等. 雙指型農(nóng)業(yè)機(jī)器人抓取球形果蔬的控制器設(shè)計[J]. 中國農(nóng)機(jī)化學(xué)報, 2019, 40(11): 169-175.
Ruan Chengzhi, Zhao De'an, Chen Xu, et al. Controller design for realizing double?finger agricultural robot to grasp spherical fruits and vegetables [J]. Journal of Chinese Agricultural Mechanization, 2019, 40(11): 169-175.
[ 2 ] Lowe D G. Distinctive image features from scale?invariant keypoints [J]. International Journal of Computer Vision, 2004, 60: 91-110.
[ 3 ] Dalal N, Triggs B. Histograms of oriented gradients for human detection [C]. 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2005, 1: 886-893.
[ 4 ] 萬芳新, 白明昌, 賀志洋, 等. 自然場景下花椒果實的識別[J]. 中國農(nóng)機(jī)化學(xué)報, 2016, 37(10): 115-119.
Wan Fangxin, Bai Mingchang, He Zhiyang, et al. Identification of Chinese prickly ash under the natural scenes [J]. Journal of Chinese Agricultural Mechanization, 2016, 37(10): 115-119.
[ 5 ] 齊銳麗, 陳曼龍, 楊宗浩, 等. 基于HSV模型與改進(jìn)的OTSU算法花椒圖像分割[J]. 中國農(nóng)機(jī)化學(xué)報, 2019, 40(11): 155-160.
Qi Ruili, Chen Manlong, Yang Zonghao, et al. Image segmentation of Sichuan pepper based on HSV model and improved OTSU algorithm [J]. Journal of Chinese Agricultural Mechanization, 2019, 40(11): 155-160.
[ 6 ] 呂佳, 李帥軍, 曾夢瑤, 等. 基于半監(jiān)督SPM—YOLOv5的套袋柑橘檢測算法[J]. 農(nóng)業(yè)工程學(xué)報, 2022, 38(18): 204-211.
[ 7 ] Wang Y, Xing Z, Ma L, et al. Object detection algorithm for Lingwu long jujubes based on the improved SSD [J]. Agriculture, 2022, 12(9): 1456.
[ 8 ] Parico A I B, Ahamed T. Real time pear fruit detection and counting using YOLOv4 models and deep SORT [J]. Sensors, 2021, 21(14): 4803.
[ 9 ] 楊前, 劉興科, 羅建橋, 等. 基于多任務(wù)上下文增強(qiáng)的花椒檢測模型[J]. 機(jī)械制造與自動化, 2023, 52(1): 113-118, 149.
[10] 李光明, 弓皓斌, 袁凱. 基于輕量化YOLOv5s的花椒簇檢測研究[J]. 中國農(nóng)機(jī)化學(xué)報, 2023, 44(4): 153-158.
Li Guangming, Gong Haobin, Yuan Kai. Research on lightweight pepper cluster detection based on YOLOv5s [J]. Journal of Chinese Agricultural Mechanization, 2023, 44(4): 153-158.
[11] 徐楊, 熊舉舉, 李論, 等. 采用改進(jìn)的YOLOv5s檢測花椒簇[J]. 農(nóng)業(yè)工程學(xué)報, 2023, 39(16): 283-290.
Xu Yang, Xiong Juju, Li Lun, et al. Detecting pepper cluster using improved YOLOv5s [J]. Transactions of the Chinese Society of Agricultural Engineering, 2023, 39(16): 283-290.
[12] 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, 2020: 1580-1589.
[13] Li H, Li J, Wei H, et al. Slim?neck by GSConv: A better design paradigm of detector architectures for autonomous vehicles [J]. arXiv preprint arXiv: 2206.02424, 2022.
[14] Li Y, Hou Q, Zheng Z, et al. Large selective kernel network for remote sensing object detection [C]. Proceedings of the IEEE/CVF International Conference on Computer Vision, 2023: 16794-16805.