陳波, 翁謙, 葉少珍, 2
(1. 福州大學(xué)數(shù)學(xué)與計算機科學(xué)學(xué)院, 福建 福州 350108; 2. 福州大學(xué)智能制造仿真研究院, 福建 福州 350108)
圖像的超分辨率重建技術(shù)指的是將給定的低分辨率圖像通過特定的算法恢復(fù)成相應(yīng)的高分辨率圖像. 數(shù)字圖像的超分辨重建技術(shù)在現(xiàn)實生活中有著十分廣闊的應(yīng)用前景, 例如在互聯(lián)網(wǎng)通信、 醫(yī)療成像、 遙感成像、 圖像視頻處理等方面都有著十分重大的意義. 在實際應(yīng)用中, 受限于成像設(shè)備硬件制約、 視頻圖像傳輸帶寬, 抑或是成像模態(tài)本身的技術(shù)瓶頸, 并不是每一次都有條件獲得邊緣銳化、 無塊狀模糊的大尺寸高清圖像. 目前獲取高分辨率圖像的方法主要分為硬件和軟件層面.
硬件層面主要通過提升成像設(shè)備質(zhì)量, 如增大光學(xué)相機口徑、 增長相機焦距、 減小像元尺寸等, 但這種方式往往會帶來制造難度加大、 成本上升、 信噪比降低等問題, 因此僅僅通過提升硬件技術(shù)是行不通的, 采用軟件方法來獲取高分辨率圖像才是至關(guān)重要的研究方向. 根據(jù)不同的重建方法, 常見的超分辨率重建算法可以分為三類: 基于插值的超分辨率重建、 基于重構(gòu)的超分辨率重建、 基于學(xué)習(xí)的超分辨率重建.
常見的插值法如文獻[1]主要通過圖像已知像素點擬合周圍未知像素點的值, 該方法簡單、 易于理解, 但重建的圖像過于平滑, 在圖像灰度劇烈變化處產(chǎn)生震蕩, 丟失高頻信息. 經(jīng)典的基于學(xué)習(xí)的超分辨率重建方法如超分辨率卷積神經(jīng)網(wǎng)絡(luò)(SRCNN)[2], 使用一個三層的全卷積神經(jīng)網(wǎng)絡(luò), 這三層卷積的結(jié)構(gòu)可以解釋為以下步驟: 圖像塊的提取及特征表示, 特征非線性映射和超分辨率圖像的重建, SRCNN生成的圖像效果優(yōu)于傳統(tǒng)的插值法, 但其網(wǎng)絡(luò)結(jié)構(gòu)簡單, 在高倍超分辨率重建任務(wù)上效果較差.
文獻[3]在2016年首次將生成對抗網(wǎng)絡(luò)(generative adversarial networks, GAN)[3]模型應(yīng)用于超分辨率重建領(lǐng)域, 并取得了十分優(yōu)異的效果. 基于GAN的超分辨率重建算法(super-resolution reconstruction generative adversarial network, SRGAN)[4]是目前較為先進的一種基于學(xué)習(xí)的超分辨率重建算法, SRGAN生成的圖像首次在4倍超分辨率重建任務(wù)上恢復(fù)出了清晰的紋理細節(jié), 網(wǎng)絡(luò)性能顯著優(yōu)于其他深度學(xué)習(xí)網(wǎng)絡(luò). 但由于GAN訓(xùn)練不穩(wěn)定, 特征的傳播在深層網(wǎng)絡(luò)中失真情況較嚴重導(dǎo)致生成的高分辨率圖像未能達到最佳, 因此SRGAN仍然有著巨大的提升空間. 本研究提出一種改進的SRGAN模型, 通過改進生成器和判別器的損失函數(shù), 以保證GAN網(wǎng)絡(luò)訓(xùn)練時的穩(wěn)定性. 引入信息蒸餾塊, 在提取圖像淺層特征后, 通過堆疊多個信息蒸餾塊增強了特征圖在紋理處的有效信息, 一定程度上提升了生成器的生成性能, 從而生成更清晰、 更富細節(jié)的高分辨率圖像.

