葉 楊,蔡 瓊,杜曉標
(1.武漢工程大學郵電與信息工程學院計算機與信息工程學院,武漢 430073;2.武漢工程大學計算機科學與工程學院,武漢 430205;3.吉林大學珠海學院電子信息系,廣東珠海 519000)
(?通信作者電子郵箱yeyang0325@qq.com)
由于視頻和圖像數據的快速增長,超分辨率(Super-Resolution,SR)獲得了很大的發展,并且近年來引起了越來越多的關注。在日常生活中,超分辨率技術可以應用于許多領域,例如衛星和醫學圖像處理[1]、面部圖像改善[2]等。在給定低分辨率(Low-Resolution,LR)圖像的情況下獲得高分辨率(High-Resolution,HR)圖像可能是一個不適定的問題,但是卷積神經網絡(Convolutional Neural Network,CNN)被引入該領域產生了巨大影響,使結果圖像更加細膩自然。本文主要研究處理單圖像超分辨率(Single Image Super-Resolution,SISR)任務。
考慮到CNN 在計算機視覺任務(如圖像分割)中的成功經驗,Dong 等[3]提出了基于CNN 的超分辨率(Super-Resolution CNN,SRCNN)重建方法。因此,CNN 吸引了更多研究者來解決超分辨率任務[4-9]。這些改進方法盡管極大提高了性能,但是仍然存在一些問題:首先,先前的研究集中在引入更深的卷積神經網絡以提高性能而忽略了計算開銷,大量的計算使該算法難以在實踐中應用;其次,隨著網絡深度的增加,訓練過程將變得更加不穩定[7,9],為解決這個問題需要使用更多的訓練技巧來訓練網絡以提高性能;最后,大多數以前使用的方法沒有充分利用訓練數據來重建超分辨率圖像,且實驗結果表明有一些訓練數據沒有在訓練中得到充分利用。
為了解決上述問題,本文提出了一種基于邊緣增強的非局部通道注意力(Non-local Channel Attention,NCA)機制的新方法。首先,本文提出了非局部通道注意力網絡(NCA Network,NCAN),該網絡一共分為四部分,其中邊緣增強組(Edge Enhanced Group,EEG)為研究的創新點部分,通過捕獲遠程依賴關系使網絡學習自我注意。其次,邊緣增強組分為2 個分支:主分支和邊緣增強分支,其中邊緣增強分支包含2個模塊,充分利用圖像邊緣信息增強通道特征用于訓練數據來重建超分辨率圖像。根據最近研究成果可知,本文首次提出了邊緣數據增強訓練方法,用于設計單圖像超分辨率網絡,為深度學習提供了數據增強的新觀點,并為網絡設計提供了一定的引導。在本文中,使用所提出的方法進行設計實驗,并提出了一種輕巧高效的網絡。根據在基準數據集上的實驗結果表明,本文方法優于大多數最新模型。
單圖像超分辨率是低級計算機視覺任務。目前文獻中流行的方法是學習從低分辨率圖像到高分辨率圖像的映射功能以進行重構。傳統的機器學習技術在超分辨率方面得到了廣泛的應用,其中包括Yang等[10]提出的稀疏編碼、Chang等[11]提出的學習嵌入等。有一種強大的方法可以充分利用圖像無需額外數據的自相似性,如Freedman 等[12]進一步開發了一種局部化的搜索方法。Huang 等[13]擴展了該方法,通過使用檢測得到透視幾何的結果來使用斑塊算法進行搜索。
單圖像超分辨率(SISR)的最新進展就是充分利用了卷積神經網絡的出色學習能力。Dong 等[3]首先提出用SRCNN 恢復高分辨率圖像,該方法將CNN 中的體系結構細分為提取層、非線性映射層和重建層,與稀疏編碼中的這些步驟相對應[10]。Kim 等[5]提出深度遞歸卷積網絡(Deeply-Recursive Convolutional Network,DRCN),通過首先將低分辨率圖像插值到所需大小來進一步執行這些步驟,但計算量巨大而且還會丟失一些細節。Kim 等[5,14]采用深度殘差卷積神經網絡以實現更好的性能,該技術使用雙三次插值將低分辨率圖像上采樣到所需大小,然后輸入網絡以輸出超分辨率圖像。基于金字塔超分辨率網絡(Laplacian pyramid Super-Resolution Network,LapSRN)[6]、深度遞歸殘差網絡(Deep Recursive Residual Network,DRRN)[8]、增強深度超分辨率網絡(Enhanced Deep Super-Resolution network,EDSR)[7]和深度殘差通道注意力網絡(deep Residual Channel Attention Network,RCAN)[9]等更深入的基于CNN 的超分辨率模型已成為一種研究趨勢。
然而,通過增加網絡深度會帶來大量的計算,而且增加處理時間。為解決這個問題,Dong 等[4]采用較小的濾波器尺寸和更深的網絡,即快速超分辨率卷積神經網絡(Fast SRCNN,FSRCNN)刪除了SRCNN中的雙三次插值層,并將反卷積層嵌入FSRCNN 的尾部。為了減少參數,Tai 等[8]提出深度遞歸殘差網絡(DRRN),該方法使用殘差學習和遞歸相結合,但降低了運行速度。為了運用圖像多尺度特征,Li 等[15]提出了多尺度殘差超分辨率網絡(Multi-scale residual Super-Resolution Network,MSRN)模型使用多尺度殘差塊充分提取圖像特征。
盡管大多數研究是基于CNN 的超分辨率方法,并且都大力推動了該領域的發展,但是大多數研究模型卻盲目地增加網絡深度和參數。顯然,這種研究方向都會增加運行時間,并且不一定會提高準確性。
對于人類的感知,注意力通常是指人類的視覺系統專注于顯著區域[16],并自適應地處理視覺信息。當前,一些研究提出了嵌入注意力機制處理并增強CNN,例如圖像分割、圖像和視頻分類中的表示[17-18]。Wang 等[18]提出了用于視頻分類的非局部神經網絡,該方法將非局部過程納入空間注意力的遠距離特征。Hu等[17]提出的SENet(Squeeze Excitation Network)模型捕獲通道方向的特征關系以獲得更好的圖像分類性能。Li 等[15]提出了一種用于語義分割的期望最大化(Expectation Maximization,EM)注意力網絡,借鑒了EM算法來迭代優化參數,降低了非局部塊操作的復雜度。Fu 等[19]提出了一種雙注意力網絡(Dual Attention Network,DANet),它主要由位置注意力機制和通道注意力機制組成。該方法使用位置注意力機制來學習空間相互依賴性,而使用通道注意力機制對通道相互依賴性進行建模,通過捕獲豐富的上下文相關性,在很大程度上改善了分割結果。Zhang 等[9]提出了一種用于單圖像超分辨率的深度殘差通道注意力網絡(RCAN),該方法采用通道注意力(Channel Attention,CA)機制,通過使用特征通道之間的相互依賴性來自適應地縮放通道特征信息。Zhang 等[20]介紹了單圖像超分辨率中的非局部結構,提出了非局部注意力學習,通過保留低分辨率圖像特征來捕獲更多信息,從而適合超分辨率圖像的重建;所設計的兩個分支分別是trunk分支和mask 分支,其較好的網絡表示能力能獲得高質量的圖像重建結果。Dai 等[21]提出了非局部增強殘差組(Non-Locally enhanced Residual Group,NLRG)來捕獲空間上下文信息,從而極大地提高了模型的性能。
很多基于CNN 的SR 方法沒有充分利用LR 圖像的信息導致運算性能相當低,而關于CNN 的研究模型主要專注于設計更深或是更寬的網絡,學習更有判別力的高層特征,卻很少發掘層間特征的內在相關性。本文從另外一個角度出發,采用邊緣方法來獲取更多數據。在NCAN 模型中分為三個階段:第一階段獲取LR 圖像后通過一個卷積層獲取淺層特征。第二階段將第一階段的輸出作為輸入提取深層特征,本階段由兩個部分組成即區域級別的非局部模塊(Region-Level Non-Local modules,RL-NL)和邊緣增強組(EEG),其中RL-NL 位于NCAN 的開頭部分和結尾部分,主要作用是可以較好利用LR 特征中的相似信息和HR 特征中的自相似性。EEG 位于NCAN 的中間,主要作用是提取更好的圖像的邊緣信息。第三階段將提取到的深度特征通過一個卷積層進行圖像重建。本文方法的偽代碼如算法1所示。

