1. 程式人生 > 資訊 >英特爾用 ViT 做密集預測效果超越卷積:效能提高 28%,線上可玩

英特爾用 ViT 做密集預測效果超越卷積:效能提高 28%,線上可玩

用全卷積網路做密集預測(dense prediction),優點很多。但現在,你可以試試 Vision Transformer 了 ——

英特爾最近用它搞了一個密集預測模型,結果是相比全卷積,該模型在單目深度估計應用任務上,效能提高了 28%。

其中,它的結果更具細粒度和全域性一致性。

在語義分割任務上,該模型更是在 ADE20K 資料集上以 49.02% 的 mIoU 創造了新的 SOTA。

這次,Transformer 又在 CV 界秀了一波操作。

沿用編碼-解碼結構

此模型名叫 DPT,也就是 dense prediction transformer 的簡稱。

總的來說,DPT 沿用了在卷積網路中常用的編碼器-解碼器結構,主要是在編碼器的基礎計算構建塊用了 transformer。

它通過利用 ViT 為主幹,將 ViT 提供的詞包(bag-of-words)重新組合成不同解析度的影象特徵表示,然後使用卷積解碼器將該表示逐步組合到最終的密集預測結果。

模型架構圖如下:

具體來說就是先將輸入圖片轉換為 tokens(上圖橙色塊部分),有兩種方法:

(1)通過展開影象表徵的線性投影提取非重疊的影象塊(由此產生的模型為 DPT-Base 與 DPT-Large);

(2)或者直接通過 ResNet-50 的特徵提取器來搞定(由此產生的模型為 DPT-Hybrid)。

然後在得到的 token 中新增位置 embedding,以及與影象塊獨立的讀出 token(上圖紅色塊部分)。

接著將這些 token 通過 transformer 進行處理。

再接著將每個階段通過 transformer 得到的 token 重新組合成多種解析度的影象表示(綠色部分)。注意,此時還只是類影象(image-like)。

下圖為重組過程,token 被組裝成具有輸入影象空間解析度 1/s 的特徵圖。

最後,通過融合模組(紫色)將這些影象表示逐步“拼接”並經過上取樣,生成我們最終想要的密集預測結果。

ps.該模組使用殘差卷積單元組合特徵,對特徵圖進行上取樣。

以上就是 DPT 的大致生成過程,與全卷積網路不同,ViT 主幹在初始影象 embedding 計算完成後放棄了下采樣,並在全部處理階段保持恆定維數的影象表示。

此外,它在每階段都有一個全域性感受野。

正是這兩點不同對密集預測任務尤其有利,讓 DPT 模型的結果更具細粒度和全域性一致性。

用兩種任務來檢驗效果,具體效果如何?

研究人員將 DPT 應用於兩種密集預測任務。

由於 transformer 只有在大訓練集上才能展現其全部潛能,因此單目深度估計評估是測試 DPT 能力的理想任務。

他們將 DPT 與該任務上的 SOTA 模型進行對比,採用的資料集包含約 140 萬張影象,是迄今為止最大的單目深度估計訓練集。

結果是,兩種 DPT 變體的效能均顯著優於最新模型(以上指標越低越好)。

其中,與 SOTA 架構 MiDaS 相比,DPT-Hybrid 的平均相對改善率超過 23%,DPT-Large 的平均相對改善率則超過 28%。

為了確保該成績不僅是由於擴大了訓練集,研究人員也在更大的資料集上重新訓練了 MiDaS,結果仍然是 DPT 勝出。

通過視覺比較圖還可以看出,DPT 可以更好地重建細節,可以在對卷積結構具有挑戰的區域(比如較大的均勻區域)中提高全域性一致性。

另外,通過微調,研究人員發現 DPT 也可以有效地應用於較小的資料集。

在具有競爭力的語義分割任務上:研究人員在 ADE20K 資料集上對 DPT 進行了 240 個 epoch 的訓練。

結果發現,DPT-Hybrid 優於現有的所有全卷積結構,以 49.02 的 mIoU 達到了 SOTA(其更清晰、更細粒度的邊界效果如開頭所展示)。

而 DPT-Large 的效能稍差,研究人員分析可能是因為與之前的實驗相比,採用的資料集要小得多。

同時,他們在小資料集(Pascal)上對錶現優異的 DPT-Hybrid 微調了 50 個 epoch 後發現,DPT 的效能仍然強大。

最後,“百聞不如一見”,如果你想體驗 DPT 的真實效果,可以到 Huggingface 官網。

論文地址:

https://arxiv.org/abs/2103.13413

模型地址:

https://github.com/intel-isl/dpt

Hugging Face 體驗地址:

https://huggingface.co/spaces/akhaliq/DPT-Large