劉慶俞,胡 瑩,陳 磊,肖 強(qiáng),劉 磊
圖像修復(fù)是機(jī)器視覺領(lǐng)域中的一個(gè)重要研究子課題,它的研究目的是在圖像中恢復(fù)缺失部分、修復(fù)損壞區(qū)域,并盡可能恢復(fù)到原始圖像的效果.目前圖像修復(fù)技術(shù)已廣泛應(yīng)用于數(shù)字圖像處理、計(jì)算機(jī)圖形學(xué)、醫(yī)學(xué)影像處理、視頻編碼等領(lǐng)域.
傳統(tǒng)的圖像修復(fù)主要有基于像素?cái)U(kuò)散和像素塊的修復(fù)方法,典型的算法有基于全變分的修復(fù)方法[1]、基于曲率驅(qū)動(dòng)擴(kuò)散修復(fù)方法[2]、基于快速近鄰場算法[3]、基于補(bǔ)丁優(yōu)先級(jí)算法[4]等.基于擴(kuò)散的方法通常只能修復(fù)缺失區(qū)域比較小的圖像,且受限于缺失區(qū)域周圍的像素信息,難以修復(fù)現(xiàn)實(shí)世界具有復(fù)雜紋理細(xì)節(jié)信息的圖像.像素塊的修復(fù)方法優(yōu)于擴(kuò)散的方法,但是其計(jì)算量會(huì)明顯增加,且只能修復(fù)與訓(xùn)練集中相似的缺失區(qū)域,修復(fù)效果嚴(yán)重依賴原始數(shù)據(jù)集.近年來,隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展,基于深度學(xué)習(xí)的圖像修復(fù)方法取得了顯著的成果.尤其是基于生成對抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)[5]的圖像修復(fù)方法[6?9]逐漸成為人們的關(guān)注熱點(diǎn).相比于傳統(tǒng)的圖像修復(fù)方法,基于GAN 的圖像修復(fù)方法和模型能夠更好地保留圖像的底層結(jié)構(gòu)和紋理信息,并且具有良好的魯棒性和泛化能力[10?11].
Context Encoder(CE)[12]是首個(gè)基于生成對抗網(wǎng)絡(luò)的圖像修復(fù)方法,整體結(jié)構(gòu)為編碼?解碼器結(jié)構(gòu).由于其在圖像生成過程中未充分考慮到全局一致性與語義連貫性,導(dǎo)致缺失區(qū)域修復(fù)后存在嚴(yán)重的模糊和邊界突出現(xiàn)象.為解決該問題,本文構(gòu)建了以UNet[13]結(jié)構(gòu)為基礎(chǔ),融合了殘差模塊、全局一致?lián)p失和TVLoss的圖像修復(fù)方法,旨在獲得更好的圖像修復(fù)效果.
生成對抗網(wǎng)絡(luò)是由IAN GOODFELLOW 提出的一種深度學(xué)習(xí)模型,其成果在圖像、語音、文本生成等領(lǐng)域都取得了一定的成果,被認(rèn)為是深度學(xué)習(xí)領(lǐng)域的一項(xiàng)重要進(jìn)展.生成對抗網(wǎng)絡(luò)通過讓兩個(gè)子網(wǎng)絡(luò)以相互對抗的方式生成能夠“騙過”人類的新數(shù)據(jù).這兩個(gè)子網(wǎng)絡(luò)分別稱為生成器(Generator)和判別器(Discriminator).生成器負(fù)責(zé)生成新樣本,并盡可能使其與真實(shí)樣本相似,以達(dá)到欺騙判別器的目的;判別器負(fù)責(zé)區(qū)別真實(shí)樣本和假樣本,并盡可能將兩者區(qū)分開.生成器和判別器通過不斷地對抗學(xué)習(xí)來提高各自的能力,最終促使生成器生成具有逼真程度的數(shù)據(jù).
GAN 的訓(xùn)練過程可以形象地比喻為一場“博弈”,生成器和判別器之間進(jìn)行不斷地互動(dòng),其過程可以用以下公式表示:
式中:x表示真實(shí)數(shù)據(jù);z表示生成器的輸入,即隨機(jī)噪聲;D(x)和D(G(z))分別表示判別器對真實(shí)數(shù)據(jù)和生成樣本的預(yù)測結(jié)果;minGmaxD表示生成器和判別器的優(yōu)化目標(biāo);Preal(x) 表示真實(shí)數(shù)據(jù)的數(shù)學(xué)分布;Pz(z)表示生成器輸入隨機(jī)噪聲數(shù)據(jù)的分布函數(shù);Ex~Preal(x)表示真實(shí)數(shù)據(jù)的期望概率;Ez~Pz(z)表示生成樣本的期望概率.
殘差網(wǎng)絡(luò)(Residual Network,ResNet)是由何凱明等人于2016 年提出的一種深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)[14],在圖像識(shí)別、語義分割和自然語言處理等領(lǐng)域都取得了很好的效果.它通過引入“殘差塊”(Residual block)來解決深度神經(jīng)網(wǎng)絡(luò)中存在的梯度消失和梯度爆炸問題,使得網(wǎng)絡(luò)可以更深、更容易訓(xùn)練和收斂.
在傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)中,多個(gè)卷積層通常會(huì)被串聯(lián)起來形成一個(gè)深層網(wǎng)絡(luò),如VGG等.但是,在網(wǎng)絡(luò)變得更深時(shí),通常會(huì)出現(xiàn)訓(xùn)練難度增加、精度下降等情況,被稱為“退化問題”.其原因在于:當(dāng)信息需要穿過多個(gè)卷積層時(shí),由于每個(gè)卷積層都會(huì)對輸入進(jìn)行非線性變換,導(dǎo)致后面的卷積層無法獲取到前面卷積層所丟失的信息,從而使得網(wǎng)絡(luò)的表達(dá)能力降低.為了解決這個(gè)問題,ResNet 引入了殘差塊(Residual block),該塊包含了兩個(gè)卷積層,另外使用了跨越連接(Skip Connection)將輸入直接進(jìn)行1*1 卷積,然后傳遞到后面的卷積層,如圖1 所示.這樣,即使特征信息在處理過程中丟失,原始輸入仍然可以保留并直接傳遞到后面的卷積層,從而實(shí)現(xiàn)跨越連接的效果.
圖1 殘差塊結(jié)構(gòu)圖
F(X) 表示殘差塊中的變換函數(shù),X表示輸入.因此,F(xiàn)(X) 實(shí)際上表示網(wǎng)絡(luò)要學(xué)習(xí)的部分,而X則是該部分未被學(xué)習(xí)到的部分.通過這種方式,卷積神經(jīng)網(wǎng)絡(luò)的層數(shù)可以變得更多,其特征提取能力會(huì)更強(qiáng).
本文在CE 模型的基礎(chǔ)上,使用UNet 跳層連接改進(jìn)生成器的網(wǎng)絡(luò)模型.同時(shí),生成器網(wǎng)絡(luò)的下采樣模塊使用了改進(jìn)的殘差模塊,以達(dá)到在下采樣過程降低模型參數(shù)的同時(shí)不減少圖像可提取的特征.生成器由7 個(gè)下采樣模塊和6 個(gè)上采樣模塊組成,假設(shè)生成器輸入圖像為(3,128,128),則生成圖像為(3,64,64),如圖2 所示.生成的圖像和真實(shí)圖像分別輸入判別器網(wǎng)絡(luò)進(jìn)行判別處理.生成器生成的圖像為缺失圖像的修復(fù)結(jié)果,把其和原始輸入圖像結(jié)合得到修復(fù)的大圖.
圖2 模型整體結(jié)構(gòu)
殘差模塊可以在深度卷積神經(jīng)網(wǎng)絡(luò)中提升圖像的特征提取能力,考慮到不同大小的卷積核能夠提取不同尺度的圖像特征,因此對原始?xì)埐钅K進(jìn)行改進(jìn).通過增加一個(gè)5*5的卷積分支來增強(qiáng)殘差模塊的提取效率,具體如圖3 所示.
圖3 改進(jìn)后殘差模塊
F(X) 表示殘差塊中3*3 和5*5 分支的變換函數(shù),X表示輸入.這時(shí),F(xiàn)(X)實(shí)際上表示網(wǎng)絡(luò)要學(xué)習(xí)的部分.改進(jìn)后殘差模塊通過3 個(gè)分支中的卷積步長來控制特征圖的大小變化.
生成器的每個(gè)下采樣模塊使用2 個(gè)改進(jìn)后的殘差模塊,其中一個(gè)殘差模塊進(jìn)行特征圖的下采樣操作,如圖4 所示.上采樣模塊使用反卷積提升圖像分辨率,使得生成器的輸出圖像達(dá)到指定大小.
圖4 下采樣模塊結(jié)構(gòu)圖
判別器網(wǎng)絡(luò)的主要作用是區(qū)分真實(shí)圖像和生成的“假”圖像,因此判別器的輸入圖像和生成器的輸出圖像大小一致.判別器網(wǎng)絡(luò)通過3 個(gè)卷積層將輸出變化為(1,8,8)的矩陣,而不是一個(gè)具體標(biāo)量值,矩陣中的每一個(gè)值代表判別器輸入圖像的一個(gè)小的區(qū)域.如果一個(gè)區(qū)域是來自真實(shí)圖像,則其對應(yīng)的值為1,否則為0.利用patchGAN[15]的思想可以使圖像的局部紋理細(xì)節(jié)得到有效增強(qiáng).
在生成器和判別器的對抗訓(xùn)練過程中,損失函數(shù)起著至關(guān)重要的作用.生成器網(wǎng)絡(luò)生成缺失區(qū)域的小圖,小圖嵌入遮擋缺失區(qū)域得到修復(fù)后的完整圖像.因此,考慮增加全局L1 損失約束圖像的整體一致性.針對修復(fù)區(qū)域的邊界突出問題,引入TVLoss降低圖像噪聲和保持邊界的平滑性.生成器損失包括對抗損失、局部L1 損失、全局L1 損失和TV Loss損失,具體如下所示:
式中:Lossadv、LossL?L1、LossG?L1、LossTV分別是 對抗損失、局部L1 損失、全局L1 損失和TVLoss損失;γadv、γL?L1、γG?L1、γTV分別對應(yīng)四種損失函數(shù)的權(quán)重.
判別器損失如下:
式中:Lossadv表示對抗損失.
CelebA 圖像數(shù)據(jù)集是香港中文大學(xué)制作的開放數(shù)據(jù)集,包含全球10 000 多位名人的202 599 張圖片,是圖像和人臉處理的非常好用的數(shù)據(jù)集.本文隨機(jī)選取其中46 000 張圖像作為訓(xùn)練數(shù)據(jù)集,另外選取1 000 張圖像作為測試數(shù)據(jù)集.考慮到硬件條件限制,所有圖像統(tǒng)一縮放到128*128 尺寸,遮擋區(qū)域?yàn)榫又?4*64 大小.
實(shí)驗(yàn)操作系統(tǒng)為Ubuntu 20.04,Python 3.7,Pytorch 1.10.實(shí)驗(yàn)超參數(shù)batch size 為1 000,γadv為0.02,γL?L1為0.48,γG?L1為0.48,γTV為0.02,優(yōu)化器為Adam,生成器和判別器的學(xué)習(xí)率都是0.000 2.
為了驗(yàn)證所設(shè)計(jì)模型的有效性,將CE 模型的生成器添加UNet 結(jié)構(gòu)(簡稱CE?UNet 模型),進(jìn)行定性和定量的對比實(shí)驗(yàn).在定量分析方面,使用峰值信噪比(PSNR)和結(jié)構(gòu)相似性(SSIM)兩項(xiàng)指標(biāo)進(jìn)行數(shù)據(jù)分析.PSNR一般用于衡量最大值信號(hào)和噪音數(shù)據(jù)之間的圖像質(zhì)量參考值.PSNR值越大,表示圖像失真越少.SSIM是一種衡量圖像之間相似度的指標(biāo).SSIM值越大,表明原圖和生成圖像相似度越高.
圖5 為3 種修復(fù)模型的修復(fù)結(jié)果圖,其中第一列為矩形遮擋人臉圖像,后面依次是CE模型、CE?UNet 模型和本文模型,最后一列為原始未遮擋人臉圖像.通過直觀比較,本文模型的修復(fù)效果最好,修復(fù)后人臉各器官相對自然,符合人們視覺認(rèn)知習(xí)慣.而CE 模型、CE?UNet 模型的修復(fù)結(jié)果存在明顯的圖像模糊和語義不連貫等問題,可讀性較差.
圖5 修復(fù)結(jié)果對比
表1 清晰地說明了本文修復(fù)結(jié)果在PSNR和SSIM指標(biāo)上的優(yōu)越性.CE?UNet 模型因?yàn)榇嬖谔鴮舆B接,可以很好地將圖像底層特征和高層抽象特征融合,所以比原始CE 模型修復(fù)結(jié)果略好.
表1 修復(fù)結(jié)果的定量分析
對生成器而言,除了對抗損失,還有局部L1 損失、全局L1 損失和TVLoss.因此,設(shè)計(jì)了生成器損失函數(shù)的消融實(shí)驗(yàn),在生成器的損失函數(shù)中分別移除局部L1 損失、全局L1 損失和TVLoss,然后進(jìn)行定量和定性分析.
通過圖6 可以得出,局部L1 損失、全局L1損失和TVLoss三種損失函數(shù)對圖像的最終修復(fù)效果都起著一定的促進(jìn)作用.其中,當(dāng)移除局部L1 損失時(shí),圖像修復(fù)效果最差,局部L1損失可以實(shí)現(xiàn)遮擋區(qū)域像素級(jí)別的處理.而全局L1 損失和TVLoss則可以很好地保證圖像的整體連貫性和修復(fù)邊界的平滑過渡.
圖6 修復(fù)結(jié)果(損失函數(shù)驗(yàn)證)
表2 說明,三種損失函數(shù)對圖像的最終修復(fù)都起著不同程度的作用,三種損失函數(shù)共同使用,聯(lián)合對抗損失,修復(fù)效果才能達(dá)到最優(yōu).
表2 損失函數(shù)的定量分析
圖像修復(fù)具有重要的理論研究價(jià)值和實(shí)際意義.在CE 算法的基礎(chǔ)上,使用UNet 結(jié)構(gòu)替換生成器模型,同時(shí)在其下采樣模塊中引入多路分支殘差模塊進(jìn)行特征提取.生成器損失函數(shù)綜合使用了對抗損失、局部一致?lián)p失、全局一致?lián)p失和TVLoss損失,從而提高圖像的修復(fù)能力.實(shí)驗(yàn)結(jié)果表明,本文提出的改進(jìn)生成對抗網(wǎng)絡(luò)在CelebA 數(shù)據(jù)集上取得了較好的圖像修復(fù)效果,和CE 等修復(fù)模型相比,主客觀評(píng)價(jià)指標(biāo)均得到提升.