宦 海 李鵬程 朱蓉蓉 陳逸飛
(南京信息工程大學電子與信息工程學院 江蘇 南京 210044)
圖像分辨率是一種性能參數,其作用主要是衡量圖像在細節(jié)表現方面的能力以及其蘊含的信息量大小。圖像分辨率多種多樣,其含義也各不相同,有時間和空間分辨率等,這些分辨率都能對成像系統所拍出的圖像在細節(jié)信息方面是否表現詳細進行一個客觀的評價。低分辨率圖像所能包含的像素密度、清晰度、紋理細節(jié)信息都遠遠低于高分辨率圖像。因此,高分辨率圖像所包含的信息可信賴度會更高。致使提升圖像分辨率也變得越來越重要,對拍照工具中的光學硬件進行改進提高,這是最直接的一種做法,但是其受限程度太大[1],比如:改進光學硬件制造工藝的難度巨大、制造高品質的光學硬件成本會極大地增加等。但是從軟件編程和算法的角度來說,可以投入較少的成本并提高圖像重建的效率。所以在圖像處理領域當中,對算法軟件的研究成為熱點話題。
圖像超分辨率重建技術有兩種,一種是從眾多低分辨率圖像中提取高價值信息并相互彌補信息缺漏從而合成一幅高分辨率圖像;另外一種是從單幅低分辨率圖像中提取信息并經過軟件算法把丟失的高頻信息恢復從而優(yōu)化成一幅高分辨率圖像[2]。本文主要討論第二種重建方式。
自從圖像超分辨率重構技術被提出,便受到很多學者的關注,發(fā)展階段[3]如下: “
圖像超分辨率” 的概念是20世紀中葉被Harris等第一次提出來的。但當時超分辨率重構只有理論并沒有付諸實際研究;把理論付諸實踐階段進行發(fā)展是從1984年,Tsai等運用傅里葉變換域的方法對多幅低分辨率圖像進行信息處理然后生成一幅具有高分辨率的圖像,這是首次把對圖像重建與軟件技術相關聯的思想付諸實踐當中;Dong等[4]提出SRCNN(Super-resolution Convolutional Neural Network)結構,其最重大的貢獻是在單幅圖片超分辨率重構領域引入了深度學習,此創(chuàng)新使這一領域重新煥發(fā)新機,掀起研究新浪潮;Twitter的Shi等[5]提出了一種新的網絡模型—ESPCN(Efficient Sub-Pixel Convolutional Neural Network),該模型最大的特點就是引入了亞像素卷積的概念,把像素進行了重新排列,從而達到對原始低分辨率圖像的亞像素信息進行填充的目的,這一創(chuàng)新點最大的貢獻在于能夠對圖像重構放大倍數進行靈活調整,這一策略具有深遠意義;VDSR[6](Very Deep Super-Resolution)最大的特點就是層數很多并運用了大量的殘差網絡結構, 使得越深的網絡層擁有更大的感受野,解決了之前網絡結構比較深時無法訓練的問題; ZSSR[7](ZeroShotSR)算法是第一篇采用無監(jiān)督方式搭建的卷積神經網絡超分辨率算法,能對非理想條件下的圖像進行處理且計算量小無任何尺寸限制,可應用到任何比例的超分辨率任務;IDN[8]網絡每一層有相對較少的濾波器數目執(zhí)行速度快,并且使用了分組卷積等。
在深度學習領域中,網絡越深發(fā)現擬合能力越強,但是當無限制地增加網絡的深度的時候會出現梯度爆炸和過擬合的現象,所以ResNet[9]殘差塊(如圖1所示)就是為了解決梯度爆炸[10]并增強特征傳播能力而提出的一個新思路。
殘差函數的公式如下:
y=F(x,Wi)+x
(1)
式中:x代表輸入由shortcut傳入高層;y代表輸出;所學習的殘差映射用函數F(x,Wi)表示。圖1所示的ResNet殘差塊,有兩個殘差映射層,輸入x經過第一個權重層(Weight Layer)輸出F(W1x),然后經過激活函數ReLU作為第二個權重層的輸入,第二個權重層輸出F(W2σ(W1x)),所以此殘差塊的最終輸出為y=F(W2σ(W1x))+x,其中σ為激活函數ReLU。
因為第一層權重經過正則化很容易使輸出變?yōu)镕(x)=0,這樣把包含兩層權重層的殘差塊放在網絡的中間層或靠后層,此操作對于之前輸出的結果不會造成消極的影響,而且殘差塊中的隱藏單元可學到一些有用信息,會對輸出造成積極影響,從而深層網絡會獲取淺層網絡中比較重要的信息。
空洞卷積[11]是在原卷積核中等間隔地添加0像素值,其實現的方式有兩種:(1) 把0像素值直接填入到卷積核當中作為一個新的卷積核;(2) 間接在卷積核前輸入等間隔的采樣。標準卷積與空洞卷積最大的差別就是感受野的不同,但是輸出形式相同??筛爬榭斩淳矸e是等間隔添加0像素值的標準卷積,是標準卷積的特殊形式。
在視覺任務處理的過程中,多尺度的信息是非常重要的,而多尺度信息依賴于感受野的不同,之前的網絡比如SegNet[12]就是先卷積再池化就是為了增加感受野并減少計算量,但是這樣先縮小再擴大的方式會使分辨率在空間上有所損失。為了滿足這個過程并保證空間分辨率沒有損失或降低損失,所以使用空洞卷積,即擴大了感受野而且參數不額外增加。為了對多尺度上下文的信息進行捕獲,空洞卷積中有一個參數dilation-rate,設置不同的數值可以令感受野有所不同,即在卷積核中加入(dilation-rate-1)個0,如下以標準卷積3×3的卷積核為例展示。
圖2為空洞卷積原理圖,不同的dilation-rate所對應的空洞卷積核的感受野不同,圖2(a)為dilation-rate=1的3×3卷積核,其感受野和標準卷積一樣為3×3;圖2(b)為dilation-rate=2的3×3卷積核,其感受野為5×5;圖2(c)為dilation-rate=5的3×3卷積核,其感受野為11×11。
空洞卷積的感受野以及輸出特征圖分辨率大小的公式如下:
R=(d-1)(k-1)+k
(2)
(3)
式中:d表示空洞卷積參數dilation-rate;k表示標準卷積核的大小;R代表空洞卷積神經網絡特征所能看到輸入圖像的區(qū)域即感受野;H表示經空洞卷積輸出的特征圖分辨率;h表示輸入特征圖的分辨率;p表示邊緣填充尺寸;s為卷積操作中每次窗口移動的像素數。
空洞卷積在沒提高參數量的情況下提高了感受野,但是與此同時帶來了一個比較嚴峻的問題:通過前面對空洞卷積原理的介紹可知,空洞卷積對輸入特征圖上的像素點是離散采樣的,那么這樣就可能會出現有的像素點沒有被采樣到從而導致部分像素點丟失造成權重矩陣不連續(xù)的情況,因此在無規(guī)則堆疊空洞卷積的情況下會對信息的連續(xù)性造成損失,即gridding(網格)效應。為保證結構中卷積核的連續(xù)性,避免出現gridding問題,應滿足混合空洞卷積框架設計原則(Hybrid Dilated Convolution, HDC)[13]。本文在每個空洞卷積前面加不同尺寸的標準傳統卷積,然后把空洞卷積的輸出送到BN(Batch Normalization)層至ReLU激活后與殘差連接相加構成空洞卷積串聯模塊如圖3所示。
空洞卷積串聯模塊工作原理如圖4所示,深色塊表示該位置的像素值是否被空洞卷積核放入計算當中,可以發(fā)現輸入的特征圖經過dilation-rate=5、dilation-rate=2、dilation-rate=1的3×3空洞卷積后特征圖上的每一個像素點都被利用到了,滿足HDC原則,可以有效地糾正經過空洞卷積權重矩陣信息不連續(xù)的缺點,去除網格效應。空洞卷積前加標準卷積是為了提高中心采樣點的重要性,模仿人眼視覺皮層神經元工作特性,改善重建圖像視覺效果。
圖5為空洞卷積并聯模塊,其過程為:輸入特征圖從多路出發(fā),經尺寸為dilation-rate的標準傳統卷積核、BN層與激活層輸送到空洞率為dilation-rate的空洞卷積中,再把不同dilation-rate的空洞卷積輸出逐級疊加后經Concat模塊與殘差連接相加。此處的疊加方法與普通空洞卷積疊加方法還是有所區(qū)別的,逐級疊加的設計和在每個空洞卷積的前一層加上與dilation-rate大小相同的標準傳統卷積的設計,一方面是為了使不同感受野相融合來捕捉多尺度信息,另一方面同空洞卷積串聯模塊相似也是為了提高采樣中心點的重要性,模仿人眼視覺皮層神經元工作特性,改善重建圖像的視覺效果。
圖6所示為本文網絡的主體結構,由圖3空洞卷積串聯模塊和圖5空洞卷積并聯模塊以及結合殘差思想構成的空洞卷積混聯模塊(DCM模塊)。首先利用空洞卷積并聯模塊把不同dilation-rate空洞卷積的輸出逐層相加,其作用就是把不同的感受野相疊加捕捉多尺度信息,并利用多尺寸標準卷積提高重建視覺效果;然后利用空洞卷積串聯模塊有效地糾正經過空洞卷積權重矩陣信息不連續(xù)的缺點,消除空洞卷積網格效應,并再次使用多尺寸標準卷積提高重建視覺效果;最后利用殘差的shortcut連接把低層的信息直接傳遞到高層,解決網絡退化問題,使前后信息的傳播更加順暢。
本文模型以91幅圖像作為訓練集,網絡的損失函數loss為均方誤差(Mean Square Error,MSE),優(yōu)化器選作ADAM,最開始的學習率設為1×10-5,每次輸入128幅17×17的圖像塊進行訓練。訓練實驗中使用的服務器為taitanX,編程語言用的是Python3.6版本,框架是TensorFlow1.14.0版本,以Set5、Set14、BSD500數據集作為驗證集。
本文用了兩種方式對構建的超分辨重建模型進行評估,并對這兩種評價標準的優(yōu)缺點進行細致的介紹。第一種為PSNR[14]( Peak Signal to Noise Ratio),峰值信噪比,是最為常用的評價標準;第二種是SSIM(Structural Similarity) ,結構相似,其與人類視覺評判最為接近。
峰值信噪比PSNR對單幅超分辨率重建后的圖像的評價是使用比較廣泛和常見的,以MSE為損失函數,MSE是原始圖像和解碼后圖像之間差異的度量, 即原始圖像和解碼后圖像的均方誤差。PSNR與損失函數MSE緊緊掛鉤,所以訓練的時候就可以大致地評價出模型的好壞,其公式為:
(4)
(5)
式中:MAXI表示圖像顏色的最大數值;I表示無壓縮無失真的原始圖像和;K表示經過重建模型得到的高清圖像,兩幅圖像的大小皆為H×W的單色圖像。PSNR的值與重建效果成正比。
但是有時候會出現PSNR的值較大,其視覺效果卻很差的現象[15],因此引用SSIM。
結構相似性SSIM[16]可以抵消MSE無法衡量圖像結構相似性的缺陷,與人類視覺相似。為了得到輸入與輸出的相似性,需要輸入兩幅圖像到SSIM中,第一幅是無壓縮無失真的原始圖像X,第二幅圖像就是經過重建模型得到的高清圖像Y。因為人眼對圖像中最為敏感的部分就是結構信息,所以為了模仿人眼判別重建圖像的質量,可以把結構信息作為評價標準之一。單從局部角度結構信息S(x,y)上考慮,照明條件以及圖像對比度對于圖像的結構信息影響甚微,所以計算結構信息的時候,不考慮圖像亮度信息L(x,y)和對比度信息C(x,y),又因為亮度信息用數學方法表示為圖像所有像素點的均值(μi為i圖像所有像素的平均值),圖像的對比度信息用數學方法表示為圖像像素點的標準差(σi代表i圖像像素值的標準差),所以結構信息S(x,y)需要去掉圖像像素點的平均值和歸一化像素點的方差,僅用像素點的相關系數表示即可。但是若考慮全面,從實際出發(fā),亮度和對比度對圖像質量的好壞也會造成影響。綜上所述,判定重建圖像質量時既要考慮結構信息也需要考慮后兩者的影響,即結構相似性SSIM為式(9)所示,SSIM值與重建圖像的質量呈正相關,其最大值為1。
(6)
(7)
(8)
SSIM(x,y)=[L(x,y)α]·[C(x,y)β]·[S(x,y)γ]
(9)
設定α=β=γ=1,且為了增加計算結果的穩(wěn)定性即防止分母為0,所以取c2=9、c1=2、c3=(0.03L)2,其中L為像素的最大值[17],彩色圖像設L=255,所以式(9)可以簡化為:
(10)
設置卷積層數l=3,fi代表卷積核,ni代表通道數,[f1=5,n1=64],[f2=3,n2=32],[f3=3,n3=c_dim×scale×scale]。c_dim表示顏色維度,本文中c_dim=3代表圖像為RGB色彩空間。Scale代表超分辨率重建圖像的擴大因子,本文設置Scale=3,所以f3的通道數n3為c_dim×scale×scale=27。
所有的空洞卷積組合模塊在圖7網絡模型中有三個位置可供選擇,如圖7所示的①、②、③,下面對這三個位置進行實驗論證分析,對比結果選出最佳位置。因為f1、f2、f3三個卷積核所用的padding=‘SAME’,因此經過卷積核f1、f2、f3輸出的圖像塊大小是一致的,但是通道數卻是不一樣的,f1通道數n1是64,f2通道數n2是32,f3通道數n3是27,為了遵從常規(guī)實驗卷積核通道數依次遞減的特點,那么放在①處的空洞卷積通道數為64,②處的空洞卷積通道數為32,③處的空洞卷積通道數為27。因為通道數的大小會對實驗速度造成很大的影響,①處的空洞卷積通道數是②處的空洞卷積通道數的兩倍,所以實驗計算速度會大打折扣,因此在比較①和②兩個位置時,排除①選擇②。
②處的空洞卷積通道數與③處的空洞卷積通道數相差僅為5,速度相差不會太大,因此,實驗主要對比這兩位置對圖像重建效果質量的影響,為了研究不同結構對圖像重建效果的影響,大膽假設所有的空洞卷積組合模塊分別在圖7的②與③位置的六種結構,并將所有結構繪制如圖8所示。結構一與結構四是加入空洞卷積串聯模塊,結構二與結構五是加入空洞卷積并聯模塊,結構三與結構六是加入空洞卷積混聯模塊,每組內部差別在于模塊放置的位置不同,在放大比例為3時,比較各結構的圖像重建效果。
從表1中可知,結構六的圖像重建質量與其他五個結構相比,在Set14和BSD100數據集上效果最好。在數據集Set5上結構三模型的圖像重建質量最好,但是結構三與結構六模型重建效果相差較小。又因為結構六模型的空洞卷積通道數27要小于結構三模型的空洞卷積通道數32,所以在綜合考慮運行速度之后最終選擇結構六模型作為最佳高效圖像超分辨率重建模型,如圖9所示。
表1 所有結構重建效果對比結果
為了說明本文提出的圖9模型對于圖像超分辨率重建的效果有積極的作用,模型在放大倍數為3的情況下以數據集Set5、Set14、BSD100作為驗證,用PSNR和SSIM作為評價標準,與雙3次差值 (Bicubic)、SRCNN[4]、ESPCN[5]、VDSR[6]、ZSSR[7]、IDN[8]算法進行實驗結果對比,如表2所示。
表2 本文算法與其他SR網絡在基礎數據集上的重建效果對比
選擇一個傳統超分辨率方法Bicubic和五個基于深度學習的超分辨算法與本文方法在重建效果上進行比較,從表2可以看出在數據集Set5、Set14和BSD100上,本文設計的DCM方法在PSNR和SSIM的評價分數上都高于其他六種算法。至于在視覺效果方面比較,本文僅選擇顯示Bicubic、SRCNN、ESPCN和基于DCM方法的超分辨率重建圖像。根據圖10、圖11、圖12分別展示的視覺效果發(fā)現:本文的高效單幅圖像超分辨率重建模型與雙三次插值法(Bicubic)和SRCNN相比,在視覺效果上大大提高,可以看出高效重建模型重建出來的圖像在細節(jié)紋理方面處理得更為柔滑,表現得更為突出;與ESPCN算法相比雖然在視覺效果無法區(qū)分太明顯,但是根據表2可知PSNR和SSIM的評分數有所提高。至于最新幾種算法在視覺效果方面與DCM方法相比,人眼無法區(qū)分其差異,此處就不再顯示視覺效果。
本文通過對引進空洞卷積可能造成的消極影響進行分析,并提出一種通過加入空洞卷積混聯模塊來消除空洞卷積的Gridding效應從而僅保留空洞卷積提高感受野和能夠捕捉多尺度信息的積極作用,以此來提升超分辨率重建效果。使改進后的高效模型在Set5、Set14、BSD100數據集上進行檢測,結果顯示,以PSNR和SSIM為評價標準,本文設計帶有空洞卷積混聯模塊的模型擁有比傳統算法Bicubic和基于深度學習的SRCNN、ESPCN、VDSR、ZSSR、IDN算法更好的重建效果,與部分算法相比在視覺效果上面也有很大提高。