









doi:10.15889/j.issn.1002-1302.2024.20.015
摘要:為在自然環境下準確地識別和檢測香梨果實,以YOLO v7為基礎網絡模型,針對果園中香梨果實、果葉、枝干之間相互遮擋問題,提出一種改進的輕量化YOLO v7梨果目標檢測方法。該方法將MobileNet v3引入YOLO v7 模型中作為其骨干特征提取網絡,從而減少網絡的參數量,使其更容易部署在移動端和生產實際,在特征融合層引入協同注意力機制CA(coordinate attention)模塊,以提高網絡的特征表達能力,將原YOLO v7中的損失函數CIoU替換為SIoU,從而提高模型的檢測速度和性能。最后利用Grad-CAM 方法產生目標檢測熱力圖,進行特征可視化。結果表明,改進的輕量化YOLO v7模型的平均精度均值(mAP)、精確率、召回率指標分別為96.33%、94.36%、89.28%,檢測速度為87.71(幀/s),模型內存占用量與原YOLO v7相比減少21.45 MB;其檢測平均精度均值(mAP) 與 Faster R-CNN、YOLO v3、MobileNet v3-YOLO v4、YOLO v5s、YOLO v7模型相比分別提高28.37、9.66、13.14、4.58、3.20百分點。研究表明,改進的輕量化YOLO v7模型對成熟期香梨具有很好的目標檢測效果和魯棒性,可為香梨自動化采摘提供有效的技術支持。
關鍵詞:目標檢測;香梨;YOLO v7;輕量化;注意力機制
中圖分類號:S126;TP391.41" 文獻標志碼:A
文章編號:1002-1302(2024)20-0121-08
收稿日期:2023-11-23
基金項目:新疆生產建設兵團科技創新項目(編號:2021CB021)。
作者簡介:鄭文軒(1980—),男,河南南陽人,博士,教授,從事圖像分析、計算機視覺研究。E-mail:wenxuanzhengdx@163.com。
通信作者:楊" 瑛,博士,教授,從事農業信息技術研究。E-mail:yangyingtlmdx@163.com.
香梨作為世界五大水果之一,由于其經濟價值、營養保健價值高,可鮮食、加工增值等多種用途,深受廣大消費者的喜愛。2022年我國梨產量超過1 800萬t,是果農重要的經濟來源之一。目前香梨的采摘方式主要是依靠農民手工采摘,費時費力,效率低下,很難滿足作業周期短、采摘任務重、采摘需求急的現實要求[1]。在現代農業生產中,農業采摘越來越偏向機械化和智能化,越來越多的采摘機器人投入生產使用,并逐步代替人力勞動。但在自然環境下,天氣、光照以及水果果實大小,成簇狀生長,果實顏色與背景相近,果實和枝干之間相互遮擋等問題,大大增加了水果果實目標檢測的難度。
隨著計算機算力的不斷提升,深度學習技術在目標檢測領域有了巨大的優勢[2]。與傳統的目標檢測算法相比,深度卷積神經網絡可以自動從訓練數據中學習多層次的特征,模型具有較強的泛化能力和更強的特征提取能力[3-4]。傅隆生等提出一種對多簇獼猴桃具有94.78%的識別準確率的果實識別算法[5]。崔瀟等在2019年提出的桃子檢測模型,是以MTCNN(多任務卷積神經網絡算法)為主干的一種網絡,對成熟桃子的檢測準確率達到89.3%[6]。He等提出SPP-Net網絡,從之前的單一尺度輸入變為了效率更高的多尺度輸入[7]。Ren等提出Faster-RCNN網絡去彌補目標檢測速度慢的問題[8]。為了進一步改善目標檢測速度上的問題,Redmon等提出了速度更快的網絡模型YOLO,但方法存在檢測精度低的缺陷[9]。后續研究者陸續提出YOLO v2、YOLO v3、YOLO v4和YOLO v5等來改進檢測精度低的問題,但這些網絡模型在小目標的檢測上表現效果欠佳。隨著目標檢測技術的不斷發展,Tian等提出了一種改進的YOLO v3模型,用于在不同光照條件、復雜背景以及遮擋等情況下檢測不同成熟度的蘋果[10]。王立舒等提出一種改進 YOLO v4-Tiny的藍莓成熟度識別方法,該方法在遮擋與光照不均等復雜場景中平均精度很高[11]。周桂紅等在YOLO v4 主干特征提取網絡的ResBlock 模塊中加入SC-SE 注意力機制,并將" PA-Net 模塊中的部分卷積替換為深度可分離卷積,改進后的 YOLO v4 網絡模型檢測成熟蘋果的平均精度達到97.27%[12]。Lyu等提出了一種輕量級的目標檢測YOLO v5-CS 模型,在YOLO v5 網絡中加入了注意力模塊,自然環境中對綠色柑橘識別準確率98.23%[13]。YOLO v7模型是一個具有檢測精度高、速度快、支持高分辨率圖像的目標檢測模型,已被廣泛應用到智慧農業的各個領域。雖然,目前對水果檢測方面的研究已經取得較好的成效,但是針對水果目標檢測的檢測精度和速度還有待提高,在檢測距離較遠及存在遮擋的目標檢測時會出現漏檢和誤檢的問題。
針對以上問題, 本研究提出一種改進的輕量化YOLO v7香梨目標檢測模型。首先,在試驗數據采集時針對現實生產中存在的果實采摘距離遠近、光照、有無枝干或樹葉遮擋等問題進行有針對性的圖像采集。然后,將YOLO v7的骨干特征提取網絡替換為輕量級的MobileNet v3骨干網絡,大幅降低模型的參數量和計算量。在特征融合層引入CA注意力模塊來加強網絡的特征表達能力,提高相鄰果實和被枝葉遮擋果實的檢測精度,通過試驗對比將原YOLO v7中的損失函數CIoU替換為SIoU,從而提高模型的檢測速度和精度等。
1" 材料與方法
1.1" 圖像數據采集
本試驗開展于2023年8月,試驗所用的香梨數據集拍攝于新疆塔里木大學園藝試驗站新梨7號試驗區,研究對象為成熟期新梨7號香梨。采集圖像信息見表1,不同場景香梨圖像見圖1。考慮到智能機器人在對梨果采摘時會遇到采摘距離遠近、光照強弱不均勻等問題,試驗數據采集設計了遠距(距離為50~100 cm)和近距(距離為10~30 cm)2種圖片拍攝模式,拍攝時間選擇在07:00—08:00、13:00—14:00、18:00—19:00等3個時間段,拍攝時期為8月15—30日,此時段為香梨成熟期但還未采摘。試驗共采集香梨圖片2 586張,其中遠距圖片為1 167張,近距圖片為1 419張。
1.2" 香梨圖像數據集制作
由于新梨7號香梨數據集的數據樣本量不足以讓模型在訓練時達到很好的收斂狀態,為改善網絡訓練效果和提高模型的泛化能力,采用數據增強方法增加樣本數量,防止網絡因訓練樣本不足導致過擬合問題。本研究采用水平翻轉、垂直翻轉、非等比例縮放、隨機平移、隨機裁剪和mosaic等數據增強方式隨機組合,對數據集進行增廣。利用Labelimg標注軟件對香梨數據集進行人工標注, 標
注框選擇果實最小外接矩形,標注后產生的標注信息文件為xml類型文件,儲存了果實圖像文件名、標注區域矩形框4個角的位置信息以及標注種類等信息。圖像增廣后的圖片共4 316張,以7 ∶2 ∶1的比例劃分訓練集(3 021張)、測試集(863張)、驗證集(432張)進行模型的訓練和測試。
1.3" 試驗環境配置
本研究使用Win 10操作系統,顯卡型號為Nvidia GeForce RTX-3090,處理器型號為Intel CoreTMi7-12700KF 3.60 GHz,深度學習框架為PyTorch 2.0,編程平臺為PyCharm,編程語言為Python 3.8,所有對比算法均在相同環境下運行。為提高網絡訓練的效率,本試驗采用凍結訓練和解凍訓練2種方法進行。凍結骨干網絡訓練時初始學習率設為0.01,Batchsize設為16,動量設為0.93;解凍之后的網絡訓練學習率設為 0.01,Batchsize設為8,動量設為0.93,迭代次數為300次。
1.4" 模型評價指標
本研究采用5個指標評價目標檢測模型的性能。在模型檢測精度方面,選用精確率(Precision,簡稱P)、召回率(Recall,簡稱R)和平均精度均值(mean Average Precision,簡稱mAP)作為評價指標;在模型檢測性能方面,選用檢測速度(detection speed)和模型內存占用量作為評價指標,這些評價指標的具體計算方法可見參考文獻[14-16]。
2" 研究方法
2.1" YOLO v7網絡結構介紹
YOLO v7網絡結構主要由主干網絡(Backbone)、特征融合網絡(FPN)和檢測頭(YOLO Head)等3個部分組成。在YOLO v7特征提取網絡中使用了多分支堆疊模塊(Multi_Concat_Block),如圖2所示,它是將多個卷積標準化激活函數進行堆疊后進行特征融合,從而提高準確率。 同時使用創新的過渡模塊Transition_Block來進行采樣,YOLO v7提出了重參數化卷積(RepConv)和動態標簽分配等策略,使其在檢測精度和效率上取得了較好的效果。在原YOLO v7中使用的CIoU 損失函數,只考慮了檢測框尺度的損失,沒有考慮預測框與真實框之間的不匹配,因此本研究使用SIoU 損失函數代替 CIoU 損失函數,將方向尺度的損失考慮到模型訓練中。
2.2" YOLO v7模型的主干網絡改進
為了使改進的YOLO v7模型更符合生產實際,試驗使用MobileNet v3 骨干網絡作為YOLO v7模型的骨干網絡實現特征提取。MobileNet v3 網絡與傳統卷積神經網絡相比在準確率小幅降低的前提下大大減少了模型參數量與運算量[17],實現模型的輕量化,更有利用于部署在移動端,其網絡參數設計如表2所示。 MobileNet v3 綜合了MobileNet v1 和
MobileNet v2的特點,其在主干網絡中加入了注意力機制 SE(squeezeand excitation networks)模塊[18],使用了深度可分離卷積(depthwise separable convolutions)和逆殘差結構(the inverted residual with linear bottleneck)。同時,使用H-Swish激活函數代替Swish激活函數,減少運算量,提高了模型性能。
2.3" 引入SE通道注意力機制和CA協同注意力機制
注意力機制是一種即插即用的模塊,引入注意力機制可以更有效地提取特征,進而提升模型的檢測性能。在MobileNet v3主干網絡中加入SE注意力機制模塊,SE注意力機制模塊主要考慮的是通道注意力(channel attention),如圖3所示。在YOLO v7 特征融合層引入協同注意力機制CA(coordinate attention,)模塊[19],該注意力模塊不僅可以把通道注意力和空間注意力進行有效的結合,更值得注意的是它同時在通道注意力中融入了位置信息,避免全局pooling-2D操作造成的位置信息丟失,將注意力分別放在寬度和高度2個維度上,有效利用輸入特征圖的空間坐標信息,具體如圖4所示。
2.4" SIoU損失函數分析
YOLO v7 模型算法中,預測框回歸損失采用CIoU,但CIoU 并沒有考慮到預測框與真實框方向間的不匹配。這種方向的不匹配,可能導致收斂速度減慢且收斂效率低的問題。針對CIoU存在的問題, 本研究經過試驗對比, 采用SIoU損失函數替換
YOLO v7使用的CIoU 損失函數[20]。SIoU 損失函數主要優點在于進一步考慮了真實框和預測框之間的向量角度,重新定義相關損失函數,SIoU 主要包含4個部分:角度損失(angle cost)、距離損失(distance cost)、形狀損失(shape cost)、IoU損失(IoU cost),圖5為SIoU 參數示意圖。
角度損失計算公式:
Λ=1-2·sin2arcsinchσ-π4
=cos2·arcsinchσ-π4。(1)
其中:
chσ=sin(α)。(2)
根據角度損失Λ公式,定義距離損失Δ計算公式如下:
Δ=∑t=x,y(1-e-γρt)=2-e-γρx-e-γρy;(3)
ρx=bgtcx-bcxcw2,ρy=bgtcy-bcych2,γ=2-Λ。(4)
形狀損失Ω定義如下:
Ω=∑t=w,h(1-ewt)θ=(1-eww)θ+(1-e-wh)θ。(5)
其中:
ww=|w-wgt|max(w,wgt),wh=|h-hgt|max(h,hgt)。(6)
式中:w、h、wgt、hgt分別表示預測框和真實框的寬和高。θ控制對形狀損失的關注程度,為避免過于關注形狀損失而降低對預測框的移動,θ參數范圍為[2,6]。
SIoU 損失的定義為:
LossSIoU=1-IoU+Δ+Ω2。(7)
3" 試驗結果與分析
3.1" 改進的YOLO v7模型消融試驗結果
為驗證改進的YOLO v7模型的性能,本研究選用4組消融試驗驗證網絡模型的性能,分別為YOLO v7、在YOLO v7特征融合層加入CA注意力模塊、替換骨干網絡為MobileNet v3的YOLO v7模型和改進的輕量化YOLO v7模型。選用平均精度均值(mAP)和檢測速度等2個評價指標,對驗證集中的香梨圖像進行評價。由表3可知,改進后的YOLO v7模型的平均精度均值(mAP)和檢測速度均高于其他3組模型。
3.2" 香梨果實圖像檢測結果
圖6為不同距離、是否有遮擋、不同光照條件下YOLO v7和改進的YOLO v7模型對香梨目標檢測結果。
由圖6可知,無論是在近距離還是遠距離,無遮擋順光和逆光的情況下(圖6-a、圖6-b、圖 6-d),YOLO v7模型和改進的YOLO v7模型均可準確檢測梨果,沒有漏檢和誤檢的情況,但是在有枝葉遮擋的情況下,YOLO v7的檢測效果(圖6-a、圖6-f)均出現了漏檢或誤檢的情況。而改進的YOLO v7模型僅在光照不均勻且有相鄰梨果遮擋(圖6-c)和遠距離有遮擋(圖6-e)的情況下出現個別香梨漏檢情況,整體檢測更加準確。
由表4可知,改進的YOLO v7模型的平均精度均值(mAP)、精確率和召回率在近景、遠景2種場景下均高于YOLO v7模型,在測試近景數據集時,改進YOLO v7模型的平均精度均值(mAP)、精確率和召回率分別比YOLO v7高1.35、1.98、1.63百分點;在測試遠景數據集時,改進的YOLO v7模型的平均精度均值(mAP)、精確率和召回率分別比YOLO v7模型高1.49、0.12、1.68百分點。
3.3" 不同目標檢測網絡模型對比結果分析
為定量比較不同模型的性能,將改進的YOLO v7模型與Faster R-CNN、YOLO v3、MobileNet v3-YOLO v4、YOLO v5s 以及原YOLO v7模型在驗證集上進行性能比較。由表5可知,改進的YOLO v7模型平均精度均值(mAP)、精確率、召回率分別為96.33%、94.36%、89.28%。其均值平均精度(mAP)與 Faster R-CNN、YOLO v3、MobileNet v3-YOLO v4、YOLO v5s以及原YOLO v7 模型相比分別提升28.37、9.66、13.14、4.58、3.20百分點。檢測速度為87.71 幀/s,模型內存占用量與原YOLO v7 相比減少了21.45 MB。
3.4" 不同損失函數應用于YOLO v7的性能比較
為分析不同損失函數的性能表現,本研究將原YOLO v7中的損失函數CIoU分別替換為AlphaIoU、DIoU、SIoU[21-24],4種損失函數應用于YOLO v7中的性能表現(表6)。使用4種損失函數訓練模型的損失曲線, 由損失曲線圖(圖7)可以看出, DIoU損
失函數在第17~21個輪次時略有“波動”,但使用 AlphaIoU、DIoU、CIoU和SIoU這4種損失函數訓練模型都可以快速收斂并維持在較低的損失值。
對比4種損失函數性能,SIoU與 AlphaIoU相比,其平均精度均值(mAP)、精確率和召回率分別提高1.60、1.10、1.96百分點,訓練時長縮短了0.72 h;使用SIoU與DIoU相比,其平均精度均值(mAP)、精確率和召回率分別提高 1.91、1.43、3.44百分點,訓練時長縮短了1.01 h;使用SIoU與CIoU相比,其平均精度均值(mAP)、精確率分別提高了0.32、0.89百分點,召回率降低了0.69百分點,訓練時長縮短2.78 h。根據上述分析可知,使用SIoU損失函數進行YOLO v7模型訓練,檢測精度更高。
3.5" 檢測熱力圖分析
深度學習熱力圖可視化是一種直觀展示模型學習過程和結果的方法。通過使用熱力圖,可以更好地理解模型的內部工作原理和模型對輸入數據的敏感程度,理解模型的關注區域。本研究利用Grad-CAM產生目標檢測熱力圖[25]。由圖8可知,通過香梨圖像檢測熱力圖,可以看出改進的 YOLO v7模型的目標檢測熱力圖更貼近真實梨果區域。通過圖8-b、圖8-d、圖8-e、圖8-f圓形圈出的區域可以看出,原YOLO v7目標檢測熱力值相對改進的YOLO v7模型的目標檢測熱力值更低,表現出漏檢現象。通過目標檢測熱力圖可以看出,改進的YOLO v7模型可以從弱語義的目標中提取更強的目標特征,有著較好的魯棒性和泛化能力[26]。
4" 結論
基于YOLO v7構建了改進的輕量化YOLO v7香梨目標檢測模型, 實現了對自然環境下香梨的快
速準確檢測。
該模型采用MobileNet v3骨干網絡替換YOLO v7原模型中的骨干網絡,并在特征融合層引入 CA注意力機制,使用SIoU損失函數替換YOLO v7中使用的CIoU 損失函數,從而提高梨果的目標檢測精度。改進的輕量化YOLO v7模型的平均精度均值(mAP)、精確率、召回率指標分別為96.33%、94.36%、89.28%。檢測速度為87.71 幀/s,模型內存占用量與原YOLO v7相比減少了21.45 MB。
為了驗證改進的輕量化YOLO v7模型的性能,本研究選用YOLO v7、YOLO v7+CA、MobileNet v3-YOLO v7和改進的YOLO v7等4組網絡模型進行消融試驗。試驗結果表明,改進后的YOLO v7模型在檢測精度和檢測速度方面均優于其他3 組模型。
通過與 Faster R-CNN、YOLO v3、MobileNet v3-YOLO v4、YOLO v5s 以及原YOLO v7模型進行對比發現,改進后的YOLO v7模型在香梨驗證集上取得了最優的目標檢測效果,其平均精度均值(mAP)分別提高28.37、9.66、13.14、4.58、3.20百分點。
參考文獻:
[1]邵園園,王永賢,玄冠濤,等. 基于高光譜成像的肥城桃品質可視化分析與成熟度檢測[J]. 農業機械學報,2020,51(8):344-350.
[2]宋懷波,尚鈺瑩,何東健. 果實目標深度學習識別技術研究進展[J]. 農業機械學報,2023,54(1):1-19.
[3]林景棟,吳欣怡,柴" 毅,等. 卷積神經網絡結構優化綜述 [J]. 自動化學報,2020,46(1):24-37.
[4]He K M,Zhang X Y,Ren S Q,et al. Deep residual learning for image recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition.Las Vegas:IEEE,2016:770-778.
[5]傅隆生,馮亞利,Tola E,et al. 基于卷積神經網絡的田間多簇獼猴桃圖像識別方法[J]. 農業工程學報,2018,34(2):205-211.
[6]崔" 瀟,馬原東,倪照風,等. 基于深度學習的桃子檢測研究[J]. 貴州科學,2019,37(2):82-86.
[7]He K M,Zhang X Y,Ren S Q,et al. Spatial pyramid pooling in deep convolutional networks for visual recognition[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2015,37(9):1904-1916.
[8]Ren S Q,He K M,Girshick R,et al. Faster R-CNN:towards real-time object detection with region proposal networks[EB/OL]. (2015-06-04)[2023-11-20]. https://arxiv.org/abs/1506.01497v3.
[9]Redmon J,Farhadi A. YOLO v3:an incremental improvement[EB/OL]. (2018-04-08)[2023-11-20]. https://arxiv.org/abs/1804.02767v1.
[10]Tian Y N,Yang G D,Wang Z,et al. Apple detection during different growth stages in orchards using the improved YOLO v3 model[J]. Computers and Electronics in Agriculture,2019,157:417-426.
[11]王立舒,秦銘霞,雷潔雅,等. 基于改進YOLO v4-Tiny的藍莓成熟度識別方法[J]. 農業工程學報,2021,37(18):170-178.
[12]周桂紅,馬" 帥,梁芳芳. 基于改進YOLO v4模型的全景圖像蘋果識別[J]. 農業工程學報,2022,38(21):159-168.
[13]Lyu S L,Li R Y,Zhao Y W,et al. Green Citrus detection and counting in orchards based on YOLO v5-CS and AI edge system[J]. Sensors,2022,22(2):576.
[14]Singh B,Najibi M,Davis S. Efficient multi-scale training[EB/OL]. [2023-11-20]. https://arxiv.org/abs/1805.09300.
[15]Redmon J,Divvala S,Girshick R,et al. You only look once:unified,real-time object detection[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Las Vegas,NV,USA:IEEE,2016:779-788.
[16]Redmon J,Farhadi A. YOLO 9000:better,faster,stronger[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Honolulu,HI:IEEE,2017:7263-7271.
[17]Jiang B R,Luo R X,Mao J Y,et al. Acquisition of localization confidence for accurate object detection[M]//Lecture Notes in Computer Science.Cham:Springer International Publishing,2018:816-832.
[18]彭心睿,潘" 晴,田妮莉. WCF-MobileNet v3:輕量型新冠肺炎 CXR 圖像識別網絡[J]. 計算機工程與應用,2023,59(14):224-231.
[19]劉" 雪,沈長盈,呂學澤,等. 基于改進MobileNet v3-Large的雞蛋新鮮度識別模型[J]. 農業工程學報,2022,38(17):196-204.
[20]林" 森,劉美怡,陶志勇. 采用注意力機制與改進YOLO v5的水下珍品檢測[J]. 農業工程學報,2021,37(18):307-314.
[21]He J,Sarah E,Ma X,etal. Alpha-IoU:a family of power intersection over union losses" for boundingbox regression[C]//Proceedings of the Conference and Workshop on Neural Information Processing Systems.Long Beach,2021:1-10.
[22]Zheng Z H,Wang P,Liu W,et al. Distance-IoU loss:faster and better learning for bounding box regression[J]. Proceedings of the AAAI Conference on Artificial Intelligence,2020,34(7):12993-13000.
[23]Gevorgyan Z. SIoU loss:more powerful learning for bounding box regression[EB/OL]. (2022-05-25)[2023-11-20]. https://arxiv.org/abs/2205.12740.
[24]周紹發,肖小玲,劉忠意,等. 改進的基于YOLO v5s蘋果樹葉病害檢測[J]. 江蘇農業科學,2023,51(13):212-220.
[25]Danell J,Khan F. Adaptive color attributes" for" real-time visual tracking[C]//2014 IEEE Conference on Computer Vision and Pattern Recognition. Columbus,OH,USA:IEEE,2014:1090-1097.
[26]龍" 燕,楊智優,何夢菲. 基于改進 YOLO v7 的疏果期蘋果目標檢測方法 [J]. 農業工程學報2023,39(14):191-199.