無(wú)卷積骨干網(wǎng)絡(luò):金字塔Transformer,提升目標(biāo)檢測(cè)/分割等任務(wù)精度(附源代碼)
點(diǎn)擊上方“小白學(xué)視覺(jué)”,選擇加"星標(biāo)"或“置頂”

在今天分享的工作中,研究者設(shè)計(jì)了一個(gè)新穎的Transformer模塊,針對(duì)稠密預(yù)測(cè)任務(wù)的主干網(wǎng)絡(luò),利用Transformer架構(gòu)設(shè)計(jì)進(jìn)行了一次創(chuàng)新性的探索,將特征金字塔結(jié)構(gòu)與Transformer進(jìn)行了一次融合,使其可以更好的輸出多尺度特征,進(jìn)而更方便與其他下游任務(wù)相結(jié)合。
盡管卷積神經(jīng)網(wǎng)絡(luò) (CNN) 在計(jì)算機(jī)視覺(jué)方面取得了巨大成功,但今天分享的這項(xiàng)工作研究了一種更簡(jiǎn)單、無(wú)卷積的主干網(wǎng)絡(luò),可用于許多密集預(yù)測(cè)任務(wù)。

目標(biāo)檢測(cè)

語(yǔ)義分割

實(shí)例分割
與最近提出的專(zhuān)為圖像分類(lèi)設(shè)計(jì)的Vision Transformer(ViT)不同,研究者引入了Pyramid Vision Transformer(PVT),它克服了將Transformer移植到各種密集預(yù)測(cè)任務(wù)的困難。與當(dāng)前的技術(shù)狀態(tài)相比,PVT 有幾個(gè)優(yōu)點(diǎn):
與通常產(chǎn)生低分辨率輸出并導(dǎo)致高計(jì)算和內(nèi)存成本的ViT不同,PVT不僅可以在圖像的密集分區(qū)上進(jìn)行訓(xùn)練以獲得對(duì)密集預(yù)測(cè)很重要的高輸出分辨率,而且還使用漸進(jìn)式收縮金字塔以減少大型特征圖的計(jì)算;
PVT繼承了CNN和Transformer的優(yōu)點(diǎn),使其成為各種視覺(jué)任務(wù)的統(tǒng)一主干,無(wú)需卷積,可以直接替代CNN主干;
通過(guò)大量實(shí)驗(yàn)驗(yàn)證了PVT,表明它提高了許多下游任務(wù)的性能,包括對(duì)象檢測(cè)、實(shí)例和語(yǔ)義分割。
例如,在參數(shù)數(shù)量相當(dāng)?shù)那闆r下,PVT+RetinaNet在COCO數(shù)據(jù)集上實(shí)現(xiàn)了40.4 AP,超過(guò)ResNet50+RetinNet(36.3 AP)4.1個(gè)絕對(duì)AP(見(jiàn)下圖)。研究者希望PVT可以作為像素級(jí)預(yù)測(cè)的替代和有用的主干,并促進(jìn)未來(lái)的研究。

CNN Backbones
CNN是視覺(jué)識(shí)別中深度神經(jīng)網(wǎng)絡(luò)的主力軍。標(biāo)準(zhǔn)CNN最初是在【Gradient-based learning applied to document recognition】中區(qū)分手寫(xiě)數(shù)字。該模型包含具有特定感受野的卷積核捕捉有利的視覺(jué)環(huán)境。為了提供平移等方差,卷積核的權(quán)重在整個(gè)圖像空間中共享。最近,隨著計(jì)算資源的快速發(fā)展(例如,GPU),堆疊卷積塊成功在大規(guī)模圖像分類(lèi)數(shù)據(jù)集上訓(xùn)練(例如,ImageNet)已經(jīng)成為可能。例如,GoogLeNet證明了包含多個(gè)內(nèi)核路徑的卷積算子可以實(shí)現(xiàn)非常有競(jìng)爭(zhēng)力的性能。

multi-path convolutional block的有效性在Inception系列、ResNeXt、DPN、MixNet和SKNet中得到了進(jìn)一步驗(yàn)證。此外,ResNet將跳過(guò)連接引入到卷積塊中,從而可以創(chuàng)建/訓(xùn)練非常深的網(wǎng)絡(luò)并在計(jì)算機(jī)視覺(jué)領(lǐng)域獲得令人印象深刻的結(jié)果。DenseNet引入了一個(gè)密集連接的拓?fù)?,它將每個(gè)卷積塊連接到所有先前的塊。更多最新進(jìn)展可以在最近的論文中找到。


