?

基于改進YOLOv5l 的田間水稻稻穗識別

2024-01-15 06:01蔡竹軒蔡雨霖曾凡國岳學軍
華南農業大學學報 2024年1期
關鍵詞:稻穗精度水稻

蔡竹軒,蔡雨霖,曾凡國,岳學軍

(華南農業大學 電子工程學院/人工智能學院,廣東 廣州 510642)

農業是第一產業,也是我國經濟建設和社會發展的保障性產業[1-2]。作為糧食作物中最主要的種類之一,水稻在2011 年的消費量已占中國人口總口糧全年消費量的55%,全國有超過60%的人口以稻米為主食[3]。隨著我國人口不斷增長,對水稻的需求量也不斷攀升,如何快速準確地對水稻的產量進行預估變得尤為重要。傳統田間水稻的估產一般采用的是有損的方法,即在大田中按面積等距或者按組平均抽樣的原則,選取一些小田塊作為樣本,水稻收獲后對其脫粒、曬干、揚凈、稱質量后、利用水分測定儀測定含水量,并按粕稻比例13.5%,粳稻比例14.5% 來計算出最終的水稻產量[4]。稻穗是水稻重要的營養生殖器官,是谷粒著生的部位,其數量不僅與水稻產量直接相關[5],而且在水稻病蟲害檢測[6]、營養診斷[7]及生育期檢測[8]等方面也有著十分重要的作用。過去檢測稻穗主要依靠人工識別,這嚴重依賴于從業人員的技術經驗,不僅費時費力,而且主觀性較強。

隨著計算機信息技術的發展,機器視覺技術也隨之飛速發展并被廣泛應用到農業實際生產中。趙鋒等[9]利用麥穗顏色信息去除圖片中的田間背景等干擾信息,訓練AdaBoost 分類器對麥穗區域進行識別,對隨機選擇的100 個樣本取得了88.7%的識別準確率。范夢揚等[10]利用淺層學習方法,針對局部小范圍內的田間小麥低分辨率群體圖像,提取麥穗的顏色和紋理特征訓練支持向量機分類器,實現對麥穗輪廓的提取和檢測,通過統計麥穗莖的骨架以及有效交叉點的數量獲得稻穗數量。Zhou 等[11]利用主成分分析算法抽取小麥圖像的顏色、紋理和邊緣等代表性特征,進一步訓練雙支持向量機模型實現對小麥麥穗的識別,取得了79%~82%的計數準確率。Duan 等[12]基于I2 顏色平面的滯后閡值生成稻穗圖像塊,訓練BP 神經網絡模型對圖像塊進行分類并計算稻穗數。Li 等[13]利用Laws 紋理能量特征生成麥穗圖像塊,訓練BP 神經網絡模型對圖像塊進行分類并計算麥穗數。Olsen 等[14]使用不同尺度的超像素生成田間高粱圖像塊,訓練線性回歸模型來實現計數。

傳統機器視覺識別方法計算簡單、處理速度快,但存在特征設計對人工經驗依賴性強、模型泛化能力弱、魯棒性不強等問題,且對高密度種植的田間水稻,實際應用還存在一定限制。作為機器學習領域革命的代表,深度學習具有強大的自動特征提取、復雜模型構建以及圖像處理能力等優勢,已在多個研究領域取得了重大進展,農業應用中的快速檢測和分類便是其中之一。

