導讀
使用上下文注意力來進行深度圖像修復。
今天,我們將深入探討深度圖像修復的一個突破,上下文注意力。通過使用上下文注意力,我們可以有效地從遙遠的空間位置借用信息來重建局部缺失的像素。這個想法實際上或多或少和上一篇的復制-粘貼是一樣的。讓我們看看是如何做到的。
回顧
在之前的文章中,我介紹了使用shift連接層將未缺失區(qū)域生成的特征作為參考來恢復缺失區(qū)域,可以讓我們得到更好的修復結(jié)果。在這里,我們假設生成的特征是對ground truth的合理估計,并根據(jù)已知區(qū)域的特征與缺失區(qū)域內(nèi)生成的特征之間的相似性來確定合適的參考。
動機
在圖像修復任務中,CNN的結(jié)構(gòu)不能有效地模擬缺失區(qū)域與遙遠空間位置給出的信息之間的長距離相關性。熟悉CNN的人應該知道,在卷積層,核的大小和膨脹率控制著感受野,網(wǎng)絡需要越深入,才能看到整個輸入圖像。這意味著,如果我們想捕捉圖像的上下文,我們必須依賴于更深的層次,但我們丟失了空間信息,因為更深層次的特征的空間大小總是更小。因此,我們必須找到一種方法,在不用太加深網(wǎng)絡的情況下,從遙遠的空間位置借用信息(即理解圖像的上下文)。
如果你還記得什么是膨脹卷積,你就會知道膨脹卷積是一種在早期的層中增加感受野而不添加額外參數(shù)的方法。然而,膨脹卷積有其局限性。它跳過連續(xù)的空間位置,以擴大感受野。請注意,跳過的連續(xù)空間位置對于填充缺失的區(qū)域也很關鍵。
介紹
這項工作與我們以前討論過的網(wǎng)絡架構(gòu)、損失函數(shù)和相關技術類似。對于該體系結(jié)構(gòu),所提出的框架由兩個生成器網(wǎng)絡和兩個判別器網(wǎng)絡組成。這兩個生成器在全卷積網(wǎng)絡的基礎上使用了膨脹卷積。一個生成器用于粗重建,另一個用于細化。這被稱為標準的從粗到細的網(wǎng)絡結(jié)構(gòu)。這兩個判別器同時在全局和局部看完整的圖像。全局判別器以整個圖像作為輸入,而局部判別器以填充區(qū)域作為輸入。對于損失函數(shù),簡單地說,他們還使用了對抗損失(GAN損失)和L1損失(為了像素級重建精度)。對于L1損失,他們使用一個spatially discounted L1 loss,其中為每個像素差分配一個權(quán)值,權(quán)值基于像素到其最近的已知像素的距離。對于GAN損失,他們使用WGAN-GP損失,而不是我們所介紹的標準的對抗損失。他們聲稱,這種WGAN對抗性損失也是基于L1距離度量,因此網(wǎng)絡更容易訓練,訓練過程也更穩(wěn)定。
在這篇文章中,我將專注于提出的上下文注意力機制。因此,我簡要地介紹了從粗到細的網(wǎng)絡架構(gòu)、WGAN對抗損失和上面的加權(quán)L1損失。
方案
本文提出了上下文注意力機制,有效地從遙遠的空間位置借用上下文信息來重建缺失的像素。將上下文注意力應用到二次精細化網(wǎng)絡中。第一個粗重建網(wǎng)絡負責對缺失區(qū)域進行粗估計。與前面一樣,使用全局和局部判別器來鼓勵生成的像素獲得更好的局部紋理細節(jié)。
貢獻
圖1,該模型在自然場景、人臉和紋理圖像上的修復效果實例。
本文最重要的思想是上下文注意力,它允許我們利用來自遙遠空間位置的信息來重建局部缺失的像素。其次,使用對抗性損失和加權(quán)L1損失提高了訓練的穩(wěn)定性。此外,本文提出的修復框架在自然場景、人臉、紋理等各種數(shù)據(jù)集上都獲得了高質(zhì)量的修復結(jié)果,如圖1所示。
方法
圖2,所提出修復方法的網(wǎng)絡架構(gòu)
圖2顯示了所提出修復框架的網(wǎng)絡架構(gòu),如前所述,它由兩個生成器和兩個鑒別器組成。
上下文注意力
以下是這篇文章的主要關注點。讓我們來看看上下文注意力層是如何設計來借用遙遠空間位置已知區(qū)域給出的特征信息來生成缺失區(qū)域內(nèi)的特征的。
圖3,上下文注意力層的圖形說明圖3顯示了上下文注意層的圖形說明。運算是可微且全卷積的。
圖4,更多關于注意力注意力層的具體例子圖4是上下文注意層的一個更詳細的示例。如圖3所示,前景是指在缺失區(qū)域內(nèi)生成的特征,背景是指從已知區(qū)域中提取的特征。與復制粘貼方法類似,我們首先要對缺失區(qū)域內(nèi)生成的特征與缺失區(qū)域外的特征進行匹配。以圖4為例,生成的缺失區(qū)域內(nèi)的特征大小為64×64×64,假設缺失區(qū)域外的特征分為128個小特征patch,大小為64×3×3。注意,本例中特征的通道大小是64。然后,我們將128個小的feature patch與缺失區(qū)域內(nèi)生成的feature進行卷積,得到大小為128×64×64的feature map。在本文中,該操作描述為:
其中{fx,y}為前景patches的特征, {bx‘y’}為背景patches的特征。sx,y,x‘,y’是缺失區(qū)域特征和已知區(qū)域特征之間的相似性。實際上,這是一個標準的余弦相似度計算過程。當我們沿著通道維數(shù)看時,128個元素代表了所有已知patches和缺失區(qū)域內(nèi)特定位置之間的相似性。這反映了128個已知patches對該位置的貢獻。然后,我們沿著通道維度對特征映射執(zhí)行Softmax歸一化,如圖4中的藍色區(qū)域所示。在Softmax歸一化后,沿通道尺寸的每個位置之和應為1。
與上一篇文章中提到的Shift-Net相比,你可以看到,這一次我們給每個已知特征的patch分配了權(quán)重,來表示重建的時候每個特征位置對于缺失區(qū)域的重要性(軟分配),而不是對于缺失區(qū)域的每個位置找一個最相似的(硬分配)。這也是為什么提出的上下文注意力是可微的。
最后,以注意力特征圖為輸入特征,以已知的patches為核,通過反卷積的方法重建缺失區(qū)域內(nèi)生成的特征。
注意力傳播
注意力傳播可以看作是注意特征圖的微調(diào)。這里的關鍵思想是,鄰近的像素通常有更接近的像素值。這意味著他們會考慮周圍環(huán)境的注意力值來調(diào)整每個注意力分數(shù)。
例如,如果我們考慮左鄰居和右鄰居的注意力值,我們可以使用上面列出的公式更新當前的注意力值。注意,k控制要考慮的鄰居的數(shù)量。作者聲稱,這可以進一步提高修復結(jié)果,這也可以通過與單位矩陣卷積作為核來實現(xiàn)。關于注意力機制的另一點是,采用了兩種技術來控制提取的已知特征塊的數(shù)量。
(i) 以較大的步長提取已知的特征patch,以減少kernel數(shù)量。
(ii) 操作前先對特征圖大小進行向下采樣,獲取注意力圖后再進行上采樣。
網(wǎng)絡中的注意力
圖5,在第二個細化網(wǎng)絡中嵌入上下文注意力層的圖解
圖5顯示了作者如何將建議的上下文注意層整合到第二個細化網(wǎng)絡中。你可以看到,又引入了一個分支來應用上下文注意力,然后將兩個分支連接起來以獲得最終的修復結(jié)果。注意力圖的顏色編碼是注意力圖的可視化方法。例如,白色意味著像素集中在自己身上,粉色是左下角區(qū)域,綠色是右上角區(qū)域,等等。你可以看到,這個例子有一個充滿粉紅色的注意力圖。這意味著填充區(qū)域從左下角區(qū)域借用了很多信息。
實驗
作者首先比較了我們之前介紹的先前最先進的技術。
圖6,比較提出的基線模型和GLCIC,從左到右,輸入圖像,GLCIC結(jié)果,基線結(jié)果圖6顯示了使用建議的基線模型和以前最先進的GLCIC[2]進行修復的結(jié)果。提出的基線模型如圖2所示,上下文注意力分支。很明顯,基線模型在局部紋理細節(jié)方面優(yōu)于GLCIC模型。請放大看清楚些。
圖7,對比基線和完整模型的修復結(jié)果。從左到右,ground truth,輸入圖像,基線結(jié)果,全模型結(jié)果,全模型注意圖圖7顯示了在Places2數(shù)據(jù)集上使用基線模型和完整模型(帶有上下文注意)的定性結(jié)果。可見,完整模型具有較好的局部紋理細節(jié),提供了較好的修復效果。這反映了上下文注意力層可以有效地從遙遠的空間位置借用信息來幫助重建缺失的像素。請放大以便更好地觀看,特別是注意力圖。
表1,不同方法在Places2數(shù)據(jù)集上的定量比較表1列出了一些客觀的評價指標,供參考。如前所述,這些指標不能完全反映修復結(jié)果的質(zhì)量,因為有許多可能的解決方案來填補缺失的區(qū)域。你可以看到,建議的完整模型提供最好的L1, L2損耗和PSNR。對于電視丟失,PatchMatch提供更低的電視丟失,因為它直接復制原始圖像patch來填補漏洞。
供參考的全模型參數(shù)為2.9M。對于大小為512×512的圖像,GPU上每張圖像需要0.2秒,CPU上每張圖像需要1.5秒。
消融研究
注意力機制并不是一個新概念,文獻中有幾個注意力模塊。作者們用不同的注意力模塊做了實驗。
圖8,通過使用不同的注意力模塊進行修復。從左到右:輸入,使用空間變換網(wǎng)絡的結(jié)果,使用外觀流的結(jié)果,以及使用提出的上下文注意力的結(jié)果比較了文獻中兩個著名的注意力模塊,即空間變換網(wǎng)絡和外觀流。簡單來說,對于外觀流,使用卷積層代替上下文注意力層,直接預測二維像素偏移量作為注意力。這意味著我們添加一個卷積層來預測已知像素到缺失像素的移動。在圖8中,你可以看到使用外觀流(中間)為不同的測試圖像提供類似的注意力圖的結(jié)果。這就意味著注意力圖對于給予我們想要的“注意力”是沒有用的。你也可以觀察到空間變換網(wǎng)絡(左)不能為圖像修復任務提供有意義的注意力圖。一個可能的原因是空間變換網(wǎng)絡預測全局仿射變換的參數(shù),這并不足以幫助填補缺失的區(qū)域,也需要局部信息。這里我沒有深入講解不同的注意力模塊。圖像修復中GAN損失的選擇。作者實驗了不同的GAN損失,如WGAN損失,典型的對抗性損失,和最小平方GAN。他們通過經(jīng)驗發(fā)現(xiàn)WGAN損失提供了最好的修復效果。重要的重建損失。在不使用L1損失的情況下訓練了細化網(wǎng)絡。他們發(fā)現(xiàn)L1損失對于確保像素級重建精度是必要的,L1損失也會使修復結(jié)果變得模糊。因此,L1損失對于保證完整圖像更好的內(nèi)容結(jié)構(gòu)至關重要。
感知損失,風格損失,TV損失。我們將很快說到感知損失和風格損失。一個簡單的結(jié)論是,這三種損失并沒有給修復效果帶來明顯的改善。因此,他們的模型只使用加權(quán)L1損失和WGAN損失進行訓練。
總結(jié)
顯然,本文的核心思想是上下文注意力機制。上下文注意力層嵌入到第二個細化網(wǎng)絡中。注意,第一個粗重建網(wǎng)絡的作用是對缺失區(qū)域進行粗略估計。這種估計用于上下文注意力層。通過匹配缺失區(qū)域內(nèi)生成的特征和缺失區(qū)域外生成的特征,我們可以知道缺失區(qū)域外所有特征對缺失區(qū)域內(nèi)每個位置的貢獻。注意,上下文注意力層是可微的和完全卷積的。
要點
你可能會發(fā)現(xiàn),我們正越來越深入到深度圖像修復領域。我在上一篇文章中介紹了Shift連接層,它以硬分配的形式在CNN中嵌入了復制-粘貼的概念。本文以軟分配的形式構(gòu)造了一個上下文注意力層,該層是可微的,并且可以端到端學習,無需修改梯度的計算。希望大家能夠掌握本文提出的上下文注意力層的核心思想,特別是圖3和圖4所示的上下文注意力層公式。
編輯:lyn
-
cnn
+關注
關注
3文章
352瀏覽量
22217 -
深度圖像
+關注
關注
0文章
19瀏覽量
3509
原文標題:深入探討深度圖像修復的一個突破——上下文注意力
文章出處:【微信號:Imgtec,微信公眾號:Imagination Tech】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論