劉姣娣 何捷 許洪振 段玉龍 沈漫林



摘要:為解決蔗芽識別在蔗種定向機械化種植速度不匹配問題,提出基于改進YOLOv4-Tiny的蔗芽快速識別方法。將主干網絡融合SE-Resnet模塊實現注意力機制以增強蔗芽的特征;頸部網絡結構多增加一層預測尺度并進行錨框的K-means重聚類,利用淺層網絡的細節信息來提高模型對小目標蔗芽的檢測能力;設計人機交互界面實時顯示蔗芽識別定位信息。該研究將改進YOLOv4-Tiny算法和NCS2加速推理部署在樹莓派4B設備中測試,試驗結果表明:識別蔗芽精度達到95.87%,平均精度均值mAP為92.46%,基于樹莓派檢測速度為0.61s,模型大小僅為23.2MB。實現部署在嵌入式設備中準確快速識別蔗芽,解決蔗種蔗芽識別速度慢制約蔗種機械化播種速度問題,為蔗種機械化定向種植提供解決方案。
關鍵詞:蔗芽識別;YOLOv4-Tiny;樹莓派4B;SE-Resnet;K-means重聚類
中圖分類號:S223.2: TP391.41文獻標識碼:A文章編號:20955553 (2023) 11016907
Identification method of cane sprout based on improved YOLOv4-Tiny
Liu Jiaodi, He Jie, Xu Hongzhen, Duan Yulong, Shen Manlin
(School of Mechanical and Control Engineering, Guilin University of Technology, Guilin, 541000, China)
Abstract:In order to solve the problem that the speed of sugarcane bud recognition does not match in the directional mechanized planting of sugarcane seeds, this paper proposes a rapid recognition method of sugarcane buds based on the improved YOLOv4-Tiny. The backbone network is integrated with the SE-Resnet module to realize the attention mechanism to enhance the characteristics of sugarcane buds. The neck network structure adds an additional layer of prediction scale and performs K-means reclustering of the anchor box, and uses the detailed information of the shallow network to improve the performance. The detection ability of the model to small target sugarcane buds, the design of human-computer interaction interface displays the sugarcane bud identification and positioning information in real time. In this study, the improved YOLOv4-Tiny algorithm and NCS2 accelerated reasoning will be deployed in the Raspberry Pi 4B device for testing. The test results show that the recognition accuracy of sugarcane buds is 95.87%, and the average precision and mean mAP is 92.46%. Based on the Raspberry Pi, the detection speed is 0.61 s, and the model size is only 23.2 MB. It realizes accurate and fast identification of sugarcane buds deployed in embedded devices, solves the problem that the slow recognition speed of sugarcane seeds restricts the speed of mechanized sowing of sugarcane seeds, and provides a solution for mechanized directional planting of sugarcane seeds.
Keywords:sugarcane sprout identification; YOLOv4-Tiny; Raspberry Pi 4B; SE-Resnet; K-means reclustering
0引言
甘蔗是世界上主要的經濟作物之一,在全球種植面積約2×107hm2,我國甘蔗種植面積達1466.67khm2,位居世界第三[1]。根據農藝要求,甘蔗種植時,蔗種要求平放,蔗芽朝向種溝兩側溝壁,避免蔗芽朝向種溝底部,以促進蔗芽早萌動、早出土,提高蔗種出苗率[25]。由于國內外現有的甘蔗種植機械均采用盲種方式,缺少蔗芽識別功能,無法保證蔗種平放、蔗芽朝向種溝兩側溝壁的種植農藝要求,導致蔗種萌發晚、生根慢、出苗率低等問題,直接影響甘蔗產量。李尚平等[6]通過優化組合參數驗證試驗,得出最優排種速度約0.8s/根。目前,蔗種定向種植主要依靠人眼識別蔗芽、手動完成蔗芽定向來擺放蔗種,其勞動強度大、工作效率低等諸多因素嚴重阻礙了甘蔗產業的發展。
國內外對于蔗種的檢測識別主要集中在莖節識別[713],目的是為實現防傷芽的自動切種。陸尚平[14]等采用OTSU閾值分割、經典邊緣算子檢測和基于FCM蔗芽分割等多種傳統圖像處理方法分割蔗芽。張東紅等[15]通過計算每個莖節上列像素值之和,統計位于直線中線像素值,根據蔗芽繞莖節生長的特征,結合bounding Rect函數,定位蔗芽位置。劉栩廷等[16]基于SVM對蔗種壞芽檢測識別。Song等[17]基于深度學習LeNet-5網絡結構,建立分類CNN模型識別蔗種好芽和壞芽。李強等基于卷積神經網絡對蔗芽識別定位,通過改進LeNet-5網絡模型,蔗芽識別準確率為92%,在電腦端測試單幅蔗種圖像檢測用時長達1.2s,模型大小為68.35M,但未能滿足實際蔗種機械定向種植速度約0.8s/根。
為提高蔗芽識別速度與準確率,滿足蔗種定向種植機械的播種速度要求,基于YOLOv4-Tiny快速且模型小通用性強的優點,提出一種基于改進YOLOv4-Tiny的蔗芽快速識別方法,主干網絡融合SE-Resnet模塊,頸部網絡新增一個預測尺度并進行錨框的K-means重聚類,并將模型和NCS2加速推理部署于樹莓派4B設備中測試。
1材料與方案
1.1數據來源
本文使用的蔗種數據來自中國廣西桂林市國家農業科技園區。甘蔗品種為“桂糖44號”,蔗種采集時間為2021年10月24日,人工將整根甘蔗切斷成雙芽段蔗種,蔗種長度30~40cm[18],篩選出較明顯粗壯蔗芽的蔗種放置于實驗臺架上模擬排種裝置夾持蔗種輸送如圖1(a)所示。在攝像頭距離蔗種約250mm進行拍攝,要求蔗芽面向鏡頭為中線左右偏移不超過30°隨機擺放如圖1(b)所示,以確保采集的圖像能夠準確反映蔗芽特征,圖像尺寸3000×3000,共采集圖像2036張,部分采集圖像展示如圖1(c)所示,圖像均以JPG格式保存,訓練集、測試集和驗證集以8∶1∶1的比例劃分,并采用LabelImg1.8.5工具對數據圖像標注,保存結果文件為XML格式,數據集以PASCAL VOC[19]格式保存,以便用于訓練和測試。
1.2甘蔗機械化定向種植方案
為解決甘蔗智能定向種植,本文提出一種甘蔗機械化定向種植技術方案如圖2所示,可實現蔗種圖像的采集、蔗芽識別、蔗芽朝向調整及蔗種種植。
首先,通過圖像采集系統完成對蔗種目標特征圖像的收集,且進行圖像預處理和數據集劃分;其次,為實現蔗芽的快速檢測和定位,使用檢測速度快且模型輕的深度學習模型YOLOv4-Tiny網絡進行蔗芽識別,然后,針對原始網絡在蔗芽識別中存在蔗芽小目標的漏檢和識別速度慢等問題,對YOLOv4-Tiny網絡進行改進,通過測試分析,對提出改進方法進行對比驗證,最后,將網絡模型部署到嵌入式設備中,通過末端執行設備對蔗種實行夾取,蔗芽執行調向和投種。
2目標檢測算法
2.1改進YOLOv4-Tiny網絡
YOLOv4-Tiny[20]算法是一種輕量級的快速目標檢測算法,參數僅有600萬,相當于原來的1/10,這使得檢測速度有很大提升。本文按公開COCO數據集標準,將圖像尺寸小于32×32的特征目標定義為小目標,而蔗芽屬于較小目標。為提高小目標檢測能力,本文在原預測輸出層上再增加一層淺層預測輸出層,深層的特征圖適合檢測大目標的物體,網絡層數越深就越能提取到圖像中深層的語義信息,使提取到的語義信息變得更加豐富,感受視野較大,而淺層的特征圖適合檢測小目標的物體,淺層的特征圖語義信息較少,感受視野也較小,包含更準確地位置信息和其他細節信息,本文輸入圖像尺寸為416×416,在YOLOv4-Tiny的主干網絡中產生三種尺寸特征圖,分別為13×13、26×26、52×52。較為簡單YOLOv4-Tiny網絡模型不足以學習到足夠蔗芽特征,且蔗芽信息與莖節處顏色特征差異不大,導致識別錯誤或漏檢測現象,為了提升網絡的識別準確度和識別速度,嵌入SE-Resnet模塊替代原有的三個CSP結構,它能增強網絡特征通道之間的信息傳遞,使用時可明顯提高蔗芽檢測精度,此外,采用Mish激活函數替換原來的Leaky Relu激活函數,與其他常用函數ReLU和Swish相比,Mish激活函數有以下四個特點:無上界、無下界、光滑、非單調。它可以防止網絡飽和,提高網絡的正則化效果,與Leaky Relu激活函數相比,在0值點連續可以減少一些不可預測的問題。其次,計算簡單速度快,比較適用于嵌入式設備,使網絡更容易優化,具有更高的檢測性能,改進YOLOv4-Tiny網絡結構如圖3所示。
2.2SE-Resnet模塊
SE-Net[21]網絡是一種通道維度增強注意力機制的卷積神經網絡結構,用于強調信息特征,并通過學習使用全局信息來抑制非目標信息的特征。在SE-Net中包含兩個核心操作壓縮和激發。根據SE-Net的思想,對網絡改進一般有兩種方法,第一是在卷積層后面直接加SE-Resnet模塊,這種方法對任何網絡都適用,但這樣就會造成大量的卷積層和參數量,會使得訓練和學習速度降低,識別效果慢。第二是引入SE-Resnet模塊替換原主干網絡中的三個CSP結構,其中SE-Resnet模塊網絡結構如圖4所示。
2.3錨框K-means重聚類
在YOLOv4-Tiny網絡中使用錨框作為先驗框,YOLOv4-Tiny預測輸出僅有2個特征層,每個特征層有3種錨框,一共有6個錨框,這6個錨框是對VOC數據集聚類所得到[22],生成的錨框都比較偏向于固定比的正方形和長方形,與蔗芽特征尺寸有很大的不同。由于對網絡結構進行了更改,增加至三個尺度預測輸出層,對應需9個錨框,所以需要對蔗芽數據集進行重新聚類。選9個對象作為初始聚類中心,載入蔗種數據集,通過K-means算法對數據集中每個點,計算其與每個質心的距離,離哪個質心近,就劃分到那個質心所屬的區域,把全部數據歸好區域后,共有9個區域,然后重新計算每個區域的質心。如果新計算出來的質心和原來的質心之間的位置變化不大,趨于收斂,可認為聚類已經達到期望的結果。如果新質心和原質心距離變化很大,會反復上述過程直到收斂。生成9個適合蔗芽特征的錨框分別為(15,13),(16,19),(20,16),(18,23),(22,20),(20,27),(28,24)(24,29),(33,34),不再使用原來的默認的錨框,K-means聚類后錨框分布情況如圖5所示,每個區域的質點就是對應錨框的坐標點,重新聚類后會獲得更貼近的適合蔗芽特征的先驗框,有利于模型訓練和學習。
3模型訓練與測試
3.1訓練環境與方法
訓練平臺硬件配置:Intel(R)Core(TM)i7-10700K CPU@3.80GHz,24G內存,搭配NVIDIA GeForce RTX2060 SUPER圖形卡,顯存大小8G,操作系統為Windows10專業版,圖像形態學處理采用OpenCV 4.5.3視覺庫,并在Python3.7、CUDA11.1環境下使用Tensorflow作為框架實現整個算法的訓練。部分訓練參數設置如下:訓練圖像大小調整為416×416,批量大小(Batch size)設置為32,初始學習率為0.01,循環學習率為0.0001,Epoch迭代次數為500。采用隨機梯度下降(SGD)優化器,動量設為0.937。從圖6可以看出,改進前模型損失值較大,收斂波動頻繁,改進后模型收斂快,波動平緩,最終收斂損失值較小,兩者均在約第310次迭代時開始收斂處于水平。
3.2測試環境
將訓練平臺訓練好模型部署于測試平臺樹莓派4B進行測試,樹莓派4B實物及Raspberry Pi Camera模塊如圖7所示。
其操作系統為Raspberry Pi OS 64位(Raspbian),運行內存8G,核心處理器CPU為BrOadcom BCM2711四核1.5GHz 64-bit ARM Cortex-A72,以Python作為編程語言,搭載Tensorflow深度學習框架,擁有嬌小外觀,功能強大的微型電腦。
3.3配置NCS2推理加速
英特爾第二代神經計算棒簡稱NCS2,是一種可以提升深度神經網絡推理速度硬件加速器,其內置了最新的Intel Movidius Myriad X VPU視覺處理器,集成16個SHAVE計算核心,可以極低的功耗執行高性能視覺和AI推理運算。NCS2主要用于物聯網的設備端,代替原有設備進行深度學習的推理,實現圖像計算。NCS2體積小,價格低,專用于圖像計算,性能高于傳統的嵌入式設備,起到取長補短的功能。通過Open VINO模型優化器將其轉換為NCS2神經計算棒支持的IR文件,并部署到具有NCS2神經計算棒的樹莓派4B上,實現進一步對模型性能優化,在檢測速度上有明顯提升,更易于實用和推廣。
4結果與分析
4.1評估標準
4.2不同超參數下的模型指標分析
蔗芽識別網絡模型在性能測試中使用不同的IoU閾值和置信度閾值的分析結果如圖8所示。在一定范圍內IoU閾值是可以直接影響模型的精度。IoU閾值并不是越大越好,IoU閾值越大被檢測到的預選框與真實框的重疊率就越高,被誤檢的數量也會增加。通常IoU閾值取0.5,此時精度P和召回率R分別達到95.87%和89%。隨置信度閾值的不斷增大,網絡模型的指標mAP值也不斷減小。當置信度閾值小于0.6時,F1值和召回率R以及精度P基本穩定不變。反之,置信度閾值大于0.6時,F1值和召回率R開始緩慢降低,但精度P緩慢增大,本研究為保證精度同時也要保證誤檢容錯率,經反復測試發現置信度為0.35時,使改進YOLOv4-Tiny網絡預測結果最佳。
4.3各模型性能分析
性能分析采用LeNet-5、YOLOv4-Tiny、YOLOv5s和改進YOLOv4-Tiny模型做對比分析如表1所示。
測試結果表明LeNet-5在各項指標上都略低于其他模型,YOLOv4-Tiny與YOLOv5s相比,精度P及各方面指標相差并不大,YOLOv5s的模型大小要更輕一些,但部署在樹莓派4B上測試幀數(FPS)要比YOLOv5s高,YOLOv4-Tiny的檢測速度要更快;本文使用方法與YOLOv4-Tiny相比,精度P提升了4.6%,召回率R提升了4.25%,在部署于樹莓派4B上檢測速度要快一倍于YOLOv4-Tiny,幀數可達9.4幀/s,平均檢測速度約0.61s/根,檢測效果對比如圖9所示。
5人機交互界面設計
本文利用Python的PyQt5圖形框架設計一個人機交互界面如圖10所示,該程序可實現置信度自定義調參、可用于圖片、視頻和攝像頭的蔗芽檢測,便于查看分析實時顯示蔗芽識別定位信息,識別結果輸出蔗芽位置信息和置信度。
6結論
1) 為解決蔗種蔗芽識別精度低問題,提出改進的YOLOv4-Tiny算法,通過主干網絡融入SE-Resnet模塊替換CSP結構并采用Mish激活函數替代的Leaky Relu激活函數,降低運算量提升速度,同時增強小目標蔗芽檢測精度,擴增一層淺層預測輸出結構,保證算法具有識別精度高、檢測速度快的特點,與改進前算法相比,識別精度提升了4.6%,模型大小僅增加0.6MB。
2) 為解決蔗種蔗芽識別速度慢制約蔗種機械化播種速度問題,將模型部署于樹莓派4B嵌入式設備并配置NCS2推理加速,試驗結果表明,在樹莓派4B為測試平臺下,蔗芽檢測幀數為9.4幀/s,平均檢測速度約0.61s/根,與改進前算法相比,蔗芽檢測幀數提高了2.1幀/s,平均檢測速度快了0.54s/根,滿足實際蔗種機械定向播種速度要求。
3) 設計并提出了甘蔗機械化定向種植技術方案,創新性地解決了傳統機械化盲種方式無法滿足蔗種種植農藝要求問題,將人工智能視覺檢測技術引入甘蔗機械化種植領域,實現蔗芽識別、蔗芽朝向調整和播種,為甘蔗機械化定向種植技術的發展提供關鍵技術。
參考文獻
[1]朱衛江. 我國甘蔗機械化收獲現狀與發展路徑選擇[J]. 農機質量與監督, 2019(10): 30-32.
[2]李炳楊. 廣西甘蔗種植現狀、問題及對策[J]. 熱帶農業科學, 2018, 38(4): 119-127.Li Bingyang. The present situation, problems and countermeasures of sugarcane cultivation in Guangxi [J]. Chinese Journal of Tropical Agriculture, 2018, 38(4): 119-127.
[3]羅全, 趙明, 李會校. 甘蔗不同播種方式對產量的影響[J]. 廣西農業機械化, 2017(2): 22-24.
[4]李榮喜, 劉立炫, 黃敏, 等. 甘蔗機械化種植對蔗種的要求[J]. 南方農業, 2018, 12(18): 21-22, 24.
[5]韋欣海. 甘蔗種植的高產技術及實施要點[J]. 南方農業, 2018, 12(12): 29-30.
[6]李尚平, 黃宗曉, 張偉, 等. 預切種式寬窄行甘蔗種植機單輥排種系統設計與試驗[J]. 農業機械學報, 2020, 51(4): 113-121.Li Shangping, Huang Zongxiao, Zhang Wei, et al. Experiments and design on single-rolled seed-sowing system of pre-seed-cutting sugarcane planters with wide and narrow row spacing[J]. Transactions of the Chinese Society of Agricultural Machinery, 2020, 51(4): 113-121.
[7]Chen, H., Xu G, J., Liu X, et al. Sugarcane stem nodes based on the maximum value points of the vertical projection function [J]. Ciência Rural, 2020, 50.
[8]Chen M, X. J, Cheng Q, et al. Sugarcane stem node detection based on wavelet analysis [J]. IEEE Access, 2021(9): 147933-147946.
[9]黃亦其, 喬曦, 唐書喜, 等. 基于Matlab的甘蔗莖節特征分布定位與試驗[J]. 農業機械學報, 2013, 44(10): 93-97, 232.Huang Yiqi, Qiao Xi, Tang Shuxi, et al. Localization and test of characteristics distribution for sugarcane internode based on Matlab[J]. Transactions of the Chinese Society of Agricultural Machinery, 2013, 44(10): 93-97, 232.
[10]陸尚平, 文友先, 葛維, 等. 基于機器視覺的甘蔗莖節特征提取與識別[J]. 農業機械學報, 2010, 41(10): 190-194.Lu Shangping, Wen Youxian, Ge Wei, et al. Recognition and features extraction of sugarcane nodes based on machine vision [J]. Transactions of the Chinese Society for Agricultural Machinery, 2010, 41(10): 190-194.
[11]石昌友, 王美麗, 劉欣然, 等. 基于機器視覺的不同類型甘蔗莖節識別[J]. 計算機應用, 2019, 39(4): 1208-1213.Shi Changyou, Wang Meili, Liu Xinran, et al. Node recognition for different types of sugarcanes based on machine vision [J]. Journal of Computer Applications, 2019, 39(4): 1208-1213.
[12]張衛正, 張偉偉, 張煥龍, 等. 基于高光譜成像技術的甘蔗莖節識別與定位方法研究[J]. 輕工學報, 2017, 32(5): 95-102.Zhang Weizheng, Zhang Weiwei, Zhang Huanlong, et al. Research on identification and location method of sugarcane node based on hyperspectral imaging technology [J]. Journal of Light Industry, 2017, 32(5): 95-102.
[13]黃亦其, 黃體森, 黃媚章, 等. 基于局部均值的甘蔗莖節識別[J]. 中國農機化學報, 2017, 38(2): 76-80.Huang Yiqi, Huang Tisen, Huang Meizhang, et al. Recognition of sugarcane nodes based on local mean[J]. Journal of Chinese Agricultural Mechanization, 2017, 38(2): 76-80.
[14]陸尚平. 基于機器視覺的甘蔗莖節識別與蔗芽檢測研究[D]. 武漢: 華中農業大學, 2011.
[15]張東紅, 吳玉秀, 陳晨. 基于圖像處理的甘蔗莖節識別與蔗芽檢測[J]. 洛陽理工學院學報(自然科學版), 2019, 29(2): 67-72.Zhang Donghong, Wu Yuxiu, Chen Chen. Sugarcane stem section identification and sugarcane bud detection based on image processing [J]. Journal of Luoyang Institute of Science and Technology (Natural Science Edition), 2019, 29(2): 67-72.
[16]劉栩廷, 劉姣娣, 王明明, 等. 基于SVM的蔗種壞芽檢測識別[J]. 石河子大學學報(自然科學版), 2022, 40(4): 481-486.Liu Xuting, Liu Jiaodi, Wang Mingming, et al. Detection and recognition of sugarcane bad bud based on SVM[J]. Journal of Shihezi University (Natural Science): 2022, 40(4): 481-486.
[17]Song H, Peng J, Tuo N, et al. Study of sugarcane buds classification based on convolutional neural networks [J]. Intelligent Automation & Soft Computing, 2021, 27(2): 581-592.
[18]梁永檢. 甘蔗“健康種子”生產的關鍵技術研究[D]. 桂林: 廣西大學, 2015.
[19]Everingham M, Eslami S M A, Gool L, et al. The pascal visual object classes challenge: A retrospective[J]. International Journal of Computer Vision, 2015, 111(1): 98-136.
[20]Bochkovskiy A, Wang C Y, Liao H Y M. Yolov4: Optimal speed and accuracy of object detection[J]. arXiv, 2020: 10934.
[21]Hu J, Shen L, Sun G. Squeeze-and-Excitation networks[C]. Proceedings of the 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, Salt Lake City, 2018: 7132-7141.
[22]吳奎, 向峰, 周順, 等. 基于改進的YOLOv4-tiny鋼卷端面缺陷檢測[J]. 智能計算機與應用, 2022, 12(3): 22-27.Wu Kui, Xiang Feng, Zhou Shun, et al. Defect detection of steel coil based on improved Yolov4-Tiny[J]. Intelligent Computer and Applications, 2022, 12 (3): 22-27.