SETR:基于視覺(jué) Transformer 的語(yǔ)義分割模型
Visual Transformer
Author:louwill
Machine Learning Lab
自從Transformer在視覺(jué)領(lǐng)域大火之后,一系列下游視覺(jué)任務(wù)應(yīng)用研究也隨之多了起來(lái)?;谝曈X(jué)Transformer的語(yǔ)義分割正是ViT應(yīng)用最多的一個(gè)經(jīng)典視覺(jué)任務(wù)之一。
在視覺(jué)Transformer介入語(yǔ)義分割之前,基于深度學(xué)習(xí)的語(yǔ)義分割是被以UNet為代表的CNN模型主導(dǎo)的。基于編解碼結(jié)構(gòu)的FCN/UNet模型成為語(yǔ)義分割領(lǐng)域最主流的模型范式。本文介紹基于ViT的語(yǔ)義分割的第一個(gè)代表模型——SEgementation TRansformer (SETR),提出以純Transformer結(jié)構(gòu)的編碼器來(lái)代替CNN編碼器,改變現(xiàn)有的語(yǔ)義分割模型架構(gòu)。
提出SETR的這篇論文為Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers,發(fā)表于2021年3月份,是由復(fù)旦和騰訊優(yōu)圖聯(lián)合提出的一個(gè)基于ViT的新型架構(gòu)的語(yǔ)義分割模型。
SETR的基本結(jié)構(gòu)
SETR的整體模型結(jié)構(gòu)如圖1所示。

圖1 SETR結(jié)構(gòu)
SETR的核心架構(gòu)仍然是Encoder-Decoder的結(jié)構(gòu),只不過(guò)相比于傳統(tǒng)的以CNN為主導(dǎo)的編碼器結(jié)構(gòu),SETR用Transformer來(lái)進(jìn)行替代。圖1中(a)圖是SETR的整體架構(gòu),可以看到編碼器是由純Transformer層構(gòu)成。
SETR編碼器流程跟作為backbone的ViT模型較為一致。先對(duì)輸入圖像做分塊處理,然后對(duì)每個(gè)圖像分塊做塊嵌入并加上位置編碼,這個(gè)過(guò)程就將圖像轉(zhuǎn)換為向量序列。之后就是Transformer block,里面包括24個(gè)Transformer層,每個(gè)Transformer層都是由MSA+MLP+Layer Norm+殘差連接組成。
SETR的一個(gè)特色在于解碼器的設(shè)計(jì)。將2D的編碼器輸出向量轉(zhuǎn)換為3D特征圖之后,論文中給SETR設(shè)計(jì)了三種解碼器上采樣方法。第一種就是最原始的上采樣,論文中叫Naive upsampling,通過(guò)簡(jiǎn)單的1x1卷積加上雙線性插值來(lái)實(shí)現(xiàn)圖像像素恢復(fù)。這種上采樣方法簡(jiǎn)稱為SETR-Naive。
重點(diǎn)是第二種和第三種解碼器設(shè)計(jì)。第二種解碼器設(shè)計(jì)叫漸進(jìn)式上采樣 (Progressive UPsampling),作者認(rèn)為一步到位式的上采樣可能會(huì)產(chǎn)生大量的噪聲,采樣漸進(jìn)式的上采樣則可以最大程度上緩解這種問(wèn)題。漸進(jìn)式的上采樣在于,每一次上采樣只恢復(fù)上一步圖像的2倍,這樣經(jīng)過(guò)4次操作就可以回復(fù)原始圖像。這種解碼設(shè)計(jì)簡(jiǎn)稱為SETR-PUP,如圖1中的(b)圖所示。第三種解碼設(shè)計(jì)為多層次特征加總 (Multi-Level feature Aggregation, MLA),這種設(shè)計(jì)跟特征金字塔網(wǎng)絡(luò)類似,如圖1中(c)圖所示。
表1是基于不同預(yù)訓(xùn)練和backbone的SETR變體模型的參數(shù)量和效果展示。
表1 SETR模型細(xì)節(jié)

SETR訓(xùn)練與實(shí)驗(yàn)
SETR在主流的語(yǔ)義分割數(shù)據(jù)集上都做了大量實(shí)驗(yàn),包括Cityscapes、ADE20K和PASCAL Context等數(shù)據(jù)集。SETR在多個(gè)數(shù)據(jù)集上都取得了SOTA的結(jié)果,如表2和表3所示。
表2 SETR在ADE20K上的表現(xiàn)

表3 SETR在PASCAL Context上的表現(xiàn)

圖2是SETR在ADE20K數(shù)據(jù)集上的分割效果,左側(cè)列為FCN分割效果,右側(cè)列為SETR的分割效果??梢钥吹?,SETR分割效果要明顯優(yōu)于FCN。

總結(jié)
總體而言,SETR的幾個(gè)重要貢獻(xiàn)如下:
為基于FCN/UNet等CNN分割模型的語(yǔ)義分割提供了不同的思路,即基于序列的圖像分割視角。Transformer作為這種序列模型的一個(gè)實(shí)現(xiàn)實(shí)例,SETR充分的探索了ViT的分割能力。
設(shè)計(jì)了三種不同的解碼器上采樣方法,深入探索了不同的上采樣設(shè)計(jì)的像素恢復(fù)效果。
實(shí)驗(yàn)證明了基于Transformer的語(yǔ)義分割能夠?qū)W習(xí)到超過(guò)FCN等CNN結(jié)構(gòu)的語(yǔ)義表征。
但SETR也有諸多不足。跟ViT一樣,SETR要取得好的結(jié)果,對(duì)預(yù)訓(xùn)練和數(shù)據(jù)集大小都有較大的依賴性。
參考資料:
Zheng S, Lu J, Zhao H, et al. Rethinking semantic segmentation from a sequence-to-sequence perspective with transformers[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021: 6881-6890.
往期精彩:
ViT:視覺(jué)Transformer backbone網(wǎng)絡(luò)ViT論文與代碼詳解
【原創(chuàng)首發(fā)】機(jī)器學(xué)習(xí)公式推導(dǎo)與代碼實(shí)現(xiàn)30講.pdf
【原創(chuàng)首發(fā)】深度學(xué)習(xí)語(yǔ)義分割理論與實(shí)戰(zhàn)指南.pdf
求個(gè)在看
