






摘要:針對智能采摘領域中櫻桃成熟度檢測的挑戰,文章選取了YOLOv5s模型作為基礎,并進行了針對性的改進和優化,旨在提升模型在櫻桃成熟度檢測任務中的性能和準確性。首先采用GhostNet替代主干網絡,其次增加了NAMAttention模塊,顯著減少了模型的參數數量和計算需求,并且提升了檢測準確性。實驗結果顯示,改進后的模型與YOLOv5s相比,每秒幀數提升了34%,參數數量減少了25%,FLOPs降低了29%,并且在mAP@0.5 指標上實現了約6.2%的提升。此外,與多階段模型相比,該模型在平均精度、效率和計算負載方面均表現優越。由此可見,改進后的模型能夠更加高效、精準地進行櫻桃成熟度識別。
關鍵詞:目標檢測;果實成熟度檢測;YOLOv5s;Ghostnet;NAMAttention
中圖分類號:TP399 文獻標志碼:A
0 引言(Introduction)
櫻桃采摘的時機至關重要,因為櫻桃的成熟度是決定其品質高低與供應鏈效率[1]的關鍵因素,所以近年來眾多技術被研發并應用于果實屬性的識別,其中基于圖像識別的算法受到了學術界和工業界的廣泛關注。
目前,針對果實屬性的目標檢測方法分為單階段和多階段兩種。在多階段算法方面,齊國紅等[2]通過改進MaskRCNN[3]提高了木瓜成熟度的檢測精準性。周云成等[4]通過雙卷積鏈增強FastR-CNN[5],相比于單卷積鏈,實現了更高的準確性。查志華等[6]通過遷移學習FasterR-CNN顯著提升了田間紅提葡萄果穗的識別能力。在單階段算法中,陳鋒軍等[7]基于改進EfficientDet,提高了油橄欖果實成熟度檢測的準確性。王立舒等[8]通過改進YOLOv4-Tiny,實現了藍莓果實成熟度的精準且快速識別。LIANG等[9]利用改進的YOLOv4網絡進行蘋果缺陷的實時分級,提高了模型的準確性。HAN等[10]引入增強洪水填充算法改進YOLOv5,使其能更加精準地進行櫻桃質量檢測。
在果實成熟度識別領域,多階段算法因為模型復雜、計算量大、實時性較差,所以不適用于嵌入式設備及弱網環境;而單階段算法雖然簡潔高效,但是在某些場景下可能存在精準度不高的問題。針對這個問題,本研究通過引入YOLOv5s模型,并且采用GhostNet[11]替代主干網絡,大幅度降低了參數規模,同時引入NAMAttention[12]模塊,進一步提升了櫻桃成熟度檢測的效率和準確性。
1 YOLOv5算法及改進策略(YOLOv5 algorithm and its improvement strategy)
1.1 YOLOv5和改進后的YOLOv5-GN
YOLOv5致力于在可用性、速度和性能上實現全面提升,并且依然保留了YOLO系列快速、實時的目標檢測特性。為了滿足不同硬件配置和應用場景的需求,YOLOv5提供了不同大小的模型版本,包括YOLOv5s(小型)、YOLOv5m(中型)、YOLOv5l(大型)及YOLOv5x(超大型)。在架構設計方面,YOLOv5的架構設計包括輸入端、主干網絡、頸部網絡和頭部網絡。
YOLOv5的主干網絡,也稱為主要特征提取組件,是其架構的關鍵部分。在YOLOv5 中,主干建立在CrossStagePartialNetwork(CSPNet)[13]的變體上,該網絡專為YOLOv5 進行了優化,旨在高效提取特征。
YOLOv5的頸部網絡通常連接主干網絡和頭部網絡,負責處理從主干提取的特征并將它們傳遞給負責預測邊界框、對象置信度及類別概率的檢測頭。頸部網絡對于實現有效的多尺度預測和提高對象檢測精度至關重要。
盡管YOLOv5在眾多實時對象檢測任務中表現出色,但是也存在一定的局限性。首先,與FasterR-CNN[1]等兩階段檢測算法相比,YOLOv5在檢測小尺寸對象方面的性能并非最優。這一局限性主要歸因于YOLOv5的架構設計,該架構旨在優化速度而犧牲精度,特別是在對象大小和背景復雜性差異顯著的場景中。
其次,當處理高度重疊的對象時,YOLOv5顯示出一定的局限性。由于它使用單一網絡直接預測邊界框和類別概率,所以可能無法達到區域提議網絡(RegionProposalNetwork,RPN)在重疊或密集排列目標情況下的準確性。
此外,盡管YOLOv5的訓練過程經過簡化,但是它對訓練數據的質量和多樣性有較高的要求。如果訓練數據不足或質量差,則可能導致模型過擬合或在復雜的應用場景中缺乏足夠的泛化能力。
本研究專門優化了模型,以打破YOLOv5在實時對象檢測任務中面臨的局限。首先,引入了Ghost網絡作為主干。Ghost網絡的核心優勢在于其Ghost模塊。該模塊中使用成本效益高的操作,如線性變換,生成額外的特征圖,從而減少參數和計算負載。Ghost模塊通過在現有卷積之上增加更多的內部轉換層,旨在用更少的計算資源生成更多的特征通道,從而減小模型大小。
其次,為了補償由于參數減少可能導致的性能損失,研究人員在特征融合模塊中引入了NAMAttention機制。這種注意力模塊側重于通過聚焦更多信息豐富的區域,進而有效增強模型的特征表達能力,從而提高模型識別和利用關鍵特征的能力。NAMAttention通過對特征圖中的每個像素進行加權,提供了一種精細的特征調整機制。
YOLOv5-GN模型將輕量級網絡與先進的特征融合技術結合,克服了傳統對象檢測模型在輕量化過程中可能面臨的性能下降問題。通過這些改進,YOLOv5-GN實現了更快的檢測速度和較低的資源消耗,同時也提高了各種規模目標的檢測精度。
YOLOv5-GN 網絡模型如圖1所示。YOLOv5-GN 通過整合創新的網絡設計和先進的特征融合技術,兼顧了效率和精度,在保證強大的對象檢測性能的同時,顯著減少了模型的參數數量和計算負載。
1.2 GhostNet模型分析
GhostNet是一種創新的輕量級卷積神經網絡架構,專為移動設備和邊緣計算設備的高效運行而設計,其核心在于引入了“Ghost模塊”,這一新型卷積模塊顯著降低了模型的計算負載和參數數量,同時保持了較高的精度。這使得GhostNet成為在資源受限環境中執行高級視覺任務(如圖像分類、面部識別和目標檢測)的理想選擇。
GhostNet的核心在于其獨特的Ghost模塊,該模塊旨在高效生成和利用特征圖。每個Ghost模塊包括生成器和擴展器兩個主要步驟。生成器步驟使用少量的卷積核從輸入特征圖產生基礎特征圖。這些基礎特征圖被稱為“ghost”特征圖,它們包含輸入數據的基本信息,但使用的參數遠少于傳統卷積的參數。在生成基礎特征圖之后,擴展器使用簡單的線性操作(如1*1卷積或深度可分離卷積)擴增這些特征圖,而計算負載并未顯著增加。
GhostNet的數學表達公式如下:
Y=Φ(X*K)+Ψ(X*K) (1)
其中:X 代表輸入特征圖,K 表示生成器中使用的卷積核,* 代表卷積操作,Φ 和Ψ 表示擴展器中使用的操作,Y 是輸出特征圖。
GhostNet的架構設計具有多樣性,允許根據特定應用需求調整深度和復雜性;它通常包括多個重復的Ghost模塊,這些模塊按層次排列,逐步提取更復雜的特征。每個Ghost模塊通常后接批量歸一化和ReLU[14]激活函數,以提升模型的非線性和訓練的穩定性。
GhostNet架構由4個主要部分組成:初始卷積層、重復的Ghost模塊、全局平均池化層及分類層。初始卷積層是一個標準的卷積層,負責從輸入圖像中提取初步特征。重復的Ghost 模塊依次排列,每個模塊通過增加通道數來適應不同層次的特征提取需求,實現高效且深入的特征學習。位于網絡末端的全局平均池化層使用全局平均池化降低特征的維度,為最終的分類層做準備。分類層是一個全連接層,負責將提取的特征轉換為最終的類輸出。
若標準卷積包括32個濾波器,Ghost模塊的第一階段將使用一半數量的濾波器進行計算。在第二階段,小型3*3卷積核逐層應用于第一階段生成的特征圖上,提高了原始卷積操作的計算效率。
Ghost模塊中卷積過程的示意圖如圖2所示,通過兩階段處理,由Ghost模塊生成的特征圖數量與標準卷積操作的輸出的特征圖數量相匹配。這種方法優化了計算過程,顯著減少了所需的計算資源。
GhostBottleneck由2個Ghost模塊組成。第一個Ghost 模塊主要擴展輸入特征圖的通道,為后續步驟提供了擴展的基礎;第二個Ghost模塊旨在減少輸出特征圖中的通道數,以符合網絡的殘差路徑,并通過這一路徑促進兩個Ghost模塊之間的信息連接。第一個模塊后接一個ReLU激活函數,而后續模塊則使用批量歸一化。這種架構設計通過優化Ghost模塊的特征圖生成過程,減少了模型參數和計算負載,從而提高了模型的檢測效率。在本研究中,采用這樣的結構對網絡進行改進,增強了其在實際應用中的魯棒性。
GhostBottleneck架構如圖3所示。在GhostNet的架構中,GhostBottleneck模塊通過調整步長,實現了性能與效率的優化。當步長設置為1時,模塊能夠捕捉詳盡的空間信息,適用于網絡淺層;當步長設置為2時,則通過縮減特征圖尺寸,降低了計算量,同時提取出高級特征,更適用于網絡的深層部分。這種策略在保持模型性能的同時,實現了計算效率的大幅提升,為高效神經網絡的設計提供了新思路。
本研究通過對比實驗,將Ghostnet架構與YOLOv5s模型進行集成,在FP-R(假陽性率-召回率)曲線下實現了0.842的面積,相比于基線YOLOv5s模型0.829的面積,實現了顯著的性能提升。實驗結果表明,盡管Ghostnet減少了參數數量和計算需求,但是它顯著提高了模型處理復雜圖像數據集的準確性。采用Ghostnet架構通過更精簡的卷積操作完善了特征提取過程,從而增強了模型準確識別圖像中對象的能力。這種改進在資源有限的環境中尤為關鍵,例如在移動或邊緣計算設備上部署模型時,效率和性能成為至關重要的考慮因素。
1.3 非軸混合注意力模型(NAMAttention)分析
NAMAttention,即非軸混合注意力,代表一種增強深度學習模型性能的技術,特別是在處理涉及復雜關系的數據時。NAMAttention注意力模型使模型能夠同時在兩個維度學習重要性權重,即空間(即位置)和特征(即通道),從而突出關鍵特征,以便在神經網絡中更有效地進行特征融合。
NAMAttention機制認為,在處理圖像或序列數據時,不僅要考慮特征之間的關系(通過通道注意力),而且還要考慮它們在空間或序列中的位置(通過空間或序列注意力)。因此,NAMAttention機制融合了空間注意力和通道注意力,形成一種全面的特征注意策略。
非軸混合(Non-AxisMixing,NAM)通道注意力網絡結構旨在增強神經網絡對特征通道重要性的識別。與傳統的如SENet中的壓縮-激勵(Squeeze-and-Excitation,SE)塊等通道注意力機制不同,NAM 結構的獨特之處在于它通過混合來自空間軸(空間位置)和特征軸(通道)的信息,實現更全面的數據特征理解。
在NAM網絡中,通道注意力的計算不是獨立的,而是與空間注意力緊密相關。這種設計使模型能夠更好地理解每個通道在全局上下文中的貢獻及其在空間位置上的變化。
NAM通道注意力結構如圖4、公式(2)和公式(3)所示。NAM 通道注意力機制基于批量歸一化的縮放因子,能夠快速評估特征圖中各通道的重要性。通過Sigmoid激活函數將縮放因子轉換為權重,并與特征圖相乘,從而強調關鍵通道并提升模型性能,同時保持計算效率。
其中:F1代表特征圖,BN 是歸一化操作,γ 是每個通道的縮放因子,Sigmoid是一種激活函數,Mc表示輸出特征。
NAM空間注意力結構如圖5、公式(4)和公式(5)所示。NAMAttention旨在強調圖像中顯著的空間位置信息,它構建了一個空間權重圖,利用Sigmoid函數將其值限制在[0,1]區間內,以此表示各空間位置對任務貢獻的相對重要性。緊接著,這一權重圖被應用于輸入特征圖進行逐位置的加權操作。通過這一策略,模型在處理如目標檢測、圖像分割等任務時,能夠更有效地聚焦于圖像的關鍵區域,從而優化模型的整體性能。
將NAMAttention機制整合到深度學習模型中可以顯著提升模型的性能,特別是在復雜的數據集中,例如圖像分類、語音識別及自然語言處理等任務中。這種增強歸功于該機制能有效捕捉和強調不同尺度與模態下相關特征的能力,從而提高模型的泛化能力和適應多樣數據特征的能力。
本研究通過實驗對比分析了標準的YOLOv5s模型和整合了NAMAttention機制的YOLOv5s(YOLOv5s+NAMAttention)模型的性能。實驗結果顯示,YOLOv5s+NAMAttention模型在FP-R(假陽性率-召回率)曲線下的面積為0.873,相較于標準YOLOv5s模型0.829的面積,實現了較大程度的提升。這表明,整合NAMAttention機制的融入顯著提高了模型在對象識別任務中的準確性。
NAMAttention機制通過為網絡不同的層和通道的特征分配不同的權重,優化了特征的表達和利用。這種動態的注意力分配,使模型能夠更有效地關注圖像中的關鍵信息,從而提高了識別的準確性和效率。此外,引入NAMAttention機制不僅增強了模型在復雜場景中檢測目標的能力,而且還提高了其在各種光照和復雜背景條件下的性能。
2 YOLOv5實驗與分析(Experiment and analysis on YOLOv5)
2.1 實驗環境
在本研究的實驗環境中,配置了高性能的NVIDIAGeForceRTX4090顯卡,以及Intel第13代酷睿處理器,以確保處理速度和計算效率。所有的算法均采用Python編程語言,并依托PyTorch框架的強大功能進行模型訓練和測試。這一配置不僅極大地加快了對大規模數據集的處理速度,而且還可以有力支持復雜深度學習模型的運算需求。
2.2 實驗數據
在本研究中,模型使用的數據集是由研究團隊經歷一整年的時間采集而成的。數據集通過結合iPhone13現場攝影和網絡抓取技術兩種方式進行圖像收集。所有圖像均經過精心手動標注和校正,以保證數據的準確性和可用性。該數據集共包含6121張高分辨率圖像,每張圖像的像素尺寸均統一為3024×4032,保證了圖像質量的一致性。此外,數據集中的圖像類型包括各種場景和條件,不僅包括不同成熟階段的櫻桃,而且還包括單個目標、多個目標、直射光、逆光以及帶有障礙物如樹枝、樹葉、露水等櫻桃圖像。這種多樣化的圖像收集策略,使得模型能夠更好地適應復雜的視覺識別場景。
數據集中不同場景圖像的比例如表1所示。為了準確評估本文提出的模型在各種場景下的檢測能力,將數據集分為以下幾類:單個目標的圖像占37%,約2265張,而包含多個目標的圖像占63%,約3856張;其中,直射光條件下的圖像占64%,約3917張,而逆光條件下的圖像占36%,約2204張;被樹枝和葉子等遮擋物遮擋的圖像占53%,約3244張,而帶有露水櫻桃的圖像占11%,約674張。這個數據集的組成使得模型能夠有效評估其在不同環境下的檢測性能,包括不同的光照條件、遮擋物和目標復雜性。
在本研究中,考慮到收獲機器人在實際操作環境中對水果成熟度(特別是櫻桃)識別的需求,本文將成熟度分類為未成熟、部分成熟和完全成熟3個明確的類別。這種分類方式有助于收獲機器人更精確地識別櫻桃的成熟狀態,并據此做出相應的決策。為了提高機器人識別的準確性,研究人員根據可見特征如顏色深淺、果實光澤度和果皮硬度來區分果實的成熟階段。
在 模型訓練過程中,研究人員面臨原始數據集樣本數量不足的問題,有可能導致模型出現過擬合和泛化性能不足的情況。為了克服以上挑戰,本研究采用了一系列圖像增強技術來擴展數據集。這些技術包括使用高斯模糊模擬不同拍攝條件下的模糊效果;通過水平和垂直翻轉以增強視角的多樣性;采用非等比例縮放以模仿距離變化對圖像尺寸的影響;執行隨機平移以生成圖像中物體位置的變化;應用透視變換以模擬攝像機角度變化的視覺效果;以及進行隨機裁剪以模擬不同的畫面構圖。通過這些圖像增強方法的隨機組合應用,研究人員將數據集的規模成功地從原始大小擴展到18363張圖像。
這種方法不僅顯著增加了訓練數據的數量,而且還增強了其多樣性,從而增強了模型的泛化能力。增強后的圖像更全面地覆蓋了潛在的應用場景,支持訓練更具魯棒性的模型。通過這種數據增強策略,模型在應對各種變換和干擾時展現出了更優異的性能和更高的穩定性。
2.3 檢測指標
在目標檢測和相關計算機視覺任務領域,評估模型的性能通常包括以下幾個關鍵指標,即精確率(Precision,P)、召回率(Recall,R)、平均精度(Average Precision,AP)、平均精度均值(mean Average Precision,mAP)及特定交并比閾值下的mAP(例如mAP@0.5)。此外,模型的計算效率通常通過浮點操作數(Floating Point Operations,FLOPs)來衡量。
精確率定義為正確預測的真陽性數量與所有預測為陽性的總數之比,數學上表示為公式(7):
其中:APc表示類別C 的平均精確率。
mAP@0.5指的是在交并比閾值為0.5時計算的mAP,其中交并比(IoU)是評估預測邊界框與真實邊界框重疊程度的指標。
FLOPs用于衡量執行模型所需的計算復雜性,通常表示模型單次前向傳播所需的總浮點操作數。特定模型架構的FLOPs計數通常是固定的,因此可以作為比較不同模型計算負載的量化指標。
2.4 模型訓練
在本研究中,研究人員對YOLOv5s和YOLOv5-GN模型在連續迭代過程中的訓練損失進行了比較分析。訓練損失分為定位損失(train/box_loss)、置信度損失(train/obj_loss)、分類損失(train/cls_loss)和精度(Metrics/precision)。隨著迭代次數的增加,這些損失顯著減少,表明訓練過程中持續進行了有效的優化。
在整個訓練過程中,YOLOv5-GN模型展現出高效的學習能力,尤其在初期,損失曲線迅速收斂,充分體現了其強大的學習潛力。隨著迭代次數的增加,損失曲線的收斂速度逐漸變緩,到了第100次迭代時,分類損失的曲線開始趨于穩定。隨著進一步的迭代,所有損失曲線都顯示出穩定收斂的趨勢。大約在第250次迭代時,損失曲線的穩定性反映出了訓練方案的有效性。
與YOLOv5s相比,YOLOv5-GN在定位損失、置信度損失和分類損失的平均值上表現出更低的水平,并且精度更高,展示出更優秀的訓練性能。這一顯著提升主要歸因于NAMAttention模塊,它有效地緩解了用GhostNet替換主干網絡可能對檢測性能造成的影響。通過這種結構優化,YOLOv5-GN在復雜物體檢測任務中的準確性得到了顯著提升,尤其是在動態和遮擋條件下,其表現尤為出色。
2.5 檢測結果和消融實驗
與標準的YOLOv5s相比,YOLOv5-GN 模型在FP-R曲線上表現出卓越的性能。FP-R曲線上的每個點表示模型在特定假陽性率下達到的召回率。曲線越接近右上角,表明模型在保持低假陽性率的同時保持了較高的召回率,顯示出目標檢測模型的優秀性能。在相同或更低的假陽性率下,YOLOv5-GN實現了更高的召回率。具體而言,這意味著YOLOv5-GN在檢測到更多真實目標的同時,還能維持較低的假陽性數量。
為進一步驗證改進后的YOLOv5模型的性能提升效果,本研究設計了一項消融實驗,采用4種不同的網絡配置:將NAMAttention模塊整合到YOLOv5的特征融合中,用Ghost替換YOLOv5的主干網絡。針對櫻桃圖像數據集進行了5種網絡配置的定量分析,客觀評估了模型的檢測精度、平均檢測時間等評價指標,消融實驗對比結果如表2所示。由表2中的數據可知,增強型模型展示出最佳的整體性能。與原始YOLOv5s相比,改進后的模型在mAP@0.5上提高了6.2%,FLOPs降低了29%,參數數量減少了25%,檢測速度提升了34%。
此外,本研究進行了對比實驗,其結果如表3所示,表格中詳細列出了每個模型在測試數據集上獲得的性能指標。通過分析可知,改進的YOLOv5櫻桃成熟度檢測模型在50%閾值下的平均精度(mAP@50)方面超越了競爭對手,展示了其在識別櫻桃正確成熟階段方面的卓越準確性。值得注意的是,該模型不僅顯示了最高水平的精度,還在檢測速度(每秒幀數,FPS)和模型參數(Params)方面表現出色。
3 結論(Conclusion)
本研究通過集成NAMAttention,并引入Ghostnet,開發了一種新模型YOLOv5-GN,旨在減少模型的參數數量和降低計算需求。與標準的YOLOv5s模型相比,YOLOv5-GN在每秒幀數上提高了34%,參數數量減少了25%(以百萬計),FLOPs降低了29%,同時在mAP@0.5上提升了約6.2%,展示了其在櫻桃成熟度檢測中的優越性能。此外,與SSD和Faster RCNN等多階段模型相比,YOLOv5-GN 顯示出類似的平均精度(mAP@0.5),并在FPS、參數數量和計算需求方面表現出色,因此更適用于櫻桃采摘場景。
此外,該模型在復雜環境中表現出色,能夠有效檢測陰影區域中的水果,區分相鄰成熟水果,識別被葉子遮擋的水果,以及識別覆蓋露水的水果。因此,本文提出的方法在自動櫻桃成熟度檢測領域具有較大的潛力,特別適用于資源受限的應用,并有望在農業技術的廣泛應用中發揮重要作用。
作者簡介:
李一凡(1995-),男(漢族),六安,工程師,碩士。研究領域:目標檢測,網絡安全。
劉從軍(1974-),男(漢族),鎮江,高級實驗師,碩士。研究領域:智能信息處理,信息安全,云計算。