楊 云 曹 真 齊 勇
(陜西科技大學(xué)電子信息與人工智能學(xué)院 陜西 西安 710021)
如今,以圖像為代表的視覺(jué)信息影響著人們的日常生活。由于年代久遠(yuǎn)、保存不當(dāng)?shù)仍S多原因,許多珍貴的圖像出現(xiàn)不同程度的破損,導(dǎo)致圖像中的重要信息無(wú)法得到表達(dá),為后續(xù)工作帶來(lái)一定困難。為此,亟需圖像修復(fù)技術(shù)補(bǔ)全圖像。
圖像修復(fù)技術(shù)指通過(guò)一定的方法恢復(fù)或重建帶有缺失區(qū)域的缺損圖像,具有非常廣泛的應(yīng)用領(lǐng)域,包括:醫(yī)學(xué)影像修復(fù)、人臉圖像修復(fù)、老照片修復(fù)、天文觀測(cè)圖像修復(fù)等。除此之外,其技術(shù)思想還可以擴(kuò)展到圖像去模糊、圖像去雨等領(lǐng)域用于提高圖像質(zhì)量。人臉圖像作為個(gè)人信息的重要表達(dá)方式,景色圖像作為領(lǐng)略美景的重要方式,保證其完整非常重要。
隨著深度學(xué)習(xí)在圖像修復(fù)領(lǐng)域的飛速發(fā)展,其在面對(duì)大面積缺失的圖像修復(fù)任務(wù)中展現(xiàn)出強(qiáng)大的修復(fù)能力。生成對(duì)抗網(wǎng)絡(luò)模型由于可以擬合出更加真實(shí)的樣本備受青睞。Pathak等[1]提出一種基于上下文內(nèi)容編碼器的圖像修復(fù)算法,首先利用編碼器解碼器網(wǎng)絡(luò)學(xué)習(xí)圖像待修復(fù)區(qū)域的紋理信息并進(jìn)行填充,然后在預(yù)修復(fù)網(wǎng)絡(luò)的基礎(chǔ)上添加判別器提高修復(fù)細(xì)節(jié),實(shí)現(xiàn)了優(yōu)于非深度學(xué)習(xí)方法的修復(fù)效果,但其存在訓(xùn)練不穩(wěn)定問(wèn)題導(dǎo)致修復(fù)結(jié)果不切實(shí)際。此方法打開(kāi)了使用生成對(duì)抗網(wǎng)絡(luò)進(jìn)行圖像修復(fù)任務(wù)的大門,隨后衍生出一系列基于生成式對(duì)抗網(wǎng)絡(luò)的圖像修復(fù)模型,主要分為噪聲型修復(fù)方法與端到端修復(fù)方法兩大類。
其中,噪聲型修復(fù)模型代表性研究為Raymond等[2]提出的使用深度卷積生成對(duì)抗網(wǎng)絡(luò)模型進(jìn)行圖像語(yǔ)義修復(fù)任務(wù),首先預(yù)訓(xùn)練一個(gè)生成能力突出的DCGAN模型,然后通過(guò)感知損失、內(nèi)容損失約束模型生成器生成與缺失圖像相近圖像,截取修復(fù)塊與缺失圖像融合從而補(bǔ)全缺失圖像,實(shí)現(xiàn)了優(yōu)于上下文編碼器網(wǎng)絡(luò)的修復(fù)效果。李雪瑾等[3]在Raymond提出方法基礎(chǔ)上改進(jìn)Sigmoid函數(shù),成功預(yù)測(cè)圖像缺失區(qū)域信息。但噪聲型修復(fù)模型存在訓(xùn)練不穩(wěn)定以及結(jié)果不可控的問(wèn)題,且二步修復(fù)過(guò)程帶來(lái)時(shí)間過(guò)長(zhǎng)問(wèn)題。
噪聲型模型修復(fù)過(guò)程時(shí)間過(guò)長(zhǎng),效果較差,因此,目前基于生成對(duì)抗網(wǎng)絡(luò)的圖像修復(fù)模型趨于端到端一步修復(fù)模型[6]。Iizuka等[4]提出一種全局與局部雙判別器圖像修復(fù)模型,針對(duì)原始單判別器模型修復(fù)效果不足的問(wèn)題,增設(shè)局部判別器追蹤圖像局部待修復(fù)區(qū)域。Li[5]等提出雙判別器生成對(duì)抗網(wǎng)絡(luò)結(jié)構(gòu)與相似塊搜索算法結(jié)合的方法。Mao等[7]提出編碼器解碼器跳躍連接結(jié)構(gòu)。雖取得不錯(cuò)修復(fù)效果,但部分細(xì)節(jié)信息無(wú)法被精確還原。從本質(zhì)上看對(duì)于生成器約束不足,修復(fù)結(jié)果存在不確定性,輸出結(jié)果往往無(wú)法精確還原出原始圖像的類別特征、內(nèi)容特征、風(fēng)格特征。同時(shí),針對(duì)于GANs訓(xùn)練不穩(wěn)定問(wèn)題并未引入改進(jìn)策略解決,使得模型訓(xùn)練較為困難。
為此,本文提出多角度約束生成對(duì)抗網(wǎng)絡(luò)(Multi-Angle GAN,MAGAN),在雙判別器模型基礎(chǔ)上增設(shè)分類器和Vgg19特征提取網(wǎng)絡(luò),利用分類器向生成器引入類別損失約束,利用Vgg19特征提取網(wǎng)絡(luò)向生成器引入內(nèi)容、風(fēng)格損失約束,利用反向傳播方法向生成器提供標(biāo)志性信息梯度輔助生成器更新參數(shù)。同時(shí),將譜歸一化和Wasserstein距離方法引入判別器設(shè)計(jì)中,以穩(wěn)定模型訓(xùn)練,輔助生成器完成更優(yōu)的修復(fù)結(jié)果。
初始GANs判別器設(shè)計(jì)存在一個(gè)普遍性缺陷,即訓(xùn)練不穩(wěn)定問(wèn)題。因此,從模型結(jié)構(gòu)以及目標(biāo)函數(shù)角度進(jìn)行改進(jìn)。WGAN從損失函數(shù)角度解決GANs訓(xùn)練不穩(wěn)定問(wèn)題,其提出使用Wasserstein距離改進(jìn)模型的目標(biāo)函數(shù)替換JS散度衡量標(biāo)準(zhǔn),使得模型在訓(xùn)練過(guò)程趨于穩(wěn)定。WGAN判別器損失函數(shù)如下:
D_loss=Ex~pdata(x)[D(x)]-Ex~pnoise(x)[D(x)]
(1)
式中:pnoise(x)為生成樣本集合;pdata(x)為真實(shí)樣本集合;E表示期望。
同時(shí),其提出判別器的參數(shù)矩陣需要滿足Lipschitz條件模型即可穩(wěn)定訓(xùn)練,Lipschitz條件定義為限制函數(shù)變化的劇烈程度。Lipschitz條件的含義定義如下:
(2)
式中:D(x)為判別器的映射函數(shù),若D(x)定義域內(nèi)任意兩點(diǎn)x1、x2的斜率都不大于一個(gè)固定常數(shù)L,此時(shí)D(x)滿足Lipschitz條件。
Miyato等[8]提出譜歸一化理論從模型架構(gòu)角度解決GANs訓(xùn)練不穩(wěn)定問(wèn)題。主要思想是通過(guò)限制判別器參數(shù)矩陣使得判別器設(shè)計(jì)滿足Lipschitz連續(xù)性。判別器網(wǎng)絡(luò)可以看作是多層遞歸神經(jīng)網(wǎng)絡(luò)疊加,當(dāng)輸入x時(shí),假設(shè)不使用激活函數(shù)和偏置b,則輸出為:
Dn=Wn×Wn-1×…×W1×x
(3)
對(duì)于判別器中的任一層網(wǎng)絡(luò),其參數(shù)矩陣譜范數(shù)定義如下:
(4)
式中:σ(W)表示矩陣W的最大奇異值,也即譜范數(shù);WT為矩陣W的轉(zhuǎn)置矩陣;μ表示矩陣W的最大奇異值對(duì)應(yīng)的特征矢量。結(jié)合式(2)-式(4)可得:
(5)
譜歸一化即讓參數(shù)矩陣除以參數(shù)矩陣譜范數(shù),以達(dá)到歸一化目的。此時(shí),參數(shù)矩陣數(shù)值比例不會(huì)被破壞,也滿足Lipschitz條件,具體如下所示:
(6)
式中:fSN(W)表示判別器參數(shù)矩陣W經(jīng)譜歸一化理論處理后結(jié)果值,L為常數(shù)。對(duì)判別器進(jìn)行譜歸一化處理,相當(dāng)于對(duì)判別器添加限制,使其擁有合理的判別能力,為生成器提供更多梯度信息,從而穩(wěn)定模型訓(xùn)練。
生成對(duì)抗網(wǎng)絡(luò)(GANs)是一種引入二人零和博弈理論的生成模型,其主要思想是通過(guò)對(duì)抗學(xué)習(xí)來(lái)訓(xùn)練網(wǎng)絡(luò)學(xué)習(xí)真實(shí)樣本的數(shù)據(jù)分布,近年來(lái)在圖像處理領(lǐng)域發(fā)揮著重要作用。GANs由生成模型與判別模型兩部分構(gòu)成。生成對(duì)抗網(wǎng)絡(luò)目標(biāo)函數(shù)如下:
Ez~pnoise(z)[ln(1-D(G(z)))]
(7)
式中:E表示期望;pnoise(z)表示隨機(jī)噪聲分布集合;pdata(x)表示真實(shí)樣本集合。利用生成式對(duì)抗網(wǎng)絡(luò)做圖像修復(fù)任務(wù)主要分為兩大類:噪聲型圖像修復(fù)方法和端到端型圖像修復(fù)方法。
1.3.1噪聲型圖像修復(fù)方法
(8)
圖1 噪聲型模型結(jié)構(gòu)圖
1.3.2端到端型圖像修復(fù)方法
端到端型圖像修復(fù)方法的模型基礎(chǔ)為以缺損圖像作為輸入的生成對(duì)抗網(wǎng)絡(luò)。傳統(tǒng)單判別器生成對(duì)抗網(wǎng)絡(luò)模型無(wú)法滿足圖像修復(fù)的修復(fù)效果,局部待修復(fù)區(qū)域還原效果較差。從模型設(shè)計(jì)來(lái)看,模型不存在追蹤圖像局部區(qū)域信息的結(jié)構(gòu)。為此,雙判別器模型通過(guò)增設(shè)局部判別器追蹤圖像局部待修復(fù)區(qū)域,有效提升了修復(fù)準(zhǔn)確度。較于單判別器的端到端圖像修復(fù)模型,雙判別器模型有效還原了圖像的紋理和內(nèi)容信息,輸出結(jié)果更加具備語(yǔ)義性。但由于對(duì)生成器的訓(xùn)練過(guò)程約束不足,使得修復(fù)結(jié)果會(huì)出現(xiàn)特征表示不足問(wèn)題,修復(fù)結(jié)果無(wú)法將缺損區(qū)域信息全部表征出來(lái)。圖像缺失區(qū)域恢復(fù)過(guò)程需要圖像各方面的指示信息,對(duì)于生成器的約束過(guò)少會(huì)導(dǎo)致重建結(jié)果出現(xiàn)錯(cuò)誤類別、錯(cuò)誤內(nèi)容以及風(fēng)格特征,修復(fù)效果不佳。端到端型圖像修復(fù)模型結(jié)構(gòu)如圖2所示。
圖2 端到端型模型結(jié)構(gòu)圖
圖3給出了本文算法的功能流程。向模型輸入待修復(fù)圖像,首先利用前向計(jì)算,得到修復(fù)完成圖,然后利用損失函數(shù)計(jì)算修復(fù)完成圖與原圖之間的差異,最后通過(guò)反向傳播向模型各層傳遞誤差,從而優(yōu)化模型參數(shù)。
圖3 MAGAN算法流程
本文提出一種多角度圖像修復(fù)模型MAGAN,從圖像類別特征、內(nèi)容特征以及風(fēng)格特征入手,解決原有圖像修復(fù)方法存在的圖像修復(fù)結(jié)果特征信息表示不足問(wèn)題。針對(duì)于修復(fù)結(jié)果缺少類別特征指示,通過(guò)添加預(yù)訓(xùn)練好的分類器進(jìn)行指示;針對(duì)于修復(fù)結(jié)果缺少風(fēng)格特征以及內(nèi)容特征指示,通過(guò)預(yù)訓(xùn)練好的Vgg19特征提取網(wǎng)絡(luò)進(jìn)行指示。形成類別、內(nèi)容以及風(fēng)格損失項(xiàng)添加至生成器損失中。Multi-angle GAN模型整體結(jié)構(gòu)如圖4所示。
圖4 Multi-angle GAN模型整體結(jié)構(gòu)圖
2.2.1生成器
生成器為帶有空洞卷積的U-net型全卷積網(wǎng)絡(luò),由卷積塊、空洞卷積塊、上采樣塊構(gòu)成。其中每一個(gè)卷積塊由卷積層(Conv)、批歸一化層(Batch normalization)和ReLU激活層構(gòu)成;每一個(gè)空洞卷積塊由空洞卷積層、批歸一化層和ReLU激活層構(gòu)成;每一個(gè)上采樣塊由反卷積層、批歸一化層和Leaky_ReLU激活層構(gòu)成。最初始一層卷積層卷積核尺寸為5×5,剩余卷積層卷積核尺寸為4×4 和3×3交替設(shè)計(jì),共15層設(shè)計(jì)??斩淳矸e層卷積核尺寸為3×3,卷積采樣間隔由2、4、8倍增,共5層設(shè)計(jì)??斩淳矸e的存在使得不增加卷積核尺寸的情況下,增大卷積的感受視野,使得輸出的特征圖包含信息更豐富。生成器輸入帶有二進(jìn)制掩模的缺損圖像,輸出修復(fù)完成圖。通過(guò)L1損失、類別損失、內(nèi)容損失、風(fēng)格損失、對(duì)抗損失約束生成器產(chǎn)生合理結(jié)果。其中L1損失公式如下:
(9)
式中:R代表原始圖像;P代表修復(fù)完成圖;Rij表示原圖第i行第j列像素值。此處,L1損失用于衡量?jī)煞鶊D像同位置像素的差異。
2.2.2分類器
分類器有助于生成器的生成結(jié)果具有合理的類別特征信息。通過(guò)一組預(yù)先確定的類別在原始數(shù)據(jù)集上訓(xùn)練分類器并保存模型參數(shù)。將網(wǎng)絡(luò)結(jié)構(gòu)與生成器網(wǎng)絡(luò)進(jìn)行拼接,實(shí)現(xiàn)模型分類能力。在輔助生成器修復(fù)圖像過(guò)程中,參數(shù)不再更新。分類器為編碼器結(jié)構(gòu),由卷積塊、最大值池化層和全連接層構(gòu)成。其中卷積塊由卷積核尺寸為3×3,滑動(dòng)步長(zhǎng)為1的卷積層,ReLU激活層構(gòu)成,共4塊設(shè)計(jì),最大值池化層滑動(dòng)窗口大小為2,滑動(dòng)步長(zhǎng)為2。每一個(gè)卷積塊后跟一層最大值池化層,最終通過(guò)全連接層并使用Softmax分類層輸出預(yù)測(cè)分?jǐn)?shù)。使用交叉熵?fù)p失L訓(xùn)練分類器,其公式如下所示:
(10)
式中:L代表真實(shí)標(biāo)簽;P代表預(yù)測(cè)值。首先將原圖輸入至分類器中,得到原圖預(yù)測(cè)分?jǐn)?shù)值,然后以原圖預(yù)測(cè)分?jǐn)?shù)為標(biāo)簽,將修復(fù)完成圖輸入至分類器中,利用交叉熵公式求取類別損失Lclass添加至生成器損失中。
2.2.3Vgg19特征提取網(wǎng)絡(luò)
Vgg19特征提取網(wǎng)絡(luò)有助于生成器的生成結(jié)果具有合理的風(fēng)格、內(nèi)容特征信息。使用預(yù)先訓(xùn)練好的Vgg19特征提取網(wǎng)絡(luò),將其與生成器網(wǎng)絡(luò)進(jìn)行拼接,實(shí)現(xiàn)網(wǎng)絡(luò)的特征提取能力。同樣,Vgg19特征提取網(wǎng)絡(luò)在生成器修復(fù)圖像過(guò)程中,參數(shù)不變。Vgg19由卷積核尺寸為3×3的卷積層,池化窗口尺寸為2×2的最大值池化層,ReLU激活層以及全連接層構(gòu)成其網(wǎng)絡(luò)結(jié)構(gòu)。對(duì)于內(nèi)容損失,將修復(fù)完成圖在conv1_2與conv2_2中提取的特征圖與對(duì)應(yīng)真實(shí)圖像特征圖進(jìn)行比較,對(duì)于風(fēng)格損失,將conv4_3卷積層與conv5_3卷積層中提取的特征圖與對(duì)應(yīng)真實(shí)圖像特征圖進(jìn)行比較。其中內(nèi)容損失函數(shù)定義如下:
(11)
式中:R代表原始圖像;P代表修復(fù)完成圖;l表示網(wǎng)絡(luò)層。內(nèi)容損失用于衡量原圖與修復(fù)完成圖在同一卷積層中所有特征圖的內(nèi)容差異。
Gatys等[10]在圖像風(fēng)格遷移領(lǐng)域使用捕獲紋理特征的特征空間來(lái)表示圖片的風(fēng)格。特征空間包含了圖片經(jīng)過(guò)卷積神經(jīng)網(wǎng)絡(luò)后每一卷積層提取的多個(gè)特征圖之間相似性。這種相似性用Gram矩陣進(jìn)行衡量,Gram矩陣中的元素使用特征圖兩兩做內(nèi)積求取。因此Gram矩陣可以用于表征圖像的紋理、顏色信息等風(fēng)格特征。Gram矩陣定義如下:
(12)
(13)
式中:原始圖像Gram矩陣與修復(fù)完成圖計(jì)算公式相同。將原始圖像與修復(fù)完成圖輸入Vgg19特征提取網(wǎng)絡(luò),得到各自的分?jǐn)?shù)。使用式(9)-式(10)計(jì)算兩者的內(nèi)容損失和風(fēng)格損失添加至生成器損失中。
2.2.4判別器
判別器用于判別修復(fù)完成圖的真實(shí)程度,多尺度判別可以保證圖像生成質(zhì)量更高。若只使用全局判別器,則圖像部分細(xì)節(jié)判斷不準(zhǔn)確,因此通過(guò)添加局部判別器追蹤圖像細(xì)節(jié)部分。
局部判別器由卷積塊,全連接層構(gòu)成,其輸入樣本維度為32×32。其中卷積塊由卷積核為5×5,滑動(dòng)步長(zhǎng)為2的卷積層,批歸一化層(Batch normalization)和Leaky ReLU激活層構(gòu)成,共3塊設(shè)計(jì)。最后一層使用全連接層替換Sigmoid激活層。全局判別器輸入樣本維度為64×64,相較于局部判別器多添加一塊卷積塊,由于其針對(duì)圖像整體,因此需要更深的網(wǎng)絡(luò)層次進(jìn)行特征提取。將局部判別器輸出與全局判別器輸出在通道(channel)維度進(jìn)行拼接得到最終的預(yù)測(cè)輸出向量。
此時(shí),判別器的卷積層設(shè)計(jì)中添加譜歸一化理論,調(diào)整判別器每一層的矩陣參數(shù),提高修復(fù)完成樣本質(zhì)量。同時(shí)引入Wasserstein距離改進(jìn)GANs目標(biāo)函數(shù),以穩(wěn)定模型的訓(xùn)練。判別損失用于懲罰與原始樣本不相干樣本,生成更清晰、內(nèi)容更豐富的樣本。判別損失如下所示:
Ladv=Ex~pdata(P)[D(x)]-Ex~pdata(R)[D(x) ]
(14)
式中:pdata(P)為修復(fù)完成圖集合;pdata(R)為原始樣本。
2.2.5總損失函數(shù)
通過(guò)上述介紹的損失約束,對(duì)模型總損失函數(shù)進(jìn)行匯總,總損失函數(shù)如下:
Lall=λ1L1+λ2Lclass+λ3Lcontent+λ4Lstyle+λ5Ladv
(15)
式中:λ1-λ5為平衡不同損失的權(quán)重系數(shù)。
對(duì)于模型訓(xùn)練過(guò)程可以分為以下五步:
1) 初始化模型權(quán)重。除預(yù)先訓(xùn)練好的分類器和Vgg19網(wǎng)絡(luò),對(duì)模型生成器和判別器的網(wǎng)絡(luò)層權(quán)重進(jìn)行初始化。
2) 前向計(jì)算。向模型輸入待修復(fù)圖像,利用卷積層、池化層等網(wǎng)絡(luò)層學(xué)習(xí)圖像的特征,形成特征編碼矩陣,然后利用反卷積層等網(wǎng)絡(luò)層解碼特征編碼矩陣,輸出修復(fù)完成圖。
3) 計(jì)算誤差。利用總損失函數(shù)計(jì)算修復(fù)完成圖和其對(duì)應(yīng)原圖之間的誤差損失。
4) 反向傳播,更新參數(shù)。將第3)步計(jì)算得到的誤差損失反向傳遞到模型各層,通過(guò)誤差回傳,更新模型參數(shù)。
5) 保存參數(shù)。循環(huán)執(zhí)行第2)步-第4)步,直至模型收斂且模型輸出的誤差小于最小誤差。此時(shí)停止訓(xùn)練并保存模型參數(shù)。
利用訓(xùn)練好的MAGAN模型補(bǔ)全圖像,向模型輸入待修復(fù)圖像,輸出修復(fù)完成圖。
本文算法的軟件編程方式在PyCharm編譯器上實(shí)現(xiàn),使用Python語(yǔ)言和TensorFlow框架實(shí)現(xiàn)MAGAN模型的搭建。模型整個(gè)訓(xùn)練過(guò)程如算法1所示。
算法1MAGAN模型圖像修復(fù)訓(xùn)練過(guò)程
輸入:原始樣本x,G,D,classifier,vgg19,λ1,λ2,λ3,λ4,λ5,epoch,batch_size,mask,α。
輸出:修復(fù)完成圖Completed。
1. i=0,j=0
2. for i in range(epoch)
//迭代周期
3. Step_num=x/batch_size
//一個(gè)周期迭代次數(shù),x分為
//Step_num份,批樣本batch_x且其對(duì)應(yīng)類別為batch_label.
4. I_batch=batch_x×(1-mask)+mask×255
//批量缺損樣本
5. for j in range(step_num)
//一個(gè)周期的迭代次數(shù)
6. g_completed=G(I_batch)
//全局修復(fù)結(jié)果
7. I_completed=g_completed×(1-mask) [y1:y2, x1:x2,:]
//局部修復(fù)結(jié)果
8. Lall=function1(batch_x,g_completed,batch_label)
//function1為式(15)
9. batch_local_x=(batch_x×(1-mask)+mask×255)[y1:y2,x1:x2,:]
//局部真實(shí)樣本
10. real=D(batch_x,batch_local_x)
//真實(shí)樣本分?jǐn)?shù)
fake=D(g_completed,l_completed)
//虛假樣本分?jǐn)?shù)
11. Dloss=function2(real-fake)
//function2為式(14)
12. 反向傳播更新生成器參數(shù)
13. 反向傳播更新判別器參數(shù)
14. end for
本次實(shí)驗(yàn)的設(shè)備條件為Intel(R) Core(TM) i5- 8300HCPU,主頻為2.30 GHz,內(nèi)存為16 GB的筆記本電腦,其操作系統(tǒng)為Windows 10和NVIDIA Titan XP GPU,顯存為12 GB。同時(shí)以PyCharm作為編譯器,使用Python語(yǔ)言和TensorFlow深度學(xué)習(xí)框架實(shí)現(xiàn)MAGAN模型的搭建。
本次實(shí)驗(yàn)使用數(shù)據(jù)集為CelebA人臉數(shù)據(jù)集以及Places365-Standard數(shù)據(jù)集[9]中的outdoor場(chǎng)景數(shù)據(jù)集。其中CelebA是香港中文大學(xué)的開(kāi)放數(shù)據(jù)集,其包含202 599幅178×218大小的RGB彩色人臉圖像,并且對(duì)每幅圖像做好了特征標(biāo)記。將172 770幅圖像用作訓(xùn)練集,15 917幅用作驗(yàn)證集和13 912幅用作測(cè)試集,并且由于本文的主要任務(wù)是恢復(fù)人臉特征,因此去除圖片中不必要的背景信息避免影像修復(fù)結(jié)果,截取圖像的人臉部分并調(diào)整圖像尺寸為64×64作為模型輸入。其中Places365-Standard是MIT的開(kāi)放數(shù)據(jù)集,使用其中名為outdoor的場(chǎng)景集,outdoor場(chǎng)景集包含6 000幅256×256大小的RGB彩色風(fēng)景照,將5 000幅用作訓(xùn)練集,900幅用作驗(yàn)證集,100幅用作測(cè)試集,并調(diào)整圖像尺寸為64×64作為模型輸入。
對(duì)于CelebA人臉數(shù)據(jù)集,通過(guò)設(shè)置不同的總損失權(quán)重系數(shù)訓(xùn)練模型,評(píng)估模型的性能,最終確定λ1為100,λ2為30,λ3為0.07,λ4為250,λ5為0.3,因?yàn)閺臏y(cè)試結(jié)果看此時(shí)模型性能最佳。對(duì)于outdoor數(shù)據(jù)集,由于其不存在類別標(biāo)簽,因此設(shè)置為0,只驗(yàn)證其余損失項(xiàng)對(duì)模型性能的影響,并設(shè)置λ1為100,λ3為0.07,λ4為250,λ5為0.3,此時(shí)從測(cè)試結(jié)果看模型性能最優(yōu)。同時(shí),使用Adam動(dòng)量梯度下降法求取模型的最優(yōu)解,設(shè)置模型學(xué)習(xí)率為1e-3,一階動(dòng)量項(xiàng)取值0.5,批量樣本尺寸為150,共訓(xùn)練1 000個(gè)epoch并保存結(jié)果,此時(shí),模型達(dá)到最初設(shè)置的最大迭代周期且總損失小于設(shè)定的最小值Emin。對(duì)2個(gè)數(shù)據(jù)集使用3種修復(fù)模型設(shè)置對(duì)比實(shí)驗(yàn),為了保證公平,所有模型設(shè)置相同的epoch。
3.2.1不同模型對(duì)比實(shí)驗(yàn)
由圖5可以看到雙判別器模型(GLCIC)修復(fù)結(jié)果存在過(guò)于平滑、模糊等問(wèn)題,總體上還原出原圖特征,但細(xì)節(jié)部分還原不足。對(duì)于基于DCGAN的語(yǔ)義修復(fù)模型,首先在訓(xùn)練DCGAN模型時(shí),出現(xiàn)模型崩潰問(wèn)題,無(wú)法穩(wěn)定訓(xùn)練,通過(guò)引入譜歸一化與WGAN穩(wěn)定了模型訓(xùn)練,但修復(fù)結(jié)果過(guò)差,圖像細(xì)節(jié)無(wú)法被還原。Multi-angle GAN(MAGAN)從整體和部分細(xì)節(jié)還原出原圖特征,修復(fù)效果優(yōu)于前兩者,雖然修復(fù)結(jié)果存在輕微噪聲,但從總體上是一種不錯(cuò)的修復(fù)模型。
圖5 不同模型在CelebA數(shù)據(jù)集上修復(fù)效果對(duì)比
采用PSNR、SSIM來(lái)評(píng)價(jià)模型的修復(fù)效果,結(jié)果如表1所示。
表1 不同模型修復(fù)效果對(duì)比
圖6給出了不同模型在outdoor數(shù)據(jù)集上實(shí)驗(yàn)結(jié)果,可以看到GLCIC模型輸出結(jié)果存在模糊問(wèn)題。DCGAN模型輸出結(jié)果過(guò)差,部分還原結(jié)果不具備語(yǔ)義性。MAGAN模型輸出結(jié)果從整體還原出圖片信息,與原始圖像相似度較高,但也存在部分細(xì)節(jié)還原不足,從總體上看是一種不錯(cuò)的修復(fù)。
圖6 不同模型在outdoor數(shù)據(jù)集上修復(fù)效果對(duì)比
從評(píng)價(jià)指標(biāo)PSNR、SSIM上量化三種模型的性能,具體指標(biāo)值如表2所示。
表2 不同模型修復(fù)效果對(duì)比
3.2.2Multi-angleGAN(MAGAN)性能實(shí)驗(yàn)
1) 輔助網(wǎng)絡(luò)實(shí)驗(yàn)。為了驗(yàn)證Multi-angle GAN的性能,本文在相同條件下訓(xùn)練了分別應(yīng)用分類器,特征提取網(wǎng)絡(luò)的多個(gè)模型。使用CelebA作為輔助網(wǎng)絡(luò)實(shí)驗(yàn)數(shù)據(jù)并保持3.1節(jié)給出的模型訓(xùn)練參數(shù),此處只針對(duì)不同模型設(shè)計(jì)不同的損失函數(shù)。
其中在訓(xùn)練分類器時(shí),使用性別作為類別標(biāo)簽,由于在CelebA數(shù)據(jù)集中,性別比例分布較為均勻。在訓(xùn)練過(guò)程中使用訓(xùn)練集訓(xùn)練,驗(yàn)證集檢驗(yàn)準(zhǔn)確率,及時(shí)調(diào)參,避免出現(xiàn)過(guò)擬合。其中訓(xùn)練過(guò)程使用Adam優(yōu)化函數(shù),學(xué)習(xí)率為1e=3,批樣本尺寸為128。最終迭代10 000步停止訓(xùn)練,此時(shí)訓(xùn)練集的準(zhǔn)確率為0.984。每200步計(jì)算一次測(cè)試集準(zhǔn)確率,最終測(cè)試集準(zhǔn)確率為0.952。
其中特征提取網(wǎng)絡(luò)使用預(yù)訓(xùn)練好的Vgg19網(wǎng)絡(luò)模型。將網(wǎng)絡(luò)結(jié)構(gòu)導(dǎo)入到本文模型中,并利用訓(xùn)練好的權(quán)重進(jìn)行訓(xùn)練。性能驗(yàn)證表如表3所示。
表3 Multi-angle GAN性能驗(yàn)證設(shè)計(jì)
在相同條件下,每個(gè)模型設(shè)置訓(xùn)練500個(gè)epoch,訓(xùn)練完成并保存參數(shù)。針對(duì)同一幅圖片使用上述四種模型進(jìn)行測(cè)試。從圖7各個(gè)模型修復(fù)結(jié)果可以看出,Net-Content模型修復(fù)結(jié)果存在修復(fù)結(jié)果較為模糊問(wèn)題,Net-Style模型修復(fù)結(jié)果存在輕微噪聲問(wèn)題,Net-Class模型修復(fù)結(jié)果存在細(xì)節(jié)特征還原不足問(wèn)題,Net-All模型修復(fù)結(jié)果質(zhì)量最優(yōu),精準(zhǔn)還原出原始圖像的紋理與語(yǔ)義信息。
圖7 不同模型修復(fù)效果對(duì)比
同時(shí),從評(píng)價(jià)指標(biāo)PSNR、SSIM上量化四種模型的性能,具體指標(biāo)值如表4所示。
表4 不同模型修復(fù)效果對(duì)比
2) 譜歸一化實(shí)驗(yàn)。為了驗(yàn)證譜歸一化對(duì)模型性能的影響程度,本文設(shè)計(jì)引入譜歸一化和不引入譜歸一化兩種模型進(jìn)行比較。在相同條件下,每個(gè)模型設(shè)置訓(xùn)練500個(gè)epoch,訓(xùn)練完成并保存參數(shù)。針對(duì)同一張照片使用兩種模型進(jìn)行測(cè)試。從圖8可以看到引入譜歸一化的With-SN模型整體還原效果更加逼真清晰。
圖8 不同模型修復(fù)效果對(duì)比
同時(shí),從評(píng)價(jià)指標(biāo)PSNR、SSIM上量化兩種模型的性能,具體指標(biāo)值如表5所示。
表5 不同模型修復(fù)效果對(duì)比
圖像作為一種重要的視覺(jué)信息,保證其完整非常重要。圖像大面積破損使得圖像信息無(wú)法有效傳達(dá),導(dǎo)致后續(xù)工作無(wú)法有序進(jìn)行。本文提出一種針對(duì)大面積缺失區(qū)域的圖像修復(fù)模型(Multi-angle GAN),設(shè)計(jì)輔助網(wǎng)絡(luò)從不同角度約束模型生成器并引入譜歸一化與Wassertein GAN穩(wěn)定模型訓(xùn)練,實(shí)現(xiàn)了更優(yōu)的修復(fù)效果。同時(shí),盡管該模型部分修復(fù)結(jié)果存在輕微噪聲,但從整體與細(xì)節(jié)上還原出圖片紋理以及內(nèi)容信息,是一種較為理想的修復(fù)模型。