當前位置:律師網大全 - 專利申請 - 詳細解讀TPH-YOLOv5

詳細解讀TPH-YOLOv5

1 簡介

針對無人機捕獲場景的目標檢測是最近比較流行的壹項任務。由於無人機在不同高度飛行,目標尺度變化較大,這樣給模型的優化也帶來了很大的負擔。此外,在無人機進行高速低空飛行時,也會帶來密集目標的運動模糊問題。

圖1 小目標與密集問題

為了解決上述2個問題,本文提出了 TPH-YOLOv5 TPH-YOLOv5 在YOLOv5的基礎上增加了壹個prediction heads 來檢測不同尺度的目標。然後通過探索Self-Attention的預測潛力使用了Transformer Prediction Heads(TPH)代替原來的prediction heads。同時作者還集成了卷積塊Attention模型(CBAM)來尋找密集場景下的註意力區域。

為了進壹步改進 TPH-YOLOv5 ,作者還提供了大量有用的策略,如數據增強、多尺度測試、多模型集成和使用額外的分類器。

在VisDrone2021數據集上的大量實驗表明,TPH-YOLOv5在無人機捕獲場景上具有良好的性能和可解釋性。在DET-test-challenge數據集上,TPH-YOLOv5的AP結果為39.18%,比之前的SOTA方法(DPNetV3)提高了1.81%。在VisDrone Challenge 2021中,TPH-YOLOv5與YOLOv5相比提高了約7%。

本文的貢獻如下:

2 前人工作總結 2.1 Data Augmentation

數據增強的意義主要是擴展數據集,使模型對不同環境下獲得的圖像具有較高的魯棒性。

Photometric和geometric被研究人員廣泛使用。對於Photometric主要是對圖像的色相、飽和度和值進行了調整。在處理geometric時主要是添加隨機縮放、裁剪、平移、剪切和旋轉。

除了上述的全局像素增強方法外,還有壹些比較獨特的數據增強方法。壹些研究者提出了將多幅圖像結合在壹起進行數據增強的方法,如MixUp、CutMix和Mosaic。

MixUp從訓練圖像中隨機選取2個樣本進行隨機加權求和,樣本的標簽也對應於加權求和。不同於通常使用零像素mask遮擋圖像的遮擋工作,CutMix使用另壹個圖像的區域覆蓋被遮擋的區域。Mosaic是CutMix的改進版。拼接4幅圖像,極大地豐富了被檢測物體的背景。此外,batch normalization計算每層上4張不同圖像的激活統計量。

在TPH-YOLOv5的工作中主要是結合了MixUp、Mosaic以及傳統方法進行的數據增強。

2.2 Multi-Model Ensemble Method

我們都知道深度學習模型是壹種非線性方法。它們提供了更大的靈活性,並可以根據訓練數據量的比例進行擴展。這種靈活性的壹個缺點是,它們通過隨機訓練算法進行學習,這意味著它們對訓練數據的細節非常敏感,每次訓練時可能會得到壹組不同的權重,從而導致不同的預測。 這給模型帶來了壹個高方差

減少模型方差的壹個成功方法是訓練多個模型而不是單壹模型,並結合這些模型的預測。

針對不同的目標檢測模型,有3種不同的ensemble boxes方法:非最大抑制(NMS)、Soft-NMS、Weighted Boxes Fusion(WBF)。

在NMS方法中,如果boxes的overlap, Intersection Over Union(IoU)大於某個閾值,則認為它們屬於同壹個對象。對於每個目標NMS只留下壹個置信度最高的box刪除其他box。因此,box過濾過程依賴於這個單壹IoU閾值的選擇,這對模型性能有很大的影響。

Soft-NMS是對NMS進行輕微的修改,使得Soft-NMS在標準基準數據集(如PASCAL VOC和MS COCO)上比傳統NMS有了明顯的改進。它根據IoU值對相鄰邊界box的置信度設置衰減函數,而不是完全將其置信度評分設為0並將其刪除。

WBF的工作原理與NMS不同。NMS和Soft-NMS都排除了壹些框,而WBF將所有框合並形成最終結果。因此,它可以解決模型中所有不準確的預測。本文使用WBF對最終模型進行集成,其性能明顯優於NMS。

2.3 Object Detection

基於CNN的物體檢測器可分為多種類型:

壹些檢測器是專門為無人機捕獲的圖像設計的,如RRNet、PENet、CenterNet等。但從組件的角度來看,它們通常由2部分組成,壹是基於CNN的主幹,用於圖像特征提取,另壹部分是檢測頭,用於預測目標的類和Box。

此外,近年來發展起來的目標檢測器往往在backbone和head之間插入壹些層,人們通常稱這部分為檢測器的Neck。接下來分別對這3種結構進行詳細介紹:

Backbone

常用的Backbone包括VGG、ResNet、DenseNet、MobileNet、EfficientNet、CSPDarknet53、Swin-Transformer等,均不是自己設計的網絡。因為這些網絡已經證明它們在分類和其他問題上有很強的特征提取能力。但研究人員也將微調Backbone,使其更適合特定的垂直任務。

Neck

Neck的設計是為了更好地利用Backbone提取的特征。對Backbone提取的特征圖進行不同階段的再處理和合理使用。通常,壹個Neck由幾個自底向上的路徑和幾個自頂向下的路徑組成。Neck是目標檢測框架中的關鍵環節。最早的Neck是使用上下取樣塊。該方法的特點是沒有特征層聚合操作,如SSD,直接跟隨頭部後的多層次特征圖。

