








摘要:
目標果實檢測精度直接影響果園智能作業的效率,當前以卷積神經網絡為代表的特征提取網絡僅從局部感受野中提取特征用于目標檢測,果實受枝葉遮擋或果實間重疊時存在一定的局限性,導致檢測精度偏低。為提升被遮擋目標果實的檢測精度,提出抗遮擋的FoveaBox果實檢測優化模型。首先,新模型引入Swin Transformer作為骨干網絡,通過計算塊間的相似度,打破傳統卷積僅從局部區域提取特征的限制,從而增強特征映射的表征能力;其次,采用特征金字塔網絡,通過橫向連接和自頂向下結構聚合淺層高分辨率特征與高層語義信息,輸出金字塔型特征映射;然后,將金字塔型特征映射輸入Fovea頭部網絡中,利用分類子網絡與邊界框子網絡進行檢測目標;最后,通過焦點損失函數Focal Loss與Smooth L1對模型進行迭代尋優,直至模型收斂。驗證表明,優化模型在IoU為0.5閾值下的平均精確度可達86.3%,優于FCOS、TOOD與LAD等先進模型。提出的抗遮擋的FoveaBox可在一定程度上提升被遮擋目標的檢測精確度。
關鍵詞:被遮擋蘋果檢測;多粒度特征感知;FoveaBox;Swin Transformer;區域相似度計算
中圖分類號:S126
文獻標識碼:A
文章編號:2095-5553 (2025) 03-0182-06
收稿日期:2024年7月8日" 修回日期:2024年10月28日*
基金項目:國家自然科學基金面上項目(62372278);山西省高等學校科技創新項目(2024L386);山東省自然科學基金(ZR2020MF076)
第一作者:任晶晶,女,1986年生,山西汾陽人,碩士,講師;研究方向為計算機視覺。E-mail: 511924532@qq.com
通訊作者:賈偉寬,男,1982年生,山東鄆城人,博士,副教授;研究方向為人工智能、智慧農業。E-mail: jwk_1982@163.com
Enhanced FoveaBox with multi-granularity feature perception for green apple occlusion detection
Ren Jingjing1, Zhang Xiaoyong1, Jia Weikuan2
(1. Department of Intelligence and Information Engineering, Taiyuan University, Taiyuan, 030032, China;
2. School of Information Science and Engineering, Shandong Normal University, Jinan, 250358, China)
Abstract:
Fruit detection is a crucial sub-task in smart agriculture, as its accuracy significantly impacts the performance of various operational tasks. However, current feature extraction networks, particularly convolutional neural networks, primarily extract features from local receptive fields. This limitation hinders the detection of fruits occluded by branches and leaves, and fruits overlapped, ultimately culminating in suboptimal detection accuracy. To improve the detection precision of occluded targets, in this study, an enhanced FoveaBox target detection model is proposed. First, the Swin Transformer is employed as the backbone network, enabling the extraction of multi-granularity hierarchical features from a global receptive field. This approach overcomes the constraints of traditional convolutional networks, which only extract features from local regions, thereby improving the representational capacity of feature mapping. Next, the Feature Pyramid Network is utilized to aggregate shallow, high-resolution features with high-level semantic information through lateral connections and a top-down structure. This aggregation enhances the model’s ability to detect occluded objects. The pyramidal features are then fed into the Fovea head network, which consists of a classification sub-network and a bounding box sub-network for object detection. Finally, the method is iteratively optimized using Focal Loss and the Smooth L1 function until the model converges. Experimental results demonstrate that the proposed occlusion-resistant FoveaBox detection model, its average precision can reach 86.3% under the IoU threshold of 0.5, which is superior to advanced models such as FCOS, TOOD and LAD. It significantly improves the detection accuracy of occluded targets.
Keywords:
occluded apple detection; multi-granularity feature perception; FoveaBox; Swin Transformer; area similarity calculation
0 引言
果實檢測是智慧農業中的一項關鍵任務[1],旨在通過圖像處理技術確定果實的類別和位置信息。該任務為果蔬產量預測[2]、智能采摘[3]以及果實生長周期的全面監測[4]等智能化作業提供基礎。
當前,在果實視覺檢測領域,主要存在兩類算法:基于機器學習的目標檢測算法和基于深度學習的目標檢測算法。傳統的基于機器學習的目標檢測算法,借助數字圖像處理技術[5]實現特征提取、融合與分類。這類方法雖然在目標識別速度上表現優越,但在特征提取階段主要依賴人工選擇,極大地增加勞動力成本。隨著圖像處理單元與深度學習技術[6]的出現,以卷積神經網絡[7]為代表的深度學習算法為目標檢測帶來新的突破。典型的目標檢測算法可根據是否需要提出候選區域,劃分為以RetinNet、SSD以及YOLOv1、YOLOv2、YOLOv3為代表的一階段法與以Fast R—CNN、Faster R—CNN與Mask R—CNN為代表的二階段法。其中,一階段法又可以根據是否使用錨框分為有錨框法和無錨框法。這些基于一階段法和二階段法的變體已被廣泛應用于果實識別。然而,這些方法均采用深度卷積神經網絡提取特征,但由于卷積和池化運算中卷積核和池化核大小的限制,所捕獲的特征僅限于局部感受野,未能考慮目標的上下文細粒度特征和全局信息。
Vaswani等[8]提出Transformer模型,其利用多頭自注意力機制從多個視角融合全局特征,突破卷積操作僅能感知卷積核大小特征的局限性。Woo等[9]提出一種輕量級的通用模塊卷積注意力模塊,該模塊可以從空間與通道兩個維度融合全局特征,將注意力映射乘以輸入特征圖進行自適應特征細化,獲得全局特征信息。雖然Transformer具有聚合全局特征的優點,但未能兼顧到局部細粒度信息。為兼顧全局粗粒度與局部細粒度特征,Yang等[10]提出焦點Transformer,其通過不同尺度的窗口注意力機制融合全局粗粒度與局部細粒度信息。盡管焦點Transformer聚合多粒度特征,但其計算開銷因其使用多粒度的窗口大小而成倍增加。為使Transformer適用于高分辨率的特征映射,Liu等[11]提出一個視覺骨干網絡Swin Transformer,其通過可偏移的窗口注意力機制打破非重疊窗口的局限,允許跨窗口的特征融合,從而帶來更高的計算效率。此外,Swin Transformer在特征提取時運用Patch,從區域角度提取全局特征,為被遮擋的目標果實的特征提取提供新的思路。
本文以FoveaBox[12]為模型基線,采用Swin Transformer作為模型的骨干網絡,利用局部區域特征預測整體目標果實特征;引入金字塔結構,在特征金字塔的基礎上,引入自底向上的結構,雙向的增強特征,從而獲得增強后的金字塔型多粒度特征映射;運用FoveaBox頭檢測目標,輸出目標的類別與定位信息。
1 數據來源
為便于評估優化模型的有效性,構造1個綠色蘋果數據集,以驗證真實復雜果園環境下優化模型對部分遮擋目標識別精度的有效性。為使模型適應蘋果采摘機器人的非結構化復雜多樣的作業場景,運用手機型號為Vivo Z5x,采集不同天氣條件、光照條件以及同一場景不同視角的果實圖像,包含重疊、遮擋多種形態的目標果實,如圖1所示。圖像采集時間為6:00—22:00,采集地點為山東省煙臺市福山區龍王山蘋果生產基地,蘋果的品種為嘎啦果,果實與鏡頭間的距離為0.4~5 m。
采集的圖像經篩選后,共保留分辨率為4 608像素×3 456像素的975張圖像。對采集圖像進行處理,先調整圖像分辨率為640像素×480像素,并利用圖像標注工具Labelme沿果實邊界標注多邊形蘋果實例,將標記好的圖像按照7∶3的比例隨機劃分訓練集與測試集。
2 抗遮擋的FoveaBox蘋果檢測模型
以標準的FoveaBox為基線,構造抗遮擋的FoveaBox模型,其優化在于采用基于Transformer編碼器的Swin Transformer為骨干網絡。Swin Transformer打破了卷積神經網絡僅從局部感受野中提取特征的局限性,有效減少目標上下文特征的損失,融合不同粒度層級的區域級特征。該優化模型的核心組件是多頭自注意力機制,通過計算各區域的相似度,實現非完整目標果實的識別。抗遮擋的FoveaBox仍遵循“特征提取—特征融合—檢測”范式,其整體流程共包含Swin Transformer、FPN與FoveaBox檢測3個部分,如圖2所示。其中,采用Swin Transformer作為骨干網絡提取特征,利用特征金字塔網絡融合多尺度特征,運用Fovea頭識別目標分類與定位。
2.1 Swin Transformer骨干網絡
抗遮擋的FoveaBox采用基于可偏移窗口自注意力的Swin Transformer來提取全局特征信息,借助Patch間的相似度計算進行特征融合,從而實現對部分被遮擋目標果實的精準檢測。Swin Transformer在使用非重疊的窗口注意力(W—MSA)與可偏移窗口注意力(SW—MSA)進行捕獲全局特征,其中,可偏移窗口注意力能夠有效緩解非重疊窗口注意力未能關注Patch之間的關聯關系,從而有效輔助被遮擋目標的檢測。
Swin Transformer共包含4個階段,在第1個階段前,利用Patch劃分模塊將輸入圖像劃分為Patch;將Patch依次輸入到Swin Transformer的4個階段。Swin Transformer的4個階段均由Swin Transformer塊構成,其中,第1個階段的Swin Transformer塊前使用線性嵌入拉伸,后3個階段使用Patch合并模塊來融合相鄰的Patch。這樣做是為了降采樣,以構造分層多粒度表征特征。此外,每個Swin Transformer塊均由W—MSA與SW—MSA成對使用。Swin Transformer的結構如圖3所示。
假定輸入圖像H×W×3,首先,利用Patch劃分模塊將圖像劃分為4×4的Patch,展平后得到維度為48,即Patch劃分模塊的輸出大小為H/4×W/4×48的特征C0。其次,將C0輸入到第1個階段Stage 1中,經過線性嵌入與Swin Transformer塊處理后,得到第1階段的輸出特征C1,其大小為H/4×W/4×D,D為輸出特征的通道數。然后,將C1輸入第2個階段Stage 2中,經過Patch合并與Swin Transformer塊,輸出大小為H/8×W/8×2D的特征C2。最后,第3階段Stage 3和第4個階段Stage 4與Stage 2結構相同依次輸出C3和C4,對應特征大小分別為H/16×W/16×4D與H/32×W/32×8D。其中,Patch合并模塊是將相鄰的2×2個Patch拼接起來,以降低Patch的數量,從而實現降采樣的作用。
對于任意階段的Swin Transformer塊,均有多個成對的W—MSA與SW—MSA組成。Swin Transformer塊結構如圖4所示。與標準Transformer結構相比,左側將多頭自注意力機制優化為非重疊的窗口自注意力機制,右側則將多頭自注意力機制優化為可偏移的窗口自注意力機制。此處,右側采用可偏移的窗口注意力是因為左側的窗口注意力采用非重疊的方式劃分Patch,這導致Patch之間相互獨立,未能考慮到Patch特征之間的關聯關系。為在提升Transformer計算效率的同時兼顧窗口之間的聯系,優化右側的Transformer結構為偏移窗口自注意力。具體如下,假定左側窗口注意力的窗口位于左上角,窗口大小為M×M。對應地,右側的可偏移的窗口注意力窗口分別向右、向下偏移|M/2|個像素,再進行窗口注意力運算,這樣可以兼顧到不同窗口之間的關聯關系。對于任意成對的W—MSA與SW—MSA,假定W—MSA的輸入為xl-1,輸出為xl,SW—MSA的輸入為xl,輸出為xl+1,Swin Transformer塊計算如式(1)~式(4)所示。
x^l=W—MSA(LN(xl-1))+xl-1
(1)
xl=FFN(LN(x^l))+x^l
(2)
x^l+1=SW—MSA(LN(xl))+xl
(3)
xl+1=FFN(LN(x^l+1))+x^l+1
(4)
式中: W—MSA(·)——窗口注意力機制;
LN(·)——層歸一化;
FFN(·)——前饋網絡;
SW—MSA(·)——偏移窗口注意力機制;
x^l——
第l個Swin Transformer塊中窗口注意力機制模塊的輸出;
x^l+1——
第l個Swin Transformer塊中偏移窗口注意力機制模塊的輸出。
2.2 特征金字塔網絡
標準的骨干網絡僅經Swin Transformer的最后階段輸出最高層特征映射用于目標檢測,這些特征具有低分辨率和高判別性的特點。然而,被遮擋目標的果實所占面積相比于未被遮擋的目標面積極小,因此,在經過一系列特征提取后,被遮擋目標的特征信息相對較少。
為融合多粒度的被遮擋目標的特征信息,從而緩解特征提取過程中可能發生的特征損失,受到特征金字塔網絡聚合多尺度特征的啟發,首先,通過橫向連接和自頂向下結構,將不同層級的多分辨率特征進行逐元素加和,輸出金字塔型特征映射。然后,將這些富含語義信息的金字塔型特征輸入檢測器進行目標檢測。優化模型中,將Swin Transformer 4個階段輸出特征作為特征金字塔網絡的輸入{Fi}(i=1,…,4),經最近鄰上采樣的自頂向下結構,輸出增強后的金字塔型特征{Pi}(i=1,…,4)。
2.3 Fovea頭部網絡
Fovea頭部網絡是1個無錨框的目標檢測器,由1個分類子網絡與1個邊界框子網絡組成。盡管在結構上Fovea頭部網絡與RetinaNet檢測器相似,但其核心思想有所不同。分類子網絡在訓練過程中采用的正負樣本分配策略為:定義目標區域為正樣本區域,正樣本之外的區域為負樣本區域。在進行圖像樣本的分類時,該子網絡借鑒了全卷積網絡中語義分割的思想,進行逐像素分類。分類器的輸出通道數等于目標類別的數量。分類子網絡結構為:分類子網絡由4個帶有ReLU激活函數且卷積核為3×3、通道數為256的卷積層Conv1與1個卷積核為3×3、通道數為K的卷積層Conv2構成。
邊界框子網絡與RetinaNet的邊界框回歸子網絡有所不同,其核心思想是在任意像素單元上直接預測目標的邊界。考慮到直接預測目標邊界時,因目標邊界大小尺度不一導致的不穩定性,邊界框預測會根據特征金字塔的數量對目標尺寸進行劃分,并給每個金字塔定義1個基本的尺度rl。金字塔層l的目標矩形框的有效比例范圍計算為[rl/η,rl·η],η表示每個金字塔層上控制尺度范圍的經驗值。在這一設置中,目標不在矩形框范圍內的將不參與訓練。網絡結構上邊界框子網絡與分類子相同,其不同點在于:最后1個邊界框預測層Conv2的通道數為4,以表示所預測矩形框的位置信息。
2.4 損失函數
抗遮擋的FoveaBox由Swin Transformer骨干網絡、特征金字塔網絡與Fovea頭部網絡組成,首先,優化網絡通過前向傳播算法將輸入圖像傳入抗遮擋的FoveaBox中,以生成預測結果。其次,分類子網絡和邊界框子網絡分別計算預測結果與真實值之間的損失函數,以評估預測值與真實值之間的誤差;然后,利用反向傳播算法不斷調整優化模型參數,以降低預測結果與真實值之間的誤差。
在訓練階段,正樣本區域內的每個像素都會被標注上相應的目標類標簽。負樣本區域是除正樣本區域外的整個特征圖,因此,正樣本區域通常只占整個特征映射的一小部分。為平衡正負樣本的不平衡問題,采用Focal Loss作為分類子網絡的損失函數FL(·),其表達式如式(5)所示。
FL(pt)=-αt(1-pt)γlog(pt)
(5)
式中: pt——訓練樣本的預測置信度;
αt、γ——超參數。
因此,分類損失函數Lcls計算如式(6)所示。
Lcls=FL(pt)
(6)
矩形框損失是指預測邊界框與真實邊界框之間的相對偏移量,利用Smooth L1 Loss來計算。假定真實邊界框的邊界框信息為GT=(x1,y1,x2,y2),預測矩形框的位置信息為t=(tx1,ty1,tx2,ty2),邊界框回歸損失Lbox計算如式(7)所示。
Lbox=∑α∈{x1,y1,x2,y2}SmoothL1(tα-α)
(7)
SmoothL1(x)=
0.5x2ifxlt;1
x-0.5otherwise
(8)
3 試驗與分析
為驗證優化FoveaBox模型對被遮擋蘋果檢測的有效性,進行以下試驗。首先,介紹試驗運行平臺、試驗數據與試驗細節;其次,挑選最優的訓練模型權重,并在測試集上評估優化模型并分析試驗數據;然后,分別對標準的FoveaBox模型與抗遮擋的FoveaBox模型進行訓練,分析區域相似度計算對提升目標檢測性能的有效性;最后,將當前最先進的目標檢測模型與抗遮擋FoveaBox模型進行比較,分別從精確度和效率兩個方面分析優化后的FoveaBox模型在被遮擋果實識別上的有效性。
3.1 試驗平臺與參數設置
服務器的配置環境為Ubuntu 18.04操作系統、10G的GeForce GTX 3080Ti顯卡與11.0的CUDA環境。所有模型均使用Python與PyTorch庫。此外,試驗均借助MMDetection框架進行開展。
試驗參數設置:設置初始化學習率與權重衰減分別為0.000 1與10-4;設置隨機梯度下降為模型的優化器,迭代次數iter最大值設為3000;定義批大小與epoch分別為2與12;采用骨干網絡在ImageNet上的預訓練權重初始化權重參數。訓練階段的模型分類損失、邊界框損失與總損失的曲線變化如圖5所示。其中,藍色、橘色、綠色曲線分別表示模型訓練分類損失、邊界框損失與總損失。訓練結束后繪制模型的mAP變化曲線,如圖6所示。
3.2 評價指標
為衡量優化FoveaBox模型在真實非結構果園場景下被遮擋蘋果檢測的性能,采用交并比IoU在[0.5,0.95]閾值下平均精確率AP作為模型性能的評價指標。假定在某一特定IoU下,某一類別的精確率、召回率可用式(9)、式(10)表示。
Precision=TPTP+FP
(9)
Recall=TPTP+FN
(10)
式中: TP——真實值為正且預測為正的數目;
FP——真實值為負且預測也為負的數目;
FN——真實值為負但預測為正的數目;
FP——真實值為正而預測為負的數目。
AP、AR分別表示為樣本中某一類別的平均精確率與平均召回率。
此外,為更全面地評估模型,還采用Params衡量模型的參數量,即模型的空間復雜度,M;運用浮點運算數FLOPs衡量模型的時間復雜度,G。
3.3 模型檢測結果
為評估優化模型的性能,在數據集上驗證模型,首先,訓練并測試標準的FoveaBox模型,然后,訓練優化模型,結果如表1所示。
試驗結果表明,優化模型的平均精確度優于模型基線,優化模型在IoU為0.5閾值下AP@0.50可達86.3%。同時,還與其他一些先進的目標檢測模型包括Faster R—CNN、Dynamic R—CNN、PISA、TOOD以及LAD進行對比,可以得出,優化模型可以通過融合全局多粒度感知特征提升目標的檢測精確度。
3.4 模型復雜度分析
為更全面地分析模型,通過評估模型Param和FLOPs分析模型的復雜度,優化模型及其對比模型的評估結果如表2所示。可以看出,優化模型在引入Transformer后,參數量和時間復雜度均有所增加。這表明,優化模型性能的提升是以犧牲效率和增加計算資源消耗為代價的。綜合考慮模型的精確度和復雜度,優化模型在檢測被遮擋蘋果方面仍表現出一定的優勢。
3.5 可視化結果
為更直觀地觀測優化模型的效果,呈現4個測試樣例在不同模型下的可視化結果,如圖7所示。可以看出,優化模型對提升部分遮擋目標果實檢測精度上具有一定的效果,從而驗證優化模型對遮擋目標檢測結果的有效性。
4 結論
1) 針對非結構化果園環境中的遮擋問題,以一階段無錨框的目標檢測模型FoveaBox為基線,引入骨干網絡Swin Transformer與特征金字塔網絡,提出抗遮擋的FoveaBox蘋果檢測模型。優化模型引入Swin Transformer,運用可遷移窗口注意力機制,聚合窗口之間的關聯關系以減少果實識別對于目標整體特征的依賴,融合多粒度區域級特征以及區域特征間的關系,提升模型的抗遮擋能力。
2) 試驗結果表明,在綠色蘋果數據集上,優化模型的平均精度可達86.3%,優化模型優于其他先進模型。優化的抗遮擋的FoveaBox蘋果檢測模型精確度高,在復雜非結構環境下識別被遮擋的目標有一定的優勢,進一步驗證模型在應對復雜環境下的魯棒性和抗遮擋能力。
參 考 文 獻
[1] 張晨一, 張曉乾, 任振輝. 基于改進YOLOv3的自然場景中未成熟青蘋果識別研究[J]. 中國農機化學報, 2024, 45(7): 243-248.
Zhang Chenyi, Zhang Xiaoqian, Ren Zhenhui. Research on recognition of immature green apples in natural scenes based on improved YOLOv3 [J]. Journal of Chinese Agricultural Mechanization, 2024, 45(7): 243-248.
[2] 羅翔, 曹曉林, 藥林桃, 等.基于無人機影像的井岡蜜柚果樹樹形信息提取及產量估測[J]. 中國農機化學報, 2024, 45(5): 161-167.
Luo Xiang, Cao Xiaolin, Yao Lintao, et al. Extracting Jinggang pomelo tree information and estimating yield based on Unmanned Aerial Vehicle (UAV) imageries [J]. Journal of Chinese Agricultural Mechanization, 2024, 45(5): 161-167.
[3] Jia W, Zhang Y, Lian J, et al. Apple harvesting robot under information technology: A review [J]. International Journal of Advanced Robotic Systems, 2020, 17(3): 25310.
[4] 楊濤, 孫付春, 黃波, 等. 果園作業平臺關鍵技術研究進展[J]. 中國農機化學報, 2024, 45(1): 152-159.
Yang Tao, Sun Fuchun, Huang Bo, et al. Research progress on key technologies of orchard operating platform [J]. Journal of Chinese Agricultural Mechanization, 2024, 45(1): 152-159.
[5] 王寶聚, 蘭玉彬, 陳蒙蒙, 等. 機器學習在無人農場中的應用現狀與展望[J]. 中國農機化學報, 2021, 42(10): 186-192, 217.
Wang Baoju, Lan Yubin, Chen Mengmeng, et al. Application status and prospect of machine learning in unmanned farm [J]. Journal of Chinese Agricultural Mechanization, 2021, 42(10): 186-192, 217.
[6] LeCun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015, 521(7553): 436-444.
[7]
Li Z, Liu F, Yang W, et al. A survey of convolutional neural networks: Analysis, applications, and prospects[J]. IEEE Transactions on Neural Networks and Learning Systems, 2022, 33(12): 6999-7019.
[8] Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need [C]. The Thirty-first Annual Conference on Neural Information Processing Systems, 2017.
[9] Woo S, Park J, Lee JY, et al.CBAM: Convolutional block attention module [C]. 16th European Conference on Computer Vision, 2018.
[10] Yang J, Li C, Zhang P, et al. Focal self-attention for local-global interactions in vision transformers [J]. arXiv preprint arXiv:2107.00641, 2021.
[11] Liu Z, Lin Y, Cao Y, et al. SwinTransformer: Hierarchical vision transformer using shifted windows [C]. 2021 IEEE International Conference on Computer Vision, 2021.
[12]
Kong T, Sun F, Liu H, et al. FoveaBox: Beyoundanchor-based object detection [J]. IEEE Transactions on Image Processing, 2020, 29: 7389-7398.