本文提出非局部通道注意力網絡(NCAN)的架構如圖1所示。該網絡主要可分為4 個部分:淺層特征提取器,邊緣增強組(EEG),上采樣層和重建層。將ISR和ILR作為NCAN 的輸出端和輸入端。按照文獻[8,21]應用一個卷積層以從低分辨率輸入中捕獲淺層特征F0:

其中HSF表示卷積運算。然后,將淺層特征F0作為輸入,從而獲得深層特征。

其中HEEG表示基于EEG 的非局部增強特征提取模塊,該模塊由兩個RL-NL 模塊組成,用于捕獲遠程信息和G個殘差通道注意力組。因此,本文提出的EEG 可以達到一定深度,并且可以捕獲更多信息。然后將提取的深度特征FDF通過upsacale模塊進入下一層。

其中,H↑和F↑分別表示上采樣層和上采樣特征。在最近的研究中,有幾種選擇可以作為上采樣部分來執行,例如轉置卷積[4]。本文方法在最后幾層中嵌入了上采樣功能,以此在性能和計算負擔之間取得良好的平衡。然后,上采樣特征通過一個卷積層。

其中,HR、H↑和HNCAN分別是重構層、上采樣層和NCAN 的功能,然后將使用損失函數優化NCAN。
為了驗證本文所提NCAN 的有效性,遵循先前的工作,采用了L1 損失函數。給定具有N個低分辨率圖像和高分辨率圖像的訓練集,這些圖像由{IHR,IHR}N表示,NCAN的目的是優化損失函數:

其中,θ代表NCAN 的參數集,本文選擇亞當算法來優化損失函數。

圖1 本文的非局部通道注意力網絡的架構Fig.1 Framework of proposed NCAN
邊緣增強組(EEG)(見圖1)可以分為主分支和邊緣增強分支。主分支由兩個區域級別的非局部模塊(RL-NL)[21]和G個二階非局部注意力組(Second-order Non-local Attention Group,SNAG)結構組成。RL-NL 可以捕獲遠程信息。每個SNAG 進一步包含M個簡化的殘差通道塊,后跟一個非局部通道注意力(NCA)模塊,模塊之間運用特征的相互依賴性。邊緣增強分支由Padding 模塊和V個SNAG 組成,本文方法充分運用邊緣信息,并通過邊緣信息來增強對通道特征的關注。
文獻[7,15,21]中已經證明堆疊殘差塊是形成深度網絡的有用方法,然而由于梯度消失和爆炸,更深的網絡將導致性能瓶頸和訓練困難。先前的工作已經證明,簡單地堆疊重復的塊可能無法達到更好的性能。為了解決這個問題,本文引入了二階非局部注意力組(SNAG),不僅可以避免獲取LR 圖像中大量的低頻信息,而且可以促進模型深層網絡的訓練。在這里,第g組中的SNAG表示為:

其中:WSSC表示卷積層的權重;Hg是第g個組的函數;Fg、Fg-1表示第g個EEG的輸出和輸入。獲得深層特征:

常規的基于CNN 的超分辨率模型會忽略特征的相互依賴性。為了充分利用這些信息,SENet[17]引入了CNN 來重新縮放圖像SR 的通道級特征。盡管如此,SENet 僅通過全局平均池來利用一階統計信息功能,而忽略了非局部統計信息相較局部統計信息更為豐富的信息,從而影響了網絡的判別能力。
受上述工作的啟發,本文提出了一種非局部通道注意力(NCA)模塊(見圖2),通過采用非局部特征的通道統計信息來捕獲通道特征的相互依賴性。給定輸入X,其形狀為(T,H,W,C),輸入X分別進入Θ、φ和g的卷積模塊里,再將這些卷積塊的輸出結果進一步矩陣變維,具體變維維度顯示在圖2中。將Θ和φ的變維結果進行矩陣相乘獲得(C,C)的矩陣,然后再使用Softmax 進行歸一化,之后再與g的變維結果進行進一步的矩陣相乘,獲得的結果再次變維后送入g卷積模塊當中,最后再與X進行殘差相加。

圖2 非局部通道注意力(NCA)模塊Fig.2 NCA module
繼文獻[7,20]之后,本文實驗在DIV2K數據集[22]中訓練了800 個訓練圖像。為了驗證本文設計網絡的有效性,共選擇5個基準數據集:Set5、Set14、BSD100、Urban100和Manga109。對于降質模型,采用Matlab 調整resize 函數并進行bicubic 運算。實驗指標使用峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)和結構相似度(Structural SIMilarity,SSIM)評估SR結果。
對于訓練,通過水平翻轉和隨機旋轉90°、180°、270°來增強低分辨率圖像。對于每個最小批,輸入16個尺寸為48×48的低分辨率圖像小塊。實驗設置G為12、V為8,并且使用亞當算法以β1=0.9,β2=0.99 和ε=10-8優化模型,并將學習率初始化為10-4,然后每200 個周期減少一半。實驗使用Pytorch框架在Nvidia 1080Ti GPU上訓練NCAN方法。
如圖1 所示,本文NCAN 包含兩個主要組件:邊緣增強組(EEG)和非局部通道注意力(NCA)模塊。為了測試各個模塊的有效性,本實驗訓練和測試了其變體形式的EEG 在Set5 數據集上進行比較。具體性能見表1。

