?

改進YOLOX-s的密集垃圾檢測方法

2024-03-12 08:58謝若冰李茂軍李宜偉胡建文
計算機工程與應用 2024年5期
關鍵詞:精細化損失卷積

謝若冰,李茂軍,李宜偉,胡建文

長沙理工大學電氣與信息工程學院,長沙 410114

近年來,我國大、中城市的年生活垃圾產生量達2 億噸且同比仍呈攀升態勢,許多城市面臨著“垃圾圍城”的問題[1]。目前,國內垃圾處理大多為人工分揀,勞動強度大且效率低。隨著新冠肺炎疫情的爆發,工人在處理垃圾時具有感染風險。為實現生活垃圾減量化、資源化、無害化處理,推進基于人工智能的分揀自動化是大勢所趨。實現分揀自動化的前提是確定垃圾位置和識別垃圾種類,因此,垃圾檢測技術發揮著至關重要的作用。

基于機器學習和圖像處理的傳統垃圾檢測方法主要分為區域選擇、特征提取、圖像分類三部分[2]。Salimi等人[3]提出的垃圾檢測與分類裝置,首次使用Haar-Cascade方法檢測地面上垃圾,再結合灰度共生矩陣和方向梯度直方圖進行紋理和形狀分析,進而獲得一組特征,輸入到支持向量機(support vector machine,SVM)進行分類,準確率可達73.49%。這類檢測方法需手動提取特征,在特定條件下采取特定方法可獲得較好檢測效果,但受到數據集影響較大,魯棒性差,存在檢測精度低和檢測速度慢等問題。胡斌等人[4]提出了一種紅外光譜結合機器學習的方法,實現了生活垃圾高值化利用的深度分選,針對四類垃圾平均識別率能達到90%以上,但該方法只能處理部分特定種類的垃圾,且對使用環境要求較高,難以廣泛應用。

相比于機器學習方法,深度學習技術自動提取的特征具有較強層次的表達能力,更適用于檢測任務中。當前基于深度學習的目標檢測算法主要有以YOLO系列、SSD 等算法為代表的單階段目標檢測算法和以FastRCNN為代表的兩階段目標檢測算法。其中,YOLO系列算法具有結構簡潔、計算處理速度快等優點,被廣泛應用于不同領域中[5]。Patel 等人[6]對比了在街道垃圾、生活密集垃圾等真實場景下,5 種不同模型EfficientDet、SSD、CenterNet、FasterR-CNN 以及YOLOv5 的檢測能力,由實驗得出YOLOv5 能檢測出最多垃圾,且檢測精度最高。Ge等人[7]進一步對YOLO系列算法作出改進,提出YOLOX系列目標檢測算法,并與YOLOv5系列進行對比實驗,驗證了該系列模型性能優于YOLOv5系列模型,具有更高的檢測精度。

隨著深度學習技術滲透到各行各業,其在垃圾檢測方面的研究也取得了較大的進展。馬雯等人[8]提出一種基于改進FasterR-CNN的垃圾檢測與分類方法,研究表明該方法具有良好的識別率,但模型復雜,檢測速度慢。耿麗婷等人[9]提出一種改進SSD 的可回收垃圾檢測方法,通過采用輕量化骨干網絡RepVGG和自適應調節感受野尺寸的方式來提高模型推理速度和檢測精度。但該方法存在垃圾類別少,訓練圖片目標數量和種類單一,缺乏一定的實用性。Pan[10]提出了一種適用于垃圾分類的目標檢測模型YOLOv3++,主要通過優化主干網絡和使用遷移學習來減少計算量、參數量,提高模型的精度,實現了對10種可回收垃圾的高效檢測。Wang等人[11]通過使用輕量級EfficientNet 主干網絡和深度可分離卷積層來改進YOLOv4算法,減少網絡模型的參數量。并在特征金字塔模型中,引入了一種輕量級的ECA注意機制,實現對不同通道特征圖重要性的權重分析。該算法在6類密集垃圾檢測中的平均精確率可達91.09%,但檢測速度有所欠缺。Zhan 等人[12]基于YOLOv5 檢測垃圾分揀站現場散亂丟棄的袋裝密集垃圾,由于現場丟棄垃圾位置相對集中,引入了EⅠoU 損失,加快收斂速度,最終算法平均精確率可達89.7%,檢測速度達0.014 frame/s。Lin 等人[13]提出一種Soft YOLOX 算法來檢測下水道井蓋處較密集的垃圾,通過使用SoftNMS算法對檢測框分數進行懲罰,避免漏檢現象,檢測精度可達91.89%。但該工作所使用數據集為特定場景下的特定垃圾目標,種類較少。

