楊元英,王安志,何淋艷,任春洪,歐衛(wèi)華
(貴州師范大學(xué) 大數(shù)據(jù)與計(jì)算機(jī)科學(xué)學(xué)院,貴州 貴陽 550025)
圖像修復(fù)是數(shù)字圖像處理和計(jì)算機(jī)視覺領(lǐng)域中的一個(gè)重要研究方向,主要通過計(jì)算機(jī)視覺等技術(shù)達(dá)到修復(fù)圖像中缺失信息的目的。許多計(jì)算機(jī)視覺任務(wù)都要基于完整、清晰的圖像進(jìn)行分析、處理,而圖像在采集和存儲等過程中易受多種因素影響,造成圖像信息的丟失和損壞,給這些視覺任務(wù)的實(shí)現(xiàn)帶來嚴(yán)重影響。因此,對圖像修復(fù)展開研究具有極其重要的意義和應(yīng)用價(jià)值。
鑒于此,文章對圖像修復(fù)展開了系統(tǒng)的調(diào)研,大致可分為四類:基于結(jié)構(gòu)的圖像修復(fù)、基于紋理的圖像修復(fù)、基于稀疏表示的圖像修復(fù)和基于深度學(xué)習(xí)的圖像修復(fù)。其中,基于結(jié)構(gòu)的修復(fù)采用偏微分方程實(shí)現(xiàn),此類算法健壯性較差,修復(fù)后存在模糊等問題。基于紋理的方法利用已知區(qū)域的紋理構(gòu)造缺失信息,可有效避免修復(fù)區(qū)域的模糊問題,但無法獲取高層語義信息,在處理紋理復(fù)雜等挑戰(zhàn)性圖像時(shí)性能較差?;谙∈璞磉_(dá)的方法可有效地表示圖像的已知信息,但修復(fù)區(qū)域較大時(shí),該方法受已知信息有限的制約,修復(fù)效果仍不理想。
隨著深度學(xué)習(xí)理論在計(jì)算機(jī)視覺等領(lǐng)域取得突破性進(jìn)展,生成式對抗網(wǎng)絡(luò)(generative adversarial network,GAN)在圖像修復(fù)等領(lǐng)域取得了良好效果。GAN良好的特征表示能力可捕獲高層語義特征,有效保持圖像內(nèi)容以及語義上的一致性,能有效避免修復(fù)圖像出現(xiàn)模糊等失真問題。文章對基于GAN的圖像修復(fù)方法進(jìn)行全面的總結(jié),首先對GAN的原理和圖像修復(fù)問題進(jìn)行闡述,然后對傳統(tǒng)圖像修復(fù)方法和基于GAN的修復(fù)方法進(jìn)行深入分析,并總結(jié)了主流的公開數(shù)據(jù)集以及評估方法,最后進(jìn)行了總結(jié)和展望。
G
學(xué)習(xí)訓(xùn)練樣本的概率分布,并生成與真實(shí)圖像概率分布盡可能一致的生成圖像;判別器D
對G
的生成圖像和真實(shí)圖像進(jìn)行判別。GAN本質(zhì)上是從訓(xùn)練樣本數(shù)據(jù)中學(xué)習(xí)概率分布,并根據(jù)所學(xué)習(xí)的概率分布生成新的樣本數(shù)據(jù)。其基本結(jié)構(gòu)如圖1所示,通過讓G
和D
進(jìn)行對抗學(xué)習(xí),相互提升,從而得到具有良好生成能力的G
。首先,G
接收一個(gè)隨機(jī)噪聲z
作為輸入,z
服從P
(z
)分布,生成器通過學(xué)習(xí)其分布概率生成樣本數(shù)據(jù)G
(z
),生成樣本服從P
()(G
(z
))分布。D
接收真實(shí)數(shù)據(jù)x
,D
(x
)表示x
通過D
的判別結(jié)果,x
也服從P
(x
)分布,D
(G
(z
))代表輸入數(shù)據(jù)G
(z
)是真實(shí)樣本的概率。G
和D
同時(shí)進(jìn)行對抗訓(xùn)練,直到D
無法區(qū)分生成數(shù)據(jù)和真實(shí)數(shù)據(jù)時(shí)訓(xùn)練結(jié)束。GAN的訓(xùn)練過程可看作是目標(biāo)函數(shù)V
(D
,G
) 最大化-最小化交替的過程:E
~()[log(1-D
(G
(z
)))](1)
圖1 生成式對抗網(wǎng)絡(luò)基本結(jié)構(gòu)
G
主要采用兩種方法構(gòu)造:一類是深度卷積網(wǎng)絡(luò),另一類是自編碼網(wǎng)絡(luò)。原始的自編碼器構(gòu)造的G
無法學(xué)習(xí)深層次的特征,生成樣本與原圖相似性較差。隨后涌現(xiàn)了兩類改進(jìn)方法:(1)對單一自編碼網(wǎng)絡(luò)進(jìn)行改進(jìn);(2)兩個(gè)編碼網(wǎng)絡(luò)級聯(lián)或嵌套。單一自編碼器網(wǎng)絡(luò)主要在特征提取、融合和傳遞等方面進(jìn)行改進(jìn)。其中Yan等人引入跳躍連接,增加編碼層和解碼層之間的特征傳遞,使重構(gòu)層生成的圖像可保留更多的細(xì)節(jié)信息。Lizuka等將擴(kuò)張卷積引入標(biāo)準(zhǔn)編碼器網(wǎng)絡(luò)中,減少網(wǎng)絡(luò)訓(xùn)練參數(shù)并增大感受野?,F(xiàn)有判別器D
主要分為全局判別器、局部判別器和多尺度判別器。局部判別器對生成的缺失域樣本數(shù)據(jù)進(jìn)行判定,但無法保持缺失域的邊緣語義、內(nèi)容一致性和全局一致性。而全局判別器通過對修復(fù)區(qū)域和整體圖像像素的上下文結(jié)構(gòu)語義進(jìn)行判定,促進(jìn)生成器恢復(fù)局部和全局語義更一致的樣本特征數(shù)據(jù)。多尺度判別器被引入來獲取細(xì)節(jié)信息更豐富的樣本數(shù)據(jù)。通過對真實(shí)樣本和生成樣本分別進(jìn)行下采樣,分別在兩個(gè)不同尺度上區(qū)分真實(shí)圖和生成樣本圖,可更有效促進(jìn)圖像修復(fù)網(wǎng)絡(luò)性能。在圖像采集中,由于光線、運(yùn)動(dòng)、遮擋物等噪聲的影響,圖像產(chǎn)生模糊、不清晰等問題。針對以上圖像缺損問題,需要根據(jù)圖像修復(fù)的不同需求,采用適宜的圖像修復(fù)技術(shù)對缺損區(qū)域進(jìn)行修復(fù)。如圖2,a到c行分別為缺損圖像、采取圖像修復(fù)技術(shù)處理的效果和真實(shí)場景圖。從圖2可知,現(xiàn)有圖像修復(fù)技術(shù)的效果與真實(shí)圖差別不大,但仍存在信息丟失等失真問題。
圖2 圖像修復(fù)實(shí)例效果
基于結(jié)構(gòu)的圖像修復(fù)方法主要基于偏微分方程PDE實(shí)現(xiàn),又稱為基于擴(kuò)散的圖像修復(fù)方法。Bertalmio等人首次提出基于PDE方程的方法,也稱為BSCB模型圖像修復(fù)方法。該方法以像素為單位,修復(fù)效率較低,沒有考慮圖像缺損區(qū)域和全局圖像的整體協(xié)調(diào)性,僅適合缺失區(qū)域較小的圖像修復(fù)任務(wù)。在BSCB模型的基礎(chǔ)上,Chan等人提出利用梯度下降流計(jì)算的全變分(TV)模型,修復(fù)速度大幅度提高,但沒有考慮圖像的幾何特征,修復(fù)邊緣易出現(xiàn)斷層。隨后又提出采用曲率驅(qū)動(dòng)擴(kuò)散(CDD)的修復(fù)模型,處理缺損區(qū)域更大的圖像修復(fù)問題。Tai等人提出基于四階偏微分方程的TV-Stokes模型,在處理紋理缺損圖像上表現(xiàn)出顯著修復(fù)效果。此外,基于PDE的改進(jìn)方法還有Euler’s Elastica模型、Mumford-Shah-Euler模型、Mumford-Shah模型和改進(jìn)TV的模型等方法。這些方法對于細(xì)微裂痕、小污點(diǎn)等小缺損區(qū)域的圖像有較好的修復(fù)效果,但缺乏更高層次的條件約束,對于較大區(qū)域的修復(fù)通常會(huì)出現(xiàn)紋理錯(cuò)位等圖像失真問題。
基于紋理的圖像修復(fù)技術(shù)搜索已知像素中的最優(yōu)紋理像素,并將最優(yōu)像素用于缺損區(qū)域的修復(fù),可以較好地保存圖像的紋理和結(jié)構(gòu)信息。Criminisi等提出一種基于圖像塊的Criminisi算法,通過搜索周圍信息最豐富且最優(yōu)的目標(biāo)像素塊,使修復(fù)的速度得到了大幅度提升。但在受損面積大且有重要區(qū)域缺失,例如嘴巴、眼睛等重要語義信息時(shí),修復(fù)效果較差。Tang F等人在Criminisi的基礎(chǔ)上,提出一種利用CBLS的方法,采取縮小最優(yōu)匹配塊的檢索進(jìn)行修復(fù),提升修復(fù)效率,但該方法降低了修復(fù)效果。Zhang等人通過采取局部搜索代替全局搜索的方法,減少非相近塊的匹配,進(jìn)而提升圖像的修復(fù)效果。這些基于紋理的改進(jìn)方法在一定程度上改進(jìn)了修復(fù)的效果,但大多數(shù)方法受真實(shí)場景不同紋理結(jié)構(gòu)以及復(fù)雜性不同等因素的影響,修復(fù)的效果不夠理想。
基于稀疏表示的方法可更加有效地表達(dá)已知信息,Guleryuz等人在稀疏重構(gòu)算法中加入了自適應(yīng)技術(shù),得到缺損區(qū)域的最佳估計(jì)。Fadili等人將稀疏表示應(yīng)用在圖像插值中,提高了圖像修復(fù)的效果。Shen等人通過顯示字典提高了算法的處理效率,Xu等人提出的圖像稀疏度修復(fù)算法,采用稀疏度選擇修復(fù)的優(yōu)先級,在修復(fù)圖像的結(jié)構(gòu)信息上表現(xiàn)良好。Zhao等人通過迅速稀疏算法可快速地修復(fù)小區(qū)域缺損圖像,更快速地實(shí)現(xiàn)圖像的修復(fù)。
GAN一經(jīng)提出就引起了廣泛關(guān)注,在圖像修復(fù)領(lǐng)域也取得了諸多優(yōu)秀成果,推動(dòng)了圖像修復(fù)的發(fā)展。因此,該文借鑒相關(guān)研究,對基于GAN的圖像修復(fù)方法進(jìn)行深入的總結(jié)。
G
結(jié)構(gòu)如圖3所示。圖3 DCGAN網(wǎng)絡(luò)生成器結(jié)構(gòu)
G
學(xué)習(xí)生成的樣本數(shù)據(jù)與原始真實(shí)圖的相似度非常小,D
無法提供有效的梯度,G
無法根據(jù)梯度生成有效的樣本數(shù)據(jù),從而產(chǎn)生梯度彌散,甚至梯度消失、訓(xùn)練崩潰等問題。因此,Ishaan Gulrajani等人在GAN的基礎(chǔ)上提出將Wasserstein距離引入到GAN中的WGAN算法,原始GAN采用KL散度以及JS散度衡量生成樣本和真實(shí)圖之間的差距,WGAN將差距度量替換成Wasserstein距離,為G
提供更有效的梯度,從而使得圖像修復(fù)效果進(jìn)一步提升。WGAN相較于原始GAN,去掉了輸出層的sigmoid函數(shù),其目標(biāo)函數(shù)改進(jìn)為:E
~()[D
(G
(z
))](2)
通過給判別網(wǎng)絡(luò)添加約束函數(shù)L
,從而防止判別器性能過于優(yōu)越而限制生成器的性能優(yōu)化。WGAN顯著降低了GAN訓(xùn)練不穩(wěn)定、梯度消失的問題,使圖像修復(fù)的質(zhì)量得到顯著提升。G
和D
的損失函數(shù)無法高效提升模型訓(xùn)練速度的問題,A.Marzouk等人基于BEGAN提出條件邊界平衡生成對抗網(wǎng)絡(luò)(CBEGAN)。傳統(tǒng)GAN的損失函數(shù)主要度量生成樣本和真實(shí)數(shù)據(jù)的距離,盡可能提高生成樣本和真實(shí)圖的一致性。CBEGAN受Wasserstein 距離的啟發(fā),利用D
重構(gòu)生成樣本的重構(gòu)誤差,不斷減小重構(gòu)誤差,使模型有效收斂,提高了修復(fù)質(zhì)量?;贑BEGAN的方法在處理高分辨率缺損圖像時(shí)具有顯著的優(yōu)勢,其網(wǎng)絡(luò)架構(gòu)如圖4所示。圖4 CBEGAN網(wǎng)絡(luò)的生成品/判別器結(jié)構(gòu)
G
從輸入的隨機(jī)噪聲中學(xué)習(xí)到更深層次的特征信息。相較于原始GAN,基于CGAN的方法提高了訓(xùn)練模型的收斂能力,從而一定程度避免了梯度消失等問題。CGAN的目標(biāo)函數(shù)改進(jìn)為:E
~()[log(1-D
(G
(z
)))](3)
式中,z
是隨機(jī)噪聲,y
是輸入的約束條件,x
是目標(biāo)圖像。CGAN的結(jié)構(gòu)見圖5。
圖5 CGAN網(wǎng)絡(luò)結(jié)構(gòu)
文章對以上幾種常見的修復(fù)方法進(jìn)行對比實(shí)驗(yàn),結(jié)果見圖6,其中a至f分別為待修復(fù)的圖像、sparse方法、TV方法、GCA方法在CelebA人臉數(shù)據(jù)集上測試的結(jié)果以及真實(shí)場景原圖像。基于稀疏表示的方法[b,c,d]處理后的缺損區(qū)域與已知區(qū)域存在明顯語義不一致性,基于語義注意力機(jī)制的GCA方法[e]修復(fù)后的色調(diào)與周圍像素更協(xié)調(diào),語義上更接近于真實(shí)圖[f],但模型泛化能力較弱,在處理真實(shí)場景時(shí),效果遠(yuǎn)遠(yuǎn)不達(dá)理想目標(biāo)。基于深度學(xué)習(xí)的方法處理訓(xùn)練數(shù)據(jù)集中的數(shù)據(jù)時(shí),效果比較理想,尤其是增加條件時(shí),但對真實(shí)場景,處理性能往往較差。
a[input] b[sparse] c[TV] d[LR] e[GCA] f[GT]
G
進(jìn)行訓(xùn)練,生成網(wǎng)絡(luò)需要學(xué)習(xí)圖像的更深層次特征,并生成與真實(shí)數(shù)據(jù)盡可能一致的樣本數(shù)據(jù)。數(shù)據(jù)集的大小、數(shù)據(jù)標(biāo)注的質(zhì)量高低均會(huì)影響模型的性能,因此,該文對常用的圖像修復(fù)數(shù)據(jù)集進(jìn)行梳理。細(xì)節(jié)見表1。表1 圖像修復(fù)常用數(shù)據(jù)集
從表1可知,目前常用的數(shù)據(jù)集是CelebA和Place2以及它們的子集,這兩個(gè)數(shù)據(jù)集是圖像修復(fù)領(lǐng)域較全面的、適用最廣泛的數(shù)據(jù)集,因此,該文選取其作為基準(zhǔn)測試數(shù)據(jù)集,對圖像修復(fù)算法進(jìn)行評估對比。
修復(fù)算法性能的評價(jià)方法主要分為兩類:主觀評價(jià)和客觀評價(jià)。主觀評價(jià)是人眼根據(jù)所觀察的修復(fù)結(jié)果進(jìn)行對比的直觀感受,而客觀評價(jià)是根據(jù)修復(fù)后圖像的亮度、結(jié)構(gòu)、像素等信息進(jìn)行合理的數(shù)學(xué)建模,建立合理的數(shù)學(xué)公式進(jìn)行客觀上的評價(jià)。目前圖像修復(fù)領(lǐng)域使用的最廣泛的評價(jià)指標(biāo)主要有以下幾種:結(jié)構(gòu)相似度(SSIM)、峰值信噪比(PSNR)、均方誤差(MSE)等,這幾種評價(jià)方式的具體信息見表2。
表2 圖像修復(fù)常用評價(jià)指標(biāo)
該文還針對不同方法做了定性比較,分別在CelebA、CelebA-HQ、place2、ImageNet和Paris StreetView數(shù)據(jù)集上利用各種圖像修復(fù)方法計(jì)算PSNR值和SSIM值并進(jìn)行對比,結(jié)果見表3??芍?,基于GAN 的圖像修復(fù)方法在這幾個(gè)數(shù)據(jù)集上都取得了較好的結(jié)果,但仍然具有很大的改進(jìn)空間,基于GAN 的圖像修復(fù)改進(jìn)方法仍需要深入研究。
表3 各類修復(fù)方法指標(biāo)
現(xiàn)有最先進(jìn)的圖像修復(fù)方法大多基于深度學(xué)習(xí),一部分基于CNN實(shí)現(xiàn),大部分都基于GAN實(shí)現(xiàn)。實(shí)驗(yàn)表明,基于GAN的修復(fù)方法具有明顯的優(yōu)越性,修復(fù)效果更好。這類方法借助生成器和判別器之間的對抗訓(xùn)練,實(shí)現(xiàn)圖像自動(dòng)修復(fù)?;贕AN的修復(fù)方法雖然取得了明顯的性能提升,但還存在以下兩個(gè)問題:第一,對結(jié)構(gòu)復(fù)雜、圖像缺損區(qū)域大的圖像進(jìn)行修復(fù)時(shí),未能達(dá)到令人滿意的修復(fù)效果。第二,基于GAN的修復(fù)需要大量數(shù)據(jù)進(jìn)行學(xué)習(xí),但缺乏真實(shí)場景的訓(xùn)練數(shù)據(jù)集,在實(shí)際應(yīng)用時(shí)模型性能仍不能滿足需求。深度學(xué)習(xí)技術(shù)仍將作為圖像修復(fù)領(lǐng)域的主流方法,尤其是基于GAN的修復(fù)方法有待進(jìn)一步探討。具體地,圖像修復(fù)研究將朝兩個(gè)方面發(fā)展:第一,與其他技術(shù)結(jié)合,包括神經(jīng)架構(gòu)搜索和圖卷積網(wǎng)絡(luò)等,提出更健壯、修復(fù)效果更好的網(wǎng)絡(luò)模型;第二,更加注重對真實(shí)場景圖像修復(fù)的研究,實(shí)際解決行業(yè)中的技術(shù)瓶頸。