【图像超分辨】RDN
大家好,又見面了,我是你們的朋友風(fēng)君子。
RDN——Residual Dense Network—— 殘差深度網(wǎng)絡(luò)。RDN是基于深度學(xué)習(xí)的超分方法之一,發(fā)表于CVPR 2018。
網(wǎng)絡(luò)結(jié)構(gòu)
RDN網(wǎng)絡(luò)結(jié)構(gòu)分為4個部分:
- SFENet(Shallow Feature Extraction Net, 淺層特征提取網(wǎng)絡(luò));
- RDBs( Residual Dense Blocks, 殘差稠密塊);
- DFF(Dense Feature Fusion, 稠密特征塊 );
- Up-Sampling Net(上采樣網(wǎng)絡(luò))。
SFENet:
包含兩個CONV層,用于提取淺層特征。
RDBs:
包含D個RDB,用于提取各層特征,一個RDB提取出一個局部特征。RDB結(jié)構(gòu)如下圖(c)所示:
可以看出,RDB = Residual block(殘缺塊) + Dense block(稠密塊)
由于網(wǎng)絡(luò)深度的增加,每層CONV層的特征會逐漸分級(得到hierarchical features),因為有不同的感受野(receptive fileds)。而Hierarchical features對圖像重建提供了重要信息, 我們要充分利用所有層的信息和特征。
一個RDB結(jié)構(gòu)分為3個部分:
-
CM(Contiguous Memory 近鄰記憶)
RDB含有C個[CONV+ReLU],CM機制會將上一個RDB的狀態(tài)發(fā)送到當前RDB中的每一個CONV層,也就是圖(c)的小橋們; -
LFF(Local Feature Fusion 局部特征融合)
LLF將前一個RDB的各個狀態(tài)與當前RDB的所有CONV層融合在一起。
RDN中,前一個RDB輸出的feature-map 是直接與當前RDB串聯(lián)起來的,這時,減少feature的數(shù)量就很有必要了。我們使用一個11的CONV來減少feature的數(shù)量/控制輸出信息:11CONV用于減少通道數(shù),并保持nh,nw不變; -
LRL(Local Residual Learning 局部殘差學(xué)習(xí))
也就是將以下兩者加起來,看c圖下部的紅箭頭以及綠色加號:前一RDB的輸出 + 上面LFF的1*1CONV的輸出。引入LRL以進一步提高信息流、提高網(wǎng)絡(luò)表示能力,以達到更好的性能。
DFF(Dense Feature Fusion, 稠密特征塊 ):
DFF在全局上提取各層特征。包含兩個部分:
- GFF(global feature fusion 全局特征融合)
GFF 用于將所有RDB提取到的特征融合在一起,得到全局特征。GFF分為兩部分:1×1 CONV 融合一系列的特征(1*1CONV的作用就是減少通道數(shù),并保持Nh, Nw)。3×3 CONV 為下一步的GRL進一步提取特征; - GRL(global residual learning 全局殘差學(xué)習(xí))
就是RDN結(jié)構(gòu)圖中的綠色加號。就是實現(xiàn):淺層特征 + 所有RDB提取到的特征; - UPNet(Up-Sampling Net 上采樣網(wǎng)絡(luò))
該模塊表示網(wǎng)絡(luò)最后的上采樣+卷積操作。實現(xiàn)了輸入圖片的放大操作。
實現(xiàn)細節(jié)
- 除了用于融合局部或全局特征的CONV層的kernel size = 1×1 外,其他的CONV層都是 3×3的;
- kernel size = 3×3的CONV層,都用SAME padding 以保持inputsize不變
淺層特征提取層、局部全局特征融合層的CONV的filter數(shù)量都是G0 = 64; - 其他層(RDB中)的CONV的filter數(shù)量都是G,并使用ReLU作為其激活函數(shù);
- 使用ESPCNN(Sub-Pixel)來提高粗分辨率特征,從而使得UPNet性能更好;
- RDN最后的CONV,若需要輸出彩色高清圖像,則可設(shè)置其輸出的channel = 3;若需要輸出灰度高清圖像,可設(shè)置其輸出的channel = 1。
討論(與其他網(wǎng)絡(luò)的區(qū)別)
Difference to DenseNet:
- 與DenseNet不同:移除了BN層,以提高運算速度降低計算復(fù)雜度和GPU內(nèi)存的消耗;
- 與DenseNet不同:移除了Pooling層,防止其將像素級的信息給去除掉;
- 與DenseNet不同:使用GFF將各RDB提取的特征全部concat起來,充分利用。而DenseNet 整個網(wǎng)絡(luò)中只使用每一個DenseBlock最后的輸出。
Difference to SRDenseNet:
- 在RDB中,提取全局特征時不使用Dense Connection,取而代之的是
- DFF(Dense Feature Fusion, 稠密特征塊,包含GFF和GRL)
損失函數(shù):SRDenseNet使用L2 ;RDN使用L1(提高了性能,加快了收斂)。
Difference to MemNet:
- 損失函數(shù):MemNet使用L2 ;RDN使用L1(提高了性能,加快了收斂);
- MemNet要用Bicubic插值方式對LR圖片進行上采樣,從而使LR圖片達到所需的大小,這就導(dǎo)致特征提取和重建過程都在HR空間(高分辨率空間)中進行;而RDN從原始的LR圖片(低分辨率圖片)提取各層特征,很大程度上減少了計算的復(fù)雜度,并提高了性能;
- MemNet中包含了遞歸和門限單元,這使得當前層不能接收上一層的輸入,而RDB的前后模塊是有交互的
實驗設(shè)置
數(shù)據(jù)集:
- 數(shù)據(jù)集: DIV2K(800 training imgs + 100 vali imgs + 100 testing imgs);
- 訓(xùn)練:DIV2K——800 training img + 5 vali img;
- 測試:五個standard benchmark datasets:Set5 [1], Set14 [33], B100 [18], Urban100 [8], and Manga109 [19]。
退化模型:
訓(xùn)練的輸入圖片(LR)使用DIV2K的高清圖片通過下面3種退化模型得到:
- BI模型:Bicubic插值方式對高清圖片進行下采樣, 縮小比例為x2,x3,x4;
- BD模型:先對高清圖片做(7*7卷積,1.6方差)高斯濾波,再對濾波后圖片做下采樣, 縮小比例為x3;
- DN模型:①Bicubic插值方式對高清圖片進行下采樣, 縮小比例為x3,②再加30%的高斯噪聲。
實驗結(jié)果
可看出, CM, LRL, and GFF 缺一不可,缺一個性能就下降。
- 在BI退化模型下:
- 在BD和DN退化模型下:
參考博客
超分辨率-RDN
總結(jié)
以上是生活随笔為你收集整理的【图像超分辨】RDN的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JDK安全模块JCE核心Cipher使用
- 下一篇: 鄂尔多斯借贷迷局:1亿存款被冻结3年无法