基于深度學習技術的垃圾檢測在精度、速度及魯棒性方面有顯著提升,但目前研究中所使用的大部分垃圾圖像數據集是單目標和少目標數據,或者缺乏豐富的垃圾類別,不足以滿足現實生活中不同類型和數量的垃圾堆積在一起的實際需求。針對生活中密集遮擋、形狀多變、種類繁多的垃圾目標,現有算法存在目標誤檢、漏檢以及定位框不準確的問題,從而影響檢測效果。

在實際檢測任務中,關注密集目標的全局特征有助于減少類別混淆。由于卷積操作的感受野有限,難以捕捉全局表征,因而通常采取多次池化操作來逐漸提取全局信息,但這將會導致一部分信息被丟失。Dosovitskiy等人[14]將自然語言處理中基于自注意力機制的編碼器-解碼器模型Transformer[15]應用在視覺識別任務中,將輸入圖像分割后進行序列化,并通過多頭自注意力機制學習圖像序列之間的復雜依賴關系,以獲得全局表示。Liu等人[16]提出了更適用于目標檢測任務的Swin Transformer模型,引入滑動窗口操作和使用跨窗口連接策略,大大減少了計算量并使得窗口間進行信息交互。

因此,為解決多類別密集垃圾檢測識別準確率低、檢測框定位不夠準確和待檢測目標容易被誤檢、漏檢問題,本文提出一種融合多頭自注意力機制改進YOLOX-s模型的密集垃圾檢測方法,以提高待檢測垃圾的識別精度和定位精度。本文主要工作概括為:

(1)提出一種基于滑窗操作多頭自注意力機制的特征提取網絡,該主干網絡引入Swin Transformer 模塊,模塊內部自注意力機制提高了網絡獲得全局信息的能力,滑動窗口操作可減少自注意力權重的計算量。

(2)在回歸初始預測框后,使用可變形卷積,對預測框進行精細化處理,使預測框更貼近待測目標邊緣,提高了模型的定位精度。

(3)分析模型在訓練的不同階段,中心距離損失和寬高損失對預測框與真實框間位置和尺寸重要性程度,改進EⅠoU損失函數,引入加權系數,自適應調節中心距離損失和寬高距離在總損失函數的權重。

1 YOLOX-s目標檢測算法

YOLOX在YOLOv3[17]算法的基礎上,進行數據增強、預測分支解耦、無錨點以及SimOTA(simple optimal transport assignment)標簽分配等多個方面的改進,與以往YOLO系列算法相比,在檢測精度和速度方面具有優勢。YOLOX-s 作為YOLOX 模型的一個衍生版本,結構簡單、參數較少且方便部署。綜合考慮,本文選擇YOLOX-s作為基準模型。如圖1所示為YOLOX-s網絡結構圖。

圖1 YOLOX-s模型網絡結構圖Fig.1 YOLOX-s model network structure diagram

YOLOX-s網絡結構分為4個部分:輸入端、主干網絡、頸部網絡和預測輸出端。在進行訓練之前,YOLOX-s對輸入圖像同時使用Mosaic 和Mixup 兩種數據增強進行預處理。主干網絡沿用CSPDarknet 來提取特征,該主干網絡通過引入CSPNet(cross stage partial network)結構,將特征圖輸入兩個分支以減少計算開銷,消除網絡反向優化時的冗余梯度信息,增強卷積網絡的學習能力。頸部網絡采用路徑增強網絡結構(path aggregation network,PANet),該結構是在特征金字塔網絡(feature pyramid networks,FPN)結構中增加了一條自底向上的路徑,能夠縮短淺層與深層特征之間的信息路徑、提高網絡信息傳遞能力。預測輸出端將分類和回歸分支解耦,從而產生一系列固定的預測集合,該集合包括預測目標框的4 個坐標信息、1 個目標置信度得分,以及N個種類的預測得分。

