祝旭陽,于俊洋,郝艷艷
1(河南大學 軟件學院,開封 475004)
2(河南工業(yè)貿易職業(yè)學院 信息工程學院,鄭州 451191)
超分辨率重建(super-resolution,SR)技術旨在通過特定的約束函數把低分辨率圖像重建為高分辨率圖像. 由于圖像生成容易受到設備,天氣,光照和環(huán)境等因素的干擾只能獲得低分辨率圖像,然而高分辨率圖像往往含有更豐富的信息,具有極大價值. 提高圖像分辨率的最直接手段就是改善成像設備,但是這種方式會加重個人和中小企業(yè)的成本負擔. 而圖像超分辨率重建技術是通過編程算法對低分辨率圖像進行處理得到高分辨率圖像,這種方法成本極低,因此圖像超分辨率技術被廣泛應用于智能監(jiān)控、國防軍事、醫(yī)學圖像和遙感衛(wèi)星等領域中.
圖像超分辨率重建技術方法大致可以分為3 類:基于插值[1],基于重建[2]和基于學習[3]. 基于插值的方法通過子像素和周圍像素的空間位置關系利用數學公式推導插入新像素點,基于插值的方法有最近鄰插值,雙線性插值和雙三次插值(bicubic),這種插值方法實現簡單快捷. 基于重建的方法是對圖像的整體信息通過數學方式進行結合然后重建出高分辨率圖像,常用的方法有迭代反投影法(IBP)[4],凸集投影法(POCS)[5]和最大后驗概率估計法(MAP)[6]. 基于學習[7–9]的圖像超分辨率重建方法通過學習低分辨率圖像和高分辨率圖像之間的映射關系,得到大量先驗知識來指導圖像重建. 上述都屬于基于傳統(tǒng)方法,算法簡單,處理速度快,但是存在著邊緣紋理模糊,圖像效果不好的問題.
近年來,通過結合卷積神經網絡,學習低分辨率圖像和高分辨率圖像之間的復雜關系,達到了更好的重建效果. Dong 等人[10]提出了深度卷積網絡的圖像超分辨率(super-resolution convolutional neural network,SRCNN)重建模型,結合卷積神經網絡通過端到端的訓練方式,大大提高了重建圖像質量,但是由于SRCNN在網絡模型中使用雙三次插值的方法實現對圖像的放大操作,會破壞圖像原有的細節(jié)信息,導致重建效果還不夠理想. 因此在SRCNN 的基礎上,Dong 等人[11]提出了加速圖像超分辨率重建的卷積神經網絡(fast superresolution convolutional neural networks,FSRCNN)模型,在網絡層最后引入反卷積層代替雙三次插值對輸入圖像進行尺寸放大,并且使用更小的卷積核和更多的卷積層達到加快模型速度的目的. Shi 等人[12]提出了一種基于亞像素卷積網絡的ESPCN,將亞像素卷積引入到圖像上采樣工作中,提高了圖像重建效果.
本文針對FSRCNN 模型中存在的圖像特征信息提取不充分和反卷積上采樣帶來的人工冗余信息問題,提出了一種多尺度融合卷積神經網絡,首先在淺層特征提取階段設計了一種多尺度融合通道,增強對圖像中的高頻有用信息特征的提取能力; 其次在圖像重建部分使用亞像素卷積代替反卷積層進行上采樣,避免反卷積層的人工冗余信息引入. 實驗結果表明,與FSRCNN 模型相比,在Set5 和Set14 數據集中,2 倍放大因子下的PSNR值和SSIM值平均提高了0.14 dB、0.001 0,在3 倍放大因子下平均提高0.48 dB、0.009 1.
圖1 為FSRCNN 的網絡結構,其中,Conv(x,y,z)中,x代表卷積核大小,y代表卷積層輸出通道,z代表卷積層輸入通道. 分為5 層: 第1 層對低分辨率圖像進行特征提取,卷積核大小是5,輸入通道為1,輸出通道是56. 第2 層是縮減層,減少模型的參數量,提高算法速度. 第3 層是學習映射層,對圖像信息進行非線性學習. 第4 層是擴大層,增加圖像特征圖數量. 第5 層是反卷積層,對圖像上采樣得到重建圖像.
圖1 FSRCNN 的網絡結構
子像素卷積又稱像素重排序(pixel shuffle),像素重排是將不同通道的特征圖排序到同一個通道上,以此達到對圖像的像素增多的目的. 如圖2 為子像素卷積對圖像重建過程,假設低分辨率圖像大小為3×3 大小,若想得到一個9×9 大小的圖像,即需要對原本的圖像放大3 倍,首先使用1×1 大小的卷積核對原低分辨率圖像進行卷積操作,生成 32=9 個3×3 大小的特征圖,然后將這9 個相同尺寸特征圖進行像素的重新排列,拼成一個放大3 倍的高分辨率圖像.
圖2 子像素卷積
如圖3 所示為本文網絡結構,分為5 層: 第1 層為本文算法設計的一種多尺度特征融合提取通道,引用不同大小尺寸的卷積核對低像素圖像進行特征提取,提高對圖像中不同尺度的高頻有用信息的提取能力.第5 層為子像素卷積重建層,引入了子像素卷積的方法對圖像進行重建,抑制反卷積層帶來的人工信息冗余問題,提高圖像的重建質量.
圖3 本文結構
為實現圖像超分辨率重建,需要對算法卷積神經網絡模型進行訓練. 如圖4 所示,訓練過程首先將高分辨率圖像下采樣得到低分辨率圖像,將高分辨率圖像和低分辨率圖像分別切割,獲得若干成對對應訓練樣本,將高分辨率圖像和低分辨率圖像成對輸入卷積神經網絡中進行訓練,通過損失函數指導卷積神經網絡更新權重,經過多輪迭代,最終得到圖像超分辨率重建模型. 在測試階段,將低分辨率圖像送入訓練完成的模型,即可重建出高分辨率圖像.
圖4 模型構建和訓練過程
綜上,本文在FSRCNN 模型的基礎上設計了一種了多分支融合特征提取通道,提高算法對圖像有用信息的提取能力; 在圖像重建部分,使用子像素卷積代替反卷積,實現對圖像的重建,抑制人工冗余信息的引入.
在FSRCNN 模型使用了一層56 個5×5 大小卷積核的卷積層進行特征提取工作,本文設計了一種多尺度融合特征提取通道,結合跳躍連接和特征融合操作,使用3 個不同大小的卷積核分別對輸入圖像進行特征提取. 針對圖像的易模糊邊緣輪廓和細節(jié)特征的提取難度問題,如圖5 所示為多尺度特征提取通道的結構圖. 第一個通道為56 個1×1 大小的卷積核,獲得圖像的細節(jié)特征,具體實現公式為:
圖5 多尺度特征提取通道結構
其中,F11(Y)表示第一通道卷積層輸出的特征圖,W11表示第一通道卷積層的權重,B11表示偏置項.
第2 通道和第3 通道分別為28 個3×3 和5×5 大小卷積核進行特征提取并拼接到一起,第2 通道的具體實現公式為:
其中,F12(Y)表示第2 通道卷積層輸出的特征圖,W12表示第2 通道卷積層的權重,B12表示偏置項. 第3 通道的具體實現公式為:
其中,F13(Y)表示第3 通道卷積層輸出的特征圖,W13表示第3 通道卷積層的權重,B13表示偏置項.
由于第2 通道和第3 通道分別采用了3×3 和5×5 的卷積核進行特征提取,不同尺寸的卷積核可以獲得不同尺度的特征信息,通過Contact 操作將不同的特征信息進行拼接,具體實現公式為:
之后將不同尺度的特征信息通過長跳躍連接(LSC)操作進行特征融合從而保證圖像信息的流通性和完整性. 具體實現公式為:
其中,F1(Y)表示特征融合后得到的特征圖,W14表示特征融合層的權重,B1表示該層的偏置項. 相比FSRCNN 模型[11]僅有一個5×5 大小的卷積核作為特征提取通道,多尺度特征融合特征提取通道對圖像的不同尺度的信息提取更充分,加強了算法網絡模型的特征提取能力.
在算法的圖像重建部分,反卷積操作實現了對圖像的放大,在重建過程中使用反卷積填充圖像內容,使得圖像內容變得豐富,然而反卷積存在過多人工冗余信息引入的問題,為了解決這個問題,我們在圖像重建部分引用子像素卷積替代反卷積實現對圖像的上采樣過程.
如圖6 所示,首先使用1×1 的卷積對擴大圖像輸入通道,然后通過像素重排擴大圖像的分辨率. 若子像素卷積重建之前有r×r個通道特征圖,則通過使用子像素卷積重建會將r×r個特征圖通過特定的排序規(guī)則重新生成一副w×r,h×r的圖像.
圖6 上采樣路徑示意圖
本文算法采用MSE損失函數,即均方損失函數.經過超分辨率重建神經網絡重建得到的圖像f(xi)和真值圖像yi,通過對網絡模型進行訓練使損失函數的值減小從而指導低像素圖像重建出更好效果的高分辨率圖像.MSE損失函數如式(6)所示:
使用的激活函數為PReLU[13],即帶參數的ReLU函數,避免ReLU 函數中零梯度壞死特性,并且還可以實現更高的準確率,PReLU 激活函數表達式如式(7):
其中,Yi是第i通道的輸出,λ為PReLU 的參數,且會隨著訓練次數的增加而不斷更新.
如圖7,圖8 所示為本文算法訓練階段的損失函數收斂曲線圖. 放大因子為×2 時,在迭代到17 時,損失函數收斂. 當放大因子為×3 時,訓練迭代到18 代時,損失函數收斂.
圖7 放大因子為×2 時損失函數收斂圖
圖8 放大因子為×3 時損失函數收斂圖
實驗用91-image 數據集對模型進行訓練,首先對輸入的圖片進行數據增強,將圖像旋轉90°、180°、270°,并縮小0.9、0.8、0.7、0.6 倍,實現對數據集擴充的目的.
測試集: 選用Set5[14]和Set14[15]公開數據集作為測試集進行效果度量.
本文算法采用Adam (Adam optimization algorithm)來優(yōu)化損失函數,學習率設置為0.000 1,訓練的批處理大小為16,訓練迭代次數設置為20 次. 深度學習框架為PyTorch 1.2,實驗的操作系統(tǒng)是Ubuntu 16.04,服務器是內存8 GB 的Tesla P4.
本文采用峰值信噪比(PSNR)[16]和結構相似度(SSIM)[17]作為重建效果的評價指標,PSNR值越大證明重建圖像比真值圖像失真越少.PSNR的公式如式(9):
其中,MSE表示均方誤差,H和W分別表示圖像的長度和寬度,X(i,j)表示真值圖像,Y(i,j)表示重建后的圖像.峰值信噪比的單位為dB,值越大表示重建效果越好.
SSIM也常用來評價圖像重建效果,SSIM用來評價重建圖像與真值圖像的結構相似性,值越大代表相似性越高,重建效果越好.SSIM的計算公式為:
其中,μH、μL分別表示圖像H和L的均值,σH、 σL分別表示圖像H和L的標準差,σ2H、σ2L分別表示圖像H和L的方差,σHL表示圖像H和L協(xié)方差.c1,c2和c3為常數.
本文在Set5 和Set14 數據集上,對比了Bicubic、SRCNN[10]、FSRCNN[11]. 由表1 和表2 可以看出,從客觀評價標準出發(fā),對比不同算法,本文算法的重建質量優(yōu)于其他幾種算法. 相較于FSRCNN 算法,在Set5 測試集上,當放大因子為×2 和×3 時,PSNR值分別提高了0.15 dB 和0.57 dB. 在Set14 測試集上分別提高了0.13 dB、0.39 dB. 在Set5 測試集上,當放大因子為×2 和×3 時,SSIM值分別提高了0.001 9 和0.010 8. 在Set14 測試集上,SSIM值分別提高了0.000 2 和0.007 5.
表1 不同重建算法的PSNR 結果(dB)
表2 不同重建算法的SSIM 結果
如圖9 和圖10 所示,圖像通過不同的超分辨率重建算法獲得了不同的效果圖,可以看到,相較于傳統(tǒng)的Bicubic 算法,SRCNN 對圖像重建質量提升了很多,FSRCNN 改善了圖像的紋理細節(jié)并且避免了噪聲對圖像細節(jié)的影響,而本文所提出的算法較之原來的方法保留更多的圖像細節(jié)特征,這主要是得益于多尺度特征融合通道對特征提取能力的提高和子像素卷積對人工冗余信息的抑制作用.
圖9 不同算法重建結果圖對比
圖10 不同算法重建效果圖對比
本文提出了一種基于多尺度卷積神經網絡的圖像超分辨率重建算法,在算法的特征提取階段,設計了多通道多尺度特征提取方法,分別使用1×1、3×3 和5×5 大小的卷積核,對圖像的不同特征運用不同尺寸的卷積操作,并結合跳躍鏈接和特征融合操作,提高對圖像特征信息的感知能力. 在圖像重建階段,使用子像素卷積避免反卷積層引用過多的人工冗余信息,提高重建圖像的質量. 下一步將研究在網絡結構中結合圖像的全局信息和局部信息,在訓練階段充分利用高分辨率圖像中的高頻有用信息指導圖像重建過程,從而提高重建圖像的質量.