無卷積骨干網(wǎng)絡(luò):金字塔Transformer,提升目標(biāo)檢測/分割等任務(wù)精度(附源代碼)
論文地址:https://arxiv.org/pdf/2102.12122.pdf源代碼地址:https://github.com/whai362/PVT
背景
具有自注意力的Transformer引發(fā)了自然語言處理領(lǐng)域的革命,最近還激發(fā)了Transformer式架構(gòu)設(shè)計的出現(xiàn),并在眾多計算機(jī)視覺任務(wù)中取得了具有競爭力的結(jié)果。如下是之前我們分享的基于Transformer的目標(biāo)檢測新技術(shù)!鏈接:ResNet超強(qiáng)變體:京東AI新開源的計算機(jī)視覺模塊?。ǜ皆创a)鏈接:利用TRansformer進(jìn)行端到端的目標(biāo)檢測及跟蹤(附源代碼)
鏈接:YOLOS:通過目標(biāo)檢測重新思考Transformer(附源代碼)
在今天分享的工作中,研究者設(shè)計了一個新穎的Transformer模塊,針對稠密預(yù)測任務(wù)的主干網(wǎng)絡(luò),利用Transformer架構(gòu)設(shè)計進(jìn)行了一次創(chuàng)新性的探索,將特征金字塔結(jié)構(gòu)與Transformer進(jìn)行了一次融合,使其可以更好的輸出多尺度特征,進(jìn)而更方便與其他下游任務(wù)相結(jié)合。
前言
盡管卷積神經(jīng)網(wǎng)絡(luò) (CNN) 在計算機(jī)視覺方面取得了巨大成功,但今天分享的這項(xiàng)工作研究了一種更簡單、無卷積的主干網(wǎng)絡(luò),可用于許多密集預(yù)測任務(wù)。
目標(biāo)檢測
語義分割
實(shí)例分割
與最近提出的專為圖像分類設(shè)計的Vision Transformer(ViT)不同,研究者引入了Pyramid Vision Transformer(PVT),它克服了將Transformer移植到各種密集預(yù)測任務(wù)的困難。與當(dāng)前的技術(shù)狀態(tài)相比,PVT 有幾個優(yōu)點(diǎn):
與通常產(chǎn)生低分辨率輸出并導(dǎo)致高計算和內(nèi)存成本的ViT不同,PVT不僅可以在圖像的密集分區(qū)上進(jìn)行訓(xùn)練以獲得對密集預(yù)測很重要的高輸出分辨率,而且還使用漸進(jìn)式收縮金字塔以減少大型特征圖的計算;
PVT繼承了CNN和Transformer的優(yōu)點(diǎn),使其成為各種視覺任務(wù)的統(tǒng)一主干,無需卷積,可以直接替代CNN主干;
通過大量實(shí)驗(yàn)驗(yàn)證了PVT,表明它提高了許多下游任務(wù)的性能,包括對象檢測、實(shí)例和語義分割。
例如,在參數(shù)數(shù)量相當(dāng)?shù)那闆r下,PVT+RetinaNet在COCO數(shù)據(jù)集上實(shí)現(xiàn)了40.4 AP,超過ResNet50+RetinNet(36.3 AP)4.1個絕對AP(見下圖)。研究者希望PVT可以作為像素級預(yù)測的替代和有用的主干,并促進(jìn)未來的研究。
基礎(chǔ)回顧
CNN Backbones
CNN是視覺識別中深度神經(jīng)網(wǎng)絡(luò)的主力軍。標(biāo)準(zhǔn)CNN最初是在【Gradient-based learning applied to document recognition】中區(qū)分手寫數(shù)字。該模型包含具有特定感受野的卷積核捕捉有利的視覺環(huán)境。為了提供平移等方差,卷積核的權(quán)重在整個圖像空間中共享。最近,隨著計算資源的快速發(fā)展(例如,GPU),堆疊卷積塊成功在大規(guī)模圖像分類數(shù)據(jù)集上訓(xùn)練(例如,ImageNet)已經(jīng)成為可能。例如,GoogLeNet證明了包含多個內(nèi)核路徑的卷積算子可以實(shí)現(xiàn)非常有競爭力的性能。
multi-path convolutional block的有效性在Inception系列、ResNeXt、DPN、MixNet和SKNet中得到了進(jìn)一步驗(yàn)證。此外,ResNet將跳過連接引入到卷積塊中,從而可以創(chuàng)建/訓(xùn)練非常深的網(wǎng)絡(luò)并在計算機(jī)視覺領(lǐng)域獲得令人印象深刻的結(jié)果。DenseNet引入了一個密集連接的拓?fù)洌鼘⒚總€卷積塊連接到所有先前的塊。更多最新進(jìn)展可以在最近的論文中找到。
新框架
該框架旨在將金字塔結(jié)構(gòu)嵌入到Transformer結(jié)構(gòu)用于生成多尺度特征,并最終用于稠密預(yù)測任務(wù)。上圖給出了所提出的PVT架構(gòu)示意圖,類似與CNN主干結(jié)構(gòu),PVT同樣包含四個階段用于生成不同尺度的特征,所有階段具有相類似的結(jié)構(gòu):Patch Embedding+Transformer Encoder。
在第一個階段,給定尺寸為H*W*3的輸入圖像,按照如下流程進(jìn)行處理:
- 首先,將其劃分為HW/4^2的塊,每個塊的大小為4*4*3;
- 然后,將展開后的塊送入到線性投影,得到尺寸為HW/4^2 * C1的嵌入塊;
- 其次,將前述嵌入塊與位置嵌入信息送入到Transformer的Encoder,其輸出將為reshap為H/4 * W/4 * C1。
采用類似的方式,以前一階段的輸出作為輸入即可得到特征F2,F(xiàn)3和F4。基于特征金字塔F1、F2、F3、F4,所提方案可以輕易與大部分下游任務(wù)(如圖像分類、目標(biāo)檢測、語義分割)進(jìn)行集成。
Feature Pyramid for Transforme
不同于CNN采用stride卷積獲得多尺度特征,PVT通過塊嵌入按照progressive shrinking策略控制特征的尺度。
假設(shè)第i階段的塊尺寸為Pi,在每個階段的開始,將輸入特征均勻的拆分為Hi-1Wi-1/Pi個塊,然后每個塊展開并投影到Ci維度的嵌入信息,經(jīng)過線性投影后,嵌入塊的尺寸可以視作Hi-1/Pi * Wi-1/Pi * Ci。通過這種方式就可以靈活的調(diào)整每個階段的特征尺寸,使其可以針對Transformer構(gòu)建特征金字塔。
Transformer Encoder
對于Transformer encoder的第i階段,它具有Li個encoder層,每個encoder層由注意力層與MLP構(gòu)成。由于所提方法需要處理高分辨率特征,所以提出了一種SRA(spatial-reduction attention)用于替換傳統(tǒng)的MHA(multi-head-attention)。
類似于MHA,SRA同樣從輸入端接收到了Q、K、V作為輸入,并輸出精煉后特征。SRA與MHA的區(qū)別在于:SRA會降低K和V的空間尺度,見下圖。
Detailed settings of PVT series
實(shí)驗(yàn)
ImageNet數(shù)據(jù)集上的性能對比,結(jié)果見上表。從中可以看到:
- 相比CNN,在同等參數(shù)量與計算約束下,PVT-Small達(dá)到20.2%的誤差率,優(yōu)于ResNet50的21.5%;
- 相比其他Transformer(如ViT、DeiT),所提PVT以更少的計算量取得了相當(dāng)?shù)男阅堋?/span>
在語義分割中的性能對比,見上表??梢钥吹剑翰煌瑓?shù)配置下,PVT均可取得優(yōu)于ResNet與ResNeXt的性能。這側(cè)面說明:相比CNN,受益于全局注意力機(jī)制,PVT可以提取更好的特征用于語義分割。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)linux相關(guān)文章:linux教程