該框架旨在將金字塔結(jié)構(gòu)嵌入到Transformer結(jié)構(gòu)用于生成多尺度特征,并最終用于稠密預(yù)測(cè)任務(wù)。上圖給出了所提出的PVT架構(gòu)示意圖,類(lèi)似與CNN主干結(jié)構(gòu),PVT同樣包含四個(gè)階段用于生成不同尺度的特征,所有階段具有相類(lèi)似的結(jié)構(gòu):Patch Embedding+Transformer Encoder。
在第一個(gè)階段,給定尺寸為H*W*3的輸入圖像,按照如下流程進(jìn)行處理:
-
首先,將其劃分為HW/4^2的塊,每個(gè)塊的大小為4*4*3; -
然后,將展開(kāi)后的塊送入到線(xiàn)性投影,得到尺寸為HW/4^2 * C1的嵌入塊; -
其次,將前述嵌入塊與位置嵌入信息送入到Transformer的Encoder,其輸出將為reshap為H/4 * W/4 * C1。
采用類(lèi)似的方式,以前一階段的輸出作為輸入即可得到特征F2,F(xiàn)3和F4。基于特征金字塔F1、F2、F3、F4,所提方案可以輕易與大部分下游任務(wù)(如圖像分類(lèi)、目標(biāo)檢測(cè)、語(yǔ)義分割)進(jìn)行集成。
Feature Pyramid for Transforme
不同于CNN采用stride卷積獲得多尺度特征,PVT通過(guò)塊嵌入按照progressive shrinking策略控制特征的尺度。
假設(shè)第i階段的塊尺寸為Pi,在每個(gè)階段的開(kāi)始,將輸入特征均勻的拆分為Hi-1Wi-1/Pi個(gè)塊,然后每個(gè)塊展開(kāi)并投影到Ci維度的嵌入信息,經(jīng)過(guò)線(xiàn)性投影后,嵌入塊的尺寸可以視作Hi-1/Pi * Wi-1/Pi * Ci。通過(guò)這種方式就可以靈活的調(diào)整每個(gè)階段的特征尺寸,使其可以針對(duì)Transformer構(gòu)建特征金字塔。
Transformer Encoder
對(duì)于Transformer encoder的第i階段,它具有Li個(gè)encoder層,每個(gè)encoder層由注意力層與MLP構(gòu)成。由于所提方法需要處理高分辨率特征,所以提出了一種SRA(spatial-reduction attention)用于替換傳統(tǒng)的MHA(multi-head-attention)。
類(lèi)似于MHA,SRA同樣從輸入端接收到了Q、K、V作為輸入,并輸出精煉后特征。SRA與MHA的區(qū)別在于:SRA會(huì)降低K和V的空間尺度,見(jiàn)下圖。


Detailed settings of PVT series

ImageNet數(shù)據(jù)集上的性能對(duì)比,結(jié)果見(jiàn)上表。從中可以看到:
-
相比CNN,在同等參數(shù)量與計(jì)算約束下,PVT-Small達(dá)到20.2%的誤差率,優(yōu)于ResNet50的21.5%; -
相比其他Transformer(如ViT、DeiT),所提PVT以更少的計(jì)算量取得了相當(dāng)?shù)男阅堋?/span>


在語(yǔ)義分割中的性能對(duì)比,見(jiàn)上表。可以看到:不同參數(shù)配置下,PVT均可取得優(yōu)于ResNet與ResNeXt的性能。這側(cè)面說(shuō)明:相比CNN,受益于全局注意力機(jī)制,PVT可以提取更好的特征用于語(yǔ)義分割。


下載1:OpenCV-Contrib擴(kuò)展模塊中文版教程
在「小白學(xué)視覺(jué)」公眾號(hào)后臺(tái)回復(fù):擴(kuò)展模塊中文教程,即可下載全網(wǎng)第一份OpenCV擴(kuò)展模塊教程中文版,涵蓋擴(kuò)展模塊安裝、SFM算法、立體視覺(jué)、目標(biāo)跟蹤、生物視覺(jué)、超分辨率處理等二十多章內(nèi)容。
下載2:Python視覺(jué)實(shí)戰(zhàn)項(xiàng)目52講
在「小白學(xué)視覺(jué)」公眾號(hào)后臺(tái)回復(fù):Python視覺(jué)實(shí)戰(zhàn)項(xiàng)目,即可下載包括圖像分割、口罩檢測(cè)、車(chē)道線(xiàn)檢測(cè)、車(chē)輛計(jì)數(shù)、添加眼線(xiàn)、車(chē)牌識(shí)別、字符識(shí)別、情緒檢測(cè)、文本內(nèi)容提取、面部識(shí)別等31個(gè)視覺(jué)實(shí)戰(zhàn)項(xiàng)目,助力快速學(xué)校計(jì)算機(jī)視覺(jué)。
下載3:OpenCV實(shí)戰(zhàn)項(xiàng)目20講
在「小白學(xué)視覺(jué)」公眾號(hào)后臺(tái)回復(fù):OpenCV實(shí)戰(zhàn)項(xiàng)目20講,即可下載含有20個(gè)基于OpenCV實(shí)現(xiàn)20個(gè)實(shí)戰(zhàn)項(xiàng)目,實(shí)現(xiàn)OpenCV學(xué)習(xí)進(jìn)階。
交流群
歡迎加入公眾號(hào)讀者群一起和同行交流,目前有SLAM、三維視覺(jué)、傳感器、自動(dòng)駕駛、計(jì)算攝影、檢測(cè)、分割、識(shí)別、醫(yī)學(xué)影像、GAN、算法競(jìng)賽等微信群(以后會(huì)逐漸細(xì)分),請(qǐng)掃描下面微信號(hào)加群,備注:”昵稱(chēng)+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺(jué)SLAM“。請(qǐng)按照格式備注,否則不予通過(guò)。添加成功后會(huì)根據(jù)研究方向邀請(qǐng)進(jìn)入相關(guān)微信群。請(qǐng)勿在群內(nèi)發(fā)送廣告,否則會(huì)請(qǐng)出群,謝謝理解~
