仲元紅 周宇杰 張 靜 張晨旭
(重慶大學微電子與通信工程學院 重慶 400044)
壓縮感知(Compressive Sensing, CS)理論[1–3]打破了傳統(tǒng)奈奎斯特采樣定理的約束,不再對采樣頻率提出2倍最高頻率的要求,該理論指出,在信號具有稀疏性的前提下,利用將高維信號映射到低維信號的方式直接實現(xiàn)信號的壓縮和采樣,最后通過非線性優(yōu)化問題的求解就可以實現(xiàn)原始信號的精確重構。壓縮感知理論將壓縮和采樣相結合,自提出后迅速在圖像視頻處理[4]、雷達[5]、醫(yī)學核磁共振[6]等領域成為研究熱點。
重構問題是壓縮感知理論研究的一個重點,主要是通過求解一個NP-Hard問題來實現(xiàn)信號的精確重構,但該問題不存在唯一解,因此,學者針對重構問題的求解展開了大量的研究。多年來,關于壓縮感知重構算法的研究主要分為兩類:傳統(tǒng)的重構算法以及基于深度學習的重構算法。
傳統(tǒng)的重構算法除了較早的非凸優(yōu)化算法[7,8]、貪婪匹配追蹤算法[9–11]、凸優(yōu)化算法[12,13],基于模型的重構算法是最為普遍的一種重構方法。前3種重構算法都是在信號稀疏性的基礎上展開的,但是恢復效果通常不盡如人意?;谀P偷闹貥嬎惴▌t是圍繞信號的先驗信息進行研究,即利用不同的先驗信息來建立不同的重構模型,其重構效果優(yōu)于其他3類算法。針對低秩先驗,Dong等人[14]提出了非局部低秩正則化壓縮感知(Compressive Sensing via Nonlocal Low-rank Regularization, NLR-CS)方法來利用結構化稀疏性,F(xiàn)riedland等人[15]提出了一種用于高階張量CS的統(tǒng)一框架—廣義張量壓縮感知(Generalized Tensor CS, GTCS),該框架在保留了張量數(shù)據(jù)的固有結構的同時,還降低了重構過程的計算復雜度。Zhang等人[16]利用組的概念作為稀疏表示的基本單位,每個組是由具有相似結構的非局部塊組成,在此基礎上建立了一種新穎的基于組的稀疏表示(Group-based Sparse Representation, GSR)。但是,上述算法需要耗時的圖像塊搜索或矩陣反轉操作,明顯增加了計算時間,降低了算法效率。
深度學習在各種高級圖像處理任務中表現(xiàn)出的良好性能,廣泛地受到了各個領域的研究學者的推崇和研究。近年來,有學者提出將深度學習框架應用到壓縮感知領域中來,該想法一經(jīng)提出就得到了許多學者的認同,也研究出了很多優(yōu)秀的深度壓縮感知重構算法[17–22],在一定程度上有效地克服了傳統(tǒng)壓縮感知算法的弊端。
最開始將壓縮感知理論和深度學習相結合的是由Mousavi等人[17]提出的堆疊去噪聲自動編碼器(Stacked Denoising Autoencoder, SDA),它采用無監(jiān)督的方式實現(xiàn)了測量值和真實值之間的端到端映射。非迭代重構網(wǎng)絡(Non-Iterative Reconstruction Network, ReconNet)[18]首次將卷積神經(jīng)網(wǎng)絡使用到壓縮感知中,通過全連接層和卷積層實現(xiàn)圖像的有效重構,但ReconNet仍是采用隨機高斯矩陣作為測量矩陣。在ReconNet的基礎上提出的深度殘差網(wǎng)絡(Deep Residual Reconstruction Network,DR2-Net)[19]結合了ReconNet的結構和殘差的思想,進一步提高了重構圖像的質(zhì)量。與此同時,許多學者也對測量矩陣進行了相關的設計,CSNet(Compressive Sensing Network)[20]不再采用傳統(tǒng)的矩陣采樣的方式,而是利用一層卷積層直接實現(xiàn)信號的采樣。上述提出的網(wǎng)絡雖然都能有效地提高重構圖像的質(zhì)量,但都需要針對不同采樣率的單獨訓練,這極大地增加了訓練成本。因此,Shi等人[21]提出了一種可伸縮的卷積神經(jīng)網(wǎng)絡SCSNet(Scalable Compressive Sensing Network),該網(wǎng)絡僅使用一個模型來實現(xiàn)任意采樣率下的采樣和重構。
將傳統(tǒng)的基于圖像先驗重構算法和深度學習相結合也是深度壓縮感知重構算法的一個研究方向,受迭代收縮閾值算法(Iterative Shrinkage-Thresholding Algorithm, ISTA)的啟發(fā),Zhang等人[22]提出了一個深度重建框架ISTA-Net,該模型將基于先驗信息的圖像重構模型在深度學習的框架下展開,建立了基于深度學習的圖像重構網(wǎng)絡,取得了非常好的效果。在ISTA-Net的基礎上,Zhang等人[23]提出了一個受優(yōu)化思想啟發(fā)的端到端的深度網(wǎng)絡OPINE-Net (OPtimization-INspired Explicable deep network),通過采樣子網(wǎng),初始化子網(wǎng)和重構子網(wǎng)建立完整的重構模型,實現(xiàn)了圖像的有效重構。這類重構算法不僅為壓縮感知理論的發(fā)展提供了理論基礎,而且其重構性能也不亞于基于純深度學習的重構網(wǎng)絡。
ISTA-Net雖然實現(xiàn)了圖像的重構,但其仍存在塊效應等問題,且并未很好地利用圖像的先驗信息。與此同時,考慮到圖像非局部先驗在傳統(tǒng)重構算法中有效提升了圖像的重構質(zhì)量。因此,本文結合稀疏性先驗與非局部先驗,提出了一種新的基于深度學習的圖像重構算法,主要創(chuàng)新點有:(1)提出一個結合稀疏性與非局部自相似性先驗的圖像重構模型;(2)在半二次方分裂框架下展開求解,將重構問題轉化為3個簡單的子優(yōu)化問題;(3)每個子問題的求解都在深度學習的框架下展開,最后聯(lián)合采樣重構建立端到端的可訓練的重構網(wǎng)絡。
壓縮感知中,對于信號x∈RN,其經(jīng)采樣后的測量值y∈RM可以表示為
其中,A∈RM×N表示測量矩陣,且M?N,通常為隨機高斯矩陣。根據(jù)壓縮感知理論,如果信號x滿足稀疏性要求,則可以根據(jù)測量值對原始信號進行精確重構,即可以從等式(1)直接恢復x。但由于測量值y遠遠小于x,因此這是一個不適定的問題。為了求解上述問題,通常通過添加信號固有的先驗信息作為約束,于是建立了優(yōu)化問題
上述重構算法都是基于圖像先驗來建立重構模型,而基于深度學習的重構算法更是使得重構算法的性能得到了進一步的提升,其中,較為突出的基于卷積神經(jīng)網(wǎng)絡的重構算法(CS-Net),用卷積層取代了傳統(tǒng)重構算法中的測量矩陣,完全在深度學習的框架下實現(xiàn)壓縮感知的采樣和重構過程,但CS-Net對每一個采樣率都需要單獨訓練,訓練成本高??缮炜s的圖像重構算法(SCS-Net)實現(xiàn)了任意采樣率下的圖像重構,有效解決了CS-Net存在的問題,但其模型的參數(shù)數(shù)量較大。相比于傳統(tǒng)的重構算法,基于深度學習的重構算法能夠有效地實現(xiàn)圖像的實時重構,提升圖像的重構質(zhì)量。
除了基于深度學習的重構算法,基于迭代收縮閾值算法的深度重構網(wǎng)絡ISTA-Net結合了傳統(tǒng)的圖像先驗和深度學習,提出了一種結構化深層網(wǎng)絡。ISTA-Net是在優(yōu)化算法的基礎上,提出了圖像重構模型
ISTA-Net通過設計結構化深度網(wǎng)絡能夠進一步提升圖像的重構質(zhì)量。受ISTA-Net的啟發(fā),本文通過稀疏先驗和非局部先驗相結合,提出了基于非局部先驗深度圖像重構模型,該模型能夠將多種先驗與深度網(wǎng)絡相結合,實現(xiàn)不同采樣率下的圖像重構質(zhì)量的提升。
根據(jù)對壓縮感知重構算法的大量研究發(fā)現(xiàn),單獨利用稀疏性進行重構時,在采樣率較低的情況下圖像的重構質(zhì)量較差,并且重構算法的性能得不到更好的提升[16]。但在傳統(tǒng)壓縮感知方法中,利用非局部相似性、低秩、組稀疏重構算法能夠更有效地去除圖像塊效應,提升圖像重構性能。深度先驗已被證明能在壓縮感知圖像重構領域取得良好的效果,因此,本文提出一種基于非局部先驗的深度圖像重構網(wǎng)絡,整體結構如圖1所示,分為采樣、初始重構和深度重構網(wǎng)絡,網(wǎng)絡通過將稀疏、非局部先驗和深度網(wǎng)絡相結合進行學習的方式達到提升重構性能的目的,接下來的內(nèi)容將詳細介紹網(wǎng)絡的各個結構。
圖1 本文提出的網(wǎng)絡模型的整體結構
在深度重構網(wǎng)絡中,本文首先結合稀疏先驗和非局部相似性先驗,建立如下優(yōu)化模型
其中,R(x)表 示正則項,即先驗信息,Rl1(x)為L1稀疏正則,Rnon-local(x)為非局部正則。通過對上式進行求解就可以實現(xiàn)圖像的準確重構。但對上式直接求解計算復雜度很高,為了簡化等式的求解,本文利用半二次分裂(Half Quadratic Splitting,HQS)進行求解。
半二次分裂是針對如下的優(yōu)化目標
上述半二次方分裂能夠有效地簡化求解,因此,對于本文的模型,采用半二次方分裂,引入輔助變量b和q,可以將式(7)等價為以下子問題交替求解
式(12)若直接使用數(shù)學求解的方式,存在計算復雜度高且模型性能不高的問題。受到ISTANet深度模型求解的啟發(fā),本文針對上述3個子問題的求解做如下處理:對于x子問題,采用卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network, CNN)實現(xiàn);對b子問題,利用ISTA-Net,通過學習的方式對其進行求解;對q子問題,在可學習的非局部網(wǎng)絡的基礎上進行求解。本文模型的整體網(wǎng)絡結構如圖1所示。接下來本文將對上述3個子問題的網(wǎng)絡結構做詳細的介紹。
3.2.1 x子問題
對x子問題,其表達式為
如圖2所示,x子問題的求解是一個非線性重構過程。利用CNN來實現(xiàn)此功能。該網(wǎng)絡包含5層,其中,除第1層和最后1層以外,中間3層的網(wǎng)絡結構相同。中間層為大小為3× 3的卷積核,每一層輸出為32個通道下的特征圖。第1層是在初始重構輸出上運行的,它具有大小為3× 3的卷積核的32個特征圖,最后1層由大小為3× 3的32通道的單個濾波器組成。
圖2 x子問題的求解模型
3.2.2 b子問題
根據(jù)ISTA-Net的求解思路,存在非線性變換使得
針對上述b子問題的求解過程,其網(wǎng)絡結構如圖3所示。
圖3 b子問題的模型結構
對于b子問題的網(wǎng)絡,其中,每個階段的參數(shù)都是需要訓練來進行優(yōu)化的,其中,卷積層中卷積核的大小設置為3×3,特征圖的通道數(shù)為32,激活函數(shù)選擇ReLU。
3.2.3 q子問題
針對q子問題,本文采用非局部神經(jīng)網(wǎng)絡(Nonlocal Net)[28]的思想進行求解。非局部神經(jīng)網(wǎng)絡是根據(jù)非局部均值方法的原理,實現(xiàn)了將某個位置的響應計算為所有位置的特征的加權總和的非局部運算,q子問題的模型結構如圖4,其非局部模塊的結構如圖5所示。
圖4 q子問題的模型結構
對于q子問題,本文將其視為一個非線性優(yōu)化問題,通過非局部神經(jīng)網(wǎng)絡實現(xiàn)信號的重構過程,該網(wǎng)絡參數(shù)如圖5所示。其中,θ, ψ, δ是 大小為1×1的卷積核,×表示張量乘積。輸入x和輸出z保持相同的維度。
圖5 非局部模塊結構
為了驗證本文提出的網(wǎng)絡的有效性和圖像重構質(zhì)量,本文的訓練集采用與多個主流基于深度學習的重構算法一致的數(shù)據(jù)集91image[16,19],即有91張圖像的數(shù)據(jù)集,本文提取88912個隨機裁剪的圖像塊生成訓練集,每個圖像塊的大小為33×33。對于測試集,本文選擇了3個廣泛使用的基準數(shù)據(jù)集:Set5[29], Set11[16], BSD68[30],分別含有5張、11張和68張灰度圖像。
本文所有實驗均在Intel i7-8700K處理器、3.2 GHz主頻、15.6 GB內(nèi)存的計算下運行,并使用GTX1080Ti GPU 進行加速,操作系統(tǒng)為Ubuntu 16.04發(fā)行版。評價標準采用峰值信噪比(Peak Signal- to-Noise Ratio, PSNR)作為客觀的質(zhì)量評價指標。
在本文中,首先測試了Set11中8張大小為256× 256的常用灰度圖像,如圖6所示
圖6 測試圖像
為了驗證所提網(wǎng)絡的有效性,本文在10%,20%和30%這3個采樣率下,將ReconNet, ISTANet, CSNet和SCSNet 4種算法作為對比算法繼續(xù)了測試。這4種算法均為當前具有代表性的基于深度學習重構算法。ReconNet是較早將卷積神經(jīng)網(wǎng)絡與壓縮感知相結合的圖像重構算法,CSNet是首次將圖像的壓縮和重構聯(lián)合進行訓練,以1層卷積層作為采樣,然后通過設計的重構網(wǎng)絡實現(xiàn)圖像信號的準確重構,是當前的一種優(yōu)秀的端到端重構算法,其重構性能也優(yōu)于當前重構算法。SCSNet則是在CSNet的基礎上提出的可實現(xiàn)多采樣率的圖像重構網(wǎng)絡,其性能較CSNet更優(yōu)。ISTA-Net通過深度展開的方式建立了基于圖像先驗的重構網(wǎng)絡,其性能不亞于當前的基于純深度學習的重構算法。
表1給出了10%, 20%和30% 3種采樣率情況下的各個算法重構圖像的PSNR值。從表1可以看出,本文模型重構圖像的PSNR值相對比SCSNet算法具有相當?shù)慕Y果并略高于SCSNet,明顯高于其他3種對比算法的PSNR值。在采樣率為20%時,本文提出的重構網(wǎng)絡算法的PSNR均超過了其他3種重構算法的結果,分別比Recon-Net, ISTA-Net+,CSNet和SCSNet平均提升7.47 dB, 1.70 dB, 1.98 dB和0.24 dB。也就是說,本文提出的重構網(wǎng)絡性能優(yōu)于當前的基于深度學習的重構算法,是一種高效且準確的圖像重構網(wǎng)絡,在一定程度上實現(xiàn)了圖像信號的有效重構。
表1 不同圖像下各種重構算法的PSNR(dB)對比
為了對模型性能進行更進一步的評估,本文測試了3個數(shù)據(jù)集下的模型重構效果,分別為Set5,Set11和BSD68,這3個數(shù)據(jù)集都是壓縮感知理論中廣泛使用的自然灰度圖像數(shù)據(jù)集。不同數(shù)據(jù)集下的重構結果在表2給出,通過該表可知,在Set11和BSD68數(shù)據(jù)集下,本文的重構網(wǎng)絡的平均PSNR高于其他4種重構算法,在測試的采樣率與數(shù)據(jù)集下本文提出的重構網(wǎng)絡的PSNR與當前主流的重構算法SCSNet相比平均提升了0.18 dB,與CSNet算法相比平均提升了約1.70 dB,與ISTA-Net+算法相比平均提升了約2.09 dB,與ReconNet算法相比平均提升了約5.70 dB。
表2 不同數(shù)據(jù)集下各種重構算法的PSNR(dB)對比
為了更直觀地給出重構圖像的對比結果,圖7給出了在10%的采樣率下,各個對比算法對圖像Parrots和House的重構結果,圖8給出了在20%的采樣率下各個對比算法對圖像Monarch的重構質(zhì)量。從圖中可以看出,ReconNet重構出的圖像整體較為模糊,圖像紋理結構不夠清晰,ISTA-Net+和CSNet能夠有效地重構圖像,但ISTA-Net+存在較強的塊效應。SCSNet的重構效果在CSNet的基礎上得到了進一步的提升,重構圖像具有更高的質(zhì)量。本文提出的算法重構出的圖像相比于上述4種重構算法具有更高的視覺質(zhì)量,圖像紋理更為清晰。綜上所述,本文提出的重構算法是一種有效且準確的重構算法。
圖7 在10%采樣率情況下圖像Parrots和House的重構圖像
圖8 在20%采樣率情況下圖像Monarch的重構圖像
為了更直觀地展示出非局部網(wǎng)絡通過加權融合的不同信息,本文對非局部模塊中的特征圖進行可視化分析。具體操作為提取非局部模塊最后一層的特征權重,做全局平均池化運算后疊加原圖,如圖9所示,顏色相同的區(qū)域即為非局部相似區(qū)域,說明非局部模塊起到了非局部注意的作用,其通過計算各個位置上的相似度,有效提升了模型的效率和重構效果。
圖9 非局部模塊特征圖
為了衡量本文網(wǎng)絡的穩(wěn)定性,圖10(a)給出了在Set11數(shù)據(jù)集下不同采樣率的PSNR迭代變化曲線;圖10(b)給出了在20%采樣率下,本文算法、ISTA-Net+與ReconNet3種算法在本文所采用的訓練集下重新訓練后,在Set11數(shù)據(jù)集下的收斂曲線;圖10(c)給出了在20%采樣率Set11數(shù)據(jù)集下變量b和q的收斂曲線;圖10(d)給出了在20%采樣率訓練時,損失函數(shù)中均方誤差損失和對稱約束損失的收斂曲線。隨著訓練次數(shù)的增加,PSNR值逐漸趨于穩(wěn)定,損失函數(shù)收斂,模型能夠減小重構誤差且滿足對稱約束,說明本文提出的重構算法是一種穩(wěn)定有效的重構算法。
圖10 算法收斂性分析
本文結合圖像先驗信息和深度學習提出了一種基于非局部先驗的深度圖像壓縮感知網(wǎng)絡,該網(wǎng)絡聯(lián)合訓練測量矩陣和重構網(wǎng)絡,本文利用卷積層模擬采樣過程,相比較傳統(tǒng)的采樣方式更利于進行多個圖像塊訓練,利用卷積層和像素洗牌進行初始重構,在深度圖像壓縮感知網(wǎng)絡中結合圖像稀疏先驗和非局部相似性先驗建立對應的數(shù)學模型,然后利用半二次方分裂將其分解為多個子問題,每個子問題都在深度學習的框架下進行求解。本文利用卷積神經(jīng)網(wǎng)絡、ISTA-Net和非局部網(wǎng)絡實現(xiàn)各個子問題的求解,最后聯(lián)合建立了一個完整的端到端的可訓練的圖像壓縮重構模型,本文提出的重構網(wǎng)絡和其他主流的重構算法相比具有較為明顯的質(zhì)量提升,同時整個框架既是可解釋的又保留了良好的數(shù)學特性。未來將基于本文工作,探索在視頻壓縮感知中的應用。