白宗文,弋婷婷,周美麗,魏 嵬
(1.延安大學 物理與電子信息學院,陜西 延安 716000;2.西安理工大學 計算機學院,西安 710048)
圖像修復是指利用受損圖像周圍合理可信的信息來重建圖像的損壞區域,此技術被廣泛應用于目標移除[1]、圖像翻譯[2]和圖像編輯[3]等工程應用領域。現有研究表明,圖像修復質量取決于受損面積的大小、圖像自身結構特征和圖像語義特征等因素。傳統修復方法對于受損面積較小、圖像自身結構簡單的受損圖像具有良好的效果,但其依賴于當前單幅圖像未受損區域的信息,通過擴散或者統計計算對修復區域進行信息填充,沒有利用復雜的結構特征信息或者高層語義特征,修復結果難以達到語義級的一致性。近年來,隨著深度學習技術的興起,基于深度網絡模型的圖像修復取得了良好的效果,尤其是人臉圖像修復,這一技術的修復質量、視覺效果以及在不同領域中的應用成為關注的焦點。目前,如何使受損圖像保持像素層和語義層的一致性,并且避免損壞區域與未損壞區域的不完全融合成為人臉圖像修復的關鍵問題。采用深度網絡模型進行圖像修復,除了利用當前受損圖像的自身信息以外,還可以結合圖像結構特征和語義特征獲得更優的修復質量和視覺效果,使修復的合理性得到進一步提高。
通常傳統的圖像修復網絡都會引入特征歸一化方法進行輔助訓練,但對于人臉圖像修復網絡而言,采用這種跨空間的歸一化方法容易導致在提取受損區域以及未受損區域的特征時出現內部協方差偏移的問題[4-5],極大地影響了最終的修復質量。這一問題在區域歸一化[6]方法中能夠得到有效解決,但現有的圖像修復方法大多是從單一尺度進行圖像特征提取,較少將語義信息與不同尺度的特征進行融合。
為改善針對人臉細節的修復效果,并且有效保留高層特征的結構化信息,使整體的修復效果更符合人類視覺感知,本文通過結合多尺度特征融合方法和生成對抗網絡(Generative Adversarial Network,GAN),構建一種新的網絡結構——多尺度特征融合對抗網絡。
圖像修復的目的是重建圖像中丟失或損壞的部分,從而恢復原圖像的清晰像素并保持其與周圍場景的一致性。目前,圖像修復技術已在計算機視覺領域得到廣泛應用,成為圖像處理一個關鍵且極具挑戰的研究課題。本節從非基于學習的傳統方法和基于學習的方法兩個方面出發,對圖像修復方法做簡要的歸納分析,并在現有研究的基礎上,針對目前方法存在的問題提出解決方案。
在非基于學習的傳統方法中,本文主要介紹基于擴散(diffusion-based)和基于補丁(patch-based)兩類方法。傳統方法主要依賴受損圖像的未破壞區域信息來填充受損區域,可以視為像素級的圖像修復,因而修復的結果很難達到語義級的一致性。在基于學習的方法中,本文主要介紹通過學習圖像的語義推斷缺失內容的圖像修復方法。
1.1.1 基于擴散的方法
MARCELO B 等人提出通過基于擴散的方法[7-8]來填充損壞的區域,實際就是將可用的圖像信息傳播到需要修復的區域,即從孔的邊界傳播到最小變化方向的信息,通常將擴散過程用等照度線或熱擴散等物理模型建模。在使用此類方法時,修復區域過大會導致運算量急劇增加,且由外邊界向區域中心的信息擴散過程會因距離問題速度變慢。此外,擴散過程會使修復區域過于平滑,并且在含有豐富紋理的情況下,能夠利用的圖像塊的相似性會減弱,導致匹配到合適紋理塊的難度加大,從而使修復區域變得模糊,不能得到理想的修復結果。
1.1.2 基于補丁的方法
對于圖像和視頻的合成與分析,基于補丁的采樣方法是一種被普遍使用的主流方法。同時,不同應用中使用的搜索技術以及交互性程度也各有差異。文獻[9]提出一種應用于區域填充和目標移除的基于范例(exemplar-based)的圖像修復算法。該算法基于樣本的紋理合成效率和定性性能,同時兼顧周圍線性結構對圖像的約束,引入優先級函數來決定目標函數的填充順序,并通過基于補丁的采樣過程提高計算效率。在應用方面,該算法在去除大的遮擋物以及修復細劃痕方面效果顯著。文獻[10]提出的結構傳播圖像處理方法解決了顯著性結構斷裂的問題,其以全局優化問題描述結構傳播,同時利用動態規劃方法進行求解。當用戶指定多條曲線時,采用置信度傳播算法尋求補丁。但如果用復雜曲線表示缺失部分時,會大幅增加圖像塊間的匹配難度。文獻[11]提出一種快速尋找圖像塊之間近似臨近匹配的隨機算法,核心思想是先通過采樣找到合適的匹配點,再利用自然圖像中的連貫性將匹配點快速傳播到周圍區域。文獻[12]提出一種利用中層結構線索自動引導基于補丁的圖像完成算法,該算法在拓展補丁距離以及采樣方案中整合平移規律約束,并將其作為補丁偏移和轉換的先驗概率來達到最終目的。同時該算法還可以自動恢復到基線平行平面(fronto-parallel)圖像,解決了缺乏可靠平面檢測的問題。區別于傳統的紋理合成算法,該算法能夠平衡分析和合成過程,提高修復性能。
傳統的圖像修復方法大多假定在平滑性、局部相似性等約束條件下通過偏微分方程、能量函數、熱擴散方程等物理模型進行建模來實現圖像修復,只適用于缺少少量信息的圖像,是典型的局部化操作,缺乏對整體圖像的統一認知。近年來,隨著深度學習在計算機視覺領域的應用范圍不斷擴大,基于深度學習的圖像修復技術成為研究熱點。與傳統方法不同,基于深度學習的修復方法能夠模仿人類進行圖像修復的過程,實現從像素級到語義級的多層次融合修復,并取得具有高保真度的修復結果。其中,基于GAN 的圖像生成方法在修復工作中被廣泛應用,其對隨機噪聲進行映射學習,能夠生成豐富多樣的能夠以假亂真的新圖像,實現“無中生有”效果。最早將GAN 引入到圖像修復領域的Context Encode網絡[13]既可以理解整個圖像的內容,又可以為缺失的部分生成一個合理的假設。但該方法不能處理任意圖像的修補掩膜,且僅限于修復低分辨率圖像,缺乏對局部一致性的考慮。文獻[14]提出的圖像修復方法同時考慮局部一致性和全局一致性,并且利用完全卷積神經網絡在任何形狀缺失區域內填充修復任意分辨率的圖像。該方法可適應各種場景,如在文獻[15]提到的人臉修復就是利用全局-局部判別器的思想。
基于學習的深度框架通過自動捕捉圖像的內在層次來理解圖像內容,并生成高層次的語義特征來修復缺失內容,一般可以取得比傳統方法更優的結果。基于GAN 的圖像修復可以在特定類型的圖像修復中取得較好的效果,但是對于高分辨率的圖像修復,會因圖像中內容不相似而導致難以收斂,從而加大GAN 的訓練難度。而多任務學習框架[16]結合結構嵌入和注意機制,通過訓練共享生成器,利用圖像結構知識的整合來輔助圖像的修復。在有關注意力機制的研究中,對孔洞區域與上下文之間的相關性建模被用于圖像修復任務,例如文獻[17]提出利用多尺度上下文注意模塊(MUSICAL)進行不同尺度下的特征圖交換,通過該方法可以使某些注意層獲得預期的特征圖,從而避免誤用具有豐富紋理背景的信息。此外,文獻[18]方法通過引入可學習的雙向注意力機制(LBAM)使可學習的注意力圖能夠適應任意不規則孔洞,并在卷積過程中有效傳播。文獻[19]方法通過引入連貫性語義注意層(CSA)增強了受損區域的語義相關性和特征連續性。該方法包含粗、精兩個分支,其將CSA 加入到精細網絡層中,不僅可以保持上下文結構一致,而且可以預測缺失部分。
本文將多尺度特征融合方法與生成對抗網絡相結合,構建一種多尺度特征融合對抗網絡用于人臉圖像修復。
生成對抗網絡(GAN)[20]的設計主要受博弈論中“零和博弈”的啟發。將GAN 引入深度學習神經網絡中,即利用生成器G和判別器D相互對抗博弈的促進過程,使G學習到的數據分布能夠生成更逼真的圖像。在訓練過程中,判別器D的目標即鑒別出G生成的虛假照片G(z),使D(G(z))的概率盡可能小,而生成器G的目標是使生成的圖像G(z)盡可能地欺騙鑒別器,使D(G(z))的概率盡可能大。由此就產生了G和D不斷動態博弈的過程。這個不斷循環往復的對抗過程能夠使最終的生成圖像達到“以假亂真”的效果。GAN 原理框圖如圖1所示。