圖1 SRGAN模型原理圖Fig.1 Schematic diagram of SRGAN mode
SRGAN是一種基于GAN模型來對圖像進行超分辨重建的算法模型, 由生成器和判別器兩個部分組成. 用ISR來表示SRGAN網(wǎng)絡(luò)重建的超分辨率圖像.IHR是一個高分辨率圖像,ILR是IHR所對應(yīng)的低分辨率圖像, 由IHR通過降采樣得到. 生成器網(wǎng)絡(luò)用G來表示, 判別器網(wǎng)絡(luò)用D來表示. SRGAN模型原理圖如圖1所示.
生成器通過輸入ILR生成ISR, 并根據(jù)判別器的輸出進行梯度調(diào)整, 通過最小化損失函數(shù)不斷優(yōu)化生成器的生成性能, 以提升ISR分辨率. 判別器本質(zhì)上是一個二分類器, 正類為IHR, 負類為ISR. 采用交叉熵作為判別損失函數(shù), 輸出對應(yīng)的分類概率, 輸出范圍為[0, 1]. 生成器的優(yōu)化目標(biāo)是使得判別器無法區(qū)分IHR和ISR, 判別器的優(yōu)化目標(biāo)是能夠準(zhǔn)確區(qū)分IHR和ISR, 二者處于一種博弈狀態(tài), 在博弈過程中, 生成器和判別器的性能都會隨著訓(xùn)練提升, 最終達到納什平衡狀態(tài).
除了使用GAN進行超分辨率重建之外, 還提出傳統(tǒng)的超分辨率任務(wù), 通常使用ISR和IHR的均方根誤差(MSE)作為損失函數(shù), 雖然通過這種優(yōu)化目標(biāo)可以取得很高的峰值信噪比(peak signal-to-noise ratio, PSNR), 但PSNR是基于像素級圖像的差異來定義的, PSNR指標(biāo)無法完全符合人眼視覺的感官效果. 因此基于MSE優(yōu)化生成的圖像在圖像的紋理細節(jié)處往往表現(xiàn)的十分平滑, 缺乏高頻細節(jié), 生成的圖像無法帶來良好的視覺效果. 基于此, 提出一種基于視覺感知的損失函數(shù)——內(nèi)容損失. 將ISR和IHR送入預(yù)訓(xùn)練好的VGG19[5]網(wǎng)絡(luò)中進行特征提取, 然后計算提取的兩個特征圖之間的歐氏距離, 以此作為內(nèi)容損失來衡量生成圖像的視覺質(zhì)量.
SRGAN雖然在超分辨重建方面具有優(yōu)異的效果, 但仍存在兩方面的問題: 1) SRGAN中生成器使用單層卷積來提取圖像特征, 無法充分利用圖像的淺層特征, 很大程度上限制了網(wǎng)絡(luò)的表達能力, 降低了生成網(wǎng)絡(luò)的生成性能; 2) SRGAN中的生成器和判別器是兩種網(wǎng)絡(luò)模型, 難以使生成器和判別器同時收斂, 導(dǎo)致生成器和判別器收斂于某個局部最優(yōu)點, 而無法達到最佳性能, 存在訓(xùn)練不穩(wěn)定的情況. 本研究以SRGAN為研究對象, 針對以上兩個問題, 首先, 提出在生成器提取圖像特征時, 通過信息蒸餾的方式獲取更豐富的淺層圖像特征并且消除特征中的冗余信息; 其次, 使用一種非分類器的鑒別器來取代SRGAN中的二分類鑒別器, 保證訓(xùn)練的穩(wěn)定性并提高生成的圖像質(zhì)量.
2.1.1 去除BN層
在一個網(wǎng)絡(luò)中使用BN[6]層不僅可以加速收斂, 還有一定的正則化效果, 可以防止模型過擬合. 因此BN在許多的分類任務(wù)中被大量使用. 然而對于圖像超分辨任務(wù)來說, BN層的加入反而會導(dǎo)致訓(xùn)練不穩(wěn)定, 影響網(wǎng)絡(luò)輸出質(zhì)量. 這是由于圖像在經(jīng)過BN層后, 其色彩的分布都會被歸一化, 破壞了圖像原本的對比度信息. 而在圖像超分辨網(wǎng)絡(luò)訓(xùn)練的過程中, 又需要還原這些圖像的對比度信息, 加大了訓(xùn)練難度, 所以BN是不適用于圖像超分辨任務(wù)的. SRGAN使用SRResnet作為生成器, SRResnet中的級聯(lián)殘差塊(residual block)[7]使用了大量的BN層, 本研究通過去除這些BN層以期達到減低網(wǎng)絡(luò)訓(xùn)練難度, 提升網(wǎng)絡(luò)輸出質(zhì)量的目標(biāo).
2.1.2 特征增強
SRResnet通過一層簡單的卷積和池化進行特征提取, 這種做法無法充分地利用圖像的淺層特征, 使得后續(xù)的網(wǎng)絡(luò)表達能力受限. 因此, 本研究改進了SRGAN生成器的網(wǎng)絡(luò)結(jié)構(gòu), 并且在提取圖像特征的方式上, 采用了信息蒸餾的方式, 使用一個特征提取模塊和多個堆疊的信息蒸餾塊(information distillation block, IDB )[8]來對圖像特征進行提取和蒸餾.

