YotoR:融合 Swin Transformer 和YoloR 的混合架構(gòu),提升目標(biāo)檢測性能
本文經(jīng)計算機(jī)視覺研究院公眾號授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。
- 論文地址:https://arxiv.org/pdf/2405.19629
PART/1
摘要
Transformers是自然語言處理領(lǐng)域的一項革命性技術(shù),它也對計算機(jī)視覺產(chǎn)生了重大影響,有可能提高準(zhǔn)確性和計算效率。YotoR將堅固的Swin Transformer主干與YoloR頸部和頭部相結(jié)合。在實(shí)驗(yàn)中,YotoR模型TP5和BP4在各種評估中始終優(yōu)于YoloR P6和Swin Transformers,比Swin Transformer模型提供了改進(jìn)的目標(biāo)檢測性能和更快的推理速度。這些結(jié)果突出了進(jìn)一步的模型組合和改進(jìn)Transformer實(shí)時目標(biāo)檢測的潛力。最后強(qiáng)調(diào)了YotoR的更廣泛含義,包括它在增強(qiáng)基于Transformer的圖像相關(guān)任務(wù)模型方面的潛力。
PART/2
背景&動機(jī)
在過去的十年里,卷積神經(jīng)網(wǎng)絡(luò)徹底改變了計算機(jī)視覺應(yīng)用,實(shí)現(xiàn)了目標(biāo)檢測、圖像分割和實(shí)例分割等任務(wù)求解。盡管近年來卷積網(wǎng)絡(luò)主干得到了改進(jìn),甚至在一些任務(wù)上超過了人類的性能,但Transformer在計算機(jī)視覺任務(wù)中的使用在幾年內(nèi)仍然難以捉摸。Transformer在計算機(jī)視覺任務(wù)中的首次應(yīng)用于2020年提出。然而,由于圖像的高分辨率,Transformers的使用僅限于圖像分類等低分辨率應(yīng)用。像物體檢測這樣的高分辨率任務(wù)需要開發(fā)更專業(yè)的Transformer架構(gòu),比如Swin Transformer,它通過動態(tài)改變注意力窗口來規(guī)避變形金剛的計算限制,并允許它們用作多視覺任務(wù)的通用主干。此外,基于DETR等Transformer的目標(biāo)檢測頭在以前由卷積神經(jīng)網(wǎng)絡(luò)主導(dǎo)的任務(wù)中已經(jīng)成為最先進(jìn)的。
另一方面,以Yolo/YoloR家族為例的實(shí)時目標(biāo)檢測器對于依賴高幀率的任務(wù)(如自動駕駛)或受有限硬件資源限制的平臺上的任務(wù)仍然是必不可少的。盡管計算機(jī)視覺的Transformer最近取得了進(jìn)展,但實(shí)時物體檢測主要依賴于卷積神經(jīng)網(wǎng)絡(luò)。它們在特征提取中建立的可靠性和計算效率一直是Transformers需要克服的挑戰(zhàn)。然后,將Transformer與類Yolo目標(biāo)檢測器相結(jié)合,可以提供能夠?qū)崿F(xiàn)高幀率和高檢測精度的新型架構(gòu)。
PART/3
新框架
多任務(wù)架構(gòu)的使用前景看好,因?yàn)樗鼈兛梢哉隙喾N信息模態(tài)以提高所有任務(wù)的性能。然而,設(shè)計能夠在實(shí)時中執(zhí)行多任務(wù)的建筑結(jié)構(gòu)是具有挑戰(zhàn)性的,因?yàn)槭褂妹總€任務(wù)的網(wǎng)絡(luò)集合會負(fù)面影響系統(tǒng)的運(yùn)行時間。
在這項工作中,引入了一系列網(wǎng)絡(luò)體系結(jié)構(gòu),將Swin Transformer主干與YoloR頭融合在一起。受Yolo命名法的啟發(fā),這些架構(gòu)被命名為YotoR:You Only Transform One Representation。這反映了使用由Transformer塊生成的單一統(tǒng)一表示,該表示通用且適用于多個任務(wù)。該提案背后的想法是使用強(qiáng)大的Swin Transformers特征提取來提高檢測精度,同時還能夠通過使用YoloR頭以快速推理時間解決多個任務(wù)。
Backbone
與YoloR及其基本模型P6之間的關(guān)系類似,YotoR TP4是YotoR模型的起點(diǎn),代表了最基本的組件組合。使用不變的SwinT主干也有一個顯著的優(yōu)勢,可以應(yīng)用遷移學(xué)習(xí)技術(shù)。這是因?yàn)?,通過不改變Swin Transformer的結(jié)構(gòu),可以使用其創(chuàng)建者公開提供的重量。這簡化了將預(yù)先訓(xùn)練的Swin-Transformer權(quán)重轉(zhuǎn)移到其他數(shù)據(jù)集的過程,加快了訓(xùn)練過程并提高了性能。
Head
為了構(gòu)建YoloR模型,決定以Scaled YoloV4的架構(gòu)為基礎(chǔ)。特別是,他們從YoloV4-P6光作為基礎(chǔ)開始,并依次對其進(jìn)行修改,以創(chuàng)建不同版本的YoloR:P6、W6、E6和D6。這些版本之間的變化如下:
–YoloR-P6:用SiLU替換了YoloV4-P6-light的Mish激活功能
–YoloR-W6:增加了主干塊輸出中的通道數(shù)量
–YoloR-E6:將W6的通道數(shù)乘以1.25,并用CSP卷積代替下采樣卷積
–YoloR-D6:增加了骨干的深度
YotoRmodels
選擇YotoR模式進(jìn)行實(shí)施涉及到兩個重要方面。首先,分析了Swin Transformer主干生成的特征金字塔尺寸與YoloR頭所需尺寸之間的差異。這些維度之間的顯著差異可能會在網(wǎng)絡(luò)中造成瓶頸,從而限制其性能。其次,為了調(diào)整連接,Swin Transformer的功能必須重新整形為帶有注意力圖的圖像。然后將其歸一化并通過1×1卷積來調(diào)整通道的數(shù)量。這樣做是為了使YoloR頭具有與DarknetCSP主干相同的功能大小,并軟化連接之間的信息瓶頸。
顯示了YotoR BP4體系結(jié)構(gòu)。它介紹了STB(Swin Transformer Block),代表了不同YotoR架構(gòu)中使用的Swin TransformerBlock。此外,在這些組件之間還包含一個線性嵌入塊。這個線性嵌入塊來自用于目標(biāo)檢測的Swin Transformer實(shí)現(xiàn),并在沒有更改的情況下被合并到Y(jié)otoR實(shí)現(xiàn)中。之所以選擇這四個模型,是因?yàn)樗鼈冇蒠oloR和Swin Transformer的基本架構(gòu)組成,從而可以進(jìn)行有效的比較來評估所提出的模型的有效性。雖然考慮了對YotoR BW4或YotoR BW 5等大型模型進(jìn)行訓(xùn)練和評估,但V100 GPU的資源限制使此選項不可行。
PART/4
實(shí)驗(yàn)及可視化
訓(xùn)練參數(shù):
左圖:val2017和testdev的圖片。右圖:YotoR BP4的預(yù)測。
與開始時的狀態(tài)比較(批次=1,GPU=V100)。*表示我們自己使用16GBV100GPU確認(rèn)的測量結(jié)果