李靜等[15]提出了一種改進的GoogLeNet 卷積神經網絡對玉米螟蟲害圖像進行檢測,識別平均準確率達96.44%。顧偉等[16]利用改進的SSD 模型對群體棉籽進行識別,提高了對小物體的檢測精度。周云成等[17]提出一種基于面向通道分組卷積網絡的番茄主要器官實時識別模型。Koirala 等[18]使用YOLO 算法模型對芒果進行檢測并預測產量。Tian 等[19]通過改進的YOLO-v3 模型檢測果園中不同生長階段的蘋果。張領先等[20]提取冬小麥的麥穗、葉片和陰影3 類標簽圖像,構建了數據集,采用梯度下降法對模型進行訓練,并結合非極大值抑制進行冬小麥麥穗計數,總體識別正確率達99.6%。彭文等[21]運用深度卷積神經網絡技術,對6 種水稻田雜草進行識別。黃小杭等[22]對不同分辨率圖像進行試驗,運用K-means 維度聚類及深度可分離卷積網絡等方式對YOLOv2 網絡進行調整并對蓮蓬進行檢測,檢測速度可以達到102.1 幀/ms。彭紅星等[23]采用改進的SSD 深度學習神經網絡對荔枝、蘋果、臍橙以及皇帝柑進行識別,使用遷移學習等方式進行優化,提高了自然背景下SSD 網絡識別水果的泛化能力。張洋[24]提出了一種面向稻穗種粒缺陷識別的個性特征顯著化規范輕量Rice-VGG16 模型,識別稻穗缺陷種粒的精確度達99.51%。馬志宏等[25]將稻穗充分鋪開后提取稻穗枝梗的幾何形態特征,并基于此與稻穗粒數建立映射關系,預測稻穗粒數的相對誤差為6.72%。

基于深度學習的農作物分類和識別方法已逐漸成為主流并取得一定的效果,然而,因水稻稻穗微小的特點,其空間信息在特征圖上極易被損失,且田間場景具有較高的復雜性以及受通用目標檢測算法泛化能力的約束,稻穗識別的精度下降、效果不佳,在實際應用中還存在一定的局限性。本研究通過改進YOLOv5l 網絡模型,引入有效通道注意力(Efficient channel attention,ECA)機制模塊[26],加強對圖片中待檢測目標的特征提取,提出一種改進YOLOv5l 的田間水稻檢測模型,以期實現對水稻稻穗檢測和水稻的無損估產。

1 材料與方法

1.1 數據樣本采集

數據采集自田間,采集時間為2021 年6 月,采集地點為廣東省植物分子育種重點實驗室試驗基地,在晴天利用Nikon D3300 作為采集設備,鏡頭型號為AF-S 28-300MM F/3.5-5.6G ED VR,其有效像素為2 416萬,圖像格式為JPEG,滿足水稻圖像采集的要求。如圖1 所示,為了提高模型的識別精度,本文在圖像采集時,使用了拍攝底板輔助拍攝,即制作一塊邊長為0.30 m×0.25 m 的純黑色底板作為數據樣本采集時的拍攝底板。圖像采集時保持相機閃光燈關閉,拍攝相機與目標稻穗的距離統一固定在30 cm左右,以確保每一目標稻穗圖像大小相近且清晰,最終采集到圖像650 幅,像素大小為6 000×4 000。

圖1 原圖像和數據增強后的圖像Fig.1 Original image and images after data augmentation

1.2 數據增強與數據集構建

對于多目標、小目標的圖像,深度學習算法往往需要大量的圖像數據才能有效地提取圖像特征并分類。為了有效提升數據樣本的數量、增加數據樣本的多樣性和數據庫的大小、提升檢測算法模型的精度,本文對采集到的圖像數據樣本進行預處理,包括數據標注和數據增強2 個步驟。

圖像數據本身沒有標簽和語義,需要進行標注才能用于訓練。本文利用LabelImg 標注工具,按照PASCAL VOC 標準進行稻穗谷粒的標注。因1張稻穗圖片中的1 株稻穗包含多粒稻谷,標注1張稻穗圖片數據需要畫將近90 個框,耗時約10 min,故將LabelImg 設置為自動保存和高級模式,可以加快人工標注單一稻穗圖像的速度。

數據增強(Data augmentation,DA)通過對訓練圖像做一系列隨機改變,來產生相似但又不同的訓練樣本,從而擴大訓練數據集的規模,是提高目標識別算法魯棒性的重要手段。本文采用隨機長寬比裁剪、水平翻轉、垂直翻轉、飽和度增強、飽和度減弱、高斯模糊、灰度化、CutMix、Mosaic 共9 種操作,調整圖像的幾何形態、識別目標內容結構組成和顏色種類,隨機改變訓練樣本,降低模型對識別目標的幾何屬性和顏色屬性的依賴,從而提高模型的泛化能力。將原數據集擴充到原來的5 倍,共得到3 250 張圖片,原圖和數據增強后的圖像效果如圖1 所示,并將數據集按照7∶2∶1 的數量比例劃分為訓練集、測試集和驗證集。

