









摘要:針對人工敲打式收獲板栗帶來高成本和安全風(fēng)險問題,研究無人機(jī)板栗采摘方法至關(guān)重要。為達(dá)到在自然光照條件下迅速且精確地識別板栗栗蓬目標(biāo),提出一種基于YOLOv8的改進(jìn)卷積網(wǎng)絡(luò)模型板栗栗蓬檢測方法。對YOLOv8主干網(wǎng)絡(luò)的C2f模塊添加CBAM注意力機(jī)制,增強(qiáng)卷積網(wǎng)絡(luò)模型對板栗栗蓬特征提取能力。在YOLOv8的頭部增加一個微小栗蓬目標(biāo)檢測頭,與YOLOv8原有的3個檢測頭共同組成檢測模塊,使網(wǎng)絡(luò)模型更好地捕捉小板栗栗蓬目標(biāo)特征。經(jīng)自建數(shù)據(jù)集上的訓(xùn)練和驗(yàn)證試驗(yàn),改進(jìn)后卷積網(wǎng)絡(luò)YOLOv8-Vcj板栗栗蓬檢測精確率比YOLOv8高1.3%,mAP@0.5和mAP@0.5∶0.95值比YOLOv8分別提高4.6%和3.4%。改進(jìn)卷積網(wǎng)絡(luò)板栗栗蓬檢測誤差主要來自光照條件和圖像中板栗栗蓬目標(biāo)的密集程度。研究結(jié)果表明:融合CBAM注意力機(jī)制和增加微小目標(biāo)檢測頭的改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)YOLOv8-Vcj能夠有效實(shí)現(xiàn)樹上板栗栗蓬的檢測。
關(guān)鍵詞:板栗栗蓬;YOLOv8;目標(biāo)檢測;CBAM;檢測頭
中圖分類號:TS736+.4
文獻(xiàn)標(biāo)識碼:A
文章編號:2095-5553(2024)12-0251-08收稿日期:2024年3月6日
修回日期:2024年9月25日
*基金項(xiàng)目:國家自然科學(xué)基金面上項(xiàng)目(51775270)
第一作者(通訊作者):李志臣,男,1970年生,山東日照人,博士,副教授;研究方向?yàn)闄C(jī)電一體化。E-mail:lzc@jit.edu.cn
Detection method of Chinese chestnut in natural environment based on improved YOLOv8
Li Zhichen, Luo Weiping, Ling Xiujun, Li Hongqiu
(School of Mechanical amp; Electrical Engineering, Jinling Institute of Technology, Nanjing, 211169, China)
Abstract: In view of the high cost and safety risk caused by artificial knock harvest chestnut, it is very important to study the unmanned aerial vehicle chestnut harvest methods. In order to rapidly and precisely identify chestnut targets under natural light conditions, a modified convolutional network model detection method based on YOLOv8 was proposed. The CBAM attention mechanism was added to the C2f module of the YOLOv8 backbone network to enhance the convolutional network model ability of extracting chestnut features. A small chestnut target detection head was added to the head of YOLOv8 which formed the detection module together with the original three detection heads of YOLOv8. This method (YOLOv8-Vcj) enabled the network model to better capture the target features of small chestnut. Through training and validation experiments on the self-built data set, the detection accuracy of YOLOv8-Vcj was 1.3% higher than YOLOv8 and the mAP@0.5 and mAP@0.5∶0.95 values were 4.6% and 3.4% higher than YOLOv8, respectively. The chestnut detection error of the improved convolution network mainly comes from the light conditions and the density of chestnut targets in the images. The research results show that the improved convolutional neural network YOLOv8-Vcj of combining the CBAM attention mechanism and a small target detection head can effectively detect chestnuts on the tree.
Keywords: chestnut peng; YOLOv8; object detection; CBAM; detection head
0 引言
板栗營養(yǎng)豐富、口感怡人而備受人們喜愛,我國板栗種植面積已經(jīng)穩(wěn)居全球第一位。板栗收獲以傳統(tǒng)人工敲打式為主,人工收獲板栗效率低且不安全。在我國板栗大多種植在丘陵山區(qū),近幾年農(nóng)村青壯勞力越來越少,農(nóng)村老人已經(jīng)不能爬山而放棄收獲山上成熟板栗,浪費(fèi)了自然贈與的綠色食品。
板栗的機(jī)械化收獲既能解決勞力問題又能增加農(nóng)民收入。板栗智能采摘機(jī)器人是解決農(nóng)村勞動力不足、降低板栗采摘成本的重要途徑,智能化無人機(jī)收獲板栗既能夠無視陡坡山地的限制,完成高空板栗收獲作業(yè),又能節(jié)約勞動力、提升板栗收獲效率,對農(nóng)村板栗種植業(yè)具有重要意義。
宋望遠(yuǎn)等[1]研制板栗采收機(jī)試圖解決板栗采收問題,但該機(jī)上山困難且對陡坡上板栗樹并不有效。張?zhí)姨?sup>[2]研制基于雙目視覺的水果采摘無人機(jī)能夠準(zhǔn)確定位果實(shí)目標(biāo)。雒鷹等[3]設(shè)計紅松果采摘無人機(jī)能夠定位紅松果并用機(jī)械手完成采摘收獲。
成熟期板栗栗蓬所處環(huán)境的特點(diǎn)是光照條件復(fù)雜且綠色栗蓬被同顏色樹葉遮擋,準(zhǔn)確獲得樹上栗蓬空間信息是智能化無人機(jī)收獲板栗技術(shù)開發(fā)的首要任務(wù),用深度學(xué)習(xí)方法準(zhǔn)確檢測板栗栗蓬是無人機(jī)收獲的前提。
YOLO算法運(yùn)算時間短、速度快、成本低,適合目標(biāo)識別,網(wǎng)絡(luò)YOLO使用圖像全局特征檢測目標(biāo),能夠關(guān)注整幅圖像并同時檢測到圖像中所有目標(biāo),全局視野使得網(wǎng)絡(luò)YOLO適應(yīng)不同條件和不同場景下的目標(biāo)檢測。YOLO發(fā)展了一系列的版本,截至到現(xiàn)在,YOLO已經(jīng)發(fā)展到v8版本,各種版的YOLO被廣泛應(yīng)用到農(nóng)業(yè)檢測領(lǐng)域。
多位學(xué)者通過改進(jìn)YOLO結(jié)構(gòu)實(shí)現(xiàn)了準(zhǔn)確的松材線蟲病異常變色木檢測和提高了無人機(jī)圖像麥穗計數(shù)的精度[4, 5]。王磊磊等[6]改進(jìn)YOLOv5對成熟平菇、未成熟平菇和未生長平菇檢測的精度較高。也有學(xué)者利用網(wǎng)絡(luò)YOLO進(jìn)行動物行為檢測或者動物個體識別,取得較好效果[7-9]。還有學(xué)者利用YOLO檢測田間雜草,為智能化除草提供了基礎(chǔ)[10, 11]。喬琛等[12]基于網(wǎng)絡(luò)YOLOv5模型設(shè)計的黃瓜霜霉病菌孢子定量檢測卷積神經(jīng)網(wǎng)絡(luò),有效降低了模型參數(shù)計算量和模型深度,提升了對黃瓜霜霉病菌孢子的檢測速度和精度。喬珠峰等[13]在YOLOv5模型基礎(chǔ)上,引入高效通道注意力機(jī)制而開發(fā)的草莓病害識別終端可以有效識別草莓白粉菌果病、角斑病、葉斑病等病害。
Ultralytics發(fā)布的YOLOv8進(jìn)一步提高了性能和靈活性,是對各種對象檢測任務(wù)可選擇的深度學(xué)習(xí)模型。許多學(xué)者開展了YOLOv8應(yīng)用于目標(biāo)檢測研究。劉子洋等[14]為解決漏檢小目標(biāo)問題,在YOLOv8中引入注意力機(jī)制和GSConv模塊,改進(jìn)YOLOv8網(wǎng)絡(luò)模型精度提高4.6%,小目標(biāo)檢測精度提高了2.3%。通過加入注意力機(jī)制等方法改進(jìn)YOLOv8網(wǎng)絡(luò)模型對帶鋼表面缺陷進(jìn)行檢測,精度指標(biāo)有明顯提升[15, 16]。李松等[17]融合注意力機(jī)制和頸部網(wǎng)絡(luò)中使用C2fGhost模塊改進(jìn)YOLOv8網(wǎng)絡(luò),該網(wǎng)絡(luò)對道路損傷的檢測精度指標(biāo)mAP@0.5提高了2%。左昊軒等[18]通過多次增加注意力機(jī)制和替換損失函數(shù)的方法進(jìn)行YOLOv8網(wǎng)絡(luò)模型改進(jìn),改進(jìn)模型實(shí)現(xiàn)了對玉米莖稈原位的準(zhǔn)確識別。
雖然卷積神經(jīng)網(wǎng)絡(luò)YOLOv8目標(biāo)檢測方法標(biāo)注簡單、部署時快速、算法成熟、目標(biāo)檢測識別速度和精度高,但是針對特定目標(biāo)檢測應(yīng)用需要有針對性的改進(jìn)以提高檢測性能,例如當(dāng)圖像的板栗目標(biāo)尺度較小時,網(wǎng)絡(luò)YOLOv8對應(yīng)檢測能力也較弱。改進(jìn)后卷積網(wǎng)絡(luò)模型要便于部署到無人機(jī)上,這就要求網(wǎng)絡(luò)計算量不能增加太多,否則龐大的卷積網(wǎng)絡(luò)計算量將使得神經(jīng)網(wǎng)絡(luò)模型在無人機(jī)設(shè)備上部署變得更加困難。
針對板栗圖像的難分目標(biāo)引入空間和通道注意力機(jī)制,將YOLOv8網(wǎng)絡(luò)結(jié)構(gòu)中的C2f模塊改進(jìn)為C2f_CBAM模塊,提高網(wǎng)絡(luò)模型板栗特征提取能力,提高板栗檢測精度。針對板栗栗蓬目標(biāo)小的特點(diǎn),研究中在YOLOv8三個檢測頭基礎(chǔ)上增加一個針對小目標(biāo)識別的檢測頭。
1 數(shù)據(jù)與方法
1.1 圖像采集及數(shù)據(jù)集制作
五蓮板栗以營養(yǎng)豐富、果實(shí)個大、飽滿、油足,耐貯藏著稱,全縣板栗種植面積達(dá)26 666.7 khm2,年產(chǎn)板栗20 kt。馬耳山前的李家峪村有著悠久的板栗種植歷史,村后山板栗林具有代表性,試驗(yàn)數(shù)據(jù)采集于這片板栗林,如圖1(a)所示。2023年9月29日—10月3日,在不同時間段、不同天氣狀況下和不同的遮擋條件下,用小米手機(jī)拍攝圖像,為提高網(wǎng)絡(luò)模型的適應(yīng)性,從百度下載了一些圖像,如圖1(b)所示,圖1(c)是逆光栗蓬圖像,圖1(d)是順光栗蓬圖像。將942幅圖像分成訓(xùn)練和驗(yàn)證2組,844幅圖像用于訓(xùn)練,98幅圖像用于驗(yàn)證。
LabelMe是一個用于圖像標(biāo)注的開源工具,支持各種圖像格式,廣泛應(yīng)用于計算機(jī)視覺和機(jī)器學(xué)習(xí)領(lǐng)域,以用于訓(xùn)練和評估模型。打開圖像后,運(yùn)用“Create Polygons”命令菜單在目標(biāo)邊界繪制矩形框,為每個框添加標(biāo)簽和屬性。完成一幅圖像的所有目標(biāo)標(biāo)注后,以JSON導(dǎo)出標(biāo)注數(shù)據(jù)以供后續(xù)使用,利用.json轉(zhuǎn)換成.txt文件的腳本把人工標(biāo)注的.json標(biāo)簽文件轉(zhuǎn)換成.txt文件。
1.2 試驗(yàn)設(shè)備及參數(shù)設(shè)置
訓(xùn)練和驗(yàn)證測試的計算機(jī)型號:Lenovo 小新Pro-13 2019,內(nèi)存容量16 GB,CPU為酷睿i5-10210U。軟件使用Windows10專業(yè)版系統(tǒng),深度學(xué)習(xí)框架應(yīng)用PyTorch,在學(xué)習(xí)過程中采用的優(yōu)化函數(shù)[19]是自適應(yīng)矩估計。動量因子為0.9,學(xué)習(xí)率為0.01,批樣本數(shù)量為16。
2 YOLOv8的改進(jìn)
YOLO通過卷積神經(jīng)網(wǎng)絡(luò)(CNN)模型把圖像分成多個網(wǎng)格,再預(yù)測每個網(wǎng)格內(nèi)存在目標(biāo)的邊框位置和類別概率,從而實(shí)現(xiàn)端到端的目標(biāo)檢測。2023年,YOLO系列已經(jīng)發(fā)展到v8版本,YOLOv8是一個目標(biāo)檢測網(wǎng)絡(luò)最先進(jìn)技術(shù)(SOTA)和實(shí)例分割模型,YOLOv8的推理速度更快、檢測精度更高、更加方便訓(xùn)練,關(guān)鍵是YOLOv8更加易于二次開發(fā)。
YOLOv8創(chuàng)新之一就是利用C2f模塊堆疊,構(gòu)成較多Bottleneck結(jié)構(gòu),使得不同尺度特征得以更好地提取應(yīng)用。針對YOLOv8對小目標(biāo)特征提取不夠完整問題,在YOLOv8頭部引入了CBAM注意力機(jī)制。添加CBAM注意力機(jī)制僅僅增加了少許計算量,
但能更好地提取板栗栗蓬特征信息,有利于提高卷積神經(jīng)網(wǎng)絡(luò)模型檢測精度。面對具體圖像有多個小目標(biāo)的現(xiàn)狀,在YOLOv8已有3個檢測頭基礎(chǔ)上增加一個針對多目標(biāo)和小目標(biāo)的檢測頭。
2.1 注意力機(jī)制
注意力機(jī)制可以從大量輸入信息中選擇小部分重要信息來計算而忽略掉一些次要信息。注意力機(jī)制方法有很多,而BiFormer是一種雙層路由注意力機(jī)制,Biformer同時關(guān)注了當(dāng)前位置之前和之后的信息,BiFormer應(yīng)用稀疏性有效地節(jié)省內(nèi)存和減少計算量,能夠以查詢自適應(yīng)方式實(shí)現(xiàn)內(nèi)容感知的稀疏模式。根據(jù)文獻(xiàn)的介紹,BiFormer的關(guān)鍵是首先在圖像較大區(qū)域級別上過濾掉最不相關(guān)的鍵值對,只保留一小部分路由區(qū)域,再在這小部分路由區(qū)域應(yīng)用標(biāo)記到標(biāo)記(token-to-token)注意力[20]。文獻(xiàn)[14]介紹的方法也是通過引入BiFormer改進(jìn)YOLOv8提升了卷積網(wǎng)絡(luò)模型性能。
雖然BiFormer性能優(yōu)異,但經(jīng)過試驗(yàn)發(fā)現(xiàn),在YOLOv8后端添加BiFormer注意力機(jī)制,總參數(shù)量達(dá)到3 438 948,每秒10億次的浮點(diǎn)運(yùn)算數(shù)(GFLOPs)達(dá)到7 845.5,即使是把BiFormer添加到Y(jié)OLOv8前端,GFLOPs也達(dá)到了1 726,如此高的運(yùn)算在1.2節(jié)所述的試驗(yàn)環(huán)境下不能開展卷積網(wǎng)絡(luò)模型訓(xùn)練。
越往YOLOv8的里層,特征通道數(shù)越多,通道拼接就不可避免地產(chǎn)生信息冗余,因此需要對通道進(jìn)行加權(quán),這就是通道注意力機(jī)制,該機(jī)制即可使網(wǎng)絡(luò)應(yīng)用全局信息,又能有選擇地加權(quán)應(yīng)用通道信息,抑制了冗余信息,有利于提高網(wǎng)絡(luò)模型的有用特征提取能力。
同樣的原理,在每個特征圖里都存在噪聲信息和冗余信息,通過一個可訓(xùn)練權(quán)重參數(shù)與輸入數(shù)據(jù)進(jìn)行相乘,可使局部區(qū)域信息受到更加關(guān)注,從而使得網(wǎng)絡(luò)模型更有效地抑制噪聲或提取有效特征信息,這就是空間注意力機(jī)制。空間注意力機(jī)制主要特點(diǎn)在于其對輸入數(shù)據(jù)的局部區(qū)域進(jìn)行重點(diǎn)關(guān)注,在處理噪聲或復(fù)雜信息時具有更高性能和魯棒性。
融合空間注意力機(jī)制和通道注意力機(jī)制的CBAM注意力機(jī)制模塊對卷積神經(jīng)網(wǎng)絡(luò)感知能力有較大提高,從而提高網(wǎng)絡(luò)的檢測能力。有學(xué)者在卷積網(wǎng)絡(luò)YOLOv8中添加坐標(biāo)通道或者全局注意力機(jī)制模塊,提高了目標(biāo)檢測精度以及對不同尺度目標(biāo)特征提取能力[21-24]。
網(wǎng)絡(luò)YOLOv8的主干部分是Backbone,主要作用是特征提取,YOLOv8的Backbone中使用C2f模塊,該模塊應(yīng)用殘差網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行特征學(xué)習(xí),保證了網(wǎng)絡(luò)YOLOv8在擁有豐富梯度流信息的同時使得網(wǎng)絡(luò)輕量化。
C2f模塊中進(jìn)入到Bottleneck計算序列通道數(shù)僅僅是C2f輸入通道的0.5倍,計算量降低、梯度流增加從而提升收斂速度和收斂效果。通過修改C2f模塊提高卷積網(wǎng)絡(luò)目標(biāo)檢測性能被多位學(xué)者應(yīng)用[25]。把CBAM注意力機(jī)制添加到C2f模塊形成新的模塊C2f_CBAM,可以更好地理解板栗圖像上下文信息和圖像信息的空間關(guān)系,卷積神經(jīng)網(wǎng)絡(luò)的表現(xiàn)力和性能得以增強(qiáng)。利用C2f_CBAM替換YOLOv8第4、第6個模塊的C2f形成新卷積網(wǎng)絡(luò),如表1所示。通過在C2f模塊中添加CBAM注意力機(jī)制,可對C2f拼接多個通道造成的通道信息冗余問題得以緩解,使得Backbone往里層輸入的特征信息更加有利于板栗栗蓬目標(biāo)檢測,從而提高卷積網(wǎng)絡(luò)模型的板栗栗蓬檢測精度。
2.2 增加檢測頭
網(wǎng)絡(luò)YOLOv8頭部輸出端(Head)是網(wǎng)絡(luò)的檢測預(yù)測部分,Head可以根據(jù)尺寸大小不一特征圖獲取不同大小目標(biāo)物體的類別和位置信息。YOLOv8共有三個檢測頭用于檢測大型目標(biāo)、中型目標(biāo)和小型目標(biāo),但對于板栗樹圖像中的許多微小栗蓬目標(biāo)檢測能力不佳。如果栗蓬目標(biāo)標(biāo)簽框面積與整個圖像面積之比小于0.1%就是微小栗蓬目標(biāo),往往微小栗蓬目標(biāo)不僅小而且存在不同程度的遮擋、模糊和不完整現(xiàn)象,從而使得微小栗蓬目標(biāo)檢測變得非常困難。有學(xué)者在YOLOv7路徑聚合部分增加第4檢測支路,提高了網(wǎng)絡(luò)模型對農(nóng)田復(fù)雜環(huán)境下害蟲小目標(biāo)的檢測性能[26]。因此在YOLOv8的頭部增加一個微小栗蓬目標(biāo)的檢測頭就顯得很有必要。增加的檢測頭有自己獨(dú)特的錨框和預(yù)測層,與YOLOv8原有的3個檢測頭共同組成檢測模塊,用于檢測在圖像中尺寸差別較大的板栗栗蓬目標(biāo)。增加檢測頭后,可使網(wǎng)絡(luò)模型更好地捕捉小目標(biāo)的特征,多個檢測頭并行進(jìn)行板栗栗蓬目標(biāo)檢測,可提高板栗目標(biāo)檢測實(shí)時性。
2.3 網(wǎng)絡(luò)結(jié)構(gòu)
綜合這兩個方面改進(jìn)的YOLOv8網(wǎng)絡(luò)結(jié)構(gòu),將該網(wǎng)絡(luò)命名為YOLOv8-Vcj,改進(jìn)的栗蓬檢測網(wǎng)絡(luò)既能夠檢測大栗蓬目標(biāo),也能夠檢測小栗蓬目標(biāo)。為了方便栗蓬識別效果比較,將僅僅添加檢測頭的深度學(xué)習(xí)網(wǎng)絡(luò)稱作YOLOv8-Vj。改進(jìn)卷積網(wǎng)絡(luò)YOLOv8-Vcj與YOLOv8參數(shù)和網(wǎng)絡(luò)結(jié)構(gòu)的對比,如表1所示。YOLOv8-Vcj有28個卷積網(wǎng)絡(luò)模塊(module),YOLOv8僅有22個卷積模塊,表1中未列出的模塊表示網(wǎng)絡(luò)YOLOv8-Vcj和YOLOv8具有相同的卷積模塊。對于序號為4和6的模塊,YOLOv8應(yīng)用C2f卷積,YOLOv8-Vcj使用C2f_CBAM卷積,在網(wǎng)絡(luò)中的位置如圖2所示,圖中每個框代表一個網(wǎng)絡(luò)模塊,Conv是卷積模塊,該模塊包含卷積、批歸一化和激活等運(yùn)算過程。C2f模塊在densenet基礎(chǔ)上增加跳層連接,取消分支卷積,增加split操作。SPPF模塊利用三次連續(xù)池化,采用大kernel和非膨脹卷積,降低了計算量,增大了感受野。Upsample為上采樣模塊。Concat將兩個張量在同一個維度上連接在一起,生成一個更大的張量。YOLOv8 有三個檢測頭,分別在15、18和21模塊檢測輸出。YOLOv8-Vcj有四個檢測頭(Detect模塊),分別在18、21、24和27模塊檢測輸出。改進(jìn)網(wǎng)絡(luò)與未改進(jìn)卷積網(wǎng)絡(luò)的有關(guān)結(jié)構(gòu)參數(shù)如表2所示,改進(jìn)網(wǎng)絡(luò)YOLOv8-Vcj的參數(shù)量和運(yùn)算量比YOLOv8的多。
2.4 評價指標(biāo)
選擇全類平均正確率mAP作為網(wǎng)絡(luò)模型的評價指標(biāo),在深度學(xué)習(xí)目標(biāo)檢測任務(wù)中,mAP是個十分重要的衡量指標(biāo),mAP是將所有類別檢測的平均正確率(AP)進(jìn)行綜合加權(quán)平均而得到的。在栗蓬的目標(biāo)檢測中,檢測閾值的大小影響到mAP值的變化,因此,在研究中用mAP@0.5和mAP@0.5∶0.95來評價卷積網(wǎng)絡(luò)模型檢測板栗栗蓬的性能,mAP@0.5是指將重疊度IoU的閾值設(shè)置為0.5時計算得出的mAP值,mAP@0.5∶0.95表示在不同IoU閾值(從0.5~0.95,步長0.05)上的平均mAP。IoU的計算見式(1),設(shè)目標(biāo)檢測任務(wù)中共有n類檢測目標(biāo),第i類目標(biāo)檢測的正確率為APi,計算mAP的見式(2)。
IoU=area(Bp∩Bgt)/area(Bp∪Bgt) (1)
mAP=1/n∑n-1/0APi (2)
式中:Bp——栗蓬檢測框;
Bgt——栗蓬真實(shí)框。
具體的栗蓬檢測識別的AP的算法步驟:(1)標(biāo)記每個檢測到的栗蓬框的序號,計算其TP、FP和FN。選取IoU的閾值為IoUT,TP-IoUgt;IoUT的栗蓬檢測框的數(shù)量,F(xiàn)P-IoU≤IoUT的栗蓬檢測框的數(shù)量或者檢測到同一個栗蓬多余的檢測框數(shù)量,F(xiàn)N-實(shí)際是栗蓬而沒有檢測到的栗蓬數(shù)量。(2)標(biāo)記的框按置信度有序排列,根據(jù)累積的TP、FP和FN計算每個框的P和R值,見式(3)和式(4)。(3)計算P-R曲線下的面積,AP就等于該面積的值。
P=TP/TP+FP (3)
R=TP/TP+FN (4)
3 訓(xùn)練、驗(yàn)證與評估
3.1 訓(xùn)練策略和對比試驗(yàn)
對3個卷積神經(jīng)網(wǎng)絡(luò)模型YOLOv8、YOLOv8-Vj和YOLOv8-Vcj展開訓(xùn)練,網(wǎng)絡(luò)訓(xùn)練環(huán)境如1.2節(jié)所述,用844幅各種條件下拍攝的板栗樹圖像訓(xùn)練卷積網(wǎng)絡(luò),用99幅板栗樹圖像驗(yàn)證卷積網(wǎng)絡(luò),開始訓(xùn)練前,設(shè)置迭代次數(shù)為200個epoch,啟用早停策略,在迭代過程中當(dāng)超過50個epoch性能不再提高就停止迭代,保存最優(yōu)的權(quán)重模型。
精度—置信度曲線是一種評估卷積神經(jīng)網(wǎng)絡(luò)檢測性能的工具,該曲線能夠展示網(wǎng)絡(luò)模型在不同置信度閾值下精度變化情況。圖3(a)、圖3(b)分別是網(wǎng)絡(luò)模型YOLOv8和YOLOv8-Vcj的精度—置信度曲線。兩個網(wǎng)絡(luò)模型對板栗栗蓬的檢測精度都在置信度閾值0.8附近達(dá)到最高值1,說明當(dāng)把置信度閾值設(shè)置較高時,兩個網(wǎng)絡(luò)仍能獲得高的板栗栗蓬檢測精度。經(jīng)過驗(yàn)證試驗(yàn),3個網(wǎng)絡(luò)模型的性能如表3所示。
YOLOv8相對于另外兩個卷積網(wǎng)絡(luò),參數(shù)量以及計算量少,迭代33個epoch就能達(dá)到最佳值,添加CBAM注意力機(jī)制和增加一個檢測頭的卷積網(wǎng)絡(luò)YOLOv8-Vcj迭代63個epoch達(dá)到最優(yōu)值。通過用相同的樹上栗蓬圖像數(shù)據(jù)集分別對YOLOv8、YOLOv8-Vj和YOLOv8-Vcj三種深度學(xué)習(xí)網(wǎng)絡(luò)模型進(jìn)行驗(yàn)證試驗(yàn),三個卷積網(wǎng)絡(luò)的單幅板栗圖像的檢測時間都不超過300 ms。
網(wǎng)絡(luò)YOLOv8-Vj對自然環(huán)境下栗蓬檢測性能比YOLOv8略高,說明增加一個檢測頭能夠檢測到小栗蓬目標(biāo),融合注意力機(jī)制和增加檢測頭的改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)YOLO-Vcj的精確率比YOLOv8高1.3%,
YOLO-Vcj檢測mAP@0.5和mAP@0.5∶0.95比YOLOv8分別提高4.6%和3.4%,基于YOLOv8改進(jìn)神經(jīng)網(wǎng)絡(luò)YOLO-Vcj的栗蓬果實(shí)信息挖掘能力更優(yōu),栗蓬果實(shí)特征提取性能更高,綜合比較3個卷積網(wǎng)絡(luò)評估指標(biāo),改進(jìn)YOLOv8的卷積網(wǎng)絡(luò)模型YOLO-Vcj對栗蓬的檢測具有更好的性能。
3.2 熱力圖分析
類激活映射CAM(Class Activation Map)是一種生成熱力圖的技術(shù),用于突出圖像類的特定區(qū)域,熱力圖可以清晰展示卷積網(wǎng)絡(luò)模型對板栗栗蓬特征提取的效果,熱力圖還可以比較兩個卷積網(wǎng)絡(luò)模型特征提取的差異。使用熱力圖以權(quán)重形式來展現(xiàn)神經(jīng)網(wǎng)絡(luò)對圖片的哪一部分激活值最大,熱力圖中的顏色越深,表示該區(qū)域的權(quán)重值越高。逆光拍攝板栗圖像檢測難度較大,圖4展示卷積網(wǎng)絡(luò)YOLOv8和YOLOv8-Vcj對逆光板栗圖像的熱力圖比較,圖4(a)為YOLOv8檢測板栗圖像熱力圖,圖4(b)為YOLOv8-Vcj檢測板栗圖像熱力圖。
卷積網(wǎng)絡(luò)YOLOv8板栗檢測的深色區(qū)域雜亂無章,不能聚焦,最深色區(qū)域不在板栗栗蓬區(qū),網(wǎng)絡(luò)YOLOv8對掛在樹梢上的栗蓬目標(biāo)關(guān)注較少,相對而言沒有提取到豐富的板栗栗蓬目標(biāo)特征。而對于卷積網(wǎng)絡(luò)YOLOv8-Vcj,深色更加集中在板栗果實(shí)周圍,網(wǎng)絡(luò)YOLOv8-Vcj模型對于板栗栗蓬特征更加重視,改進(jìn)卷積網(wǎng)絡(luò)對不同尺度板栗栗蓬目標(biāo)特征提取效果有著明顯的增強(qiáng),從而證明網(wǎng)絡(luò)YOLOv8-Vcj具有更佳的板栗檢測性能。改進(jìn)網(wǎng)絡(luò)YOLOv8-Vcj算法能夠符合對板栗栗蓬目標(biāo)的檢測要求,可以應(yīng)用到自然光條件下的樹上板栗栗蓬檢測任務(wù)中。
3.3 精度影響因素
板栗一般在九月底采摘,此時板栗樹葉沒有脫落,往往對板栗栗蓬形成部分或全部遮擋。改進(jìn)卷積網(wǎng)絡(luò)YOLO-Vcj能夠?qū)φ趽醢謇跤行z測,如圖5(a)和圖5(b)所示,圖5(a)中右上方兩個板栗栗蓬大部分被遮擋,網(wǎng)絡(luò)YOLO-Vcj也能檢測,但是多檢測出一個框,并且置信度只有0.4,在該圖像中右下方的一個板栗栗蓬小目標(biāo)被有效檢測到,圖5(b)中的板栗栗蓬遮擋面積超過50%,網(wǎng)絡(luò)YOLO-Vcj也能準(zhǔn)確檢測到。經(jīng)過比照分析,改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)能提取被板栗葉遮擋栗蓬的特征,網(wǎng)絡(luò)YOLO-Vcj對樹葉遮擋栗蓬目標(biāo)都能正確地識別。圖5(c)為逆太陽光拍攝的板栗圖像,圖像中有4個板栗栗蓬目標(biāo),網(wǎng)絡(luò)YOLO-Vcj檢測到3個板栗栗蓬目標(biāo),最上方的1個栗蓬有2個檢測框,造成重復(fù)檢測,2個檢測框的最大置信度僅有0.37,右上方的栗蓬目標(biāo)被漏檢。逆光刺眼環(huán)境下,肉眼識別栗蓬目標(biāo)難度加大。用于訓(xùn)練、測試的板栗圖像是在不同時間段和不同的天氣條件下拍攝的,板栗栗蓬目標(biāo)外觀特征會發(fā)生一定程度的變化,從而影響網(wǎng)絡(luò)模型YOLO-Vcj對板栗栗蓬目標(biāo)檢測的準(zhǔn)確性。逆光圖像中可能存在光線反射、陰影、光照不均等噪聲,逆光條件下,目標(biāo)物體可能與背景亮度幾乎一致,缺乏足夠的對比度,逆光板栗圖像的這些限制導(dǎo)致網(wǎng)絡(luò)YOLO-Vcj檢測算法不能準(zhǔn)確地識別和定位板栗目標(biāo)物體。
圖5(d)中含有許多個板栗栗蓬目標(biāo),每個栗蓬目標(biāo)都比較小,盡管網(wǎng)絡(luò)YOLO-Vcj能夠檢測到絕大部分目標(biāo),但既有重復(fù)檢測現(xiàn)象也有置信度偏低現(xiàn)象,左上方密集小目標(biāo)栗蓬有的未能有效檢測識別。小目標(biāo)栗蓬在圖像中占有像素數(shù)量少,特征提取的信息較少,訓(xùn)練網(wǎng)絡(luò)過程中,由于大目標(biāo)栗蓬數(shù)量多,小目標(biāo)栗蓬數(shù)量少,因此在學(xué)習(xí)中被大目標(biāo)栗蓬主導(dǎo),小目標(biāo)栗蓬在整個學(xué)習(xí)過程被忽視。盡管增加一個小目標(biāo)檢測頭,但小目標(biāo)栗蓬分辨率低、圖像模糊、攜帶信息少,在提取特征的過程中,能提取到的特征非常少,不利于改進(jìn)網(wǎng)絡(luò)YOLO-Vcj對小目標(biāo)板栗栗蓬的檢測。
板栗樹生長在山上,圖像的背景復(fù)雜,板栗圖像背景包括各種類型的樹木、不同種類的果實(shí)等內(nèi)容,這些因素都能干擾網(wǎng)絡(luò)模型YOLO-Vcj對板栗栗蓬目標(biāo)檢測,使卷積網(wǎng)絡(luò)造成栗蓬的漏檢或者誤判。
4 結(jié)論
1)人工采摘板栗耗時且勞動密集,無人機(jī)采摘板栗效率高、適應(yīng)性強(qiáng),可解決山區(qū)板栗收獲難題。通過開展在C2f模塊中添加CBAM注意力機(jī)制的研究,并在YOLOv8具有三個檢測頭的基礎(chǔ)上增加一個檢測頭獲得新卷積網(wǎng)絡(luò)YOLO-Vcj。改進(jìn)網(wǎng)絡(luò)對自然光照條件下的板栗栗蓬檢測平均精度達(dá)到了87.8%,與未改進(jìn)的YOLOv8相比提高了1.3個百分點(diǎn),板栗栗蓬檢測的mAP@0.5和mAP@0.5∶0.95值分別達(dá)到了83.1%和38.7%。比YOLOv8分別提高4.6個和3.4個百分點(diǎn),改進(jìn)YOLOv8網(wǎng)絡(luò)模型用于樹上栗蓬目標(biāo)的識別是可行的。
2)改進(jìn)卷積網(wǎng)絡(luò)參數(shù)量增加不大,每幅板栗栗蓬圖像檢測時間在300 ms以內(nèi),檢測速度較快,滿足栗蓬檢測是實(shí)時性要求,具備無人機(jī)移植潛力。
改進(jìn)卷積網(wǎng)絡(luò)模型YOLO-Vcj對逆光條件下和密集多又小板栗目標(biāo)圖像檢測存在漏檢現(xiàn)象,在今后的研究中可采取圖像數(shù)據(jù)增強(qiáng)的方法增加逆光板栗圖像的數(shù)量,從而提高卷積網(wǎng)絡(luò)模型的泛化能力。還可融合板栗紅外圖像,提高板栗檢測的準(zhǔn)確性。
參 考 文 獻(xiàn)
[1] 宗望遠(yuǎn), 黃木昌, 肖洋軼, 等. 板栗收獲拍打式落果裝置設(shè)計與試驗(yàn)[J]. 農(nóng)業(yè)工程學(xué)報, 2022, 37(18): 1-10.
Zong Wangyuan, Huang Muchang, Xiao Yangyi, et al. Design and experiment of the fruit-beating dropping device for chestnut harvesters [J]. Transactions of the Chinese Society of Agricultural Engineering, 2022, 37(18): 1-10.
[2] 張?zhí)姨? 基于可拓設(shè)計的無人機(jī)水果采摘的結(jié)構(gòu)設(shè)計[D]. 廣州:廣東工業(yè)大學(xué), 2016.
Zhang Taotao. The design of the structure about UAV fruit picker based on the extension design [D]. Guangzhou:Guangdong University of Technology, 2016.
[3] 雒鷹, 程鴻遠(yuǎn), 孟黎鵬, 等. 利用無人機(jī)采摘紅松球果初探[J]. 林業(yè)機(jī)械與木工設(shè)備, 2022, 50(1): 64-66.
Luo Ying, Cheng Hongyuan, Meng Lipeng, et al. Preliminary study on picking pinus koraiensis cones using unmanned aerial vehicles [J]. Forestry Machinery amp; Wood Working Equipment, 2022, 50(1): 64-66.
[4] 黃麗明, 王懿祥, 徐琪, 等. 采用YOLO算法和無人機(jī)影像的松材線蟲病異常變色木識別[J]. 農(nóng)業(yè)工程學(xué)報, 2021, 37(14): 197-203.
Huang Liming, Wang Yixiang, Xu Qi, et al. Recognition of abnormally discolored trees caused by pine wilt disease using YOLO algorithm and UAV images [J]. Transactions of the Chinese Society of Agricultural Engineering, 2021, 37(14): 197-203.
[5] 鮑文霞, 謝文杰, 胡根生, 等. 基于TPH-YOLO的無人機(jī)圖像麥穗計數(shù)方法[J]. 農(nóng)業(yè)工程學(xué)報, 2023, 39(1): 155-161.
Bao Wenxia, Xie Wenjie, Hu Gensheng, et al. Wheat ear counting method in UAV images based on TPH-YOLO [J]. Transactions of the Chinese Society of Agricultural Engineering, 2023, 39(1): 155-161.
[6] 王磊磊, 王斌, 李東曉, 等. 基于改進(jìn)YOLOv5的菇房平菇目標(biāo)檢測與分類研究[J]. 農(nóng)業(yè)工程學(xué)報, 2023, 39(17): 163-171.
Wang Leilei, Wang Bin, Li Dongxiao, et al. Object detection and classification of pleurotus o-streatus using improved YOLOv5 [J]. Transactions of the Chinese Society of Agricultural Engineering, 2023, 39(17): 163-171.
[7] 肖德琴, 曾瑞麟, 周敏, 等. 基于DH-YOLOX的群養(yǎng)馬崗鵝關(guān)鍵行為監(jiān)測[J]. 農(nóng)業(yè)工程學(xué)報, 2023, 39(2): 142-149.
Xiao Deqin, Zeng Ruilin, Zhou Min, et al. Monitoring the vital behavior of Magang geese raised in flocks based on DH-YOLOX [J]. Transactions of the Chinese Society of Agricultural Engineering, 2023, 39(2): 142-149.
[8] 王政, 許興時, 華志新, 等. 融合YOLOv5n與通道剪枝算法的輕量化奶牛發(fā)情行為識別[J]. 農(nóng)業(yè)工程學(xué)報, 2022, 38(23): 130-140.
Wang Zheng, Xu Xingshi, Hua Zhixin, et al. Lightweight recognition for the oestrus behavior of dairy cows combin ing YOLOv5n and channel pruning [J].Transactions of the Chinese Society of Agricultural Engineering, 2022, 38(23): 130-140.
[9] 金耀, 何秀文, 萬世主, 等. 基于YOLOv3的生豬個體識別方法[J]. 中國農(nóng)機(jī)化學(xué)報, 2021, 42(2): 178-183.
Jin Yao, He Xiuwen, Wan Shizhu, et al. Individual pig identification method based on YOLOv3 [J]. Journal of Chinese Agricultural Mechanization, 2021, 42(2): 178-183.
[10] 張繼成, 侯郁碩, 鄭萍, 等. 低數(shù)據(jù)集下基于ASPP-YOLO V5模型的莧菜識別方法研究與試驗(yàn)[J]. 農(nóng)業(yè)機(jī)械學(xué)報, 2023, 54(S2): 223-228.
Zhang Jicheng, Hou Yushuo, Zheng Ping, et al. Research and experiment of amaranth identification method based on ASPP-YOLO V5 model in low data set [J]. Transactions of the Chinese Society for Agricultural Machinery, 2023, 54(S2): 223-228.
[11] 王秀紅, 王慶杰, 李洪文, 等. 基于YOLOv5-Jexton TX2的秸稈覆蓋農(nóng)田雜草檢測方法[J]. 農(nóng)業(yè)機(jī)械學(xué)報, 2023, 54 (11): 39-48.
Wang Xiuhong, Wang Qingjie, Li Hongwen, et al. Weed detection method of straw-covered farmland based on YOLOv5-Jexton TX2 [J]. Transactions of the Chinese Society for Agricultural Machinery, 2023, 54(11): 39-48.
[12] 喬琛, 韓夢瑤, 高葦, 等. 基于Faster-NAM-YOLO的 黃瓜霜霉病菌孢子檢測[J]. 農(nóng)業(yè)機(jī)械學(xué)報, 2023, 54(12): 288-299.
Qiao Chen, Han Mengyao, Gao Wei, et al. Quantitative detection of cucumber downy mildew spores at multi-scale based on Faster-NAM-YOLO [J]. Transactions of the Chinese Society for Agricultural Machinery, 2023, 54(12): 288-299.
[13] 喬珠峰, 趙秋菊, 郭建鑫, 等. 基于改進(jìn)YOLOv5的草莓病害智能識別終端設(shè)計[J]. 中國農(nóng)機(jī)化學(xué)報, 2024, 45(3): 205-211.
Qiao Zhufeng, Zhao Qiuju, Guo Janxini, et al. Design of strawberry disease intelligent identification terminal based on improved YOLOv5[J]. Journal of Cinese Agricultural Mechanization, 2024, 45(3): 205-211.
[14] 劉子洋, 徐慧英, 朱信忠, 等. Bi-YOLO:一種基于YOLOv8改進(jìn)的輕量化目標(biāo)檢測算法[J]. 計算機(jī)工程與科學(xué), 2024, 46(8): 1444-1454.
Liu Ziyang, Xu Huiying, Zhu Xinzhong, et al. Bi-YOLO: An improved lightweight object detection algorithm based on YOLOv8 [J]. Computer Engineering amp; Science, 2024, 46(8): 1444-1454.
[15] 王春梅, 劉歡. YOLOv8-VSC:一種輕量級的帶鋼表面缺陷檢測算法[J].計算機(jī)科學(xué)與探索, 2024, 18(1): 151-161.
Wang Chunmei, Liu Huan. YOLOv8-VSC: A lightweight algorithm for strip surface defect detection [J]. Journal of Frontiers of Computer Science and Technology, 2024, 18(1): 151-161.
[16] 崔克彬, 焦靜頤. 基于MCB-FAH-YOLOv8的鋼材表面缺陷檢測算法[J]. 圖學(xué)學(xué)報, 2024, 45(1): 112-125.
Cui Kebin, Jiao Jingyi. Steel surface defect detection algorithm based on MCB-FAH-YOLOv8 [J]. Journal of Graphics, 2024, 45(1): 112-125.
[17] 李松, 史濤, 井方科. 改進(jìn)YOLOv8的道路損傷檢測算法[J]. 計算機(jī)工程與應(yīng)用, 2023, 59(23): 165-174.
Li Song, Shi Tao, Jing Fangke. Improved road damage detection algorithm of YOLOv8 [J].Computer Engineering and Applications, 2023, 59(23): 86-95.
[18] 左昊軒, 黃祺成, 楊佳昊, 等. 基于雙目視覺和改進(jìn)YOLOv8的玉米莖稈寬度原位識別方法[J]. 智慧農(nóng)業(yè)(中英文), 2023, 5(3): 165-174.
Zuo Haoxuan, Huang Qicheng, Yang Jiahao, et al. In situ identification method of maize stalk width based on improved YOLOv8 [J]. Smart Agriculture, 2023, 5(3): 165-174.
[19] 李志臣, 凌秀軍, 李鴻秋, 等. 基于改進(jìn)ShuffleNet的板栗分級方法[J]. 山東農(nóng)業(yè)大學(xué)學(xué)報(自然科學(xué)版), 2023, 54(2): 299-307.
Li Zhichen, Ling Xiujun, Li Hongqiu, et al. Chestnut grading method based on improved ShuffleNet [J]. Journal of Shandong Agricultural University (Natural Science Edition), 2023, 54(2): 299-307.
[20] 張林鍹, 巴音塔娜, 曾慶松. 基于StyleGAN2-ADA和改進(jìn)YOLOv7的葡萄葉片早期病害檢測方法[J]. 農(nóng)業(yè)機(jī)械學(xué)報, 2024, 55(1): 241-252.
Zhang Linxuan, Ba Yintana, Zeng Qingsong. Grape disease detection algorithm based on StyleGAN2-ADA and improved YOLOv7 [J]. Transactions of the Chinese Society for Agricultural Machinery, 2024, 55(1): 241-252.
[21] 李斌, 雷鈞涵, 郭毅. 基于CCA和Transformer的YOLOv8船舶目標(biāo)檢測算法[J]. 控制工程, 2024, 31(5): 901-911.
Li Bin, Lei Junhan, Guo Yi. YOLOv8 ship target detection algorithm based on CCA and Transformer [J]. Control Engineering of China, 2024, 31(5): 901-911.
[22] 彭紅星, 徐慧明, 高宗梅, 等. 基于改進(jìn)YOLOF模型的田間農(nóng)作物害蟲檢測方法[J]. 農(nóng)業(yè)機(jī)械學(xué)報, 2023, 54(4): 285-294, 303.
Peng Hongxing, Xu Huiming, Gao Zongmei, et al. Insectpest detection of field crops based on improved YOLOF model [J]. Transactions of the Chinese Society for Agricultural Machinery, 2023, 54(4): 285-294, 303.
[23] 苗榮慧, 李志偉, 武錦龍. 基于改進(jìn)YOLO v7的輕量化櫻桃番茄成熟度檢測方法[J]. 農(nóng)業(yè)機(jī)械學(xué)報, 2023, 54(10): 225-233.
Miao Ronghui, Li Zhiwei, Wu Jinlong. Lightweight maturity detection of cherry tomato based on improved YOLOv7 [J].Transactions of the Chinese Society for Agricultural Machinery, 2023, 54(10): 225-233.
[24] 倪云峰, 霍潔, 侯穎, 等. 基于YOLOv8-OCR的井下人員檢測算法[J].無線電工程, 2024, 54(8): 1847-1853.
Ni Yunfeng, Huo Jie, Hou Ying, et al. Underground personnel detection algorithm based on YOLOv8-OCR [J]. Radio Engineering, 2024, 54(8): 1847-1853.
[25] 張秀再, 沈濤, 許岱. 基于改進(jìn)YOLOv8算法的遙感圖像目標(biāo)檢測[J]. 激光與光電子學(xué)進(jìn)展, 2024, 61(10): 298-308.
Zhang Xiuzai, Shen Tao, Xu Dai. Improved YOLOv8 algorithm for remote sensing image target detection [J]. Laser amp; Optoelectronics Progress, 2024, 61(10): 298-308.
[26] 趙輝, 黃鏢, 王紅君, 等. 基于改進(jìn)YOLOv7的農(nóng)田復(fù)雜環(huán)境下害蟲識別算法研究[J]. 農(nóng)業(yè)機(jī)械學(xué)報, 2023, 54(10): 245-254.
Zhao Hui, Huang Biao, Wang Hongjun, et al. Pest identification method in complex farmland environment based on improved YOLOv7[J]. Transactions of the Chinese Society for Agricultural Machinery, 2023, 54(10): 245-254.