趙 亮 周繼開
目前計算機視覺領域使用的方法有兩大類,分別是卷積神經(jīng)網(wǎng)絡(Convolutional neural networks,CNN)和Transformer.其中CNN 是圖像分類[1]、目標檢測[2]和語義分割[3]等計算機視覺任務的主流方法,自AlexNet[4]誕生并在ImageNet 圖像分類挑戰(zhàn)中獲得冠軍以后,研究者們開始通過各種方法設計卷積神經(jīng)網(wǎng)絡,使得網(wǎng)絡變得更深、更密集、更復雜[5-8],在隨后的幾年內(nèi)出現(xiàn)了很多經(jīng)典的卷積神經(jīng)網(wǎng)絡.VGGNet[5]探索了CNN 的深度及性能之間的關系,通過使用很小的卷積疊加增加網(wǎng)絡的深度達到提升網(wǎng)絡精度的效果;DenseNet[6]通過從特征圖的角度入手,為每一個模塊加入密集連接達到了更好的性能和更少的參數(shù)量;ResNet[7]通過引入殘差結構解決了隨著網(wǎng)絡層數(shù)的加深出現(xiàn)梯度消失的問題;GoogLeNet[9]使用密集成分來近似最優(yōu)的稀疏結構,在提升性能的同時不增加計算量;EfficientNet[10]提出了一種多維度混合的模型縮放方法,可以同時兼顧模型的精度以及速度.在CNN 模型性能越來越強的同時,另一類視覺Transformer的方法橫空出世.Transformer 由于其自注意力模塊具有捕捉長距離依賴[11]的能力廣泛被應用于自然語言處理的任務中,而后被用到了計算機視覺任務中并取得了比CNN 方法更優(yōu)的效果.在文獻[12-15]中將自注意力模塊嵌入到CNN 中并應用于圖像分類、目標檢測和語義分割等計算機視覺任務中.Vision Transformer (ViT)[16]不使用卷積神經(jīng)網(wǎng)絡而是通過將圖像序列化的方法首次將Transformer 架構應用到圖像領域中,并且在ImageNet 數(shù)據(jù)集上取得了比ResNet 更好的效果,而后在短時間內(nèi)被引入改進[17-20]并應用于各種圖像領域的各種下游任務[21-24].但是Transformer 的復雜度成為了其性能最大的瓶頸,為了減小因全局自注意力引起的二次復雜度,現(xiàn)有的方法較多使用局部自注意力機制.目前現(xiàn)有的局部自注意力機制主要有7 類(如圖1 所示).
圖1 現(xiàn)有局部自注意力方法Fig.1 Existing local self-attention methods
1)目前幾乎所有的基于局部自注意力的Transformer 模型都會使用常規(guī)窗口自注意力(Windowmulti-head self-attention,W-MSA),通過W-MSA與其他類型的局部自注意力交替使用來建立窗口之間的通信,如圖1(a)所示.
2)HaloNet[25]通過對窗口進行縮放的操作來收集窗口之外的信息并建立跨窗口的信息交互,如圖1(b)所示.
3)Swin Transformer 通過在連續(xù)的局部注意力層之間移動窗口的分區(qū)建立跨窗口之間的信息通信緩解感受野受限的問題,如圖1(c)所示.
4)CrossFormer[26]提出了跨尺度嵌入層和長短注意力,有效地建立了長遠距離的跨窗口的連接.
5)Shuffle Transformer[27]在連續(xù)的局部自注意力層之間加入空間shuffle 的操作,以提供長距離窗口之間的連接并增強建模能力.
6)GG Transformer[28]受到了人類在自然場景中識別物體的Glance 和Gaze 行為的啟發(fā),能夠有效地對遠程依賴性和局部上下文進行建模,4)~6)這3 種局部注意力可統(tǒng)一歸為圖1(d)的形式.
7)Axial-DeepLab[29]將二維自注意力分解為橫向和縱向兩個一維的自注意力,如圖1(e)所示.
8)CSWin Transformer[30]提出了一種在“十”字等寬窗口內(nèi)計算自注意力的方式(Cross-shaped window self-attention),通過橫條和縱條窗口自注意力并行實現(xiàn),如圖1(f)所示.
9)Pale Transformer[31]提出了“十”字等間隔窗口自注意力(Pale-shaped-attention,PS-Attention),如圖1(g)所示.
圖1 展示了現(xiàn)有的局部自注意力方法.不同的顏色表示不同的窗口,在每個窗口內(nèi)執(zhí)行計算自注意力,并通過引入各種策略來建立跨窗口之間的連接.這些工作雖然取得了優(yōu)異的性能,甚至優(yōu)于一些最新的CNN 的方法,但是每個自注意力層中的依賴性仍然具有局限性,具體表現(xiàn)在當特征圖很大時,通過有間隔的采樣點組成的窗口無法建立所有窗口之間的信息流動導致了模型捕獲的上下文語義信息的能力不足.針對上述問題,本文提出了一種高斯窗口自注意力機制(Gaussian window-multihead self-attention,GW-MSA),它包括縱向高斯窗口自注意力(Vertical Gaussian window-multihead self-attention,VGW-MSA)和橫向高斯窗口自注意力(Horizontal Gaussian window-MSA,HGW-MSA)兩種類型的局部自注意力.GW-MSA與圖1(d)中的Shuffled W-MSA 聯(lián)合組成了SGWMSA,有效地捕捉更豐富的上下文依賴,如圖2 所示,不同顏色的點代表不同的窗口組成,在GW-MSA中,通過混合高斯權重重組GWR 策略重構特征圖,并在重構后的特征圖上計算局部自注意力.本文在Swin Transformer 結構的基礎上,引入SGW-MSA 設計了SGWin Transformer 模型,在公開數(shù)據(jù)集CIFAR10、mini-imagenet、KITTI、PASCAL VOC和MS COCO 上進行了實驗,實驗結果表明SGWin Transformer 在圖像分類和目標檢測的任務上優(yōu)于其他同等參數(shù)量的基于局部自注意力的Transformer 網(wǎng)絡.
圖2 局部自注意力組合Fig.2 Local self-attention combination
Swin Transformer 提出了一種新的基于Transformer 的視覺主干網(wǎng)絡,自注意力的計算在局部非重疊窗口內(nèi)進行.一方面可以將復雜度從之前的和圖像大小成平方的關系變成線性關系,并且采用非重疊局部窗口,大大減小了計算量;另一方面在不同的注意力層之間采用移動窗口的操作,使得不同窗口之間的信息可以交換.并且由于性能超越了參數(shù)量相似的CNN 主干,推動了Transformer 成為了視覺主干網(wǎng)絡的新主流,在近兩年出現(xiàn)了越來越多基于局部自注意力機制的視覺Transformer 方法,然而目前的各種局部自注意力建立遠距離跨窗口連接策略具有一定的局限性.當特征圖很大時,現(xiàn)有的窗口連接的策略無法建立所有窗口之間的信息流動導致無法捕捉足夠的上下文信息.假設特征圖的高和寬分別為h和w,局部窗口的高和寬分別為Wh和Ww,對于特征圖上劃分的某一個局部窗口,該窗口在縱向和橫向可以建立最近窗口連接的距離分別為:
在縱向和橫向可以建立最遠窗口連接的距離分別為:
為了解決當特征圖過大時現(xiàn)有的局部自注意力機制無法建立所有窗口之間的信息交互的問題,本文提出了一種新的局部自注意力機制SGW-MSA,并在Swin Transformer 的基礎上將所有的移動窗口自注意力SW-MSA 替換為SGW-MSA 得到一種新的SGWin Transformer 模型,模型的整體架構如圖3(a)所示.主干網(wǎng)絡符合標準的視覺分層Transformer 的PVT[32]的結構,該設計包含了4 個階段的金字塔結構,每個階段由Patch embed 或Patch merging 和多個SGWin Transformer block 串聯(lián)組合而成.如圖3(b)所示,每個SGWin Transformer block 由兩組結構串聯(lián)組成,第一組結構包括一個W-MSA 模塊和一個MLP,第二組結構由一個SGW-MSA 模塊和一個MLP 模塊組成,MLP 對輸入特征圖進行非線性化的映射得到新的特征圖,SGW-MSA 局部自注意力機制的示意圖如圖3(c)所示.整個模型的計算過程為: 輸入圖片通過Patch embed 將輸入圖像下采樣4 倍,并得到指定通道數(shù)的特征圖,特征圖會被送入Stage 1 的SGWin Transformer block 中,通過W-MSA、SGW-MSA 模塊提取局部特征和圖像中的上下文信息并建立所有窗口之間的信息流通,Stage 1 最后一個SGWin Transformer block 的輸出會被送入Stage 2 中,除Stage 1 之外的所有Stage 會通過一個Patch merging 將上一個階段輸出的特征圖尺寸降采樣兩倍(寬和高變?yōu)樵瓉淼亩种?,通道維度變?yōu)樵瓉淼膬杀?整個網(wǎng)絡之后可以接一個Softmax 層和一個全連接層用于圖像分類任務,并且每個階段的特征圖可輸入到目標檢測的FPN[33]部分中進行多尺度目標檢測.
圖3 SGWin Transformer 整體架構Fig.3 Overall architecture of SGWin Transformer
當出現(xiàn)式(5)或式(6)中的情況時,兩個窗口之間的縱(橫)向距離大于一定值時就無法建立連接.當出現(xiàn)式(7)中的情況時,兩個窗口之間的縱(橫)向距離大于或小于一定值時都無法建立連接.因此式(7)中的問題包含式(5)和式(6)存在的問題.僅考慮式(7)中的情況,將縱向無法建立窗口連接的兩個距離分別記為,將橫向無法建立窗口連接的兩個距離分別記為.如圖4所示,為了能夠建立所有窗口之間的信息交互,SGWMSA 將輸入特征圖在通道上均勻拆分成3 組,對第一組特征圖使用現(xiàn)有的Shuffled W-MSA 等間隔采樣點組成窗口用于縱(橫)向距離大于且小于窗口之間的聯(lián)系;后兩份特征圖分別使用橫向高斯窗口自注意力HGW-MSA 和縱向高斯窗口自注意力VGW-MSA 計算局部自注意力,建立Shuffled W-MSA 未能建立的窗口的聯(lián)系.最后將3 個部分的局部自注意力計算結果在通道上進行合并得到最終的輸出結果.
圖4 SGW-MSA 局部自注意力示意圖Fig.4 SGW-MSA local self-attention diagram
1.3.1 GW-MSA 局部自注意力機制
GW-MSA 可用于建立Shuffled W-MSA 未能建立的窗口連接,分為VGW-MSA 和HGW-MSA兩種不同的形式.如圖5 所示,每個形式的GW-MSA由混合高斯權重重組GWR 模塊、常規(guī)局部自注意力W-MSA 和逆混合高斯權重重組(re Gaussian weight recombination,reGWR)模塊3 個部分組成,其中GWR 是本文為了建立縱(橫)向距離小于窗口之間的信息交互提出的一種特征圖重組的策略.
圖5 GW-MSA 局部自注意力示意圖Fig.5 GW-MSA local self-attention diagram
假設特征圖的高和寬分別為h和w,局部窗口的高和寬分別為Wh和Ww.GWR 會將輸入特征圖劃分成多個長條形狀的基礎元素塊(Basic element block,BEB),計算縱向的VGW-MSA 時將特征圖按高切分成若干份高寬分別為Wb(Wb 圖6 縱橫向基礎元素塊示意圖Fig.6 Schematic diagram of vertical and horizontal basic element block 為所有的基礎元素塊建立高斯權重分布表,結合高斯權重分布表盡可能使距離小于或者大于的基礎元素塊放在一起用于重組特征圖.然后在重組后的特征圖上使用W-MSA 計算局部自注意力.高斯權重分布表由一維高斯分布公式得到: 式中A代表權重的幅值,μ表示均值,σ2為方差.GWR 策略的思想就是根據(jù)高斯分布的特性.如圖6(c)和圖6(d)所示,縱向基礎元素塊越靠近圖像上邊緣或下邊緣,權重越小;橫向基礎元素塊越靠近左邊緣和右邊緣,權重越小.權重越高的基礎元素塊對應圖像中的位置顏色越亮,代表對應位置的權重越高;權重越低的基礎元素塊對應圖像中的位置顏色越暗,代表對應位置的權重越低.將特征圖上的每一個基礎元素塊看作一個點,以特征圖中心的基礎元素塊為原點建立坐標系,依據(jù)每個基礎元素塊在坐標系中的位置可以被賦予一個對應的高斯分布權重,縱(向和橫向的中心基)礎元素塊的位置坐標記為,對于任意x位置下的基礎元素塊對應的高斯權重分布遵循下式: 式中的σ取值為1.5,分子部分除以cx是為了控制權重不會過小而約等于0.為了盡可能將權重近似的基礎元素塊放在一起,本文采用了帶權重的隨機抽樣A-ExpJ[34]依據(jù)每一個基礎元素塊的索引以及對應的權重進行隨機抽樣,最后將所有基礎元素塊的索引按照抽樣的順序進行排列得到新的重組后的特征圖.假設將特征圖劃分成基礎元素塊的序列索引為idx=[1,2,···,n],其中n=h/Wb或w/Wb;基礎元素塊的高斯權重分布表為W=[W1,W2,···,Wn],其中n=h/Wb或w/Wb;重組的索引idxnew可以由式(10)得到,其中n表示通過權重抽樣的個數(shù).A-ExpJ 表示帶權重的隨機抽樣函數(shù).最后按照新的基礎元素塊的索引對特征圖進行重組得到GWR策略的輸出結果. 1.3.2 SGW-MSA 的計算過程 假設輸入特征圖為X∈Rh×w×c,SGW-MSA首先將輸入特征圖X在通道上切分成3 個部分,第一個部分的特征圖記為,第二個部分的特征圖記為,第三個部分的特征圖記為.對XS使用Shuffled W-MSA在特征圖上使用等間隔采樣點組成窗口,并在所有的窗口內(nèi)部計算自注意力.對XV和XH分別使用縱向和橫向的GWR 策略對特征圖進行重組,并在重組的特征圖上使用W-MSA 計算局部自注意力.具體計算過程如下. 首先在XS上通過等間隔采樣特征點形成多個具有相同尺寸 (Wh,Ww)的窗口: 每一個窗口內(nèi)部單獨計算局部自注意力.在計算局部自注意力時,使用3 個全連接層?Q,?K,?V計算得到Q (Qurey),K (Key),V (Value),計算式如下: 其中i∈[1,2,···,N],MSA表示Multi-head selfattention[33].最后將所有的局部自注意力的計算結果在空間上進行合并得到新的特征圖: 因為GWR 策略將原有的特征圖根據(jù)新的基礎元素塊的順序進行了重組,所以需要將YV和YH依據(jù)原先的基礎元素塊的順序進行還原.將兩個部分的局部自注意力計算結果在通道上進行合并,得到最終的輸出結果,如式(20)所示,其中Concat表示在通道上進行合并. 1.3.3 計算復雜度分析 對于給定的尺寸為Rh×w×c的特征圖,局部窗口的尺寸為 (Wh×Ww),用O表示復雜度.標準的全局自注意力(Global self-attention)的計算復雜度如式(21)所示: SGW-MSA 的計算復雜度如式(22)所示 其中Ww,Wh分別為局部窗口的寬和高.對比式(9)和式(10),因為SwSh ?hw,所以OSGW?OGlobal,即SGW-MSA 的計算復雜度遠小于全局自注意力的計算復雜度. SGWin Transformer block 由兩組結構串聯(lián)組成.如圖7 所示,第一組結構包括一個W-MSA 模塊和一個多層感知機模塊MLP,第二組結構由一個SGW-MSA 模塊和一個MLP 模塊組成,MLP對輸入特征圖進行非線性化的映射得到新的特征圖,W-MSA 用于捕捉特征圖的局部自注意力,SGW-MSA 用于捕捉局部自注意力并建立所有窗口之間的信息流通.整個SGWin Transformer block的向前傳播式如下: 圖7 SGWin Transformer block 結構示意圖Fig.7 Structure diagram of SGWin Transformer block 其中xl-1為前一個Patch embed 或者Patch merging 或者SGWin Transformer block 的輸出,和xl分別代表(SG)W-MSA 模塊和MLP 模塊的輸出,LN 代表LayerNorm. SGWin Transformer 的超參數(shù)配置與Swin Transformer 相同,如表1 所示.其中Stage=i表示SGWin Transformer 模型的第i個階段.Stride表示SGWin Transformer 模型在每個階段下采樣的倍數(shù).Layer 表示當前階段的模塊名字,一個階段包含兩個模塊,Patch embed 和Patch merging 負責對特征圖進行下采樣,下采樣的倍數(shù)分別為4 和2,Patch embed 和Patch merging 的輸出會被送入后續(xù)的Transformer block 中提取局部自注意力并進行特征的映射,在最后一個Transformer block后接一個平均池化層和全連接層可用于圖像分類任務,或者將每一層的特征圖輸出可用于目標檢測任務.模型的第i個Stage 的模型的超參數(shù)定義如下: 表1 SGWin Transformer 的超參數(shù)配置表Table 1 Super parameter configuration table of SGWin Transformer 1)Pi.第i個Stage 的輸入特征圖下采樣的倍數(shù),第一個Stage 下采樣的倍數(shù)是4,其余3 個Stage 的下采樣倍數(shù)為2; 2)Ci.第i個Stage 的輸入特征圖下采樣后新特征圖的通道數(shù); 3)Si.第i個Stage 的Transformer block 中計算局部自注意力的窗口大小; 4)Hi.第i個Stage 的Transformer block 中多頭自注意力機制的Head 數(shù)量; 5)Ri.第i個Stage 的Transformer block 中MLP 模塊的通道擴展比. 本文分別在圖像分類數(shù)據(jù)集CIFAR10[35]以及目標檢測數(shù)據(jù)集KITTI[36]、PASCAL VOC[37]、MS COCO[38]上進行了實驗,與其他參數(shù)量相似且具有代表性的基于局部自注意力的Transformer 的模型進行了對比,并通過消融實驗分析驗證了本文提出的局部自注意力機制SGW-MSA 模塊的有效性. 熱力圖通常是對類別進行可視化的圖像,表示著模型特征提取的能力.圖8 展示了本文算法與基線算法Swin Transformer 的熱力圖對比,第一行是原圖,第二行是Swin Transformer 的熱力圖,第三行是SGWin Transformer 的熱力圖.(a)、(b)、(c)列的對比可以看出SGWin Transformer 比Swin Transformer 熱力圖覆蓋的目標范圍更全面;(d)列的對比可以看出SGWin Transformer 比Swin Transformer 的定位更準確且小目標檢測能力更強.所以SGWin Transformer 算法比Swin Transformer 算法的目標定位更加準確,也驗證了本文提出的SGW-MSA 局部自注意力機制的有效性.此外SGWin Transformer 對小目標檢測的性能也有一定提升. 圖8 本文算法與Swin Transformer 的熱力圖對比Fig.8 Comparison between the algorithm in this paper and the thermal diagram of Swin Transformer 為了驗證SGW-MSA 模塊的有效性,首先在MS COCO 數(shù)據(jù)集上進行了消融實驗分析.實驗使用mmdetection[39]目標檢測庫以及Mask R-CNN[40]目標檢測框架,將主干網(wǎng)絡替換為Swin Transformer,然后依次將本文改進的策略加入到Swin Transformer 中進行實驗,優(yōu)化器采用對超參數(shù)不敏感的AdamW[41]優(yōu)化算法更新參數(shù),訓練Epoch為12,初始學習率為1×10-4,在第8 Epoch 和第11 Epoch 結束時分別衰減10 倍,評價指標采用目標檢測平均精度APb以及實例分割平均精度APm. 2.2.1 GWR 策略超參數(shù)消融實驗分析 GWR 策略通過橫條和豎條狀的基礎元素塊重組特征圖來建立距離小于的窗口的連接,對于基礎元素塊的寬度Wb的設置會直接影響重組后的特征圖的結果,也會對網(wǎng)絡的性能造成影響.為了驗證Wb(Wb小于局部窗口的寬和高)的最佳取值,本文在默認窗口大小為7×7的情況下,Wb的值從1 到6 取值進行對比實驗,在不使用預訓練模型的情況下,實驗結果如表2 所示. 表2 基礎元素塊寬度消融實驗對比Table 2 Comparison of ablation experiments of basic element block width 從表2 中可以看出當基礎元素塊的寬度Wb從1 到6 改變的過程中,在1 到4 的區(qū)間內(nèi)精度呈現(xiàn)上升趨勢,在4 到6 區(qū)間內(nèi)精度呈現(xiàn)下降趨勢,在取值為4 時模型的精度達到了最高,達到了最好的效果,所以本文的GWR 策略中基礎元素塊的寬度確定為4. 2.2.2 縱向VGW-MSA 與橫向HGW-MSA 的消融實驗分析 在驗證GW-MSA 局部自注意力中包含的縱向VGW-MSA 和橫向HGW-MSA 的有效性時,本文依次將基線算法Swin Transformer 的SW-MSA替換為Shuffled W-MSA、Shuffled W-MSA+VGWMSA、Shuffled W-MSA+VGW-MSA+HGWMSA,逐步驗證每個模塊的有效性,在不使用預訓練模型的情況下,實驗結果如表3 所示. 表3 SGW-MSA 消融實驗結果Table 3 SGW-MSA ablation experimental results 從表3 中可以看出本文算法的基線模型Swin Transformer 使用SW-MSA 局部自注意力的目標檢測和實例分割的平均精度分別為30.8%和29.5%;將SW-MSA 替換為Shuffled W-MSA 后精度分別提升了2.8%和2.1%;將SW-MSA 替換為Shuffled W-MSA 與縱向高斯窗口自注意力VGW-MSA 的結合后精度分別提升了1.3%和1.1%;將SW-MSA替換為SGW-MSA (Shuffled W-MSA+VGWMSA+HGW-MSA)后精度分別提升了1.4% 和1.0%.這些消融實驗的數(shù)據(jù)進一步驗證了本文提出的SGW-MSA 局部自注意力機制的有效性. 2.2.3 三種局部自注意力特征圖融合的消融實驗與分析 為了更直觀地感受到SGW-MSA 聯(lián)合3 種自注意力機制的優(yōu)勢,選用ImageNet 中的圖像分別可視化3 種局部自注意力機制的注意力熱力圖.輸入圖像采用 224×224 像素的尺寸,每一個stage 中特征圖的尺寸分別為 56×56,28×28,14×14,7×7,越靠后的stage 可視化出的熱力圖覆蓋的物體范圍越大、效果越好,但是考慮到最后一個stage 特征圖的尺寸為7×7 等于局部自注意力機制的窗口大小,此時的三個局部自注意力全部退化為全局自注意力.因此選取第3 個stage 中最后一個SGWin Transformer block 中SGW-MSA 的3 個自注意力的熱力圖進行可視化對比.融合效果示意圖如圖9 所示. 圖9 融合效果示意圖Fig.9 Schematic diagram of fusion effect 圖9 展示了各部分注意力機制的輸出結果.可以看到每一種注意力的關注部分都有所不同.Shuffled W-MSA 建立固定距離的窗口連接,對跳躍的關注目標和周圍信息的聯(lián)系比較敏感.VGWMSA 建立縱軸上任意距離的窗口連接,對目標和縱向背景之間的聯(lián)系比較敏感.HGW-MSA 建立橫軸上任意距離的窗口連接,更關注目標和橫向背景之間的聯(lián)系.因此,相比于單一的局部自注意力機制,SGW-MSA 通過融合3 種自注意力機制的方式,具有更優(yōu)秀的上下文信息提取能力. 2.3.1 CIFAR10 圖像分類實驗 CIFAR10 數(shù)據(jù)集包含60000 張尺寸為 32 的彩色圖片,分為10 個類別,每一個類別有6000 張圖像.分為訓練集50000 張,測試集10000 張.本文在訓練集上訓練模型,并用測試集測試輸出的Top1 準確率(排名第一的類別與實際結果相符的準確率).在訓練模型時,采用PyTorch 深度學習框架和Timm 圖像分類庫,優(yōu)化器采用了對超參數(shù)不敏感的AdamW[42],學習率采用余弦退火[43]的方式,初始的學習率設置為 1 ×10-3,最小學習率為1×10-6,warmup 學習率為 1 ×10-4,warmup Epoch設置為3,權重衰減率為 2 ×10-5,動量為0.9,數(shù)據(jù)增強采用隨機裁剪和水平隨機翻轉(zhuǎn).訓練總輪數(shù)為130 Epoch,在120 個Epoch 之后保持最低學習率繼續(xù)訓練10 Epoch.損失函數(shù)采用標準的交叉熵分類損失函數(shù).在不使用預訓練模型的情況下,所有的模型均在一張RTX2070 的GPU 上訓練,基礎配置采用表1 中的配置.因為CIFAR10 數(shù)據(jù)集中的圖像較小,所以配置中的窗口大小Si設置為3;4 個階段的通道數(shù)Ci分別對應 [32,64,128,256];4 個階段Transformer block 的Head 數(shù)量Hi分別設置為[2,4,8,16];SGWin Transformer 的基礎元素塊的寬度Wb設置為1.表4 展示了參與對比的模型在CIFAR10 數(shù)據(jù)集上的實驗結果.可以看出本文所設計的SGWin Transformer 在參數(shù)量相當?shù)那闆r下的性能明顯優(yōu)于現(xiàn)有具有代表性的其他基于局部自注意力的Transformer 模型.Top1 準確率比目前最先進的Pale Transformer 提升0.41%,相比于基線算法Swin Transformer,SGWin Transformer 在參數(shù)量相同的情況下,僅僅通過替換SWMSA 為SGW-MSA 就達到了5.2%的提升,驗證了本文設計的SGW-MSA 的有效性. 表4 CIFAR10 數(shù)據(jù)集上的Top1 精度對比Table 4 Top1 accuracy comparison on CIFAR10 dataset 2.3.2 mini-imagenet 數(shù)據(jù)集上的實驗 本文還在mini-imagenet 數(shù)據(jù)集上進行了實驗.mini-imagenet 數(shù)據(jù)集包含60000 張圖像,分為100 個類別,每張圖像的寬高中的長邊均為500 個像素,每個類別的圖像大約有6000 張.將50000張圖像作為訓練集,10000 張圖像作為驗證集,訓練模型的設置基本與第2.3.1 節(jié)中的CIFAR10 數(shù)據(jù)集相同,不同的是模型的超參數(shù)配置采用表1 中的配置,訓練的Epoch 數(shù)為100.SGWin Transformer的基礎元素塊的寬度Wb設置為4.表5 展示了參與對比的模型在mini-imagenet 數(shù)據(jù)集上的實驗結果.從表5 中的結果可以看出本文算法相比于基線Swin Transformer 提升了5.1%,同時比最先進的Pale Transformer 提升了0.67%.證明了SGW-MSA的有效性. 表5 mini-imagenet 數(shù)據(jù)集上的Top1 精度對比Table 5 Top1 accuracy comparison on mini-imagenet dataset 2.4.1 MS COCO 數(shù)據(jù)集上的實驗結果 本文使用mmdetection 庫以及Mask R-CNN目標檢測框架,將主干網(wǎng)絡替換為所有具有代表性的基于局部窗口自注意力的Transformer 模型,并與本文的方法進行了對比,采用AdamW 優(yōu)化器更新網(wǎng)絡參數(shù),訓練周期為36 Epoch,設置初始學習率為 1 ×10-4,在第27 Epoch 和33 Epoch 結束之后分別衰減10 倍.所有的模型均不使用預訓練模型.實驗結果如表6 所示.其中Params (M)代表模型的參數(shù)量,FLOPs (G)代表模型的計算復雜度.可以看出本文提出的SGWin Transforemr 算法達到了45.1%的mAP,相比于目前最先進的Pale Transformer 模型提升1.8%,并且在參數(shù)量不變的情況下比基線算法Swin Transformer 提升了5.5%.此外,SGWin Transformer 在實例分割上也具有一定的提升,比最先進的Pale Transformer 提升了1.3%,比基線算法Swin Transformer 提升了4.2%,也驗證了本文提出的SGW-MSA的有效性.此外使用mmdetection 庫以及Cascade R-CNN[44]目標檢測框架,除訓練周期外實驗配置如同上述的Mask RCNN,訓練周期設置為11 Epoch,初始學習率為1×10-4,在第8 Epoch和11 Epoch 結束后分別衰減10 倍.實驗結果如表7所示.本文提出的SGWin Transformer 算法達到42.9% (APb)和37.8% (APm),相比于Pale Transformer 模型分別提升了1.4%和1.7%,并且在參數(shù)量不變的情況下比基線算法Swin Transformer 分別提升了5.1%和4.4%.證明了SGWMSA 的有效性. 表6 以Mask R-CNN 為目標檢測框架在MS COCO 數(shù)據(jù)集上的實驗結果Table 6 Experimental results on MS COCO dataset based on Mask R-CNN 表7 以Cascade R-CNN 為目標檢測框架在MS COCO 數(shù)據(jù)集上的實驗結果Table 7 Experimental results on MS COCO dataset based on Cascade R-CNN 為了更直觀地展示SGWin Transformer 的有效性,本文選取MS COCO 測試集的圖像進行檢測并將結果進行可視化,如圖10 所示.以Cascade RCNN 為目標檢測框架,分別將Swin Transformer以及SGWin Transformer 作為主干網(wǎng)絡進行檢測.從圖中可以看出,SGWin Transformer 相比于基線算法檢測到了更多的小目標(如圖10(a)中心的人和車,如圖10(b)中心處的綿羊)和遮擋目標(圖10(c)最下邊的游艇,圖10(d)泳池中的人).證明了SGWMSA 能夠通過提取更多的上下信息來提高遮擋目標和小目標的檢測效果. 圖10 MS COCO 檢測結果或可視化Fig.10 MS COCO test results or visualization 2.4.2 在其他目標檢測數(shù)據(jù)集上的實驗結果 本文還在KITTI 數(shù)據(jù)集和PASCAL VOC 數(shù)據(jù)集上進行了對比實驗,使用PyTorch 深度學習框架以及YOLOv5[45]目標檢測架構,采用SGD[46]優(yōu)化器,學習率采用余弦退火的方式,初始學習率設置為0.01,最小學習率為 1 ×10-6,warmup 學習率為0.1,warmup 學習率為0.1,warmup Epoch 為3,權重衰減為 5 ×10-4,動量為0.937,數(shù)據(jù)增強采用Mosaic[47]、水平翻轉(zhuǎn)和色調(diào)變換.在3 張RTX3090的GPU 上訓練模型,超參數(shù)采用表1 中的配置.采用上述的訓練策略,所有的算法均不使用預訓練模型,在PASCAL VOC 數(shù)據(jù)集上訓練100 Epoch,在KITTI 數(shù)據(jù)集上訓練300 Epoch,訓練Batch size 數(shù)為64,實驗結果如表8 所示.可以看出在模型參數(shù)量相當?shù)那闆r下,本文提出的SGWin Transformer 模型在KITTI 數(shù)據(jù)集和PASCAL VOC 數(shù)據(jù)集的精度比最先進的Pale Transformer 分別提升了0.3 和0.6,比基線算法Swin Transformer 分別提升了1.9 和4.5.在檢測速度方面,SGWin Transformer 的FPS 達到了56,超出最先進的Pale Transformer 算法16%,相比于基線算法Swin Transformer 提升了12%.所以本文設計的SGWin Transformer 在速度和精度上都優(yōu)于其他Transformer,整體性能最好. 本文針對現(xiàn)有的基于局部自注意力機制的Transformer 模型不能建立所有窗口之間信息流通的問題,提出了一種SGW-MSA 局部自注意力以及SGWin Transformer 模型,在SGW-MSA 中結合3 種不同的局部自注意力機制的特點,有效地建立所有窗口之間的信息交互.實驗結果表明在參數(shù)量和計算量相當?shù)那闆r下,本文提出的算法比現(xiàn)有的基于局部自注意力的Transformer 模型更具有優(yōu)勢,證明了本文提出的SGW-MSA 通過高斯隨機窗口策略建立所有窗口之間的信息流動能夠捕捉更多的特征圖語義信息并且具有更強大的上下文建模能力. 表 8 KITTI 和PASCAL VOC 數(shù)據(jù)集上的實驗結果Table 8 Experimental results on KITTI and PASCAL VOC dataset1.4 SGWin Transformer block
1.5 SGWin Transformer 的超參數(shù)配置
2 實驗結果
2.1 熱力圖對比實驗分析
2.2 消融實驗分析
2.3 圖像分類實驗
2.4 目標檢測實驗
3 結論