圖1 GAN 原理框圖Fig.1 Principle block diagram of GAN
特征金字塔網絡(Feature Pyramid Network,FPN)最早用于解決物體檢測中的多尺度問題,特別是對小物體的檢測效果顯著[21],其利用常規CNN 模型高效提取圖片中各維度特征,本質是一種加強主干網絡的特征表達方法。
為更直觀地理解FPN 的思想原理,基于ResNet101 給出FPN 網絡模型的結構原理框圖,如圖2 所示(彩色效果見《計算機工程》官網HTML 版),其中,紅色長方體表示卷積及下采樣過程,橙色長方體代表普通卷積過程,藍色長方體代表最終生成的特征圖。由圖2 可知,一個深層FPN 在“自上而下”(圖中“自左向右”)提取特征時使用每個階段最后的輸出特征進行橫向連接。此外,1×1 卷積的使用也可以靈活改變通道數,使各層通道數最終保持一致。而利用“自上而下”的最鄰近插值法進行上采樣的過程,可使最終的特征圖既有合適的分辨率又有表達能力較強的語義信息,而3×3 卷積的使用則有效地避免了混疊效應。

圖2 基于ResNet101 的FPN 原理框圖Fig.2 Principle block diagram of FPN based on ResNet101
文獻[5]設計的網絡采用區域歸一化(Area Normalization,RN)方法,實驗結果表明其優于實例歸一化(Instance Normalization,IN)方法。因此,本文以該網絡作為主要架構,繼續在網絡的生成器中沿用區域歸一化方法,而對于生成器的考慮,本文則利用多尺度特征融合的方法,使生成器部分提取到比傳統網絡語義更強、有效信息更精確的特征。本文設計的基于多尺度特征融合對抗框圖如圖3 所示(彩色效果見《計算機工程》官網HTML 版)。與PatchGAN[22-23]中判別器只是簡單地使用卷積網絡提取單一圖像特征的方法不同,本文方法從多尺度特征角度考慮對判別器的特征提取方式進行改變。在圖3 中的判別器部分,最左邊從底層到頂層(淺紫色塊)首先利用傳統的卷積方法對圖片進行特征提取,然后通過1×1 卷積(左邊藍色箭頭)擴大通道數,這樣可以增加有效信息的采集,而中間所得到的特征圖(深紫色塊)利用上采樣及加和(棕色向下箭頭)的方式有效地融合了高層特征的結構語義信息和不同層分辨率的細節紋理,再利用3×3 卷積(右邊淺橙色箭頭)調節后得到的特征圖各自經過一個自適應池化(淡橙色塊),最后將得到的特征有效的連接(淺黃色塊)在一起作為輸出。經過這樣一個不斷融合的過程,可在提升判別器判別力的同時促進生成器生成更逼真的圖像,由此增強對圖像的修復能力。時缺少豐富的輪廓信息而造成的平滑現象。而對于細節紋理的獲得,將低頻信息的高分辨率填充到損壞的底層部分,使圖像在視覺上更清晰自然。基于以上兩點分析,本文通過圖像高層特征把握圖像整體規律,利用低層特征填充高層特征中被遮擋的孔洞,進而將合適的分辨率以及語義特征相融合,結合損壞的單幅圖像的紋理信息與到邊界明確的結構信息,提高圖像修復的質量。

