沈 瑜,劉 成,楊 倩
1.蘭州交通大學 電子與信息工程學院,蘭州730070
2.甘肅省人工智能與圖形圖像處理工程研究中心,蘭州730070
傳統(tǒng)的圖像復原技術通過減少成像過程中各種干擾因素影響來提高圖像復原的質(zhì)量。但是,這些方法很難將成像系統(tǒng)截止頻率以外的信息進行復原。為此,圖像超分辨率重建的概念被提出,它的基本思想是將低分辨率圖像通過某些技術或者方法恢復至對應的高分辨率圖像。它在衛(wèi)星成像、醫(yī)學圖像診斷、高分辨率視頻等領域具有很強的應用價值。近年來,深度學習在多媒體領域的應用愈加廣泛,與此同時,以深度學習為基礎的超分辨率圖像重建技術[1]也成為了圖像處理領域的重點研究方向。
王忠謙等提出的雙三次插值法[2]通過LR圖像信息,在鄰點間計算得到插值點像素,實現(xiàn)HR圖像的重建。該方法雖然較為簡單,但是不能較好地保持圖像的高頻信息,同時還會造成圖像邊緣的振鈴效應。Yang等[3]利用聯(lián)合訓練的方法尋找LR和HR圖像塊相對應的過完備字典。這種方式使LR和HR圖像塊所獲得的稀疏系數(shù)較為相似。該方法取得的圖像重建質(zhì)量較好。但是,訓練和重建過程需要多次迭代,算法復雜度偏大。Timofte等[4]提出的A+算法是建立在圖像特征和錨定領域回歸量的基礎上,但它沒有在字典上學習回歸量。因此,該方法具有非常低的時間復雜度。Zhu等[5]提出了一種基于可變形塊的單圖像超分辨方法。通過變形圖像塊,字典對圖像變得更具表現(xiàn)力。結果表明,該方法有助于提高圖像表示精度,算法魯棒性也顯著提升。香港中文大學Dong等[6]首次引入卷積神經(jīng)網(wǎng)絡處理超分辨率圖像重建問題,其網(wǎng)絡架構主要分為特征提取、非線性映射和圖像重建三個階段。該方法采用均方誤差作為其損失函數(shù),通過隨機梯度下降法對其進行優(yōu)化,從而使網(wǎng)絡的收斂速度加快。但是該方法不適合多尺度放大,而且忽略了圖像塊之間的上下文依賴。后來,根據(jù)圖像分類的VGG網(wǎng)絡[7]提出的極深網(wǎng)絡[8]解決了圖像的單一尺度放大的問題,該方法通過級聯(lián)形式的濾波器,有效整合了圖像塊之間的上下文信息。此外,該方法也指出:對于訓練過程中出現(xiàn)的梯度消失、梯度膨脹等問題,殘差學習和可調(diào)梯度裁剪[9]策略可以對其有效消除,但是該方法在參數(shù)存儲和檢索方面存在不足。西安交通大學的Liang等[10]采用了一種在訓練過程中對代價函數(shù)增加約束條件的方法,如:重建圖像的梯度輪廓[11]、非局部相似性[12]等,該方法充分考慮了圖像的邊緣信息,但對重建圖像質(zhì)量的提升效果甚微。該方法也表明了把淺層卷積神經(jīng)網(wǎng)絡和圖像先驗知識相結合,對圖像質(zhì)量的改善能力非常有限。文獻[13-14]利用在合適的稀疏字典原子下,LR/HR圖像塊稀疏表示系數(shù)是相同的這一性質(zhì),提出了基于稀疏編碼的超分辨率重建方法,該方法使圖像的視覺效果有了很大程度的改善,而且也表明了稀疏編碼模型所蘊含的領域知識可以對深度學習的網(wǎng)絡架構的設計提供很大幫助。在眾多基于深度學習的超分辨率圖像重建方法中,利用字典模型的重建技術備受青睞。文獻[15]提出了一種基于協(xié)作稀疏表達的字典學習算法。該方法將圖像劃分為不同聚類,并且構建了協(xié)作稀疏字典模型。最后,利用圖像自身的結構自相似性選擇對應的映射矩陣來完成圖像重建。這種方法使得圖像的超分辨率質(zhì)量得到了進一步提升。文獻[16]提出一種新的基于層次聚類的超分辨率圖像重建算法,該方法利用層次聚類和改進的主成分分析方法訓練得到字典模型,并且在完成重建以后對圖像進行全局優(yōu)化,有效提升了圖像的峰值信噪比和結構相似度。還有其他字典模型,比如多尺度字典[17-18]、壓縮感知字典等[19]都在超分辨率圖像重建中取得了較好的效果。在現(xiàn)有研究工作中,基于人工特征設計詞典模型(如圖像灰度信息、梯度或紋理結構等淺層特征),對源圖像信息的表達能力是非常有限,尤其是對于結構復雜、特征豐富的圖像,需要一種模型來提取圖像的深層次學習特征以獲得更好的圖像重建效果。
在此基礎上,本文提出了一種具有高斯內(nèi)核函數(shù)的PCANet模型用來提取圖像的深度學習特征作為源圖像的精確表示,并且對子空間特征進行稀疏優(yōu)化,提高了算法的魯棒性。通過訓練得到的LR濾波器將提取到深度學習特征分解為多個特征映射以獲得LR圖像更加稀疏的特征表示,同時結合訓練得到的映射函數(shù)可以更精確地估計出HR圖像的稀疏特征表示,有效解決了特征匹配過程中準確度低的問題。
深度學習的思想是挖掘數(shù)據(jù)的多層次表示方法,通過更高、更深層次的特征來增強抽象數(shù)據(jù)的語義表達能力。其結構模型和人類大腦分層處理信息的機制具有相似之處。文獻[20]表明,利用深度分層模型能夠獲得稀疏性、選擇性和魯棒性更佳的學習特征,能有效增強對圖像語義的描述能力。所以,尋找新的多層特征提取模型變成了深度學習方面的一個研究熱點。
PCANet[21]是一種把卷積神經(jīng)網(wǎng)絡理論和PCA(主成分分析)理論相結合且結構較為簡單的深度學習算法。利用PCANet模型可以從圖像數(shù)據(jù)庫中提取到與人工設計規(guī)則完全不同的深度學習特征[22]。因此,將PCANet算法應用到圖像數(shù)據(jù)中深層次的特征的提取是可行的。
本文算法利用PCANet模型提取圖像深度學習特征,并且加入稀疏優(yōu)化算法,對子空間特征映射進行處理。然后利用學習得到的映射函數(shù),用LR圖像特征估計出HR圖像的稀疏特征表示,解決了特征匹配準確度低的問題。本文算法的流程如圖1所示。
PCANet算法是一種線性分析方法,不能有效提取圖像的非線性特征。在非線性空間引入內(nèi)核函數(shù)的方法可以彌補這些不足,它在圖像特征的高維空間中比線性方法更為有效。因此,本文在PCANet模型的濾波器核中引入核函數(shù),可以有效提高該模型提取圖像非線性特征的能力。本文利用引入核函數(shù)的PCANet模型提取圖像深度學習特征,主要包括預處理、特征提取、特征輸出三個階段。
首先,對所有HR圖像進行子采樣,將子采樣圖像縮放成和原始HR圖像相同的尺寸,得到對應的LR圖像。樣本可表示為,其中分別代表LR圖像和HR圖像,P代表圖像對的數(shù)目。把每一張HR圖像由k1×k2大小的滑動窗口分割成m×n個圖像塊,k1、k2分別表示為滑動窗口的長度和寬度,m、n分別代表沿滑動窗口橫向和縱向的圖像塊的數(shù)量。為了去除HR圖像特征之間相關性,降低冗余,每個HR圖像塊進行去均值操作后轉(zhuǎn)換為矩陣形式,第i個HR圖像可以表示為:
樣本集中所有HR圖像轉(zhuǎn)換成矩陣形式可以表示為:
與HR圖像對應的LR圖像轉(zhuǎn)換成矩陣形式可以表示為:
利用PCANet模型提取圖像深度學習特征主要分為以下三個階段:
提取深度學習特征的第一階段是通過核函數(shù)構造新樣本集的過程,將樣本集SRL,H={xl,xh}由一個非線性映射φ(?)映射至高維空間,其中φ(?)指高斯內(nèi)核函數(shù),其表達式為所以新樣本集可以表示為,其中
第二階段主要是過濾和卷積的過程,假設第i層中所需的濾波器的數(shù)量為L1,根據(jù)公式(4)對輸入的數(shù)據(jù)矩陣通過最小化重構誤差獲得PCANet濾波器:
通過提取對應于協(xié)方差矩陣Xh的最大特征值所對應的特征向量,由式(5)計算得到PCANet模型的濾波器矩陣PW。
圖1 算法流程圖
每個訓練圖像的主要信息可以通過第一個PCANet濾波器保存,并且可以通過公式(6)計算得到:
第三階段也是卷積和過濾的過程,把上層輸出結果作為本層的輸入,對該層進行和上層一樣的操作得到:
上述兩個階段中第一層中有L1個濾波器,第二層中有L2個濾波器。因此,對于每個訓練圖像,L1×L2特征矩陣用作輸出,用公式(8)表示:
在輸出層,對輸出結果執(zhí)行二值化哈希編碼,得到最終的特征輸出。其中T表示PCANet的中間特征提取結果,H(?)是可以增加每個特征的差異的階躍函數(shù),2h′-1是將每個像素值更改為0~255之間數(shù)字的系數(shù)。
利用PCANet算法提取圖像深度學習特征時,為了使其第一層和第二層的提取結果更加具有稀疏性,分別對兩層輸出的圖像特征進行稀疏優(yōu)化。目的是找出最佳投影系數(shù)矩陣A。假設有P個訓練圖像樣本,其數(shù)據(jù)矩陣其投影系數(shù)矩陣A=可以通過以下函數(shù)計算得到:
其中,U∈Pm×Pl和V∈Pn×Pr分別是左乘投影矩陣和右乘投影矩陣。最佳左、右投影矩陣可以通過解決以下目標函數(shù)的最小化問題來解決:
其中,P指樣本數(shù)量,‖‖?F指的是矩陣的Frobenius-范數(shù)。根據(jù)文獻[23]提供的方法可以迭代更新出Uopt和Vopt。
在迭代更新得到Uopt和Vopt后,將成本函數(shù)設為以下形式:
其中,λ是一個常數(shù),對式(12)進行求導可以得到:
即:
其中,I1和I2為單位矩陣。由式(14)進一步得到:
所以得到:
其中vec(A)指的是矩陣A的矢量形式,“?”指的是矩陣的克羅內(nèi)克積。通過迭代更新式(11)和循環(huán)計算式(12)得到的最佳投影矩陣A即為稀疏優(yōu)化后的子空間特征。
LR和HR圖像特征匹配度較低的問題會嚴重影響圖像的重建質(zhì)量,在本文算法的圖像重建過程中,根據(jù)文獻[14]的方法學習一組LR濾波器把上一階段利用PCANet模型提取到的深度學習特征經(jīng)過二值哈希編碼得到的特征圖再分解為多個特征映射,其表達式如下:
在上式中需要解決M和f的優(yōu)化問題,其中M的優(yōu)化問題可以通過文獻[24]提出的方法解決,對于f的優(yōu)化問題可以表示為:
文獻[25]中提出的SA-ADMM算法可以克服在學習過程中由于樣本集過大帶來的存儲器容量不足的問題。因此,可以采用該方法對f進行優(yōu)化。
獲得LR濾波器以后,為了解決映射過程中出現(xiàn)的空間大小不足和特征數(shù)量不一致的問題,需要在LR和HR圖像之間訓練一組映射函數(shù)。即:
式中,k指放大因子;Mhj(kx,ky)是(kx,ky)的特征映射;是(x,y)的特征映射,W是映射函數(shù)g(?)的參數(shù),這里通過一個稀疏線性變換矩陣來估計HR圖像稀疏系數(shù)。
其中e是約束HR濾波器能量的標量。同樣利用SAADMM算法交替更新fh和映射函數(shù)參數(shù)W來優(yōu)化目標函數(shù)。當保持fh不變時,通過求解下式的最優(yōu)解可以得到迭代更新W。
映射函數(shù)確定后,HR特征圖可以由W)估計得到。
通過上述階段得到HR濾波器fh和其對應的特征圖Mh后,對二者進行卷積和得到最終的重建圖像,即:
本文算法具體流程如下:
(1)輸入:訓練圖像樣本集SRL,H={xl,xh},正則化參數(shù)γ,λ。
(2)輸出:超分辨率圖像X。
(3)預處理:將樣本集SRL,H={xl,xh}通過φ(xi,xj)=映射至高維空間,得到新數(shù)據(jù)集
(4)根據(jù)公式(6)、(8)計算得到圖像特征矩陣Ohhi。
(5)稀疏優(yōu)化:根據(jù)公式(11)、(12)、(16)計算得到其最佳投影矩陣A。
(6)對稀疏優(yōu)化后的空間特征進行二值哈希編碼,得到其特征圖。
(7)根據(jù)公式(18)、(21)、(22),利用SA-ADMM算法迭代更新得到fl、fh和映射函數(shù)W。
(8)根據(jù)公式(23)得到最終重建圖像。
本文利用雙三次插值調(diào)整HR圖像的大小來生成LR圖像訓練樣本。使用Yang等[3]提供的相同91個訓練圖像。從這些圖像中隨機裁剪1 000張64×64個較小的圖像用于訓練PCANet模型和濾波器的學習。
測試階段采用三個廣泛使用的基準測試集Set5[26]、Set14[27]和BSD100[28],它們分別包含5幅、14幅和100幅圖像。從這三個數(shù)據(jù)集中隨機抽取60幅圖像進行測試,并且對這60幅圖像通過縮放和旋轉(zhuǎn)的方式擴充測試集。
本文提出具有高斯內(nèi)核函數(shù)的PCANet模型是為了更精確地提取圖像的深層次特征,從而達到更好的圖像重建效果。文獻[8]中提出的ResNet網(wǎng)絡和文獻[7]中提出的VGG網(wǎng)絡均是以深層次網(wǎng)絡提取圖像特征。為了驗證PCANet模型的有效性,將其與ResNet網(wǎng)絡和VGG網(wǎng)絡進行實驗對比分析,對比結果如下:
在BSD100[28]數(shù)據(jù)集中選取兩幅圖像,分別利用PCANet模型、Res Net網(wǎng)絡、VGG網(wǎng)絡提取圖像特征,圖2是提取圖像特征過程中三個模型特征圖可視化后獲得的特征圖和對應的直方圖。
從可視化特征圖中可以看出,ResNet網(wǎng)絡和VGG網(wǎng)絡獲得的特征圖與源圖像差異較大,未能保留源圖像中的紋理和邊緣結構特征。從對應的特征直方圖中可以看出,隨著網(wǎng)絡層數(shù)的增加,ResNet網(wǎng)絡和VGG網(wǎng)絡形成的特征直方圖出現(xiàn)“多峰值”現(xiàn)象,說明形成的特征圖中顏色、邊緣結構等特征分布不均勻,和源圖像相比,差異越來越明顯。從PCANet模型得到的特征圖中,可以清晰地辨識源圖像中的紋理細節(jié)特征。從特征直方圖中也可以觀察出隨著網(wǎng)絡層數(shù)的增加,PCANet模型得到的特征直方圖并未出現(xiàn)“多峰值”現(xiàn)象,且趨于平穩(wěn),證明網(wǎng)絡層數(shù)的增加不會使源圖像的特征造成過多丟失,從而說明利用PCANet模型提取圖像深度學習特征比ResNet網(wǎng)絡和VGG網(wǎng)絡更有效。
除此之外,還利用PCANet模型、ResNet網(wǎng)絡、VGG網(wǎng)絡在Set5[26]、Set14[27]和BSD100[28]三個數(shù)據(jù)集上做定性結果分析。根據(jù)文獻[29]中的方法對三種模型提取到的特征圖像和源圖像進行特征點選取和匹配,三種模型在三個數(shù)據(jù)集上特征點識別率和重復率如表1、圖3所示。
從表1中可以看出,PCANet模型在三個數(shù)據(jù)集上識別率達94.90%,高于ResNet網(wǎng)絡和VGG網(wǎng)絡。從圖3中可以看出,隨著特征點的增多,三種模型的特征點識別重復率均在上升,但是PCANet模型的重復率明顯低于ResNet網(wǎng)絡和VGG網(wǎng)絡,證明在特征提取階段,PCANet模型可以去除相關特征,降低冗余,有利于模型提高模型效率。
線性核函數(shù)、多項式核函數(shù)、高斯核函數(shù)、多層感知核函數(shù)是幾種較為常見的核函數(shù),核函數(shù)可以改變圖像數(shù)據(jù)的特征濃度比,進而產(chǎn)生不同的主成分分析效果。不同核函數(shù)將樣本集映射的高維特征空間也有所不同。高斯函數(shù)具備良好的差值能力,對訓練圖像的局部特征信息的提取能力更強。因此,可以利用高斯函數(shù)來提高算法中的圖像分辨率。圖4是在Set5數(shù)據(jù)集上,各種核函數(shù)的視覺效果對比圖。
圖2 三種模型可視化特征圖及對應直方圖
表1 三種模型在不同數(shù)據(jù)集特征點識別率對比表%
圖3 三種模型特征點重復率對比圖
從視覺效果對比圖中可以看出,其他三種核函數(shù)對圖像輪廓和細節(jié)的增強效果不明顯。這是因為線性函數(shù)的特點是對圖像的線性特征有良好的提取能力,但是對圖像的非線性特征提取能力不足,所以獲得圖像的PSNR值最小,但是其視覺效果較好,這是因為PSNR是評價圖像質(zhì)量最常用的客觀指標之一,它是基于對應像素點之間的誤差,是基于誤差敏感的圖像質(zhì)量評價。在評價圖像質(zhì)量時,由于未考慮人眼的視覺特性(人眼對空間頻率較低的對比差異敏感度較高,對一個區(qū)域的感知結果會受到鄰近區(qū)域的影響),因而會出現(xiàn)評價結果與主觀視覺效果不一致的情況。多項式函數(shù)的特點是可以提取圖像的非線性特征,所以采用多項式核函數(shù)可以獲得比線性函數(shù)稍高的PSNR值,但是該函數(shù)需要設置的參數(shù)較多,導致模型運行時間最長。多感知器函數(shù)需要設置參數(shù)較少,但是該函數(shù)需要加入激活函數(shù)提高其非線性特征的表達能力,所以采用多感知器函數(shù)作為模型的核函數(shù),運行時間比多項式函數(shù)少,PSNR值較低。高斯函數(shù)對圖像特征的表達能力強于其他三種函數(shù),且需要設置的參數(shù)只有一個,所以選擇高斯函數(shù)作為PCANet模型的核函數(shù),不僅運行時間降低,且PSNR值達到最大,對圖像的邊緣和不規(guī)則結構區(qū)域的重構也較為清晰,說明高斯函數(shù)作為核函數(shù)效果最佳。
圖4 各種核函數(shù)視覺效果對比圖(PSNR/Time)
第一個參數(shù)的設置就是PCANet模型中濾波器數(shù)量。處理圖像塊的窗口大小k1=k2=5。對于第一階段網(wǎng)絡,將第一階段L1中的濾波器數(shù)量從5調(diào)整至55。在考慮第二階段時,設置L1=35。并將L2從2調(diào)整至12。結果如圖5所示,可以觀察到,當L1≥35時PCANet模型獲得了最佳性能;當L1=35時,L2=8時,PCANet-2獲得最佳結果。因此PCANet模型中濾波器的數(shù)目設置為L1=35,L2=8。
圖5 L1、L2濾波器數(shù)量對比圖
為了更好地捕捉圖像的稀疏性,提高重建圖像的質(zhì)量,LR和HR濾波器核的尺寸大小和數(shù)目的設置尤為重要。所以設計實驗2,通過改變?yōu)V波器核尺寸大小觀察重建圖像的PSNR值。設計實驗3,實驗3內(nèi)容包括:一是利用三幅測試圖像,首先固定LR濾波器的數(shù)目為600,調(diào)整LR濾波器和HR濾波器之間的數(shù)量比率,觀察均方誤差值,尋找二者之間的最佳數(shù)量比率。二是通過觀察均方誤差值,確定LR濾波器的數(shù)目。
表2 表明,在LR濾波器和HR濾波器的尺寸都為5×5時,重建圖像的PSNR值最大,效果最佳。從圖6和表3得出的數(shù)據(jù)表明,LR濾波器和HR濾波器的數(shù)量比率為1.8時,均方誤差值達到最??;LR濾波器的數(shù)目為1 000時,均方誤差值最小。
表2 濾波器核尺寸對比表(PSNR)dB
圖6 LR與HR濾波器數(shù)目比率圖
表3 LR濾波器數(shù)目對比表(MSE)
對于在濾波器學習階段的正則化參數(shù)λ和γ的確定,將λ的值由0.02變至0.10,將γ的值由15變至120,觀察其重建圖像的PSNR值,由圖7和圖8得出,當λ=0.04,γ=60時,重建圖像的PSNR值最大,效果最佳。
圖7 參數(shù)γ對于PSNR的影響
圖8 參數(shù)λ對于PSNR的影響
為了評價本文算法的性能,用本文算法對測試圖片分別進行2倍、3倍超分辨圖像重建,并且將測試結果與BI算法[2]、ScSR算法[3]、A+算法[4]、DPSR算法[5]、SRCNN算法[6]、VDSR算法[8]進行比較。
在利用核函數(shù)進行重建樣本集時,σ2=4。在濾波器學習階段,能量約束參數(shù)e分別設置為4和9,用于縮放因子2和3。在SR重建階段,LR濾波器數(shù)目和HR濾波器數(shù)目分別設置為1 000、1 800。由表4和表5可以看出,本文算法相比于現(xiàn)有的ScSR算法、SRCNN等算法,平均PSNR值提高了0.21 dB以上,圖9和圖10為本文算法的實際重建效果。
表4 k=2各種算法PSNR值的對比dB
表5 k=3各種算法PSNR值的對比dB
從圖9和圖10中可以看出,BI算法在評價指標峰值信噪比方面效果最差,說明該方法得到的重建圖像不能完整地保留圖像的全部信息。A+算法雖然提升了圖像的峰值信噪比,但是在重建圖像的邊緣結構造成了輕微的模糊現(xiàn)象。SRCNN算法有效提升了圖像的清晰度和圖像邊緣紋理的對比度,但是在圖像的邊緣細節(jié)處產(chǎn)生了偽影。DPSR算法、ScSR算法和VDSR算法整體提升了重建圖像的視覺效果,但是在處理紋理結構更加豐富的圖像(如圖10)時,會造成較為明顯的塊效應。本文算法通過稀疏優(yōu)化圖像的深度特征,對圖像的局部細節(jié)信息表達能力更強,能夠充分保留圖像的邊緣細節(jié)結構,而且重建圖像不存在明顯的偽影和塊效應,使重建圖像的峰值信噪比得到有效提升。
圖9 不同算法在放大因子為2的重建視覺效果比較
圖10 不同算法在放大因子為3的重建視覺效果比較
本實驗在具有Intel i9 9900K 5.0 GHz CPU,顯卡NIADIA RTX 2080Ti以及64 GB RAM上運行的,圖11是在放大因子設置為2的不同算法的運行時間的比較,可以很直觀地看出,本文算法相較于BI算法、A+算法、VDSR算法和SRCNN算法相比,運行時間得到很大提升,DPSR算法在硬件條件相同時耗費時間最長。
圖11 不同算法在放大因子為2的運行時間比較
本文提出的基于PCANet模型的超分辨率圖像重建算法,首先通過PCANet模型提取圖像特征,然后根據(jù)訓練獲得的LR濾波器,HR和LR圖像特征之間的映射函數(shù)估計出HR圖像的特征表示,最后聯(lián)合學習得到的HR濾波器進行卷積求和得到最終的重建圖像。本文算法將重建圖像的PSNR值提高了0.21 dB,有效改善了圖像的視覺效果。后續(xù)將繼續(xù)研究其他用來提取圖像特征的網(wǎng)絡模型,以及設計性能更優(yōu)的網(wǎng)絡結構,重建效果更佳的超分辨率圖像。