?

一種面向圖像修復的改進生成對抗網絡

2024-03-01 08:39劉慶俞
通化師范學院學報 2024年2期
關鍵詞:全局殘差損失

劉慶俞,胡 瑩,陳 磊,肖 強,劉 磊

圖像修復是機器視覺領域中的一個重要研究子課題,它的研究目的是在圖像中恢復缺失部分、修復損壞區域,并盡可能恢復到原始圖像的效果.目前圖像修復技術已廣泛應用于數字圖像處理、計算機圖形學、醫學影像處理、視頻編碼等領域.

傳統的圖像修復主要有基于像素擴散和像素塊的修復方法,典型的算法有基于全變分的修復方法[1]、基于曲率驅動擴散修復方法[2]、基于快速近鄰場算法[3]、基于補丁優先級算法[4]等.基于擴散的方法通常只能修復缺失區域比較小的圖像,且受限于缺失區域周圍的像素信息,難以修復現實世界具有復雜紋理細節信息的圖像.像素塊的修復方法優于擴散的方法,但是其計算量會明顯增加,且只能修復與訓練集中相似的缺失區域,修復效果嚴重依賴原始數據集.近年來,隨著深度學習技術的不斷發展,基于深度學習的圖像修復方法取得了顯著的成果.尤其是基于生成對抗網絡(Generative Adversarial Network,GAN)[5]的圖像修復方法[6?9]逐漸成為人們的關注熱點.相比于傳統的圖像修復方法,基于GAN 的圖像修復方法和模型能夠更好地保留圖像的底層結構和紋理信息,并且具有良好的魯棒性和泛化能力[10?11].

Context Encoder(CE)[12]是首個基于生成對抗網絡的圖像修復方法,整體結構為編碼?解碼器結構.由于其在圖像生成過程中未充分考慮到全局一致性與語義連貫性,導致缺失區域修復后存在嚴重的模糊和邊界突出現象.為解決該問題,本文構建了以UNet[13]結構為基礎,融合了殘差模塊、全局一致損失和TVLoss的圖像修復方法,旨在獲得更好的圖像修復效果.

1 相關理論

1.1 生成對抗網絡

生成對抗網絡是由IAN GOODFELLOW 提出的一種深度學習模型,其成果在圖像、語音、文本生成等領域都取得了一定的成果,被認為是深度學習領域的一項重要進展.生成對抗網絡通過讓兩個子網絡以相互對抗的方式生成能夠“騙過”人類的新數據.這兩個子網絡分別稱為生成器(Generator)和判別器(Discriminator).生成器負責生成新樣本,并盡可能使其與真實樣本相似,以達到欺騙判別器的目的;判別器負責區別真實樣本和假樣本,并盡可能將兩者區分開.生成器和判別器通過不斷地對抗學習來提高各自的能力,最終促使生成器生成具有逼真程度的數據.

GAN 的訓練過程可以形象地比喻為一場“博弈”,生成器和判別器之間進行不斷地互動,其過程可以用以下公式表示:

式中:x表示真實數據;z表示生成器的輸入,即隨機噪聲;D(x)和D(G(z))分別表示判別器對真實數據和生成樣本的預測結果;minGmaxD表示生成器和判別器的優化目標;Preal(x) 表示真實數據的數學分布;Pz(z)表示生成器輸入隨機噪聲數據的分布函數;Ex~Preal(x)表示真實數據的期望概率;Ez~Pz(z)表示生成樣本的期望概率.

1.2 殘差網絡

殘差網絡(Residual Network,ResNet)是由何凱明等人于2016 年提出的一種深度神經網絡結構[14],在圖像識別、語義分割和自然語言處理等領域都取得了很好的效果.它通過引入“殘差塊”(Residual block)來解決深度神經網絡中存在的梯度消失和梯度爆炸問題,使得網絡可以更深、更容易訓練和收斂.

