范寶杰 原 玲 江燕琳
(廣東工業大學信息工程學院 廣東 廣州 510006)
圖像修復作為計算機視覺領域重點研究方向之一,目的是以合理的內容補全圖像中缺失或被遮擋區域,使得重建內容能夠表達原內容一樣的語義信息。重建后的圖像中,原缺失部分的上下文語義能夠保持連貫,且在視覺層面上看上去是自然的。單通道灰度圖像的修復技術發展較為久遠,且相關研究不勝枚舉,所以本文所指的圖像修復均為三通道的彩色圖像修復。
早期的圖像修復算法多以搜索圖像剩余信息來進行可能合理的填充[1],后來逐漸有了搜索來自同類型圖像的已知區域,以匹配缺失區域的相關算法。深度學習相關的研究越來越多,基于卷積神經網絡的圖像修復方法開始成為主流。卷積神經網絡(CNN)能夠大幅降低網絡參數,且能傳遞圖像的高階語義信息,這是其他普通方法所不能比擬的優勢。CNN在紋理級別合成缺失信息,上下文信息更加連貫,結合了生成對抗思想的卷積神經網絡更是取得了非凡的成績。不過傳統的卷積方法是對圖像所有通道進行卷積,根據空間局部特征點來生成信息,所生成的信息不能兼顧所有位置的特征,深層網絡計算復雜度也比較高。雖然可以通過增加網絡深度以及卷積核大小來適當地增強網絡表示能力,但隨之而來的優化問題以及超高的計算復雜度有非常大的限制。
本文提出了圖像通道分離,對每個通道添加淺層表示信息以及不同特征圖余項,分別執行空間卷積編碼操作,而后通過生成網絡并生成缺失區域。在某種程度上,可以假設輸入圖像的空間位置高度相關,但不同通道之間相互獨立[2],即將特征空間學習與通道學習分隔開。對于單通道,它所需要的參數相對會少很多,計算量層面上會有非常大的優化,相對應的網絡深度也可以有進一步的改進。分離通道卷積是卷積的一種高效方法,通常能夠以更少的數據學習到更好的表示,而生成對抗網絡[3]是現階段最出色的生成模型。因此,我們基于多通道卷積網絡與生成對抗思想,提出了一種新的框架用于重建圖像缺失區域。經過實驗證明,該方法在圖像修復上有非常好的效果。
生成對抗網絡(GAN)是Goodfellow等[3]基于博弈論學習所設計的生成模型算法,結構如圖1所示。它可以替代VAE[4]來學習圖像的潛在空間,使生成數據分布盡可能地擬合原始數據分布。GAN的輸入是潛在空間的隨機向量,通過生成網絡的一系列解碼操作恢復成圖像,然后與原圖像數據一起送入鑒別網絡,由鑒別網絡判斷接收的圖像是真實的還是生成的,反饋梯度信息給生成網絡,由此來優化生成網絡的參數以及鑒別網絡自身的參數。隨著生成網絡與鑒別網絡的不斷優化,最終達到納什均衡,生成網絡能夠生成讓鑒別網絡無法判斷真假的圖像。

圖1 生成對抗網絡流程圖
自GAN問世以來,相關的研究應用飛速發展,逐漸成為深度學習領域最受青睞的生成模型,在圖像處理、語音處理等領域大放異彩。目前已有很多基于GAN的圖像修復架構,大多是以對稱結構的自動編碼器為基礎,生成完整圖像。本文所采用的生成對抗框架區別于常規的GAN框架,編碼階段拆分通道分開卷積,最后通過1×1卷積連接,得到高階的特征向量再送入譯碼器。
圖像分離通道卷積如圖2所示。對圖像隨機加噪后,將圖像通道分離,對每個通道單獨進行卷積編碼操作,獲得高階特征后,再連接通過1×1卷積將通道混合。單通道卷積對比于多通道卷積,需要優化的參數會少很多,減小了計算量相當于變相加快了模型訓練。在能夠收斂的前提下還可以適當地增加網絡的深度,學習到更高層次的數據表示。本文通過分離卷積的形式減小了計算量,且類似殘差結構[5]融入了淺層的信息,可以很好地規避深層網絡的高計算復雜度問題和梯度消失問題。

