賀佳馨,呂曉琪,2,張繼凱,李菁
(1.內(nèi)蒙古科技大學(xué) 信息工程學(xué)院,內(nèi)蒙古 包頭 014010;2.內(nèi)蒙古工業(yè)大學(xué) 信息工程學(xué)院,內(nèi)蒙古 呼和浩特 010051)
圖像修復(fù)算法根據(jù)技術(shù)手段可分為基于偏微分的圖像修復(fù)方法[2,3]、基于紋理合成技術(shù)的圖像修復(fù)方法[4,5]、基于結(jié)構(gòu)的圖像修復(fù)方法[6,7]和基于深度學(xué)習(xí)的圖像修復(fù)方法4類.基于偏微分的修復(fù)算法最典型的是BSCB模型[1].BSCB模型主要是將缺損圖像附近的像素延伸到破損區(qū)域來進(jìn)行填充.因?yàn)榈日斩染€容易交叉,所以BSCB模型需要將擴(kuò)散和修復(fù)操作輪流進(jìn)行.BSCB算法的特點(diǎn)是基于像素單位的修復(fù),其修復(fù)效率較低且修復(fù)后的效果不理想,對于細(xì)節(jié)和圖片整體的一致性修復(fù)較差.基于紋理合成的圖像修復(fù)方法為代表的是Criminisi算法[4].Criminisi算法是基于塊的修補(bǔ)并且針對較大的缺損圖片,其以目標(biāo)塊為單位,在修復(fù)期間尋找最具有充足像素的目標(biāo)為缺損區(qū)域進(jìn)行填充,對比之前算法,Criminisi算法的修復(fù)速度得到大幅提升.此后許多學(xué)者在Criminisi算法基礎(chǔ)上提出了改進(jìn)算法[8-10].目前傳統(tǒng)圖像修復(fù)方法存在著訓(xùn)練不穩(wěn)定、復(fù)雜場景或修復(fù)區(qū)域過大時修復(fù)效果模糊以及運(yùn)算時間過長等一系列問題,傳統(tǒng)修復(fù)算法無法像人的大腦理解圖像中的內(nèi)容,所以修復(fù)效果差強(qiáng)人意.現(xiàn)如今深度學(xué)習(xí)圖像修復(fù)算法是通過神經(jīng)網(wǎng)絡(luò)來獲取圖像中重要特征,并且隨著2014年Goodfellow等[11]提出了生成對抗網(wǎng)絡(luò)(Generative Adversarial Networks, GAN), GAN網(wǎng)絡(luò)一度成為圖像修復(fù)研究的1個新方向.Pathak等提出的Context Encoder模型[12],是利用對抗損失來修復(fù)缺損圖像.此模型可以預(yù)測出所缺失的內(nèi)容,并且修復(fù)速度較快,但它對于細(xì)節(jié)修復(fù)和空白邊界的修復(fù)效果不理想.Radford 等[13]將卷積神經(jīng)網(wǎng)絡(luò)與生成對抗網(wǎng)絡(luò)結(jié)合,結(jié)合之后的網(wǎng)絡(luò)DCGAN可使訓(xùn)練更穩(wěn)定.Yeh等[14]通過深度卷積對抗網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行破損區(qū)域的修復(fù).Li等[15]在GAN模型的基礎(chǔ)上提出改進(jìn),將語義解析網(wǎng)絡(luò)和修復(fù)模型結(jié)合,并將模型生成器的重構(gòu)損失、鑒別器的對抗損失以及語義解析部分的損失結(jié)合在一起來訓(xùn)練網(wǎng)絡(luò).Iizuka等[16]提出一種基于GAN的圖像修復(fù)算法,使用多鑒別器進(jìn)行圖像的修復(fù),多鑒別器[17]和上下文注意機(jī)制[18]的圖像修復(fù)算法也開始盛行.Yu等[19]提出一種基于深度生成模型的新方法,不僅可以合成新穎的圖像結(jié)構(gòu),而且可以在網(wǎng)絡(luò)訓(xùn)練期間利用周圍圖像特征作參考,預(yù)測更好的修復(fù)區(qū)域.因此,將日益強(qiáng)壯的生成對抗網(wǎng)絡(luò)引入圖像修復(fù)的過程中,將取得令人意想不到的效果.
針對目前圖像修復(fù)方法所存在的修復(fù)后連接處斷裂明顯、大面積缺損修復(fù)、效果模糊以及整體人臉圖像不真實(shí)流暢等問題,提出一種生成對抗網(wǎng)絡(luò)和孿生神經(jīng)網(wǎng)絡(luò)結(jié)合的算法,此算法對于大面積缺損圖像有較好的修復(fù)效果.首先,將生成對抗網(wǎng)絡(luò)模型的判別器用孿生神經(jīng)網(wǎng)絡(luò)代替,并且將均方差損失和對比損失引入模型;其次將原始圖像和修復(fù)圖像作為孿生神經(jīng)網(wǎng)絡(luò)的2個輸入,孿生神經(jīng)網(wǎng)絡(luò)將2個輸入圖像進(jìn)行特征提取映射到新的空間,并對2個輸入特征向量進(jìn)行相似度計(jì)算;最后,通過實(shí)驗(yàn)結(jié)果說明模型修復(fù)后的圖像更加逼真,并且主觀判斷的視覺一致性和圖像連貫性得到進(jìn)一步提升.
SN-GAN模型主要包括生成網(wǎng)絡(luò)與孿生網(wǎng)絡(luò)2個模塊,生成網(wǎng)絡(luò)模塊主要的工作是通過缺損圖像周圍的信息將缺損部分修復(fù),孿生神經(jīng)網(wǎng)絡(luò)模塊的作用是將原始圖像和修復(fù)圖像進(jìn)行比較,和判別器的作用一樣.在人臉圖像局部缺失情況下,修復(fù)依據(jù)是從完好區(qū)域提取特征.例如當(dāng)缺損區(qū)域是一個眉毛或眼睛時,生成網(wǎng)絡(luò)從完好的眉毛或眼睛部分提取特征進(jìn)行學(xué)習(xí),修復(fù)缺損眉毛與眼睛.本模型的優(yōu)點(diǎn)在于如果缺損區(qū)域是整個五官,生成網(wǎng)絡(luò)生成后的圖像就有很大幾率與原始五官不同,所以本模型孿生網(wǎng)絡(luò)模塊的作用就是讓整個缺損五官圖像修復(fù)后與原始圖像更加接近,或讓修復(fù)后的五官在整個人臉圖像的視覺感受上更加協(xié)調(diào)和合理.整體的網(wǎng)絡(luò)架構(gòu)如圖1所示.
圖1 算法架構(gòu)
2014年,Goodfellow等[11]提出的生成對抗網(wǎng)絡(luò),由生成模型和判別模型2個子網(wǎng)絡(luò)構(gòu)成,是1個通過對抗訓(xùn)練提高自身能力的網(wǎng)絡(luò).與原始生成模型網(wǎng)絡(luò)結(jié)構(gòu)不同,生成網(wǎng)絡(luò)模塊采用的是編碼器解碼器結(jié)構(gòu),其網(wǎng)絡(luò)結(jié)構(gòu)圖如圖2所示.
圖2 生成網(wǎng)絡(luò)模型
生成模塊的編碼器解碼器結(jié)構(gòu)通過輸入圖片經(jīng)過特征提取將所有特征都匯聚到一起,然后進(jìn)行反卷積操作,反卷積將匯聚的特征信息用于生成圖片.編碼器解碼器結(jié)構(gòu)的特征與輸入圖像、輸出圖像的尺寸是相等的,在模型內(nèi)部編碼器最后的輸出成為解碼器的輸入.表1為生成網(wǎng)絡(luò)模型的體系結(jié)構(gòu).
表1 生成網(wǎng)絡(luò)模塊體系結(jié)構(gòu)
由表1可知,該模型在編碼器和解碼器之間并沒有使用全連接層,而是直接將編碼器和解碼器相連,維持了特征像素之間的空間位置關(guān)系.并且還在網(wǎng)絡(luò)結(jié)構(gòu)中間使用了擴(kuò)張卷積,擴(kuò)張卷積在不損失特征圖尺寸的情況下增大了感受野,且參數(shù)與計(jì)算量并沒有增加,同時還可允許更大輸入面積計(jì)算輸出像素.如圖3所示,擴(kuò)張率為2的擴(kuò)張卷積比33的普通卷積感受野更大.
圖3 普通卷積與擴(kuò)張卷積的區(qū)別
孿生神經(jīng)網(wǎng)絡(luò)(Siamese Network)由Bromley等[20]在1993年第一次提出,最開始提出時,此網(wǎng)絡(luò)是用于驗(yàn)證美國支票上簽名是否與銀行預(yù)留簽名一致.隨后Chopra等[21]在2005年進(jìn)行補(bǔ)充,近年來孿生神經(jīng)網(wǎng)絡(luò)多用于人臉識別、目標(biāo)追蹤以及相識度檢測等[22,23]領(lǐng)域.
該熱平衡方程為非齊次微分方程的形式,根據(jù)非齊次微分方程的通解形式和已知初始條件t=0,ΔT=ΔT0可求出微分方程的解如式(3)。
孿生神經(jīng)網(wǎng)絡(luò)模型是用于對比2張圖片相似性的.孿生網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)配置了3個卷積層、2個最大池化層和2個全連接層.其模型的2個子網(wǎng)絡(luò)結(jié)構(gòu)相同,且參數(shù)和權(quán)重共用,這樣只需創(chuàng)建一次模型和參數(shù),節(jié)省時間與空間的使用.孿生神經(jīng)網(wǎng)絡(luò)模型如圖4所示.
圖4 孿生神經(jīng)網(wǎng)絡(luò)模型
此模型卷積層所用的ReLU激勵函數(shù)在一段時間內(nèi)只有部分的神經(jīng)元被激活,對于計(jì)算效率有明顯提升.但激活部分神經(jīng)元不利于模型訓(xùn)練,所以在進(jìn)入池化層之前加入了LRN(Local Response Normalization,局部響應(yīng)值歸一化),LRN將較大的值保留并進(jìn)一步擴(kuò)大,且抑制較小的反饋神經(jīng)元,可以提升模型泛化能力.本模型為了防止過擬合,在全連接層之后加入Dropout機(jī)制,Dropout在每個訓(xùn)練過程中會隨機(jī)忽略一些神經(jīng)元,讓其的隱藏節(jié)點(diǎn)為0,減少隱藏節(jié)點(diǎn)相互作用的同時優(yōu)化了模型.如圖5所示,是使用Dropout機(jī)制前后的區(qū)別.
圖5 標(biāo)準(zhǔn)網(wǎng)絡(luò)與使用Dropout機(jī)制后的區(qū)別
為了訓(xùn)練網(wǎng)絡(luò)的穩(wěn)定性,模型聯(lián)合使用加權(quán)均方誤差損失和對比損失2個損失函數(shù)共同作用.均方誤差可以將各個訓(xùn)練點(diǎn)到擬合線的距離優(yōu)化到最小,是為了計(jì)算預(yù)測值和真實(shí)值之間的歐式距離.預(yù)測值和真實(shí)值差值越小,兩者的均方差就越接近.對比損失要負(fù)責(zé)遮擋區(qū)域的細(xì)節(jié)修復(fù)和內(nèi)容修復(fù).將2種損失函數(shù)共同使用既可以使訓(xùn)練達(dá)到穩(wěn)定,又可以使修復(fù)圖的流暢性、合理性和真實(shí)性得到提升,并且可以訓(xùn)練高性能的網(wǎng)絡(luò)模型.
首先在生成模型處采用均方誤差損失,如公式(1)所示:
(1)
其次在在孿生網(wǎng)絡(luò)模塊中,采用的損失函數(shù)是contrastive loss,對比損失函數(shù)對樣本的匹配程度可以表達(dá)的非常清楚,同時,也可以更好地訓(xùn)練提取特征的模型.contrastive loss的表達(dá)式如(2)所示:
(2)
DW(X1,X2)=‖X1-X2‖2
(3)
式中:DW代表2個樣本特征X1和X2的歐氏距離,樣本的特征維數(shù)是P,Y則是匹配的標(biāo)簽,Y=1時證明2個樣本匹配,Y=0時代表不匹配,m是損失函數(shù)的閾值,N為樣本數(shù)量.
綜上所述,算法總體的損失函數(shù)可以定義為式(4):
L=λ1JMSE+λ2Lμ.
(4)
式中:λ1和λ2是衡量不同損失影響的權(quán)重.
選用的是CelebA數(shù)據(jù)集,即名人人臉屬性數(shù)據(jù)集,CelebA數(shù)據(jù)集由香港中文大學(xué)開放提供,為研究者們在人臉識別、圖像修復(fù)以及圖像分類等領(lǐng)域使用.該數(shù)據(jù)集中具有多達(dá)10 177個名人身份,共202 599張人臉圖片.從中隨機(jī)抽取60 000張圖片做訓(xùn)練集,10 000張圖片做測試集.表2為實(shí)驗(yàn)環(huán)境.
表2 實(shí)驗(yàn)環(huán)境
實(shí)驗(yàn)訓(xùn)練參數(shù)設(shè)置如表3所示.
表3 實(shí)驗(yàn)參數(shù)
圖像質(zhì)量評價方法有很多種,但實(shí)驗(yàn)采用主觀評價與客觀評價相結(jié)合的方式,主觀評價主要為展示修復(fù)效果圖,文章客觀評價采用結(jié)構(gòu)相似性(SSIM).SSIM主要從亮度、對比度和結(jié)構(gòu)3方面進(jìn)行評價.在實(shí)際應(yīng)用中,為考慮穩(wěn)定性和局部信息.計(jì)算SSIM時,首先將圖像分區(qū)域,之后對局部區(qū)域進(jìn)行計(jì)算,最后將所有局部區(qū)域的SSIM值求平均數(shù).結(jié)構(gòu)相似性比峰值信噪比更符合人類視覺,且直觀效果更好.將2個輸入圖像分別設(shè)為X和Y,其定義如式(5)所示:
SSLM(X,Y)=l(X,Y)×c(X,Y)×s(X,Y).
(5)
式(6)~(8)中,l(X,Y)為亮度比較,c(X,Y)為對比度,結(jié)構(gòu)比較為s(X,Y),其公式分別為:
(6)
(7)
(8)
式(6)~(8)中:c1,c2,c3均為常數(shù),主要作用是避免分母為0;X和Y的平均值為μx和μy,σx和σy分別代表了X和Y的標(biāo)準(zhǔn)差,σxσy為協(xié)方差.
人臉修復(fù)相比較簡單的場景修復(fù)等比較具有難度,其中細(xì)節(jié)的修復(fù)如眼睛的對稱性、眼角細(xì)節(jié)處以及鼻子等都是在修復(fù)領(lǐng)域中比較復(fù)雜的修復(fù).實(shí)驗(yàn)與CE模型[12]和GLCIC(globally and locally consistent image completion)方法[16]的實(shí)驗(yàn)結(jié)果進(jìn)行比較,如圖6所示.對于CelebA數(shù)據(jù)集的人臉圖像進(jìn)行測驗(yàn),實(shí)驗(yàn)在圖像中間自動生成1個遮罩,將完整面部遮擋可以更加有效地比較效果,第一列(a)為原始圖像,第二列(b)為缺損圖像,第三列(c)是CE方法修復(fù)的效果圖,第四列(d)為GLCIC算法修復(fù)效果圖,第五列(e)是實(shí)驗(yàn)效果圖.從圖中可以看出,CE算法修復(fù)的圖像在視覺效果上瑕疵最大,不能使整體和部分保持一致性并且無法實(shí)現(xiàn)邊界的連貫性.GLCIC算法在加入局部判別器后,通過全局判別器和局部判別器聯(lián)合訓(xùn)練修復(fù)效果較好,使得局部區(qū)域的修復(fù)效果和全局圖像的一致性得到了有效的提升.而文章算法加入孿生神經(jīng)網(wǎng)絡(luò)之后,可以使缺損區(qū)域的修復(fù)更加合理,通過對比特征的相似性讓修復(fù)效果更加連貫和合理,如在眼睛、眉毛和鼻子等細(xì)節(jié)處文章算法更能突出其作用,使修復(fù)后的圖像被人從心理和視覺上所接受,細(xì)節(jié)處的修復(fù)效果使整體面部看起來更加真實(shí).
圖7為當(dāng)局部人臉缺損大小不同時各類算法的修復(fù)效果,算法在圖像右半臉部分生成缺損區(qū)域,缺損區(qū)域的大小分別為32*32,64*64 和80*80.第一列(a)為原始圖像,第二列(b)為不同大小的缺損圖像,第三列(c)是CE方法的修復(fù)效果圖,第四列(d)為GLCIC算法的修復(fù)效果圖,第五列(e)是本文算法的修復(fù)效果圖.從圖中第一行可看出,32*32大小的缺損圖像修復(fù)后的效果都比較好,看不出有修復(fù)痕跡.第二行64*64大小的缺損圖像修復(fù)后,可以看出在眉毛細(xì)節(jié)方面文章算法相比CE算法有較為明顯的提升,CE算法修補(bǔ)后有明顯的模糊.第三行80*80大小的缺損圖像修復(fù)后,可以看出本文的算法在大區(qū)域缺損圖像方面對比其它2個算法在視覺上的真實(shí)性和合理性更好,CE算法和GLCIC算法修復(fù)后的瑕疵較明顯,文章算法修復(fù)后的圖像與原圖相比較更加相近且修復(fù)后的連貫性和視覺一致性都得到了提升,實(shí)驗(yàn)表明在大面積缺損圖像修復(fù)上算法具有更明顯的優(yōu)勢.
圖6 完整面部缺損下不同算法的修復(fù)結(jié)果比較(a)原始圖像;(b)缺損圖像;(c)CE算法;(d)GLCIC算法;(e)本文算法
圖7 局部人臉缺損大小不同時不同算法的修復(fù)結(jié)果比較(a)原始圖像;(b)缺損圖像;(c)CE算法;(d)GLCIC算法;(e)本文算法
結(jié)構(gòu)相似性的數(shù)值范圍為0到1之間,越接近數(shù)值1則代表修復(fù)圖像效果越好,即圖像質(zhì)量越好.文章計(jì)算SSIM值的結(jié)果如表4與表5所示.
表4 完整面部缺損下不同算法的SSIM值結(jié)
表5 局部人臉缺損大小不同時
由表4可知,在完整五官缺損情況下,本文修復(fù)方法的SSIM值較CE模型和GLCLC模型對比相對較高,達(dá)到了0.826.實(shí)驗(yàn)證明本文修復(fù)模型在大區(qū)域缺損修復(fù)的效果較其他2個算法有明顯優(yōu)勢.由表5所可知,在缺損大小為32*32像素時,3種算法修復(fù)的效果沒有明顯的差別.在缺損大小為64*64像素時,CE算法與本文的差別較大,但GLCLC算法與本文的效果接近.在缺損大小為80*80像素時,可看出本文修復(fù)算法在大面積缺損圖像修復(fù)上明顯優(yōu)于這2種算法,所以本文的修復(fù)算法更適合大面積缺損圖像的修復(fù).
針對目前算法遺留的細(xì)節(jié)修復(fù)效果差、視覺連貫性不佳和大區(qū)域修復(fù)模糊等問題.提出一種基于生成對抗網(wǎng)絡(luò)為基礎(chǔ)的SN-GAN網(wǎng)絡(luò),該算法主要將生成對抗網(wǎng)絡(luò)和孿生神經(jīng)網(wǎng)絡(luò)結(jié)合,并且用孿生神經(jīng)網(wǎng)絡(luò)代替判別器的作用,來提升辨識真假圖片的性能以及圖像修復(fù)之后的合理性.并加入了兩種損失函數(shù)共同作用,在提升訓(xùn)練穩(wěn)定性的同時又提升了效果的真實(shí)性.實(shí)驗(yàn)表明本文算法在細(xì)節(jié)修復(fù)處有明顯的提升,并且更加適合于大面積缺損區(qū)域的修復(fù).因大面積缺損修復(fù)的視覺效果不完美,本文對于缺損區(qū)域邊界還存在改進(jìn)空間,未來將在缺損區(qū)域與圖像連接方面繼續(xù)展開研究.