





摘要:現有的竹筍精準分割方法計算復雜度高,且模型龐大不利于在算力有限的邊緣設備上部署。為解決這一問題,采用一種基于深度卷積網絡的輕量化方法進行竹筍分割。首先,設計野外竹筍圖像采集試驗,通過人工標記構建訓練集和測試集。然后,采用YOLOv8深度卷積網絡模型作為竹筍分割的基礎模型,并進行模型訓練和驗證。最后,設計兩組對比試驗,驗證其精準性和高效性。結果表明,所設計的竹筍分割方法在測試集上的檢測平均精度和分割平均精度分別為0.927、0.931,較YOLOv7模型分別提升3.6%、5.7%,較YOLOv8_x模型分別提升0.1%、0.4%。此外,所設計的分割方法速度為169幀/s,參數量為43.8 M,模型尺寸為92.3 MB,相比YOLOv7模型,分割速度提高71幀/s;相比YOLOv8_x模型,分割速度提高51幀/s,參數量減少24.6 M,模型尺寸減少51.6 MB。為進一步驗證該方法的實際部署可行性和高效性,將YOLOv8_l模型部署到英偉達邊緣設備上,部署后的竹筍分割算法在測試集上的檢測平均精度均值和分割平均精度均值分別為0.896、0.891,單幀圖像推理時間僅為0.091 4 s,所需顯存為12.2 GB。
關鍵詞:竹筍;深度卷積網絡;分割;輕量化;YOLOv8
中圖分類號:S644.2; TP391.4" " " 文獻標識碼:A" " " 文章編號:2095?5553 (2025) 04?0114?06
Research on bamboo shoot segmentation method based on YOLOv8
Zheng Zhenhui Zhang Danran Wang Shuo Wei Lijiao Wu Haiyun Xiao Jingfeng
(1. Institute of Agricultural Machinery, Chinese Academy of Tropical Agricultural Sciences, Zhanjiang, 524091, China; 2. Key Laboratory of Agricultural Equipment for Tropical Crops, Ministry of Agriculture and Rural Affairs, Zhanjiang, 524091, China; 3. Guangdong Engineering Technology Research Center of
Precision Emission Control for Agricultural Particulates, Zhanjiang, 524091, China; 4. College of Engineering,
South China Agricultural University, Guangzhou, 510642, China)
Abstract: The existing bamboo shoot accurate segmentation methods have high computational complexity and large model, which is not conducive to deployment on edge devices with limited computing power. To solve this problem, a lightweight method based on deep convolutional network is used to segment bamboo shoots. Firstly, a field experiment for bamboo shoot image acquisition was conducted, and a training and test dataset was constructed through manual annotation. Then, the YOLOv8 deep convolutional network model was employed as the baseline for bamboo shoot segmentation, followed by model training and validation. Finally, two comparative experiments were designed to verify the accuracy and efficiency of the proposed method. The results show that the proposed bamboo shoot segmentation method achieved a detection mAP of 0.927 and a segmentation mAP of 0.931 on the test dataset, with improvements of 3.6% and 5.7% over the YOLOv7 network, and 0.1% and 0.4% over the YOLOv8_x network, respectively. Additionally, the segmentation speed of this method reached 169 frames per second, with a parameter size of 43.8 M and a model size of 92.3 MB, representing a 71 frames per second increase over the YOLOv7 network and a 51 frames per second increase over the YOLOv8_x network, while reducing the parameter size by 24.6 M and the model size by 51.6 MB. In order to further validate the practical feasibility and efficiency of this method, the YOLOv8_l network was deployed on an NVIDIA edge device. After deployment, the bamboo shoot segmentation algorithm achieved a detection mAP of 0.896 and a segmentation mAP of 0.891 on the test dataset, with an inference time of only 0.091 4 seconds per image and a memory consumption of 12.2 GB.
Keywords: bamboo shoots; deep convolutional network; segmentation; lightweight; YOLOv8
0 引言
我國是世界上竹資源最豐富的國家。為提升竹筍采摘機械化水平,開發高效的竹筍分割技術至關重要。竹筍從出筍到成竹僅需2~3個月,因此,在生長期內對竹筍長勢進行檢測具有重要意義。竹筍的精準分割不僅能實現智能監測,還能優化竹園管理,提升農產品質量和經濟效益。現有分割系統存在檢測精度低、速度慢、成本高等問題,因此,設計輕量化且精準的竹筍分割系統是智慧竹園發展的關鍵。
已有學者針對竹筍的精準分割系統開展相關研究。圖像分割旨在將圖像劃分為若干互不重疊的子區域,使得同一區域內的特征相似,而不同區域之間有明顯差異[1]。傳統農業圖像分割主要方法包括閾值分割和聚類分割。Jia等[2]提出一種結合顏色和紋理特征的分割方法,利用灰度共生矩陣(GLCM)提取紋理特征,其識別準確率達0.94,但在光照不均時效果不佳,尤其在暗處分割效果不清晰。賈新宇等[3]基于圖像測量,結合正弦余弦優化的人工蜂群和模糊局部C均值聚類,提出了一種抗噪能力較強的算法,毛竹筍高度測量平均誤差僅為4.17%。Jia等[4]提出基于PCNN與GA—Elman融合的蘋果圖像識別方法,使用PCNN分割圖像并提取顏色和形狀特征,結合GA—Elman分類器實現果實識別。魏新華等[5]通過雙目相機獲取三維數據,提出結合密度峰聚類和K均值聚類的方法對高度數據進行分類,并融合彩色圖像分割結果,實現作物高度提取,誤差為0.043 m。劉曉洋等[6]使用簡單線性迭代聚類(SLIC)算法,將蘋果圖像分割為超像素,并用支持向量機分類,分割準確率達0.921 4。上述研究結合人工特征和傳統機器學習方法實現竹筍分割,但在光照不均和植被復雜的環境下魯棒性和時效性不足,且模型依賴人工特征,識別性能有待提升。
近年來,深度學習技術已逐漸取代傳統基于人工特征的機器學習方法,在農業領域應用廣泛[7, 8]。許多學者針對農作物的智能分割進行深度學習研究。Palacios等[9]提出一種基于深度卷積神經網絡(DCNN)的田間薇甘菊識別模型,融合了AlexNet的局部響應歸一化函數和VGG—Net的連續卷積結構,識別準確率達94.50%。王鵬飛[10]基于Mask R—CNN和二進制哈希碼設計的雜草分割網絡,在交并比IoU為0.5時,平均精度達到0.813 3。謝培宇[11]通過在ResNet50上添加特征金字塔網絡(FPN)和EAC注意力機制,將分割精度提升至85.3%。Yu等[12]提出的改進算法結合ResNet50和特征金字塔網絡,實現草莓的高效分割,平均檢測準確率為95.78%。然而,這些方法大多依賴高性能GPU工作站,模型復雜度較高,難以滿足實際農業場景對低成本、易部署、高效率的需求。
結合上述研究,深度學習方法可以有效從圖像中提取特征信息,在復雜的環境中執行目標檢測任務。與傳統的機器學習方法相比,深度學習方法具有更好的魯棒性和較強的泛化能力。然而,竹筍莖節檢測研究仍處于起步階段,大部分研究主要關注算法準確性和檢測速度的提高,而不是關注模型的輕量級特性。高復雜性的模型導致對內存和計算能力的要求更高,這不符合設備的小型化,將大大增加竹筍收獲機械化的成本。因此,如何在保持系統性能的同時,減少模型的計算負擔和大小,是當前竹筍檢測和收獲裝備實現智能化作業的關鍵問題。
為優化竹園生產管理并提升農產品質量,本文提出一種基于深度學習的竹筍視覺分割方法,設計野外竹筍圖像采集試驗,進行人工標記,構建圖像訓練集和測試集;基于YOLOv8模型進行竹筍分割的深度學習模型訓練,調整超參數以獲得最佳性能;設計并進行野外對比試驗,評估模型性能和模型大小;將YOLOv8_l模型部署到英偉達邊緣設備,分析其分割性能及資源消耗情況。
1 材料與方法
1.1 圖像采集方法
圖像采集試驗于2023年5—6月在廣東省清遠市英德連江口鎮的連樟竹筍基地(24°0′N,113°18′E)進行,構建單目標和多目標的竹筍圖像數據集。圖1為不同數量竹筍圖像的采集試驗情況,以覆蓋不同情況下的竹筍生長狀態和環境條件。拍攝相機為華為Mate60pro,圖像尺寸為4 032像素×3 024像素,以彩色圖像JPG格式保存,一共拍攝1 800幅圖像,包括約4 900個竹筍。
1.2 數據集處理和制作
數據集的質量決定識別模型訓練精度的上限和后續實際作業中性能的好壞。篩選出清晰的、具有代表性的竹筍圖像1 690張,將數據集按照7∶1.5∶1.5的比例隨機劃分為訓練集、驗證集和測試集,其中1 438張作為訓練集和驗證集,剩余252張作為測試集,具體劃分結果如表1所示。采用目標分割領域常用軟件Labelme作為竹筍數據集標注工具,得到的標簽文件中包含每個竹筍的類別信息以及其在圖像中的歸一化坐標。
1.3 輕量化竹筍視覺分割方法
1.3.1 YOLOv8模型
對自然環境中竹筍的精準識別和分割是實現后續對其長勢的智能監測和竹園生產管理優化的關鍵步驟。目前,主要的目標檢測框架分為兩種策略,一種是以R—CNN系列為代表的兩階段方法[13],另一種是以YOLO系列為代表的單階段方法[14]。相較兩階段策略,單階段策略模型將檢測問題轉化為回歸問題,僅需卷積神經網絡即可直接獲得目標的類概率和位置坐標,從而縮短了推理時間。這種方法實現了實時性和性能之間的平衡,適用于性能一般的邊緣設備,能夠勝任竹筍長勢監測任務。因此,選擇YOLOv8作為竹筍視覺分割模型。在COCO Val 2017數據集上,YOLOv8相比YOLOv5在精度上有顯著提升,并且支持多種導出格式,可以在CPU和GPU上運行。如圖2所示,YOLOv8的總體結構包括骨干網絡(Backbone)、頸部網絡(Neck)和檢測頭(Head)3部分。骨干網絡負責提取圖像特征,頸部網絡對提取的特征圖進行融合處理,而檢測頭則對生成的特征圖進行預測。
1.3.2 骨干網絡和頸部網絡
YOLOv8模型的高精度得益于在骨干網絡和頸部網絡中使用C2F模塊對C3模塊的替換。如圖3所示,C2F模塊先經過一個Conv,使用chunk函數將out平均拆分成兩個向量,然后保存到list中,將后半部分輸入Bottleneck Block里面,Bottleneck Block里面有n個Bottleneck,將每個Bottleneck的輸出都追加list中。
1.3.3 預測網絡
在YOLOv8模型中,預測頭Head部分相對YOLOv5模型改動較大,從基于錨框的目標檢測算法換成基于無錨框的目標檢測算法,具有快速收斂和提高回歸性能的優點。
如圖4所示,采用解耦頭結構的方式,將回歸分支和預測分支分離,并針對回歸分支使用Dsitribution Focal Loss策略中提出的積分形式表示法,將坐標作為一個確定性單值預測轉變為一個分布。相對于使用耦合頭,使用解耦頭可以有效減少模型分割竹筍的計算復雜度,既有效加快處理速度,同時也增強對竹筍識別的泛化能力和魯棒性。
2 試驗與結果分析
2.1 試驗配置與訓練結果
為確保對各算法性能的公正比較,所用訓練平臺和超參數設置上盡可能保持一致性。采用以下試驗平臺條件:CPU為Intel Xeon Gold 6256 Processor,主頻為3.60 GHz,擁有48個物理核心和24個線程,內存容量為1 024 GB。GPU方面,選用NVIDIA RTX A6000圖形處理單元(GPU),顯存為48 GB。操作系統為Ubuntu 18.04,并配置CUDA 11.8.130、CUDNN 8.6.0、NVIDIA驅動程序版本535.104、Opencv 4.8.0以及Pytorch 2.0.1等必要軟件包。
1) 參數設置:選用官方提供的預訓練模型YOLOv8_l和YOLOv8_x作為初始模型。輸入圖像尺寸設定為640像素×640像素,最大訓練輪次Max_epoch為300,批量大小Batch size為16,初始學習率learning rate為0.01,動量因子momentum為0.90,權重衰減系數為0.000 5。
2) 訓練策略:為適應不同目標檢測任務的需求,在訓練過程中采用了多種策略。啟用K—Means聚類算法以自適應方式計算最佳的錨框長寬比。此外,采用Mosaic、Mixup、EMA、HSV和Flip等圖像增強方法,以豐富數據集、提升網絡的魯棒性和準確性。
圖5為竹筍分割網絡在訓練時的模型損失和平均精度均值mAP值隨迭代次數的變化曲線。
由圖5可知,模型的損失曲線逐漸下降并穩定,表明網絡逐漸減小誤差且泛化效果良好;mAP曲線隨訓練輪次增加逐漸提高并穩定,盡管在初始階段可能有些波動,但隨著訓練進行,波動逐漸減小。進一步分析顯示,訓練集和驗證集上的損失曲線趨勢一致,mAP表現也一致,沒有明顯的偏差,表明網絡沒有出現擬合或欠擬合情況。從參數收斂情況來看,基于損失曲線和mAP曲線的收斂趨勢以及訓練集和驗證集上的一致表現,可確認竹筍分割網絡已經收斂。
2.2 竹筍分割試驗
使用YOLOv8_l和YOLOv8_x網絡對單目標竹筍和多目標竹筍測試圖像進行處理,模型分割效果如圖6所示。試驗采用精確率P、召回率R、平均精度mAP、F1值、竹筍圖像分割速度FPS、參數量和模型大小Model_Size作為竹筍檢測和分割的評價標準,計算如式(1)~式(4)所示。
從圖6可以看出,對于單目標竹筍情況,YOLOv8_l模型和YOLOv8_x模型均可較好識別并分割出圖像中竹筍對象;對于多目標竹筍情況,與YOLOv8_x模型相比,YOLOv8_l模型很好地克服了竹筍漏檢的缺點。此外,在實際工作中,難免會存在人、風等動態因素,導致圖像質量較差,這對竹筍分割系統提出了更高的要求。圖7為工人采摘時動態場景下,YOLOv8_l模型的檢測結果,可以看到網絡仍能完整識別并分割出圖像中竹筍部分,表明YOLOv8_l模型具有良好的魯棒性和泛化能力,整體性能較優。
從表2可以看出,YOLOv8_l模型在測試集上的檢測和分割mAP值分別為0.927、0.931,同比YOLOv7模型分別提高3.6%、5.7%,同比YOLOv8_x模型分別提高0.1%、0.4%。此外,YOLOv8_l模型的分割速度、參數量和模型尺寸分別為169幀/s、43.8 M和92.3 MB,同比YOLOv8_x模型分別增加了51幀/s,減少24.6 M參數量和51.6 MB模型尺寸。YOLOv8_l模型具有更優性能,可以有效滿足室外環境下對竹筍分割算法精度和實時性的要求。
2.3 邊緣設備部署試驗
在YOLOv8_l模型的基礎上,將YOLOv8_l模型部署到英偉達邊緣設備上,并進行竹筍分割試驗,以驗證該方法在邊緣計算環境中的性能。采用以下試驗平臺條件:設備型號為英偉達Jetson Orin NX,搭載32個Tensor Core的1 024核NVIDIA Ampere架構GPU,CPU為8核Arm? Cortex?-A78AE v8.2 64位CPU 2MB L2+4MB L3,1 024 CUDA核心,顯存為16 GB 128位LPDDR5 102.4 GB/s,操作系統為Ubuntu 20.04 LTS,Jetpack版本為5.1.1,深度學習框架為PyTorch 2.0.0。
部署后的竹筍分割算法在測試集上的檢測和分割mAP值分別為0.896、0.891,單幀圖像推理時間僅為0.091 4 s,所需顯存為12.2 GB。結果表明,在保證高精度的同時仍具有較高的實時性,同時所需顯存在邊緣處理器可接受的水平內。本方法能夠在資源有限的邊緣設備上進行部署作業。
3 結論
1) 構建單目標和多目標竹筍圖像數據集,提出利用輕量化YOLOv8網絡,在竹園非結構化場景下實現對竹筍的精準分割。此方法在竹筍測試集上的檢測mAP值和分割mAP值分別為0.927、0.931,同比YOLOv7模型分別提高3.6%、5.7%,同比YOLOv8_x模型分別提高0.1%、0.4%。此外,本方法的分割速度、參數量和模型尺寸分別為169幀/s、43.8 M和92.3 MB,同比YOLOv7模型增加71幀/s,同比YOLOv8_x模型分別提高51幀/s、24.6 M和51.6 MB。
2) 將YOLOv8_l模型部署到英偉達邊緣設備上,部署后的竹筍分割算法在測試集上的檢測平均精度均值和分割平均精度均值分別為0.896、0.891,單幀圖像推理時間僅為0.091 4 s,所需顯存為12.2 GB。
參 考 文 獻
[ 1 ] 陳攀, 王紹東. 基于輕量級卷積神經網絡的多視覺特征圖像分割研究[J]. 現代電子技術, 2024, 47(15): 60-64.
Chen Pan, Wang Shaodong. Research on multi?visual feature image segmentation based on lightweight convolutional neural networks [J]. Modern Electronics Technique, 2024, 47(15): 60-64.
[ 2 ] Jia W, Zhang Y, Lian J, et al. Apple harvesting robot under information technology: A review [J]. International Journal of Advanced Robotic Systems, 2020, 17(3): 1729881420925310.
[ 3 ] 賈新宇, 江朝暉, 李娟, 等. 基于圖像測量的毛竹筍高生長在線監測[J]. 林業工程學報, 2021, 6(4): 134-139.
Jia Xinyu, Jiang Chaohui, Li Juan. On?line monitoring of bamboo shoot growth height based on image measurement [J]. Journal of Forestry Engineering, 2021, 6(4): 134-139.
[ 4 ] Jia W, Mou S, Wang J, et al. Fruit recognition based on pulse coupled neural network and genetic Elman algorithm application in apple harvesting robot [J]. International Journal of Advanced Robotic Systems, 2020, 17(1): 1729881419897473.
[ 5 ] 魏新華, 張敏, 劉青山, 等. 基于雙目視覺的田間作物高度和收割邊界信息提取[J]. 農業機械學報, 2022, 53(3): 225-233.
Wei Xinhua, Zhang Min, Liu Qingshan, et al. Extraction of crop height and cut?edge information based on binocular vision [J]. Transactions of the Chinese Society for Agricultural Machinery, 2022, 53(3): 225-233.
[ 6 ] 劉曉洋, 趙德安, 賈偉寬, 等. 基于超像素特征的蘋果采摘機器人果實分割方法[J]. 農業機械學報, 2019, 50(11): 15-23.
Liu Xiaoyang, Zhao De'an, Jia Weikuan, et al. Fruits segmentation method based on superpixel features for apple harvesting robot [J]. Transactions of the Chinese Society for Agricultural Machinery, 2019, 50(11): 15-23.
[ 7 ] 張志遠, 羅銘毅, 郭樹欣, 等. 基于改進YOLOv5的自然環境下櫻桃果實識別方法[J]. 農業機械學報, 2022, 53(S1): 232-240.
Zhang Zhiyuan, Luo Mingyi, Guo Shuxin, et al. Cherry fruit detection method in natural scene based on improved YOLOv5 [J]. Transactions of the Chinese Society for Agricultural Machinery, 2022, 53(S1): 232-240.
[ 8 ] Zheng Z, Xiong J, Wang X, et al. An efficient online citrus counting system for large?scale unstructured orchards based on the unmanned aerial vehicle [J]. Journal of Field Robotics, 2023, 40(3): 552-573.
[ 9 ] Palacios F, Bueno G, Salido J, et al. Automated grapevine flower detection and quantification method based on computer vision and deep learning from on?the?go imaging using a mobile sensing platform under field conditions [J]. Computers and Electronics in Agriculture, 2020, 178: 105796.
[10] 王鵬飛. 基于深度學習的玉米田間雜草識別技術及應用[D]. 泰安: 山東農業大學, 2019.
[11] 謝培宇. 基于SOLO的玉米葉片病害實例分割方法研究[D]. 合肥: 安徽農業大學, 2022.
Xie Peiyu. Research on example segmentation method of corn leaf disease based on SOLO [J]. Hefei: Anhui Agricultural University, 2022.
[12] Yu Y, Zhang K, Yang L, et al. Fruit detection for strawberry harvesting robot in non?structural environment based on Mask—RCNN [J]. Computers and Electronics in Agriculture, 2019, 163: 104846.
[13] Girshick R, Donahue J, Darrell T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation [C]. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2014: 580-587.
[14] Redmon J, Farhadi A. YOLO9000: Better, faster, stronger [C]. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2017: 7263-7271.