圖2 增強單元網(wǎng)絡(luò)Fig.2 Network of enhancement unit
特征提取模塊從ILR中提取圖像淺層特征, 包含兩層3×3的卷積, 每層卷積之后連接著一層以Prelu函數(shù)[9]作為激活函數(shù)的激活層. 信息蒸餾塊中包含增強單元和壓縮單元兩個部分. 增強單元用來增幅圖像的淺層特征, 增加了特征通道數(shù), 使特征具有更豐富的信息, 比如圖像的細節(jié)紋理等, 詳見圖2. 而后, 將增強單元的輸出送入壓縮單元, 壓縮單元是一層卷積核大小為1×1的卷積層, 用以壓縮增強單元輸出中的冗余信息, 減少網(wǎng)絡(luò)的計算量. 在圖2中,S代表圖像通道之間的分割操作,P為圖像通道之間的拼接操作. 增強單元包含兩個卷積網(wǎng)絡(luò), 每個卷積網(wǎng)絡(luò)包含三個卷積層, 每個卷積層后連接一個Prelu激活層. 增強單元的輸入為特征提取模塊提取到的淺層特征F.
F經(jīng)過第一個三層卷積網(wǎng)絡(luò)后得到短途(short-path)特征, 短途特征通過圖像通道的分割操作后分為兩部分: 增強短途路徑特征Fboost和保留短途路徑特征Fremain. 將第二個卷積網(wǎng)絡(luò)的三層卷積和激活操作記為C,F(xiàn)boost將會被送入第二個三層卷積網(wǎng)絡(luò)得到長途特征.Fremain通過與F進行圖像通道拼接, 生成局部短途特征. 將長途特征與局部短途特征融合作為增強單元的輸出, 增強單元的輸出Foutput可表示為如下公式:
Foutput=C(Fboost)+P(F,Fremain)
(1)
本研究改進后的生成器網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示. 其輸入為一張低分辨率圖像, 首先通過特征提取模塊, 進行兩次的卷積和激活操作, 獲得提取到的淺層特征. 將提取到的淺層特征送入IDB中進行特征增強, 網(wǎng)絡(luò)中堆疊了四個IDB, 上一個IDB的輸出將作為下一個IDB的輸入. 而后將增強過的圖像特征輸入殘差塊中, 通過N個殘差塊進行殘差學(xué)習(xí), 殘差塊的輸出通過與淺層特征相加, 得到殘差學(xué)習(xí)的結(jié)果. 殘差學(xué)習(xí)的結(jié)果需要通過亞像素卷積層(sub-pixel convolution layers)[10]來增大特征尺寸, 增加圖像分辨率. 每個亞像素卷積層都將特征尺寸放大為原先的兩倍, 由于本研究分析的是4倍放大因子下的圖像超分辨重建, 所以經(jīng)過兩層亞像素卷積層就可達到四倍放大的效果. 最后輸出生成超分辨率圖像ISR.

