雷 蕾,郭東恩,2,靳 峰
(1.南陽(yáng)理工學(xué)院 軟件學(xué)院,河南 南陽(yáng) 473000;2.重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算智能重慶市重點(diǎn)實(shí)驗(yàn)室,重慶 400065)
圖像修復(fù)屬于圖像復(fù)原領(lǐng)域,是數(shù)字圖像處理和計(jì)算機(jī)視覺(jué)中的一個(gè)重要研究方向。圖像修復(fù)主要是對(duì)圖像上損壞或者缺失的部分根據(jù)像素變化的規(guī)律進(jìn)行填充,從而恢復(fù)圖像原始面貌[1]。早期的圖像修復(fù)技術(shù)源于文藝復(fù)興時(shí)期對(duì)藝術(shù)作品的修復(fù),隨著各類學(xué)科的不斷發(fā)展,人們對(duì)修復(fù)圖像在視覺(jué)感知、紋理結(jié)構(gòu)和語(yǔ)義理解上有了更高的要求。計(jì)算機(jī)硬件設(shè)備以及深度學(xué)習(xí)等相關(guān)技術(shù)的不斷發(fā)展,派生出一系列通過(guò)深度學(xué)習(xí)方法來(lái)進(jìn)行圖像修復(fù)的算法,這類算法的核心在于訓(xùn)練一個(gè)深度神經(jīng)網(wǎng)絡(luò)來(lái)獲取受損圖像和原始圖像之間的非線性映射。在眾多基于深度學(xué)習(xí)的圖像修復(fù)算法中,基于生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)的修復(fù)算法在修復(fù)效果上取得了較大進(jìn)展,修復(fù)圖像具有良好的主、客觀評(píng)價(jià),因此該算法受到國(guó)內(nèi)外學(xué)者的廣泛關(guān)注。
本文提出基于譜歸一化條件生成對(duì)抗網(wǎng)絡(luò)的圖像修復(fù)算法,利用條件生成對(duì)抗網(wǎng)絡(luò)修復(fù)彩色圖像,并引入譜歸一化約束判別網(wǎng)絡(luò)參數(shù)梯度的Lipschitz上界,可間接提高修復(fù)網(wǎng)絡(luò)的修復(fù)能力。此外,從理論上分析譜歸一化,將判別網(wǎng)絡(luò)參數(shù)梯度的Lipschitz 上界約束為1,通過(guò)實(shí)驗(yàn)來(lái)驗(yàn)證該算法能夠獲得較好的修復(fù)結(jié)果和梯度收斂。
圖像修復(fù)算法大致可分為基于擴(kuò)散的方法、基于紋理合成和基于深度學(xué)習(xí)的方法?;跀U(kuò)散的方法是一種古老、經(jīng)典的方法,包括變分和偏微分算法。這類算法能夠較好地修復(fù)圖像損失的細(xì)節(jié),適用于小尺寸缺失的圖像修復(fù)[2-3],但更多時(shí)候僅限于老、舊照片的修復(fù)及去除文字水印等?;诩y理合成的方法適用于修復(fù)大尺寸缺失的圖像[4-5],這類方法也稱為基于補(bǔ)丁的修復(fù)方法[6-7],原理在于通過(guò)使用一個(gè)較大的圖像數(shù)據(jù)庫(kù)來(lái)進(jìn)行查詢填充,然后從匹配的圖像中復(fù)制相應(yīng)的區(qū)域并將它們粘貼到對(duì)應(yīng)缺失部分來(lái)完成圖像修復(fù)。此外,研究人員還提出了結(jié)合變分偏微分與紋理合成的算法,稱為基于圖像分解的修復(fù)方法[8-9],通過(guò)將已損壞的圖像分解為大尺度缺失和小尺度缺失的部分,然后對(duì)這兩部分缺失區(qū)域分別采用基于變分偏微分方程的修復(fù)算法和基于紋理合成修復(fù)算法進(jìn)行修復(fù)。
基于深度學(xué)習(xí)的修復(fù)方法通過(guò)訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)來(lái)學(xué)習(xí)受損圖像與原始圖像之間的非線性映射關(guān)系。卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)在圖像識(shí)別和特征學(xué)習(xí)方面具有較大的優(yōu)勢(shì),和其他的深度神經(jīng)網(wǎng)絡(luò)相比,它能更好地學(xué)習(xí)到圖像的2D 結(jié)構(gòu)和隱含特征,因此有學(xué)者利用卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)圖像修復(fù)[10-13]。生成對(duì)抗網(wǎng)絡(luò)[14]的出現(xiàn),對(duì)圖像修復(fù)是一個(gè)很大的促進(jìn)。GAN 模型被定義成一個(gè)two-player 的博弈游戲,目的在于生成一個(gè)與真實(shí)數(shù)據(jù)接近的分布。訓(xùn)練過(guò)程是將隨機(jī)低維噪聲z輸入到生成器G中,然后生成器G輸出高維樣本G(z),判別器D判斷給定樣本是來(lái)自于真實(shí)的數(shù)據(jù)分布還是生成器產(chǎn)生的生成分布,G和D都被參數(shù)化為深度神經(jīng)網(wǎng)絡(luò)。據(jù)此,基于GAN 的圖像修復(fù)算法優(yōu)化過(guò)程也可以被參數(shù)化為一個(gè)最小化最大化問(wèn)題,即:
其中,pr(x)和pg(x)分別表示真實(shí)圖像分布和修復(fù)圖像分布,E(·)表示離散型分布期望值,m表示掩碼圖像,用于仿真受損圖像。
基于GAN 的圖像修復(fù)算法[15]于2016年由PATHAK 等人提出,主要是利用加權(quán)重建損失和對(duì)抗損失來(lái)修復(fù)圖像。該方法可以生成新的內(nèi)容和修復(fù)缺失較大的區(qū)域,克服了基于紋理合成和基于變分偏微分方程的局限性,但是并沒(méi)有考慮到局部連續(xù)性。STAOSHI 等人提出GL 模型[16]解決了這個(gè)問(wèn)題,但該模型訓(xùn)練時(shí)間長(zhǎng),網(wǎng)絡(luò)參數(shù)多,并且該模型的判別網(wǎng)絡(luò)包含兩個(gè)判別器,均沒(méi)有對(duì)其判別性能進(jìn)行約束。在高維空間中,判別網(wǎng)絡(luò)的密度比估計(jì)在訓(xùn)練期間通常是不準(zhǔn)確和不穩(wěn)定的[17],因此生成網(wǎng)絡(luò)通常無(wú)法有效學(xué)習(xí)目標(biāo)分布的多模結(jié)構(gòu)。此外,當(dāng)生成分布的支撐集和真實(shí)數(shù)據(jù)分布的支撐集不相交時(shí),存在一個(gè)能夠完全區(qū)分生成分布與真實(shí)數(shù)據(jù)分布的判別網(wǎng)絡(luò)[18]。在這種情況下判別網(wǎng)絡(luò)判別性能“太強(qiáng)”,將會(huì)導(dǎo)致生成網(wǎng)絡(luò)相對(duì)于輸入的偏導(dǎo)為0,使得生成網(wǎng)絡(luò)訓(xùn)練完全停止。因此,需要約束判別網(wǎng)絡(luò)的性能,使之在短時(shí)間內(nèi)不能被訓(xùn)練得“太好”??紤]到基于生成對(duì)抗網(wǎng)絡(luò)的圖像修復(fù)算法中判別性能不可控,當(dāng)缺失部分較多、失真較大時(shí)修復(fù)結(jié)果缺乏局部一致性等問(wèn)題,本文通過(guò)引入譜歸一化和類別輔助信息到生成對(duì)抗網(wǎng)絡(luò)中,提出基于譜歸一化條件生成對(duì)抗網(wǎng)絡(luò)的圖像修復(fù)算法,稱為SN-CGAN。
本文提出的SN-CGAN 算法與CE 算法相比能夠獲得更好的修復(fù)圖像,修復(fù)圖像具有較強(qiáng)的局部一致性,與GL 模型相比,SN-CGAN 模型訓(xùn)練時(shí)間更短,穩(wěn)定性更強(qiáng),從根本上避免了梯度消失的問(wèn)題,與CA 模型相比,SN-CGAN 模型中判別網(wǎng)絡(luò)性能可控,能夠加速修復(fù)網(wǎng)絡(luò)訓(xùn)練,間接地提高了修復(fù)網(wǎng)絡(luò)的修復(fù)性能,進(jìn)一步提高修復(fù)圖像質(zhì)量。
本文提出的SN-CGAN 算法模型首先引入類別輔助信息來(lái)約束特征生成,保證修復(fù)圖像的內(nèi)容接近原始圖像的內(nèi)容,然后將判別網(wǎng)絡(luò)中的標(biāo)準(zhǔn)歸一化[18]替換為譜歸一化[19],進(jìn)一步約束判別網(wǎng)絡(luò)的判別性能,使之在訓(xùn)練過(guò)程中不被訓(xùn)練得太快,從而提高修復(fù)網(wǎng)絡(luò)的修復(fù)性能,最后引入擴(kuò)展卷積算子[20]來(lái)對(duì)待修復(fù)圖像的每個(gè)像素進(jìn)行操作,進(jìn)一步解決修復(fù)圖像缺乏局部一致性的問(wèn)題。如圖1 所示,修復(fù)網(wǎng)絡(luò)采用常見的編碼-解碼結(jié)構(gòu),編碼器利用7 個(gè)卷積層來(lái)減少圖像分辨率并學(xué)習(xí)圖像特征,并運(yùn)用4 個(gè)擴(kuò)展卷積層(Dilated1~Dilated4)[20]在不改變卷積核數(shù)量情況下通過(guò)特征映射傳播卷積核,擴(kuò)展每一層的輸入?yún)^(qū)域。
圖1 SN-CGAN 算法模型示意圖Fig.1 Schematic diagram of SN-CGAN algorithm model
假設(shè)2 維卷積層處理一個(gè)C通道h×w的特征映射得到的結(jié)果為C'通道h'×w'的特征映射,那么針對(duì)每個(gè)像素的擴(kuò)展卷積算子可以表示為:
本文提出的修復(fù)模型由修復(fù)網(wǎng)絡(luò)、局部判別網(wǎng)絡(luò)和全局判別網(wǎng)絡(luò)三部分組成。修復(fù)網(wǎng)絡(luò)用于修復(fù)受損圖像缺失的部分以達(dá)到修復(fù)圖像的目的,局部判別網(wǎng)絡(luò)用于判別局部修復(fù)部分與局部真實(shí)部分的真?zhèn)危峙袆e網(wǎng)絡(luò)則對(duì)整個(gè)原始圖像和修復(fù)圖像的真?zhèn)芜M(jìn)行判別,通過(guò)聯(lián)合訓(xùn)練修復(fù)網(wǎng)絡(luò)以及局部、全局判別網(wǎng)絡(luò),以此來(lái)保證修復(fù)圖像的全局-局部一致性。
內(nèi)容損失用來(lái)提高修復(fù)圖像的質(zhì)量,減少真實(shí)圖像與修復(fù)圖像之間的失真。內(nèi)容損失包括像素方均方誤差損失(pixel-wise Mean Square Error,pMSE)、視覺(jué)感知損失(perception loss)[21]和全變分損失(Total Variation loss,TV)3 個(gè)部分。
pMSE 損失是圖像處理中廣泛使用的一種代價(jià)損失函數(shù),常用于快速圖像修復(fù)、圖像超分辨及圖像盲復(fù)原等,基于pMSE 的損失函數(shù)可表示為:
盡管利用pMSE 代價(jià)函數(shù)通常能夠產(chǎn)生較高的PSNR 值,但修復(fù)圖像往往缺乏高清細(xì)節(jié),容易導(dǎo)致紋理結(jié)構(gòu)過(guò)度平滑,造成較差的視覺(jué)感知。因此,利用視覺(jué)感知損失代價(jià)[21]來(lái)獲取視覺(jué)上滿意的修復(fù)結(jié)果,視覺(jué)感知損失定義如下:
其中,φi,j表示預(yù)訓(xùn)練VGG19 網(wǎng)絡(luò)[22]中第i個(gè)最大池化層之前及第j個(gè)卷積層后(激活之后)獲得的特征圖,IO和II分別表示原始圖像和待修復(fù)圖像,Wi,j和Hi,j表示VGG 網(wǎng)絡(luò)中各特征映射的維度。
已有文獻(xiàn)證明了在圖像修復(fù)過(guò)程中,全變分損失能夠較好地抑制噪聲。因此,本文引入全變分損失來(lái)抑制圖像的噪聲,全變分損失定義為:
利用內(nèi)容損失代價(jià)函數(shù)能夠減少修復(fù)圖像與原始圖像的失真,盡管引入了視覺(jué)感知損失來(lái)保證視覺(jué)感知效果,但修復(fù)結(jié)果的高頻細(xì)節(jié)依然比較缺乏。本文提出條件對(duì)抗損失來(lái)獲取修復(fù)圖像的高頻細(xì)節(jié)。
文獻(xiàn)[23]證明了原始的生成對(duì)抗網(wǎng)絡(luò)[14]是不穩(wěn)定的,容易出現(xiàn)梯度消失的問(wèn)題,并提出利用Wasserstein 距離度量[24]替換原始生成對(duì)抗網(wǎng)絡(luò)中的Kullback-Leibler 散度。因此,式(1)也可以表示為:
對(duì)抗損失驅(qū)動(dòng)修復(fù)網(wǎng)絡(luò)通過(guò)“愚弄”判別網(wǎng)絡(luò)來(lái)生成符合原始圖像流形結(jié)構(gòu)的特征。為使得修復(fù)圖像更好地接近原始圖像,引入類別輔助信息來(lái)限制圖像特征生成[25]。根據(jù)所有訓(xùn)練樣本N在判別網(wǎng)絡(luò)上的概率定義條件對(duì)抗損失:
其中,l表示類別輔助信息,G表示修復(fù)網(wǎng)絡(luò),D表示判別網(wǎng)絡(luò),包含局部判別網(wǎng)絡(luò)D1和全局判別網(wǎng)絡(luò)D2。因此,式(7)可以進(jìn)一步表示為:
其中,θd1和θd2分別表示局部判別網(wǎng)絡(luò)和全局判別網(wǎng)絡(luò)的參數(shù),II1和II2分別表示圖像待修復(fù)區(qū)域部分和整體待修復(fù)圖像。式(8)中沒(méi)有包含譜歸一化的相關(guān)范式,因?yàn)樽V歸一化式子僅在判別網(wǎng)絡(luò)中利用譜范數(shù)來(lái)對(duì)權(quán)重矩陣進(jìn)行歸一化。
通過(guò)引入超參數(shù)α、β和λ與上述損失函數(shù)相結(jié)合,得出本文算法的整體代價(jià)函數(shù)為:
式(9)中的超參數(shù)均用來(lái)權(quán)衡各個(gè)損失之間的比例。不難證明式(9)是一個(gè)多參數(shù)的非凸函數(shù),直接對(duì)這類函數(shù)進(jìn)行求解是一個(gè)NP 難問(wèn)題。因此,采用隨機(jī)梯度方法和交替迭代的策略進(jìn)行參數(shù)學(xué)習(xí),令批次大小m=64。具體的學(xué)習(xí)算法步驟如算法1 所示,算法1采用Adam 優(yōu)化器[26]進(jìn)行優(yōu)化。當(dāng)所有網(wǎng)絡(luò)交替訓(xùn)練好后保存修復(fù)網(wǎng)絡(luò),即能修復(fù)受損圖像。
算法1SN-CGAN 算法
輸入真實(shí)圖像集X,隨機(jī)掩碼圖像M,標(biāo)簽類別L
輸出修復(fù)網(wǎng)絡(luò)G,局部判別網(wǎng)絡(luò)D1,全局判別網(wǎng)絡(luò)D2
步驟1對(duì)真實(shí)圖像集和標(biāo)簽進(jìn)行采樣,獲得分批圖像和標(biāo)簽。
步驟2對(duì)每一批圖像中的每一張圖像添加隨機(jī)掩碼,獲得仿真的受損圖像。
步驟8利用梯度下降方法來(lái)更新修復(fù)網(wǎng)絡(luò)。
重復(fù)步驟1~步驟8,直到梯度收斂或達(dá)到預(yù)設(shè)的訓(xùn)練次數(shù)結(jié)束訓(xùn)練,保存模型。
本文通過(guò)引入譜范數(shù)來(lái)歸一化判別網(wǎng)絡(luò)中的權(quán)重矩陣,進(jìn)一步約束其判別性能。假設(shè)判別網(wǎng)絡(luò)為:
其中,θ:={W1,W2,…,WL-1,WL}為判別網(wǎng)絡(luò)的參數(shù)集(以全卷積為基礎(chǔ)),且al(1≤l GAN 常用的歸一化如WGAN-GP 中的權(quán)重限制,它通過(guò)使用L:hin→hout來(lái)漸進(jìn)地約束每一層,以此控制可微函數(shù)的Lipschitz 上界。 根據(jù)定義,Lipschitz 范數(shù)可以表示為: 其中,σ(A)是矩陣A的范數(shù)。對(duì)于線性層L=Wh,歸一化過(guò)程可以表示為: 根據(jù)Lipschitz 不等式,即: 可以獲得判別網(wǎng)絡(luò)的上界||f||Lip為: 當(dāng)數(shù)據(jù)分布的重疊空間位于實(shí)際樣本空間和生成的樣本空間之間時(shí),WGAN-GP[27]中的權(quán)重剪切效果很好,但該約束條件將判別網(wǎng)絡(luò)的Lipschitz 上界確定為常數(shù)c,限制了其應(yīng)用范圍。其他的歸一化方法如基于F范數(shù)或L范數(shù)的歸一化,減少了奇異值(平方)的總和,即對(duì)輸入擾動(dòng)不敏感的模型是有效的,但由于訓(xùn)練好的權(quán)重矩陣W都能對(duì)該方向上的梯度進(jìn)行操作,因此訓(xùn)練好的模型可能會(huì)丟失關(guān)于輸入的重要信息。相反,譜歸一化僅關(guān)注最大的奇異值,并且每個(gè)訓(xùn)練好的權(quán)重矩陣W在與第一奇異向量正交的方向上并不顯著地收縮。因此,譜歸一化能夠較好地控制判別網(wǎng)絡(luò)的判別性能。 為驗(yàn)證所提算法的有效性和可行性,利用兩個(gè)自然圖像數(shù)據(jù)集來(lái)進(jìn)行仿真實(shí)驗(yàn)。使用Python 3.6基礎(chǔ)編譯語(yǔ)言和Chainer 編譯框架,模型使用“四核Intel?CoreTMi-76850K CPU @3.6 GHz”處理器和4 塊“NVIDIA Titan V”的硬件環(huán)境。 實(shí)驗(yàn)選擇StreetView 和Places2 兩個(gè)數(shù)據(jù)集:1)StreetView 數(shù)據(jù)集是一個(gè)由Google 建立的超過(guò)20 個(gè)國(guó)家5 000 個(gè)街道的景觀數(shù)據(jù)集,該數(shù)據(jù)集圖像像素變化明顯,紋理結(jié)構(gòu)清晰,圖像分辨率為128 像素×128 像素;2)Places2 數(shù)據(jù)集包含超過(guò)400 個(gè)場(chǎng)景種類,總計(jì)超過(guò)100 000 張自然圖像,該數(shù)據(jù)集含有128 像素×128 像素的低分辨(Places2)和256 像素×256 像素的高分辨圖像(Places2-H),這些圖像均符合人類視覺(jué)認(rèn)知的準(zhǔn)則。 參考CE 和GL 算法的訓(xùn)練方式,在本文實(shí)驗(yàn)過(guò)程中,將數(shù)據(jù)集以7∶2∶1 的比例劃分為訓(xùn)練集、測(cè)試集和驗(yàn)證集。訓(xùn)練過(guò)程隨機(jī)選取數(shù)據(jù)集中每個(gè)類別的70%圖像進(jìn)行訓(xùn)練,訓(xùn)練完成后隨機(jī)選擇10%的圖像進(jìn)行交叉驗(yàn)證來(lái)確定參數(shù)。式(9)中的超參數(shù)α、β和λ用來(lái)平衡各個(gè)損失之間的比例,在實(shí)驗(yàn)中并不設(shè)置固定的值,而是將這3 個(gè)超參數(shù)的取值范圍設(shè)置為[10-6,102],在驗(yàn)證集上采用步長(zhǎng)為10 的交叉驗(yàn)證方法來(lái)自適應(yīng)地確定具體的值。得到最優(yōu)參數(shù)后,再利用剩余20%測(cè)試集中的圖像進(jìn)行測(cè)試。與CE 算法訓(xùn)練固定中心缺失塊不同,本文訓(xùn)練任意位置大小為[64,128]的隨機(jī)塊。訓(xùn)練次數(shù)為12 萬(wàn)次,批次大小n=64。采用Adam 優(yōu)化器進(jìn)行優(yōu)化,并設(shè)置衰減系數(shù)β1=0.9 和β2=0.99。 本文算法屬于基于生成對(duì)抗網(wǎng)絡(luò)的圖像修復(fù)算法,根據(jù)對(duì)修復(fù)圖像的評(píng)估發(fā)現(xiàn),基于深度學(xué)習(xí)的算法在效果上優(yōu)于基于擴(kuò)散和基于紋理合成的方法,而在基于深度學(xué)習(xí)的方法中,基于生成對(duì)抗網(wǎng)絡(luò)的修復(fù)算法性能較好,可擴(kuò)展性較強(qiáng)和使用范圍較廣。因此,最終實(shí)驗(yàn)結(jié)果也與這類算法進(jìn)行比較。近年來(lái),研究人員提出了4種基于深度神經(jīng)網(wǎng)絡(luò)的修復(fù)模型:即CE模型[15]、GL 模型[16]、CA 模型[17]和Pconv 模型[28]。前3 種模型基于生成對(duì)抗網(wǎng)絡(luò),適用于修復(fù)規(guī)則缺失塊,Pconv 基于U-Net網(wǎng)絡(luò)結(jié)構(gòu),訓(xùn)練難度大,對(duì)硬件設(shè)備要求高,因此本文主要對(duì)比前3 種模型。 評(píng)價(jià)指標(biāo)主要包含主觀和客觀評(píng)估,前者用于評(píng)價(jià)修復(fù)圖像的自然度,實(shí)驗(yàn)過(guò)程中邀請(qǐng)3 位觀察者獨(dú)立地對(duì)修復(fù)圖像的自然度進(jìn)行判斷,給每位觀察者出示100 張圖像,觀察者判斷100 張圖像中原始圖像和修復(fù)圖像的數(shù)量。在客觀評(píng)價(jià)方面,首先選擇常用的圖像評(píng)價(jià)方法PSNR 和SSIM,然后利用分片Wasserstein距離[27](Sliced Wasserstein Distance,SWD)、Inception分?jǐn)?shù)[29](Inception Score,IS)、流形距離[30](Frechet Inception Distance,F(xiàn)ID)、GAN-train和GAN-test[31]對(duì)修復(fù)圖像的流形結(jié)構(gòu)進(jìn)行評(píng)價(jià)。 CE 模型[15]主要修復(fù)中心缺失圖像,缺失部分的大小是固定的。首先對(duì)比本文算法和CE 算法在中心缺失受損圖像的修復(fù)結(jié)果,如圖2 所示。其中,第1 行圖像選自StreetView 數(shù)據(jù)集,第2 行選自Places2數(shù)據(jù)集,第3 行選自Places2-H 數(shù)據(jù)集。 圖2 中心缺失圖像的修復(fù)結(jié)果Fig.2 Inpainting result of center missing images 由圖2 可以看出,從視覺(jué)感受角度出發(fā),本文算法修復(fù)中心缺失圖像效果明顯優(yōu)于CE 算法。隨著圖像大小增加,CE 算法的修復(fù)結(jié)果有所下降,而所提算法修復(fù)中心缺失受損圖像獲得較好的修復(fù)效果。為擴(kuò)展實(shí)驗(yàn)范圍,將GL 算法和CA算法在隨機(jī)缺失圖像上進(jìn)行實(shí)驗(yàn)對(duì)比,結(jié)果如圖3所示。 圖3 隨機(jī)缺失圖像的修復(fù)結(jié)果Fig.3 Inpainted results of randomly missing images 從圖3 可以看出,本文算法與CA 算法修復(fù)受損圖像效果都較好,單從視覺(jué)感受角度出發(fā),已無(wú)法區(qū)分其差別。本文引入譜歸一化來(lái)約束判別網(wǎng)絡(luò)性能,為進(jìn)一步評(píng)價(jià)本文算法和對(duì)比算法的性能,對(duì)梯度收斂情況進(jìn)行分析,結(jié)果如圖4 所示。由于GL 算法是基于CE算法的,并且它在訓(xùn)練穩(wěn)定性和梯度收斂性均優(yōu)于CE算法,因此這部分實(shí)驗(yàn)只對(duì)比GL 算法和CA 算法。 圖4 梯度收斂性分析Fig.4 Gradient convergence analysis 從圖4 可以看出,本文算法的梯度收斂性明顯好于GL 算法和CA 算法。對(duì)比圖4(a),本文算法在訓(xùn)練過(guò)程中判別網(wǎng)絡(luò)的梯度行為較好,梯度收斂后無(wú)明顯抖動(dòng)。對(duì)比圖4(b),本文算法修復(fù)網(wǎng)絡(luò)的梯度行為較好,一直處于下降狀態(tài),并且梯度沒(méi)有消失。 在全局判別網(wǎng)絡(luò)中,當(dāng)梯度趨近于某個(gè)穩(wěn)定的值后,本文算法沒(méi)有出現(xiàn)梯度抖動(dòng)現(xiàn)象,原因在于引入了譜歸一化來(lái)約束判別網(wǎng)絡(luò)參數(shù)的Lipschitz 上界。在局部判別網(wǎng)絡(luò)中也能得到類似的結(jié)果,實(shí)驗(yàn)結(jié)果證明了譜歸一化在訓(xùn)練判別網(wǎng)絡(luò)過(guò)程中起著積極的作用。 圖像客觀評(píng)價(jià)指標(biāo)較多,首先計(jì)算大量修復(fù)圖像的平均PSNR 和SSIM 值來(lái)對(duì)修復(fù)算法進(jìn)行客觀分析。為客觀地比較增減幅度,本文定義增減量化準(zhǔn)則,以PSNR 值增幅為例可表示為: 其中,PSNR1表示對(duì)比算法修復(fù)圖像的PSNR 值,PSNR2表示所提算法修復(fù)圖像的PSNR 值。在3 個(gè)數(shù)據(jù)集上進(jìn)行測(cè)試的平均PSNR 值和SSIM 評(píng)價(jià)值如表1、表2 所示。 表1 不同算法在3 個(gè)數(shù)據(jù)集上的PSNR 值Table1 PSNR values of different algorithms on three datasets 表2 不同算法在3 個(gè)數(shù)據(jù)集上的SSIM 值Table2 SSIM values of different algorithms on three datasets 從表1 可以看出,在所有的數(shù)據(jù)集中,破損圖像經(jīng)過(guò)4 種算法修復(fù)后,本文算法與CA 算法修復(fù)的圖像PSNR 值最高。對(duì)比CE 算法,PSNR 值漲幅為9.0%~16.2%,對(duì)比GL 算法,PSNR 值漲幅為6.0%~9.1%。對(duì)比CA 算法,PSNR 漲幅為0.1%~2.3%。為評(píng)估修復(fù)圖像紋理結(jié)構(gòu),利用SSIM 來(lái)對(duì)修復(fù)圖像進(jìn)行評(píng)價(jià),結(jié)果如表2 所示。從表2 可以看出,本文算法與CA 算法修復(fù)的圖像SSIM 值較高。對(duì)比CE 算法,SSIM 值漲幅為9.40%~10.5%,對(duì)比GL算法,SSIM 值漲幅為6.04%~9.3%,對(duì)比CA 算法,SSIM 值漲幅為0.0%~1.0%。除了利用PSNR 與SSIM 評(píng)價(jià)指標(biāo),從大數(shù)據(jù)量和流形結(jié)構(gòu)評(píng)估的角度出發(fā),引入SWD、IS、FID、GAN-train 和GAN-test 對(duì)修復(fù)網(wǎng)絡(luò)的修復(fù)性能進(jìn)行評(píng)價(jià)。其中,GAN-train 和GAN-test 是在VGG19 分類網(wǎng)絡(luò)上進(jìn)行訓(xùn)練獲得,結(jié)果如表3~表5 所示。 表3 不同算法與StreetView 數(shù)據(jù)集的流形結(jié)構(gòu)評(píng)價(jià)值Table 3 Manifold structure evaluation value of different algorithms and StreetView dataset 表4 不同算法與Places2 數(shù)據(jù)集的流形結(jié)構(gòu)評(píng)價(jià)值Table 4 Manifold structure evaluation value of different algorithms and Places2 dataset 表5 不同算法與Places2-H 數(shù)據(jù)集的流形結(jié)構(gòu)評(píng)價(jià)值Table 5 Manifold structure evaluation value of different algorithms and Places2-H dataset SWD 和FID 等評(píng)價(jià)指標(biāo)主要用來(lái)評(píng)價(jià)數(shù)據(jù)集之間的流形結(jié)構(gòu)相似性,SWD、FID 評(píng)價(jià)值越小,表示數(shù)據(jù)集之間的流形結(jié)構(gòu)越相似,而IS、GAN-train 和GAN-test 評(píng)價(jià)值越大,表示數(shù)據(jù)集之間的流形結(jié)構(gòu)越相似。從表3~表5 可以看出,對(duì)比3 種算法,本文算法獲得的流形結(jié)構(gòu)相似度評(píng)價(jià)最高,說(shuō)明該算法較好地保持了修復(fù)圖像數(shù)據(jù)集與原始圖像數(shù)據(jù)集的流形結(jié)構(gòu)相似性。 綜合上述客觀評(píng)價(jià)指標(biāo),可以得出本文算法在修復(fù)效果、梯度收斂、判別網(wǎng)絡(luò)性能控制以及保持原始數(shù)據(jù)集與修復(fù)數(shù)據(jù)集之間的流形結(jié)構(gòu)方面,均取得較好的結(jié)果。 為綜合評(píng)價(jià)修復(fù)圖像的質(zhì)量,邀請(qǐng)觀察者對(duì)修復(fù)圖像的自然度進(jìn)行主觀評(píng)價(jià),結(jié)果如圖5 所示。 圖5 修復(fù)圖像自然度評(píng)估結(jié)果Fig.5 Naturalness evaluation result of inpainted image 從圖5 可以看出,本文算法修復(fù)受損圖像能獲得較高的圖像自然度,相比CE 算法、GL 算法和CA算法分別提高了19.2%、6.4%和1.6%。 與CE、GL 和CA 算法在主、客觀評(píng)價(jià)方面的綜合對(duì)比結(jié)果顯示,本文算法在流形結(jié)構(gòu)保持、判別網(wǎng)絡(luò)性能控制方面具有優(yōu)越性。此外,對(duì)本文算法的變體模型進(jìn)行研究,明確該算法中損失組成部分的作用。變體算法包括:未使用pMSE 損失的變體算法SN-CGAN-P,未使用TV 損失的變體算法SNCGAN-T,未使用視覺(jué)感知損失的變體算法SNCGAN-V,未使用標(biāo)簽信息的變體算法SN-CGAN-L及未使用譜歸一化的變體算法SN-CGAN-S。在StreetView 數(shù)據(jù)集上流形結(jié)構(gòu)相似度、PSNR 和SSIM值的評(píng)價(jià)結(jié)果如表6、表7 所示。 表6 變體算法流形結(jié)構(gòu)保持評(píng)價(jià)結(jié)果Table 6 Manifold structure preservation evaluation results of variant algorithm 表7 變體算法的PSNR 和SSIM 評(píng)價(jià)結(jié)果Table 7 PSNR and SSIM evaluation results of variant algorithms 視覺(jué)感知損失用來(lái)獲取良好的視覺(jué)感知、提高主觀評(píng)價(jià)和解決過(guò)度平滑問(wèn)題。因此,表6 中該項(xiàng)損失對(duì)流形結(jié)構(gòu)保持有積極的作用。pMSE 損失用來(lái)減少修復(fù)圖像與原始圖像之間的失真,TV 損失能抑制圖像修復(fù)過(guò)程中產(chǎn)生的噪聲。從表7 可以看出,未引入pMSE 損失和TV 損失時(shí),PSNR 和SSIM值均有所下降。 條件生成對(duì)抗網(wǎng)絡(luò)[25]是通過(guò)引入數(shù)據(jù)標(biāo)簽來(lái)提高合成圖像的質(zhì)量,而本文則引入標(biāo)簽來(lái)約束圖像特征生成,從而保證修復(fù)內(nèi)容與原始圖像之間的內(nèi)容保持。此外,引入譜歸一化約束判別網(wǎng)絡(luò)的判別性能,進(jìn)一步提高了修復(fù)網(wǎng)絡(luò)的修復(fù)能力。根據(jù)對(duì)判別網(wǎng)絡(luò)中參數(shù)的Lipschitz 上界理論分析,并結(jié)合圖5 和表6、表7 可以看出,譜歸一化對(duì)控制判別網(wǎng)絡(luò)的判別性能、間接提高修復(fù)網(wǎng)絡(luò)的修復(fù)能力以及保持修復(fù)圖像數(shù)據(jù)集的流形結(jié)構(gòu)有重要作用。 基于變分偏微分和紋理合成等傳統(tǒng)圖像修復(fù)算法無(wú)法產(chǎn)生大批量修復(fù)圖像。為此,本文提出一種基于譜歸一化條件生成對(duì)抗網(wǎng)絡(luò)的圖像修復(fù)算法,基于生成對(duì)抗網(wǎng)絡(luò)修復(fù)算法解決判別網(wǎng)絡(luò)性能不可控以及缺失部分較多、失真較大時(shí)修復(fù)結(jié)果缺乏局部一致性等問(wèn)題。實(shí)驗(yàn)結(jié)果表明,該算法在主觀感受和客觀評(píng)價(jià)上優(yōu)于SN-CGAN-P、SN-CGAN-T 等對(duì)比算法,較好地實(shí)現(xiàn)了破損圖像與原始圖像之間的非線性映射。下一步將該學(xué)習(xí)框架引入到盲復(fù)原領(lǐng)域中,學(xué)習(xí)模糊圖像與真實(shí)圖像之間的映射關(guān)系,以實(shí)現(xiàn)運(yùn)動(dòng)模糊或散焦模糊圖像的復(fù)原。4 實(shí)驗(yàn)結(jié)果與分析
4.1 數(shù)據(jù)集與參數(shù)設(shè)定
4.2 對(duì)比算法與評(píng)價(jià)指標(biāo)
4.3 修復(fù)結(jié)果主觀評(píng)價(jià)
4.4 量化分析
4.5 算法分析
5 結(jié)束語(yǔ)