1.3 水稻稻穗檢測方法

作為目前最先進的目標檢測算法之一,YOLOv5具有檢測速度快、識別性能好、網絡結構簡單、使用方便等特點。其性能與YOLOv4 不相伯仲,但相比DarkNet 小了近90%,推理速度可以達到140 幀/ms,滿足實時檢測的要求。YOLOv5 共有YOLOv5s、YOLOv5m、YOLOv5l 和YOLOv5x 4 種版本。網絡結構中的Ultralytics 模塊通過depth_multiple 和width_multiple 2 個參數控制模型的深度和卷積核的數量,故4 種模型檢測的深度和廣度有所不同。其中,YOLOv5s 網絡最小、速度最快、精度最低,其余3 種模型相對于加深加寬網絡,檢測精度不斷提升,但速度也隨之減慢。本文試驗檢測目標為大田水稻稻穗,具有數量多、體積小、分布密等特點。YOLOv5l 是YOLOv5 系列中性能與模型大小的平衡點,它在一定程度上保持了較高的檢測精度,有助于在密集場景中有效地檢測目標。而且,YOLOv5I相對較小,這意味著在一些計算資源有限的設備上也可以實現高質量的目標檢測,有利于后續將檢測算法部署在一些邊緣設備上。故本文選擇YOLOv5l作為基礎算法進行優化提升。

2020 年,Wang 等[26]認為Hu 等[27]在2019 年提出的壓縮激勵(Squeeze excitation,SE)通道注意力機制中,降維會對通道注意力產生負面影響,故提出了有效通道注意力(Efficient channel attention,ECA) 模塊,從而實現不降維的跨通道交互策略。如圖2 所示,ECA 主要由全局池化(Global average pooling,GAP)、CONVLD 和SCALE 3 個操作組成,GAP 沿著空間維度進行特征壓縮,將W×H×C的特征輸入轉換為1×1×C的特征輸出,以獲得全局信息,W、H、C分別表示特征的寬、高、長信息。然后利用CONVLD 實現無降維的局部跨通道交互,直接獲取通道與權重的相關性,再通過sigmoid 函數獲得歸一化的權重,最后SCALE 操作是將歸一化后的權重通過乘法加權到每一個通道特征上,得到經過通道注意力后各通道加權的語義特征。

圖2 ECA 流程圖Fig.2 Flow diagram of ECA

YOLOv5l 的網絡結構主要由輸入端(Input)、骨干網絡(Backbone)、多尺度特征融合模塊(Neck)和輸出端(Output)4 部分組成。C3 層用于提取輸入樣本中的主要信息,增強了網絡結構中的梯度值,得到更細的特征粒度,同時減少了計算量,有效提升了網絡的計算能力。SPP 層將上下文特征分離,使得輸入主干網絡的特征圖尺寸不受限制,提高了網絡的感受野。小目標特征信息通過多層網絡結構處理后,位置信息模糊粗糙,特征信息出現不同程度的丟失。這使得網絡模型出現對小目標的誤檢和漏檢。為提高原始模型對水稻小目標稻穗的檢測精度,本研究提出改進YOLOv5l 網絡模型,具體結構如圖3 所示。在骨干網絡中的SPP 層前置入ECA注意力機制模塊,ECA 通過不降維的跨通道交互增強了相關通道的特征表達并降低性能損耗,使得小目標信息更易被網絡學習。

圖3 改進YOLOv51 網絡總體框圖Fig.3 Overall block diagram of the improved YOLOv51 network

2 結果與分析

本研究試驗平臺選擇Windows10(64 位)操作系統。CPU 型號為Intel(R) Core I9-10900K,GPU 型號為Nvidia GeForce RTX3090,計算機內存為24GB。測試的框架為Pytorch1.9.0,使用CUDA10.1 配合CUDNN7.6.5.32 運行;編程語言為Python。本研究在網絡模型訓練階段,將初始學習率設置為0.000 1,總迭代次數設置為300 次。