YOLOX-s 基于無錨機制,直接預測目標框中心的偏移量和高寬值()x,y,w,h。使用SimOTA標簽分配策略將網絡生成的預測框和真實框進行關聯,首先根據中心先驗的方法確定正樣本候選區域,再計算每個候選正樣本的代價來動態匹配每個真實框的正樣本數。代價的公式如下所示:

其中,λ是平衡系數;和是真實框與預測框之間的分類損失和回歸損失。

2 改進的YOLOX-s密集垃圾檢測算法

改進算法繼承了YOLOX-s 的優點,在垃圾檢測任務中使用Mosaic 和MixUp 兩種數據增強策略,豐富檢測背景信息并增加重疊的垃圾數量,提高了模型的泛化能力。同時,YOLOX-s 算法以無錨方式直接生成高質量候選框,并通過SimOTA標簽匹配方法對不同目標匹配合適的正樣本。

在此基礎上,為進一步提高YOLOX-s 算法在密集垃圾檢測中的性能,本文對YOLOX-s 的主干網絡進行了改進,引入基于滑窗操作的多頭自注意力機制,使得模型能夠學習到更多全局特征信息;在預測框回歸階段使用可變形卷積,對預測框進行精細化處理;改進EⅠoU損失函數,設置權重系數,自適應調節中心距離損失和寬高距離在總損失函數的權重。

改進YOLOX-s 的網絡結構如圖2 所示,下文對其進行詳細介紹。

圖2 改進YOLOX-s模型網絡結構圖Fig.2 Ⅰmproved YOLOX-s model network structure diagram

2.1 基于滑窗操作多頭自注意力機制的主干網絡

針對數據集中密集垃圾類別易混淆的問題,本文將Swin Transformer模塊集成到YOLOX-s主干網絡末端,以獲取全局語義信息。CSP結構和Swin Transformer模塊的結構如圖3所示。

圖3 改進主干網絡末端CSP2結構圖Fig.3 Ⅰmproved CSP2 structure diagram at end of backbone network

假設輸入特征圖為F∈?N×M×M,在Swin Transformer模塊中先后進行基于窗口的局部自注意力機制(window multi-headed self-attention,W-MSA)和基于滑窗操作的全局自注意力機制(shift-window multi-headed selfattention,SW-MSA)操作,模塊中的子層之間使用殘差連接。其中,局部窗口尺寸設置為。

基于窗口的多頭自注意力機制的計算過程為:

其中,Q、K、V分別為查詢、鍵和值向量;dk為輸入特征圖的通道數;B為各像素相對位置偏差。通過引入B,使得各像素間保持空間位置關系,能夠避免輸入序列的位置信息丟失。自注意力的計算復雜度與輸入特征圖尺寸成線性關系[18],而W-MSA 在劃分出的小窗口內計算自注意力,大大降低計算復雜度,但只在窗口內部獲取信息,窗口之間無信息交流,所以無法獲取全局特征,故在經過W-MSA操作后還需進行SW-MSA操作。

如圖4所示,SW-MSA會將所有窗口整體在橫軸和縱軸方向向右向下滑動個像素,使得原先的窗口被切分,重新組合為新的窗口,生成的新窗口采用跨窗口連接策略再次計算其自注意力權重,因此特征單元能在不同窗口內進行信息交互。SW-MSA 能使不同窗口進行信息交互,使得網絡捕獲更多上下文信息。該主干網絡結合了卷積層和Swin Transformer的優勢,兼顧局部信息和全局信息,能夠學習更多可區分的特征。

圖4 劃分、滑動窗口操作Fig.4 Division,sliding window operation

當Swin Transformer 模塊應用于網絡較高分辨率特征圖時,為保證計算量不過大,特征圖會被劃分成多個窗口,這也意味著特征圖中的一個目標有更大的可能被分割,劃分到不同的窗口,從而丟失上下文信息。所以相比于將Swin Transformer 模塊應用于網絡較高分辨率特征圖上,Swin Transformer 模塊應用于網絡最低分辨率特征圖時丟失的位置特征較少,且計算量更少。同時主干網絡末端特征圖是頸部特征融合網絡的高層特征圖輸入,頸部網絡能夠將Swin Transformer模塊編碼的低分辨率特征圖的全局語義信息進行傳遞,與主干網絡高分辨率特征圖的空間信息進行充分融合,降低了Swin Transformer模塊帶來的位置特征丟失的影響。故本文僅將主干網絡末端CSP2 結構中的1×1 卷積和3×3卷積替換為Swin Transformer模塊。

