1. 開源!基于Transformer改進YOLOv5的目標檢測框架 | 航空遙感目標檢測

        共 3943字,需瀏覽 8分鐘

         ·

        2022-06-17 21:20

        來源:https://zhuanlan.zhihu.com/p/525649526 (已授權(quán))

        編輯:AI算法與圖像處理


        大家好,我是阿潘

        今天分享航空遙感目標檢測系列文章之基于Transformer改進YOLOv5的目標檢測框架

        標題:TPH-YOLOv5: Improved YOLOv5 Based on Transformer Prediction Head for Object Detection on Drone-captured Scenarios

        地址:https://openaccess.thecvf.com/content/ICCV2021W/VisDrone/papers/Zhu_TPH-YOLOv5_Improved_YOLOv5_Based_on_Transformer_Prediction_Head_for_Object_ICCVW_2021_paper.pdf

        代碼:https://github.com/cv516Buaa/tph-yolov5

        改進版本:https://github.com/Gumpest/YOLOv5-Multibackbone-Compression

        增加小目標檢測層:https://mp.weixin.qq.com/s/3ecefgmOZU-zugMdMWlTaA

        詳細介紹

        本文主要針對尺度變化和由于高速低空拍攝帶來的密集目標運動模糊這兩個問題,提出一種TPH-YOLOv5。基于YOLOv5,增加一個預測頭來檢測不同尺度的目標。然后用結(jié)合Transformer的預測頭(Transfromer Prediction Head, TPH)代替原始的預測頭,來探索具備自注意力的預測潛力。此外,還結(jié)合了卷積塊注意模型(CBAM)來搜索密集區(qū)域的感興趣區(qū)域。為了更進一步的提升性能。本文還提供了很多有用的策略,例如數(shù)據(jù)增強、多尺度測試、多模態(tài)融合和利用額外的分類器。在VisDrone2021數(shù)據(jù)集上進行實驗,證明了所提方法的有效性和優(yōu)越性。在測試集上,所提方法達到39.18%的AP值,比先前的SOTA方法(DPNetV3)提高了1.81%。在2021年的VisDrone挑戰(zhàn)賽上,所提的TPH-YOLOv5獲得第五名的成績,與第一名的模型(AP 39.43%)保持相當?shù)某煽儭Ec基準模型(YOLOv5)相比,所提方法提高了約7%。


        Motivation:


        航拍圖像中需要解決的三個問題:從第一行到第三行分別表示尺度變化、高密度和大范圍。首先,由于無人機飛行高度的不同,目標的尺度變化劇烈。其次,無人機拍攝的圖像包含高密度的目標,導致目標間存在嚴重遮擋。再次,由于很大的覆蓋范圍,無人機拍攝的圖像通常包含令人混淆的地理元素。



        貢獻:


        增加一個預測頭來解決目標間的尺度變化;

        在YOLOv5中結(jié)合Transformer預測,可以精確的定位高密度場景中的目標;

        在YOLOv5中結(jié)合CBAM,可以使網(wǎng)絡在大范圍區(qū)域中找到感興趣區(qū)域;

        提供大量有用的tricks并濾除一些無用的tricks,用于航拍圖像的目標檢測

        利用自訓練分類器來提升一些容易混淆的類別間的分類能力;

        在VisDrone2021數(shù)據(jù)集上進行實驗,獲得很不錯的檢測性能。


        方法:


        1. YOLOv5回顧
          YOLOv5包含四個不同的模型,包括YOLOv5s,YOLOv5m,YOLOv5l,YOLOv5x。一般來講,YOLOv5分別使用一個結(jié)合空間金字塔池化層(SPP)的CSPDarknet53作為主干網(wǎng)絡,PANet作為Neck,YOLO作為檢測頭。為了進一步優(yōu)化整個網(wǎng)絡,提供了大量的技巧。因為這個網(wǎng)絡是最著名且方便的一階段檢測器,本文選擇它作為基準算法。
          當作者在VisDrone2021數(shù)據(jù)集上結(jié)合數(shù)據(jù)增強策略(Mosaic和MixUp)對模型進行訓練時,從結(jié)果中可以看出YOLOv5x的性能比其他三個好得多,AP值之間的差距超過1.5%。盡管YOLOv5x的訓練代價比其他三個模型都要大,本文依然選擇YOLOv5x來實現(xiàn)最好的檢測性能。此外,根據(jù)無人機拍攝圖像的特征,對常用的光度畸變和幾何失真的參數(shù)做出調(diào)整。

        2. TPH-YOLOv5


        TPH-YOLOv5的框架如下圖所示,作者對原始的YOLOv5框架進行修改使之適應VisDrone2021數(shù)據(jù)集。



        用于微小目標的預測頭:作者通過對VisDrone2021數(shù)據(jù)集進行調(diào)研,發(fā)現(xiàn)它包含了大量的極度小目標,因此作者額外增加了一個預測頭用于微小目標的檢測。與其他三個預測頭進行聯(lián)合,本文提出的四分支檢測結(jié)構(gòu)可以減輕由于劇烈尺度變化引起的負面影響。如上圖所示,第一個預測頭是由底層的、高分辨率的特征圖中生成的,這對微小目標更敏感。增加一個附加的檢測頭之后,盡管計算量和內(nèi)存代價增加了,但微小目標的檢測性能得到了大幅的提升。


        Transformer編碼塊:受視覺Transformer的啟發(fā),本文用Transformer的編碼塊來代替原始YOLOv5中的一些卷積塊和CSP瓶頸塊。這個結(jié)構(gòu)如下圖所示。與原始CSPDarknet53中的transformer瓶頸塊相比,作者相信transformer編碼塊能夠采集豐富的全局信息和上下文信息。每個transforme編碼包含兩個子層,第一個子層是一個多頭的注意力層,而第二個子層(MLP)是一個全連接層。在每個子層中間添加殘差連接。Transformer編碼塊增加了采集不同局部信息的能力。它還可以通過自注意力機制挖掘特征表示的潛能。在VisDrone2021數(shù)據(jù)集中,transformer編碼塊對于高密度的遮擋目標具有更好的檢測性能。


        基于YOLOv5,本文只在頭網(wǎng)絡部分應用了transformer編碼塊來構(gòu)成Transformer預測頭(TPH)和主干網(wǎng)絡的后端。因為網(wǎng)絡后端的特征圖分辨率很低,在低分辨率特征圖上應用TPH會減少昂貴的計算代價和內(nèi)存代價。此外,當對輸入圖像的分辨率放大時,作者選擇性的在早期層去掉一些TPH塊,使得訓練過程可行。


        卷積塊注意力模塊(CBAM): CBAM是一個簡單且有效的注意力模塊。這是一個輕量的模塊,可以插入到大多數(shù)主流的CNN框架中,而且可以以端到端的形式進行訓練。給定一個特征圖,CBAM連續(xù)地從空間和通道兩個分離的維度推斷注意圖,然后通過將注意圖與特征圖相乘進行自適應的特征精煉。CBAM的結(jié)構(gòu)如下圖所示。根據(jù)CBAM原文中的實驗,通過將CBAM融入到不同的模型中,在不同的分類和檢測數(shù)據(jù)集中進行實驗,模型的性能得到很大的提升,也證明了這個模塊的有效性。



        在無人機拍攝的圖片中,大范圍的區(qū)域通常包含很多使人混淆的地理元素。使用CBAM可以幫助TPH-YOLOv5提取受關(guān)注區(qū)域,減少易混淆信息并關(guān)注有用的目標信息。

        多尺度測試和模型集成:本文根據(jù)模型集成的不同角度訓練五個不同的模型。在推斷階段,作者首先在單個模型上執(zhí)行多尺度測試。多尺度測試的實現(xiàn)細節(jié)主要有以下三個步驟:1)將測試圖像放大1.3倍。2)分別將圖像減少到1倍,0.83倍和0.67倍。3)對圖像進行水平翻轉(zhuǎn)。最后,作者將六個不同的放縮圖像送入TPH-YOLOv5網(wǎng)絡中,然后使用NMS融合預測結(jié)果。

        對于不同的模型,本文采用同樣的多尺度測試,并通過WBF融合五個預測得到最終的結(jié)果。

        自訓練分類器:通過TPH-YOLOv5在VisDrone2021數(shù)據(jù)集上訓練之后,作者在test-dev集上進行測試,然后分析了一些失敗案例,總結(jié)出這個網(wǎng)絡框架又很好的定位能力但是很差的分類能力。作者進而利用混淆矩陣發(fā)現(xiàn)一些困難類別,例如三輪車和帶蓬三輪車的精度比較低。因此,本文提出一個額外的自訓練分類器。首先通過裁減ground-truth的邊界框和放縮每個圖像塊為64  64,構(gòu)建一個訓練集。然后,選擇ResNet18作為分類器網(wǎng)絡。正如實驗結(jié)果中所示,依靠自訓練分類器,本文方法得到將近0.8%~1.0%的性能提升。

        Iou閾值是0.45時的混淆矩陣,置信度閾值是0.25

        實驗:

        實驗細節(jié):Pytorch 1.8.1, NVIDIA RTX3090 GPU.

        數(shù)據(jù)分析:根據(jù)作者先前的工程經(jīng)驗,在訓練模型之前瀏覽數(shù)據(jù)集是很重要的,這對提升mAP的性能會有很大幫助。作者對VisDrone2021數(shù)據(jù)集中的邊界框進行分析,當輸入圖像的尺寸設(shè)定為1536,總共342391個標簽中有622個小于3個像素。如下圖說是,這些小目標很難識別,當用灰色正方形包圍這些小目標,并用來訓練模型,mAP提升了0.2,比沒有操作性能要好。

        實驗對比:


        消融實驗:


        單類指標:


        可視化結(jié)果:



        結(jié)論與分析:

        本文融入了很多先進的技術(shù),例如transformer的編碼塊,CBAM和一些技巧,將這些技術(shù)融入到Y(jié)OLOv5框架中,有利于航拍圖像中的目標檢測。所提方法在VisDrone2021數(shù)據(jù)集上刷新紀錄,并達到SOTA的性能。作者嘗試了大量的特征,并用其中一些來提升目標檢測器的精度。

        本文專門針對航拍圖像數(shù)據(jù)集,融入了一些技術(shù)或模塊,能夠有效提升航拍圖像目標檢測的性能,這對航拍圖像的信息理解有很重要的工程指導意義,而且也能夠?qū)ζ渌哂蓄愃茍鼍爸械膱D像處理。結(jié)合transoformer技術(shù)在CV的各個領(lǐng)域著實火了一把,但是這些方法的理論創(chuàng)新不是很大,很難有很大的理論貢獻。下次我計劃分享一篇切片輔助超推理的開源框架“Slicing Aided Hyper Inference and Fine-tuning for Small Object Detection”,且聽下次分解!


        瀏覽 45
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
          
          

            1. 美女脱了裤子让男人捅 | 人人九九精品 | 美女骚屄 | 国产精品系列在线播放 | 日韩大香蕉在线 |