圖3 本研究生成器的網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 The network structure of our generator
SRGAN中的生成器和判別器是兩種網(wǎng)絡(luò)模型, 可采用一種交替訓(xùn)練的方式來訓(xùn)練這兩種模型. 當(dāng)訓(xùn)練判別器時, 需要固定生成器的參數(shù)不進行更新, 以一個固定的生成器性能來訓(xùn)練判別器. 當(dāng)判別器的性能達到一定程度后, 固定判別器的參數(shù)不更新, 以訓(xùn)練生成器. 這種交替訓(xùn)練的方式導(dǎo)致了訓(xùn)練的不穩(wěn)定性, 即交替訓(xùn)練時, 無法得知何時該停止訓(xùn)練判別器轉(zhuǎn)而訓(xùn)練生成器, 以及何時該停止訓(xùn)練生成器轉(zhuǎn)而去訓(xùn)練判別器. 因此SRGAN在訓(xùn)練過程中經(jīng)常出現(xiàn)生成器或判別器一方性能達到最佳, 而另一方性能卻處于一個很差的狀態(tài). 相對判別器是一種解決GAN網(wǎng)絡(luò)訓(xùn)練不穩(wěn)定性的有效方法, 因此本研究基于Relativistic GAN[11], 用一種相對平均判別器(relativistic average discriminator, RaD)來替換SRGAN中的二分類判別器, 希望以此解決網(wǎng)絡(luò)訓(xùn)練不穩(wěn)定的問題.
SRGAN中的判別器可以被表示為D(x)=σ(C(x)),C(x)為判別器未經(jīng)過sigmoid層的輸出,σ為sigmoid函數(shù), 判別器的輸出最終都會通過sigmoid函數(shù)映射為一個大小在[0, 1]之間的數(shù), 作為判定一張圖像是真實樣本的概率. 對應(yīng)地, 可以將相對平均判別器定義為:
DRa(xr,xf)=σ(C(xr) -Exf[C(xf)])
(2)
其中:xr為參考圖像;xf為生成器生成的圖像xf=G(ILR), 稱為偽造圖像;Εxf表示在對一個批次(batch)內(nèi)的所有偽造圖像求均值. 根據(jù)相對判別器的定義, 分別修改SRGAN中對應(yīng)生成器和判別器的損失函數(shù), 因此SRGAN判別器的損失函數(shù)可根據(jù)平均判別器的定義修改為如下公式:
lRaD=-Exr[lg(DRa(xr,xf))]-Exf[lg(1-DRa(xf,xr))]
(3)
SRGAN中生成器的損失函數(shù)由內(nèi)容損失(content_loss)和對抗性損失(adversarial loss)兩部分組成, 通過一定的權(quán)重進行加權(quán)和得到生成器損失. 其中只有對抗性損失參與了訓(xùn)練過程中的梯度更新, 所以只需要改變對抗性損失的形式即可, SRGAN中原來的對抗損失為:

(4)
根據(jù)相對平均判別器的定義將其改為如下形式:

(5)
通過觀察公式(4)可以發(fā)現(xiàn), SRGAN中生成器的對抗損失在訓(xùn)練時所需要的梯度信息▽[-lg(D(xf))]來源于判別器對偽造樣本xf的輸出結(jié)果, 因此生成器的梯度信息只受到偽造樣本xf變化的影響.而通過公式(5)可以看出, 改進后對抗損失的梯度信息受到參考圖像xr和偽造圖像xf二者的影響, 生成器從參考圖像和偽造圖像這二者中都能夠得到梯度信息, 在訓(xùn)練過程中不會因為xf的變化而讓梯度信息產(chǎn)生很大的波動. 因此使用相對平均判別器能夠在很大程度上改善了SRGAN在訓(xùn)練過程中出現(xiàn)訓(xùn)練不穩(wěn)定的情況.本研究所使用的判別器網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示.