2.2 預測目標邊界框精細化操作

Dai 等人[19]提出的可變形卷積,引入可學習的偏移量使卷積核產生不規則的感受野,解決了目標識別和檢測中的幾何變化問題。文獻[20]的研究表明,可變形卷積應用于密集物體探測器中,可優化預測框的形狀,在不損失過多效率的情況下提升預測框定位精度。本文實現預測框精細化網絡結構如圖5所示,在預測框回歸分支中增加了一個可變形卷積層和標準卷積層。

YOLOX-s 輸出的預測框由4 維向量(x,y,w,h)進行編碼所得,即分別對應預測框的中心點坐標及寬高長度,且預測框中心點到左上、右下4 條邊框的距離為為優化預測框,手動設置9 個固定采樣點(在圖6中用紫色點表示),將其作為可變形卷積的偏移量輸入,充分學習周圍區域的信息,再經過一個卷積層學習4 個距離縮放因子(Δl,Δt,Δr,Δb)對預測框進行縮放,使得縮放后的預測框中心點到左上右下4條邊框的距離為,中心點保持不變,使得預測框更接近真實框。經過邊界框精細化操作后,將原先輸出的預測框中心點及的寬高(x,y,w,h),細化為預測框中心點及中心點到邊框左上右下的距離(x,y,l,t,r,b)。邊界框精細化操作原理圖如圖6所示,綠色的初始預測框經過精細化操作后得到了更精確的橙色預測框。

2.3 加權EIoU損失函數

在YOLOX-s 中,位置回歸損失函數使用預測框和真實框之間的交并比(ⅠoU)作為損失計算,只考慮預測框和真實框的重疊面積,無法優化與真實框不相交的預測框,并忽視了預測框的位置信息。針對垃圾目標具有形態各異、集中堆疊等特點,引入Zhang等人[21]提出的EⅠoU損失函數,綜合考慮了三個幾何因素,即預測框與真實框的重疊度、中心點距離和長寬差值。其計算公式定義為:

EⅠoU 損失只是重疊損失、中心距離損失和寬高損失3個部分的簡單疊加。在訓練的不同階段,中心距離損失和寬高損失對預測框與真實框間位置和尺寸重要性程度不同,故本文此基礎上,提出加權EⅠoU 損失函數,其計算公式如下:

式中,λ為加權系數,λ∈[0,1] 。當λ取值為0 時,加權EⅠoU損失退化為DⅠoU損失[22]。然而手動調整損失權重方式需多次試驗確認最佳λ,實用性不高。

預測框與真實框間的ⅠoU 值隨著訓練迭代逐漸變化,因此,將λ設置為ⅠoU 值,在訓練初期,預測框與真實框的ⅠoU 值較小,中心距離損失占主導地位,促使預測框向真實框靠近;當訓練到一定程度后,預測框與真實框的ⅠoU 值都為較大的值,高寬損失占主導地位,促使預測框更貼近真實框。由式(4)得:

綜上所述,本文使用加權ⅠoU-EⅠoU損失對YOLOX-s算法中的ⅠoU損失進行替換,改進后的總損失函數為:

其中,bbox為未經精細化的預測框;bboxgt為真實框;bboxrefine為精細化后的預測框;在YOLOX-s 算法中,ⅠoU損失函數權重系數取值為5。本文所提算法中,γ1、γ2分別為未精細化和精細化預測框權重系數,通過實驗驗證,本文取值為γ1=2,γ2=3 最佳。

3 密集垃圾檢測實驗過程與分析

3.1 實驗數據集

實驗使用海華研究所開源的多垃圾目標檢測數據集,共2 998 張RGB 圖片,分辨率為1 920×1 080,包含204個類別的垃圾。該數據集按照8∶2的比例分為訓練集和測試集,所有標簽采用COCO2017格式。不同于大部分垃圾數據集,在該數據集中,一張圖片包括多個類別的垃圾實例,實例密集堆放在一起且部分實例間存在遮擋,更符合現實生活中的垃圾檢測狀況。

