??前言
- ??博客主頁:??睡晚不猿序程??
- ?首發(fā)時(shí)間:2023.6.8
- ?最近更新時(shí)間:2023.6.8
- ??本文由 睡晚不猿序程 原創(chuàng)
- ??作者是蒻蒟本蒟,如果文章里有任何錯(cuò)誤或者表述不清,請 tt 我,萬分感謝!orz
- ??前言
- 1. 內(nèi)容簡介
- 2. 論文瀏覽
- 3. 圖片、表格瀏覽
- 4. 引言瀏覽
-
5. 方法
- 5.1 模型結(jié)構(gòu)
-
6. 實(shí)驗(yàn)
- 6.1 實(shí)驗(yàn)設(shè)置
- 6.2 實(shí)驗(yàn)結(jié)果
-
6.3 消融實(shí)驗(yàn)
- 4. Effect of the multi-scale restoration modulator
-
6. 總結(jié)、預(yù)告
- 6.1 總結(jié)
- 6.2 預(yù)告
1. 內(nèi)容簡介
論文標(biāo)題:Uformer: A General U-Shaped Transformer for Image Restoration
發(fā)布于:CVPR 2021
自己認(rèn)為的關(guān)鍵詞:Transformer、Unet
是否開源?:https://github.com/ZhendongWang6/Uformer
2. 論文瀏覽
論文動(dòng)機(jī):
- 目前對于圖像修復(fù)(image restoration) 的 SOTA 模型都是基于 ConvNet 的,其把握全局信息的能力不足
- 一些針對上面的問題的改進(jìn)方式引入注意力層,但是由于其平方級(jí)別的復(fù)雜度導(dǎo)致只能使用較少層數(shù)
本文工作:
-
Uformer:搭建了分層級(jí)的 encoder-decoder 模型(類似 U-Net)
-
LeWin:基于 Swin Transformer 的滑動(dòng)窗口自注意力上在 FFN 添加 DWConv
-
可學(xué)習(xí)的多尺度修復(fù)模塊:用于調(diào)整 decoder 部分的特征,使其自適應(yīng)不同噪聲
一個(gè)和 Token 維度相同的可學(xué)習(xí)參數(shù)
完成效果:在去噪、去雨、去模糊等 low level 任務(wù)效果顯著
3. 圖片、表格瀏覽
圖一
模型性能圖,看起來在相同計(jì)算量下比 Unet 性能要好
奇怪的是怎么沒有和 Swin Transformer 碰碰
圖二
模型架構(gòu)圖,可以看到組成了一個(gè) Unet 架構(gòu),在 decoder 分支使用了 Modulators 調(diào)整特征的表示
圖三
局部增強(qiáng)的 FFN,在 1x1 卷積中間引入了 DWConv
感覺可以像 ConvNeXt 一樣挪到 1x1 卷積前面,可以進(jìn)一步降低參數(shù)量
圖四
Modulator 的效果,看起來確實(shí)不錯(cuò)
Token 的表示確實(shí)很輕松就可以引入某些信息
圖五
模型去噪效果
4. 引言瀏覽
本文重心:在不同分辨率上使用自注意力,從而恢復(fù)圖像信息——提出了 Uformer,基于 U-Net,但是保持了他的 味道 ,只是改變了 backbone(跳躍連接啥的沒有變)
兩個(gè)設(shè)計(jì)
-
Locally enhanced Window:字如其名
特征圖分辨率改變,但是窗口大小不變
在 Transformer FFN 的兩個(gè)全連接層之間添加 depth-wise 卷積層 -
learnable multi-scale restoration modulator:用于學(xué)習(xí)圖像的 退化方式
作為一種多尺度的空間偏置,來在 decoder 中調(diào)整圖像特征——可以可學(xué)習(xí)的,基于窗口的 tensor 將會(huì)直接加到特征中去,來調(diào)整這些特征,來為重建提供更多信息
自由閱讀
5. 方法
5.1 模型結(jié)構(gòu)
encoder:
-
使用 3x3 LeakyReLU 卷積對輸入圖像進(jìn)行處理,得到(C,H,W)大小圖像,通過此抽取底層特征
-
接著就是和 UNet 一樣,要經(jīng)過 K 個(gè) encoder stages,每個(gè) stage 由一個(gè) LeWin block 和一個(gè)下采樣層組成
具體而言,LeWin block 輸入輸出分辨率相同,下采樣層先把圖片轉(zhuǎn)化為 2D 的(從 Token 中恢復(fù)圖像)然后使用 4x4,stride=2 的卷積降低分辨率,翻倍特征通道數(shù)
-
在 encoder 的最后添加上一個(gè) bottleneck stage,由一系列 LeWin Transformer block 堆疊而成
在這里可以使用全局自注意力,相比之前的窗口自注意力可以有更強(qiáng)的建模能力
decoder:
-
同樣 K 個(gè) stage,包含若干個(gè) Transformer blcok 以及一個(gè)上采樣層
具體而言,使用 2x2 stride=2 的轉(zhuǎn)置卷積來做上采樣,翻倍分辨率,減半特征通道數(shù)量 -
接著,和之前的部分做級(jí)聯(lián),然后一直計(jì)算下去
-
經(jīng)過了 K 個(gè) stage,將其重新轉(zhuǎn)化為 2D 表示,并使用一個(gè) 3x3 卷積將其特征通道數(shù)重新變?yōu)?3,然后進(jìn)行一個(gè)殘差連接得到輸出
這里的上下采樣選擇轉(zhuǎn)為圖像表示再使用卷積進(jìn)行操作
LeWin Transformer Block
ViT 兩個(gè)缺陷:
- 全局自注意力
- 難以把握 local dependencies
進(jìn)行了改進(jìn),結(jié)構(gòu)如下
兩個(gè)核心設(shè)計(jì):
- 不重疊的基于窗口的自注意力(W-MSA)
- 局部強(qiáng)化前向網(wǎng)絡(luò)(LeFF)
LeFF
- 首先進(jìn)行線性映射
- 轉(zhuǎn)化為圖像表示,進(jìn)行 3x3 卷積
- 轉(zhuǎn)為 token,然后映射為原本的維度,進(jìn)行殘差連接
Multi-Scale Restoration Modulator
這里說到,因?yàn)椴煌膱D像退化方式會(huì)有不同的擾動(dòng)模式,為了讓 Uformer 可以解決這些不同的擾動(dòng),使用了一個(gè)輕量化的恢復(fù)模塊,它可以標(biāo)定輸出的特征,鼓勵(lì)模型使用更多的細(xì)節(jié)來恢復(fù)圖像
在每一個(gè)塊中,這個(gè)調(diào)制器是一個(gè) tensor ,大小為(M,M,C),用法和偏置一樣,在計(jì)算自注意力之前直接加到每一個(gè)窗口中就可以了。
在去模糊和圖像去噪方面可以改善效果,尤其是在去運(yùn)動(dòng)模糊方面和噪聲方面可以得到更好的結(jié)果
這里說,和 StyleGAN 中添加隨機(jī)噪聲的思路是一致的,所以這個(gè) StyleGAN 之后也可以去看一下
6. 實(shí)驗(yàn)
6.1 實(shí)驗(yàn)設(shè)置
損失函數(shù)
這里是選擇了一個(gè) Charbonnier Loss 作為損失函數(shù)
優(yōu)化器:Adam(0.9, 0.999), weight decay 0.02; lr 2e-4;使用余弦衰減
數(shù)據(jù)增強(qiáng):水平翻轉(zhuǎn),旋轉(zhuǎn) 90,180,270
模型架構(gòu)
窗口大小 4x4
評(píng)價(jià)指標(biāo)
- PSNR
- SSIM
使用 YUV 的 Y 通道進(jìn)行計(jì)算
6.2 實(shí)驗(yàn)結(jié)果
Real Noise Removal
第一項(xiàng)任務(wù),去噪
數(shù)據(jù)集:SIDD,DND
對比了 8 個(gè)模型,拿到了最佳成績
Motion blur removal
任務(wù)二:去除動(dòng)態(tài)模糊
數(shù)據(jù)集:GoPro(訓(xùn)練),HIDE(合成的數(shù)據(jù)集),GoPro(測試集),RealBlur-R/J
在 GoPro 上對之前的 SOTA 方法實(shí)現(xiàn)了全面的超越(PSNR 多了 0.3 個(gè)點(diǎn),SSIM 多了 0.01)其他的數(shù)據(jù)集也都比之前的 SOTA 要好
defocus Blur Removal
任務(wù)三:去失焦
數(shù)據(jù)集:DPD
全面超越,PSNR 多了好幾個(gè)點(diǎn)!直接按照一位數(shù)算的
Real Rain Removal
離譜啦,多了 3 個(gè)點(diǎn)
6.3 消融實(shí)驗(yàn)
1. Transformer vs convolution
將其中的 Tr 替換為 CNN(ResBlock),設(shè)計(jì)了三個(gè)不同大小的 UNet
效果不錯(cuò),參數(shù)量更小的情況下能得到更好的效果,但是我覺得差距好像也不是很大?
哦但是那個(gè) B 模型就差距比較大了,多了 0.1 個(gè)點(diǎn)
2. Hierarchical structure vs single scale
使用 ViT-based 架構(gòu),單一尺度,用于圖像去噪,在開始和結(jié)束的時(shí)候使用兩層卷積來提取特征以及還原圖像,其中使用 12 層 Tr block,隱藏特征維度為 256,patch 大小 16x16,得到的效果不好
ViT 的單一尺度對這種任務(wù)效果肯定不好,ViT 似乎是一個(gè) 近視眼 ,16x16 的 patch 劃分讓他具有了這種特性,可以看成是低通濾波器
3. Where to enhance locality
對比了是否進(jìn)行局部性強(qiáng)化的效果
可以看到,在自注意力中引入局部強(qiáng)化會(huì)導(dǎo)致效果變差,但是如果在 FFN 中引入局部強(qiáng)化會(huì)得到一個(gè)更好的效果
對 Token 做卷積可以看成是一個(gè)超大感受野的擴(kuò)張卷積
4. Effect of the multi-scale restoration modulator
效果顯著,如果看他的效果對比,可以看的更為明顯
Is Window Shift Iportant?
附錄內(nèi)容
使用滑動(dòng)窗口,帶來了微小的提升
但是根據(jù)我自己跑代碼的情況,我使用了滑動(dòng)窗口帶來的提升挺大的(2-3 個(gè)點(diǎn) PSNR),約等于進(jìn)行了一次感受野的擴(kuò)大
6. 總結(jié)、預(yù)告
6.1 總結(jié)
使用 Transformer 作為 backbone 的 U-Net 網(wǎng)絡(luò),具有兩個(gè)創(chuàng)新點(diǎn)
- 基于窗口的自注意力,自注意力和卷積聯(lián)合使用,隨著網(wǎng)絡(luò)的加深模型可以獲得更大的 感受野
- 可學(xué)習(xí)的 multi-scale restoration modulator,僅僅使用一個(gè)加法取得了一個(gè)不錯(cuò)的效果
- 卷積和 MLP 相結(jié)合,構(gòu)成了一個(gè) 局部性強(qiáng)化 方法,更好的應(yīng)用圖像的局部信息
6.2 預(yù)告
打算之后更新一下關(guān)于 Transformer 的論文閱讀了文章來源:http://www.zghlxwxcb.cn/news/detail-476161.html
好久沒有整理自己的筆記然后更新了iai,屯了一大堆的論文筆記文章來源地址http://www.zghlxwxcb.cn/news/detail-476161.html
到了這里,關(guān)于【論文閱讀】Uformer:A General U-Shaped Transformer for Image Restoration的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!