2.1 檢測算法評估指標

為了客觀、全面地評價所提方法對田間水稻稻穗檢測試驗的結果,本研究采用精確率(Precision,P)、召回率(Recall,R)、平均精度(Average precision,AP)和損失函數(Loss function)等指標衡量檢測效果,其中,P是指所有被標記為稻穗的物體中,稻穗正樣本所占的比率;R是指測試集中所有的稻穗正樣本中,被正確識別為稻穗的比例;而以P為縱坐標、R為橫坐標,繪制曲線,AP 即為曲線的積分。具體計算如公式(1)~(3)所示。

由表3可知,KX9384 1穴2株、3株和1株處理較西蒙6號覆膜和不覆膜對照處理增產均達到極顯著水平,增產幅度最高為1穴2株種植方式,分別為15.79%,19.23%。KX9384 3種方式處理間,1穴2株比1穴3株和1穴1株增產極顯著,1穴3株比1穴1株增產顯著。西蒙6號覆膜比不覆膜增產顯著。

式中,TP 表示稻穗被正確分類和定位的正樣本個數,FP 表示被標的為稻穗的負樣本個數,FN 為測試樣本中真實的正樣本數減去TP,N為樣本總數。

損失函數用來估量模型預測值和真實值不一樣的程度,其值的大小極大程度上決定了模型的性能好壞。YOLOv51 采用了分類損失(clsloss)、坐標損失(giouloss)和置信度損失(objloss)來指導訓練。其中,分類損失和置信度損失分別用于判斷錨框與對應的標定類別是否正確和計算網絡的置信度,采用二值交叉熵,具體計算如式(4)、(5)所示;坐標損失用于判斷預測框與標定框之間的誤差,采用giou 計算方式,具體方式如式(6)所示??倱p失為以上3 部分損失的加權和,α、β、γ為3 類損失各自的權重,計算公式如(7)所示。

2.2 ECA 模塊融合位置對比

將ECA 模塊融合到網絡模型的不同位置,開展試驗并進行對比。分別在YOLOv5l 的C3 層和SPP 層融入ECA 注意力模塊,生成3 種新的基于YOLOv51 的算法模型:ECA-YOLOv5l-Backbone、ECA-YOLOv5l-Neck 和ECA-YOLOv5l-SPP。圖4為3 種ECA 模塊融合網絡的具體位置。檢測試驗結果如表1 所示,將ECA 模塊融入到SPP 前的檢測效果較好。分析認為,目標特征信息在Backbone的多層網絡處理中逐漸粗糙并出現部分丟失,在SSP 層前融入注意力機制能夠使網絡模型清晰關注目標的特征信息,提高檢測精度。而在Neck 部分,由于網絡深度較大,目標的特征信息被淹沒,語義信息較為粗糙,導致注意力模塊無法較好地關注到目標特征。

表1 ECA 模塊融合結果對比Table 1 Comparison of ECA module fusion results %

圖4 3 種融合ECA 模塊的YOLOv51 模型Fig.4 Three YOLOv5l models incorporating ECA modules

2.3 YOLOv5l 消融試驗對比

為驗證本研究提出的YOLOv5l 改進方法,用原數據集針對ECA 和DA 開展消融試驗,用于判斷每個改進點的有效性。在原有模型基礎上依次加入DA 和ECA,模型訓練過程中使用相同的參數配置。試驗結果如表2 所示,在引入DA 后,模型性能有顯著提升,平均精度提高了3.84 個百分點;而在引入ECA 和DA 后,模型的精確率和召回率均有所提升,平均精度提高了6.87 個百分點。分析認為,引入數據提升了模型的泛化能力和魯棒性,使得模型的檢測性能有較大提升;而引入注意力機制使得模型選擇性地強調信息特征,提高了其表征能力,表現為檢測精度提升較為明顯。

表2 YOLOv5l 消融試驗1)Table 2 YOLOv51 ablation experiment %

2.4 不同網絡模型的對比試驗