在訓練過程中,由于訓練集數量較少,為避免模型存在過擬合問題,采用數據增強策略對訓練集圖像進行預處理,以提高模型泛化能力。數據增強方式和部分樣本數據增強后可視化如表1和圖7所示。

表1 數據增強方式Table 1 Data augmention method

圖7 對部分樣本進行數據增強Fig.7 Data enhancement on subset of samples

3.2 實驗環境及訓練參數設置

實驗服務器Linux 操作系統為Ubun18.04 版本,配置如下:CPU為AMD EPYC 7302,內存為64 GB,GPU為NVⅠDⅠA GeForce RTX 3090,顯存為24 GB;深度學習開發環境為Pytorch1.11.0,CUDA11.3,CuDNN8.2.0。

模型使用隨機梯度下(SGD)進行訓練,輸入圖像尺寸均歸一化為608×608。實驗設置訓練300個epoch,批量大小為16,共進行45 000 次迭代。初始學習率設為0.01,使用Cosine學習機制,權重衰減為0.000 5。

3.3 實驗評價指標

在目標檢測算法測試中,通常使用平均精度均值(mean average precision,MAP)、精確率(precision,P)、召回率(recall,R)和每秒傳輸幀數(frames per second,FPS)作為檢測算法的評價指標,計算公式為:

式中,NTP為正確檢測數;NFP為誤檢數;NFN為漏檢數;APi為第i類的P-R曲線積分;t為檢測每張圖像花費的平均時間。本文主要以mAP50:95、mAP50和FPS為測試評估指標,mAP50:95表示IoU=0.5:0.95,步長為0.05時的平均精度,mAP50表示IoU=0.5 時的平均精度,FPS表示每秒檢測圖像數量。

3.4 實驗過程與結果分析

3.4.1 消融實驗

為了驗證本文改進模塊對密集垃圾檢測的有效性,本小節以YOLOX-s 為基線模型,在204 類垃圾目標數據集上進行消融實驗。在YOLOX-s 基線的基礎上,依次加入Swin Transformer模塊、精細化邊框操作以及加權ⅠoU-EⅠoU損失函數,實驗結果如表2所示,Parameter表示模型參數量。從表2中可以看出,引入Swin Transformer模塊后mAP50:95和mAP50分別提升0.2個百分點和0.5個百分點;精細化邊框操作單獨加入時,mAP50:95和mAP50分別提高0.6 個百分點和1.1 個百分點;單獨使用加權ⅠoU-EⅠoU 損失對原損失函數進行替換時,mAP50提升1.2個百分點。而當Swin Transformer模塊、精細化邊框操作和加權ⅠoU-EⅠoU 損失3 種改進策略損失共同加入時,檢測效果會有大幅提升,3種改進策略相輔相成。

表2 消融實驗結果Table 2 Ablation experimental results

由表2 可以得到,在密集垃圾檢測中,本文改進YOLOX-s 算法的mAP50:95和mAP50分別達到80.5%和92.5%,與基線模型相比分別提高了1.7 個百分點和2.5個百分點。在檢測速度上,本文所提算法與基線模型相比降低了19 frame/s,其重要原因是Swin Transformer模塊和精細化操作的引入增加了一定的計算量和網絡參數量,但本文所提算法每秒檢測圖像數量為112 frame,仍然大大滿足在實際垃圾分揀過程中的實時性要求。

圖8 為利用grad-CAM 算法可視化主干網絡引入Swin Transformer 模塊前后輸出的熱力圖,紅色表示網絡關注度最高的區域,黃色、藍色區域的關注度逐漸變弱。圖8(b)、圖8(c)可以看出,改進主干網絡網絡關注的區域更加全面,其類激活映射區域在各類待測目標上都比較集中,而更少關注到背景區域,驗證了該網絡具有更強的特征提取能力和對于背景中無效特征的分辨能力。

圖8 主干網絡改進前后熱力圖Fig.8 Heat map before and after trunk network improvement

