李海燕,吳自瑩,吳 俊*,李海江,李紅松
(1.云南大學(xué) 信息學(xué)院,云南 昆明 650050;2.云南交通投資建設(shè)有限公司,云南 昆明 650050)
現(xiàn)有的圖像修復(fù)方法主要有兩類,基于低級(jí)特征的傳統(tǒng)修復(fù)方法[1]和基于學(xué)習(xí)的圖像修復(fù)方法。傳統(tǒng)算法通常使用變分算法[2]或補(bǔ)丁相似度[3]將信息從未損壞區(qū)域傳播到破損區(qū)域,這類方法對(duì)單一紋理圖像的修復(fù)效果很好[4],但是修復(fù)背景復(fù)雜圖像時(shí)性能急劇下降[5]。為提高對(duì)復(fù)雜背景圖像的修復(fù)效果,Simakov等[6]提出了雙向補(bǔ)丁相似度修復(fù)算法建模背景復(fù)雜圖像,進(jìn)而獲得較好的修復(fù)效果,但該方法需密集計(jì)算補(bǔ)丁相似度,因此無法修復(fù)高分辨率圖像。為了有效修復(fù)高分辨率圖像,Barnes等[7]提出了Patch-Match快速最鄰域算法,當(dāng)破損區(qū)域較小時(shí),該方法能夠結(jié)合未破損區(qū)域的圖像信息完成修復(fù),但破損區(qū)域增大時(shí),其修復(fù)效果急劇下降。Darabi等[8]使用圖像梯度集改善高分辨率圖像的修復(fù)質(zhì)量,然而該方法依賴于圖像的低級(jí)特征,修復(fù)效果難以令人滿意??傊F(xiàn)有傳統(tǒng)方法在處理背景復(fù)雜,如色彩多樣、人物或風(fēng)景豐富,或相鄰像素間差值較大的圖像時(shí),性能急劇下降。
為了解決傳統(tǒng)修復(fù)方法的不足,學(xué)者們探索基于深度學(xué)習(xí)的修復(fù)方法?;贑NN的圖像修復(fù)方法[9]只能修復(fù)破損區(qū)域較小的圖像,于是Pathak等[10]以重構(gòu)損失和生成對(duì)抗損失為目標(biāo)函數(shù),訓(xùn)練修復(fù)大破損區(qū)域的深度神經(jīng)網(wǎng)絡(luò),但是該方法只能修復(fù)單一形狀的破損區(qū)域,修復(fù)自然背景、紋理復(fù)雜的真實(shí)圖像時(shí)效果不佳。于是Lizuka等[11]在其基礎(chǔ)上引入兩個(gè)GAN損失判決器,用空洞卷積層[12]代替常規(guī)的卷積層,使得修復(fù)網(wǎng)絡(luò)捕獲更多的圖像信息,該方法可以修復(fù)任意形狀的破損圖像,而且能夠生成新穎的結(jié)構(gòu),整體修復(fù)效果較好,但是,其修復(fù)結(jié)果包含細(xì)節(jié)失真,需后期進(jìn)行色彩處理,而且該方法修復(fù)高分辨率圖像時(shí)效果較差。隨后,Yeh等[13]提出在破損圖像的潛在空間中搜索最接近的編碼及解碼的修復(fù)算法,該方法修復(fù)高分辨率圖像中的小破損區(qū)域時(shí)效果比文獻(xiàn)[11]改善很多,但是,隨著破損區(qū)域的增大,其修復(fù)性能急劇下降。Yang等[14]提出了一種基于圖像內(nèi)容和紋理約束的聯(lián)合優(yōu)化多尺度神經(jīng)補(bǔ)丁合成方法,通過匹配與深度分類中最相似的中層特征相關(guān)的補(bǔ)丁來產(chǎn)生高頻細(xì)節(jié),在修復(fù)高分辨率圖像時(shí),可得到滿意的視覺效果,但是,其優(yōu)化網(wǎng)絡(luò)在訓(xùn)練過程中不穩(wěn)定,容易導(dǎo)致模型崩潰。
綜上所述,現(xiàn)有修復(fù)復(fù)雜背景圖像和高分辨率圖像的算法面臨一些急需解決的問題:首先,修復(fù)背景復(fù)雜、紋理精細(xì)圖像時(shí),生成的結(jié)構(gòu)模糊,破損區(qū)域邊緣會(huì)產(chǎn)生重疊或偽影;其次,修復(fù)高分辨率圖像的細(xì)節(jié)時(shí),雖然能生成紋理像素,但是整體的語義一致性差,修復(fù)圖像不貼近真實(shí)圖像;最后,當(dāng)數(shù)據(jù)集采用高分辨率圖像訓(xùn)練時(shí),網(wǎng)絡(luò)不穩(wěn)定,訓(xùn)練模型容易崩潰。
針對(duì)上述問題,本文提出基于雙網(wǎng)絡(luò)及多尺度判決器的圖像修復(fù)算法。提出內(nèi)容預(yù)測(cè)網(wǎng)絡(luò)和細(xì)節(jié)修復(fù)網(wǎng)絡(luò)相結(jié)合的雙生成對(duì)抗網(wǎng)絡(luò)修復(fù)結(jié)構(gòu),破損圖像經(jīng)過內(nèi)容預(yù)測(cè)網(wǎng)絡(luò)進(jìn)行粗修復(fù),粗修復(fù)網(wǎng)絡(luò)以重構(gòu)損失和生成對(duì)抗損失為標(biāo)準(zhǔn),比單一以重構(gòu)損失為修復(fù)標(biāo)準(zhǔn)的算法(Generative算法[15]、HR算法[16])生成的結(jié)構(gòu)更清晰合理,修復(fù)結(jié)果的整體語義一致性更好。雙網(wǎng)絡(luò)將內(nèi)容預(yù)測(cè)網(wǎng)絡(luò)的結(jié)果作為細(xì)節(jié)修復(fù)網(wǎng)絡(luò)的輸入,有效減少了需處理的圖像信息點(diǎn),保證了網(wǎng)絡(luò)訓(xùn)練的穩(wěn)定性。細(xì)節(jié)修復(fù)網(wǎng)絡(luò)的3個(gè)生成對(duì)抗損失基于3個(gè)不同尺度的判決器,可以從3個(gè)不同尺度區(qū)域捕獲破損區(qū)域的邊緣信息,確保修復(fù)背景復(fù)雜和高分辨率圖像時(shí),能生成合理、逼真的紋理細(xì)節(jié),提高了修復(fù)精確度。
圖1是本文提出算法的修復(fù)網(wǎng)絡(luò)結(jié)構(gòu)圖。由圖1可知,算法流程為:首先,破損圖像經(jīng)內(nèi)容預(yù)測(cè)網(wǎng)絡(luò)以重構(gòu)損失和生成對(duì)抗損失為標(biāo)準(zhǔn),進(jìn)行粗修復(fù);然后,將粗修復(fù)結(jié)果輸入細(xì)節(jié)修復(fù)網(wǎng)絡(luò),細(xì)節(jié)網(wǎng)絡(luò)中兩條平行的卷積路徑通過同一解碼器和反卷積得到修復(fù)結(jié)果;最后,將細(xì)節(jié)網(wǎng)絡(luò)的結(jié)果輸入3個(gè)不同尺度生成對(duì)抗損失的判決器,完善修復(fù)細(xì)節(jié),提高修復(fù)的精度。
圖1 修復(fù)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig. 1 Inpainting network structure
圖像修復(fù)中,因普通卷積層信息感受野有限,因此,研究者們提出了在卷積層中間加入池化層,以增大信息感受野區(qū)域[17]。但池化層在降維過程中會(huì)丟失圖像信息。針對(duì)池化層的缺點(diǎn),本文使用空洞卷積層[18]代替池化層,以期增大修復(fù)網(wǎng)絡(luò)的信息感受野且盡量減少圖像信息的丟失,如圖2所示。
圖2 空洞卷積增大信息感受野示意圖Fig. 2 Illustration of the enlarged information receptive field of the dilated convolution
圖2(a)是卷積核為3×3、空洞率為1的空洞卷積,紅色的9個(gè)點(diǎn)表示與核卷積的點(diǎn)。圖2(b)是卷積核為3×3、空洞率為2的空洞卷積,綠色7×7區(qū)域是信息感受野區(qū)域。圖2(c)是卷積核為3×3、空洞率為4的空洞卷積,其信息感受野達(dá)到15×15。相對(duì)于傳統(tǒng)卷積操作,信息感受野和卷積層數(shù)成線性關(guān)系,空洞卷積的信息感受野呈指數(shù)級(jí)增長(zhǎng)。因此,用空洞卷積層代替池化層不僅能增加修復(fù)網(wǎng)絡(luò)的信息感受野,還會(huì)減少修復(fù)過程中圖像信息的丟失。
內(nèi)容預(yù)測(cè)網(wǎng)絡(luò)的輸入為破損圖像,在訓(xùn)練和測(cè)試中,用原圖加掩碼獲得。卷積網(wǎng)絡(luò)用空洞卷積層代替常規(guī)卷積層,以捕獲更多的圖像信息。本文提出算法的創(chuàng)新在于:內(nèi)容預(yù)測(cè)網(wǎng)絡(luò)以重構(gòu)損失[19]和生成對(duì)抗損失[20]為標(biāo)準(zhǔn)進(jìn)行修復(fù),生成對(duì)抗損失基于全局判決器判定內(nèi)容預(yù)測(cè)網(wǎng)絡(luò)的修復(fù)結(jié)果,若修復(fù)結(jié)果的語義和紋理結(jié)構(gòu)具有全局一致性,則輸出內(nèi)容預(yù)測(cè)網(wǎng)絡(luò)的修復(fù)結(jié)果至細(xì)節(jié)修復(fù)網(wǎng)絡(luò);否則,將信息返回生成器進(jìn)一步改善結(jié)果。學(xué)習(xí)過程中,生成器G和判決器D相輔相成,判決器D接受G的修復(fù)圖像和學(xué)習(xí)樣本,試圖區(qū)分二者;G嘗試生成盡可能“真實(shí)”的樣本混淆D。生成對(duì)抗損失表示為:
內(nèi)容預(yù)測(cè)網(wǎng)絡(luò)的架構(gòu)如表1所示,一共5層。
表1 內(nèi)容預(yù)測(cè)網(wǎng)絡(luò)的整體架構(gòu)Tab. 1 Overall architecture of the content prediction network
內(nèi)容預(yù)測(cè)網(wǎng)絡(luò)中判決器的輸入為整幅圖像,判決器由6個(gè)卷積層和1個(gè)完整的連接層組成,可輸出單個(gè)1 024維向量。所有卷積層采用不大于2×2像素的步幅,降低圖像分辨率,同時(shí)增加輸出濾波器的數(shù)量,判決器卷積核為5×5。此外,在內(nèi)容預(yù)測(cè)網(wǎng)絡(luò)中加入了一個(gè)全局判決器,用來優(yōu)化內(nèi)容預(yù)測(cè)網(wǎng)絡(luò)的修復(fù)結(jié)果,其內(nèi)部架構(gòu)如表2所示。全局判決器識(shí)別內(nèi)容預(yù)測(cè)網(wǎng)絡(luò)的修復(fù)是否完成,以生成對(duì)抗損失為標(biāo)準(zhǔn)對(duì)全局判別器進(jìn)行優(yōu)化。這樣既可提高內(nèi)容預(yù)測(cè)網(wǎng)絡(luò)的修復(fù)結(jié)果,也減小了后續(xù)的細(xì)節(jié)修復(fù)網(wǎng)絡(luò)的修復(fù)壓力,提高整體的修復(fù)質(zhì)量。
表2 全局判決器的架構(gòu)Tab. 2 Architecture of the global discriminator
細(xì)節(jié)修復(fù)網(wǎng)絡(luò)的輸入是內(nèi)容預(yù)測(cè)網(wǎng)絡(luò)的修復(fù)結(jié)果,因此細(xì)節(jié)修復(fù)網(wǎng)絡(luò)卷積層信息感受野比內(nèi)容預(yù)測(cè)網(wǎng)絡(luò)大很多。常規(guī)的卷積修復(fù)網(wǎng)絡(luò),在修復(fù)過程中以單一的重構(gòu)損失作為修復(fù)標(biāo)準(zhǔn),訓(xùn)練時(shí),如果圖像信息點(diǎn)復(fù)雜,訓(xùn)練迭代次數(shù)多,容易因過擬合導(dǎo)致修復(fù)效果不理想,甚至?xí)?dǎo)致整個(gè)訓(xùn)練模型的崩潰[10]。本文提出的算法結(jié)合重構(gòu)損失和對(duì)抗損失作為修復(fù)標(biāo)準(zhǔn),不僅可提高修復(fù)質(zhì)量,還增加了修復(fù)網(wǎng)絡(luò)的穩(wěn)定性。為避免修復(fù)高分辨率圖像時(shí),由于過擬合、梯度爆炸等問題導(dǎo)致崩潰,本文提出的算法用雙網(wǎng)絡(luò)模型,有效減少細(xì)節(jié)修復(fù)網(wǎng)絡(luò)需要處理的圖像信息點(diǎn),從而減少了網(wǎng)絡(luò)崩潰的風(fēng)險(xiǎn),增加了網(wǎng)絡(luò)的穩(wěn)定性。細(xì)節(jié)修復(fù)網(wǎng)絡(luò)以重構(gòu)損失和3個(gè)不同尺度的生成對(duì)抗損失為標(biāo)準(zhǔn)進(jìn)行修復(fù)。3個(gè)不同尺度的大、中、小尺度判決器的輸入分別是以破損區(qū)域?yàn)橹行牡?28×128、64×64和32×32像素圖像塊。3個(gè)不同尺度判決器的作用與內(nèi)容預(yù)測(cè)網(wǎng)絡(luò)的判決器一樣。全局判決器的輸入是整張圖像,因?yàn)檩斎胂袼貕K的大小不同,因此能捕獲的圖像信息點(diǎn)多,但在訓(xùn)練的過程中,無法處理好每個(gè)信息點(diǎn)的語義連貫性,在處理高分辨率圖像及圖像的細(xì)節(jié)時(shí)該缺點(diǎn)尤為致命。而本文提出的算法可以很好地解決全局判決器的缺陷。其中,雖然小尺度判決器捕獲的圖像信息少,但能更精準(zhǔn)地處理每個(gè)信息點(diǎn)的結(jié)構(gòu)及語義信息,從而保證在修復(fù)高分辨率圖像及圖像細(xì)節(jié)時(shí),有效避免失真。細(xì)節(jié)修復(fù)網(wǎng)絡(luò)的重構(gòu)損失定義為:
在細(xì)節(jié)修復(fù)網(wǎng)絡(luò)中,3個(gè)判決器的輸出最終由單個(gè)完全連接層處理,以輸出連續(xù)值。使用Sigmoid函數(shù)對(duì)其進(jìn)行優(yōu)化。
本文基于雙生成對(duì)抗網(wǎng)絡(luò)及多尺度判決器的圖像修復(fù)算法的流程為:
1)設(shè)置初始參數(shù): β1= 0.001 5, β2=0.001, λ2=λ3=λ4=0.001 5,批量大小為32,內(nèi)容預(yù)測(cè)網(wǎng)絡(luò)迭代次數(shù)T1=10 000,細(xì)節(jié)修復(fù)網(wǎng)絡(luò)迭代次數(shù)T2=3 000,共同訓(xùn)練迭代次數(shù)T3=100 000。
2)當(dāng)?shù)螖?shù)<T1+T2+T3時(shí),進(jìn)行如下循環(huán):輸入圖像,并為圖像添加隨機(jī)掩膜生成殘缺圖像。
3)如果迭代次數(shù)<T1,那么使用內(nèi)容預(yù)測(cè)網(wǎng)絡(luò)損失LN更新網(wǎng)絡(luò)修復(fù)參數(shù)。
4)否則,使用細(xì)節(jié)修復(fù)網(wǎng)絡(luò)損失LX更新修復(fù)網(wǎng)絡(luò)參數(shù)和各判決器網(wǎng)絡(luò)參數(shù)。
5)如果迭代次數(shù)>T1+T2,則使用整個(gè)網(wǎng)絡(luò)損失LSum更新整個(gè)修復(fù)網(wǎng)絡(luò)和所有判決器的網(wǎng)絡(luò)參數(shù)。
6)迭代次數(shù)加1,并回到2)。
現(xiàn)有單網(wǎng)絡(luò)結(jié)構(gòu)訓(xùn)練時(shí),訓(xùn)練判決器區(qū)分修復(fù)圖像的“真假”,同時(shí)訓(xùn)練修復(fù)網(wǎng)絡(luò)欺騙判決器。由于判決器是基于生成對(duì)抗網(wǎng)絡(luò)的,網(wǎng)絡(luò)在訓(xùn)練過程中需要同時(shí)優(yōu)化生成器和判決器兩個(gè)沖突目標(biāo),導(dǎo)致訓(xùn)練不太穩(wěn)定,在處理復(fù)雜背景和高分辨率圖像時(shí)易導(dǎo)致訓(xùn)練模型崩潰。因此,本文提出雙網(wǎng)絡(luò)架構(gòu),將內(nèi)容預(yù)測(cè)網(wǎng)絡(luò)的修復(fù)結(jié)果作為細(xì)節(jié)修復(fù)網(wǎng)絡(luò)的輸入,在內(nèi)容預(yù)測(cè)網(wǎng)絡(luò)引入基于生成對(duì)抗網(wǎng)絡(luò)的全局判決器,減少細(xì)節(jié)修復(fù)網(wǎng)絡(luò)3個(gè)不同尺度的判決器需要處理的圖像信息點(diǎn),從而使訓(xùn)練時(shí)模型更加的穩(wěn)定。與其他的圖像修復(fù)方法不同,本文提出的方法并不從噪聲中生成圖像,這也使得訓(xùn)練過程從一開始就更加穩(wěn)定。
從公開數(shù)據(jù)集CelebA[21]、Places2[22]和ImageNet[23]中分別選取300 000張圖像訓(xùn)練修復(fù)網(wǎng)絡(luò),其中,280 000張用于訓(xùn)練,20 000張用于測(cè)試。CelebA、Places2和ImageNet數(shù)據(jù)集分別包括各式各樣的人臉圖像、風(fēng)景圖像、人物及風(fēng)景圖像,圖像分辨率為512×512。訓(xùn)練過程中,批量大小設(shè)置為32。對(duì)于判決器系數(shù),參考相關(guān)文獻(xiàn)[24],先確定基本范圍,再使用二分法逐步選取最優(yōu),設(shè)置 β1= 0.001 5, β2=0.001, λ1= 0.001, λ2=λ3= λ4=0.001 5。內(nèi)容預(yù)測(cè)和細(xì)節(jié)修復(fù)網(wǎng)絡(luò)分別迭代10 000次和30 000次后共同訓(xùn)練整個(gè)網(wǎng)絡(luò)100 000次。訓(xùn)練設(shè)備參數(shù)為:CPU為Intel i7-9700K,GPU為RTX2080Ti-16G,內(nèi)存為 DDR4-3000-32G,代碼在Pytorch深度學(xué)習(xí)框架下運(yùn)行。
設(shè)計(jì)了6組實(shí)驗(yàn)驗(yàn)證提出算法的有效性:1)在CelebA和ImageNet數(shù)據(jù)集上,對(duì)比本文提出算法與GLCIC算法[11]、Generative算法[16]、Shift-Net算法[24]和FGC算法[25]的修復(fù)效果;2)本文提出算法與現(xiàn)有的雙網(wǎng)絡(luò)結(jié)構(gòu)算法(Generatives算法[16]和HR算法[13])對(duì)比第1網(wǎng)絡(luò)修復(fù)結(jié)果和第2網(wǎng)絡(luò)修復(fù)結(jié)果;3)對(duì)比本文提出算法與GLCIC算法[11]、Generative算法[16]、Shift-Net算法[24]和FGC算法[25]的細(xì)節(jié)修復(fù)效果;4)本文算法的目標(biāo)物移除實(shí)驗(yàn);5)本文算法的消融實(shí)驗(yàn);6)客觀對(duì)比實(shí)驗(yàn);為保證對(duì)比的公平性,在本文的6組實(shí)驗(yàn)中所有算法的迭代次數(shù)相同。
圖3是在CelebA數(shù)據(jù)集上將本文提出算法與GLCIC算法[11]、Generative算法[16]、Shift-Net算法[24]和FGC算法[25]對(duì)背景簡(jiǎn)單的人臉圖像修復(fù)的結(jié)果對(duì)比,掩膜覆蓋了眼睛的大部分區(qū)域。從圖3中可看出:GLCIC算法的修復(fù)結(jié)果,兩個(gè)判決器保證了圖像整體語義的一致性,但眉毛處的修復(fù)出現(xiàn)扭曲,部分像素點(diǎn)重疊。Generative算法的修復(fù)結(jié)果生成的圖像結(jié)構(gòu)紋理清晰合理,但眼球處的細(xì)節(jié)修復(fù)差。Shift-Net算法的修復(fù)結(jié)果在眼睛與眉毛的連接處,出現(xiàn)了紋理錯(cuò)亂,無法生成合理的眼球結(jié)構(gòu)。FGC算法的修復(fù)結(jié)果能生成合理的結(jié)構(gòu),紋理較清晰。本文提出算法的修復(fù)結(jié)果的結(jié)構(gòu)紋理與原圖相似度高,眼球處的修復(fù)較對(duì)比算法更加符合語義,紋理更清晰。
圖3 CelebA 人臉數(shù)據(jù)集上各算法的修復(fù)結(jié)果Fig. 3 Repair results of each algorithm on the CelebA face dataset
圖4是在ImageNet數(shù)據(jù)集上將本文提出算法與GLCIC算法[11]、Generative算法[16]、Shift-Net算法[24]和FGC算法[25]對(duì)背景復(fù)雜且包含較多紋理細(xì)節(jié)的風(fēng)景圖像修復(fù)的對(duì)比結(jié)果,缺失區(qū)域包含背景及前景的較多紋理細(xì)節(jié)。從圖4可看出:GLCIC算法生成的結(jié)構(gòu)無法與周圍未破損區(qū)域保持視覺連貫性,部分像素點(diǎn)發(fā)生重疊。Generative算法在屋頂處的修復(fù)結(jié)構(gòu)紋理較GLCIC算法有一定的改善,但由于判決器尺度過大,結(jié)合未破損區(qū)域生成了多余結(jié)構(gòu)。Shift-Net算法修復(fù)背景復(fù)雜圖片時(shí)很難生成合理的結(jié)構(gòu)。FGC算法生成的結(jié)構(gòu)較合理,但細(xì)節(jié)紋理模糊。本文提出算法能生成合理的結(jié)構(gòu)和紋理,無邊緣模糊和重影,語義與原圖相符,修復(fù)效果較好。
圖4 ImageNet 數(shù)據(jù)集上各算法的修復(fù)結(jié)果Fig. 4 Repair results of each algorithm on the ImageNet data set
從圖3、4對(duì)不同數(shù)據(jù)集的修復(fù)結(jié)果對(duì)比看出:本文提出算法不僅能生成合理的結(jié)構(gòu)紋理,細(xì)節(jié)的結(jié)構(gòu)、紋理、像素也清晰合理,優(yōu)于對(duì)比算法。
圖5是本文提出算法與現(xiàn)有的雙轉(zhuǎn)移網(wǎng)絡(luò)結(jié)構(gòu)算法Generatives算法[16]和HR算法[13]在Places2數(shù)據(jù)集上修復(fù)背景復(fù)雜的自然圖像的對(duì)比,圖5中,給出了每種算法第1、2網(wǎng)絡(luò)修復(fù)結(jié)果。從圖5中可看出:對(duì)于第1網(wǎng)絡(luò)修復(fù)結(jié)果,Generative算法的修復(fù)結(jié)果無明顯結(jié)構(gòu)信息,HR算法生成了部分內(nèi)容,本文提出算法生成了基本的結(jié)構(gòu)信息。對(duì)于第2階段網(wǎng)絡(luò)的修復(fù)結(jié)果,Generative算法和HR算法的修復(fù)結(jié)果部分結(jié)構(gòu)錯(cuò)亂,紋理扭曲,像素點(diǎn)重疊。相對(duì)而言,本文提出算法的修復(fù)結(jié)果整體結(jié)構(gòu)及紋理與原圖基本一致,細(xì)節(jié)紋理無明顯錯(cuò)亂,圖像的整體語義一致性高。
圖5 各算法雙網(wǎng)絡(luò)的修復(fù)結(jié)果Fig. 5 Repair results of the double network of each algorithm
圖6是在ImageNet數(shù)據(jù)集上將本文提出算法與GLCIC算法[11]、Generative算法[16]、Shift-Net算法[24]和FGC算法[25]對(duì)紋理細(xì)節(jié)豐富的高分辨率圖像修復(fù)的結(jié)果對(duì)比。從圖6中可看出:GLICIC算法能生成基本合理的結(jié)構(gòu),全局判決器保證了圖像整體語義的一致性,但其局部判決器無法修復(fù)橋上繩索的細(xì)節(jié)。Generative算法能生成合理結(jié)構(gòu)和清晰紋理,但由于繩索缺失信息多,部分繩索區(qū)域只能結(jié)合周圍像素錯(cuò)誤地生成為水域結(jié)構(gòu)。Shift-Net算法能生成基本合理的結(jié)構(gòu),但繩索的修復(fù)結(jié)構(gòu)出現(xiàn)扭曲。FGC算法生成的結(jié)構(gòu)錯(cuò)亂,紋理模糊。本文提出算法由于使用了3個(gè)不同尺度的判決器,能夠很好地結(jié)合破損區(qū)域周圍的語義,有效避免修復(fù)過程中出現(xiàn)的細(xì)節(jié)失真,因此生成的結(jié)構(gòu)紋理合理清晰,而且細(xì)節(jié)語義與原圖高度一致。
圖6 各算法的高分辨率圖像修復(fù)結(jié)果Fig. 6 Results of high-resolution image restoration of each algorithm
圖7為本文提出算法ImageNet數(shù)據(jù)集上目標(biāo)物移除的實(shí)驗(yàn)結(jié)果。從圖7中可看出:本文提出算法可在移除的目標(biāo)物處生成與周圍語義一致的結(jié)構(gòu)信息,3個(gè)不同尺度的判決器保證修復(fù)的細(xì)節(jié)紋理一致性。
圖7 本文算法的目標(biāo)移除結(jié)果Fig. 7 Results of target removal by the proposed algorithm in this paper
圖8是本文提出算法在ImageNet數(shù)據(jù)集上的消融實(shí)驗(yàn)的效果圖。從圖8的修復(fù)效果可以看出:本文提出算法的內(nèi)容預(yù)測(cè)網(wǎng)絡(luò)增加了全局判決器,能改善內(nèi)容預(yù)測(cè)網(wǎng)絡(luò)的修復(fù)結(jié)果;本文提出算法的細(xì)節(jié)修復(fù)網(wǎng)絡(luò)增加3個(gè)不同尺度的判決器,使修復(fù)圖像的細(xì)節(jié)更清晰合理。消融實(shí)驗(yàn)驗(yàn)證了本文提出算法的有效性和優(yōu)越性。
圖8 本文算法的消融實(shí)驗(yàn)結(jié)果Fig. 8 Ablation experiment results of the proposed algorithm in this paper
由表3的實(shí)驗(yàn)結(jié)果可知:本文提出算法的4種定量客觀指標(biāo)優(yōu)于對(duì)比的其他算法,說明本文提出算法能很好地結(jié)合圖像的整體語義,增強(qiáng)圖像細(xì)節(jié)的修復(fù)精度,有效避免結(jié)構(gòu)紋理錯(cuò)亂、像素重疊、邊界扭曲等問題。
表3 峰值信噪比、結(jié)構(gòu)相似度等客觀指標(biāo)的定量實(shí)驗(yàn)對(duì)比Tab. 3 Objective indices comparison of PSNR and structure similarity
提出了一種基于雙生成對(duì)抗網(wǎng)絡(luò)及多尺度判決器圖像修復(fù)算法。內(nèi)容預(yù)測(cè)網(wǎng)絡(luò)引入基于生成對(duì)抗損失的全局判決器,保證修復(fù)圖像整體語義的一致性。將內(nèi)容預(yù)測(cè)網(wǎng)絡(luò)的修復(fù)結(jié)果作為細(xì)節(jié)修復(fù)網(wǎng)絡(luò)的輸入,擴(kuò)大了細(xì)節(jié)修復(fù)網(wǎng)絡(luò)的信息感受野。3個(gè)不同尺度的判決器保證細(xì)節(jié)修復(fù)的精度,有效避免結(jié)構(gòu)紋理錯(cuò)亂以及色彩像素重疊等缺陷。修復(fù)實(shí)驗(yàn)、雙網(wǎng)絡(luò)修復(fù)對(duì)比、高分辨率修復(fù)對(duì)比、目標(biāo)移除實(shí)驗(yàn)、消融實(shí)驗(yàn)及客觀實(shí)驗(yàn)結(jié)果表明:本文算法能很好地結(jié)合圖像的整體語義,增強(qiáng)圖像細(xì)節(jié)的修復(fù)精度,有效避免結(jié)構(gòu)紋理錯(cuò)亂、像素重疊、邊界扭曲等問題。當(dāng)然,由于使用多個(gè)基于生成對(duì)抗損失的判決器,因此訓(xùn)練時(shí)間較長(zhǎng),需5天左右,這是后續(xù)需要改進(jìn)之處。