圖2 圖像通道分離流程圖
傳統GAN中有著很明顯的弊端,采用小卷積核很難發現圖像中的依賴關系,尤其是空間相隔較遠的特征幾乎無法產生聯系,而采用大卷積核卻又喪失了卷積網絡參數與計算的效率。因此,本文在圖像分通道編碼操作中融入了淺層表示的信息,其流程如圖3所示。單通道通過引入原輸入端1×1卷積的形式,融入圖像的淺層表示信息。通過淺層信息的引入,不僅為深層特征帶來了不同層面的特征信息,而且在某種程度上彌補了卷積過程中的信息遺漏,因為卷積核大小的限制,卷積時只是針對局部信息生成特征。

圖3 引入淺層信息流程圖
此外,為網絡添加了不同特征圖的信息余項,如圖3中兩個5×5卷積層過濾所得到的特征圖。不同的卷積核大小可以得到不同的感受野,本文的設想是為了盡可能地捕獲多層次的信息。預設超參數r初始值較小(實驗中預設為0.1),可隨網絡訓練而不斷優化。
圖像架構中的帶步長卷積選擇4×4卷積步幅為2,是為了進行下采樣操作時盡可能地減少生成圖像偽影,reshape操作是為匹配特征圖層大小。通過以上操作,可以得到待修復圖像的高階特征表示,為后續的譯碼操作提供盡可能多的信息。
圖2與圖3的流程綜合,雖然卷積操作較多,但卷積核和通道深度都相對較小,所需要優化的參數相比于普通的多通道卷積減少了很多,在減小參數量與提高卷積感受野之間有一個更好的平衡。另外需要說明的是,雖然上述流程中很多操作可以用池化來替代,但由于池化可能會導致梯度稀疏(稀疏的梯度對于生成對抗網絡的訓練并不友好),所以應盡可能避免使用池化操作。
本文提出的生成對抗網絡如圖4所示。將圖2流程中獲得的高階特征表示輸入到由譯碼器構成的生成網絡中,通過卷積與反卷積操作重建完整圖像,鑒別網絡則提供梯度反饋。對于GAN而言,它優化的最小值是不固定的,梯度下降只是尋找山坡的最低點,而GAN的梯度每下降一步都會改變整個山的地形,最優化過程不是尋找絕對的最低點,而是兩股勢力之間的平衡。所以,我們在訓練過程中要非常注意GAN的收斂,幸運的是已經有很多方法可以幫助收斂網絡[6]。