圖3 基于多尺度特征融合的對抗框架Fig.3 Adversarial framework based on multi-scale feature fusion
此外,對于不同分辨率的圖像,本文采用的1×1 小卷積靈活調節所需的通道數。例如在提取人臉圖像信息時將原始的通道數拓展到256,雖然參數增加了近2倍,但是更有效地保存了小目標(如人眼)的細節及結構信息。同時本文對于更大卷積的使用也做了一定考慮,例如將1×1 卷積換成3×3 卷積,理論分析這樣可以保留更多的有效信息,但是會造成參數急劇增加,導致訓練速度變慢,若換用更大的卷積對設備的配置將提出更高的要求,極大地增加了成本輸出。
生成對抗網絡的損失函數是在生成器和鑒別器之間交替進行的,同時采用了不同的損失函數進行計算。本文模型損失函數的使用與基線方法大致相同,用Igt表示輸入的原圖,用M表示二進制掩膜,兩者經過Khatri-Rao 積(簡稱KR 積,符號表示為⊙)運算,得到帶掩膜的損壞圖像,計算公式如下:


其中,Ipred即為模型預測的修復結果。因此,該模型的對抗損失為:

由于高層特征的語義信息可以對單幅圖像的高頻結構特征進行有效展現,因此能夠緩解修復圖像
此外,在對損失函數進行計算時,本文利用標簽平滑方式[24]將原有真實標簽和虛假標簽分別改為0.9 及0.1,這樣可以提高模型的泛化能力,使模型的訓練結果具有更強的魯棒性。
本文引入風格損失函數[25]進行相關判斷,如式(4)所示:

為增強提取特征的細節,本文引入了感知損失[26],表達式如下:

其中,?j表示預訓練VGG[27]網絡得到的激活圖。通過預訓練出的網絡來捕捉圖像的細節特征可以得到更好的修復結果。
將以上損失與L1 損失結合起來構成本文的整體目標損失,如式(6)所示:

其中,ε表示無限接近0 的最小正數,能夠對整體的目標損失加以約束,使產生的結果得到校正,提高修復的整體性能。此外,本文所設置的引入損失函數的權重分配為λl1=1,λadv=0.1,λs=λp=0.000 1。
在CelebA 數據集[28]上使用本文方法進行實驗,其中訓練集有162 770張人臉圖像,驗證集有19 867 張圖像,測試集有19 962 張圖像。實驗還使用不規則掩膜(irregular mask)數據集[29],其中包含12 000 張不規則掩膜圖像,掩碼區域占整張圖像0%~60%。該數據集掩碼區域分為6 個等級,不規則掩膜各等級區域展示如圖4 所示,其中包括0%~10%、10%~20%、20%~30%、30%~40%、40%~50%、50%~60% 這6 種遮擋率的掩碼形式,且各部分均分別包含2 000 張掩碼圖像。

圖4 不規則掩膜各等級區域展示圖Fig.4 Regional display images of various grades of irregular mask
通過PyTorch 實現本文方法模型,在Ubuntu14.0環境下利用3 塊1080Ti GPU 進行訓練,批量設為14,同時使用Adam[30]進行優化。
采用3 種評價指標對修復完成的圖像進行最終的質量評估,分別是L1 損失、峰值信噪比(Peak Signal to Noise Ratio,PSNR)[31]、結構相似性(Structural Similarity,SSIM)[32]。
損失函數L1 基于逐像素比較差異,然后取絕對值對圖像進行相應的重建能力評估,計算公式如下:

其中,x(p)表示真實圖像的像素值,y(p)表示修復圖像的像素值。
PSNR 是衡量圖像質量的另一種指標,計算PSNR 要先對圖像的均方誤差(Mean Square Error,MSE)進行計算,計算公式如下:

其中,H、W是單色圖像I、K的尺寸大小,I(i,j)是真實圖像的像素表示,K(i,j)是修復圖像的像素表示。由此,PSNR 的計算公式表示如下:

其中,MAXI表示圖像中某點顏色的最大值,例如本文每個采樣點用8 位表示,則其顏色最大值為255。
SSIM 主要通過亮度(luminance)、對比度(Contrast)和結構(Structure)三方面對兩張圖像進行最終的結構相似性評估,計算公式如下:

其中,x和y表示真實值和修復值,μx和μy表示真實圖像和修復圖像的均值,σx和σy表示真實圖像和修復圖像的方差,σxy表示協方差,c1和c2為常數,取值分別為0.012和0.032。應注意的是,上述3 種評價指標均依據灰度圖像進行評估。
通過以上實驗參數的設置,本文方法最終的修復結果如圖5 所示。從人類視覺感知角度可以明顯看出,本文方法所取得的修復圖像與真實圖像相比幾乎沒有差別。

