李海燕 尹浩林 李鵬 周麗萍
(1.云南大學(xué) 信息學(xué)院,云南 昆明 650500;2.云南大學(xué) 云南大學(xué)學(xué)報(bào)(自然科學(xué)版)編輯部,云南 昆明 650500)
圖像修復(fù)旨在利用合理內(nèi)容填充缺失區(qū)域。傳統(tǒng)修復(fù)方法大多基于圖像塊匹配,如Efros等[1]提出了紋理合成方法,其在未缺失圖像塊中尋找與缺失部分最相似的信息補(bǔ)全缺失區(qū)域。該方法僅使用簡單的像素塊遷移,因此修復(fù)處與背景銜接不自然。Criminisi 等[2]提出樣例匹配方法,先對(duì)缺失區(qū)域的像素點(diǎn)分級(jí),優(yōu)先填充信息豐富的區(qū)域,逐步縮小填充范圍至完成修復(fù)。該方法能修復(fù)小面積缺失區(qū)域,但修復(fù)較大面積的缺失時(shí)存在結(jié)構(gòu)失真。Barnes 等[3]提出Patch Match 最近鄰樣例塊匹配方法,將搜索填補(bǔ)范圍設(shè)定在缺失區(qū)域的鄰近區(qū)域,極大減小了匹配區(qū)域的范圍,但未能解決修復(fù)大面積缺失的結(jié)構(gòu)混亂問題。He等[4]提出統(tǒng)計(jì)匹配塊的偏移量,得出擁有主導(dǎo)偏移量的匹配塊,再用該匹配塊引導(dǎo)完成修復(fù)。該方法極度依賴區(qū)域的相似性,當(dāng)缺失區(qū)域變大時(shí),由于先驗(yàn)信息不足,無法找到與待修復(fù)區(qū)域相匹配的像素塊,因此修復(fù)的結(jié)構(gòu)和紋理缺乏完整性和真實(shí)性。
為解決傳統(tǒng)修復(fù)方法的不足,學(xué)者們開始探索基于深度學(xué)習(xí)的修復(fù)算法。Mao 等[5]提出基于跳線連接的編碼-解碼網(wǎng)絡(luò)修復(fù)算法,對(duì)細(xì)小的受損區(qū)域能產(chǎn)生合理的語義內(nèi)容,但修復(fù)大面積缺失區(qū)域時(shí),由于修復(fù)的數(shù)據(jù)維度較高,導(dǎo)致先驗(yàn)不足,修復(fù)結(jié)果出現(xiàn)紋理模糊。K?hler 等[6]提出學(xué)習(xí)圖像塊映射推斷掩膜區(qū)域的修復(fù)算法,但該算法同樣在修復(fù)大面積缺失時(shí)因不能捕獲遠(yuǎn)距離背景信息而產(chǎn)生結(jié)構(gòu)失真。為有效修復(fù)大面積缺失,Pathak 等[7]提出基于上下文編碼器的無監(jiān)督視覺特征修復(fù)算法,可修復(fù)較大面積的規(guī)則區(qū)域,但修復(fù)隨機(jī)不規(guī)則缺失區(qū)域的性能較差。Li等[8]對(duì)上下文編碼器算法進(jìn)行改進(jìn),提出一種高效的人臉修復(fù)方法以期修復(fù)不規(guī)則缺失,但是該方法僅能用于背景單一的圖像修復(fù),修復(fù)紋理細(xì)節(jié)豐富的自然圖像時(shí),修復(fù)效果較差。李海燕等[9]提出基于混合空洞卷積的修復(fù)方法,擴(kuò)大了修復(fù)網(wǎng)絡(luò)的信息感受野,能有效完成大面積規(guī)則缺失區(qū)域的修復(fù),但是修復(fù)隨機(jī)不規(guī)則缺失時(shí),不能很好保持細(xì)節(jié)紋理與全局的一致性。Zhao等[10]以掩碼圖像為先驗(yàn)信息指導(dǎo)網(wǎng)絡(luò)進(jìn)行多元化修復(fù),它主要由條件編碼模塊、流形投影模塊、生成模塊組成,以生成多元化圖像,但存在結(jié)構(gòu)連貫性差等問題。
對(duì)于不規(guī)則缺失修復(fù),Cao 等[11]提出兩階段的草圖來修復(fù)人造場景的圖像,劉微容等[12]提出一種多級(jí)解碼網(wǎng)絡(luò)利用多尺度信息生成視覺上合理的結(jié)果,但這些算法同樣存在結(jié)構(gòu)不連貫等問題。Liu 等[13]提出用部分卷積代替常規(guī)卷積,該方法不依賴于修復(fù)位置或場景復(fù)雜度,對(duì)不規(guī)則缺失有較好的修復(fù)效果;Zheng等[14]提出多元圖像修復(fù)算法,能修復(fù)各種形狀的缺失圖像并得到較合理的結(jié)果;Li等[15]添加結(jié)構(gòu)圖輔助算法對(duì)不規(guī)則孔洞進(jìn)行逐步重建;Guo等[16]以雙向連接的形式進(jìn)行結(jié)構(gòu)約束的紋理合成和紋理引導(dǎo)來重建缺失區(qū)域的結(jié)構(gòu),該算法可生成合理的結(jié)構(gòu)和紋理。然而這些不規(guī)則修復(fù)算法大都使用批量歸一化,依賴大批量進(jìn)行迭代,在使用小批量輸入訓(xùn)練時(shí)效果較差。Li 等[17]提出的循環(huán)特征推理算法對(duì)大型不規(guī)則洞孔中心有極強(qiáng)的把控性,能有效修復(fù)大型洞孔的完整結(jié)構(gòu),獲得清晰的紋理,然而其連接方式不能有效傳遞特征信息,特征利用率低;此外,該算法使用單一損失函數(shù)計(jì)算輸出圖像與原圖的差異,當(dāng)不規(guī)則破損區(qū)域面積達(dá)30%及以上時(shí),其修復(fù)性能急劇下降。
綜上所述,現(xiàn)有算法在修復(fù)大面積不規(guī)則缺失時(shí),存在特征利用率低、修復(fù)結(jié)果結(jié)構(gòu)連貫性差等不足。為解決這些不足,本文提出基于密集特征推理(DFR)及混合損失函數(shù)(ML)的圖像修復(fù)算法。該方法首先將破損圖像輸入至特征推理(FR)模塊進(jìn)行邊緣重建和內(nèi)容填充;隨后將該模塊的輸出與初始輸入進(jìn)行通道合并后輸入至下一個(gè)FR 模塊,所有FR 模塊采用密集連接,以此對(duì)特征信息反復(fù)利用,其中包含一個(gè)傳播一致性注意力機(jī)制(PCA)用于將缺失部分信息與未缺失部分信息進(jìn)行一致性匹配,并使用組歸一化(GN)[18],利用小批量進(jìn)行迭代訓(xùn)練;最后將修復(fù)后的特征圖經(jīng)上采樣后得到修復(fù)圖像,使用ML 對(duì)其結(jié)構(gòu)進(jìn)行引導(dǎo)以接近真實(shí)圖像結(jié)構(gòu)。
本文提出的基于DFR 及ML 的修復(fù)算法如圖1所示。首先將待修復(fù)圖像輸入至DFR模塊,該模塊使用多個(gè)FR模塊進(jìn)行推理,每個(gè)FR模塊都使用前置FR 模塊推理出的特征信息來修復(fù)圖像;其次使用ML 比較輸出圖像與真實(shí)圖像的差異以引導(dǎo)網(wǎng)絡(luò)生成高質(zhì)量圖像。
圖1 本文所提算法的結(jié)構(gòu)示意圖Fig.1 Schematic diagram of the proposed algorithm structure
Huang 等[19]提出DenseNet,即任何網(wǎng)絡(luò)層都可以和所有后續(xù)層進(jìn)行直接連接。第l層接收前面所有層的特 征映射x0,x1,…,xl-1作 為輸入:xl=Hl([x0,x1,…,xl-1]),其 中[x0,x1,…,xl-1] 是 在0,1,…,l-1 層中產(chǎn)生特征映射的連接。這種密集連接模式因?yàn)椴恍枰匦聦W(xué)習(xí)冗余的特征映射,所以比傳統(tǒng)的卷積網(wǎng)絡(luò)[20]需要的參數(shù)更少。除了高效外,DenseNet 改進(jìn)了整個(gè)網(wǎng)絡(luò)的信息流和梯度,易于訓(xùn)練。其每一層都可以直接從損失函數(shù)和原始輸入信號(hào)中訪問梯度,有助于訓(xùn)練更深層次的網(wǎng)絡(luò)架構(gòu)。
借鑒DenseNet的思想,DFR模塊將多個(gè)級(jí)聯(lián)的特征推理模塊進(jìn)行密集連接,提升特征復(fù)用率,每個(gè)推理模塊修復(fù)時(shí)能夠充分利用前置推理模塊填充的特征信息,以此提高修復(fù)性能,如圖1所示。下面詳細(xì)介紹DFR模塊中的各個(gè)部分。
1.1.1 特征推理模塊
FR模塊建立在編碼解碼結(jié)構(gòu)上,借鑒U-Net[21]的思路,使用跳線連接橋接編碼層和解碼層。其中編碼器由部分卷積[13]與標(biāo)準(zhǔn)卷積組成,解碼器由標(biāo)準(zhǔn)卷積組成,另外包含一個(gè)傳播一致性注意力機(jī)制,如圖2所示。
圖2 FR模塊Fig.2 FR module
FR 模塊的目的是用盡可能高質(zhì)量的特征值填充已損壞的區(qū)域。高質(zhì)量的特征有利于后續(xù)特征推理模塊填充內(nèi)容。
1.1.2 傳播一致性注意力機(jī)制
現(xiàn)存注意力機(jī)制[17]不能夠較好匹配缺失區(qū)域像素塊與已知區(qū)域像素塊,容易導(dǎo)致細(xì)節(jié)紋理扭曲,精密度低,為解決此問題,借鑒Li等[17]提出的注意力機(jī)制KCA,在其中引入注意力傳播,提出傳播一致性注意力機(jī)制(PCA),其計(jì)算流程圖如圖3所示。
圖3 PCA計(jì)算流程Fig.3 PCA calculation process
首先計(jì)算前景區(qū)域與背景區(qū)域的相似度分?jǐn)?shù)s:
式中,f(x,y)表示前景在(x,y)處的像素值,b(x',y')表示背景在(x',y')處的像素值。
因前景特征塊偏移時(shí),相應(yīng)的特征塊也進(jìn)行相同的偏移,會(huì)造成前景區(qū)域與背景區(qū)域匹配不一致,因此設(shè)置注意力傳播的卷積核進(jìn)行上下與左右傳播,以增加匹配一致性。新的注意力分?jǐn)?shù)為
式中,k為卷積核的大小。新的注意力分?jǐn)?shù)使修復(fù)網(wǎng)絡(luò)擁有更豐富的梯度,提升了修復(fù)細(xì)節(jié)的一致性。
根據(jù)相似度的值,用softmax 函數(shù)對(duì)其進(jìn)行歸一化,得出注意力分?jǐn)?shù):
式中,a'為softmax函數(shù)沿通道方向計(jì)算在位置(x,y)處的注意力分?jǐn)?shù),表示PCA 模塊產(chǎn)生的第i'次的注意力分?jǐn)?shù)。
將上一個(gè)PCA模塊產(chǎn)生的最終分?jǐn)?shù)與本次特征推理的PCA 計(jì)算的注意力分?jǐn)?shù)加權(quán)組合得到最終得分:
式中,λ為可學(xué)習(xí)的參數(shù),ai'-1為上一個(gè)PCA 模塊計(jì)算的注意力分?jǐn)?shù)。
最后利用反卷積進(jìn)行特征重建:
特征圖重建后,輸入到注意力機(jī)制的特征圖F*和重建后的通道合并,卷積得到最終結(jié)果:
式中,?為逐像素卷積,|·|表示通道合并。
1.1.3 特征合并
特征圖經(jīng)所有FR 模塊推理后,若僅使用最后一個(gè)推理模塊輸出的特征圖,則會(huì)出現(xiàn)梯度消失、特征圖信息損壞等問題。因此,利用RFR[17]中的方法,將所有特征推理模塊合成的特征圖進(jìn)行合并,即輸出特征圖中的值僅根據(jù)對(duì)應(yīng)位置已被填充的值(被填充后的像素值為有效值,其對(duì)應(yīng)的掩膜值為1)進(jìn)行計(jì)算,用Fi'表示特征推理模塊產(chǎn)生的第i'張?zhí)卣鲌D,Mi'表示Fi'對(duì)應(yīng)的二進(jìn)制掩膜。輸出特征圖F的特征值可表示為
式中,fi'(x,y,z)為第i'張?zhí)卣鲌D在位置(x,y,z)處的特征值,mi'(x,y,z)為其對(duì)應(yīng)的二進(jìn)制掩膜,N為特征圖的輸入數(shù)量。
1.1.4 組歸一化
現(xiàn)有修復(fù)算法大都使用BN 進(jìn)行歸一化,需大批量數(shù)迭代才能獲得較好的修復(fù)效果,但大批量訓(xùn)練需要較高的GPU顯存。為解決此問題,提出使用組歸一化(GN)[21]替換BN進(jìn)行歸一化。該歸一化方式不受輸入批量數(shù)影響。
GN 將輸出特征圖通道分組并在每個(gè)組內(nèi)將特征值歸一化:
式中,ε為常量,Si''為像素集合,m為集合的大小。Si''定義為
式中,G為組數(shù),默認(rèn)G=32,C/G表示每組的通道數(shù),表示索引i''和k'在同一組通道中,沿通道軸C軸按順序分組。
本文利用GN,可在使用小批量數(shù)訓(xùn)練時(shí)達(dá)到優(yōu)異的效果,并且訓(xùn)練模型的收斂時(shí)間也不會(huì)增加。GPU一般來說顯存越高則價(jià)格越貴,使用該歸一化方式可以使用小顯存的GPU,節(jié)約研究成本。
結(jié)合亮度、對(duì)比度與結(jié)構(gòu)的指標(biāo),即結(jié)構(gòu)相似度損失函數(shù)(SSIM)可更好引導(dǎo)修復(fù)網(wǎng)絡(luò)生成符合人類視覺感知的內(nèi)容[22],結(jié)構(gòu)連貫性和合理性也更高。因此提出結(jié)合l1損失函數(shù)與SSIM的優(yōu)點(diǎn)組成混合損失函數(shù)(ML)。l1損失函數(shù)定義為
式中:p為像素值的索引;P為像素塊的集合;yreal(p)與ypred(p)為以p為索引的原圖與合成圖像的對(duì)應(yīng)像素值;N'為像素塊集合的大小。SSIM 可以讓修復(fù)網(wǎng)絡(luò)產(chǎn)生符合人眼視覺特性的圖像,像素p點(diǎn)的SSIM表示為
式中:μypred與μyprede分別為原圖與預(yù)測圖像的平均值;σyreal與σypred分別為原圖與預(yù)測圖像的標(biāo)準(zhǔn)差;σyrealypred為協(xié)方差;C1與C2為常量,避免分母為零造成的不穩(wěn)定性。因局部求SSIM 指數(shù)的效果好于全局,故用標(biāo)準(zhǔn)差為1.5、加權(quán)窗口大小為11 × 11的高斯濾波器進(jìn)行卷積,得到SSIM指數(shù)映射的像素矩陣,最后對(duì)整個(gè)SSIM 像素矩陣求均值得到最終結(jié)果。SSIM在像素p點(diǎn)的損失函數(shù)可寫為
本文所提算法結(jié)合l1損失函數(shù)與SSIM 的優(yōu)點(diǎn)組成混合損失函數(shù)ML,對(duì)比網(wǎng)絡(luò)輸出圖像與原圖的差異:
式中,γ為權(quán)重,設(shè)為0.25。
此外,本文所提算法還使用了其他圖像修復(fù)常用的損失函數(shù):采用感知損失函數(shù)(perceptual loss)與風(fēng)格損失函數(shù)(style loss)比較預(yù)測圖像與原圖的深度差異:
式中,?pooli'為第i'層池化層,Hi'、Wi'、Ci'分別為池化層第i'層輸出特征圖的高、寬及通道數(shù),gt代表標(biāo)簽值(原圖),pred代表預(yù)測值(預(yù)測圖像),style代表風(fēng)格損失,perceptual代表感知損失。
Lvaild與Lhole使用l1損失函數(shù)分別計(jì)算掩膜區(qū)域與非掩膜區(qū)域生成圖像ypred和原圖yreal之間的差值:
式中,m'為二進(jìn)制掩膜(洞孔處像素值為0),⊙為點(diǎn)乘。
本文所提算法用Total Variation Loss(Ltv)加強(qiáng)生成圖像的空間平滑性:
最后,總的損失函數(shù)為
式中,各參數(shù)設(shè)置為λstyle=120,λpreceptual=0.05,λtv=0.1,λvaild=1,λhole=6。
使用國際公認(rèn)的Paris StreetView 巴黎街景數(shù)據(jù)集和CelebA 人臉數(shù)據(jù)集驗(yàn)證本文所提算法的有效性,前者訓(xùn)練集有14 900 張,測試集有100 張,主要由城市建筑構(gòu)成。后者訓(xùn)練集有180 000張左右,由人臉構(gòu)成,另外選取100張圖像作為測試集。
訓(xùn)練時(shí)設(shè)置輸入批量為2,輸入圖像大小為256 × 256,優(yōu)化器函數(shù)為Adam。學(xué)習(xí)步長為2 ×10-4,訓(xùn)練到一定次數(shù)時(shí)進(jìn)行微調(diào),微調(diào)時(shí)將學(xué)習(xí)步長設(shè)置為5 × 10-5。在訓(xùn)練Paris StreetView 巴黎街景數(shù)據(jù)集時(shí),迭代總次數(shù)為600 000,迭代到400 000次進(jìn)行微調(diào);在訓(xùn)練CelebA人臉數(shù)據(jù)集時(shí),迭代總次數(shù)為500 000,迭代到350 000次進(jìn)行微調(diào)。
所有實(shí)驗(yàn)環(huán)境均使用Python3.75、Pytorch 1.7、Windows10 操作系統(tǒng)、CPU i9-10900k 和GPU 24GB NVIDIA RTX3090。
將本文所提算法與PIC[14]、PRVS[15]、RFR[17]、CTSDG[16]對(duì)比,驗(yàn)證其有效性。PIC 是2019 年Zheng 等[14]提出的基于并行生成對(duì)抗網(wǎng)絡(luò)的不規(guī)則洞孔修復(fù)算法;PRVS是2019年Li等[15]提出的基于視覺結(jié)構(gòu)的漸進(jìn)式重建方法,對(duì)大規(guī)模洞孔有較好的修復(fù)效果;RFR 是2020 年Li 等[17]提出對(duì)圖像特征循環(huán)推理,逐步提高修復(fù)能力的修復(fù)算法;CTSDG 是2021 年Guo 等[16]提出的一種雙向結(jié)構(gòu),通過結(jié)構(gòu)約束紋理合成和紋理引導(dǎo)結(jié)構(gòu)重建,以構(gòu)建精細(xì)的細(xì)節(jié)和合理的結(jié)構(gòu)。
設(shè)置了小型到超大型的各種掩膜對(duì)比實(shí)驗(yàn),掩膜率范圍分別為30%~40%、40%~50% 和50%~60%,修復(fù)結(jié)果如圖4和圖5所示。
圖4 人臉缺損圖像對(duì)比Fig.4 Comparison of facial defect images
圖5 街景缺損圖像對(duì)比Fig.5 Comparison of street view defect images
圖4(a)中,輸入圖像為掩膜率30%~40%的缺損圖像,PIC、PRVS 和CTSDG 因使用BN 進(jìn)行歸一化,所以在小批量訓(xùn)練時(shí),估算不夠準(zhǔn)確,導(dǎo)致修復(fù)效果較差;RFR算法使用循環(huán)特征推理將破損圖像逐步修復(fù),但是每個(gè)推理模塊僅使用前一個(gè)推理模塊的推理信息,沒有對(duì)前面所有的信息進(jìn)行復(fù)用,且沒有充分利用特征信息,此外還由于其注意力機(jī)制與損失函數(shù)的設(shè)置欠佳,故該算法在細(xì)節(jié)的精細(xì)修復(fù)上還有較大欠缺;本文所提算法能復(fù)原出清晰合理的結(jié)構(gòu)和完整的人臉五官。
圖4(b)中,輸入圖像為掩膜率40%~50%的缺損圖像,PIC 算法因錯(cuò)誤填充,導(dǎo)致修復(fù)結(jié)果的眼睛較模糊;PRVS算法能夠隱約填充出眼睛的結(jié)構(gòu),但未填充出正確的內(nèi)容,修復(fù)得仍不夠徹底;RFR算法能還原眼睛紋理,但因其在紋理細(xì)節(jié)上的修復(fù)不夠恰當(dāng),所以在眉毛處出現(xiàn)小范圍的紋理扭曲;CTSDG修復(fù)結(jié)果的雙眼中間處較為模糊;本文所提算法的修復(fù)結(jié)果沒有模糊感,口鼻眼紋理與全局具有較高的一致性。
圖4(c)中,輸入圖像為掩膜率50%~60%的缺損圖像,因PIC 在大面積修復(fù)上的困難,其修復(fù)的結(jié)果整體很模糊;PRVS 修復(fù)結(jié)果在下巴處出現(xiàn)較多重疊和大量冗余波紋;RFR算法雖只呈現(xiàn)出少量波紋,但波紋輪廓明顯,幾乎不能還原人臉細(xì)節(jié),很難分辨鼻子與嘴;CTSDG 算法基本能修復(fù)出五官,但紋理出現(xiàn)較多扭曲;本文所提算法的修復(fù)結(jié)果語義完整,細(xì)節(jié)較精細(xì)。
圖5(a)中,輸入圖像為掩膜率30%~40%的缺損圖像,PIC的修復(fù)結(jié)果出現(xiàn)了明顯的錯(cuò)誤填充,墻壁處顯然不符合全局結(jié)構(gòu);PRVS與RFR算法在墻面的填充結(jié)果較模糊,結(jié)構(gòu)也不合理;CTSDG算法修復(fù)的墻面存在較多的失真現(xiàn)象;相對(duì)而言,本文所提算法能用合適內(nèi)容修復(fù)缺失區(qū)域,與背景信息銜接較自然。
圖5(b)中,輸入圖像為掩膜率40%~50%的缺損圖像,PIC 算法在上方墻壁處填充了冗余特征,紋理的整體一致性差,下方的紋理也非常模糊;PRVS、RFR、CTSDG 修復(fù)的下方墻壁均不清晰,紋理錯(cuò)亂;本文所提算法修復(fù)的墻壁區(qū)域結(jié)構(gòu)較連貫,符合人眼視覺特性。
圖5(c)中,輸入圖像為掩膜率50%~60%的缺損圖像,PIC 對(duì)大面積的缺失修復(fù)出現(xiàn)了較為嚴(yán)重的錯(cuò)誤填補(bǔ),結(jié)構(gòu)凌亂;PRVS算法僅能修復(fù)出上方窗戶的大概輪廓,左下方出現(xiàn)了一些噪聲;RFR算法在窗戶內(nèi)填充的紋理不夠合理,下部出現(xiàn)紋理重疊;CTSDG算法未能呈現(xiàn)窗戶的明晰結(jié)構(gòu);本文所提算法能夠得到較多的清晰紋理細(xì)節(jié)和完整結(jié)構(gòu)。
為客觀比較本文所提算法與對(duì)比算法的性能,對(duì)各種算法的平均峰值信噪比(PSNR)、平均結(jié)構(gòu)相似度(SSIM)、均方誤差(MSE)、弗雷歇距離(FID)及學(xué)習(xí)感知圖像塊相似度(LPIPS)進(jìn)行對(duì)比,表1 展示了在CelebA 與Paris StreetView 測試集上不同掩膜占比的修復(fù)性能指標(biāo)對(duì)比。
表1 本文所提算法與對(duì)比算法的定量指標(biāo)對(duì)比Table 1 Comparison of quantitative indicators between the proposed algorithm and comparison algorithms
從表1可看出,本文所提算法的客觀指標(biāo)高于對(duì)比算法,說明本文所提算法的修復(fù)性能優(yōu)于對(duì)比算法。
圖6 與圖7 主要對(duì)比了算法復(fù)雜度,其中圖6對(duì)比了各個(gè)算法的推理時(shí)間,可以看出本文所提算法的程序執(zhí)行時(shí)間較低,效率較高。圖7對(duì)比了各個(gè)算法的模型參數(shù)量,可以看出本文所提算法參數(shù)量仍處于較低水平,雖然PIC 算法參數(shù)量非常低,但是其修復(fù)性能卻較差。
圖6 本文所提算法與對(duì)比算法推理時(shí)間對(duì)比Fig.6 Comparison of inference time between the proposed algorithm and comparison algorithms
圖7 本文所提算法與對(duì)比算法模型參數(shù)量對(duì)比Fig.7 Comparison of the number of model parameters between the proposed algorithm and comparison algorithms
消融實(shí)驗(yàn)主要比較密集連接、PCA、ML 及GN對(duì)修復(fù)效果的影響,所有實(shí)驗(yàn)均在CelebA 數(shù)據(jù)集上進(jìn)行。
(1)密集連接的有效性
圖8比較了不使用密集連接與使用密集連接的修復(fù)效果,可以看出兩者利用同等大小數(shù)據(jù)集訓(xùn)練時(shí),基于密集連接模式的模型因其能夠充分利用特征而重建效果更優(yōu)。
圖8 有無密集連接的效果對(duì)比Fig.8 Contrast effect with and without dense connection
(2)PCA的有效性
圖9 比較了PCA 與現(xiàn)存注意力機(jī)制的修復(fù)效果,可以看出現(xiàn)存注意力機(jī)制[17]嘴唇與眼睛處出現(xiàn)失真。本文所提算法使用了PCA,合成的嘴唇及眼睛的紋理細(xì)節(jié)更加能夠與整體保持一致性。
圖9 PCA與現(xiàn)存注意力機(jī)制的效果對(duì)比Fig.9 Comparison of PCA and existing attention mechanism
(3)ML的有效性
圖10比較了使用ML與單一損失函數(shù)的修復(fù)結(jié)果。未使用混合損失函數(shù)的修復(fù)結(jié)果中,嘴唇處修復(fù)的結(jié)果較扭曲,上嘴唇和下嘴唇銜接較差。本文所提算法使用了混合損失函數(shù)ML,在嘴唇處的結(jié)構(gòu)連貫性更好。
圖10 單一損失函數(shù)與ML的效果對(duì)比Fig.10 Comparison effect of a single loss function and ML
(4)GN的有效性
圖11 比較了同等批量數(shù)訓(xùn)練時(shí)BN 與GN 兩者的效果,在鼻子與嘴唇處可以明顯看出本文所提算法使用GN時(shí)效果優(yōu)于BN。
圖11 BN與GN的效果對(duì)比Fig.11 Contrast effect of BN and GN
表2 定量對(duì)比了消融實(shí)驗(yàn)的PSNR、SSIM、MSE、FID、LPIPS等指標(biāo)。綜合這些指標(biāo)可以看出密集連接、注意力傳播、混合損失函數(shù)以及組歸一化改善了網(wǎng)絡(luò)的修復(fù)性能。
表2 消融指標(biāo)對(duì)比Table 2 Comparison of ablation metrics
本文提出一種基于DFR 及ML 的修復(fù)算法,首先將待修補(bǔ)圖像輸入至密集連接的FR 模塊,逐步修復(fù)破損圖像,并對(duì)特征多次重復(fù)使用,隨后將所有FR 模塊輸出圖像進(jìn)行特征合并,上采樣得到修復(fù)圖像,最后使用ML 計(jì)算生成圖像與原始圖像的差異。與現(xiàn)有的4種經(jīng)典同類算法進(jìn)行定量與定性對(duì)比,結(jié)果表明本文所提算法在修復(fù)復(fù)雜場景的大面積不規(guī)則缺失時(shí),修復(fù)的結(jié)果結(jié)構(gòu)連貫性更好,紋理細(xì)節(jié)更能與全局保持一致。