表1 不同模塊的性能效果Tab.1 Performance effects of different modules
將RBASE 設置為基本基線,它僅包含卷積層,該卷積層包含20 個SNAG 和每個SNAG 中殘余的10 個塊。表1 中,Rc和Re 表示NCA 的實驗結果。具體而言,Rc 表示基于二階特征統計信息和非局部運算符的通道注意力,即非局部通道注意力(NCA)的結果。Re 表示將RL-NL 和NCA 組合的結果。實驗結果表明Re 的性能均優于Ra 至Rc 的方法。相對于RBASE,把RL-NL 嵌入到Ra 和Rb 時,實驗結果可以發現RLNL顯著提高了模型的精度,主要原因在于RL-NL可以捕獲全局特征,彌補了卷積神經網絡的局部限制。把NCA 嵌入到網絡時,NCA 進一步提高了模型的精度,這主要是因為NCA 可以捕獲非局部通道特征,其精煉的特征可以使模型進一步提高性能。上述消融實驗表明提出的RL-NL 和NCA 可以提高模型性能,進一步表明了所提出模塊的有效性。
本文使用基于CNN的雙三次降解(Bicubic)的最新SR方法進行了比較測試:SRCNN[3]、FSRCNN[4]、VDSR(Very Deep convolutional Super-Resolution networks)[14]、LapSRN[6]、MemNet(Memory Network)[24]、EDSR[7]、RDN(Residual Dense Network)[23]、SAN(Second-order Attention Network)[21]和RCAN[9]來驗證NCAN的有效性。不同方法所得的視覺結果如圖3所示。表2中顯示了每個比例因子的定量結果。與其他方法相比,本文提出的NCAN在所有具有不同比例因子的數據集上表現最佳。NCAN 和SAN 可以達到非常相似的結果,并且優于其他方法。由于其他方法都使用二階注意力來學習特征之間的相互依賴性,這使得網絡更加關注信息特征。

圖3 Urban100數據集上4×SR與BI模型的可視化比較Fig.3 Visual comparison of 4×SR and BI models on Urban100 dataset

表2 不同方法的定量結果對比Tab.2 Quantitative result comparison of different models
與SAN 和RCAN 相比,NCAN 對于具有豐富紋理信息的數據集(如Set5、Set14 和BSD100)具有令人滿意的性能,而對于具有豐富的后處理邊緣信息的數據集(如Manga109 和Urban100)則具有較差的結果。眾所周知,紋理是具有更復雜統計屬性的高階模式,而邊緣是可以由一階運算符提取的一階模式。因此,基于二階模式提取器和非局部方法NCA 在更高階信息(如紋理)的圖像上獲得更好的結果。
如圖3 所示,在不同方法所得視覺結果中,實驗發現大多數以前模型無法準確恢復晶格,并且具有嚴重的模糊偽像。比較之后可知,NCAN 可獲得更清晰的結果并重建更多豐富的細節。在“img011”的情況下,大多數用于比較方法都會輸出嚴重的模糊偽像,SRCNN、FSRCNN 和LapSRN 的早期模型甚至失去了其主要結構。
從實驗結果中可以看出,NCAN 獲得了更可靠的結果并且可以恢復更多的圖像細節。由于LR 的輸入信息有限而難以重建高分辨率圖像信息,所以本文提出的NCAN 可以通過非局部關注來充分利用有限的LR信息,同時運用兩個通道特性的空間特征與更強大的模式表示相關聯,從而獲得更細致的圖像結果。
表3顯示了當前CNN的SR模型的模型大小和性能。

表3 Set5上計算和參數比較(2×)Tab.3 Computation and parameter comparison(2×)on Set5
在表3 的方法中,MemNet 和NLRG 包含的參數數(Para.)最少,從而降低了性能。NCAN 不僅相較RDN、RCAN 和SAN模型使用更少的參數,而且還具有更好的性能,從數據結果中可以得出NCAN可以在模型的復雜性和性能之間取得平衡。
本文為SISR 提出了一個深層的非局部通道注意力網絡(NCAN)。具體而言,區域級別的非局部模塊(RL-NL)結構允許NCAN 通過嵌入非局部操作來捕獲結構信息和依賴關系;同時,SNAG 允許通過局部跳躍連接繞過LR 圖像中的大量低頻信息。NCAN 不僅利用空間特征相關性,而且還通過全局協方差池學習特征的相互依賴性,從而通過二階非局部通道注意力(SNCA)模塊獲得更多的判別表示。關于雙三次降解(Bicubic)的SR 的廣泛實驗結果表明了NCAN 在定量和視覺結果方面的有效性。由于實驗模型大于15×106,在硬件資源有限的情況下使得實際運用變得困難。我們未來的工作在于通過非局部通道注意力機制設計更加輕量、效果更好的網絡。