圖9 中展示的是預測目標邊界框精細化前和精細化后經過非極大值抑制篩選的輸出結果,白色表示真實框,綠色表示精細化前的檢測框,紅色表示精細化后的檢測框。從圖中可以看出,對于邊緣清晰和高寬相差不大的待測物體,精細化前后的預測框相差不大。而邊緣較為模糊的待測物體,如口罩,精細化前的預測框無法很好的將其包圍,預測框大小普遍小于待測物體的實際大??;高寬相差較大的待測物體,如:針管、竹制品等,精細化前的目標預測框無法精確地包圍其較長的一邊。經過精細化將邊框拉長,使得目標預測框更好地包圍待測物體。故目標邊界框精細化能提高難以回歸的待測物體的定位精度。值得注意地是,圖9中間的竹制品被針管嚴重遮擋,精細化之后的檢測框雖然也不能很好地將其包圍,但是也有一定的改善作用。

圖9 預測目標邊界框精細化前后的輸出結果Fig.9 Predict output before and after refinement of target bounding box

3.4.2 加權EIoU性能分析

本文進行了一系列的對比實驗,以展示加權ⅠoUEⅠoU損失的性能優勢。圖10為YOLOX-s算法、單獨加入加權ⅠoU-EⅠoU 損失改進的YOLOX-s 算法和本文所提算法在訓練過程中的損失曲線對比,分別由藍色、橙色、綠色曲線所表示。從圖中可以看出,YOLOX-s算法最終訓練損失為1.84,單獨使用加權ⅠoU-EⅠoU 損失改進的YOLOX-s 算法和本文算法的損失分別為1.43 和1.42,且損失曲線比YOLOX-s 算法更快達到最低點。表明引入加權EⅠoU 損失改進網絡有助于降低損失,加快網絡收斂速度。同時由曲線圖可以看出,本文所提算法的收斂性比單獨加入加權ⅠoU-EⅠoU 的YOLOX-s 算法更勝一籌。

圖10 加權ⅠoU-EⅠoU訓練損失曲線對比Fig.10 Comparison of weighted ⅠoU-EⅠoU training loss curve

表3 為在本文所提算法中使用ⅠoU、GⅠoU、CⅠoU、EⅠoU 損失和取不同權重系數時加權EⅠoU 損失時的檢測結果對比。其中mAP75表示IoU=0.75時的平均精度,mAPsmall、mAPmedium、mAPlarge分別表示IoU=0.5:0.95,步長為0.05 時,大中小三種不同尺寸目標的平均精度。由表3可以看出,以ⅠoU損失為基準時,GⅠoU損失、權重系數取0 的加權EⅠoU(DⅠoU)損失、權重系數取0.25、0.75的加權EⅠoU 損失的整體精度都有所下降;CⅠoU 的mAP50:95和mAP50分別提升了0.4 個百分點和0.8 個百分點,但mAP75下降了0.3 個百分點;EⅠoU、權重系數取0.5、1 的加權EⅠoU 損失和加權ⅠoU-EⅠoU 損失的整體精度都有所提升,其中加權ⅠoU-EⅠoU 損失的提升效果最佳,mAP50:95提升了1個百分點,mAP50提升了1.3個百分點,mAP75提升了0.9 個百分點。值得注意的是,在對比的所有損失函數中,權重系數取1 的加權EⅠoU 對于小目標的檢測精度最好,權重系數取0.5的加權EⅠoU對于中等目標的檢測精度最好,加權ⅠoU-EⅠoU 對于大目標的檢測精度最好。實驗結果表明,使用加權EⅠoU 損失時,可通過使用不同的權重系數,來著重提升對大、中、小三種尺度物體其中一種的檢測效果。

表3 不同損失函數性能對比實驗結果Table 3 Performance of different loss functions compares experimental results單位:%

3.4.3 與不同算法對比實驗

