论文笔记:SRCNN
1.這篇論文的主要假設(shè)是什么?(在什么情況下是有效的),這假設(shè)在現(xiàn)實(shí)中有多容易成立
LR圖像是HR圖像經(jīng)過模糊(低通濾波器),下采樣,加噪處理后的圖像。
2.在這些假設(shè)下,這篇論文有什么好處
3.這些好處主要表現(xiàn)在哪些公式的哪些項(xiàng)目的簡(jiǎn)化上。
4.這一派的主要缺點(diǎn)有哪些
1.神經(jīng)網(wǎng)絡(luò)的計(jì)算速度卻決于輸入圖像的尺寸。由于卷積層是在HR空間中,計(jì)算復(fù)雜度大
2.插值法僅僅是將尺寸放大,并沒有帶來(lái)解決不適定的重建問題的額外信息。(ESPCN,3)
3.非線性映射層計(jì)算復(fù)雜度高
4.依賴于小圖像區(qū)域的上下文(VDSR,1)
5.一個(gè)網(wǎng)絡(luò)只能對(duì)應(yīng)一個(gè)scale(VDSR,1)
1.intro
圖像超分辨率問題是在CV領(lǐng)域一個(gè)經(jīng)典的問題。目前(2014)最先進(jìn)的方法大多是基于實(shí)例的,主要包括利用圖片的內(nèi)部相似性,或者學(xué)習(xí)低分辨率高分辨率樣本對(duì)的映射函數(shù)。后者往往需要大量的數(shù)據(jù),但是目前有效性不足以令人滿意并且無(wú)法精簡(jiǎn)模型。其中典型的是基于稀疏編碼的方法,包括以下幾步:先從圖像中密集地抽取patch并進(jìn)行預(yù)處理,然后使用low-resolution dict對(duì)patch進(jìn)行編碼,得到稀疏的coefficients,被換成high-resolution dict用于重建高分辨率patch,對(duì)這些patch進(jìn)行合成或平均以得到高分辨率圖像。這些方法將注意力都集中在對(duì)dict的學(xué)習(xí)和優(yōu)化或者其他建模方法,其余步驟很少得到優(yōu)化和考慮。
本篇文章我們提出,上述步驟作用相當(dāng)于一個(gè)卷積神經(jīng)網(wǎng)絡(luò)。我們考慮直接在高低分辨率圖像中建立一個(gè)端到端映射的CNN,用隱藏層取代對(duì)dict的學(xué)習(xí)。在這個(gè)過程中,patch的抽取和聚合也能夠得到應(yīng)有的優(yōu)化。這就是SRCNN,其有以下優(yōu)點(diǎn):1.模型簡(jiǎn)單,精度高。2.速度快。3.隨著數(shù)據(jù)集的增大,重建質(zhì)量還可以增強(qiáng)。但是在以往方法中,數(shù)據(jù)集增大會(huì)帶來(lái)很多挑戰(zhàn)。
本文主要工作:
1.針對(duì)超分辨問題提出一個(gè)基于端到端映射的卷積神經(jīng)網(wǎng)絡(luò),圖像預(yù)處理后處理更少。
2.基于深度學(xué)習(xí)的SR方法和傳統(tǒng)的基于稀疏編碼方法的比較。
3.論證了深度學(xué)習(xí)在SR問題中可以被應(yīng)用,且可以獲得較好的質(zhì)量和速度。
2.related work
2.1 圖像超分辨
一類圖像超分辨方法時(shí)學(xué)習(xí)高低分辨率patch間的映射,這些工作的主要區(qū)別在于學(xué)習(xí)一些將高低分辨率patch關(guān)聯(lián)起來(lái)的dict和manifold space方面,和如何在此空間內(nèi)進(jìn)行方案表示方面。
Freeman的工作:dict里的元素直接代表高低分辨率的patch對(duì),在低分辨率空間中找到input patch的最近鄰居(NN),對(duì)應(yīng)到相應(yīng)的高分辨率patch。
Chang的工作:使用manifold embedding technique代替NN策略
Yang的工作:NN對(duì)應(yīng)進(jìn)展到更為先進(jìn)的稀疏編碼方式。這種稀疏編碼方式及其改進(jìn)是目前最先進(jìn)的SR方法。
2.2 CNN
CNN最近因其在圖像分類領(lǐng)域的成功而變得火熱。
2.3 圖像復(fù)原領(lǐng)域的深度學(xué)習(xí)
已經(jīng)有一些使用深度學(xué)習(xí)技術(shù)在圖像復(fù)原領(lǐng)域應(yīng)用的例子:多層感知機(jī)用于自然圖像去噪和post-deblurring去噪,CNN用于自然圖像去噪和消除噪聲圖案。圖像超分領(lǐng)域還并未得到應(yīng)用。
3.SRCNN
3.1 構(gòu)思
將原始圖像通過插值,擴(kuò)展到插值圖像Y,我們的目標(biāo)就是將Y經(jīng)過F(Y)變換,盡可能地接近高分辨圖像X。方便起見,我們將Y成為低分圖像,盡管其尺寸與X相等。
1.patch(圖像塊)抽取與表示。將Y中的每一圖像塊抽取出來(lái)并表示為高維向量,這些高維向量包括一系列特征圖,特征圖的個(gè)數(shù)等于高維向量的維度。
2.非線性映射。將上一步得到的每一高維向量進(jìn)行非線性映射,得到另一個(gè)高維向量。得到的高維向量代表高分辨圖像的patch,這些高維向量也包括一系列特征圖。
3.重建。聚合上步得到的高分辨圖像patch,得到最終的高分圖像
patch(圖像塊)抽取與表示
深度學(xué)習(xí)之前的常用策略是密集抽取patch并用一組基來(lái)表示(如PCA,DCT,Haer)。這個(gè)過程等價(jià)于使用一組filter(每一個(gè)filter相當(dāng)于一個(gè)基)對(duì)圖像進(jìn)行卷積。這在此網(wǎng)絡(luò)中表示為進(jìn)行卷積操作$$F_{1}left ( Y ight )=maxleft ( 0,W_{1}*Y+B_{1} ight )$$
其中$W_{1}$的尺寸是$c imes f_{1} imes f_{1} imes n_{1}$,$B_{1}$是$n_{1}$維向量。在這之后應(yīng)用一個(gè)RELU單元(RELU相當(dāng)于非線性映射,而patch的提取和表示是純線性操作)
非線性映射
上一步得到的得到的每一個(gè)$n_{1}$維向量對(duì)應(yīng)于原始圖像中的一個(gè)patch,將得到的$n_{1}$維向量映射到$n_{2}$維向量,這在此網(wǎng)絡(luò)中表示為進(jìn)行卷積操作$$F_{2}left ( Y ight )=maxleft ( 0,W_{2}*F_{1}left ( Y ight )+B_{2} ight )$$
其中$W_{2}$的尺寸是$n_{1} imes 1 imes1 imes n_{2}$,$B_{2}$是$n_{2}$維向量
注:可以增加額外的卷積層來(lái)增加網(wǎng)絡(luò)的非線性,但也需要考慮因此帶來(lái)的問題。
重建
在傳統(tǒng)方法中,往往將高分patch進(jìn)行average以產(chǎn)生最終圖像。這一平均操作可以替換為:使一系列特征圖通過我們預(yù)定義好的濾波器。
這在此網(wǎng)絡(luò)中表示為進(jìn)行卷積操作$$Fleft ( Y ight )=W_{3}*F_{2}left ( Y ight )+B_{3} $$
其中$W_{3}$的尺寸是$n_{2} imes f_{3} imesf_{3} imes c$,$B_{3}$是$c$維向量
如果代表HR patch的$n_{2}$維向量是在圖像域,則直接把第三次的filter看成一個(gè)averaging filter;如果是在其他域,則可以理解為第三層先將系數(shù)轉(zhuǎn)換到了圖像域繼而進(jìn)行average。
3.2 和稀疏編碼方法的關(guān)系
在稀疏編碼中,考慮從原始圖像中抽取$f_{1} imes f_{1}$的LR圖像塊,這一圖像塊減掉其均值后被投影到LR字典中。若LR字典大小為$n_{1}$,則這正相當(dāng)于$n_{1}$個(gè)$f_{1} imes f_{1}$線性filter。(減均值操作包括在線性操作中)
the sparse coding solver對(duì)$n_{1}$個(gè)系數(shù)進(jìn)行非線性映射操作,輸出是$n_{2}$個(gè)系數(shù),這$n_{2}$個(gè)系數(shù)代表HR patch。但是這一步驟并不是feed-forward,而是iterative。然而在CNN中的操作卻是feed-forward,而且便于計(jì)算,此操作可以看做是像素層面的全連接網(wǎng)絡(luò)。
(針對(duì)這里的pixel-wise fully-connected layer, 個(gè)人理解:應(yīng)該說(shuō)的是前后兩組feature maps中對(duì)應(yīng)patch的特征進(jìn)行全連接,而不是對(duì)patch進(jìn)行全連接。在這里的“像素”應(yīng)該指的是代表patch的高維向量的每一個(gè)維度)
之后,$n_{2}$個(gè)系數(shù)通過HR字典投影到HR圖像塊,之后進(jìn)行average操作。這等效于在$n_{2}$特征圖上進(jìn)行線性卷積。如果用來(lái)重建的patch尺寸為$f_{3} imes f_{3}$, 則卷積操作的filter也是$f_{3} imes f_{3}$
以上這些說(shuō)明了,我們可以用CNN代替?zhèn)鹘y(tǒng)的稀疏編碼,而且CNN能夠?qū)λ胁襟E進(jìn)行優(yōu)化。
我們?cè)O(shè)置的超參數(shù)是f1 = 9,f3 = 5, n1 = 64, and n2 = 32
若設(shè)置最后一層filter<第一層,則我們更多地依賴于HR patch的中心部分; 為了達(dá)到稀疏的目的,也可以設(shè)置n2 < n1。
相比于傳統(tǒng)方法更精確的原因之一是,此模型中HR像素的感受野大。(每一像素利用了$left ( 9+5-1 ight )^{2}=169$個(gè)原始像素的信息)
3.3 訓(xùn)練
3.3.1 LOSS函數(shù)
MSE損失$$Lleft ( Theta ight )=frac{1}{n}sum_{i=1}^{n}left | Fleft ( Y_{i};Theta ight )-X_{i} ight |^{2}$$
使用MSE偏好于PSNR,(PSNR是定量評(píng)估重建質(zhì)量的重要指標(biāo),與感知質(zhì)量也相關(guān))。
也可在訓(xùn)練過程中使用更合適的LOSS函數(shù),這點(diǎn)在傳統(tǒng)SC方法是不可想象的。
3.3.2 momentun梯度下降
訓(xùn)練的輸入是原始圖像經(jīng)過加噪、下采樣,上采樣。
4. 實(shí)驗(yàn)
數(shù)據(jù)集:訓(xùn)練集:91images
Set5用于2,3,4倍上采樣, Set14用于4倍上采樣
超參數(shù):f1 = 9,f3 = 5, n1 = 64, and n2 = 32
ground truth尺寸:32*32pixel
將HR圖片根據(jù)14stride切割成32×32子圖,這樣一來(lái),91張圖片共產(chǎn)生約24800張訓(xùn)練圖片。
我們的圖片是在YCrCb空間下,且只考慮亮度通道。因此c=1,兩個(gè)色度空間不會(huì)被訓(xùn)練。當(dāng)然,也可以設(shè)置c=3,我們?cè)O(shè)置c=1只是為了和其他方法競(jìng)爭(zhēng)公平。
訓(xùn)練階段,為了避免邊緣效應(yīng),我們的卷積操作無(wú)Padding,這會(huì)導(dǎo)致輸出尺寸是20*20,我們?nèi)round truth中心的20*20進(jìn)行LOSS函數(shù)的計(jì)算。而測(cè)試階段有Padding,可以輸入任意尺寸圖片,輸入尺寸不變,為了解決邊界效應(yīng),在每個(gè)卷積層中,每個(gè)像素的輸出(在ReLU之前)都通過有效輸入像素的數(shù)量進(jìn)行標(biāo)準(zhǔn)化。
filter參數(shù)被隨機(jī)初始化,標(biāo)準(zhǔn)差0.001。前兩層LR=10?4,最后一次LR=10-5。根據(jù)經(jīng)驗(yàn),最后一層LR小對(duì)于收斂很重要。
5. 分析
5.1 分析filter
訓(xùn)練出的不同filter對(duì)應(yīng)不同功能
5.2 使用不同數(shù)據(jù)集會(huì)產(chǎn)生不同效果
5.3 filter數(shù)量
可以改變層數(shù)和filter的數(shù)量,來(lái)產(chǎn)生不同效果,然而效果的提升意味著犧牲速度的代價(jià)
5.4 filter尺寸。同5.3
5.總結(jié)
添加更多的layer或者filter可以得到不同效果
也可以探索一種網(wǎng)絡(luò)來(lái)應(yīng)對(duì)不同的上采樣倍數(shù)。
總結(jié)
以上是生活随笔為你收集整理的论文笔记:SRCNN的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 农行信用卡消费备用金提前还款手续费多少?
- 下一篇: 华夏银行易达金可以提前还款吗?提前还款手