








關(guān)鍵詞:細粒度識別;目標檢測;可變形注意力機制;多尺度特征;YOLOv8
0 引言(Introduction)
中國擁有豐富的竹資源[1],主要竹筍產(chǎn)區(qū)集中在浙江、四川、江蘇、湖南、福建等地。隨著科技的不斷進步,竹筍種植技術(shù)也逐步提高,有力地促進了竹筍產(chǎn)量和品質(zhì)的提升。然而,隨著社會的快速發(fā)展,竹筍產(chǎn)業(yè)在發(fā)展過程中出現(xiàn)了勞動力成本上升、生產(chǎn)管理效率落后、深加工利用滯后[2]等一系列問題。近年來,深度學習[3]在農(nóng)業(yè)領(lǐng)域的應(yīng)用不斷深化,特別是在農(nóng)林業(yè)領(lǐng)域[4],計算機視覺技術(shù)展現(xiàn)出巨大的潛力。運用計算機視覺技術(shù),可以實現(xiàn)竹筍產(chǎn)業(yè)的規(guī)模化、集約化、自動化、數(shù)字化、智慧化管理,為竹筍的圖像識別與分類及品質(zhì)品級劃分等提供了有力支持,對推動竹筍產(chǎn)業(yè)智能化發(fā)展具有重要意義。
細粒度識別[5](Fine-grained Recognition)是指在某個領(lǐng)域或類別中對物體、圖像、文本等進行更加詳細和具體的分類或識別。與一般的分類任務(wù)相比,細粒度識別要求達到更高的準確性和辨別力,需要區(qū)分相似度較高的類別。本研究旨在將細粒度識別引入竹筍產(chǎn)業(yè),為實現(xiàn)自動化采收、精準分揀、高效打包、智能運輸及準確的產(chǎn)量估計等環(huán)節(jié)奠定堅實的基礎(chǔ),這是推動竹筍產(chǎn)業(yè)全面自動化的重要基石。鑒于春筍和冬筍在當前市場中占據(jù)一定的經(jīng)濟地位,其余竹筍品種暫未達到與其相當?shù)慕?jīng)濟體量,因此本研究聚焦于兩種竹筍的檢測與識別進行全面的探索。
1 材料與方法(Materials and methods)
1.1 數(shù)據(jù)采集
本次數(shù)據(jù)采集工作位于杭州市臨安區(qū),該地區(qū)的黃土覆蓋率遠遠高于其他產(chǎn)筍區(qū)域的黃土覆蓋率,為竹筍的優(yōu)質(zhì)生長提供了獨特環(huán)境。該區(qū)域所產(chǎn)竹筍色白質(zhì)嫩,呈“兩頭尖、中間圓”的形態(tài)。其中,春筍相較于冬筍更為細長,外皮有粉白色或黑褐色;冬筍較為短粗,外皮呈土黃色。得益于種植技術(shù)的持續(xù)改良,春筍的生長期可提前30~90 d,從而得以在春節(jié)前后與冬筍一起上市。本次數(shù)據(jù)采集方式分為實地采集和網(wǎng)上獲取兩種。2月初,研究人員在臨安區(qū)青山湖街道某農(nóng)村實地采集圖片數(shù)據(jù)集820張,采集設(shè)備采用OPPOK10X5G手機,此外從網(wǎng)絡(luò)獲取圖片數(shù)據(jù)集190張,共計采集1 100張圖片數(shù)據(jù)集。為了科學地進行模型訓練和評估,將圖片按照8∶1∶1劃分為訓練集、測試集和驗證集。所采集的竹筍圖片數(shù)據(jù)分為半出土、全出土、手持、平躺等多種狀態(tài),為模型提供了豐富的訓練樣本(圖1)。
1.2 數(shù)據(jù)預(yù)處理
數(shù)據(jù)標注是指為機器學習和深度學習任務(wù)準備與創(chuàng)建標簽或注釋的過程。數(shù)據(jù)標注的目的是讓機器學習算法能夠理解和學習數(shù)據(jù)中的特征與模式,并進行相應(yīng)的預(yù)測或分類。在許多機器學習任務(wù)中,需要人工標注數(shù)據(jù),它負責提供訓練樣本和相應(yīng)的標簽。本次研究使用Pycharm中的LabelImg軟件對圖像進行目標檢測標注,完成后會輸出相應(yīng)的TXT標注文本。數(shù)據(jù)標注是機器學習和深度學習的關(guān)鍵環(huán)節(jié),標注質(zhì)量的好壞,將直接或間接地影響模型的性能及泛化能力。因此,確保高質(zhì)量的數(shù)據(jù)標注,對構(gòu)建有效的機器學習模型至關(guān)重要。
1.3 YOLOv8模型
YOLOv8[6]模型由JosephRedmon及其團隊在2023年推出,與之前的版本相比,它在速度、準確度和易用性方面都有顯著的提升,還支持全方位的視覺AI任務(wù),包括檢測、分割、姿態(tài)估計、跟蹤和分類。YOLOv8使用了CSPDarknet53作為其主干網(wǎng)絡(luò),這是一種結(jié)合簡單路徑(CSP)和Darknet53的網(wǎng)絡(luò)結(jié)構(gòu),旨在提高特征提取的效率和性能;采用了CIOU(CompleteIoU)損失函數(shù),這是一種用于目標檢測的損失函數(shù),它考慮了預(yù)測邊界框與真實邊界框之間的完整交并比,有助于提高邊界框預(yù)測的準確性;引入了空間金字塔池化Fusion(SPPF)和路徑注意力網(wǎng)絡(luò)(PANet)結(jié)構(gòu),這些結(jié)構(gòu)有助于提高特征的融合和傳遞效率。
1.4 嵌入BiFPN———加權(quán)雙向特征金字塔網(wǎng)絡(luò)
BiFPN[7],即加權(quán)雙向特征金字塔網(wǎng)絡(luò),其結(jié)構(gòu)圖如圖2所示。BiFPN是一種用于計算機視覺任務(wù)的深度學習架構(gòu)。BiFPN是一種特征融合機制,與傳統(tǒng)的特征融合有所不同,它旨在學習不同輸入特征的重要性,并采用加權(quán)融合的方式融合這些特征。與傳統(tǒng)的特征融合方法(如簡單的平均或求和)不同,BiFPN使用了快速歸一化(Fast Normalized Fusion)的方法實現(xiàn)加權(quán)融合。這種方法可以在保持與基于softmax 的融合方法類似的精度的同時,提高計算速度。快速歸一化公式如下所示:
其中:Wi 代表每個輸入特征的權(quán)重,由于使用了ReLU激活函數(shù),這些權(quán)重Wi 都保證大于或等于0。ε 是一個很小的值,用于避免分母為0導(dǎo)致數(shù)值不穩(wěn)定的情況。通常取一個很小的正數(shù)。Ii 表示輸入的特征,Out表示加權(quán)特征融合的結(jié)果。這樣設(shè)計的好處是權(quán)重Wi 都是非負的,使融合過程更加穩(wěn)定和可解釋,添加ε 可以避免除以0的問題,提高數(shù)值的穩(wěn)定性,與基于softmax的融合方法相比,快速歸一化的計算更加高效。
加權(quán)雙向特征金字塔網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計旨在提升特征的表征能力,特別適用于復(fù)雜場景和對象檢測任務(wù)。通過構(gòu)建雙向特征金字塔,在不同的尺度上捕捉圖像的上下文信息,使得網(wǎng)絡(luò)能夠更好地理解小尺度細節(jié)和大局觀。該雙向特征金字塔架構(gòu)中包含兩個方向的特征傳播路徑:一個是自上而下的路徑,通過上采樣(如使用插值或轉(zhuǎn)置卷積)將高層的特征圖映射到更小的尺度,以便捕捉到更小的對象和細節(jié);另一個是自下而上的路徑,通過下采樣將低層特征圖映射到更大的尺度,以便于捕捉到更大的對象和更廣泛的上下文信息。這兩個路徑在某些特定的層合并,融合了不同尺度的特征信息,增強了網(wǎng)絡(luò)的表征能力。
1.5 添加可變形注意力(Deformable Attention,DAttention)機制
可變形注意力(Deformable Attention)機制是一種用于神經(jīng)網(wǎng)絡(luò)中的注意力機制[8](圖3)。在傳統(tǒng)的注意力機制中,權(quán)重是通過對位置固定的注意力模型進行計算得到的,而在可變形注意力中,它可以動態(tài)地調(diào)整注意力模型的形狀和大小,以更好地適應(yīng)不同任務(wù)和輸入數(shù)據(jù)的特點。該模塊為每個查詢位置動態(tài)預(yù)測一組采樣位置偏移量,然后以這些動態(tài)偏移的采樣位置計算注意力權(quán)重。引入可變的采樣位置,能使注意力計算更加靈活和高效。注意力變形機制流程如下:
(1)給定特征圖X ∈RH ×W ×C ,生成一個點P∈RHG ×WG ×2的統(tǒng)一網(wǎng)格作為參考。
(2)將特征映射線性投影到query token q=xWo,然后輸入一個輕量子網(wǎng)絡(luò)θoffset,生成偏移量Δθoffset。
(3)在變形點的位置采樣,作為key和value,與query一同傳入多頭注意力機制中。
(4)每個頭部的特征連接在一起,通過Wo 投影得到最終輸出Z。
在公式(4)中,P 引入了位置信息,K'T+P 表示在計算注意力權(quán)重時,也考慮了鍵矩陣和位置編碼。通過這種方式,可變形注意力機制能夠更好地捕捉序列中的長距離依賴關(guān)系。
1.6 改進模型結(jié)構(gòu)設(shè)計
本次研究將改進后的模型命名為YOLOv8-BDA,模型結(jié)構(gòu)主要包括3個關(guān)鍵部分。其中,Backbone(特征提取模塊)中引入了Deformable Attention可變形注意力機制,負責從輸入圖像中提取有用的特征;Neck(特征金字塔網(wǎng)絡(luò))使用雙向特征金字塔網(wǎng)絡(luò)(BiFPN)進行特征融合,聚合不同尺度的特征圖,以提供更豐富的上下文信息;Head(預(yù)測頭)負責對特征進行處理并預(yù)測邊界框、類別概率及目標置信度。改進模型YOLOv8-BDA結(jié)構(gòu)如圖4所示。
1.7 實驗環(huán)境及評估標準
本次研究模型的訓練和測試均在同一環(huán)境中運行,計算機的GPU為NVIDIA GeForce RTX3060,顯存為12 GB,CPU為Intel(R) Xeon(R) CPU E5-2673 v4 10核處理器,操作系統(tǒng)為基于Linux的Ubuntu系統(tǒng),使用 PyTorch 2.0.0版本、Python3.8版本和CUDA 11.8版本集成運行環(huán)境。使用精確率(Precision,P)、召回率(Recall,R)、平均精度均值(mAP)作為評價指標評估模型的性能。采集到的數(shù)據(jù)集按照8∶1∶1的比例劃分成訓練集、測試集與驗證集。詳細訓練參數(shù)如下:cache=False,epochs=100,batch=16,close_mosaic=10,workers=8,device=0,optimizer=SGD。
2 實驗結(jié)果與分析(Test results and analysis)
2.1 消融實驗
在同一數(shù)據(jù)集和訓練環(huán)境中,對改進模型進行消融實驗,驗證BIFPN模塊和DAttention模塊能否為基礎(chǔ)模型帶來有效的性能提升。如表1所示,單模塊的BiFPN和DAttention并沒有提升模型的性能,而融合后的改進模型在精確率和平均精度均值上分別提升了4.2百分點和2.4百分點。其中,春筍和冬筍的平均精度均值分別為81.4%、94.7%,較YOLOv8基礎(chǔ)模型分別提升了0.9百分點和3.9百分點。
2.2 YOLO系列對比實驗
為了進一步驗證改進模型的檢測性能,在同一訓練環(huán)境中將本研究模型與目前流行的YOLOv8系列改進模型以及YOLOv8之前的YOLO系列進行對比,包括引入AIFI(尺度內(nèi)特征交互)、改進AFPN[9](提升目標檢測性能的漸近特征金字塔網(wǎng)絡(luò))、C2f模塊融合SCConv(即插即用的空間和通道維度重構(gòu)卷積)、GFPN[10](一種新穎的跨尺度連接方式)、“華為”Gold-YOLO(一種先進的Gatherand-Distribute機制)、使用C2f-DCNV2[11]替換C2f(DCNV2為可變形卷積V2)以及系列前作YOLOv5、YOLOv7等,具體的比較結(jié)果如表2所示。
2.3 可視化結(jié)果對比
用訓練的權(quán)重文件進行可視化識別實驗,對改進后的YOLOv8-BAD模型與基礎(chǔ)的YOLOv8模型進行了性能對比,分析圖5至圖8中展現(xiàn)的結(jié)果(CS為春筍,DS為冬筍),可得以下結(jié)論:從圖5的可視化識別結(jié)果可知,在復(fù)雜情況下,改進后的YOLOv8-BAD模型優(yōu)于YOLOv8基礎(chǔ)模型。在圖6中的混合識別實驗中,改進后的模型識別準確率高于YOLOv8基礎(chǔ)模型的識別準確率。圖7的半出土狀態(tài)春筍識別任務(wù)中,改進后的模型識別率比YOLOv8基礎(chǔ)模型的識別率高出12百分點。圖8中雖然YOLOv8基礎(chǔ)模型識別準確率更高,但是沒有識別出下半部分。
3 結(jié)論(Conclusion)
隨著竹筍產(chǎn)業(yè)需求的不斷增長與科技水平的持續(xù)進步,推動該產(chǎn)業(yè)生產(chǎn)管理向自動化、智能化轉(zhuǎn)型的需求日益迫切。為此,本研究深入探索了深度學習技術(shù)在該產(chǎn)業(yè)的應(yīng)用,在YOLOv8模型的算法基礎(chǔ)上,通過嵌入BIFPN雙向特征金字塔網(wǎng)絡(luò)以及引入Deformable Attention可變形注意力機制對模型進行了優(yōu)化。在與原模型YOLOv8以及YOLO系列的前作(包括YOLOv5、YOLOv7)的對比實驗中,與原YOLOv8模型相比,YOLOv8-BDA展現(xiàn)出了明顯的優(yōu)勢,在平均精度上均高于以上模型。實驗結(jié)果表明,改進后模型在不同環(huán)境中對竹筍細粒度識別的效果得到了很大程度的提升,為竹筍產(chǎn)業(yè)的智能化升級提供了可參考的技術(shù)方案。