深度学习(二十二)——ESPCN, FSRCNN, VESPCN, SRGAN, DemosaicNet, MemNet, RDN, ShuffleSeg
https://antkillerfarm.github.io/
ESPCN
ESPCN(efficient sub-pixel convolutional neural network)是創(chuàng)業(yè)公司Magic Pony Technology的Wenzhe Shi和Jose Caballero作品。該創(chuàng)業(yè)團(tuán)隊(duì)主要來自Imperial College London,目前已被Twitter收購(gòu)。
論文:
《Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network》
代碼:
https://github.com/wangxuewen99/Super-Resolution/tree/master/ESPCN
在SRCNN和DRCN中,低分辨率圖像都是先通過上采樣插值得到與高分辨率圖像同樣的大小,再作為網(wǎng)絡(luò)輸入,意味著卷積操作在較高的分辨率上進(jìn)行,相比于在低分辨率的圖像上計(jì)算卷積,會(huì)降低效率。
ESPCN提出一種在低分辨率圖像上直接計(jì)算卷積得到高分辨率圖像的高效率方法。
ESPCN的核心概念是亞像素卷積層(sub-pixel convolutional layer)。如上圖所示,網(wǎng)絡(luò)的輸入是原始低分辨率圖像,通過兩個(gè)卷積層以后,得到的特征圖像大小與輸入圖像一樣,但是特征通道為r2r2(r是圖像的目標(biāo)放大倍數(shù))。將每個(gè)像素的r2r2個(gè)通道重新排列成一個(gè)r×rr×r的區(qū)域,對(duì)應(yīng)于高分辨率圖像中的一個(gè)r×rr×r大小的子塊,從而大小為r2×H×Wr2×H×W的特征圖像被重新排列成1×rH×rW1×rH×rW大小的高分辨率圖像。這個(gè)變換雖然被稱作sub-pixel convolution, 但實(shí)際上并沒有卷積操作。
通過使用sub-pixel convolution, 圖像從低分辨率到高分辨率放大的過程,插值函數(shù)被隱含地包含在前面的卷積層中,可以自動(dòng)學(xué)習(xí)到。只在最后一層對(duì)圖像大小做變換,前面的卷積運(yùn)算由于在低分辨率圖像上進(jìn)行,因此效率會(huì)較高。
參考:
http://blog.csdn.net/zuolunqiang/article/details/52401802
super-resolution技術(shù)日記——ESPCN
FSRCNN
FSRCNN(Fast Super-Resolution CNN)是Chao Dong繼SRCNN之后的又一作品。
論文:
《Accelerating the Super-Resolution Convolutional Neural Network》
代碼:
https://github.com/66wangxuewen99/Super-Resolution/tree/master/FSRCNN
上圖是FSRCNN和SRCNN的網(wǎng)絡(luò)結(jié)構(gòu)對(duì)比圖。其中的Conv(fi,ni,ci)Conv(fi,ni,ci)中的fi,ni,cifi,ni,ci分別表示filter的大小、數(shù)量和通道的個(gè)數(shù)。
FSRCNN主要做了如下改進(jìn):
1.直接輸入LR的圖片。這和ESPCN思路一致。
2.將SRCNN中的Non-linear mapping分為Shrinking、Mapping、Expanding三個(gè)階段。
3.使用Deconv重建HR圖像。
ESPCN的論文中指出他們的sub-pixel convolution效果優(yōu)于Deconv。但由于ESPCN和FSRCNN出來的時(shí)間都差不多,尚未有他們兩個(gè)正式PK的成績(jī)。
參考:
http://blog.csdn.net/zuolunqiang/article/details/52411673
super-resolution技術(shù)日記——FSRCNN
VESPCN
看名字就知道,VESPCN(Video ESPCN)仍然是ESPCN原班人馬Wenzhe Shi和Jose Caballero作品。
論文:
《Real-Time Video Super-Resolution with Spatio-Temporal Networks and Motion Compensation》
在視頻圖像的SR問題中,相鄰幾幀具有很強(qiáng)的關(guān)聯(lián)性,上述幾種方法都只在單幅圖像上進(jìn)行處理,而VESPCN提出使用視頻中的時(shí)間序列圖像進(jìn)行高分辨率重建,并且能達(dá)到實(shí)時(shí)處理的效率要求。其方法示意圖如下,主要包括三個(gè)方面:
一是糾正相鄰幀的位移偏差,即先通過Motion estimation估計(jì)出位移,然后利用位移參數(shù)對(duì)相鄰幀進(jìn)行空間變換,將二者對(duì)齊。二是把對(duì)齊后的相鄰若干幀疊放在一起,當(dāng)做一個(gè)三維數(shù)據(jù),在低分辨率的三維數(shù)據(jù)上使用三維卷積,得到的結(jié)果大小為r2×H×Wr2×H×W。三是利用ESPCN的思想將該卷積結(jié)果重新排列得到大小為1×rH×rW1×rH×rW的高分辨率圖像。
Motion estimation這個(gè)過程可以通過傳統(tǒng)的光流算法來計(jì)算,DeepMind提出了一個(gè)Spatial Transformer Networks, 通過CNN來估計(jì)空間變換參數(shù)。VESPCN使用了這個(gè)方法,并且使用多尺度的Motion estimation:先在比輸入圖像低的分辨率上得到一個(gè)初始變換,再在與輸入圖像相同的分辨率上得到更精確的結(jié)果,如下圖所示:
由于SR重建和相鄰幀之間的位移估計(jì)都通過神經(jīng)網(wǎng)路來實(shí)現(xiàn),它們可以融合在一起進(jìn)行端到端的聯(lián)合訓(xùn)練。為此,VESPCN使用的損失函數(shù)如下:
(θ?,θ?Δ)=argminθ,θΔ‖IHRt?f(I′LRt?1:t+1;θ)‖22+∑i=±1[β‖I′LRt+i?ILRt‖22+λ(?x,yΔt+i)](θ?,θΔ?)=arg?minθ,θΔ?‖ItHR?f(It?1:t+1′LR;θ)‖22+∑i=±1[β‖It+i′LR?ItLR‖22+λH(?x,yΔt+i)]
第一項(xiàng)是衡量重建結(jié)果和Golden標(biāo)準(zhǔn)之間的差異,第二項(xiàng)是衡量相鄰輸入幀在空間對(duì)齊后的差異,第三項(xiàng)是平滑化空間位移場(chǎng)。
SRGAN
SRGAN還是ESPCN原班人馬的作品。
論文:
《Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network》
SRGAN將生成式對(duì)抗網(wǎng)絡(luò)(GAN)用于SR問題。其出發(fā)點(diǎn)是傳統(tǒng)的方法一般處理的是較小的放大倍數(shù),當(dāng)圖像的放大倍數(shù)在4以上時(shí),很容易使得到的結(jié)果顯得過于平滑,而缺少一些細(xì)節(jié)上的真實(shí)感。因此SRGAN使用GAN來生成圖像中的細(xì)節(jié)。
傳統(tǒng)的方法使用的代價(jià)函數(shù)一般是最小均方差(MSE),即:
lSRMSE=1r2WH∑x=1rW∑y=1rH(IHRx,y?GθG(ILR)x,y)2lMSESR=1r2WH∑x=1rW∑y=1rH(Ix,yHR?GθG(ILR)x,y)2
該代價(jià)函數(shù)使重建結(jié)果有較高的信噪比,但是缺少了高頻信息,出現(xiàn)過度平滑的紋理。SRGAN認(rèn)為,應(yīng)當(dāng)使重建的高分辨率圖像與真實(shí)的高分辨率圖像無論是低層次的像素值上,還是高層次的抽象特征上,和整體概念和風(fēng)格上,都應(yīng)當(dāng)接近。
上圖展示了MSE和GAN方法的區(qū)別。
整體概念和風(fēng)格如何來評(píng)估呢?可以使用一個(gè)判別器,判斷一副高分辨率圖像是由算法生成的還是真實(shí)的。如果一個(gè)判別器無法區(qū)分出來,那么由算法生成的圖像就達(dá)到了以假亂真的效果。
因此,該文章將代價(jià)函數(shù)改進(jìn)為:
lSR=lSRX+10?3lSRGenlSR=lXSR+10?3lGenSR
第一部分是基于內(nèi)容的代價(jià)函數(shù)(content loss),第二部分是基于對(duì)抗學(xué)習(xí)的代價(jià)函數(shù)(adversarial loss)。
論文中以VGG作為基礎(chǔ)網(wǎng)絡(luò),因此content loss又可表述為:
lSRVGG/i,j=1Wi,jHi,j∑x=1Wi,j∑y=1Hi,j(?i,j(IHR)x,y??i,j(GθG(ILR))x,y)2lVGG/i,jSR=1Wi,jHi,j∑x=1Wi,j∑y=1Hi,j(?i,j(IHR)x,y??i,j(GθG(ILR))x,y)2
adversarial loss為:
lSRGen=∑n=1N?logDθD(GθG(ILR))lGenSR=∑n=1N?log?DθD(GθG(ILR))
SRGAN的網(wǎng)絡(luò)結(jié)構(gòu)如下圖所示:
由于SRGAN的目標(biāo)不在于最小化MSE,因此通常情況下,它的PSNR和SSIM都不是太好,但的確能提供一些其它方法無法提供的細(xì)節(jié)。
DemosaicNet
DemosaicNet是MIT CSAIL的在讀博士生Micha?l Gharbi的作品。
論文:
《Deep Joint Demosaicking and Denoising》
代碼:
https://github.com/mgharbi/demosaicnet
在《圖像處理理論(四)》中,我們提到了ISP處理的一般流程。而SR的一大用途就在于ISP。
上圖是ISP處理的一般流程,其中的Demosaic和Image Enhancement,都可以通過NN的端到端學(xué)習(xí)一次性完成。DemosaicNet就是其中的代表,它的網(wǎng)絡(luò)結(jié)構(gòu)如下:
和之前的網(wǎng)絡(luò)不同,DemosaicNet的輸入是原始的Bayer Array數(shù)據(jù),而輸出是處理好的圖片。
由于并沒有那么多圖片的Bayer Array數(shù)據(jù),因此通常的做法是使用HR圖片經(jīng)采樣得到Bayer Array數(shù)據(jù)。
DemosaicNet的設(shè)計(jì)借鑒了ResNet的Skip Connection的方案,只不過使用Concat代替了ResNet的Add操作而已。
這里再額外補(bǔ)充兩點(diǎn):
1.Demosaic處理不當(dāng),會(huì)導(dǎo)致如下問題:
2.將出錯(cuò)的mine hard case,進(jìn)行retrain,可以有效的提升模型的效果。
MemNet
MemNet是南京理工大學(xué)的作品。
論文:
《MemNet: A Persistent Memory Network for Image Restoration》
代碼:
https://github.com/tyshiwo/MemNet
沒啥好講的,無非RNN和Resnet在原理上是等價(jià)的而已。結(jié)構(gòu)上和DRCN幾乎一樣,不知道誰抄誰。。。
參考:
https://mp.weixin.qq.com/s/KxQ-GRnEYEdmS2H-DHIHOg
南京理工大學(xué)ICCV 2017論文:圖像超分辨率模型MemNet
RDN
Residual Dense Network是美國(guó)東北大學(xué)的張宇倫的作品。
Yulun Zhang,西安電子科技大學(xué)本科(2013年)+清華碩士(2017年),現(xiàn)為博士一年級(jí)。
個(gè)人主頁:
http://yulunzhang.com/
論文:
《Residual Dense Network for Image Super-Resolution》
該論文在比較Residual block和Dense block的基礎(chǔ)之上,提出了Residual dense block。
中規(guī)中矩的論文吧,熟悉Residual block和Dense block的人應(yīng)該能秒懂,不多說了。
這類基本結(jié)構(gòu)的SR應(yīng)用除了MemNet和RDN之外,還有更早的SRResnet和SRDensenet,光聽名字估計(jì)就知道是怎么回事了,灌水利器啊!
參考:
https://mp.weixin.qq.com/s/_r3MKxMTIR856ezEozFOGA
殘差密集網(wǎng)絡(luò):利用所有分層特征的圖像超分辨率網(wǎng)絡(luò)
ShuffleSeg
ShuffleSeg是開羅大學(xué)的Mostafa Gamal和Mennatullah Siam的作品(2018.3)。看名字應(yīng)該是阿拉伯人,而且一男一女。
論文:
《ShuffleSeg: Real-time Semantic Segmentation Network》
代碼:
https://github.com/MSiam/TFSegmentation
這是一個(gè)語義分割的網(wǎng)絡(luò),本來不該放在這里。然而既然要灌水,那就灌的更猛一些吧。ShuffleNet也難逃毒手。
參考:
https://mp.weixin.qq.com/s/W2reKR5prcf3_DMp53-2yw
新型實(shí)時(shí)形義分割網(wǎng)絡(luò)ShuffleSeg:可用于嵌入式設(shè)備
Fast Image Processing
上圖是照片界常用的幾種修圖方式之一。一般將這些圖片風(fēng)格轉(zhuǎn)換的算法,稱為圖像處理算子(image processing operators)。如何加速image processing operators的計(jì)算,就成為了學(xué)界研究的課題之一。
本文提出的模型就是用來加速image processing operators計(jì)算的。它是Intel Lab的Qifeng Chen和Jia Xu于2017年提出的。
論文:
《Fast Image Processing with Fully-Convolutional Networks》
代碼:
https://github.com/CQFIO/FastImageProcessing
Demo網(wǎng)站:
http://cqf.io/ImageProcessing/
總結(jié)
以上是生活随笔為你收集整理的深度学习(二十二)——ESPCN, FSRCNN, VESPCN, SRGAN, DemosaicNet, MemNet, RDN, ShuffleSeg的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深度学习(二十一)——SRCNN, DR
- 下一篇: 深度学习(二十三)——Fast Imag