為驗證本研究提出的改進YOLOv5l 算法的性能,將其與YOLOv5l、YOLOv5x 和目前主流的目標檢測算法Faster R-CNN、SSD 比較。5 種網絡模型使用同樣的數據集且使用同樣的數據增強方法,訓練方式均為隨機梯度下降法(SGD),初始學習率均設置為0.000 1,總迭代次數設置為300 次。得到5 種檢測算法平均精度隨迭代次數的變化曲線(圖5a)、P-R曲線(圖5b)和隨迭代次數的損失值變化曲線(圖6)。圖7 為ECA-YOLOv5l-SPP 算法模型檢測結果示例。

圖5 不同網絡模型平均精度曲線(a)和P-R 曲線(b)Fig.5 The average precision curves (a) and precision-recall curves (b) of different network models

圖6 不同網絡模型的損失值隨迭代次數的變化曲線Fig.6 Changes in the loss values of different network models with epoches

圖7 識別結果示例Fig.7 Example of recognition results

由圖5 可知,平均精度均隨迭代次數的增加遞增并最終平緩收斂。由圖6 可知,5 種模型損失均隨迭代次數的增加遞減,一開始由于初始學習率設置較大故損失下降較快,隨著迭代次數增加,學習率逐漸變小,曲線逐漸平緩至最終收斂。改進YOLOv51 損失最小,其次是YOLOv5x。同時,可直觀地看到,改進YOLOv51 的曲線面積大于其他目標檢測模型的,這表明改進 YOLOv51 模型具有更高的平均精度。

由表3 可知,改進YOLOv51 占用內存少的同時保持較高的檢測率和檢測精度,平均精度達95.05%,是所有模型中最高的,且內存僅為 91.9 MB,比YOLOv5x 小 45%。此外,檢測速率為23.50 幀/ms,比 Yolov5x 快5.4 幀/ms。

表3 不同網絡模型檢測性能對比Table 3 Comparison of different networks

試驗結果表明,本研究提出的網絡模型減少了額外算力和內存開銷,在保持較高的檢測速率和檢測精度的同時,占用內存資源也較少,優于原有的YOLOv5l 算法和主流目標算法,可用于田間環境下的水稻稻穗精準檢測。

3 結論

為解決田間水稻稻穗檢測過程中要求高、精度低等問題,提出一種改進YOLOv5l 的田間水稻檢測算法。構建了田間水稻稻穗數據集;將ECA 機制與原始YOLOv5l 進行融合,對比了ECA 融合網絡模型不同位置的檢測性能;對YOLOv5l 進行ECA和DA 消融試驗,并與傳統模型進行對比試驗,主要結論如下。

ECA 使用不降維的跨通道交互策略,通過共享權重減少了模型參數,進一步提高小目標檢測的精度和速度。檢測目標的特征信息在經過網絡多層處理后變得粗糙模糊甚至丟失,而在SSP 層前融合ECA 能使網絡增強相關通道的特征表達,較好地關注到目標信息,從而使檢測的平均精度相對于未融合網絡提高了3.03 個百分點。

改進模型的平均精度比Faster R-CNN 提高8.4 個百分點,比SSD 提高6.62 個百分點。相比于YOLOv5x,改進模型的檢測平均精度提高0.62 個百分點,內存占用減少74.1 MB。本研究為大田環境下水稻稻穗的精準檢測提供了一定的理論以及實踐依據,為田間水稻無損估產奠定了基礎。

盡管本文所提出的改進算法對大田水稻稻穗具有較好的識別效果;但還存在部分未能準確識別的稻穗,這是因為在數據集構造過程中,部分稻穗因遮擋無法被準確標注,同時本次試驗所用數據有限,今后將進一步提升標注準確度和完全度,并擴大圖像數據集,建立更具代表性、樣本特征更為豐富的大田水稻稻穗數據庫。

猜你喜歡
稻穗精度水稻
一束稻穗
什么是海水稻
水稻種植60天就能收獲啦
田園撿稻穗的歲月
一季水稻
水稻花
驕傲的小稻穗
母親
基于DSPIC33F微處理器的采集精度的提高
GPS/GLONASS/BDS組合PPP精度分析
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合