葉雙 楊曉敏 嚴斌宇



摘 要:在基于字典的圖像超分辨率(SR)算法中,錨定鄰域回歸超分辨率(ANR)算法由于其優越的重建速度和質量引起了人們的廣泛關注。然而,ANR算法的錨定鄰域投影并不穩定,以致于不足以涵蓋各種樣式的映射關系。因此提出一種基于自適應錨定鄰域回歸的圖像SR算法,根據樣本分布自適應地計算鄰域中心從而以更精確的鄰域來預計算投影矩陣。首先,以圖像塊為中心,運用K均值聚類算法將訓練樣本聚類成不同的簇;然后,用每個簇的聚類中心替換字典原子來計算相應的鄰域;最后,運用這些鄰域來預計算從低分辨率(LR)空間到高分辨率(HR)空間的映射矩陣。實驗結果表明,所提算法在Set14上平均重建效果以31.56dB的峰值信噪比(PSNR)及0.8712的結構相似性(SSIM)優于其他基于字典的先進算法,甚至勝過超分辨率卷積神經網絡(SRCNN)算法。同時,在主觀表現上看,所提算法恢復出了尖銳的圖像邊緣且產生的偽影較少。
關鍵詞: 圖像超分辨率;自適應聚類;自適應鄰域;K均值聚類算法
中圖分類號:TP391.41
文獻標志碼:A
Abstract:Among the dictionary-based Super-Resolution (SR) algorithms, the Anchored Neighborhood Regression (ANR) algorithm has been attracted widely attention due to its superior reconstruction speed and quality. However, the anchored neighborhood projections of ANR are unstable to cover varieties of mapping relationships. Aiming at the problem, an image SR algorithm based on adaptive anchored neighborhood regression was proposed, which adaptively calculated the neighborhood center based on the distribution of samples in order to pre-estimate the projection matrix based on more accurate neighborhood. Firstly, K-means clustering algorithm was used to cluster the training samples into different clusters with the image patches as centers. Then, the dictionary atoms were replaced with the cluster centers to calculate the corresponding neighborhoods. Finally, the neighborhoods were applied to pre-compute the projection matrix from LR space to HR space. Experimental results show that the average reconstruction performance of the proposed algorithm on Set14 is better than that of other state-of-the-art dictionary-based algorithms with 31.56dB of Peak Signal-to-Noise Ratio (PSNR) and 0.8712 of Structural SIMilarity index (SSIM), and even is superior to the Super-Resolution Convolutional Neural Network (SRCNN) algorithm. At the same time, in terms of the subjective performance, the proposed algorithm produces sharp edges in reconstruction results with little artifacts.
Key words:? image super-resolution; adaptive clustering; adaptive neighborhood; K-means clustering algorithm
0 引言
圖像的超分辨率(Super-Resolution, SR)技術是一種由軟件實現的,以提高圖像分辨率,豐富圖像細節信息為目的的技術。目前圖像超分辨率技術已廣泛應用于很多領域中,如安全監視[1]、刑事調查[2]、衛星遙感[3]和醫學診斷[4]等。
由于高分辨率(High-Resolution, HR)圖像可以提供比低分辨率(Low-Resolution, LR)圖像更多的細節信息,因此在實際生活中被迫切需要。然而,由于低分辨率圖像產生的復雜性,且從低分辨率圖像映射到高分辨率圖像的過程在大多數情況下都是不可逆的,因此如何由已知的低分辨率圖像得到未知的高分辨率圖像是一個高度病態求解的問題。近年來,人們針對這一問題廣泛研究了許多圖像超分辨率算法,這些算法大致可以分為如下三類:基于插值的圖像超分辨率算法[5-11]、基于重建的圖像超分辨率算法[12-17]和基于學習的圖像超分辨率算法[18-28]。
基于插值的超分辨率算法通常采用某些插值函數來根據已知的低分辨率像素值估計相應的高分辨率像素值。這一類算法不需要借助額外的數據進行重建,且實現非常簡單。雖然傳統的插值算法如雙三次或雙線性插值由于其計算復雜度低而被廣泛應用,但其恢復出來的高分辨率圖像的細節相對模糊。并且,由于這一類算法僅僅只能利用有限的信息來估計未知信息而不能顯著增加圖像信息,因此隨著放大系數的增加,估計出的重建圖像效果會越來越差。
為了能利用更多的圖像信息,基于重建的圖像超分辨率算法使用了同一場景的多幅低分辨率圖像來重建高分辨率圖像。與基于插值的算法相比,基于重建的圖像超分辨率算法實質上增加了重建中所需的信息,因此也實現了相對基于插值的超分辨率算法更好的結果。但是,該類算法的缺點也很明顯:首先,人們難以獲得多個在相同場景下的低分辨率圖像,這從很大程度上限制了該類算法的應用;其次,基于重建的算法的重建性能通常在一定放大倍數后會受到制約;第三,由于相同場景下不同低分辨率圖像間存在像素偏移,因此在進行特征預提取時需要先進行圖像配準,而圖像配準的過程對一些失真嚴重的圖像來說十分困難。
基于學習的圖像超分辨率算法利用圖像的先驗知識來重建高分辨率圖像。該類算法在學習階段預先學習好高分辨率圖像塊與相應的低分辨率圖像塊之間的映射關系,在重建階段通過學習到的映射關系生成具有更精細細節的高分辨率圖像。為了有效利用圖像間的不同假設和先驗知識,研究人員先后提出了幾種基于學習的圖像超分辨率算法:
基于鄰域嵌入(Neighbor Embedding, NE)的超分辨率算法假設每個輸入的低分辨率圖像塊及其對應的高分辨率圖像塊位于具有相似局部幾何的低維非線性流形上[26],進而通過流形關系進行重建?;诰植烤€性嵌入(Locally Linear Embedding, LLE)的超分辨率算法假設不同放大尺寸的圖像塊共享相似的流形幾何結構,因此高分辨率圖像塊可以通過流形關系所匹配到的低分辨率圖像塊來進行重建[24]。然而,流形假設往往在實踐中并不精確,因此重建結果通常并不理想。為了克服這個缺點,Yang等[19]提出了一種基于稀疏編碼(Sparse Coding,SC)的圖像超分辨率算法,通過學習到的高低分辨率詞典的稀疏系數來構建高低分辨率空間中圖像塊之間的對應關系,進而重建出高分辨率圖像?;谙∈杈幋a的圖像超分辨率算法主要瓶頸是其較高的計算復雜度,目前,研究人員針對這一問題提出了許多降低計算復雜度的解決方案[20-21]。文獻[29]將改進的K-SVD(K-Single Value Decomposition)和OMP(Orthogonal Matching Pursuit)算法引入基于稀疏編碼的圖像超分辨率算法中,在維持一定重建性能的同時,對訓練詞典的過程以及重建過程進行加速。隨后,Timofte等[20]提出了錨定鄰域回歸(Anchored Neighbor Regression, ANR)算法,
由于從低分辨率到高分辨率圖像的錨定線性回歸量(投影矩陣)可以離線計算,一旦學習了映射關系,就可以實時重建高分辨率圖像。因此,ANR算法在取得優越的重建效果的同時也實現了極快的重建速度。ANR算法僅關注于從過完備字典中實現錨定鄰域的投影,然而,一組過完備字典并不能覆蓋各種形式的映射關系,因此在一定程度上限制了ANR算法的應用。
為解決ANR算法中鄰域不精確問題,本文提出了一種基于自適應錨定鄰域回歸的圖像超分辨率算法,根據樣本分布來自適應地選擇鄰域。本文算法的大致流程簡述如下:首先,模糊并下采樣高分辨率圖像塊以得到高、低分辨率訓練樣本對;然后,應用K均值聚類算法將高、低分辨率圖像塊分成不同的簇組,再由各簇組的聚類中心和高低分辨率字典原子的關系來構建鄰域;最后,將這些鄰域用于預計算精確的錨鄰域投影(回歸量),并用于重建高分辨率圖像。本文主要工作如下:
1)使用K均值聚類算法將圖像塊聚類成幾個不同的簇來重新分配樣本空間,然后用聚類中心替代ANR算法中的字典作為錨點來計算鄰域。
2)用歐氏距離來重新計算每個聚類中心的鄰域,然后將這些鄰域應用于計算離線存儲的投影矩陣(回歸量)。由于聚類中心是根據樣本分布形成的,因此本文算法可以實現鄰域的自適應。
1 錨定鄰域回歸算法
ANR算法的核心是假設字典中的每個原子都可以由其最近的鄰域線性表示,因此,相同的表示系數可用來重建其高分辨率圖像。ANR算法使用與文獻[29]中相同的一組外部字典,且稱低分辨率稀疏詞典原子為錨點。然后,使用式(1)從一組學習字典中稀疏地重建高分辨率圖像:
其中:Dl和Dh是聯合學習的稀疏字典;Y和X是待訓練的高低分辨率圖像塊對;Z為稀疏表示系數;φ為加權因子。字典D大小固定,不會隨著訓練數據庫的增加而產生很大變化。
ANR算法首先將超分辨率問題定義為一種嶺回歸問題,進而由嶺回歸的閉式解可以求解出低分辨率圖像鄰域與高分辨率圖像鄰域之間的相互關系,進而重建出高分辨率圖像。具體來說,對于每個字典原子,ANR算法首先計算離其最近的K樣本圖像塊作為其鄰域。然后,通過優化低分辨率圖像塊來獲得相應的高分辨率表示系數。上述過程可以表示為:
其中:Nl表示根據樣本圖像塊計算得到的鄰域,其對應于鄰域嵌入中的輸入圖像塊Y的K個最近鄰,以及稀疏編碼和全局回歸(Global Regression, GR)[20]中的低分辨率字典Dl;λ為正則項;α是用于重建高分辨率圖像塊的系數向量。式(2)的閉式解為:
求解得到的系數α可進一步用來計算高分辨率圖像塊:
其中:Nh表示對應于Nl的高分辨率圖像塊鄰域。由式(3)~(4)可以歸納出重建階段所使用的投影矩陣。由于投影矩陣與重建過程中的低分辨率圖像無關,因此投影矩陣可以離線計算:
整個ANR算法的重建過程只需通過計算一組矩陣乘法就可以得到解決:將預先計算好的回歸量PG與低分辨率輸入圖像塊Y相乘,就可以得到其對應的高分辨率圖像塊X。
根據上述推導,ANR算法可以分別從訓練階段和重建階段來確定錨點。在訓練階段,ANR算法將每個字典原子作為劃分鄰域的中心,使用余弦距離計算離字典原子(即劃分鄰域的中心)最近的樣本來作為其鄰域。在重建階段,對于輸入的低分辨率樣本塊,ANR算法根據相關性匹配出與其最相關的字典原子,并使用該原子存儲的投影矩陣來生成高分辨率圖像塊。然而,由于字典原子并不能準確地由其固定尺寸的鄰域來進行表示,導致樣本空間的不精確劃分。因此,本文提出了一種自適應方式的算法來確定鄰域并用自適應鄰域重建高分辨率圖像。具體地,對于每個訓練樣本塊,計算離它最近的K個圖像塊作為其鄰域,并且將每個圖像塊本身作為其鄰域分組的中心。
2 本文算法
本文算法包含四個關鍵步驟:1)選擇Yang算法[19]中用于訓練稀疏字典對的樣本作為本文的訓練樣本,并根據樣本的自相似性將訓練樣本聚類成若干簇;2)對于每個簇的聚類中心,找到離其最近的K個圖像塊作為其鄰域;3)使用目標鄰域離線計算投影矩陣;4)利用預先計算的投影矩陣重建高分辨率圖像塊。
本文框架如圖1所示。
2.1 訓練樣本的選擇
本文選取Yang算法[19]中用于訓練稀疏字典的訓練樣本來進行聚類,由于本文使用聚類中心來替換ANR算法中的字典原子作為中心進而來計算鄰域,因此在本文算法中不需要用到字典。
2.2 圖像塊聚類
與SC和GR方法相同,本文選擇整個字典來獲取最終的高分辨率圖像塊。
然而,原子周圍的局部流形更能由內部的密集樣品而非一組外部臨近原子來表示。
因此,用聚類中心的鄰域替換整個詞典來重建高分辨率圖像塊是很有必要的。特別地,本文將訓練樣本圖像塊聚類成不同的簇,用聚類中心作為鄰域中心來重新分割樣本空間。具體而言,對于第i個聚類中心mi,本文選擇離其最近的K個圖像塊作為其鄰域Nil,相應地,對應的高分辨率鄰域Nih也可以獲得。低分辨率鄰域Nil及其高分辨率鄰域Nih構成第i個聚類對,并代表低、高分辨率鄰域之間的對應關系。由于本文算法是根據訓練樣本的分布自適應地獲得聚類中心,因此可以更精確地劃分樣本空間,從而提升重建效果。
2.3 投影矩陣計算
如第1章所述,ANR算法在重建速度方面取得了顯著成就,因此,在本文算法中將繼續沿用這一優勢。對于第i個低分辨率聚類中心mi,本文使用式(6)計算投影矩陣Pi:
其中:Nil表示第i個聚類中心在低分辨率空間的鄰域;Nih是其對應在高分辨率空間的鄰域。
2.4 高分辨率圖像塊重建
在重建階段,對于給定的低分辨率圖像塊yi,在訓練樣本庫中選擇離其最近的聚類中心mi并計算相應的投影矩陣Pi。然后,待重建的高分辨率圖像塊xi可以通過與ANR算法相同的方式獲得,xi= yiPi。因為已經在訓練階段獲得并存儲了所有錨點及其投影矩陣,所以超分辨率過程的計算成本可以得到顯著降低。
本文算法通過用聚類中心替換ANR算法中的字典原子作為錨點來獲得鄰域,并且基于聚類中心來搜索適當的鄰域大小以獲得最終精確的高分辨率圖像塊。
鄰域大小(數量)對重建效果的影響將通過實驗進行分析討論。
簡而言之,本文算法能自適應地選擇基于樣本的鄰域,更合理地選取錨點從而更精確地表示圖像,因此可以獲得優于其他先進算法的重建效果。
3 實驗與分析
3.1 數據集
在本節中,通過與先進算法進行比較來驗證所提出的圖像超分辨率算法的有效性。為公平比較,本文選擇與Yang算法[19]和Zeyde算法[29]相同的訓練集,該訓練集包含91張高分辨率圖像。本文使用下采樣系數×3對高分辨率圖像進行下采樣,并且通過雙三次插值生成具有相同大小的低分辨率圖像以構建高、低分辨率字典對,該字典對應用于所有參與比較的基于稀疏編碼的超分辨率算法。本文選擇了兩個常見的數據集Set5[29]和Set14[30]用來測試,分別包含5和14張RGB圖像。
3.2 參數設置
本文的參數沿用ANR算法中的設置:錨點數為1024,低分辨率和高分辨率圖像的訓練樣本數為500000,放大因子為3,歸一化因子λ為0.1。此外,本文將聚類簇數量設置為1024。所有實驗都在具有Intel Core i5-6400和8GB RAM的Windows 7(64位)上進行。
3.3 參數靈敏度
3.3.1 聚類數量對重建效果的影響
本文設置了不同的聚類數量來進行廣泛的實驗,以此來驗證本文算法在不同簇數下的性能。圖2顯示了不同聚類數量下本文算法在數據集Set5上的平均峰值信噪比(Peak Signal-to-Noise Ratio, PSNR)值。從圖2可以看出:當放大簇數直到值達到峰值256時,PSNR值增加,當簇數超過256后PSNR值開始減小。因此,對本文算法256為最佳聚類數量。為了公平地與其他先進方法算法進行比較,本文在實驗中沿用ANR算法中的字典大小1024作為聚類數量。越大的聚類數量可以涵蓋更多圖像隱含的映射關系,進而可以越精確地對重建圖像塊進行越精細的表征。但是,在一定的訓練圖像規模下,隨著聚類數量的增多,每一簇所含的樣本量會逐漸地減少,進而在重建時對圖像的表征不是很完全而導致重建性能的降低。
3.3.2 鄰域數量對重建效果的影響
由之前的陳述可知,從理論上講,鄰域數量越多重建高分辨率圖像的結果就越準確,因此,隨著鄰域數量的增加,將獲得更高質量的高分辨率圖像。在訓練階段,本文通過設置不同的鄰域數量來證明這一假設,然后分析所有測試圖像的PSNR,實驗結果如圖3所示。
[21] ZHAO J, HU H, CAO F. Image super-resolution via adaptive sparse representation[J]. Knowledge-Based Systems, 2017, 124: 23-33.
[22] HUANG K, HU R, JIANG J, et al. Face image super-resolution through improved neighbor embedding[C]// Proceedings of the 2016 International Conference on Multimedia Modeling, LNCS 9516. Cham: Springer, 2016: 409-420.
[23] PARK J S, SOH J W, CHO N I. High dynamic range and super-resolution imaging from a single image[J]. IEEE Access, 2018, 6: 10966-10978.
[24] CHANG H, YEUNG D Y, XIONG Y. Super-resolution through neighbor embedding[C]// Proceedings of the 2004 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2004: I-I.
[25] ZHANG K, TAO D, GAO X, et al. Learning multiple linear mappings for efficient single image super-resolution[J]. IEEE Transactions on Image Processing, 2015, 24(3): 846-861.
[26] JIANG J, MA X, CHEN C, et al. Single image super-resolution via locally regularized anchored neighborhood regression and nonlocal means[J]. IEEE Transactions on Multimedia, 2017, 19(1): 15-26.
[27] TIMOFTE R, ROTHE R, van GOOL L. Seven ways to improve example-based single image super resolution[C]// Proceedings of the IEEE 2016 Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2016: 1865-1873.
[28] DOU Q, WEI S, YANG X, et al. Medical image super-resolution via minimum error regression model selection using random forest[J]. Sustainable Cities and Society, 2018, 42: 1-12.
[29] ZEYDE R, ELAD M, PROTTER M. On single image scale-up using sparse-representations[C]// Proceedings of the 2010 International Conference on Curves and Surfaces, LNCS 6920. Berlin: Springer, 2010: 711-730.
[30] BEVILACQUA M, ROUMY A, GUILLEMOT C, et al. Low-complexity single-image super-resolution based on nonnegative neighbor embedding[EB/OL]. [2019-01-12]. http://people.rennes.inria.fr/Aline.Roumy/publi/12bmvc_Bevilacqua_lowComplexitySR.pdf.
[31] DONG C, LOY C C, HE K, et al. Image super-resolution using deep convolutional networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2016, 38(2): 295-307.