為了檢驗提出的改進算法對多類別垃圾密集檢測精度和效率的有效性和先進性,本文進一步將其與目前較為流行目標檢測算法進行對比,包括兩階段目標檢測算法Faster-RCNN,單階段目標檢測算法SSD、RetinaNet、EffcientDet-d0、YOLOv3、YOLOv4、YOLOv5-s、YOLOX-s,以及同類SOTA 算法ECA_ERFB_s-YOLOv3[23]。訓練時均使用相同實驗設備、數據集和參數,對比實驗結果如表4 所示。由表4 可以得出,在204 類垃圾密集檢測中,本文算法的mAP50:95和mAP50值均最大,具有更高的檢測精度,與上述算法相比,mAP50:95和mAP50分別提高了1.7~19.7個百分點和3.1~11.4個百分點。改進后的特征提取網絡融合多頭自注意力機制,使得網絡關注全局信息特征,能夠減少待檢測目標被遮擋誤檢情況,并使用可變形卷積優化預測框的位置,提高尺度相差較大和由堆疊遮擋導致邊界模糊的待檢測目標的定位精度,協同加權ⅠoU-EⅠoU 損失進一步加快網絡收斂速度,最終使得本文所提算法對密集遮擋目標的檢測能力有所提高。本文算法的檢測速度達112 frame/s,遠快于Faster R-CNN、SSD、RetinaNet、EffcientDet-d0、YOLOv3-v4 和ECA_ERFB_s-YOLOv3,略低于YOLOv5-s和YOLOX-s算法,大大滿足實時監測需求(FPS≥30 frame/s)。

表4 不同算法對比實驗結果Table 4 Comparison of experimental results of different algorithms

為了更加直觀地呈現本文算法的檢測性能優勢,選取上述算法中檢測性能較好的YOLOv5-s、YOLOX-s和本文算法的部分檢測圖像結果進行對比說明,如圖11所示。圖11(a)、(b)、(c)分別為YOLOv5-s算法、YOLOX-s算法和本文算法的檢測結果圖。其中,置信度閾值取0.25,ⅠoU 閾值取0.45。從上述對比圖中可以看出,YOLOv5-s和YOLOX-s算法在圖中有多處誤檢(紅色箭頭指向),如將筆、狗尿布、廢棄針管識別為其相似物體;對于如最左檢測圖所示垃圾更為密集的場景,使用YOLOv5-s 和YOLOX-s 算法檢測將會出現重復檢測框(黃色箭頭指向),而本文算法沒有這類問題;此外,最右YOLOv5-s和YOLOX-s算法的檢測圖中,一次性塑料餐具被燈泡部分遮擋,導致其均識別率低且只有部分在其預測框中。綜上所述,本文算法的誤檢現象更少,對于大部分類別的垃圾檢測精度更高。同時,對于邊緣模糊和部分被遮擋的垃圾,本文算法能夠更精確地定位其位置和邊框。

圖11 不同算法檢測結果對比圖Fig.11 Comparison of detection results of different algorithms

4 結束語

針對密集堆疊垃圾形狀、顏色多變導致識別精度、定位精度較低以及存在誤檢現象等問題,本文提出了一種融合多頭自注意力機制的改進YOLOX-s模型的密集垃圾檢測方法。在這項工作中,基于滑框操作自注意力機制改進的主干網絡可以獲得更多的全局信息、學習更多可區分的特征,更適用于垃圾密集堆疊的場景;通過可變形卷積對目標預測框進行精細化操作,解決部分垃圾邊緣模糊且長寬尺度相差大導致定位框不準確的問題;引入加權ⅠoU-EⅠoU損失函數,進一步加快模型收斂速度。在多垃圾目標檢測數據集上進行實驗來對本文算法進行評價,結果表明,本文提出的改進算法檢測精度mAP50:95可達80.5%,mAP50可達92.5%,并且相比于主流的單階段和兩階段目標檢測算法,其在精確度和檢測速度上都具一定的優勢。

在后續的研究中,考慮從輕量化模型入手,優化本文算法的檢測速度,使其能夠部署在工業機器人,應用于垃圾分揀生產線、街道垃圾實時檢測等場景。

猜你喜歡
精細化損失卷積
探討市政工程的精細化管理
基于3D-Winograd的快速卷積算法設計及FPGA實現
精細化管理的企業管理模式探討
胖胖損失了多少元
“精細化”全方位培養好參謀
從濾波器理解卷積
玉米抽穗前倒伏怎么辦?怎么減少損失?
基于傅里葉域卷積表示的目標跟蹤算法
如何打造精細化立法產品
一般自由碰撞的最大動能損失
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合