在傳統的卷積神經網絡中,多個卷積層通常會被串聯起來形成一個深層網絡,如VGG等.但是,在網絡變得更深時,通常會出現訓練難度增加、精度下降等情況,被稱為“退化問題”.其原因在于:當信息需要穿過多個卷積層時,由于每個卷積層都會對輸入進行非線性變換,導致后面的卷積層無法獲取到前面卷積層所丟失的信息,從而使得網絡的表達能力降低.為了解決這個問題,ResNet 引入了殘差塊(Residual block),該塊包含了兩個卷積層,另外使用了跨越連接(Skip Connection)將輸入直接進行1*1 卷積,然后傳遞到后面的卷積層,如圖1 所示.這樣,即使特征信息在處理過程中丟失,原始輸入仍然可以保留并直接傳遞到后面的卷積層,從而實現跨越連接的效果.

圖1 殘差塊結構圖

F(X) 表示殘差塊中的變換函數,X表示輸入.因此,F(X) 實際上表示網絡要學習的部分,而X則是該部分未被學習到的部分.通過這種方式,卷積神經網絡的層數可以變得更多,其特征提取能力會更強.

2 模型設計

本文在CE 模型的基礎上,使用UNet 跳層連接改進生成器的網絡模型.同時,生成器網絡的下采樣模塊使用了改進的殘差模塊,以達到在下采樣過程降低模型參數的同時不減少圖像可提取的特征.生成器由7 個下采樣模塊和6 個上采樣模塊組成,假設生成器輸入圖像為(3,128,128),則生成圖像為(3,64,64),如圖2 所示.生成的圖像和真實圖像分別輸入判別器網絡進行判別處理.生成器生成的圖像為缺失圖像的修復結果,把其和原始輸入圖像結合得到修復的大圖.

圖2 模型整體結構

2.1 生成器網絡

殘差模塊可以在深度卷積神經網絡中提升圖像的特征提取能力,考慮到不同大小的卷積核能夠提取不同尺度的圖像特征,因此對原始殘差模塊進行改進.通過增加一個5*5的卷積分支來增強殘差模塊的提取效率,具體如圖3 所示.

圖3 改進后殘差模塊

F(X) 表示殘差塊中3*3 和5*5 分支的變換函數,X表示輸入.這時,F(X)實際上表示網絡要學習的部分.改進后殘差模塊通過3 個分支中的卷積步長來控制特征圖的大小變化.

生成器的每個下采樣模塊使用2 個改進后的殘差模塊,其中一個殘差模塊進行特征圖的下采樣操作,如圖4 所示.上采樣模塊使用反卷積提升圖像分辨率,使得生成器的輸出圖像達到指定大小.

圖4 下采樣模塊結構圖

2.2 判別器網絡

判別器網絡的主要作用是區分真實圖像和生成的“假”圖像,因此判別器的輸入圖像和生成器的輸出圖像大小一致.判別器網絡通過3 個卷積層將輸出變化為(1,8,8)的矩陣,而不是一個具體標量值,矩陣中的每一個值代表判別器輸入圖像的一個小的區域.如果一個區域是來自真實圖像,則其對應的值為1,否則為0.利用patchGAN[15]的思想可以使圖像的局部紋理細節得到有效增強.

2.3 損失函數

在生成器和判別器的對抗訓練過程中,損失函數起著至關重要的作用.生成器網絡生成缺失區域的小圖,小圖嵌入遮擋缺失區域得到修復后的完整圖像.因此,考慮增加全局L1 損失約束圖像的整體一致性.針對修復區域的邊界突出問題,引入TVLoss降低圖像噪聲和保持邊界的平滑性.生成器損失包括對抗損失、局部L1 損失、全局L1 損失和TV Loss損失,具體如下所示:

式中:Lossadv、LossL?L1、LossG?L1、LossTV分別是 對抗損失、局部L1 損失、全局L1 損失和TVLoss損失;γadv、γL?L1、γG?L1、γTV分別對應四種損失函數的權重.

判別器損失如下:

式中:Lossadv表示對抗損失.

3 實驗結果與分析

3.1 實驗準備

