張劍飛,張 灑
(黑龍江科技大學 計算機與信息工程學院,哈爾濱 150022)
圖像修復是利用破損圖像和訓練圖像,獲取數(shù)據(jù)中的結(jié)構(gòu)紋理信息,將破損圖像進行填充.近年來被廣泛應(yīng)用于諸多專業(yè)技術(shù)領(lǐng)域,已成為智能圖像處理、神經(jīng)網(wǎng)絡(luò)和計算機視覺等方面的研究熱點.傳統(tǒng)圖像修復方法主要為基于紋理和基于樣本塊,經(jīng)典模型有基于偏微分方程的BSCB模型,填充的Criminisi算法模型等.近年來,深度學習的圖像修復方法取得了許多突破性進展,Goodfollow的上下文自動編碼器(Content Encoder,CE)[1]首次將生成對抗網(wǎng)絡(luò)[2](Generative Adversarial Networks,GAN)應(yīng)用于圖像修復,對圖像上下文語義信息做出預測,但修復的圖像存在明顯偽影.為了更好地獲取高級語義信息,Olaf Ranneberger[3]等提出了具有跨通道的U型結(jié)構(gòu)(U-Net),其結(jié)構(gòu)完全對稱,采用疊加操作,有跳躍連接等特點,被廣泛應(yīng)用于計算機視覺中.Yan[4]等在U-Net的解碼器中添加了一個轉(zhuǎn)移連接層,即網(wǎng)絡(luò)為Shift-Net,有效地結(jié)合圖像中相隔較遠的特征進行圖像修復,但當破損孔洞過大時,存在細節(jié)紋理不清晰的問題.針對目前圖像修復方法中高級語義不豐富、邊緣紋理細節(jié)缺失和圖像的整體結(jié)構(gòu)相似度不足的問題,本文構(gòu)建了一個以U-Net為基礎(chǔ)的模型,通過引入注意力機制與紋理結(jié)構(gòu)分層相融合的圖像修復方法,獲得具有高級語義和清晰紋理的修復圖像.
基于改進的注意力機制與紋理結(jié)構(gòu)分層融合的生成對抗網(wǎng)絡(luò)圖像修復方法,其網(wǎng)絡(luò)結(jié)構(gòu)針對圖像修復方法中存在的問題,在生成對抗模型基礎(chǔ)上,著重突出圖像主要特征,添加通道注意力;為得到豐富的特征種類和數(shù)量,采用多尺度卷積,引入移位連接層;為在訓練時加強對模型的約束,采用重建損失、指導損失、風格損失和WGAN-GP的對抗損失、感知損失函數(shù)聯(lián)合對生成圖像進行約束;為進一步提高圖像的紋理邊緣細節(jié)和圖像的整體結(jié)構(gòu)相似度,加快模型的收斂速度,將圖像下采樣提取特征分為紋理特征與結(jié)構(gòu)特征,將淺層卷積得到的特征融合成新的紋理特征fte,深層卷積得到的特征融合成新的結(jié)構(gòu)特征fst,并采用改進的Res2Net殘差塊.網(wǎng)絡(luò)模型主要的結(jié)構(gòu)包括預訓練模塊、生成網(wǎng)絡(luò)、鑒別網(wǎng)絡(luò)和紋理結(jié)構(gòu)分層模塊.
在原始的SE Block中,為解決當函數(shù)梯度為零,網(wǎng)絡(luò)無法反向傳播的問題,將激活函數(shù)從ReLu變?yōu)長eaky ReLu;為獲得更多輸入圖像卷積下的不同尺度豐富特征,對輸入圖像進行多尺度并聯(lián)和多尺度孔洞卷積并聯(lián),然后將多尺度并聯(lián)和多尺度孔洞卷積并聯(lián)得到的特征圖串聯(lián).
Hongyu Liu[5]等提出的重新思考圖像修復過程中的一個觀點——認為越淺的卷積代表圖像的紋理結(jié)構(gòu),越深的卷積越能體現(xiàn)圖像的高級信息即圖像結(jié)構(gòu)信息.利用這種思想,將圖像的紋理信息與結(jié)構(gòu)信息,通過卷積將其分開來,使圖像保持原有的紋理結(jié)構(gòu)不會被越來越深的卷積鈍化,失去其原有的特征.圖像的細節(jié)與主體特征進行保留,使結(jié)果中結(jié)構(gòu)和紋理保持一致.圖像進行特征提取過程中,淺層卷積得到的特征分別為f1,f2和f3,深層卷積得到的特征分別為f4,f5和f6.將淺層卷積得到的特征融合成新的紋理特征fte,深層卷積得到的特征融合成新的結(jié)構(gòu)特征fst,這樣就將圖像的紋理與結(jié)構(gòu)特征分開.
為了加強整張圖像中距離較遠的特征信息之間的聯(lián)系,擴大卷積感受野,獲得更多圖像整體信息,在網(wǎng)絡(luò)結(jié)構(gòu)中引入改進的殘差塊.(1)相對于原始Res2Net模型,x2組卷積以后的特征沒有通過跨通道跟x3組的特征進行融合,主要原因是原始模型中經(jīng)過3×3卷積,再對x3的通道特征進行串聯(lián)后,又經(jīng)過3×3卷積,其實際上就是一個5×5卷積,但是這樣的尺度太小會導致圖像不太平滑,圖像中的噪聲也較為明顯.因此,就對x3組的圖像先經(jīng)過3×3的卷積,為擴大感受野在進行步長為2的3×3的空洞卷積,此時3×3的卷積串行一個步長為2的3×3的空洞卷積實際上等于一個7×7的卷積,目的是擴大感受野,使圖像邊緣更加平滑,圖像中的噪聲更少.(2)將原來x3組得到的特征先跟x4融合,再進行3×3的卷積,變成原來x3組得到的特征跟x4進行3×3的卷積后的特征進行融合,這樣可以盡可能多得到圖像的主要特征,減少無用特征.(3)在圖像進行1×1的反卷積后對得到的圖像加入通道注意力,均衡各個通道之間的權(quán)重,確保圖像突出主要特征.通過改進,不僅保留了輸入特征的獨特性,擴大了感受野,增加了不同尺寸卷積下獲得的特征,同時對殘差塊也進行了注意力機制中通道權(quán)重的調(diào)整,有助改善生成圖像在訓練時梯度爆炸問題.
為了使修復圖像語義更合理,紋理細節(jié)更清晰,加入重建損失、指導損失、風格損失、對抗損失、感知損失,最終將多種損失函數(shù)結(jié)合起來作為整體損失函數(shù),定義為:
式(1)中,λ1是重建損失權(quán)重,λadv是對抗損失權(quán)重,λg是指導損失權(quán)重,λsty風格損失權(quán)重,λper感知損失函數(shù)權(quán)重.
在Celeb A人臉數(shù)據(jù)集和Places365日常場景數(shù)據(jù)集上對網(wǎng)絡(luò)進行訓練與驗證.模擬受損圖像時,采用不規(guī)則掩碼,添加與現(xiàn)實情況較為接近的隨機掩碼.對于圖像的評價,分為視覺評估和客觀評估.客觀評估有PSNR,SSIM兩個評價指標.
搭建實驗環(huán)境,硬件選用中央處理器Intel i710thGen,顯卡GPU GeForce 1650Ti,內(nèi)存4 G,硬盤512 G,操作系統(tǒng)Windows10.運行使用Pycharm,使用Pytorch+Tensflow1.4作為支撐框架,搭配Python的多個庫進行實驗驗證與分析.使用Adam進行參數(shù)優(yōu)化,在優(yōu)化算法的參數(shù)設(shè)定上,一階矩陣的衰減指數(shù)ρ1=0.9,一階矩陣的衰減指數(shù)ρ2=0.999,生成器G的學習率為0.001,鑒別器D的學習率為0.005,批處理參數(shù)batch-size=4,輸入數(shù)據(jù)完成前向計算及反向傳播的epoch=50,參數(shù)迭代次數(shù)iteration=200.
由于輸入圖像可能跟網(wǎng)絡(luò)模型處理圖像大小要求不相符,所以需要對輸入圖像進行裁剪.設(shè)定輸入圖像大小256×256,像素范圍是[0,255],通道數(shù)為3.預處理根據(jù)輸入圖像的寬,截成一個以寬為邊長的正方形,然后對其長寬進行裁剪得到符合模型輸入標準的圖像.標準圖像緊接著用中值濾波器去噪,減小數(shù)字圖像在傳輸過程中常受到設(shè)備與外噪聲干擾,這樣就完成了對圖像簡單的預處理.
圖像修復處理過程中,評價圖像修復質(zhì)量通常用兩個指標,峰值信噪比(Peak Signal to Noise Ratio,PSNR)[6]和結(jié)構(gòu)相似性[7](Structural Similarity,SSIM).峰值信噪比通常用于描述圖像壓縮后各種形式的信號質(zhì)量屬性,PSNR值越大,說明圖像信號質(zhì)量越高.PSNR的計算公式為:
式(2)中,imax是圖像點顏色的最大值.一般用8位表示,就是255.每個采樣點用n位線性脈沖編碼調(diào)制表示,imax就是MSE,為均方差.兩個m×n的單色圖像I,K,則MSE可以表示為:
式(3)中,(m,n)是損失區(qū)域的位置坐標,K(i,j)是原來受損圖像已有信息,I(i,j)是修復后受損圖像像素的任一點.(3)式是將修復圖像減去原圖像差的平方,看兩個圖像之間的差異.MSE[8]與PSNR之間,MSE越小,則PSNR越大,說明圖像越接近原始圖像,圖像特征越豐富.
結(jié)構(gòu)相似性是一種衡量兩幅圖像相似度的指標,對修復圖像和原始圖像進行結(jié)構(gòu)相似性的判斷.結(jié)構(gòu)相似性的范圍為[0,1],當兩張圖像一模一樣時,SSIM的值為1,即當SSIM值越大圖像相似性越高.SSIM主要通過亮度、對比度和結(jié)構(gòu)方面對比.計算過程為:
將圖像的平均灰度作為亮度測量估計:
所以,兩幅圖的亮度對比函數(shù)為:
將圖像的標準差作為對比度測量估計:
于是,兩幅圖像的對比度對比函數(shù):
結(jié)構(gòu)對比函數(shù):
最終,三個對比函數(shù)構(gòu)成SSIM:
即
式(5)(6)(7)(8)(9)中,x是真實圖像,y是修復圖像,μx是真實圖像的均值,μy是修復圖像的標準差,σx是真實圖像的標準差,σy是修復圖像的標準差,是真實圖像的方差是修復圖像的方差.c1,c2為常數(shù),為了避免分母為零的情況,c1,c2通常取值為0.012,0.032.
采用視覺對比與量化對比.使用兩種不同的數(shù)據(jù)集Celeb A和Places365與中心掩碼結(jié)合模擬受損圖像,通過對原始圖像(Original Image,OI)和破損圖像(Damaged image,DI),將采用上下文自動編碼的方法(Context Encoders,CE)、Shift-Net方法和本文提出方法得到的修復圖像進行對比,挑選有代表性的實驗結(jié)果進行對比說明,實驗結(jié)果見圖1.
圖1 不同方法在Celeb A測試集下的圖像修復結(jié)果
由圖1可以看到,CE方法使用上下文自動編碼器生成對抗網(wǎng)絡(luò),能夠?qū)⑷四樀奈骞傩畔⑿迯统鰜?,但對于大面積缺失圖像,修復結(jié)果容易出現(xiàn)偽影,不能產(chǎn)生復雜的紋理結(jié)構(gòu),圖像在有些地方有嚴重失真現(xiàn)象,無法修復高級語義信息.(圖1-1c)修復的圖像,在鼻子處有較為明顯的模糊,無法修復出具有高級語義信息、與右側(cè)對稱的法令紋,修復后左側(cè)臉頰上沒有修復出.(圖1-2c)修復的圖像,修復的左側(cè)瞳孔顏色為藍色,與右側(cè)為缺損區(qū)域瞳孔顏色不一致,左側(cè)眼睛,山根處有些模糊.(圖1-3c)修復的圖像在原遮擋區(qū)域出現(xiàn)了明顯的模糊,鼻子處非常模糊,看不到完整的鼻子結(jié)構(gòu),眼鏡鏡框在修復后下側(cè)沒有了邊緣輪廓.
Shift-Net方法采用了移位連接層,通過跳躍連接,使特征圖具有良好的全局性,修復圖像看起來更加真實,但是對于細節(jié)處理過于簡單,局部有小范圍的偽影,圖像的紋理結(jié)構(gòu)不一致.(圖1-1d)修復的圖像,鼻子鼻頭處有小部分偽影,其他修復基本看不出不合理處.(圖1-2d)修復的圖像,整體五官修復還可以,但是仔細觀察修復出來的左眼與右眼大小不一樣.(圖1-3d)修復的圖像,修復出的鼻子和眼鏡框的下側(cè)依舊有偽影.
本文提出的方法,可以基本修復人的五官,違和感程度較輕,修復區(qū)域的偽影很少,相比CE方法修復的圖像紋理更加平滑,相比于Shift-Net方法修復的具有更多的細節(jié)特征,且修復后圖像整體與原圖更接近,能保持圖像的高級語義基本一致.(圖1-1e)修復的圖像,整體圖像符合人眼視覺,與原圖在嘴型方面不同,牙齒顏色有差異,但這些都是通過訓練網(wǎng)絡(luò)模型依據(jù)自己經(jīng)驗給出多樣化的答案,但如果沒有原圖,也不會覺得修復圖像異樣.(圖1-2e)修復的圖像,與原圖較為相似.(圖1-3e)修復的圖像,符合人眼視覺,僅在鼻型和嘴型與原圖略有不同,整體修復效果合理.
Celeb A測試集下,不同方法修復圖像的修復質(zhì)量評價指標見表1.通過PSNR和SSIM這兩個圖像質(zhì)量的評價指標,對幾種修復方法進行客觀比較,判斷圖像修復的質(zhì)量.選用Celeb A圖像結(jié)合中心掩碼模擬受損圖像,選取其中的200張圖像進行測試.可以看出本文方法與CE方法相比,PSNR提升了2.28,SSIM提升了0.022.本文方法與Shift-Net方法相比,PSNR提升了1.35,SSIM提升了0.015.以上數(shù)據(jù)表明,本文修復的圖像與原始圖像更為相似.綜上在視覺與圖像質(zhì)量評價值,可以看出本章提出的CAMCC方法,在圖像壓縮后,圖像的重建質(zhì)量相對其他方法較好,原始圖像與修復圖像在結(jié)構(gòu)相似度方面,相對其他方法較好.
表1 Celeb A測試集下圖像修復質(zhì)量評價指標
不同數(shù)據(jù)集有不同的特點,為了驗證模型的泛化性,在Places365數(shù)據(jù)集上對不同算法進行測試,修復結(jié)果圖見2.
由圖2可以看到,通過CE方法修復(圖2-1c)(圖2-2c)(圖2-3c)的圖像修復后,在原來的掩碼處,都可以看到明顯的正方形偽影.(圖2-1c)修復的圖像,房屋邊緣結(jié)構(gòu)非常平滑,不能體現(xiàn)建筑物的結(jié)構(gòu)特征,修復區(qū)域與原區(qū)域的像素點顏色過渡非常跳躍,對比原圖沒有修復出左側(cè)的窗戶.(圖2-2c)修復的圖像,圖像復原出了樹干缺失部分和草地,但是填充的樹干部分左右顏色不均衡,還有一些偽影.(圖2-3c)修復的圖像,陽臺的隔斷門,門框有一些彎曲,且原遮擋區(qū)域有明顯的偽影.
圖2 不同方法在Places365測試集下的圖像修復結(jié)果
通過Shift-Net方法修復的圖像基本具有相對完整的紋理結(jié)構(gòu),但是在細節(jié)特征方面依舊有提升的空間.(圖2-1d)修復的圖像,基本修復除了房屋的外側(cè),結(jié)構(gòu)上基本合理,但是沒有比較高級的語義信息,沒有根據(jù)右側(cè)的窗戶推測出左側(cè)也應(yīng)有窗戶.(圖2-2d)修復的圖像相對于(圖2-2c)來說偽影區(qū)域變小,對于草地修復部分偽影基本看不到.(圖2-3d)修復的圖像,對于陽臺的隔斷門的門框修復較為成功,但是在原遮擋處的陽臺玻璃背景依舊有偽影,陽臺上的被子未被注意到.
通過本文方法修復的結(jié)果很少出現(xiàn)偽影,結(jié)構(gòu)也較為合理.(圖2-1e)修復的圖像,房屋的結(jié)構(gòu)合理,左右窗戶對稱這樣的高級語義信息都有所體現(xiàn).對照原圖可以發(fā)現(xiàn),(圖2-2e)較好地補全陽光下樹木枝干及葉子的陰影,樹干草地的像素填充與周圍融為一體,不會有突兀感和不適感.(圖2-3e)修復的圖像,基本沒有偽影的現(xiàn)象,細節(jié)處理的較好.
選用Places365圖像結(jié)合中心掩碼模擬破損圖像,選取300張進行測試,得到的評價圖像修復質(zhì)量的結(jié)果如表2所示.由表2可以看出,本文方法與CE方法相比,PSNR提升了2.02,SSIM提升了0.023.本文方法與Shift-Net方法相比,PSNR提升了1.1,SSIM提升了0.011.
表2 Places365測試集下的圖像修復質(zhì)量評價指標
綜上在視覺與圖像質(zhì)量評價值,可以看出本章提出的方法,在圖像壓縮后圖像的重建質(zhì)量,相對其他方法較好,原始圖像與修復圖像在結(jié)構(gòu)相似度方面,相對其他方法較好,通過不同數(shù)據(jù)集對比,說明本文提出的方法有一定的泛化性.
本文以生成對抗網(wǎng)絡(luò)為基礎(chǔ)框架,生成器采用具有對稱性的U-Net,引入通道注意力并結(jié)合多尺度卷積模塊,將圖像下采樣提取特征分為紋理特征與結(jié)構(gòu)特征,采用改進的Res2Net殘差塊,并重構(gòu)損失函數(shù).對比實驗結(jié)果表明,從圖像恢復評價指標來看,在中心掩碼遮擋下的Celeb A數(shù)據(jù)集中,本文提出的方法與Shift-Net方法相比,PSNR提升2.53,SSIM提升0.019;在隨機掩碼的遮擋下的Places365數(shù)據(jù)集上,本文提出的方法與Shift-Net方法相比相比,PSNR提升2.06,SSIM提升0.022.修復后圖像的紋理和結(jié)構(gòu)更統(tǒng)一,修復圖像與原始圖像在高級語義上更加接近.