劉遵雄, 蔣中慧, 任行樂(lè)
(華東交通大學(xué)信息工程學(xué)院, 南昌 330013)
圖像的超分辨率重建(super-resolution on image reconstruction, SR)的主要任務(wù)是提高圖像的空間分辨率。重建過(guò)程需要利用已知的低分辨率圖像(low resolution image, LR)重建出具有更高像素密度的圖像(high resolution image, HR),并且重建的HR圖像中還需要包含豐富的細(xì)節(jié)紋理。目前圖像的SR技術(shù)分為兩類:?jiǎn)畏鶊D像的SR重建[1-2]和多幅圖像的SR重建。所謂單幅圖像的SR技術(shù)是指利用一幀探測(cè)器采集到的LR圖像信息通過(guò)某種算法實(shí)現(xiàn)生成相應(yīng)HR圖像的過(guò)程。而多幅圖像的SR技術(shù)是通過(guò)采集到的多幀LR圖像根據(jù)它們之間的互補(bǔ)信息重建出HR圖像。
隨著神經(jīng)網(wǎng)絡(luò)以及計(jì)算機(jī)硬件的發(fā)展,基于深度學(xué)習(xí)的圖像SR算法成為新一輪的研究熱點(diǎn)。Krizhevsky等[3]提出了Alexnet網(wǎng)絡(luò)結(jié)構(gòu),該網(wǎng)絡(luò)在Imagenet圖像分類上表現(xiàn)出非常好的效果,隨后CNN結(jié)構(gòu)被快速應(yīng)用到圖像分類以及圖像分割等多個(gè)領(lǐng)域。Dong等[4]基于CNN的思想提出了SRCNN(super resolution convolutional neural nteworks)模型,該網(wǎng)絡(luò)包含三個(gè)卷積層,分別實(shí)現(xiàn)特征提取、非線性變換、HR圖像重建。Kim等[5]提出了一種基于循環(huán)神經(jīng)網(wǎng)絡(luò)的DRCN(deep recursive convolutional networks)的SR重建結(jié)構(gòu),該網(wǎng)絡(luò)一共包含16層循環(huán)卷積層,每個(gè)卷積層共享權(quán)重參數(shù),大大減少了網(wǎng)絡(luò)的模型參數(shù),重建效果也得到進(jìn)一步提升。Goodfellow等[6]首次提出了生成對(duì)抗網(wǎng)絡(luò)結(jié)構(gòu)(generative adversarial networks,GAN),GAN的成功使得對(duì)抗訓(xùn)練思想迅速被應(yīng)用到生成模型中。Ledig等[7]在GAN的基礎(chǔ)上提出了SRGAN(super-resolution generative adversarial networks)模型。該模型包含生成模型和判別模型兩個(gè)部分,通過(guò)對(duì)抗訓(xùn)練來(lái)重建出目標(biāo)HR圖像,這種方法生成的HR圖像紋理更加清晰自然。
受以上工作的啟發(fā),提出一種多尺度并聯(lián)學(xué)習(xí)的生成對(duì)抗網(wǎng)絡(luò)模型,主要工作如下。
(1)改進(jìn)了生成模型結(jié)構(gòu),新的生成器由兩個(gè)殘差網(wǎng)絡(luò)塊組成,通過(guò)融合網(wǎng)絡(luò)將兩個(gè)子網(wǎng)絡(luò)生成的不同尺度空間的HR圖像進(jìn)行加權(quán)求和,使得殘差信息融合,從而學(xué)到更細(xì)節(jié)的圖像信息。
(2)子網(wǎng)絡(luò)在重建過(guò)程中均采用多級(jí)關(guān)聯(lián)的方式,放棄原始模型中反卷積的上采樣方法,采用雙三次插值方法通過(guò)多級(jí)聯(lián)合來(lái)逐級(jí)放大圖像,這樣不僅可以一次生成多個(gè)不同放大比例的圖像,同時(shí)還減少了模型參數(shù),提升了運(yùn)行效率。
(3)舍棄了傳統(tǒng)方法中使用的代價(jià)函數(shù)最小均方誤差(MSE),重新定義了新的模型感知損失函數(shù)。感知損失函數(shù)由內(nèi)容損失、風(fēng)格損失(VGG網(wǎng)絡(luò)特征檢測(cè))以及對(duì)抗損失三部分組成。
2014年,Goodfellow等[7]首次提出了GAN模型,它的核心思想靈感是來(lái)自于博弈論的納什均衡。不同于其他的生成模型,GAN模型[8-10]通過(guò)一個(gè)判別器來(lái)引導(dǎo)生成器的訓(xùn)練,其中生成器G學(xué)習(xí)訓(xùn)練集樣本的數(shù)據(jù)分布;輸入的隨機(jī)噪聲向量z,通過(guò)在生成器網(wǎng)絡(luò)中的學(xué)習(xí)生成與真實(shí)樣本類似的數(shù)據(jù)G(z)(相似度越高越好);判別器D是一個(gè)二分類模型,用以判斷輸入的數(shù)據(jù)屬于真實(shí)樣本還是生成樣本。當(dāng)輸入樣本為真實(shí)數(shù)據(jù)x時(shí),判別模型輸出的值接近于1,當(dāng)輸入數(shù)據(jù)為生成樣本G(z)時(shí)判別模型輸出的值接近于0。通過(guò)對(duì)抗訓(xùn)練交替優(yōu)化判別器D和生成器G的方式使他們不斷提高自身的泛化能力。
基于生成對(duì)抗網(wǎng)絡(luò)SR模型[11-13]的核心思想是通過(guò)對(duì)抗訓(xùn)練,使得生成器生成的HR圖像盡可能地逼近原始圖像。具體結(jié)構(gòu)如圖1所示。
圖1 基于GAN的超分辨率模型結(jié)構(gòu)
生成器G的工作過(guò)程是將低分辨率圖像ILR輸入后經(jīng)過(guò)端到端的學(xué)習(xí)過(guò)程輸出重建的HR圖像,然后將生成的HR圖像輸入到判別模型D中作判斷分辨真?zhèn)?,目?biāo)函數(shù)為
EILR~pG(ILR)(lg{1-DθD[GθG(ILR)]})
(1)
式(1)中:ILR是低分辨率圖像;GθG( )是生成高分辨率圖像生成模型,GθG(ILR)表示由低分辨率圖像經(jīng)過(guò)學(xué)習(xí)后生成的高分辨率圖像;IHR表示真實(shí)高分辨率圖像;DθD( )表示判斷生成圖像真?zhèn)涡缘呐袆e模型,DθD(IHR)表示輸入高分辨率圖像的判別輸出值,公式前半部分表示多個(gè)樣本輸入判別器的標(biāo)準(zhǔn)差,后半部分表示多個(gè)樣本輸入生成器的標(biāo)準(zhǔn)差,利用兩種圖像的m個(gè)樣本來(lái)更新判別器和生成器。具體的一次訓(xùn)練過(guò)程如下所述:
Step 1在訓(xùn)練樣本中采樣m個(gè)低分辨率圖像的樣本{Z1,Z2,…,Zm}。
Step 2在訓(xùn)練樣本中采樣m個(gè)對(duì)應(yīng)高分辨率圖像樣本{X1,X2,…,Xm}。
Step 3最大化判別器的梯度更新判別器。
(2)
Step 4最小化生成器的梯度來(lái)更新生成器:
(3)
模型結(jié)構(gòu)的特征表達(dá)能力直接關(guān)系到生成的HR圖像的視覺(jué)質(zhì)量,一般來(lái)說(shuō)構(gòu)造的網(wǎng)絡(luò)結(jié)構(gòu)越深,模型特征表達(dá)能力越強(qiáng),進(jìn)而生成的圖像質(zhì)量越高。因此采用殘差跳層連接的網(wǎng)絡(luò)結(jié)構(gòu)來(lái)構(gòu)造生成器,具體生成器的模型結(jié)構(gòu)如圖2所示。
該模型包含了兩個(gè)并行的殘差網(wǎng)絡(luò)塊,通過(guò)這種結(jié)構(gòu)來(lái)學(xué)習(xí)從底層到高層的特征,得到不同尺度空間的邊緣紋理信息。最后經(jīng)過(guò)融合網(wǎng)絡(luò)的作用將生成的不同尺度空間的HR圖像進(jìn)行加權(quán),使得殘差信息融合,從而學(xué)到更細(xì)節(jié)的圖像信息。兩個(gè)子網(wǎng)絡(luò)都是由8層卷積層構(gòu)成,子網(wǎng)絡(luò)1中均使用3×3大小的卷積核來(lái)學(xué)習(xí)圖像特征,子網(wǎng)絡(luò)2中使用的是5×5大小的卷積核,使用多尺度學(xué)習(xí)模型能賦予生成模型更好的學(xué)習(xí)能力。
圖2 多尺度殘差網(wǎng)絡(luò)結(jié)構(gòu)
本文模型在重建過(guò)程中采用多級(jí)關(guān)聯(lián)的方式來(lái)逐級(jí)放大圖像,多級(jí)聯(lián)合結(jié)構(gòu)把圖像放大過(guò)程分為多個(gè)階段來(lái)逐步放大圖像的尺寸,放棄原有的反卷積放大圖像的模式,采用雙三次插值的模式放大圖像,通過(guò)這一方法可以生成不同放大比例的圖像,并且方法實(shí)現(xiàn)簡(jiǎn)單同時(shí)不會(huì)增加模型參數(shù),在每一次上采樣的過(guò)程完成后進(jìn)行一次卷積,減少圖像在上采樣過(guò)程中帶來(lái)的噪聲影響。這一過(guò)程可以放大為圖3所示。
圖3 多級(jí)關(guān)聯(lián)結(jié)構(gòu)
判別模型的主要功能是與生成器形成對(duì)抗學(xué)習(xí),不斷提升自己的能力,以提高識(shí)別出真假樣本的準(zhǔn)確率。改進(jìn)的判別模型結(jié)構(gòu)具體如圖4所示。
圖4 判別模型的結(jié)構(gòu)
判別模型總共包含11層網(wǎng)絡(luò)層,卷積層均使用3×3大小卷積核,這里k代表卷積核的大小,其中n表示卷積核的個(gè)數(shù),而s代表卷積過(guò)程的步長(zhǎng)。每一層卷積輸出后都加入了批歸一化層(batch normalization,BN)。BN層不僅減少了前層參數(shù)的作用和后層參數(shù)的聯(lián)系,同時(shí)加快了模型收斂速度。激活函數(shù)采用Relu函數(shù),只有最后一層網(wǎng)絡(luò)結(jié)構(gòu)的激活輸出采用了Sigmoid函數(shù)保證輸出值的大小在[0,1]區(qū)間內(nèi)。
現(xiàn)有的超分辨率算法在優(yōu)化目標(biāo)上往往選擇最小化均方誤差(mean squared error,MSE)。MSE的公式表示為
(4)
(5)
在Gatys[14]提出的感知損失概念的思想基礎(chǔ)上,本文使用更接近感知相似性的內(nèi)容損失作為目標(biāo)優(yōu)化的一部分。通過(guò)已訓(xùn)練好的19層VGG網(wǎng)絡(luò)來(lái)捕捉生成圖像和原始圖像的深層細(xì)節(jié)特征信息差。然后將VGG19結(jié)構(gòu)捕捉的感知內(nèi)容損失定義為重建后圖像GθG(ILR)的特征表示和真實(shí)圖像IHR之間的歐幾里得距離:
(6)
式(6)中:Wi,j和Hi,j描述VGG網(wǎng)絡(luò)中各個(gè)特征圖的尺寸大小。
為了獲得輸入圖像風(fēng)格樣式的表示,這里同樣使用了預(yù)先訓(xùn)練好的VGG19的網(wǎng)絡(luò)結(jié)構(gòu)來(lái)捕捉圖像風(fēng)格信息的特征空間。此特征空間可以構(gòu)建在VGG模型中任何網(wǎng)絡(luò)層的卷積核響應(yīng)之上,這些不同卷積核響應(yīng)之間的相關(guān)性構(gòu)成了特征空間集,這些特征相關(guān)性可以通過(guò)Gram矩陣來(lái)表示:
(7)
(8)
(9)
這里GθG(ILR)表示生成的HR圖像;DθD[GθG(ILR)]表示重建圖像的HR圖像通過(guò)在判別器后輸出的概率值,用-lgDθD(GθG[ILR)]代替原模型的lg{1-DθD[GθG(ILR)]}來(lái)獲得更好梯度更新。
本章節(jié)所有實(shí)驗(yàn)都是在NVIDIA Tesla M40 GPU的服務(wù)器上訓(xùn)練完成的,使用的數(shù)據(jù)集是ImageNet數(shù)據(jù)庫(kù)內(nèi)抽取的圖像樣本,操作系統(tǒng)為Ubuntu17.11版本,CPU型號(hào)為AMD銳龍5-2600x,6核12線程,主頻為3.6 GHz,運(yùn)行內(nèi)存為32 GB,CUDA版本為7.8,實(shí)驗(yàn)源程序均是在Tensorflow框架下基于python語(yǔ)言編寫,tensorflow版本為1.3。
實(shí)驗(yàn)采用自然圖像和遙感衛(wèi)星圖像兩種數(shù)據(jù)圖像作為測(cè)試集。其中自然圖像包含Set5、Set14以及BSD100基準(zhǔn)數(shù)據(jù)集,遙感衛(wèi)星圖像使用的是Spacenet數(shù)據(jù)集。為了驗(yàn)證改進(jìn)方法的有效性,將實(shí)驗(yàn)結(jié)果與幾種具有代表性的SR算法結(jié)果進(jìn)行比較,包含Bicubic、SRCNN、DRCN等。
訓(xùn)練過(guò)程使用RMSProp(root mean square prop)的優(yōu)化方法來(lái)優(yōu)化多尺度學(xué)習(xí)模型。對(duì)于每個(gè)小批量樣本圖像,從不同的訓(xùn)練圖像中隨機(jī)選取24個(gè)72×72的HR子圖像。在實(shí)際訓(xùn)練中,使用已經(jīng)訓(xùn)練好的殘差網(wǎng)絡(luò)結(jié)構(gòu)作為生成器的初始化,以防止模型出現(xiàn)局部最優(yōu)的結(jié)果。由于卷積過(guò)程每次操作都將減小特征圖的大小,通過(guò)對(duì)卷積后的圖像零填充操作來(lái)保留邊緣像素信息,同時(shí)保證了跳層連接結(jié)構(gòu)前后特征圖的大小相同,這樣便可以精準(zhǔn)的計(jì)算出中心像素值。該模型是一個(gè)并行網(wǎng)絡(luò)結(jié)構(gòu),兩個(gè)子網(wǎng)絡(luò)的初始化學(xué)習(xí)率均為0.000 1,更新訓(xùn)練每輪迭代80次后開(kāi)始遞減學(xué)習(xí)率,權(quán)值衰減系數(shù)設(shè)置為0.85,動(dòng)量項(xiàng)系數(shù)為0.9,這里使用l2范數(shù)正則化,正則化項(xiàng)系數(shù)設(shè)為0.001。尺度空間1的卷積核為3×3大小,步長(zhǎng)為1,尺度空間2殘差學(xué)習(xí)結(jié)構(gòu)的卷積核大小為5×5,步長(zhǎng)同樣為1。
實(shí)驗(yàn)采用多種模型,加入了各種對(duì)比參數(shù),使得仿真結(jié)果更具有對(duì)比性。在生成結(jié)果的判定上不再單純的只使用PSNR、SSIM評(píng)價(jià)指標(biāo);通過(guò)對(duì)三個(gè)公共基準(zhǔn)數(shù)據(jù)集的圖像進(jìn)行廣泛的平均意見(jiàn)得分測(cè)試(mean opinion score, MOS)來(lái)對(duì)重建后的圖像進(jìn)行打分。
訓(xùn)練過(guò)程中生成模型網(wǎng)絡(luò)損失如圖5所示,由于2個(gè)子網(wǎng)絡(luò)訓(xùn)練使用不同尺度的卷積核,所以對(duì)應(yīng)的網(wǎng)絡(luò)訓(xùn)練時(shí)的損失在量級(jí)有差異,但收斂趨勢(shì)相同,證明了使用不同尺度的殘差網(wǎng)絡(luò)恢復(fù)殘差的合理性。放大因子為4倍目標(biāo)情況下在Set14測(cè)試集合上的生成的高分辨率圖像與SRCNN、DRCN等深度學(xué)習(xí)模型的結(jié)果對(duì)比如圖6所示。根據(jù)以上的實(shí)驗(yàn)結(jié)果對(duì)生成的HR圖像在各個(gè)數(shù)據(jù)集上做出客觀(PSNR、SSIM)和主觀的指標(biāo)(MOS)分析,最終計(jì)算出所有測(cè)試集的評(píng)價(jià)指標(biāo)平均值如表1~表3所示。
圖5 子網(wǎng)絡(luò)的訓(xùn)練損失圖
圖6 放大因子為4倍時(shí)各類算法在Set14數(shù)據(jù)集上生成結(jié)果
表1 Set5測(cè)試集的評(píng)價(jià)指標(biāo)平均值結(jié)果
表2 Set14測(cè)試集的評(píng)價(jià)指標(biāo)平均值結(jié)果
表3 BSD100測(cè)試集的評(píng)價(jià)指標(biāo)平均值結(jié)果
由上述實(shí)驗(yàn)結(jié)果和指標(biāo)分析可以看出改進(jìn)模型生成的HR圖像的PSNR以及SSIM的指標(biāo)略低于SRCNN、DRCN等算法,但是通過(guò)MOS指標(biāo)的評(píng)價(jià)分析以及生成圖像的真實(shí)視覺(jué)觀感,改進(jìn)的方法在細(xì)節(jié)紋理上要明顯優(yōu)于其他。造成這一結(jié)果的原因是以往的SR算法都是基于MSE優(yōu)化網(wǎng)絡(luò)模型的,優(yōu)化MSE的結(jié)果就是最大化PSNR指標(biāo)但是卻在重建過(guò)程中忽略了圖像的高頻信息,使得生成結(jié)果的質(zhì)量有細(xì)節(jié)瑕疵。同時(shí)也驗(yàn)證了PSNR和SSIM這些客觀評(píng)價(jià)指標(biāo)并不能完全與圖像的視覺(jué)品質(zhì)相匹配。
同樣放大因子為4倍目標(biāo)情況下在Spacenet測(cè)試集合上的實(shí)驗(yàn)結(jié)果如圖7所示。根據(jù)實(shí)驗(yàn)結(jié)果對(duì)生成的HR圖像在Spacenet數(shù)據(jù)集上的定量分析如表4所示。
圖7 衛(wèi)星圖像超分辨率結(jié)果對(duì)比
表4 Spacenet測(cè)試集的評(píng)價(jià)指標(biāo)平均結(jié)果
在SpaceNet 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明:改進(jìn)模型重建后圖像比其他算法的結(jié)果包含更多的細(xì)節(jié)信息。從圖7中可以看出,目標(biāo)建筑圖像通過(guò)改進(jìn)的模型放大重建后房屋的邊緣架構(gòu)更清晰;并且可以看到屋頂?shù)妮喞y理也更細(xì)致;同時(shí)還明確的重建出了街道上的細(xì)紋。在生成結(jié)果的客觀評(píng)價(jià)指標(biāo)上也有所提高,并且從平均意見(jiàn)得分(MOS)來(lái)看改進(jìn)的模型有效地增強(qiáng)了重建圖像中的高頻信息。
針對(duì)現(xiàn)有重建算法存在的參數(shù)數(shù)量大、紋理邊緣不清晰的問(wèn)題,提出了基于生成對(duì)抗網(wǎng)絡(luò)的多尺度并聯(lián)學(xué)習(xí)的超分辨率重建算法。設(shè)計(jì)一種新型的多尺度低頻信息共享網(wǎng)絡(luò),將學(xué)習(xí)的邊緣先驗(yàn)知識(shí)與重建好的高分辨率圖像進(jìn)行融合以彌補(bǔ)邊緣偏差,最后根據(jù)隨機(jī)梯度下降法,利用反向過(guò)程計(jì)算梯度,不斷更新權(quán)重參數(shù)使網(wǎng)絡(luò)達(dá)到最優(yōu)化。并在通用測(cè)試集上,與現(xiàn)有的幾種經(jīng)典算法進(jìn)行了多組對(duì)比實(shí)驗(yàn)。結(jié)果表明,本文算法重建的圖像視覺(jué)效果較好,能夠消除邊緣重影和鋸齒現(xiàn)象,增強(qiáng)銳度和對(duì)比度,在不同放大倍數(shù)下,采用參數(shù)共享策略可以大幅縮減網(wǎng)絡(luò)的參數(shù)數(shù)量和計(jì)算復(fù)雜度。