






關鍵詞:深度學習;雜草識別;YOLOv8n;激活函數;Focal Loss
中圖分類號:TP391.41 文獻標志碼:A
0引言(Introduction)
雜草在農田中泛濫成災,其普遍性和嚴重性對農業生產構成了嚴重威脅,全球每年因雜草侵害導致的糧食損失高達10%以上。玉米作為我國重要的糧食作物之一,不僅經濟效益顯著,而且生產潛力巨大。然而,雜草常與玉米混生,競相爭奪陽光、水分、養分和生長空間,若不及時加以控制,將會對玉米產量造成嚴重的影響。目前,精準噴藥是防治農田雜草的主要有效手段,它能夠最大限度地發揮除草劑的作用,同時降低藥物對環境的負面影響。然而,要實現精準噴藥,前提是對農田中的玉米幼苗與雜草進行準確識別。
深度學習技術的快速發展,使得從圖像或視頻中快速檢測、定位和識別對象成為可能。本研究提出一種基于YOLOv8n的玉米與雜草檢測模型,通過設計新型卷積ACMConv對YOLOv8n模型的C2f結構進行改進,使用SELU激活函數以及引入Focal Loss損失函數實現對玉米與雜草的快速檢測,以期為后續農田雜草的治理提供理論基礎和技術支持。
1材料與方法(Materials and methods)
1.1數據集構建
本研究采用的數據集源自2016年玉米苗田的真實自然環境,使用佳能PowerShot SX600 HS相機垂直朝向地面拍攝圖像,以減少太陽光反射的影響。在不同的成長天數、光照條件和土壤背景(如土壤水分含量和麥秸渣等)情況下,采集了玉米和雜草的圖像,共收集了包含玉米幼苗、早熟禾、藜草、莎草和刺兒菜在內的多類圖像,共計6000張。隨后,對收集到的6000張圖像進行了標注,使用Labellmg工具為目標對象標注了最小外接矩形框。為了確保數據的多樣性和平衡性,將整個數據集按照7:2:1的比例隨機劃分為訓練集、驗證集和測試集。玉米與雜草數據集部分示例如圖1所示。
1.2改進YOLOv8n模型的搭建
YOLOv8n的網絡結構主要包含主干網絡(Backbone)、頸部網絡(Neck)和頭部網絡(Head)三大部分。這3個部分共同構成了YOLOv8n的主要架構。主干網絡有Conv、C2f和SPPF(金字塔池化)結構,其中C2f模塊是對殘差特征進行學習的主要模塊,該模塊仿照YOLOv7 ELAN結構,通過更多的分支跨層連接,豐富了模型的梯度流,可形成一個具有更強特征表示能力的神經網絡模塊。Neck模塊采用路徑聚合網絡(Path Aggregation Network,PAN)結構,可加強網絡對不同縮放尺度對象特征融合的能力。輸出端將分類和檢測過程進行解耦,主要包括損失計算和目標檢測框篩選,其中損失計算過程主要包括正負樣本分配策略和Loss計算。
改進后的YOLOv8n網絡結構圖如圖2所示,主要改進歸納如下:首先,用SELU激活函數替換SiLU激活函數,加快了網絡的收斂速度;其次,設計了一種新型卷積方式ACMConv,并用其改進C2f模塊,形成ACM-C2f結構,替換了原有的標準卷積模塊,隨后利用ACM-C2f結構替換第6、8、12、15、18和21層的C2f結構用以降低模型計算量;最后,將原損失函數CIoU替換為Focal Loss損失函數,提高了訓練效率。SeLU為激活函數,UpSample為上采樣,MaxPoo12d為最大池化操作,Concat為拼接操作。
1.3 SELU激活函數
YOLOv8n模型采用SiLU作為激活函數,它融合了Sigmoid和ReLU的優點,展現出了無上界、有下界、平滑且非單調的特性。然而,SiLU的計算量較大,還可能出現梯度消失的問題。為解決以上問題,本文采用了SELU激活函數,它能夠對神經網絡進行自歸一化,從而將網絡參數初始化為一個正態分布,這意味著網絡能更快地收斂,而且能避免出現梯度消失或爆炸的問題。SELU函數的表達式為
其中:λ=1.050700987,α=1.67326324.
1.4 ACMConv的設計
本文在MobileNet和GhostNet的基礎上設計了一種新的卷積方式,即ACMConv(Accurate and" Computationally Minimal Convolution),其模塊結構圖如圖3所示。具體實現過程如下。首先,利用分組卷積的思想,將輸入特征圖的通道數平均分為兩個部分,再將其中一部分分為兩個相等的1/4通道,其中一個1/4通道做3×3卷積操作,另外一個1/4通道做5×5卷積操作,以捕捉更廣泛的圖像特征。其次,將經過3×3和5×5卷積操作的特征圖與另外沒有進行操作的1/2通道特征圖在相同維度疊加形成新的特征圖。因為各部分卷積之間沒有融合通道信息,在實驗中將會導致準確率下降,所以最后對新的特征圖使用逐點卷積操作,利用輸入通道數個數的1×1卷積核交換各個通道的信息,使得輸出通道數與輸入通道數相等。
2結果與分析(Results and analysis)
2.1消融實驗
為了深入探究本文提出的改進YOLOv8n模型中各個組件對檢測性能的影響,以YOLOv8n模型為基準,在實驗中進行了7組不同的對照實驗。這些實驗通過逐步地添加或移除模型中的特定組件,系統地評估了每個組件對模型性能的獨立貢獻。消融實驗結果如表1所示。表1中的數據為本研究提供了直接且有力的證據,證明了各組件的有效性。
由表1中的數據可以清晰地觀察到7組不同的實驗對改進后的YOLOv8n模型在玉米和雜草目標檢測性能上的影響。在第一組實驗中,將原始的YOLOv8n模型的激活函數替換為SELU激活函數后,模型的準確率為90.0%,召回率也提升至82.1%,同時mAP從88.5%上升到89.1%。這表明SELU激活函數的應用有效提升了模型的目標檢測性能。在第2組實驗中,將YOLOv8n模型的部分C2f結構替換為ACM-C2f結構后,模型的準確率為88.5%,召回率為82.1%,mAP提升至88.7%,并且計算量從8.2 G減少到7.6G。這表明ACM-C2f結構的引入不僅提升了模型對多尺度特征的學習能力,還有效降低了計算復雜性。在第3組實驗中,將YOLOv8n模型的損失函數替換為Focal Loss損失函數后,模型的準確率為89.7%,召回率為82.5%,mAP提升了0.9百分點。隨后的第4、5、6組實驗中,將這些組件以兩兩組合的方式分別融入YOLOv8n模型中。結果顯示,模型的準確率分別達到了90.3%、89.9%和90.1%,與此同時,mAP也獲得了相應的增長。這表明這些組件的組合對模型性能有著積極的提升作用。在第7組實驗中,將YOLOv8n模型的激活函數更改為SELU,使用ACM-C2f結構替換部分C2f結構,將模型原本的CIoU損失函數替換為Facal Loss損失函數,構成了本研究提出的改進后的YOLOv8n模型。結果顯示,模型的準確率為90.2%,召回率為82.9%,mAP為89.8%。由此可知,本研究提出的模型能夠準確地對田間雜草進行識別,并具有較強的泛化能力。
此外,為了深入探究不同邊界框損失函數在YOLOv8n模型上的表現,本文進行了一系列實驗。在這些實驗中,將YOLOv8n模型默認的邊界框損失函數替換為當前常用的幾種損失函數,包括GIoU、SIoU、EIoU、AlphaCIoU及Focal Loss。YOLOv8n使用不同損失函數的mAP如表2所示。通過這些實驗,能夠更全面地評估不同損失函數在模型性能提升方面的潛力。
由表2中的數據可知,當YOLOv8n模型分別采用GIoU、SIoU、EIoU、AlphaCIoU和Focal Loss作為損失函數時,其對應的mAP值分別為87.9%、88.8%、88.9%、86.8%和89.1%。在改進后的YOLOv8n模型中,使用GIoU損失函數時的mAP值最低,為88.1%;采用Focal Loss損失函數時的mAP值達到了最高的89.4%。值得注意的是,無論是使用原始的YOLOv8n模型還是使用經過改進后的模型,當選擇Focal Loss作為損失函數時,都取得了最高的mAP值。這一成果充分驗證了Focal Loss在提升目標檢測模型性能方面的顯著效果和實用性。
2.2不同目標檢測模型的性能對比
為了驗證本文提出方法的有效性,本研究選擇了常見的目標檢測模型SSD(Single Shot MultiBox Detector)、YOLOv7、YOLOv5s及YOLOv8n進行對比實驗。不同模型的檢測性能對比結果如表3所示。通過對比這些模型的性能表現,可以更直觀地評估本文方法在目標檢測任務上的優勢和改進效果。
由表3中的數據可知,經過改進的YOLOv8n模型在mAP方面達到了89.8%,比原始的YOLOv8n模型提高了1.3百分點。同時,改進后的模型在計算量上實現了顯著的優化,僅為7.6G,相比于原模型減少了7.3%的計算負擔。將改進后的YOLOv8n模型與其他常見的目標檢測模型進行比較發現,其在mAP和計算量方面均展現出了明顯的優勢。這種既保持較高檢測精度又實現模型輕量化的特點,使得改進的YOLOv8n模型特別適合在算力資源有限的嵌入式設備上進行部署和應用。
為了深入評估改進后的YOLOv8n模型在復雜環境中的檢測性能,本研究利用該模型在訓練過程中得到的最佳權重文件,對驗證集中的圖像數據進行了推理驗證,同時也對原始的YOLOv8n模型進行了相同的處理,以便進行對比分析。模型驗證對比圖如圖4所示,圖4中的圖片直觀地反映了改進模型在實際應用中的優勢和性能提升效果。
圖4中,原始的YOLOv8n模型出現了錯檢、漏檢等問題,而改進后的YOLOv8n模型不僅能夠在復雜環境下準確地識別玉米及各類雜草,而且對小目標物體識別的準確率也很高。因此,以上實驗結果證明,本文提出的模型可以滿足快速檢測與識別玉米及雜草的實際需求。
3結論(Conclusion)
為了實現對玉米與雜草的快速準確檢測,本文基于YOLOv8n模型,提出了一種專門用于玉米與雜草檢測的模型。該改進的YOLOv8n模型使用SELU激活函數,利用ACMConv將部分C2f結構改進為ACM-C2f結構,并使用Focal Loss損失函數替換原有的CIoU損失函數。與原始YOLOv8n模型相比,經改進的YOLOv8n模型對玉米以及雜草的平均精度均值提升了1.43百分點、模型的計算量從8.2G減少到7.6G,可以更加快速且準確地完成玉米與雜草的檢測與識別且計算成本更低,實現了速度與精度的雙重提升。
實驗結果表明,改進的YOLOv8n在檢測精度和計算量上都展現出優于其他對比模型的優勢,對玉米與雜草具有良好的識別效果。未來的工作可以考慮擴充數據集,以增強模型對復雜背景干擾的魯棒性。這樣,有望使模型在更多樣化的環境下實現更準確的玉米與雜草檢測。