圖5 本文方法修復結果Fig.5 Repair results of the proposed method
3.3.1 定量分析
將本文方法與區域歸一化(RN)方法進行對比,兩種方法都是在測試數據集數量為19 870 張CelebA 人臉圖像上進行測試,輸入的圖像最終尺寸都會調整為256 像素×256 像素。分別設置5 組實驗進行圖像質量指標測試,結果如圖6~圖8 所示。由圖6 和圖7 可以看出,本文方法所得結果的折線圖均位于RN 方法之上,表明本文方法修復結果效果更佳。由圖8 可以看出,本文方法的L1 損失折線位于下方,同樣反映了本文方法的修復效果更優。在10%~20% 的掩膜區域,將1 000 張圖像與輸出的19 870 張人臉圖像相比,本文方法得到的測試結果都優于RN 方法,其中,PSNR 相比于RN 方法提高了2.54 dB,SSIM 測試結果提高了0.02,L1 損失的值下降了0.20%。在其他的掩膜區域(20%~30%、30%~40%、40%~50%)中依照同樣的方法進行測試,而最后的0%~60%是對各區域掩膜等比隨機選取(各區域分別約為333 張),最終隨機共取了2 000 張不規則掩膜與19 870 張人臉圖像進行測試。由測試數據可知,對于0%~60%區域的掩膜,本文方法相比于RN方法的PSNR 值提高了3.14 dB,SSIM 提高了0.05,而L1 損失下降了0.67%。

圖6 PSNR 指標對比Fig.6 PSNR index comparison

圖7 SSIM 指標對比Fig.7 SSIM index comparison

圖8 L1 損失對比Fig.8 L1 loss comparison
3.3.2 定性分析
本文方法與RN 方法的修復效果對比如圖9 所示,可以看出,本文方法修復的圖像清晰自然,在視覺上顯得更為合理流暢。

圖9 不同方法修復效果對比Fig.9 Comparison of repair effects of different methods
2 種方法在細節方面的修復對比如圖10 所示,通過對比放大框里各個人眼的修復結果可以看出,本文方法在細節紋理及結構方面的修復效果更佳,本文方法修復的人眼沒有模糊的重影,結構紋理清晰明了。

圖10 修復結果細節對比Fig.10 Comparison of repair results in detail
在不規則大掩膜對整個面部幾乎完全遮擋的情況下,2 種方法的結果對比如圖11 所示,可以看出,依然是本文方法取得的修復效果更優,例如在第1 行中面部除了人眼未遮擋的情況下,本文方法最終修復的人臉顯示了原圖的微笑表情,且修復結果在視覺感知下結構分明。

圖11 面部大面積遮擋圖像修復效果對比Fig.11 Comparison of repair effects for images with facial large-area occlusion
圖9 和圖11 的結果表明本文方法可以產生視覺上更合理的修復效果,而RN 方法所得到的結果存在扭曲的結構和模糊的紋理,例如圖9 第2 行和第3 行采用RN 方法修復的人臉存在偽影與模糊的結構,圖9最后3 行利用RN 修復的人臉面部大范圍存在模糊現象。相比之下,本文方法可以產生視覺上真實及合理的圖像。
本文提出一種多尺度特征融合的圖像修復方法。通過GAN 將語義信息與紋理信息有效融合,保證生成內容的邊緣和紋理與原圖的內容基本一致,從而使最終的修復效果滿足視覺上的可視性和語義上的合理性。本文在對抗網絡的鑒別器中引入FPN方法,同時增加原有的網絡通道數,從而得到合理的圖像結構和清晰的真實紋理。實驗結果表明,本文方法的PSNR、SSIM、L1 損失等指標均優于RN 方法,其PSNR 指標平均提升2.28 dB,SSIM 指標平均提升0.04,L1 損失平均下降0.47%。通過觀察定性分析環節展示的人臉圖像也可明顯看出,本文方法在人臉圖像修復方面較RN 方法能夠取得更好的視覺效果。后續將采用兩個判別器提升網絡的鑒別能力,充分利用圖像的有效特征進行圖像修復,同時在對抗網絡的生成器中引入多尺度特征融合的方法,進一步優化網絡生成修復圖像時的性能表現。