












摘 要:針對光照、遮擋、果實密集以及分布不均衡等復雜環境造成草莓識別不準確問題,該文提出一種基于YOLOv7的改進模型為YOLOv7-SCC,制作草莓樣本數據集建立真實采摘的復雜環境數據,首先,使用輕量級特征提取網絡ShuffleNetv2替換YOLOv7主干網絡,實現輕量化的同時有效減少模型參數量;其次,引入CBAM注意力機制模塊,從而增強特征網絡對草莓區域的識別;最后,選用內容感知特征重組(CARAFE)上采樣來擴展特征融合網絡中的感受野并充分利用語義信息。經實驗,改進后的模型參數量降低59%,浮點數降低68.2%,準確率為99.6%。結果證明,改進后的YOLOv7-SCC可以實現草莓成熟度的準確識別,同時保持高精度,使其成為與其他算法相比更適合高壟草莓成熟度檢測的選擇。
關鍵詞:高壟草莓;成熟度檢測;YOLOv7;ShuffleNetv2;CBAM;CARAFE
中圖分類號:TP183 文獻標志碼:A 文章編號:2096-9902(2024)21-0001-07
Abstract: Aiming at the problem of inaccurate strawberry identification caused by complex environments such as light, occlusion, dense fruits and uneven distribution, this paper proposes an improved model based on YOLOv7 to YOLOv7-SCC to create a strawberry sample dataset to establish real picking complex environment data. First, use ShuffleNetv2 to replace the YOLOv7 backbone network to achieve lightweight and effectively reduce the amount of model parameters; Secondly, the CBAM attention mechanism module is introduced to enhance the recognition of strawberry areas by the feature network; finally, Content-Aware ReAssembly of FEatures(CARAFE) upsampling is selected to expand the receptive fields in the feature fusion network and make full use of semantic information. After experiments, the parameter quantity of the improved model is reduced by 59%, the floating point number is reduced by 68.2%, and the accuracy rate is 99.6%. The results proved that the improved YOLOv7-SCC can accurately identify strawberry ripeness while maintaining high accuracy, making it a more suitable choice for high-ridge strawberry ripeness detection than other algorithms.
Keywords: high-ridge strawberry; maturity test; YOLOv7; ShuffleNetv2; CBAM; CARAFE
草莓口感良好,營養成分高,是春冬季節常見的水果之一[1]。草莓被廣泛用于制作蛋糕、果脯和果汁等產品,具有良好的市場前景,因此,種植前景也很廣闊[2]。從20世紀開始,我國從國外了解到草莓這種新型水果,各地漸漸有特定的種植區進行草莓的種植。隨著經濟實力的增強及社會生活水平的提高,我國已成為全世界草莓種植面積、產量最大的國家。目前,國內草莓的栽培面積已達10萬hm2,總產量達188萬t,草莓的采摘收獲主要依靠人工,存在勞動強度較大,成本高等問題[3],因此,機械化采摘成為草莓產業化種植發展的必然趨勢,然而由于田間環境復雜,準確識別草莓成熟度難度較大,這使得計算機視覺技術近幾年來在農業中得到了廣泛的應用。
卷積神經網絡(CNN)可以實現二維圖像數據的高精度識別,研究人員嘗試將CNN應用于草莓檢測,此外,目標檢測任務被應用于廣泛場景中皆取得不錯的成果,快速穩定的目標識別系統能夠使采摘機器人進行長時間有效的工作,大大提高了采摘效率。目前,深度卷積神經網絡主要有兩大類,其中以YOLO系列[4-6]為代表的單階段目標檢測算法(One-stage),雖然檢測速度比兩階段目標檢測算法(Two-stage)算法更快,但精度有所損失;以Faster R-CNN[7]為代表的兩階段目標檢測算法,通常精度比單階段目標檢測算法更高,但檢測速度更慢。
文獻[8]中將草莓成熟度分為成熟、近成熟、未成熟3個標準,并結合YOLOv5與暗通道圖像增強來識別草莓成熟度。文獻[9]提出一種基于低空遙感技術結合深度學習的草莓植株識別新方案,選用Fasrer-RCNN檢測框架進行試驗,通過可見光譜波段低空遙感影像中草莓植株冠層的外部輪廓特征來定義草莓植株的判別標準。文獻[10]水果檢測通過傳統的數字圖像處理、基于機器學習的圖像分割和分類以及基于深度學習的神經網絡算法來實現。文獻[11]提出使用神經網絡來檢測草莓果實的一種既快速又精確的檢測系統。提供實時視頻作為輸入,各個幀將使用深度信息進行增強,以提供每個草莓的位置,該系統用于檢測大規模采收的草莓。文獻[12]提出了一種使用卷積神經網絡來預測草莓果實成熟度的自動化系統。CNN用于提取草莓表面的顏色、大小和形狀特征,測試數據根據提取到的特征進行草莓分類,第二階段分類的產出決定了草莓是否成熟或受損,分類輸出以及分類圖像顯示在GUI上。
高壟草莓生長環境復雜惡劣,常有泥土、枝葉等遮擋草莓,同時亦有大量顏色相近的草莓聚集,易造成簇擁、重疊、遮擋等現象,導致草莓目標檢測難度大。因此,在識別過程中需要考慮以下幾個方面的問題。草莓形狀的差異性,在目標重疊和遮擋的情況下,較難通過目標的外形信息來進行區分;草莓表面顏色的差異性,草莓會因其表面紋理的差異,同時受到光照、陰影等因素的影響,導致圖像中的草莓出現亮度和顏色變化,進而影響識別結果;草莓背景的復雜性,其識別背景往往比較復雜,存在泥土、綠葉等干擾信息,使得背景中的紋理和顏色等信息與草莓果實的信息混淆,干擾識別的準確性。
由于上述差異,現有的目標識別策略難以直接應用于草莓識別領域,YOLOv7由于其更復雜的網絡結構和訓練策略,具有更好的檢測精度和更快的推理速度,針對數據樣本存在的問題進行算法模型改進與優化,為成熟草莓機械化采摘提供研究基礎。
1 YOLOv7網絡結構
YOLOv7整體網絡架構如圖1所示,主要由Input層、Backbone層和Head層這3部分組成。將640×640像素的RGB圖像輸入到骨干部分進行特征提取,然后對提取的特征進行頭部融合得到大、中、小尺寸特征,最后,將融合后的特征發送到檢測頭并輸出檢測結果。
YOLOv7網絡模型主要分為2部分:骨干網絡和檢測頭部;骨干網絡由ELAN模塊和MP-1模塊組成,ELAN模塊有2條分支,一條是經過一個1×1的卷積做通道數變化,另一條先經過一個1×1的卷積做通道數變化。再經過4個3×3的卷積做特征提??;MP-1模塊是由2個相同長度的分支組成的下采樣模塊,上分支由MaxPool和CBS模塊組成,下分支由2個CBS模塊組成,MP1模塊的作用是在特征圖下采樣過程中減少特征信息損失的同時減少參數;SPPCSPC模塊是一種改進的空間金字塔池化結構,該模塊在卷積中添加了并發的多個MaxPool操作過程,通過將并行最大池化操作與多個卷積塊相結合來避免圖像失真和特征復制。Head層使用的路徑聚合特征金字塔網絡(PAFPN)[13]通過引入自下而上的路徑實現了不同層次特征的高效融合,使得信息從底層到頂層的傳遞更加容易,在特征區域中訓練重新參數卷積(Repconv)[14]模塊以獲得更詳細的信息。
2 改進的YOLOv7模型
2.1 ShuffleNetv2
ShuffleNetv2[15]通常使用深度可分離卷積(Depthwise Separable Convolution)進行下采樣,該結構既能減少參數量又可以降低計算復雜度。通過分組卷積和通道混洗將網絡的通道數和深度分開。在網絡的不同階段逐步減少特征圖的分辨率,進而提高感受野并更大范圍地獲取上下文信息。
ShuffleNetv2主要的改進是采用了通道混洗操作,這使得不同通道組之間可以有效地進行信息交流,此操作增強了網絡捕獲空間和通道依賴關系的能力。ShuffleNetv2還利用深度可分離卷積,將卷積運算分解為單獨的深度卷積和逐點卷積。該操作在降低了網絡的計算復雜度的同時還保留了其表達能力,ShuffleNetv2的基本單元如圖2所示。
2.2 CBAM
CBAM[16]是一個結合通道注意力和空間注意力的輕量級模塊,通過學習的方式自動獲取每個特征通道的重要程度。
CBAM提取特征空間注意力的方式:經過Channel Attention后,最終將經過通道重要性選擇后的特征圖送入特征空間注意力模塊,空間注意力是以通道為單位進行最大池化和平均池化,并將兩者的結果進行concat,之后再一個卷積降成1×w×h的特征圖空間權重,再將該權重和輸入特征進行點積,從而實現空間注意力機制。CBAM結構如圖3所示。
通道注意力模塊的輸出Mc(F)如公式(1)所示
Mc(F)=σ(MLP(AvgPool(F))+MLP(MaxPool(F))), (1)
式中:F是輸入特征圖,AvgPool和MaxPool分別表示全局平均池化和最大池化操作,MLP表示多層感知機,σ表示Sigmoid激活函數。
空間注意力模塊的輸出Ms(F)通過公式(2)表示
Ms(F)=σ(f 7×7([AvgPool(F);MaxPool(F)])),(2)
式中:f 7×7表示一個7×7的卷積操作,[AvgPool(F);MaxPool(F)]表示將平均池化和最大池化結果沿通道軸拼接起來。
2.3 CARAFE
CARAFE的核心思想:使用輸入特征本身的內容來指導上采樣過程,從而實現更精準和高效的特征重建。CARAFE[17]由上采樣預測模塊和特征重組模塊組成,如圖4所示。
CARAFE模塊首先采用空間注意力機制來更好地關注空間位置,還引入了通道重加權機制,通過學習得到的通道權重可以對不同通道的特征響應進行加權組合,從而提高特征的表征能力。
上采樣預測模塊首先進行特征圖通道壓縮,即用1×1卷積將尺寸為H×W×C的輸入特征圖的通道數壓縮至H×W×Cm,應用kup×kup的卷積核進行卷積運算;然后進行內容編碼以生成重組內核,輸入通道數為Cm,輸出通道數為σ2k,將通道數擴展到σ2k以進行內容編碼;最后,對輸出進行空間歸一化。特征重組模塊中將輸出特征圖與傳統特征圖得到的對應位置作點積,得到輸出值。
2.4 YOLOv7-SCC模型
改進后的YOLOv7-SCC模型主要由提取特征的主干網絡(Backbone)、頸部結構和包含特征融合與特征圖輸出的Head組成。將640×640像素的RGB圖像輸入到主干部分,經過輕量級骨干網絡ShuffleNetv2后輸出特征圖,加入CBAM注意力機制增強對草莓果實的特征,選用CARAFE上采樣可以利用底層的內容信息來預測重組內核,并在預定義的附近區域內重組特征,確保在充分利用語義信息的同時還能擴展特征融合網絡中的感受野。綜上所述,本文改進的YOLOv7-SCC的整體結構如圖5所示。
3 數據收集與結果分析
3.1 實驗環境
本文選用的實驗設備及硬件見表1。
3.2 數據集準備
針對草莓采摘時受光照、環境等因素影響的問題,本文在YOLOv7的基礎上主要做了以下改進,提出了一種新的檢測模型YOLOv7-SCC,克服了草莓果實準確率低的問題,提高了對小目標的檢測能力。高壟草莓數據集按照8∶2的比例劃分為訓練集和驗證集,使用PyTorch和OpenCV對訓練集進行圖像增強處理,實現數據集的擴展,原始數據集共804張圖像,增強后數據集為4 939張圖像,見表2。
表2 數據集中圖像數量分布
3.3 模型評估指標
本研究主要從模型輕量化程度和識別準確率來檢驗模型的效果,采用選擇均值平均精度(mAP)、每秒千兆浮點運算次數(GFLOPs)、每秒幀數(FPS)和參數量(Parameters)作為評價模型輕量化程度的4個指標。
1)mAP指標:TP(True Positive)為正確檢測出草莓成熟度的樣本數,FN(False Negative)為錯誤檢測草莓成熟度的樣本數,FP(False Positive)為未成熟草莓被錯誤檢測為成熟草莓的樣本數,TN(True Negative)為未成熟草莓被正確檢測為未成熟草莓的樣本數。AP是PR曲線下的面積,用于描述高壟草莓檢測的平均準確度。
P= , (3)
R= , (4)
AP =PR dr , (5)
mAP=AP(i) 。(6)
2)GFLOPs:GFLOPs用來衡量模型的復雜度,計算公式如下所示
GFLOPs=(2CiK2-1)HWC0 , (7)
式中:Ci和C0表示輸入和輸出通道的數量,K表示內核的大小,H和W用于描述特征圖的大小。
3)FPS:FPS的值等于模型每秒處理的圖像數量,可以用來檢測模型速度,n為模型處理的圖片數量;T為消耗的時間。其公式如下
FPS= 。(8)
4)Parameters:參數量指的是模型包含的參數數量。
根據YOLOv7-SCC模型的訓練過程可以看出,在150~200 epoch后,各評價指標趨于穩定,訓練結果如圖6所示,當epoch達到200時,模型的訓練結束。
3.4 輕量級網絡比較實驗分析
為了進一步分析改進算法檢測高壟草莓的成熟度,將輕量化網絡替換YOLOv7骨干網絡,要實現既能準確識別草莓成熟度也要滿足模型輕量化,選擇適當的骨干網絡也是重中之重,因此我們將當今主流輕量化網絡進行對比,主要模型結構有MobileNetv3[18]、ShuffleNetv2、GhostNet[19]其每個網絡模型Parameters、GFLOPs和mAP見表3。
從表3可以看出,模型加入了ShuffleNetv2網絡后Parameters降低了46.2%,GFLOPs減少了62.1%且mAP并未減少,與其他輕量級網絡對比,加入ShuffleNetv2網絡后的模型具有更好的精度和更低的參數,因此本文選用ShuffleNetv2網絡作為骨干網絡,在降低模型復雜度的同時還能保留表達能力,能夠在使用更少的計算資源情況下實現更好的檢測結果。
3.5 不同檢測模型的測試結果
利用hDqzkO0TTmPLvLEwQauebmkmeRqU+i4+G3793G6qM2w=獲取的數據集對不同的模型進行訓練測試,以識別和檢測不同生長狀態的草莓。部分試驗結果如圖7所示。從(a)組的試驗結果可以看出,YOLOv5不能精確區分熟草莓和近熟草莓,如(b)組的測試結果所示,YOLOv7無法檢測到具有相似背景特征的草莓目標,說明該模型對草莓特征的提取和融合能力不足,從(c)組的檢測結果可以看出,與YOLOv5和YOLOV7模型相比,改進的YOLOV7-SCC模型可以更準確地檢測出不同生長狀態的草莓目標。
(a) YOLOv5 (b) YOLOv7 (c) YOLOv7-SCC
4 結論
本研究提出一種適用于果實枝葉重疊且難以區分的密集草莓園的多目標識別算法。在YOLOv7模型的基礎上,首先,提出將骨干網絡替換為更輕量化的ShuffleNetv2結構,其中運用信道混洗操作,在保留表達能力的同時降低模型參數提升準確率;其次,引入CBAM注意力機制加強模型對草莓不同狀態的特征關注度;最后,添加CARAFE上采樣模塊,通過擴大模型的感知領域,幫助網絡感知更廣泛的上下文信息,并通過上下文融合判斷來提高特征表示能力,從而提取和融合這些精細特征實現特征重建。實驗結果表明,與原模型相比,改進后的模型參數量和浮點數分別減少了59.0%和68.2%,準確率為99.6%。改進后的YOLOv7-SCC各項指標均達到最佳性能,在保持高精度的同時減少了模型的參數和計算量,其輕量的網絡結構和高效的檢測結果更適合高壟草莓檢測任務。
參考文獻:
[1] 張雯麗.中國草莓產業發展現狀與前景思考[J].農業展望,2012,8(2):3-30.
[2] 吳曉云,高照全,李志強,等.國內外草莓生產現狀與發展趨勢[J].北京農業職業學院學報,2016,30(2):6-21.
[3] 王糧局.基于動態識別定位的多機械手草莓收獲機器人的研究[D].北京:中國農業大學,2016.
[4] GE Z, LIU S, WANG F, et al. (2021) YOLOX: Exceeding YOLO Series in 2021. arXiv:2107.08430.
[5] BOCHKOVSKIY A, WANG C-Y, LIAO H-Y M. (2020) YOLOv4: Optimal Speed and Accuracy of Object Detection[J]. arXiv:2004.10934.
[6] REDMON J, FARHADI A.(2018) YOLOv3: An Incremental Improvement[J]. arXiv:1804.02767.
[7] REN S, HE K, GIRSHICK R, et al.(2017) Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[C]. IEEE Trans Pattern Anal Mach Intell 39:1137-1149.
[8] XIAO B, NGUYEN M, YAN W Q. Fruit ripeness identification using transformers[J]. Appl. Intell.,2023,53(19):22488-22499.
[9] WANG D, WANG X, CHEN Y, et al. “Strawberry ripeness classification method in facility environment based on red color ratio of fruit rind[J]. Comput. Electron. Agric.,2023,214:108313.
[10] FAN Y, ZHANG S, FENG K, et al. Strawberry Maturity Recognition Algorithm Combining Dark Channel Enhancement and YOLOv5[J]. Sensors,2022(22):419.
[11] WANG D, HE D. Fusion of Mask RCNN and attention mechanism for instance segmentation of apples under complex background[J]. Comput Electron Agric, 2022, 196:106864.
[12] CHO W, NA M, KIM S, et al. Automatic pregvgctBRVw8pc5fTPPrGz4g==diction of brix and acidity in stages of ripeness of strawberries using image processing techniques[C]. In: 2019 34th International Technical Conference on Circuits/Systems, Computers and Communications (ITC-CSCC). IEEE, JeJu, Korea (South).
[13] SHU LIU, LU QI, HAIFANG QIN, et al. Path Aggregation Network for Instance Segmentation[J].arXiv,2018.
[14] DING X H, ZHANG X Y, MA N N, et al. RepVGG: Making VGG-style ConvNets Great Again[J].arXiv,2021.
[15] MA N, ZHANG X, ZHENG H-T, et al. ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design[J]. arXiv,2018:1807.11164.
[16] WOO S, PARK J, LEE J-Y, et al. CBAM: Convolutional Block Attention Module[J].arXiv,2018:1807.06521.
[17] WANG J, CHEN K, XU R, et al. CARAFE: Content-Aware ReAssembly of Features[J]. arXiv,2019:1905.02188.
[18] HOWARD A, SANDLER M, CHU G, et al. Searching for MobileNetV3[J].arXiv,2019:1905.02244.
[19] HAN K, WANG Y, TIAN Q, et al. GhostNet: More Features From Cheap Operations. In: 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)[C]. IEEE, Seattle, WA, USA.