常用的Neck聚合塊有:FPN、PANet、NAS-FPN、BiFPN、ASFF、SAM。這些方法的***性是反復使用各種上下采樣、拼接、點和或點積來設計聚合策略。Neck也有壹些額外的塊,如SPP, ASPP, RFB, CBAM。

Head

作為壹個分類網絡,Backbone無法完成定位任務,Head負責通過Backbone提取的特征圖檢測目標的位置和類別。

Head壹般分為2種:One-Stage檢測器和Two-Stage檢測器。

兩級檢測器壹直是目標檢測領域的主導方法,其中最具代表性的是RCNN系列。與Two-Stage檢測器相比One-Stage檢測器同時預測box和目標的類別。One-Stage檢測器的速度優勢明顯,但精度較低。對於One-Stage檢測器,最具代表性的型號是YOLO系列、SSD和RetaNet。

3TPH-YOLOv53.1 Overview of YOLOv5

YOLOv5有4種不同的配置,包括YOLOv5s,YOLOv5m, YOLOv5l和YOLOv5x。壹般情況下,YOLOv5分別使用CSPDarknet53+SPP為Backbone,PANet為Neck, YOLO檢測Head。為了進壹步優化整個架構。由於它是最顯著和最方便的One-Stage檢測器,作者選擇它作為Baseline。

圖2 THP-YOLOv5整體架構

當使用VisDrone2021數據集訓練模型時,使用數據增強策略(Mosaic和MixUp)發現YOLOv5x的結果遠遠好於YOLOv5s、YOLOv5m和YOLOv5l, AP值的差距大於1.5%。雖然YOLOv5x模型的訓練計算成本比其他3種模型都要高,但仍然選擇使用YOLOv5x來追求最好的檢測性能。此外,根據無人機捕獲圖像的特點,對常用的photometric和geometric參數進行了調整。

3.2 TPH-YOLOv5

TPH-YOLOv5的框架如圖3所示。修改了原來的YOLOv5,使其專壹於VisDrone2021數據集:

圖3 TPH-YOLOv5模型結構 微小物體的預測頭

作者統計了VisDrone2021數據集,發現它包含了很多非常小的目標,所以增加了壹個用於微小物體檢測的預測頭。結合其他3個預測頭,4頭結構可以緩解劇烈的目標尺度變化帶來的負面影響。如圖3所示,添加的預測頭(Head 1)是由low-level、高分辨率的feature map生成的,對微小物體更加敏感。增加檢測頭後,雖然增加了計算和存儲成本,但對微小物體的檢測性能得到了很大的提高。

Transformer encoder block

圖4 Transformer Block

用Transformer encoder塊替換了YOLOv5原版中的壹些卷積塊和CSP bottleneck blocks。其結構如圖4所示。與CSPDarknet53中原有的bottleneck blocks相比,作者認為Transformer encoder block可以捕獲全局信息和豐富的上下文信息。

每個Transformer encoder block包含2個子層。第1子層為multi-head attention layer,第2子層(MLP)為全連接層。每個子層之間使用殘差連接。Transformer encoder block增加了捕獲不同局部信息的能力。它還可以利用自註意力機制來挖掘特征表征潛能。在VisDrone2021數據集中,Transformer encoder block在高密度閉塞對象上有更好的性能。

基於YOLOv5,作者只在頭部部分應用Transformer encoder block形成transformer Prediction head(TPH)和backbone端。因為網絡末端的特征圖分辨率較低。將TPH應用於低分辨率特征圖可以降低計算和存儲成本。此外,當放大輸入圖像的分辨率時可選擇去除早期層的壹些TPH塊,以使訓練過程可用。

Convolutional block attention module (CBAM)

CBAM是壹個簡單但有效的註意力模塊。它是壹個輕量級模塊,可以即插即用到CNN架構中,並且可以以端到端方式進行訓練。給定壹個特征映射,CBAM將沿著通道和空間兩個獨立維度依次推斷出註意力映射,然後將註意力映射與輸入特征映射相乘,以執行自適應特征細化。

圖5 CBAM註意力機制

CBAM模塊的結構如圖5所示。通過本文的實驗,在不同的分類和檢測數據集上將CBAM集成到不同的模型中,模型的性能得到了很大的提高,證明了該模塊的有效性。

在無人機捕獲的圖像中,大覆蓋區域總是包含令人困惑的地理元素。使用CBAM可以提取註意區域,以幫助TPH-YOLOv5抵制令人困惑的信息,並關註有用的目標對象。

Self-trained classifier

用TPH-YOLOv5對VisDrone2021數據集進行訓練後,對test-dev數據集進行測試,然後通過可視化失敗案例分析結果,得出TPH-YOLOv5定位能力較好,分類能力較差的結論。作者進壹步探索如圖6所示的混淆矩陣,觀察到壹些硬類別,如三輪車和遮陽三輪車的精度非常低。

圖6 檢測混淆矩陣

因此,作者提出了壹個Self-trained classifier。首先,通過裁剪ground-truth邊界框並將每個圖像patch的大小調整為64 64來構建訓練集。然後選擇ResNet18作為分類器網絡。實驗結果表明,在這個Self-trained classifier的幫助下,所提方法對AP值提高了約0.8%~1.0%。

4實驗與結論

最終在test-set-challenge上取得了39.18的好成績,遠遠高於VisDrone2020的最高成績37.37。

圖9 檢測結果圖

  • 上一篇: 讓目標檢測任務中的小目標無處遁形
  • 下一篇:我家墻體做防水時做得太光滑刷不上白灰怎麽解決?
  • copyright 2024律師網大全