CelebA 圖像數據集是香港中文大學制作的開放數據集,包含全球10 000 多位名人的202 599 張圖片,是圖像和人臉處理的非常好用的數據集.本文隨機選取其中46 000 張圖像作為訓練數據集,另外選取1 000 張圖像作為測試數據集.考慮到硬件條件限制,所有圖像統一縮放到128*128 尺寸,遮擋區域為居中64*64 大小.

實驗操作系統為Ubuntu 20.04,Python 3.7,Pytorch 1.10.實驗超參數batch size 為1 000,γadv為0.02,γL?L1為0.48,γG?L1為0.48,γTV為0.02,優化器為Adam,生成器和判別器的學習率都是0.000 2.

3.2 實驗對比

為了驗證所設計模型的有效性,將CE 模型的生成器添加UNet 結構(簡稱CE?UNet 模型),進行定性和定量的對比實驗.在定量分析方面,使用峰值信噪比(PSNR)和結構相似性(SSIM)兩項指標進行數據分析.PSNR一般用于衡量最大值信號和噪音數據之間的圖像質量參考值.PSNR值越大,表示圖像失真越少.SSIM是一種衡量圖像之間相似度的指標.SSIM值越大,表明原圖和生成圖像相似度越高.

圖5 為3 種修復模型的修復結果圖,其中第一列為矩形遮擋人臉圖像,后面依次是CE模型、CE?UNet 模型和本文模型,最后一列為原始未遮擋人臉圖像.通過直觀比較,本文模型的修復效果最好,修復后人臉各器官相對自然,符合人們視覺認知習慣.而CE 模型、CE?UNet 模型的修復結果存在明顯的圖像模糊和語義不連貫等問題,可讀性較差.

圖5 修復結果對比

表1 清晰地說明了本文修復結果在PSNR和SSIM指標上的優越性.CE?UNet 模型因為存在跳層連接,可以很好地將圖像底層特征和高層抽象特征融合,所以比原始CE 模型修復結果略好.

表1 修復結果的定量分析

3.3 損失函數驗證

對生成器而言,除了對抗損失,還有局部L1 損失、全局L1 損失和TVLoss.因此,設計了生成器損失函數的消融實驗,在生成器的損失函數中分別移除局部L1 損失、全局L1 損失和TVLoss,然后進行定量和定性分析.

通過圖6 可以得出,局部L1 損失、全局L1損失和TVLoss三種損失函數對圖像的最終修復效果都起著一定的促進作用.其中,當移除局部L1 損失時,圖像修復效果最差,局部L1損失可以實現遮擋區域像素級別的處理.而全局L1 損失和TVLoss則可以很好地保證圖像的整體連貫性和修復邊界的平滑過渡.

圖6 修復結果(損失函數驗證)

表2 說明,三種損失函數對圖像的最終修復都起著不同程度的作用,三種損失函數共同使用,聯合對抗損失,修復效果才能達到最優.

表2 損失函數的定量分析

4 結語

圖像修復具有重要的理論研究價值和實際意義.在CE 算法的基礎上,使用UNet 結構替換生成器模型,同時在其下采樣模塊中引入多路分支殘差模塊進行特征提取.生成器損失函數綜合使用了對抗損失、局部一致損失、全局一致損失和TVLoss損失,從而提高圖像的修復能力.實驗結果表明,本文提出的改進生成對抗網絡在CelebA 數據集上取得了較好的圖像修復效果,和CE 等修復模型相比,主客觀評價指標均得到提升.

猜你喜歡
全局殘差損失
Cahn-Hilliard-Brinkman系統的全局吸引子
基于雙向GRU與殘差擬合的車輛跟馳建模
量子Navier-Stokes方程弱解的全局存在性
胖胖損失了多少元
基于殘差學習的自適應無人機目標跟蹤算法
基于遞歸殘差網絡的圖像超分辨率重建
玉米抽穗前倒伏怎么辦?怎么減少損失?
落子山東,意在全局
一般自由碰撞的最大動能損失
損失
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合