預(yù)訓(xùn)練圖像處理Transformer
點(diǎn)擊上方“小白學(xué)視覺”,選擇加"星標(biāo)"或“置頂”
重磅干貨,第一時間送達(dá)

作為自然語言處理領(lǐng)域的主流模型,Transformer 近期頻頻出現(xiàn)在計算機(jī)視覺領(lǐng)域的研究中。例如 OpenAI 的 iGPT、Facebook 提出的 DETR 等,這些跨界模型多應(yīng)用于圖像識別、目標(biāo)檢測等高層視覺任務(wù)。而華為、北大、悉大以及鵬城實(shí)驗(yàn)室近期提出了一種新型預(yù)訓(xùn)練 Transformer 模型——IPT(Image Processing Transformer),用于完成超分辨率、去噪、去雨等底層視覺任務(wù)。該研究認(rèn)為輸入和輸出維度相同的底層視覺任務(wù)更適合 Transformer 處理。
預(yù)訓(xùn)練模型能否在視覺任務(wù)上復(fù)刻在自然語言任務(wù)中的成功?華為諾亞方舟實(shí)驗(yàn)室聯(lián)合北京大學(xué)、悉尼大學(xué)、鵬城實(shí)驗(yàn)室提出底層視覺 Transformer,使用 ImageNet 預(yù)訓(xùn)練,在多項(xiàng)視覺任務(wù)上達(dá)到 SOTA。
與自然語言任務(wù)相比,視覺任務(wù)在輸入形式上有很大差別。Transformer 等模型在自然語言處理任務(wù)上展現(xiàn)出了強(qiáng)大的特征學(xué)習(xí)能力,使用大量數(shù)據(jù)進(jìn)行預(yù)訓(xùn)練的策略獲得了成功。因此,很多研究都在考慮如何在計算機(jī)視覺領(lǐng)域發(fā)揮 Transformer 模型與預(yù)訓(xùn)練的潛力。
近日,華為、北大、悉大以及鵬城實(shí)驗(yàn)室的研究者提出了一個名為 IPT(Image Processing Transformer)的預(yù)訓(xùn)練 Transformer 模型,用于完成超分辨率、去噪、去雨等底層視覺任務(wù)。IPT 具備多個頭結(jié)構(gòu)與尾結(jié)構(gòu)用于處理不同的任務(wù),不同的任務(wù)共享同一個 Transformer 模塊。預(yù)訓(xùn)練得到的模型經(jīng)過微調(diào)即可在多個視覺任務(wù)上大幅超越對應(yīng)任務(wù)上的當(dāng)前最好模型。?

論文鏈接:https://arxiv.org/pdf/2012.00364.pdf
Transformer 真的比 CNN 要好嗎?
該研究通過一系列實(shí)驗(yàn)回答了這個問題。
首先,研究者展示了經(jīng)過預(yù)訓(xùn)練的 IPT 模型在不同任務(wù)上微調(diào)后達(dá)到的性能。如圖 1 所示,在多項(xiàng)底層視覺任務(wù)中,IPT 模型均取得了巨大的性能提升。例如,對于不同倍率的超分辨率任務(wù),IPT 普遍能夠提升 0.4dB,而對于去噪和去雨任務(wù)則提升更多,提升了 1.6-2.0dB。?

為了更好地說明為什么要用 Transformer,研究者還設(shè)計了一個基于 CNN 的預(yù)訓(xùn)練模型作為對照,并在 DIV2K 數(shù)據(jù)集 2 倍超分辨率的任務(wù)上探索了不同預(yù)訓(xùn)練數(shù)據(jù)量對模型性能的影響。圖 2 展示了不同的數(shù)據(jù)量對 CNN 和 Transformer 模型的影響。結(jié)果顯示,在預(yù)訓(xùn)練數(shù)據(jù)有限時,CNN 模型能獲得更好的性能。隨著數(shù)據(jù)量的增大,基于 Transformer 模塊的 IPT 模型獲得了顯著的性能提升,曲線趨勢也展現(xiàn)了 IPT 模型令人期待的潛力。?

可以看出,Transformer 模型能夠更充分地發(fā)揮大規(guī)模訓(xùn)練數(shù)據(jù)的優(yōu)勢。自然語言處理領(lǐng)域的成功經(jīng)驗(yàn)在底層視覺任務(wù)上得到了驗(yàn)證。
底層視覺任務(wù)如何使用 Transformer
不同于高層視覺語義任務(wù)的目標(biāo)是進(jìn)行特征抽取,底層視覺任務(wù)的輸入和輸出均為圖像。除超分辨率任務(wù)之外,大多數(shù)底層視覺任務(wù)的輸入和輸出維度相同。相比于高層視覺任務(wù),輸入和輸出維度匹配這一特性使底層視覺任務(wù)更適合由 Transformer 處理。
具體而言,研究者在特征圖處理階段引入 Transformer 模塊,而圖像維度匹配則交給了頭結(jié)構(gòu)與尾結(jié)構(gòu),如圖 3 所示:?

研究者首先將圖片經(jīng)過一個頭結(jié)構(gòu)變換為特征圖:?


接下來,再對特征圖進(jìn)行切塊與拉平操作。首先按照 P×P 的大小將特征圖切割成 N 塊,每一個特征塊再被拉平為維度為 P^2×C 的向量,得到

這樣一來,每個特征向量可以等同于一個「單詞」,即可送入 Transformer 進(jìn)行處理,得到維度相同的輸出特征:

有了頭結(jié)構(gòu)和尾結(jié)構(gòu)負(fù)責(zé)維度變換,Transformer 模塊可以專心地做特征處理。這使得多任務(wù)的擴(kuò)展變得簡單:對于不同的任務(wù),只需要增加新的頭結(jié)構(gòu)與尾結(jié)構(gòu)即可,多種任務(wù)之間的 Transformer 模塊是共享的。為了適應(yīng)多任務(wù),研究者在 Transformer 的解碼模塊中加入了一個可學(xué)習(xí)的任務(wù)編碼。
底層視覺任務(wù)的預(yù)訓(xùn)練與微調(diào)
研究者使用 ImageNet 數(shù)據(jù)集生成多種退化圖像,構(gòu)成多種底層視覺任務(wù)訓(xùn)練集。具體來說,對 ImageNet 數(shù)據(jù)集中的自然圖像進(jìn)行下采樣即可得到用于超分辨率任務(wù)的訓(xùn)練數(shù)據(jù);加入噪聲可生成用于去噪任務(wù)的訓(xùn)練數(shù)據(jù);加入雨痕可產(chǎn)生用于去雨任務(wù)的訓(xùn)練集等。
利用這些人工合成的數(shù)據(jù),配以對應(yīng)任務(wù)的多頭多尾結(jié)構(gòu),多個任務(wù)的訓(xùn)練數(shù)據(jù)同時進(jìn)行訓(xùn)練,整個模型可以通過監(jiān)督損失函數(shù)進(jìn)行訓(xùn)練:

除此之外,為了提升模型在未曾預(yù)訓(xùn)練過的任務(wù)上的性能(如不同倍率的超分辨率、不同噪聲強(qiáng)度的去噪任務(wù)),研究者根據(jù)特征塊之間的相關(guān)性引入了對比學(xué)習(xí)方法作為自監(jiān)督損失函數(shù)。具體來說,來自于同一圖像的特征塊之間的特征應(yīng)當(dāng)相互接近,來自于不同圖像的特征塊應(yīng)當(dāng)遠(yuǎn)離。這一自監(jiān)督損失函數(shù)如下所示:

研究者表示,通過引入這一對比損失函數(shù),模型能夠在未經(jīng)預(yù)訓(xùn)練的任務(wù)上展現(xiàn)超越傳統(tǒng)方法的性能。
經(jīng)過預(yù)訓(xùn)練的 IPT 模型,只需要在特定任務(wù)的數(shù)據(jù)集上進(jìn)行微調(diào),即可在此任務(wù)上達(dá)到很好的效果。在微調(diào)階段,只有特定任務(wù)所對應(yīng)的頭尾結(jié)構(gòu)以及 Transformer 模塊被激活訓(xùn)練,與此任務(wù)無關(guān)的頭尾模塊被暫時凍結(jié)。
IPT 刷榜多項(xiàng)底層視覺任務(wù)
首先對于超分辨率任務(wù),其預(yù)訓(xùn)練樣本是將圖像進(jìn)行 bicubic 下采樣得到的。研究者報告了在 Set5、Set14、B100 以及 Urban100 四個數(shù)據(jù)集上的結(jié)果,如表 1 所示。?

可以看出,IPT 模型在所有設(shè)定下均取得了最好的結(jié)果。尤其是在 Urban100 數(shù)據(jù)集上,對比當(dāng)前最好的超分辨率算法,IPT 模型展現(xiàn)出了大幅度的優(yōu)勢。
如表 2 和表 3 所示,在去噪和去雨任務(wù)上,IPT 模型也展現(xiàn)出了類似的性能。?


下圖展示了不同方法在去噪、去雨任務(wù)中的處理結(jié)果,從中可以看出 IPT 模型的輸出結(jié)果更接近真值圖像:?

泛化性能

控制變量研究

從實(shí)驗(yàn)效果中可以看出,Transformer 模型在底層視覺任務(wù)上展現(xiàn)出了超過 CNN 的實(shí)力,說明 Transformer 在視覺任務(wù)中是可行的。不僅如此,它所表現(xiàn)出的因大量訓(xùn)練數(shù)據(jù)而帶來的性能提升,展現(xiàn)出更大數(shù)據(jù)量、更大的模型在視覺領(lǐng)域的巨大潛力。這一方向值得更多的研究者做更多深入探索。
下載1:OpenCV-Contrib擴(kuò)展模塊中文版教程
在「小白學(xué)視覺」公眾號后臺回復(fù):擴(kuò)展模塊中文教程,即可下載全網(wǎng)第一份OpenCV擴(kuò)展模塊教程中文版,涵蓋擴(kuò)展模塊安裝、SFM算法、立體視覺、目標(biāo)跟蹤、生物視覺、超分辨率處理等二十多章內(nèi)容。
下載2:Python視覺實(shí)戰(zhàn)項(xiàng)目52講在「小白學(xué)視覺」公眾號后臺回復(fù):Python視覺實(shí)戰(zhàn)項(xiàng)目,即可下載包括圖像分割、口罩檢測、車道線檢測、車輛計數(shù)、添加眼線、車牌識別、字符識別、情緒檢測、文本內(nèi)容提取、面部識別等31個視覺實(shí)戰(zhàn)項(xiàng)目,助力快速學(xué)校計算機(jī)視覺。
下載3:OpenCV實(shí)戰(zhàn)項(xiàng)目20講在「小白學(xué)視覺」公眾號后臺回復(fù):OpenCV實(shí)戰(zhàn)項(xiàng)目20講,即可下載含有20個基于OpenCV實(shí)現(xiàn)20個實(shí)戰(zhàn)項(xiàng)目,實(shí)現(xiàn)OpenCV學(xué)習(xí)進(jìn)階。
交流群
歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計算攝影、檢測、分割、識別、醫(yī)學(xué)影像、GAN、算法競賽等微信群(以后會逐漸細(xì)分),請掃描下面微信號加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三?+?上海交大?+?視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進(jìn)入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~
評論
圖片
表情
