一種能夠捕獲多尺度物體信息的視覺Transformer,參數(shù)減半,性能不變!
作者:PCIPG-logic ?| 來(lái)源:3D視覺工坊
在公眾號(hào)「3D視覺工坊」后臺(tái),回復(fù)「原論文」可獲取論文pdf和代碼鏈接。
添加微信:dddvisiona,備注:三維重建,拉你入群。文末附行業(yè)細(xì)分群。
近期 Vision Transformer (ViT) 模型在各種計(jì)算機(jī)視覺任務(wù)中表現(xiàn)出了令人鼓舞的結(jié)果,這要?dú)w功于它通過自注意力對(duì)Token的長(zhǎng)距離依賴關(guān)系進(jìn)行建模的能力。然而,這些模型通常指定每層內(nèi)每個(gè)Token特征都擁有相似感受野。這種約束不可避免地限制了每個(gè)自注意力層捕獲多尺度特征的能力,從而導(dǎo)致處理具有不同尺度的多個(gè)對(duì)象的圖像時(shí)的性能下降。為了解決這個(gè)問題,本文提出了一種新穎且通用的策略,稱為分流自注意力(SSA),它允許 ViT 對(duì)每個(gè)注意力層的混合尺度的注意力進(jìn)行建模。SSA的關(guān)鍵思想是將異構(gòu)感受野大小注入到Token中:在計(jì)算自注意力矩陣之前,它有選擇地合并Token以表示更大的對(duì)象特征,同時(shí)保留某些Token以保留細(xì)粒度特征。這種新穎的合并方案使自注意力能夠?qū)W習(xí)不同大小的對(duì)象之間的關(guān)系,同時(shí)減少Token數(shù)量和計(jì)算成本。
本文提出了一種新穎且通用的自注意力方案,稱為分流自注意力(SSA),它明確允許同一層內(nèi)的自注意力頭分別考慮粗粒度和細(xì)粒度特征。與合并過多標(biāo)記或無(wú)法捕獲小對(duì)象的先前方法不同,SSA 可以在同一層內(nèi)的不同注意頭上同時(shí)有效地對(duì)各種尺度的對(duì)象進(jìn)行建模,從而提供良好的計(jì)算效率以及保留細(xì)粒度細(xì)節(jié)的能力。主要貢獻(xiàn)點(diǎn)如下:
提出了分流自注意力(SSA),它通過多尺度Token聚合將多尺度特征提取統(tǒng)一在一個(gè)自注意力層內(nèi)。SSA 自適應(yīng)地合并大型對(duì)象上的Token以確保計(jì)算效率并保留小對(duì)象的Token。
基于 SSA,構(gòu)建了分流Transformer(Shunted Transformer),它能夠有效地捕獲多尺度物體,特別是小型和遠(yuǎn)程孤立的物體。
在分類、目標(biāo)檢測(cè)和分割等各種任務(wù)中評(píng)估提出的分流Transformer。實(shí)驗(yàn)結(jié)果表明,在相似的模型尺寸下,分流Transformer始終優(yōu)于以前的Vision Transformer。這里也推薦「3D視覺工坊」新課程《國(guó)內(nèi)首個(gè)面向自動(dòng)駕駛目標(biāo)檢測(cè)領(lǐng)域的Transformer原理與實(shí)戰(zhàn)課程》。
應(yīng)用于圖像任務(wù)的神經(jīng)網(wǎng)絡(luò)架構(gòu),在先前的時(shí)間里,CNN一直占據(jù)主導(dǎo)地位。Vision Transformer (ViT)借助Transformer強(qiáng)大的長(zhǎng)距離依賴信息建模能力,也在各種視覺任務(wù)中嶄露頭角?;赩it,許多變種的視覺Transformer研究工作涌現(xiàn)而出,包括PVT、Swin Transformer等。這些方法的性能已經(jīng)在大多數(shù)視覺任務(wù)中,效果要優(yōu)于純CNN模型。另外,還有許多研究者嘗試將CNN與Transformer結(jié)合,也開發(fā)出了許多性能優(yōu)越的模型。
圖1 Shunted Transformer整體架構(gòu)流程圖
Shunted Transformer整體架構(gòu)如圖1所示。它建立在新穎的分流自注意力 (SSA) 塊之上。SSA塊與ViT中的傳統(tǒng)自注意力塊有兩個(gè)主要區(qū)別:1)SSA為每個(gè)自注意力層引入了分流注意力機(jī)制,以捕獲多粒度信息并更好地模型不同尺寸的對(duì)象,尤其是小對(duì)象;2)通過增強(qiáng)跨Token交互,增強(qiáng)了逐點(diǎn)前饋層提取局部信息的能力。此外,Shunted Transformer部署了一種新的補(bǔ)丁嵌入(Patch Embedding)方法以獲得更好的輸入特征。
在Shunted Transformer的第階段中,有個(gè)Transformer層。每個(gè)Transformer層包含一個(gè)自注意力層和一個(gè)前饋層。為了降低處理高分辨率特征圖時(shí)的計(jì)算成本,PVT引入了空間縮減注意力(SRA)來(lái)代替原來(lái)的多頭自注意力(MSA)。然而,SRA 傾向于在一個(gè)自注意力層中合并過多的 Token,并且只提供單一規(guī)模的 Token 特征。這些限制阻礙了模型捕獲多尺度物體尤其是小尺寸物體的能力。因此,Shunted Transformer引入了分流自注意力,并在一個(gè)自注意力層中并行學(xué)習(xí)多粒度。
定義輸入序列為,首先映射為。然后多頭自注意力采用H個(gè)獨(dú)立注意力頭并行計(jì)算自注意力。為了降低計(jì)算成本,本方法遵循 PVT并減少和的長(zhǎng)度,而不是像Swin Transformer那樣將分割為區(qū)域。
如圖2所示,SSA 與 PVT 的 SRA 不同之處在于,同一自注意力層的各個(gè)注意力頭中 K、V 的長(zhǎng)度不相同。相反,不同頭的長(zhǎng)度不同,以捕獲不同粒度的信息。稱之為多尺度Token聚合(multi-scale token aggregation,MTA)。具體來(lái)說,對(duì)于由 i 索引的不同頭,鍵 K 和值 V 被下采樣到不同的大?。?/p>
其中,表示第 i 個(gè)頭中的多尺度Token聚合層,下采樣率為。在實(shí)踐中,采用核大小和步長(zhǎng)為的卷積層來(lái)實(shí)現(xiàn)下采樣。是第 個(gè)頭中的線性投影的參數(shù)。注意力頭的一層中有不同大小的。因此,key和value可以在一個(gè)self-attention中捕獲不同的尺度。是 MTA 通過深度卷積對(duì) V 進(jìn)行局部增強(qiáng)的部分。與空間縮減相比,保留了更多細(xì)粒度和低級(jí)細(xì)節(jié)。
然后分流的自注意力計(jì)算如下:
其中是維度。由于多尺度的鍵和值,分流自注意力在捕獲多尺度對(duì)象方面更加強(qiáng)大。計(jì)算成本的降低可能取決于的值,因此,可以很好地定義模型和來(lái)權(quán)衡計(jì)算成本和模型性能。當(dāng)變大時(shí),中的Token被合并,的長(zhǎng)度更短,因此計(jì)算成本較低,但仍然保留了捕獲大對(duì)象的能力。相反,當(dāng)變小時(shí),保留了更多細(xì)節(jié),但帶來(lái)了更多計(jì)算成本。將各種集成到一個(gè)自注意力層中使其能夠捕獲多粒度特征。
在傳統(tǒng)的前饋層中,全連接層是逐點(diǎn)的,無(wú)法學(xué)習(xí)交叉Token信息。本節(jié)的目標(biāo)是通過指定前饋層中的細(xì)節(jié)來(lái)補(bǔ)充局部信息。如圖3所示,通過在前饋層中的兩個(gè)全連接層之間添加數(shù)據(jù)特定層來(lái)補(bǔ)充前饋層中的局部細(xì)節(jié):
其中是具有參數(shù) 的細(xì)節(jié)特定層,在實(shí)踐中通過深度卷積實(shí)現(xiàn)。
Transformer 首先是為處理序列數(shù)據(jù)而設(shè)計(jì)的。如何將圖像映射到序列對(duì)于模型的性能很重要。ViT 直接將輸入圖像分割成16×16不重疊的塊。最近有研究發(fā)現(xiàn),在補(bǔ)丁嵌入中使用卷積可以提供更高質(zhì)量的標(biāo)記序列,并幫助 Transformer 比傳統(tǒng)的大步長(zhǎng)非重疊補(bǔ)丁嵌入“看的更多更好”。因此,一些工作使用 7 × 7 卷積一樣進(jìn)行重疊補(bǔ)丁嵌入。在本方法的模型中,根據(jù)模型大小采用不同的重疊卷積層。采用步幅為 2 且零填充的 7 × 7 卷積層作為 patch 嵌入中的第一層,并根據(jù)模型大小添加額外的步幅為 1 的 3 × 3 卷積層。最后,步幅為 2 的非重疊投影層生成大小為 的輸入序列。
給定大小為的輸入圖像,采用上述補(bǔ)丁嵌入方案來(lái)獲得長(zhǎng)度為,通道數(shù)為的Token序列。模型有四個(gè)階段,每個(gè)階段包含多個(gè)Shunted Transformer塊。在每個(gè)階段,每個(gè)塊輸出相同大小的特征圖。模型采用步幅為 2(線性嵌入)的卷積層來(lái)連接不同的階段,特征圖的大小在輸入到下一個(gè)階段之前將減半,但通道數(shù)將增加一倍。因此,本模型四層的輸出分別為。每一層的輸出的大小為。本方法提供了模型的三種不同配置,以便在相似的參數(shù)和計(jì)算成本下進(jìn)行公平比較。如表1所示,和表示一個(gè)塊中的頭數(shù)和一個(gè)階段中的塊數(shù)。變體僅來(lái)自不同階段的層數(shù)。具體地,每個(gè)塊的頭數(shù)設(shè)置為2、4、8、16。patch 嵌入中的卷積范圍為 1 到 3。
為了評(píng)估Shunted Transformer的有效性,模型應(yīng)用于 ImageNet-1K 分類、COCO 對(duì)象檢測(cè)和實(shí)例分割、ADE20K語(yǔ)義分割。此外,本章還通過消融研究評(píng)估模型不同組成部分的效果。
首先將Shunted Transformer與 ImageNet1K 上最新的 SOTA CNN 和基于 Transformer 的模型進(jìn)行比較。為了公平比較,遵循 DeiT和 PVT相同的訓(xùn)練策略。具體來(lái)說,采用 AdamW 作為優(yōu)化器,權(quán)重衰減為 0.05。整個(gè)訓(xùn)練周期為 300,輸入大小為 224×224,批量大小為 1024。在余弦學(xué)習(xí)率衰減后,學(xué)習(xí)率設(shè)置為 。數(shù)據(jù)增強(qiáng)和正則化方法遵循 DeiT,包括隨機(jī)裁剪、隨機(jī)翻轉(zhuǎn)、標(biāo)簽平滑、Mixup、CutMix和隨機(jī)擦除。
如表 2 所示,通過與相似參數(shù)和計(jì)算成本下的其他 CNN 主干網(wǎng)絡(luò)進(jìn)行比較,Shunted Transformer是第一個(gè)基于 Transformer 的模型并且結(jié)果與使用更大輸入分辨率的 EfficientNet 相當(dāng)。值得注意的是,雖然 RegNet 和 EfficientNet 來(lái)自神經(jīng)架構(gòu)搜索,但手動(dòng)設(shè)計(jì)的Shunted Transformer仍然優(yōu)于它們。
然后Shunted Transformer與 Transformer 主干進(jìn)行比較。Shunted Transformer的微型模型在一半?yún)?shù)規(guī)模的設(shè)定嚇實(shí)現(xiàn)了類似的性能。當(dāng)Shunted Transformer大小增長(zhǎng)到與 DeiT-S 相似時(shí),它的性能優(yōu)于 DeiT-S 3%。與 Swin 和 Twin 等最新的 SOTA 模型相比,Shunted Transformer終優(yōu)于它們。具體來(lái)說,Shunted Transformer的小尺寸模型比現(xiàn)有最先進(jìn)的 Focal Transformer Tiny 性能提高了 0.7%,同時(shí)模型尺寸減小了 20%。當(dāng)模型尺寸變大時(shí),與 Focal Transformer 相比,Shunted Transformer模型僅用一半的參數(shù)和計(jì)算成本即可實(shí)現(xiàn)最先進(jìn)的性能。本方法在 384×384 的尺寸上進(jìn)一步對(duì)模型進(jìn)行了 30 個(gè) epoch 的微調(diào),無(wú)論模型尺寸是小尺寸還是基本尺寸,Shunted Transformer都比 Swin Transformer 表現(xiàn)出更多的優(yōu)越性。這里也推薦「3D視覺工坊」新課程《國(guó)內(nèi)首個(gè)面向自動(dòng)駕駛目標(biāo)檢測(cè)領(lǐng)域的Transformer原理與實(shí)戰(zhàn)課程》。
本節(jié)在 COCO 2017上評(píng)估了物體檢測(cè)和實(shí)例分割。本節(jié)以Shunted Transformer作為骨干并將其插入 Mask RCNN。將其與其他 SOTA 主干網(wǎng)絡(luò)進(jìn)行比較,包括 ResNet、Swin Transformer、Pyramid Vision Transformer、Twin 和 Focal Transformer。遵循與 Swin 相同的設(shè)置:在 ImageNet-1K 上預(yù)訓(xùn)練并在 COCO 上微調(diào)。以權(quán)重衰減為0.05的AdamW作為優(yōu)化器。批量大小為 16,初始學(xué)習(xí)率為 10?4。性能表現(xiàn)如表格3與表格4所示,Shunted Transformer性能表現(xiàn)優(yōu)于所有對(duì)比方法。
本節(jié)評(píng)估了Shunted Transformer在 ADE20K數(shù)據(jù)集上的語(yǔ)義分割性能。有 20,210 張圖像用于訓(xùn)練,2,000 張圖像用于驗(yàn)證,3,352 張圖像用于測(cè)試,具有 150 個(gè)細(xì)粒度語(yǔ)義類別。本節(jié)報(bào)告了經(jīng)過和不經(jīng)過多尺度測(cè)試的 mIOU。以UperNet和Semantic FPN為主要框架,并以不同的架構(gòu)為骨干。遵循 Focal Transformer 和 mmsegmentation的默認(rèn)設(shè)置。對(duì)于 UpperNet,采用權(quán)重衰減為 0.01 的 AdamW 作為 160K 次迭代的優(yōu)化器。學(xué)習(xí)率為 6 × 10?5,在訓(xùn)練開始時(shí)進(jìn)行 1500 次迭代預(yù)熱,并線性學(xué)習(xí)率衰減。增強(qiáng)功能包括隨機(jī)翻轉(zhuǎn)、隨機(jī)縮放和隨機(jī)光度失真。訓(xùn)練時(shí)輸入尺寸為512×512,單尺度和多尺度(MS)測(cè)試時(shí)輸入尺寸為512×512。對(duì)于 SemanticFPN,采用權(quán)重衰減為 0.0001 的 AdamW 作為優(yōu)化器,80K 次迭代的學(xué)習(xí)率也為 0.0001。
結(jié)果如表 5 所示。Shunted Transformer的性能優(yōu)于以前的最先進(jìn)技術(shù),參數(shù)也更少。具體來(lái)說,當(dāng)使用語(yǔ)義 FPN 時(shí),Shunted Transformer比 Swin Transformer 的性能高出 6.7 mIOU,模型大小減少了 20%。當(dāng)框架是UpperNet時(shí),Shunted Transformer比f(wàn)ocal Transformer高3.1%和2.9%。分割結(jié)果顯示了Shunted Transformer的優(yōu)越性。本文還以 SegFormer作為框架,并將Shunted Transformer的主干網(wǎng)與 SegFormer 中的 MiT 進(jìn)行比較。結(jié)果如表 6 所示。使用較少的參數(shù),我們的方法比 SegFormer 實(shí)現(xiàn)了 1.8 mIoU 的改進(jìn)。
本文的補(bǔ)丁嵌入需要稍多的計(jì)算成本,但性能提升是顯著的Patch Embedding 最近的許多工作研究了圖像到標(biāo)記映射的功能,即補(bǔ)丁嵌入頭。他們發(fā)現(xiàn)精心設(shè)計(jì)的頭部為變壓器模型提供了更好的輸入序列。我們?cè)赩it、Swin、PVT中評(píng)估了帶有非重疊頭的補(bǔ)丁嵌入的影響。結(jié)果如表 7 所示。對(duì)于更復(fù)雜的頭部(例如重疊或我們的補(bǔ)丁嵌入),計(jì)算成本和模型大小僅略有增加,但性能提高相對(duì)顯著。具體來(lái)說,在附加參數(shù)有限的情況下,從傳統(tǒng)的非重疊頭或重疊頭到補(bǔ)丁嵌入,模型分別實(shí)現(xiàn)了 1.4% 和 0.3% 的性能增益。
Token Aggregation Function 本文提出了一種新的Token聚合函數(shù)來(lái)合并多尺度對(duì)象的令牌并同時(shí)保留全局和局部信息。從表 8 可以看出,本文的Token聚合函數(shù)具有與卷積空間縮減類似的計(jì)算,但獲得了更多改進(jìn)。
Detail-specific Feed-Forward 在前饋層中,所有操作都是逐點(diǎn)的,不存在交叉標(biāo)記操作,因此,補(bǔ)充交叉標(biāo)記和局部信息將顯著提高前饋層的學(xué)習(xí)能力。在表 9 中,比較了 ViT 和本文的模型中新的特定細(xì)節(jié)前饋層、傳統(tǒng)前饋層和卷積前饋層。與傳統(tǒng)前饋層相比,特定于細(xì)節(jié)的前饋始終帶來(lái)性能增益,這表明補(bǔ)充前饋層中的局部細(xì)節(jié)的效用。
在本文中,提出了一種新穎的分流自注意力(SSA)方案來(lái)明確考慮多尺度特征。與之前僅關(guān)注一個(gè)注意力層中的靜態(tài)特征圖的工作相比,本文方法在一個(gè)自注意力層中維護(hù)了關(guān)注多尺度對(duì)象的各種尺度的特征圖。大量的實(shí)驗(yàn)表明本文的模型作為各種下游任務(wù)的骨干的有效性。具體來(lái)說,所提出的模型優(yōu)于之前的 Transformer,并在分類、檢測(cè)和分割任務(wù)上實(shí)現(xiàn)了最先進(jìn)的結(jié)果。
3D視覺細(xì)分群成立啦!
目前工坊已經(jīng)建立了3D視覺方向多個(gè)社群,包括SLAM、工業(yè)3D視覺、自動(dòng)駕駛方向。
細(xì)分群包括:
[工業(yè)方向]三維點(diǎn)云、結(jié)構(gòu)光、機(jī)械臂、缺陷檢測(cè)、三維測(cè)量、TOF、相機(jī)標(biāo)定、綜合群;
[SLAM方向]多傳感器融合、ORB-SLAM、激光SLAM、機(jī)器人導(dǎo)航、RTK|GPS|UWB等傳感器交流群、SLAM綜合討論群;
[自動(dòng)駕駛方向]深度估計(jì)、Transformer、毫米波|激光雷達(dá)|視覺攝像頭傳感器討論群、多傳感器標(biāo)定、自動(dòng)駕駛綜合群等。
[三維重建方向]NeRF、colmap、OpenMVS、MVSNet等。
[無(wú)人機(jī)方向]四旋翼建模、無(wú)人機(jī)飛控等。
除了這些,還有求職、硬件選型、視覺產(chǎn)品落地等交流群。
大家可以添加小助理微信: dddvisiona,備注:加群+方向+學(xué)校|公司, 小助理會(huì)拉你入群