姜 藝,胥加潔,柳 絮+,朱俊武
1.揚州大學(xué) 信息工程學(xué)院,江蘇 揚州225127
2.上海交通大學(xué) 海洋工程國家重點實驗室,上海200030
圖像修復(fù)指計算機根據(jù)破損圖像缺失區(qū)域外的信息推理修復(fù)出圖像破損區(qū)域的過程,圖像修復(fù)目的是使修復(fù)后的圖像破損區(qū)域足夠真實。然而,人類的視覺系統(tǒng)能夠敏銳地捕捉到圖像修復(fù)的痕跡。如何使得修復(fù)結(jié)果真實到騙過人眼的觀察是圖像修復(fù)研究的重點之一。現(xiàn)有的許多圖像修復(fù)算法已經(jīng)能夠生成較好的修復(fù)結(jié)果,但是遇到缺失結(jié)構(gòu)較為復(fù)雜的情形時,修復(fù)的結(jié)果往往會出現(xiàn)過度平滑或者模糊的現(xiàn)象?,F(xiàn)有方法往往注重圖像缺失區(qū)域內(nèi)容的生成,而對缺失部分細節(jié)的處理能力較差。本文的工作是研究圖像復(fù)雜結(jié)構(gòu)缺失下的修復(fù)問題。
傳統(tǒng)的圖像修復(fù)方法主要通過搜索圖像中完好區(qū)域的像素信息后填充至圖像中的缺失區(qū)域。這些方法大多基于圖像的低級特征進行修復(fù),使得修復(fù)模型只能處理圖像中一些簡單紋理信息缺失的修復(fù)工作,而難以修復(fù)圖像缺失的復(fù)雜結(jié)構(gòu)信息。修復(fù)圖像的復(fù)雜結(jié)構(gòu)需要對圖像有更深的理解,基于圖像的低級特征來修復(fù)遠遠不能滿足實際需求。
基于學(xué)習(xí)的圖像修復(fù)方法解決了傳統(tǒng)圖像修復(fù)方法對圖像理解能力不夠的問題。深度學(xué)習(xí)通過對海量圖像數(shù)據(jù)的學(xué)習(xí),能夠很好地理解圖像的語義信息。基于學(xué)習(xí)的圖像修復(fù)方法能夠?qū)W習(xí)缺失圖像到完整圖像端到端的映射函數(shù)。為了獲得更逼真的修復(fù)效果,大部分圖像修復(fù)方法使用了生成對抗網(wǎng)絡(luò)技術(shù)(generative adversarial networks,GAN)。雖然基于深度學(xué)習(xí)的圖像修復(fù)較傳統(tǒng)的圖像修復(fù)方法在修復(fù)質(zhì)量上得到了很大的提升,但是在面對圖像復(fù)雜結(jié)構(gòu)缺失時,現(xiàn)有方法不能很好地修復(fù)出結(jié)構(gòu)紋理信息。
針對上文分析的問題,本文將圖像修復(fù)工作分為兩部分:邊緣修復(fù)和內(nèi)容填充。邊緣修復(fù)主要修復(fù)圖像缺失部分的邊緣信息,而內(nèi)容填充則修復(fù)圖像缺失部分的顏色信息。具體來說,本文模型先訓(xùn)練邊緣修復(fù)模型以生成較為真實的缺失區(qū)域的邊緣信息,而后基于邊緣修復(fù)網(wǎng)絡(luò)生成的邊緣圖進行缺失部分內(nèi)容的生成。本文在CelebA 數(shù)據(jù)集和ParisStreet-View 數(shù)據(jù)集上訓(xùn)練、評估模型和對比實驗??偟膩碚f,本文的主要貢獻有如下幾點:
(1)提出了一種邊緣生成模型,并使用邊緣生成模型指導(dǎo)圖像修復(fù)工作。
(2)將圖像修復(fù)任務(wù)拆分為兩部分,分別是邊緣修復(fù)和內(nèi)容填充。
(3)提供端到端訓(xùn)練的網(wǎng)絡(luò)模型能夠修復(fù)圖像中缺失的復(fù)雜結(jié)構(gòu)信息。
基于擴散的圖像修復(fù)方法將圖像缺失區(qū)域周邊的信息擴散至缺失區(qū)域。Bertalmío 等人從手工修復(fù)圖像技術(shù)中汲取經(jīng)驗,首次提出了基于擴散的圖像修復(fù)方法。在此之后,Chan 和Shen 在Bertalmío 等人提出模型的基礎(chǔ)上提出了全變分模型(total variation,TV),該模型在修復(fù)速度上有了明顯的提升,但在圖像修復(fù)結(jié)果的連貫性修復(fù)上較為乏力。為了解決該問題,Chan 和Shen 基于TV 模型加入等照度線幾何信息,提出了一種新的曲率驅(qū)動擴散(curvature-driven diffusion,CDD)模型,彌補了TV模型的不足。Mumford-Shah 模型是另外一個具有代表性的基于擴散的圖像修復(fù)模型,該模型降低了運算的復(fù)雜度,但修復(fù)結(jié)果連通性不足。Shen 等人引入Euler's elastic 模型,提出Mumford-Shah-Euler 模型,很好地解決了Mumford-Shah 模型的不足。除此之外,文獻[11-13]均采用基于擴散的思想進行圖像修復(fù)??偟膩碚f,基于擴散的圖像修復(fù)方法局限于缺失區(qū)域周邊的局部信息,難以修復(fù)缺失部分的語義信息,更難以修復(fù)復(fù)雜的結(jié)構(gòu)信息,該類方法只適用于圖像較小區(qū)域修復(fù)或者背景修復(fù)工作。
基于補丁塊的圖像修復(fù)方法從圖像中搜索與缺失區(qū)域相似度高的圖像塊填充至缺失區(qū)域,由于要進行大量的相似度計算,這類方法的計算成本很高。Barnes 等人提出的PatchMatch 算法是典型的基于補丁塊的圖像修復(fù)方法之一,該算法利用快速近似最近鄰方法降低了運算的復(fù)雜性,提高了計算速度,但是隨機化的方法也降低了修復(fù)的精度。Criminisi 算法利用置信度和修復(fù)邊界信息來確定填充順序的優(yōu)先級,進而在圖像完好區(qū)域搜索與待填充塊相似度最高的塊來填充,最后再更新需要填充的塊的邊界和置信度,大大增加了計算量。除此之外,文獻[9,14-15]所提出來的算法均基于補丁塊的思想進行圖像修復(fù)。總的來說,基于補丁塊的圖像修復(fù)方法總是假設(shè)缺失區(qū)域的內(nèi)容會在圖像其他完好的區(qū)域中找到,但是這種假設(shè)往往不成立,比如,當一張人臉的鼻子被遮擋了,這類方法就搜索不到與鼻子相似的塊,難以修復(fù)缺失的鼻子。該類方法擅長于恢復(fù)高度圖形化的區(qū)域,如背景補全,但在重建局部獨特的圖形時卻很困難。
基于深度學(xué)習(xí)的圖像修復(fù)方法成了近幾年圖像修復(fù)領(lǐng)域的熱門研究,相比基于擴散和基于補丁塊的圖像修復(fù)方法,該類方法最大的優(yōu)勢在于從海量數(shù)據(jù)中學(xué)習(xí)到圖像的語義信息,這是其他方法難以做到的。這些方法基于卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練出從破損圖像到完好圖像的映射函數(shù),能夠?qū)W習(xí)、理解圖像修復(fù)過程中圖像的動態(tài)特征,進行如人臉、建筑等復(fù)雜物體的修復(fù)工作。Context-Encoder 模型是深度學(xué)習(xí)進行圖像修復(fù)工作的最早嘗試,模型通過對L2 損失和對抗性損失的訓(xùn)練,得到較為清晰的修復(fù)結(jié)果。Iizuka等人使用兩個判別器來保證修復(fù)結(jié)果全局的一致性和局部的正確性,修復(fù)效果較好但模型依賴后處理。Song 等人使用一個預(yù)先訓(xùn)練好的圖像分割網(wǎng)絡(luò)得到圖像損壞區(qū)域的前景掩膜,然后填充掩膜以指導(dǎo)圖像修復(fù),取得了較好的修復(fù)效果。但是,當前景和背景都被遮擋時,該類方法的效果較差。除此之外,文獻[11,19-22]方法均基于深度學(xué)習(xí)方法修復(fù)圖像。總的來說,基于深度學(xué)習(xí)的圖像修復(fù)方法能夠很好地學(xué)習(xí)到缺失區(qū)域的語義信息,修復(fù)結(jié)果較為逼真,但是如何修復(fù)圖像復(fù)雜結(jié)構(gòu)的缺失并且使得修復(fù)結(jié)果足夠逼真仍然是具有挑戰(zhàn)性的科學(xué)問題。
本文提出一種基于生成對抗網(wǎng)絡(luò)(GAN)的圖像修復(fù)模型,架構(gòu)如圖1 所示。該模型由兩大部分組成,分別是邊緣修復(fù)模型和內(nèi)容填充模型。邊緣修復(fù)模型的作用是修復(fù)生成缺失部分的邊緣結(jié)構(gòu)信息,內(nèi)容填充模型的作用是在邊緣修復(fù)模型輸出結(jié)果的基礎(chǔ)上填充內(nèi)容信息。
圖1 整體模型框架Fig.1 Whole framework of model
邊緣修復(fù)模型結(jié)構(gòu)基于深度卷積生成對抗網(wǎng)絡(luò)模型,包括生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò)兩部分。其中生成網(wǎng)絡(luò)使用自編碼器的結(jié)構(gòu),在自編碼器的編碼器和解碼器之間是8 個連續(xù)殘差塊組成的網(wǎng)絡(luò)。為了降低網(wǎng)絡(luò)的計算量,使用空洞卷積而非普通的卷積層。整個邊緣修復(fù)模型的網(wǎng)絡(luò)參數(shù)結(jié)構(gòu)圖如圖2 所示,輸入是256 imes256 imes3 的待修復(fù)圖像的邊緣圖,經(jīng)過一個自編碼器網(wǎng)絡(luò)生成修復(fù)后的邊緣圖。在生成網(wǎng)絡(luò)的后面加上一層優(yōu)化網(wǎng)絡(luò),對邊緣修復(fù)網(wǎng)絡(luò)修復(fù)的邊緣圖進行優(yōu)化提純,將提純后的邊緣圖輸入至判別網(wǎng)絡(luò)進行判別。
圖2 邊緣修復(fù)模型網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)圖Fig.2 Network structure parameter diagram of edge-guided repair model
邊緣修復(fù)模型中優(yōu)化網(wǎng)絡(luò)的網(wǎng)絡(luò)參數(shù)結(jié)構(gòu)圖如圖3 所示,優(yōu)化網(wǎng)絡(luò)是一個簡單的自編碼器結(jié)構(gòu),編碼器和解碼器之間是連續(xù)4 塊空洞卷積層。優(yōu)化網(wǎng)絡(luò)可以優(yōu)化提純生成網(wǎng)絡(luò)中前面自編碼器修復(fù)的邊緣圖里冗余的信息,產(chǎn)生更好的邊緣修復(fù)圖供內(nèi)容填充模型使用。
圖3 優(yōu)化網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)圖Fig.3 Network structure parameter diagram of optimization network
與邊緣修復(fù)模型結(jié)構(gòu)類似,內(nèi)容填充模型結(jié)構(gòu)也是基于生成對抗網(wǎng)絡(luò)。生成網(wǎng)絡(luò)使用自編碼器的結(jié)構(gòu),判別網(wǎng)絡(luò)使用普通的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。與邊緣修復(fù)模型的網(wǎng)絡(luò)架構(gòu)類似,但內(nèi)容填充模型沒有優(yōu)化網(wǎng)絡(luò)。內(nèi)容填充模型由生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò)兩部分組成,其中生成網(wǎng)絡(luò)的輸入是邊緣生成模型的輸出,輸入經(jīng)由編碼器、8 個連續(xù)的殘差塊和解碼器生成修復(fù)后的最終的彩色圖像,再將生成網(wǎng)絡(luò)的輸出輸入至判別網(wǎng)絡(luò)中,輸出的結(jié)果就判定該圖像是由網(wǎng)絡(luò)修復(fù)的還是來自于真實的樣本空間。具體的內(nèi)容填充模型圖如圖4 所示。
圖4 內(nèi)容填充模型網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)圖Fig.4 Network structure parameter diagram of content filling model
總損失函數(shù)由邊緣修復(fù)模型損失函數(shù)和內(nèi)容填充模型損失函數(shù)兩部分組成,如式(1)所示:
其中,G為邊緣修復(fù)模型中生成器所代表的函數(shù)。將生成的和E共同輸入進判別器訓(xùn)練,訓(xùn)練后的判別器需要判別輸入的邊緣圖是由邊緣生成器生成的還是原圖的邊緣圖。邊緣修復(fù)模型損失由對抗損失和特征匹配損失組成:
其中,D代表邊緣修復(fù)模型中判別器所代表的函數(shù);和是平衡對抗損失和特征匹配損失的超參數(shù);L代表邊緣修復(fù)模型中的對抗損失;L代表特征匹配損失。L的具體定義如式(4)所示:
特征匹配損失通過比較判別器中間層之間的激活圖來穩(wěn)定訓(xùn)練進程,類似于感知損失。L的具體定義如式(5)所示:
其中,G代表內(nèi)容填充模型生成器所代表的函數(shù)。內(nèi)容填充模型的損失函數(shù)由重建損失、對抗損失和風(fēng)格損失三部分組成:
本文使用μ代表在ImageNet 數(shù)據(jù)集上預(yù)訓(xùn)練的VGG-19 網(wǎng)絡(luò)的relu1_1、relu2_1、relu3_1、relu4_1和relu5_1 的每一層的激活圖,并使用風(fēng)格損失用來測量激活圖之間協(xié)方差的差異。給定大小為C×H×W的激活圖,那么風(fēng)格損失L即可由式(9)得到:
邊緣生成模型訓(xùn)練算法
內(nèi)容填充模型訓(xùn)練算法
實驗所使用數(shù)據(jù)集為CelebA 數(shù)據(jù)集和Paris Street-View數(shù)據(jù)集,其中CelebA數(shù)據(jù)集包括202 599張三原色(red green blue,RGB)三通道彩色人臉圖像,本實驗使用10 萬張圖像用作模型訓(xùn)練,并在剩下的圖像中選擇1 000 張用來模型測試。ParisStreet-View 數(shù)據(jù)集訓(xùn)練集包含14 902 張圖片,本實驗選擇14 000 張用作模型訓(xùn)練。
在數(shù)據(jù)集的預(yù)處理階段,將選取的圖像的分辨率固定為256×256。除此之外,本實驗使用文獻[11]的不規(guī)則掩膜生成方法生成不規(guī)則隨機掩膜數(shù)據(jù)集,總共生成2 萬張分辨率為256×256 的不規(guī)則掩膜圖像用作模型的訓(xùn)練和測試。如圖5 所示生成的不規(guī)則掩膜數(shù)據(jù)集中的示例圖像。
圖5 不規(guī)則掩膜數(shù)據(jù)集樣本Fig.5 Samples of irregular mask datasets
除此之外,由于實驗將破損部分缺失的圖片直接輸入至模型進行修復(fù),生成接近真實圖像或與原圖類似的結(jié)果。為了確保待修復(fù)圖像未缺失部分的像素信息不被改變,在后處理階段將修復(fù)生成的圖片原缺失部分的像素填充至待修復(fù)圖像的缺失部分,但直接填充可能會造成填充部分與原圖邊界的不連貫,因此實驗在填充后對邊界使用泊松融合處理。泊松融合基于泊松方程,能夠很好地將源圖像和目標圖像進行無縫融合。本實驗將待修復(fù)圖像作為背景圖像,將生成的缺失部分作為填充圖像,通過泊松融合將填充圖像融入背景圖像中,減少拼接的痕跡提升最終的圖像修復(fù)結(jié)果質(zhì)量。
實驗是在一塊顯存為8 GB 的NVIDIARTX2070顯卡上訓(xùn)練的。模型采用卷積神經(jīng)網(wǎng)絡(luò)的架構(gòu),激活函數(shù)使用=0.2 的LeakyReLU,模型參數(shù)更新使用Adadelta 優(yōu)化算法,本實驗中對于邊緣修復(fù)網(wǎng)絡(luò)的損失函數(shù)中的權(quán)重和取值分別為1 和10,對內(nèi)容填充網(wǎng)絡(luò)的損失函數(shù)中的權(quán)重、和取值分別為1、0.1 和250。實驗代碼使用Python 語言編寫,使用TensorFlow 和Pytorch 框架。
本文方法在CelebA 數(shù)據(jù)集和ParisStreet-View 數(shù)據(jù)集上與Shift-Net 模型、DIP(deep image prior)模型以及FFM(field factorization machine)模型進行對比。其中Shift-Net 模型是一個基于生成對抗網(wǎng)絡(luò)的圖像修復(fù)模型,它結(jié)合了傳統(tǒng)的基于范例的圖像修復(fù)方法和基于神經(jīng)網(wǎng)絡(luò)的圖像修復(fù)方法的優(yōu)點,能夠修復(fù)出較為精細的紋理細節(jié)。DIP 模型是基于卷積神經(jīng)網(wǎng)絡(luò)提出的一個新的非學(xué)習(xí)的圖像修復(fù)模型,它通過在單張損壞圖像上的反復(fù)迭代學(xué)習(xí)圖像的先驗信息,進而實現(xiàn)圖像修復(fù)。FFM 模型則是一種傳統(tǒng)的圖像修復(fù)模型,它利用待修復(fù)像素與其周圍鄰近像素的相關(guān)性來修復(fù)邊界上的像素信息,并將待修復(fù)區(qū)域的邊界不斷往里推進,以達到圖像修復(fù)的目的。
分別在CelebA 數(shù)據(jù)集和ParisStreet-View 數(shù)據(jù)集的測試圖片中選取部分樣本,以規(guī)則掩膜和不規(guī)則掩膜遮擋分別進行修復(fù)。如圖6 所示為CelebA 數(shù)據(jù)集上不規(guī)則掩膜遮擋的修復(fù)結(jié)果,自左向右,(a)~(f)每一列分別代表原圖、待修復(fù)圖像、Shift-Net 模型修復(fù)結(jié)果、DIP 模型修復(fù)結(jié)果、FFM 模型修復(fù)結(jié)果和本文模型修復(fù)結(jié)果。由圖6 可以看出,本文模型修復(fù)結(jié)果所造成的模糊現(xiàn)象最少,且能較好地修復(fù)出缺失部分的語義信息。從第1、3 和4 行的修復(fù)結(jié)果可以看出,本文模型能夠生成很逼真的修復(fù)結(jié)果,尤其是第四行當一半墨鏡被遮擋,本文模型仍然可以修復(fù)出缺失的墨鏡結(jié)構(gòu)和語義信息,很好地解決了難以修復(fù)復(fù)雜結(jié)構(gòu)信息的問題。根據(jù)本文提出模型的修復(fù)結(jié)果,修復(fù)生成的一只眼睛并不能很好地同另外一只眼睛形成對稱,因此使得修復(fù)結(jié)果在視覺上不太合理,比較容易辨認出修復(fù)過的痕跡。同樣的,Shift-Net 模型也能較好地修復(fù)出缺失部分的語義信息,但是修復(fù)結(jié)果會有一些模糊現(xiàn)象。DIP 模型作為一個不需要訓(xùn)練的深度學(xué)習(xí)模型,修復(fù)結(jié)果在像素級別上能較好地與原圖相融合,但是不能很好地修復(fù)出缺失部分的語義信息,而FFM 模型作為一個傳統(tǒng)的非深度學(xué)習(xí)的圖像修復(fù)算法,只能簡單地將周圍的信息復(fù)制到缺失部分,在語義修復(fù)上表現(xiàn)較差。總的來說,本文提出的模型在CelebA數(shù)據(jù)集上不規(guī)則掩膜的修復(fù)結(jié)果在視覺上要優(yōu)于其他幾個對比模型,且能較好地修復(fù)出缺失區(qū)域的復(fù)雜結(jié)構(gòu)信息。
圖6 CelebA 數(shù)據(jù)集上不規(guī)則掩膜修復(fù)結(jié)果Fig.6 Irregular mask repair results on CelebA datasets
圖7 展示各個模型在CelebA 數(shù)據(jù)集上規(guī)則掩膜遮擋的修復(fù)結(jié)果,每一列結(jié)果所代表的模型與圖6 相同。可以看出,本文模型在規(guī)則掩膜遮擋圖片上的修復(fù)結(jié)果較其他幾個模型的修復(fù)結(jié)果要好。在圖7的第一行和第二行中,實驗用矩形規(guī)則掩膜遮擋了一只眼睛,與圖6 的結(jié)果類似,本文模型能夠很好地修復(fù)出缺失的眼睛并且修復(fù)的結(jié)果與周圍完好區(qū)域融合性較好,但是修復(fù)生成的眼睛與另外一只眼睛的相似度較低。Shift-Net 模型也能夠修復(fù)出缺失的眼睛,但是修復(fù)結(jié)果存在些許的模糊現(xiàn)象,很容易看出修復(fù)的痕跡。而DIP 模型和FFM 模型則很難修復(fù)出缺失部分的語義信息,只是簡單地從缺失區(qū)域的周邊獲取像素信息填充至缺失區(qū)域。在圖7 的第三行中,本實驗遮擋住人臉眼鏡和眼睛部分進行修復(fù),從后四張修復(fù)結(jié)果可以看出,只有本文模型和Shift-Net 模型修復(fù)出視覺上較好的結(jié)果。雖然(c)列的Shift-Net 模型可以較好地修復(fù)出缺失的眼睛,但是修復(fù)出的眼睛與眉毛之間的間距較小,不能在視覺上產(chǎn)生真實感。本文模型已經(jīng)能夠較好地修復(fù)出缺失的復(fù)雜結(jié)構(gòu)信息,修復(fù)出的眼睛在視覺真實程度略優(yōu)于Shift-Net模型,但是在眼睛的細節(jié)生成上還有所欠缺。第四行實驗遮住了鼻子以下的部分進行修復(fù),雖然本文模型的修復(fù)結(jié)果較好,略優(yōu)于其他幾個模型修復(fù)的結(jié)果,但是在臉頰的左邊還是有一些偽影??偟膩碚f,本文提出模型在CelebA 數(shù)據(jù)集上規(guī)則掩膜的修復(fù)結(jié)果在視覺上也優(yōu)于其他幾個對比模型。能夠修復(fù)出較好的結(jié)構(gòu)信息,但是在修復(fù)結(jié)果細節(jié)上還有所欠缺。
圖7 CelebA 數(shù)據(jù)集上規(guī)則掩膜修復(fù)結(jié)果Fig.7 Regular mask repair results on CelebA datasets
圖8 所示為各個模型對ParisStreet-View 數(shù)據(jù)集上規(guī)則掩膜遮擋的修復(fù)結(jié)果,實驗共取7 張圖像并對圖像中心進行固定大小的規(guī)則掩膜遮擋,具體每列所代表的模型同圖6 一致。由圖8 的修復(fù)結(jié)果可以看出,作為傳統(tǒng)圖像修復(fù)方法的FFM 模型的修復(fù)結(jié)果不太樂觀,很難很好地修復(fù)出建筑圖像缺失部分的紋理結(jié)構(gòu)以及語義信息。而DIP 模型雖然在修復(fù)人臉信息上效果不是很好,但在修復(fù)建筑圖像上效果較好,尤其是第6、7 行,DIP 模型較好地修復(fù)出了窗戶的結(jié)構(gòu)信息,但是也產(chǎn)生了些模糊。而經(jīng)過訓(xùn)練的Shift-Net 模型和本文模型則較好地修復(fù)出了圖像缺失的復(fù)雜結(jié)構(gòu)信息,并生成逼真的結(jié)果。從圖8 的7 張建筑圖像修復(fù)結(jié)果的模糊程度上看,本文模型相較于Shift-Net模型產(chǎn)生了較少的模糊。但是,在第一行的修復(fù)結(jié)果上,相對而言,Shift-Net 的修復(fù)結(jié)果更加具有真實性,Shift-Net 模型很好地修復(fù)出了上下兩扇窗戶的分界,而本文模型則產(chǎn)生上下窗戶相連的結(jié)果,缺少了些許的真實性??偟膩碚f,本文提出模型在ParisStreet-View 數(shù)據(jù)集上規(guī)則掩膜的修復(fù)結(jié)果已經(jīng)能夠很好地還原了原圖像缺失的復(fù)雜結(jié)構(gòu)信息,并且在視覺上略優(yōu)于Shift-Net 的修復(fù)結(jié)果,與其他兩個對比模型相比有較大的優(yōu)勢。
圖8 ParisStreet-View 數(shù)據(jù)集上規(guī)則掩膜修復(fù)結(jié)果Fig.8 Regular mask repair results on ParisStreet-View datasets
圖9 則是各個模型對ParisStreet-View 數(shù)據(jù)集上不規(guī)則掩膜遮擋的修復(fù)結(jié)果對比,實驗選取4 張建筑圖片并對它們使用不規(guī)則掩膜遮擋處理,每一列所代表的模型與圖6 相同。由圖9 可以看出,在圖像修復(fù)結(jié)果的語義性上,本文模型和Shift-Net模型修復(fù)的結(jié)果較好,都能修復(fù)出較好的復(fù)雜結(jié)構(gòu)信息和缺失部分的語義信息,但是Shift-Net 的修復(fù)結(jié)果較模糊。在第一行的修復(fù)結(jié)果中,隨機掩膜遮擋了最左邊一輛車,本文模型的修復(fù)結(jié)果已經(jīng)接近物體移除的效果,而其他幾個模型則很難做到這一點。在第三行的修復(fù)結(jié)果中,Shift-Net 模型、DIP 模型和FFM 模型對商店門牌的修復(fù)都較為模糊,而本文的模型很好地修復(fù)了被遮擋的文字部分。相較于本文模型和Shift-Net 模型,DIP 模型和FFM 模型在建筑圖像不規(guī)則掩膜遮擋修復(fù)的表現(xiàn)不是很出色,DIP 模型會產(chǎn)生一些模糊現(xiàn)象,而FFM 模型則會產(chǎn)生扭曲的結(jié)果。但是,DIP模型在第四行對商店門牌的修復(fù)上較成功,雖然沒有修復(fù)出文字部分,但是門牌修復(fù)結(jié)果在像素上足夠真實。總的來說,本文提出模型在ParisStreet-View 數(shù)據(jù)集上不規(guī)則掩膜修復(fù)結(jié)果在視覺上是明顯優(yōu)于其他幾個模型的,而且對于缺失部分的結(jié)構(gòu)修復(fù)以及細節(jié)修復(fù)表現(xiàn)較好。
圖9 ParisStreet-View 數(shù)據(jù)集上不規(guī)則掩膜修復(fù)結(jié)果Fig.9 Irregular mask repair results on ParisStreet-View datasets
除了最終修復(fù)的定性分析之外,實驗還對中間過程中的紋理修復(fù)結(jié)果進行了提取,具體結(jié)果如圖10所示,(a)~(d)列分別為原圖、待修復(fù)圖像、邊緣修復(fù)圖和最終修復(fù)結(jié)果圖。實驗分別取CelebA 數(shù)據(jù)集和ParisStreet-View 數(shù)據(jù)集上規(guī)則掩膜和不規(guī)則掩膜結(jié)果各一張進行展示。由圖10 的(c)列可以發(fā)現(xiàn),邊緣生成模型能夠較好地修復(fù)出模型缺失部分的邊緣信息,尤其是該列的第一張和最后一張,邊緣修復(fù)模型很好地修復(fù)除了缺失眼睛的結(jié)構(gòu)信息,但是細節(jié)上生成得不夠充分,造成了模型對第一行的樣本圖像修復(fù)時眼球的細節(jié)修復(fù)不夠完善,使用更大分辨率的圖像訓(xùn)練模型應(yīng)該可以解決該問題。
圖10 邊緣指導(dǎo)圖像修復(fù)方法結(jié)果展示Fig.10 Results of edge-guided image repair method
除了視覺上的定性分析之外,實驗還對模型修復(fù)結(jié)果進行定量指標分析。所選的評估指標為峰值信噪比PSNR 和結(jié)構(gòu)相似度SSIM。
表1 所示為本文模型、Shift-Net 模型、DIP 模型及FFM 模型在CelebA 數(shù)據(jù)集和ParisStreet-View 數(shù)據(jù)集上規(guī)則掩膜修復(fù)結(jié)果的PSNR 和SSIM 指標對比。實驗隨機從CelebA 測試集和ParisStreet-View 測試集各取100 張圖片,使用規(guī)則的掩膜遮擋處理各得到100張待修復(fù)圖像,使用本文模型、Shift-Net 模型、DIP 模型以及FFM 模型4 個模型進行修復(fù),將修復(fù)結(jié)果與原圖進行比較并計算平均PSNR值和平均SSIM值。
表1 不同數(shù)據(jù)集上規(guī)則掩膜修復(fù)結(jié)果對比Table 1 Regular mask repair results comparison on different datasets
由表1 的結(jié)果可以看出,在CelebA 數(shù)據(jù)集和ParisStree-View 數(shù)據(jù)集上進行規(guī)則掩膜遮擋修復(fù)實驗,本文模型的修復(fù)結(jié)果在PSNR 和SSIM 指標上略優(yōu)于Shift-Net 模型,對比DIP 模型和FFM 模型則具有較大的優(yōu)勢,這也對應(yīng)了定性分析中各個模型修復(fù)結(jié)果的視覺對比結(jié)果。
表2 所示為本文模型、Shift-Net 模型、DIP 模型以及FFM 模型在CelebA 數(shù)據(jù)集和ParisStreet-View 數(shù)據(jù)集上不規(guī)則掩膜修復(fù)結(jié)果的PSNR 和SSIM 指標對比。實驗與規(guī)則掩膜修復(fù)結(jié)果比較相同,在兩個數(shù)據(jù)集上隨機各取100 張圖片,使用隨機掩膜測試集中的掩膜遮擋處理各得到100 張待修復(fù)圖像,使用4 個模型修復(fù)并比較結(jié)果與原圖之間的平均PSNR 值和平均SSIM 值。
表2 不同數(shù)據(jù)集上不規(guī)則掩膜修復(fù)結(jié)果對比Table 2 Irregular mask repair results comparison on different datasets
由表2 可以看出,本文模型在不規(guī)則掩膜下的修復(fù)結(jié)果在PSNR 和SSIM 指標上依然領(lǐng)先其他3 個模型。但是,相較于規(guī)則掩膜修復(fù)結(jié)果的PSNR 和SSIM,不規(guī)則掩膜下修復(fù)結(jié)果的PSNR 和SSIM 指標略有下降,因為不規(guī)則掩膜可能遮擋了圖像中的較多關(guān)鍵信息,而且不規(guī)則掩膜容易遮擋距離較遠、相關(guān)性不高的圖像區(qū)域,修復(fù)的結(jié)果與原圖比較差距較大,規(guī)則掩膜大多遮擋較少的關(guān)鍵信息,而且規(guī)則掩膜遮擋的區(qū)域大多連貫,相似性較高。
除此之外,本實驗還分析了掩膜大小的不同對修復(fù)結(jié)果的影響。在CelebA 數(shù)據(jù)集和ParisStreet-View 數(shù)據(jù)集各取50 張測試圖片,使用大小為20~90,每次大小增加10 的掩膜進行測試,每個大小每個數(shù)據(jù)集有50 個樣本數(shù),計算平均PSNR 值和平均SSIM值,結(jié)果折線圖如圖11 所示。由圖11 可以直觀地看出,隨著掩膜規(guī)模的增大,修復(fù)結(jié)果在PSNR 指標和SSIM 指標上隨之下降,因此可以得出結(jié)論:圖像被遮擋部分越大,修復(fù)的結(jié)果與原圖相似度就越低。
圖11 不同掩膜下修復(fù)結(jié)果與原圖的對比曲線Fig.11 Comparison curves of repair results and original image under different mask sizes
實驗對比分析了本文模型和Shift-Net 模型下不同大小掩膜修復(fù)結(jié)果的PSNR 和SSIM 指標。首先對于CelebA 數(shù)據(jù)集,本實驗取100 張測試圖片。不同于上文實驗的固定大小掩膜,實驗使用百分比取掩膜進行測試,分別取圖片10%、20%、30%、40%、50%、60%大小的掩膜進行測試。在CelebA 數(shù)據(jù)集上的對比結(jié)果如圖12 所示。由圖可見在CelebA 數(shù)據(jù)集上本文模型的修復(fù)效果在PSNR 指標和SSIM 指標上均略優(yōu)于Shift-Net 模型。而且,從圖中可以看出,隨著掩膜越來越大,本文模型和Shift-Net模型修復(fù)結(jié)果的PSNR 指標和SSIM 指標的差距越來越大。
對于ParisStreet-View 數(shù)據(jù)集,實驗還是取100 張測試圖片,掩膜大小與CelebA 數(shù)據(jù)集上的實驗相同。在ParisStreet-View數(shù)據(jù)集上的對比結(jié)果如圖13所示。由圖可見在ParisStreet-View 數(shù)據(jù)集上本文模型表現(xiàn)依然略優(yōu)于Shift-Net模型。對比圖12 所示的CelebA數(shù)據(jù)集上的對比結(jié)果,本實驗修復(fù)結(jié)果的PSNR 值和SSIM 值均略低于圖12 的實驗,因為CelebA 數(shù)據(jù)集是人臉數(shù)據(jù)集,不同人臉的構(gòu)造基本相同,所以修復(fù)結(jié)果的容錯率較高,很容易生成缺失的器官且與原圖類似。反觀ParisStreet-View 數(shù)據(jù)集,這是一個街景數(shù)據(jù)集,數(shù)據(jù)集中的圖片構(gòu)造差距都比較大,因此模型學(xué)習(xí)生成的內(nèi)容很難與原圖相同。
圖12 CelebA 數(shù)據(jù)集不同掩膜大小下修復(fù)結(jié)果對比Fig.12 Repair results comparison on CelebA datasets under different mask sizes
圖13 ParisStreet-View 數(shù)據(jù)集不同掩膜大小下修復(fù)結(jié)果對比圖Fig.13 Repair results comparison on ParisStreet-View datasets under different mask sizes
本文提出了一種基于生成對抗網(wǎng)絡(luò)的圖像修復(fù)模型,模型分為邊緣修復(fù)模型和內(nèi)容填充模型兩部分,實驗證明了模型在處理圖像復(fù)雜結(jié)構(gòu)缺失的情形時修復(fù)效果是優(yōu)于現(xiàn)有的一些模型的,這也反映了邊緣信息在圖像修復(fù)過程中具有很重要的作用。但是,本文模型在處理極具細節(jié)紋理特征區(qū)域的修復(fù)時還是會產(chǎn)生一些模糊,這是未來研究需要改善的地方。