劉宇晶
摘? 要: 基于Transformer的目標檢測方法因其突出的性能引起了眾多研究者的關注。文章從作為Neck的Transformer 和作為Backbone的Transformer兩類框架在目標檢測領域的研究狀況、幾種常見模型的基本原理以及在COCO 2017 ValSet上的對比實驗三個方面做出了綜述。
關鍵詞: 目標檢測; Transformer; 計算機視覺; 深度學習
中圖分類號:TP391? ? ? ? ? 文獻標識碼:A? ? ?文章編號:1006-8228(2023)05-06-05
Summary of research on target detection based on Transformer
Liu Yujing
(Information Science and Engineering, Shanxi Agricultural University, Taigu, Shanxi 030801, China)
Abstract: Transformer based target detection methods have attracted the attention of many researchers due to their outstanding performance. In this paper, the research status of Transformer as Neck and Transformer as Backbone in the field of target detection, the basic principles of several common models, and the comparative experiments on COCO 2017 ValSet are summarized.
Key words: target detection; Transformer; computer vision; deep learning
0 引言
在基于深度學習的目標檢測研究中,主要有兩種算法:單階段檢測算法和雙階段檢測算法。隨著研究者將Transformer結構從自然語言處理領域引入到計算機視覺領域,Transformer 結構打破了 CNN有限的感受野限制,憑借與Faster R-CNN相比沒有proposal、與YOLO相比沒有Anchor、與CenterNet相比沒有center也沒有NMS后處理步驟、能夠直接預測檢測框和類別的優(yōu)點,引起了廣泛的關注[1]。
基于Transformer的圖像檢測的總體框架如圖1所示。輸入的圖像首先要經過CNN骨干網絡完成特征提取工作,通過Transformer對其進行編碼和解碼,再通過前饋網絡對圖像中的對象進行預測并輸出類別邊界框。當前基于深度學習的目標檢測算法多數主要由Backbone(主干網絡)、Neck和Head三部分組成。Backbone作為特征提取網絡,主要作用是為后面網絡提取圖像中的特征信息,常用的Backbone主要有:VGG(16,19)、ResNet(18,50,100)等。Neck部分的主要作用是將Backbone提取的特征信息融合和增強,然后提供給后續(xù)的Head進行檢測,常用的Neck主要有:SPP、ASPP、RFB等。Head利用之前提取的特征來預測目標的位置和類別。最近,有大量學者將Transformer移植到目標檢測工作中并取得了非常理想的研究結果。本文主要介紹幾種常見的作為Neck的Transformer 和作為Backbone的Transformer二維目標檢測方法。
1 作為Neck的Transformer目標檢測方法
Neck作為Backbone和Head的中間部分,是由一系列混合和組合圖像特征的網絡層組成,可以從加速收斂或提高性能的角度更好的利用Backbone提取的特征解決檢測問題。
1.1 DETR
DEtection Transformer(DETR)是一種基于Transformer的端到端進行目標檢測的方法,也是最早將Transformer帶入到目標檢測領域并取得較好性能的目標檢測框架[2]。它主要由CNN主干網、Transformer編解碼結構和前饋網絡(FFN)組成。首先,采用CNN主干網絡提取輸入圖像的特征。然后,將提取的特征轉換為一維特征映射,并發(fā)送給Transformer編碼器。利用多頭自注意機制和編碼器-解碼器注意機制,對尺寸均為d的N個嵌入塊進行了轉換。最后,前饋網絡(FFN)完成檢測目標類型和邊界框的預測[3]。DETR的檢測流程如圖2所示。
在COCO數據集上,DETR在AP值上表現效果與Faster R-CNN幾乎相當,但結構卻得到了極大簡化,DETR還可延伸到全景分割等領域,經實驗驗證都取得了良好的收益。但是,DETR在訓練、優(yōu)化以及小目標檢測方面的性能還有待提高。針對這些問題,2020年10月Zhu等人在經過大量研究后提出一種新的方法:Deformable DETR,該方法能夠改進DETR存在的問題[4]。
1.2 Deformable DETR
DETR的缺陷主要有:訓練收斂較慢、計算復雜度高、訓練時間較長以及小目標檢測的性能較差。針對這些問題,研究者提出Deformable DETR這一新的模型,在Deformable DETR中,最明顯的特點是使用(多尺度)可變形注意模塊取代了原有Transformer的注意力模塊。可變形注意模塊通常只是關注特征圖上一小部分關鍵的采樣點。該模塊無需FPN的幫助就可以自然地擴展到聚合多尺度特征。Deformable DETR比DETR(特別是在小物體上)可以獲得更好的性能,訓練epoch減少到十分之一,同時小目標檢測AP值也提升3.9%,而與 Faster RCNN相比,大目標檢測AP值提高4.6%[4]。盡管該模型在訓練速度方面和小目標檢測上得到了比較明顯的改進,但在遮擋目標的檢測上仍然需要進一步研究提高檢測效果。
1.3 ATC/TSP
Zheng等人經研究提出了自適應聚類變換器ATC,該變換器的特點主要是:通過局部敏感哈希(LSH)方法聚類查詢特征,使注意力輸出廣播到可選原型表示的查詢和ATC作為取代預先訓練的DETR模型的自我注意模塊,不再需要任何再訓練。所以能夠顯著降低預訓練DETR的計算成本,同時還能保證一定的精度[5]。
Sun等人通過測試每個Transformer層中注意力圖的稀疏性,發(fā)現交叉注意收斂速度慢是導致訓練過程較長的主要原因,在此基礎上提出僅采用編碼器的TSP-FCOS和TSP-RCNN[6]。實驗結果顯示比原始DETR訓練速度更快,準確性方面也優(yōu)于DETR。
1.4 Conditional DETR
Conditional DETR將條件交叉注意機制用于快速DETR訓練,可以緩解DETR收斂速度慢的情況[7]。它從解碼器嵌入中學習條件空間查詢,用于解碼器的多頭交叉注意。每個交叉注意頭可以聚焦于包含不同區(qū)域的波段,有效縮小不同區(qū)域的空間范圍,用于定位對象分類和幀回歸,從而緩解對內容嵌入的依賴,簡化訓練。實驗表明,在各種骨干網絡(R50、R101、DC5-R50、DC5-R101)上的收斂速度約為DETR的6.7-10倍。
1.5 SMCA
為了加速DETR的收斂,SMCA將響應限制在初始估計邊界框附近的較高位置,回歸并感知DETR中的共同注意,是一種空間調制協同注意(SMCA)機制[8]。該機制通過用SMCA代替DETR中的共同注意機制來提高模型的收斂速度。算法在COCO數據集上經過實驗證明能夠實現45.6%的精確度。
1.6 UP-DETR
Dai等人提出一種針對DETR的無監(jiān)督預訓練轉換器(UP-DETR),基本思想是在圖像中隨機選擇query patch對Transformer進行預訓練,用來檢測和預測給定圖像中query patch的邊界框,該算法主要解決多任務學習和多查詢定位兩個問題,經該團隊在COCO等數據集上實驗驗證,在收斂速度和精度上UP-DETR都有效提高了DETR的性能[9]。
1.7 YOLOS
YOLOS是一系列基于樸素ViT的應用比較廣泛的目標檢測模型,將ViT中的圖像分類損失替換為bipartite matching loss,可以避免將ViT的輸出序列重新解釋為2D特征圖,并防止在標簽分配期間手動注入啟發(fā)式和對象2D空間結構的先驗知識[10]。YOLOS顯著特點 是能夠很快的適應不同的Transformer結構,進行任意尺寸的目標檢測任務,而不要求精確的空間結構或幾何結構。在COCO數據集上進行實驗,發(fā)現在中等大小數據集ImageNet上進行預訓練的YOLOS能夠取得比較高的性能。
2 作為Backbone的Transformer目標檢測方法
2.1 PVT
Wang等提出了Pyramid Vision Transformer(PVT),該模型是一種用于密集預測無CNN的簡單Backbone結構[11]。與純Transformer模型的ViT相比,PVT通過將特征金字塔結構引入Transformer結構完成如目標檢測、目標分割等下游密集預測任務。總的來說,PVT的優(yōu)勢表現在通過對圖像密集預測而獲得高輸出分辨率以及使用一個逐漸縮小的金字塔來達到減少計算量的效果。經過大量實驗驗證在COCO數據集上PVT作為通用的無卷積backbone比大部分的CNN backbone都有更好的效果[12]。
2.2 Swin transformer
Swin transformer是微軟2021年3月月25日公布的一篇利用Transformer架構處理計算機視覺任務的論文,文章提出可以把Transformer作為計算機視覺任務的通用backbone。文章在圖像分割、目標檢測等各個領域都引起了關注。Swin transformer的總體結構如圖3所示[13]。作者提出使用移動窗口的方式來減少序列長度,即hierarchical Transformer,將特征圖劃分成了多個不相交的區(qū)域(Window),并且Multi-Head Self-Attention只在每個窗口(Window)內進行。這使得計算效率更高(只在窗口內做注意力計算,而不是計算全局,計算復雜度隨圖片大小線性增長,而不是平方增長),同時這種窗口的移動也使得相鄰的窗口之間有了交互,上下層之間就具有了cross-window connection,從而變相地達到了一種全局建模的能力[13]。
Swin Transformer迅速引起學者追捧的主要原因是使用了基于 Shifted Window的自注意力,它在有效減少計算量的同時,還能夠保持良好的效果,因此對很多視覺的任務,尤其是對下游密集預測型的任務是非常有幫助的。但是如果Shifted Window操作不能用到NLP領域里,優(yōu)勢就會減弱,所以把Shifted Windows應用到 NLP里是該方向未來的研究工作。
3 對比實驗
本文統(tǒng)計了一些Transformer在COCO 2017ValSet上的目標檢測模型、骨干網絡、參數、計算和性能,作為Neck的Transformer目標檢測模型實驗對比數據如表1所示。作為Backbone的Transformer目標檢測模型實驗對比數據如表2所示。這部分旨在為研究目標檢測的研究人員提供參考。
4 結論
Transformer結構中的全局接收域解決了基于CNN方法的接收域有限的難題,所以目標檢測中引入Transformer可以節(jié)省目標檢測中NMS、區(qū)域建議等大量的人工操作過程。作為Neck的Transformer目標檢測方法,DETR是開啟了將Transformer應用于目標檢測的研究工作。YOLOS是一系列盡可能少的修改和歸納偏差的基于ViT的目標檢測模型。此外,DETR還有許多相關變體。針對DETR收斂速度慢的問題,研究人員提出了Deformable DETR以及TSP-FCOS和TSP-RCNN。Deformable DETR采用可變形卷積,有效地解決了稀疏空間定位中DETR收斂速度慢和小目標檢測精度低的問題。ACT主要緩解DETR中注意圖的冗余,以及隨著編碼器的深入,特征冗余的問題。作為Backbone的Transformer目標檢測方法,PVT提出了一個用于密集預測任務的、無CNN的簡單backbone;Swin Transformer使用了基于Shifted Window的自注意力,在保證預測效果的同時有效地減少了計算量。雖然有眾多的研究者在進行Transformer Backbone工作,但針對密集預測任務研究仍然很少,這可能成為一個未來Transformer Backbone主要的研究趨勢之一。
參考文獻(References):
[1] 祝星馗,蔣球偉.基于CNN與Transformer的無人機圖像目標檢測研究[J].武漢理工大學學報:信息與管理工程版,2022(2):44
[2] N.Carion,F.Massa,G.Synnaeve,N.Usunier,A.Kirillov,andS.
Zagoruyko[C]//End-to-endobjectdetection with transformers.Glasgow: in European Conference on Computer Vision. Springer,2020:213-229(in UK)
[3] 尹航,范文婷.基于Transformer目標檢測研究綜述[J].現代信息科技,2021,5(7):14-17
[4] X.Zhu,W.Su,L.Lu, B.Li,X.Wang,and J. Dai.
Deformabledetr: Deformable transformers for end-to-end object detection[J].arXivpreprint arXiv:2010.04159,2020
[5] M. Zheng, P. Gao, R. Zhang, K. Li, X. Wang, H. Li, and H.
Dong.End-to-end object detection with adaptive clusteringtransformer[J].arXivpreprint arXiv:2011.09315,2020
[6] Z. Sun, S. Cao, Y. Yang, and K. M. Kitani[C]//Rethinking
transformerbased set prediction for object detection.Montreal:in Proceedings of theIEEE/CVF International Conference on Computer Vision, 2021:3611-3620(in Canada)
[7] D. Meng, X. Chen, Z. Fan, G. Zeng, H. Li, Y. Yuan, L.
Sun,and J. Wang[C]//Conditional detr for fast training convergence.Montreal:inProceedings of the IEEE/CVF International Conference on ComputerVision, 2021:3651-3660(in Canada)
[8] P. Gao, M. Zheng, X. Wang, J. Dai, and H. Li.Fast
convergence of detr with spatially modulated co-attention[J].arXiv preprintarXiv:2101.07448,2021
[9] Z. Dai, B. Cai, Y. Lin, and J. Chen[C]//Up-detr:
Unsupervised pretraining for object detection with transformers.Montreal:in Proceedings of theIEEE/CVF Conference on Computer Vision and Pattern Recognition,2021:1601-1610(in Canada)
[10] Y. Fang, B. Liao, X. Wang, J. Fang, J. Qi, R. Wu, J. Niu,
and W. Liu.You only look at one sequence: Rethinking transformer in visionthrough object detection[J].arXiv preprint arXiv:2106.00666, 2021
[11] W. Wang, E. Xie,X. Li, DP Fan, L. Shao.Pyramid Vision
Transformer: A Versatile Backbone for Dense Prediction without Convolutions[J].arXiv:2102.12122,2021
[12] K. He,X. Zhang, et al. Deep residual learning for image
recognition.Las Vegas: In CVPR,2016:770-778(in USA)
[13] Z. Liu et al. Swin transformer: Hierarchical vision
transformer usingshifted windows.Montreal: In ICCV,2021:10012-10022(in Canada)