圖4 圖像修復算法流程圖
本文所提出的框架中,編碼向量在輸入生成網絡前,先通過一個全連接層調整為合適的特征圖格式。生成網絡與鑒別網絡的結構,已有比較好的選擇[7]。由多個卷積層組合而成,使用步幅卷積(使用步幅卷積時,盡量使卷積內核的大小能被步幅大小整除,避免像素偽影)代替池化層,因為池化層可能會導致梯度稀疏,會妨礙GAN的訓練。同理,為了避免稀疏梯度,使用LeakyReLU層激活代替ReLU激活。訓練過程還需要使用mini-batch規范化處理,避免梯度偏差過大導致生成器和鑒別器崩潰,可以采用Adam優化器優化網絡。此外,還有一些有助于網絡優化的方法,如標簽平滑、正則化等。
基于圖像信息差的度量,我們提出了通道信息損失Lbgr、圖像的重建信息損失Lr,以及基于生成對抗網絡的損失Lg和Ld。其中:單通道信息損失是原圖像單通道信息Lb與譯碼器端輸出圖像單通道信息Lb′的l1范數,基于不同通道信息差的角度規范生成圖像;圖像重建損失Lr是網絡輸出的生成圖像P′與原始圖像P之間的l2范數,在圖像層面上規范生成信息;生成對抗網絡的生成器損失Lg和判別器損失Ld參考LSGAN[8]的損失函數設置,能夠很好地規避訓練崩潰及收斂速度慢等問題。定義如下:
(1)
(2)
(3)
(4)
L=εLbgr+Lr+η(Lg+Ld)
(5)
式中:pz(z)表示編碼器輸出的數據集合;pdata(x)表示原始數據集合;ε與η是根據經驗預設的可調超參數(ε從很小值開始遞增,且最大值不超過0.3,規避通道中一些不確定因素的影響),用于平衡不同損失的影響。
關于生成對抗網絡的損失,我們也可以有更好的考量,正如零梯度是標準網絡優化的停止條件,GAN的優化停止條件是均衡。但訓練的均衡點是很難達到的,隨著網絡結構的復雜化,這個難度是呈指數上升的。Miyato等[9]證明可以對鑒別網絡應用譜歸一化來穩定GAN的訓練,這種方法通過限制每層的譜范數來約束鑒別器的Lipschitz常數,操作中是將每層的參數矩陣除以自身的最大奇異值,也就是一個逐層SVD的過程。后續在SAGAN[10]中表明生成網絡也可以受益于譜歸一化,以防止梯度異常。所以本文方法中也可以引入譜歸一化來穩定GAN的訓練,損失函數可以根據Wasserstein距離[11]的優勢來重新定義。此時不適宜選擇帶動量的優化器(如Adam優化器),可以選擇RMSprop優化器替代。
Ld=Ez~pz[1+D(G(z))]-Ex~pdata[D(x)-1]
(6)
Lg=-Ez~pzD(G(z))
(7)
本文在Windows 10操作系統的PC機上進行實驗。采用GPU加速,硬件配置是NVIDIA GeForce GTX1050,實驗平臺是PyCharm?;贙eras深度學習框架,圖像處理庫OpenCV 3.0,使用Python編程實現。
在ImageNet數據集上進行實驗以測試我們的方法,測試結果如圖5所示。多次實驗結果表明,視覺上本文方法在邊緣銜接處以及上下文信息一致性上有明顯的優勢。雖然該方法對人臉的修復也有較好的效果,但并沒有進行實驗分析。因為人臉屬于比較特殊的圖像,具有近似軸對稱的性質以及臉部的主要特征,可以有很多針對性的修復方法[12],而本文方法是針對普通圖像而言,與特定算法相比可能優勢不大。

(a) 原圖像

(b) 隨機加噪圖像

(c) 修復后圖像圖5 圖像修復結果
圖6給出多種算法的修復結果用于比較。結果顯示在處理復雜圖像時,本文方法可以得到細節處理更自然的圖像。這也說明了本文方法的優越性,至少在視覺層面上得到的結果是令人滿意的。

(a) 原圖 (b)本文方法 (c) 文獻[13] (d) 文獻[14]圖6 算法對比結果
為了量化圖像修復結果,本文給定評價指標峰值信噪比(PSNR)和結構相似性(SSIM)。與其他的優秀修復框架[13-14]相比,本文算法的PSNR、SSIM值都高于其他的修復算法,如表1所示。這證明本文方法能帶來更高的信息可信度,以及視覺上的逼真效果。本文方法還可以與其他的優秀技術相結合,比如近期的圖像超分辨率技術[15]以及圖像風格遷移技術[16],可以在原框架的基礎上融入分通道編碼方法,一定程度上減少了計算量且增添了多層次的特征信息,相信對生成結果會有所改善。

表1 圖像評價指標
需要說明的是,本文方法對于色彩比較簡單的圖像修復效果會很好,但對于色彩雜亂的或有較多區域顏色混合的圖像,修復效果會顯得不是很可觀,如圖7所示。在這種情況下采用其他修復方法可能效果更好一些,后續會繼續尋找相對應的解決辦法。

(a) 原圖 (b) 加噪圖像 (c) 修復結果圖7 復雜色彩圖像修復結果
本文針對圖像修復問題,提出一個結合圖像多通道卷積與生成對抗思想的修復算法。利用多通道卷積編碼且加入了淺層信息,使用全卷積構建生成對抗網絡,從損失函數等多個角度幫助網絡收斂。實驗結果表明,增加了多層次信息的分通道卷積方法能夠生成可信度更高的信息。相比于現階段的修復算法,從視覺層面來看,本文方法可以恢復出細節紋理更清晰的圖像;從評價指標上看,較高的峰值信噪比與結構相似性指標,表明本文算法的修復區域有更高的信息可信度。本文算法目前的缺點在于無法很好地處理色彩雜亂的圖像,后續會找尋相應的解決辦法。