圖4 本研究判別器的網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 The network structure of our discriminator
使用BSD100和SET14圖像數(shù)據(jù)集作為本研究數(shù)據(jù)集. BSD100和SET14是常用于單圖像超分辨率的數(shù)據(jù)集, 被用于單幅圖像超分辨率重構(gòu), 即根據(jù)低分辨率圖像重構(gòu)出高分辨率圖像以獲取更多的細節(jié)信息.
對每個數(shù)據(jù)集, 各取40%的圖像作為訓(xùn)練集, 其余60%的圖像作為測試集. 訓(xùn)練集的圖像包含兩兩對應(yīng)的高分辨率圖像和低分辨率圖像. 低分辨率圖像在初始的數(shù)據(jù)集中是不存在的, 需要對數(shù)據(jù)集的高分辨率數(shù)據(jù)進行降采樣處理, 以得到相應(yīng)的低分辨率圖像. 在訓(xùn)練過程中, 低分辨率圖像作為生成器的輸入, 經(jīng)由生成器生成超分辨率圖像. 高分辨率圖像作為目標(biāo)圖像, 是判別器判別生成的超分辨率圖像質(zhì)量的依據(jù).
圖像的降采樣算法包括插值降采樣法、 高斯金字塔降采樣法. 插值降采樣法又分為雙線性插值法、 三次插值法、 最鄰近插值法、 局部像素重采樣法. 插值降采樣法的一般做法為: 給定降采樣后的圖像的采樣點個數(shù), 然后使用不同的插值方式來對每個采樣點進行數(shù)值填充就可以得到降采樣后的圖像. 高斯金字塔是自底向上的, 層數(shù)越高圖像分辨率越小. 高斯金字塔每層降采樣的過程分為兩步, 首先對當(dāng)前層進行高斯模糊, 對模糊后的圖像刪除當(dāng)前層的偶數(shù)行與列, 即可得到上一層的圖像. 因此自底向上, 每經(jīng)過一層高斯金字塔, 圖像經(jīng)過一次2倍降采樣, 采用局部像素重采樣法作為本研究的降采樣算法.
為了更加全面地對本研究所提方法的性能進行評價和分析, 除了與原始的SRGAN模型做比較之外, 還選擇了另外兩種常用和經(jīng)典的超分辨重建方法進行比較, 分別為SRCNN、 Bicubic, 并在BSD100與SET14數(shù)據(jù)集上進行量化和質(zhì)化評價.
為了量化評估SRGAN與本研究方法在超分辨率重建任務(wù)上的效果, 以PSNR、 SSIM和生成器的內(nèi)容損失(content loss)作為超分辨重建方法的衡量指標(biāo). PSNR基于兩幅圖像像素間的差異性, 提供了一種衡量兩幅圖像相似性的客觀指標(biāo), 廣泛應(yīng)用于超分辨率重建圖像質(zhì)量的評價. SSIM結(jié)合圖像的亮度、 對比度、 結(jié)構(gòu)評估兩幅圖像的相似度, 是一種更加符合人類視覺系統(tǒng)的評價指標(biāo), 其值越大, 說明兩張圖像越相似, SSIM最大值為1. 內(nèi)容損失基于兩幅圖像特征空間中的差異性, 衡量網(wǎng)絡(luò)學(xué)習(xí)特征高層語義和結(jié)構(gòu)信息能力, 網(wǎng)絡(luò)學(xué)習(xí)到的高層語義和結(jié)構(gòu)信息越多, 生成的圖像越具有清晰的細節(jié)紋理, 視覺效果越好. 內(nèi)容損失是一種反映圖像視覺品質(zhì)的指標(biāo), 生成器的內(nèi)容損失越小, 代表生成器生成的圖像具有更多的高頻細節(jié), 圖像的視覺品質(zhì)越好.
表1展示了SRGAN與本研究方法在圖像超分辨率重建效果上的量化評價, 可以看到本研究方法的PSNR和SSIM指標(biāo)均高于SRGAN方法. 這是由于采用了預(yù)訓(xùn)練的方式, 先基于圖像像素空間的均方差值進行網(wǎng)絡(luò)的優(yōu)化訓(xùn)練, 取得了較高的PSNR和SSIM指標(biāo), 而后在預(yù)訓(xùn)練模型上基于特征圖的均方差進行訓(xùn)練, 使網(wǎng)絡(luò)學(xué)習(xí)到更多的高層語義信息. 所以本研究方法所生成的圖像較之SRGAN具有更好的亮度、 對比度和總體圖像質(zhì)量. 此外, 較之SRGAN, 本研究方法所獲得的內(nèi)容損失在BSD100數(shù)據(jù)集和SET14數(shù)據(jù)集上分別減小了43.93%和25.09%, 內(nèi)容損失指標(biāo)有相當(dāng)大的提升, 即該方法比SRGAN具有更強的學(xué)習(xí)特征高層語義和結(jié)構(gòu)信息的能力, 能夠生成更加清晰的圖像紋理.

表1 圖像超分辨率重建效果量化評價
基于BSD100和SET14圖像數(shù)據(jù)集, 使用不同的超分辨重建算法, 在四倍放大因子下進行圖像超分辨率重建任務(wù), 并進行質(zhì)化評價. 如圖5所示, 可以看出Bicubic方法重建出的圖像分辨率提升有限; 而SRCNN方法重建的圖像分辨率有顯著提升, 但圖像高頻細節(jié)不足, 密集紋理處顯得十分平滑, 圖像缺乏真實性. SRGAN方法重建的圖像不僅有較好的整體質(zhì)量, 并且在圖像的密集紋理處生成了比較清晰的紋理信息, 但這些紋理信息與參考圖像的紋理信息仍有較大區(qū)別. 而本研究方法所生成圖像在圖像密集紋理處更加接近參考圖像, 圖像的亮度與對比度等方面的生成質(zhì)量也優(yōu)于SRGAN.


(a) Bicubic (b) SRCNN (c) SRGAN (d) Ours (e) HR Image圖5 不同圖像超分辨率重建方法在BSD100數(shù)據(jù)集上的效果對比Fig.5 Comparison of the effects of different image super-resolution reconstruction methods on the BSD100 data set
如圖6所示為各種方法在SET14數(shù)據(jù)集上的結(jié)果對比, 可以看出Bicubic方法生成的圖像整體模糊, 幾乎看不清圖像的紋理細節(jié); 而SRCNN生成圖像整體清晰了許多, 可以看出少女胸前佩戴首飾的大致紋理, 但這些紋理質(zhì)量較差, 無法看清其具體圖案. 從SRGAN生成的圖像紋理, 能夠看出首飾上”雙龍戲珠”的紋樣, 但幾乎無法看出中心圓珠周圍還存在著一圈小圓珠. 而本研究方法所生成的圖像不僅可以更清晰地看出“雙龍戲珠”的紋樣, 并且生成了中心圓珠周圍的一圈小圓珠, 對比其他幾種方法, 該方法生成的圖像具有最好的視覺質(zhì)量.


(a)Bicubic (b) SRCNN (c) SRGAN (d) 本研究方法 (e) HR Image圖6 不同圖像超分辨率重建方法在SET14數(shù)據(jù)集上的效果對比Fig.6 Comparison of the effects of different image super-resolution reconstruction methods on the SET14 data set
本研究基于SRGAN提出一種改進的圖像超分辨率重建算法, 通過生成器網(wǎng)絡(luò)結(jié)構(gòu)的改進, 增強了圖像淺層特征信息, 提升了SRGAN在特征空間中的學(xué)習(xí)能力, 并且使用相對判別器克服了SRGAN訓(xùn)練不穩(wěn)定的缺點. 實驗結(jié)果表明, 該方法取得了更佳的超分辨率重建效果, 在圖像的高頻細節(jié)處能夠生成更清晰豐富的紋理.