林樂平,周宏敏,歐陽寧*
(1.認知無線電與信息處理省部共建教育部重點實驗室(桂林電子科技大學),廣西桂林 541004;2.桂林電子科技大學信息與通信學院,廣西桂林 541004)
壓縮感知理論[1]是一種新興的信息獲取與信號處理領域的理論,可以充分利用信號中的稀疏性信息,在遠低于奈奎斯特采樣頻率的情況下,從采樣樣本中精確地重建原始信號。壓縮感知理論在信號處理及相關領域引起廣泛關注,并迅速被應用于圖像處理[2-3]、網絡通信[4]、雷達成像[5]等諸多領域。將壓縮感知應用于圖像重建,圖像采樣和壓縮編碼同步完成,直接得到壓縮后的圖像,省去中間處理冗余數據的過程,這對于圖像數據的采集和傳輸有著極大便利和優勢。在分塊壓縮感知框架[6]下,圖像重建計算資源損耗進一步減少。
隨著深度學習的興起,許多基于深度學習的圖像壓縮感知重建方法被相繼提出。非迭代重建網絡(non-iterative Reconstruction Network,ReconNet)[7]是卷積神經網絡在分塊壓縮感知信號重建問題的首次應用;深度殘差重建網絡(Deep Residual Reconstruction Network,DR2-Net)[8]是ReconNet與殘差網絡結構[9]的結合,能學習到更深層次的圖像特征;基于非局部約束的多尺度重建網絡(Multi-scale Reconstruction neural Network with Non-Local constraint,NL-MRN)[10]在每個重建模塊中采用非局部操作,用于增強圖像中點與點之間的約束性,進一步提高了重建效果;拉普拉斯金字塔重建對抗網絡(LAplacian Pyramid Reconstructive Adversarial Network,LAPRAN)[11]在重建端引入拉普拉斯金字塔概念,每個金字塔層將觀測值與上一級輸出的低分辨率圖像進行信息融合,以實現靈活的高分辨率圖像重建;練秋生等[12]提出了一種基于多尺度殘差重建網絡(Multi-Scale Residual reconstruction Network,MSRNet)的壓縮感知方法,網絡中引入多尺度擴張卷積用于提取圖像塊不同尺度的特征;Huang等[13]構建了一種端到端的兩階段網絡,通過網絡學習到采樣矩陣,同時級聯圖像塊重建網絡和塊狀偽影去除網絡。
相對于傳統壓縮感知方法,上述基于深度學習的壓縮感知圖像重建方法在重建速度和重建效果上均有提升,但忽略了結合圖像塊之間的位置信息。針對低采樣率下分塊壓縮感知重建圖像視覺效果不佳的問題,本文提出一種融合空間位置與結構信息的壓縮感知圖像重建方法(compressed sensing image reconstruction method fusing Spatial Location and Structure Information,SLSI),并構建基于該方法的兩支路網絡。網絡通過線性映射得到圖像塊的估計值后,用塊分組重建支路結合圖像結構信息為不同類型的圖像塊分配不同重建資源,為稀疏度高的圖像塊數據分配較少的重建資源,為稀疏度較低的圖像塊數據分配較多的重建資源,進而將圖像塊估計值拼接所得數據輸入全圖重建支路,該支路主要通過雙邊濾波和結構特征交互模塊對相鄰圖像塊像素進行信息交互,以減少低采樣率下重建圖像的空間位置信息丟失,兩支路的加權輸出值為最終重建全圖。
壓縮感知理論的主要思想是:當信號在某已知變換域下具有稀疏性,可以用觀測矩陣將高維的信號投影到低維空間,通過求解優化問題從少量投影數據中重建出原始圖像。相比基于整圖的傳統壓縮觀測,分塊壓縮感知框架的觀測矩陣內存消耗更小以及重建過程的計算更簡單。在分塊壓縮感知框架中,假定原始圖像信號I是一個IW×IH大小的圖像,將其分成L塊大小為的互不重疊圖像塊,圖像塊中總像素數為B。將每個圖像塊轉換成列向量,所有的塊向量組成圖像矩陣X=(x1,x2,…,xL)。所有圖像塊用同一個觀測矩陣Φ∈Rm×B進行獨立觀測,獲得圖像塊的觀測向量集合,Y=ΦX=(y1,y2,…,yL),Y∈Rm×L,m代表圖像塊對應的觀測值元素總數。分塊壓縮感知圖像重建的目標是從觀測向量集合Y中獲得對圖像矩陣X和圖像I的重建估計。
本文構建的兩支路網絡結構如圖1 所示,主要包括線性映射、塊分組重建支路、全圖重建支路、支路融合這四部分。

圖1 網絡結構Fig.1 Network structure
首先,使用線性映射將觀測值升維,得到原始圖像塊的初步估計值;然后,將圖像塊的估計值輸入塊分組重建支路,根據樣本標準差的均值設定閾值進行分組,分組后的數據進入對應的分組重建分支進行增強重建;同時,圖像塊的估計值也被輸入全圖重建支路,將圖像塊的估計值按照分塊順序進行拼接得到拼接后的全圖估計值并開始進行全圖重建;最后,對兩支路的重建結果進行加權融合,得到高質量的重建圖像。另外,觀測值數據是在分塊策略下通過對數字圖像信號進行壓縮觀測得到,以此模擬真實信號的采樣。
線性映射部分由一層全連接和整形操作構成,用于將觀測值Y從低維恢復到采樣前的高維數據。先通過全連接重建得到X∈RB×L的初步圖像矩陣估計),如式(1)所示:

式中:Ffc(·)表示一個全連接層,層中共有B個全連接神經元,Wfc∈RB×m為全連接層權重。為了便于數據的后續處理,對zfc進行整形(reshape)操作得到初步重建圖像塊zinit=,也就是圖像塊的初步估計值,zinit的尺寸為。
塊分組重建支路聚焦于每個圖像塊的重建,主要包括判斷分組和分組重建兩部分。在分塊壓縮感知框架的觀測階段采用相同的觀測矩陣對每個圖像塊進行觀測。圖像的不同區域間結構各異,對圖像進行分塊后,同樣大小的圖像塊之間包含的能量大小不一樣,稀疏度也不一樣[14]。根據圖像塊估計值的數值特性對圖像塊進行判斷分組,以便于對每個組別的圖像塊設置各自的重建策略:為稀疏度高的圖像塊數據分配較少的重建資源,為稀疏度較低的圖像塊數據分配較多的重建資源。
2.2.1 判斷分組
圖像塊的標準差代表像素在塊內的交流功率,可以反映圖像平滑程度,標準差越小,則圖像塊中像素差異越小,圖像越平滑。在一定程度上,圖像塊估計值的標準差也可以反映對應圖像塊的平滑程度。基于此,計算初步重建圖像塊zinit的樣本標準差σi(i=1,2,…,L)和樣本標準差的均值。設定閾值,依據閾值對圖像塊數據進行分組,分為光滑塊、非光滑塊兩組。樣本標準差σi和其均值σˉ通過式(2)得到,其中:zi,j為第i個初步重建圖像塊的第j個像素值,的均值。若滿足條件,則該圖像塊標記為光滑塊;若滿足條件,則該圖像塊標記為非光滑塊。

2.2.2 分組重建
若圖像塊被判斷為光滑塊,則塊中像素灰度值相差不大,可以認為該圖像塊的稀疏度較大,故直接采用該圖像塊對應的初始重建值作為增強重建值,如式(3)所示。若圖像塊被判斷為非光滑塊,則通過非光滑塊殘差分支學習圖像塊初始重建圖像與原始圖像的殘差di,nons,該圖像塊的增強重建值的計算公式如式(4)所示。非光滑塊殘差分支由3 層卷積、2 個結構特征交互模塊、1 個通道注意力模塊(Squeeze-And-Excitation)[15]和1 個3×3 卷積組成。3 層卷積層的第1 層有72 個3×3 卷積核,第2 層有40 個3×3 的卷積核,第3 層有16 個卷積核,每一層后面加激活函數ReLU(Rectified Linear Units)[16]。在非光滑塊殘差分支中,2 個結構特征交互模塊進行了一次遞歸,在保存模型時只需保存一個模塊的參數。遞歸操作是指串聯指定模塊,模塊中對應位置的卷積層之間進行權重共享,進而能在加深網絡深度同時不增加參數[17]。最后,將塊分組重建支路輸出的兩組塊重建圖按順序拼接,得到該支路的全圖重建值Iglout∈RIW×IH。

為了獲取和融合豐富的圖像結構信息,更好地重建圖像的紋理和邊緣,構建結構特征交互模塊,該模塊由結構特征提取和特征融合兩部分組成,如圖2 所示。模塊輸入數據用表示,c為輸入數據的通道數,先對輸入數據v提取結構特征。結構特征提取部分由5 條并行支路和1 個級聯操作(concatenate)[12]組成。5 條并行支路的通道數均為c,第1 條支路采用1×1 的卷積核,第2~5 條支路分別采用空洞率為1、4、6、8 的3×3 空洞卷積[18]。使用級聯操作聚合5 條并行支路輸出的不同尺度特征,得到聚合特征。另外,為使輸出的特征圖尺寸與輸入的特征圖尺寸相同,令結構特征交互模塊中空洞卷積的步長和空洞率保持一致。特征融合部分通過卷積層和跳躍連接[9]逐步融合特征信息,首先對5c張特征圖使用通道注意力模塊[15],使用1×1 卷積將特征圖的數量從5c減少到c,得到交互后的特征,再使用直接映射連接結構特征交互模塊的輸入形成局部殘差結構,連接激活函數ReLU 得到特征vres,如式(5)所示:

圖2 結構特征交互模塊Fig.2 Structure feature fusion module

vres通過通道注意力模塊和c個3×3 卷積核,以再次進行通道和空間的信息交互,得到結構特征交互模塊的輸出。結構特征交互模塊的輸入與輸出數據的尺寸一致,可作為網絡中即插即用的模塊。
在由圖像塊拼接所得的全圖中,相鄰圖像塊之間會有一條細長的縫隙,使得邊界像素值不連續,這影響了圖像的清晰度。在低采樣率情況下,重建圖像塊邊界處的像素值跳變更明顯。塊邊界像素值產生跳變的原因是分塊壓縮感知框架中對全圖進行了非重疊分塊處理,并獨立地進行壓縮觀測和重建,這減弱了原始圖像塊的像素在空間上的相關性。圖像分塊后各圖像塊的稀疏度不一樣,稀疏度大的圖像塊重建質量好,稀疏度小的圖像塊重建質量較差,不同重建效果的圖像塊合成一幅全圖時,塊與塊銜接處的亮度呈偽周期突變。觀察多個圖像會發現圖像像素間具有很強的自相關性,空間鄰近的像素灰度值連續性較大,故考慮在支路中利用相鄰圖像塊之間的空域相關性,對相鄰圖像塊之間的像素進行信息交互。雙邊濾波[19]屬于空域上的濾波,能夠將圖像的空間信息與像素值結合在一起,使得圖像塊與圖像塊之間的像素值更連續,并在融合圖像像素的同時保持圖像的邊緣結構特征。與池化和上采樣的聯合操作相比,空洞卷積操作能在不損失精度的同時獲得較大的感受野;與大尺寸卷積核相比,參數量更少。因此全局重建支路中,加入了雙邊濾波操作和空洞卷積操作,以獲得相鄰圖像塊像素間的多種信息交互。
全圖重建支路包括全圖拼接和全圖重建兩部分。全圖拼接將線性映射的輸出按照分塊順序進行逐塊拼接,得到全圖初始重建圖像Iinit∈R1×1×IW×IH。全圖重建部分對全圖初始重建圖像Iinit進行增強重建。首先將Iinit輸入兩并行分支:一條分支包括一次雙邊濾波操作和兩層卷積層,另一條分支包括兩層卷積層,第一層和第二層都有16個3×3 的卷積核,每一層卷積層后面加ReLU 激活函數;然后,將兩分支的輸出使用級聯操作合成32 張特征圖,把級聯后的32 張特征圖送入1×1 卷積層,進行跨通道交互得到淺層特征Isf∈R1×16×IW×IH,再將Isf送入結構特征交互模塊,得到信息交互后的全圖特征Idff∈R1×16×IW×IH;最后,通過3×3 卷積得到全圖重建支路輸出值Igout∈RIW×IH。為了減少參數值,全圖重建部分兩分支中對應的兩層3×3的卷積層間共享參數。
支路加權融合使用了像素融合方式,操作簡單,融合速度快,同時設置非固定的權值用于進行兩分支圖像的融合。不同采樣率情況下的兩支路所得圖像輸出重要性不一致。在低采樣率的情況下,觀測值中所含信息少,且各塊之間的重建獨立,故塊分組重建支路的拼接所得全圖中易出現不同程度的偽周期的像素跳變,而這時全圖重建支路融合了圖像的空間位置信息,所得輸出更接近原始全圖。為降低融合圖像塊邊界像素間跳變程度,全圖重建支路的輸出應具有更大權值。相反地,在采樣率較高的情況下,觀測值中所包含的圖像信息較多,應更側重于塊分組重建支路的重建,該支路的輸出應具有更大權值,若此時分配給全圖重建支路的輸出以大權值,由于全圖重建支路中的雙邊濾波操作將對圖像進行平滑處理,反而會使得圖像重建精度降低。
因此,采用自適應的加權融合策略,使得不同采樣率下的圖像融合都有較好的重建效果。對塊分組重建支路輸出Iglout與全圖重建支路輸出Igout進行加權平均得到網絡最終重建全圖I?,如式(6)所示:

式中:wSR為自適應權值,且有wSR=w×SR,SR為采樣率(sampling rate),SR=m/B,w為自適應加權參數。圖像的采樣率SR在(0,0.5]內取值,因此w的取值范圍為(1,2],在w取中間值時,各采樣率下兩支路輸出圖像的融合效果均較好,本文中w取1.6。
本文以自然圖像數據為重建對象,訓練集共有291 張圖像,采用公開的T91(Timeofte dataset)數據集[10]和BSD200-train(Berkeley Segmentation Datasets)數據集[20]中的圖像作為訓練數據。BSD200-train 數據集是伯克利大學計算機視覺團隊提供的BSD500 中的訓練集。將訓練集中的圖像從RGB顏色空間變換到YCrCb 顏色空間,并對圖像依次不重疊地從左到右和從上到下進行滑動取塊,所得圖像塊大小為16×16,這些圖像塊的亮度分量構成了訓練集的標簽。若圖像的行值和列值不能整除,則在圖像的右邊和下邊補零,使得補零后的圖像能剛好在滑動取塊時被完整分割完。將16×16的圖像塊拉為256×1 維的向量,并歸一化到[0,1]。所有的塊向量組成圖像矩陣X,使用隨機高斯矩陣作為觀測矩陣Φ對圖像塊矩陣X進行采樣,得到觀測值矩陣Y。本文采用5種不同的采樣率對圖像塊進行采樣,分別是0.01、0.04、0.05、0.10、0.15。每一個圖像塊有256 個像素,所以對應觀測值yi中的測量數m分別是3、11、13、26、38。所使用的損失函數為均方誤差,具體損失函數如式(7)所示:

其中:代表塊分組重建支路中第i個圖像塊的重建值,I代表原始圖像,I?代表網絡的最終重建圖。
訓練和測試的操作系統為Windows 10 系統,圖形處理器(Graphics Processing Unit,GPU)型號為GTX1080Ti。使用Python3.6 和Pytorch 深度學習開源框架訓練,訓練過程的優化器選用 Adam[21]。采用Pytorch 框架中的ReduceLROnPlateau 方法自適應調整學習率,初始學習率為0.001,當損失值超過30 個epoch 后不下降時,學習率衰減為原來的1/10,當學習率低至1×10-6時,學習率不再變化,最大迭代周期為500 epoch。通過自適應調整學習率,網絡在加速收斂的同時能提高重建精度。在網絡參數的初始化方面,全連接層使用均值為0、方差為1 的高斯矩陣作為初始化權重,所有卷積采用Pytorch 框架中默認的He_uniform 均勻分布[22]初始化方式。
訓練完成后采用壓縮感知領域常用的6 幅測試圖像[10]和標準測試數據集Set11[12]進行測試。實驗中的6 幅測試圖像如圖3 所示。

圖3 實驗中采用的6張測試圖像Fig.3 Six test images used in experiments
為了具體分析本文方法的重建性能,將提出的重建方法與已有的六種方法進行比較,包括基于增廣拉格朗日乘子的全變分正則化方法TVAL3(Total Variation Augmented Lagrangian ALternating-direction ALgorithm)[23]、基于去噪的近似消息傳遞(Denoising-based Approximate Message Passing,D-AMP)法[24]兩種基于迭代優化的傳統壓縮感知圖像重建方法,以及基于深度學習的神經網絡ReconNet、NL-MRN、DR2-Net 和MSRNet。TVAL3、D-AMP、ReconNet 和NL-MRN 使用文獻[10]提供的結果,DR2-Net 和MSRNet 使用文獻[12]提供的結果。實驗從主觀視覺效果和重建圖像的圖像質量量化指標兩方面對不同重建方法的重建性能進行比較分析。圖像質量量化指標選用峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)和結構相似度(Structural SIMilarity index,SSIM)。
1)重建圖像主觀視覺效果比較。
本文方法與TVAL3、D-AMP、ReconNet 和NL-MRN 這四種方法的重建圖像視覺效果比較如圖4、5 所示,分別選擇了Boats 圖和House 圖作為測試重建圖。
圖4 是采樣率為0.10 時各方法對圖像Boats 的重建對比,Boats 圖細節紋理豐富。從圖4 中的重建圖像以及它們的圖像的局部放大圖的對比可以看出,本文方法獲得的重建圖像與對比方法的重建圖像相比較,重建圖像有更豐富的細節,能夠較好地保持原圖的整體結構。在Boats 圖的局部放大圖像中,遠處船體的桅桿重建得更清晰,相鄰圖像分塊邊界像素值也更趨于相同。
圖5 是在采樣率為0.05 時的不同重建方法對圖像House重建對比,House 圖中的紋理區和光滑區分割明顯。在圖5(b)~(d)的局部放大的圖像中可以觀察到,圖像相鄰塊中有深淺不一的格狀痕跡,相鄰的圖像塊之間有一條細長的縫隙,使得邊界不連續。圖5(e)中對應的重建的圖像為本文方法所重建的圖像,可以看出圖像中沒有明顯的格狀痕跡,光滑區域更平滑,邊緣和曲線結構更連貫。從圖4 和圖5 中可以看出,本文方法的重建圖像具有更優的視覺效果。

圖4 采樣率為0.10時不同方法重建結果對比Fig.4 Reconstruction result comparison of different methods with sampling rate of 0.10

圖5 采樣率為0.05時不同方法重建結果對比Fig.5 Reconstruction result comparison of different methods with sampling rate of 0.05
2)圖像質量量化指標比較。
為了更客觀地將本文方法與其他方法相比較,給出了圖3 中6 張測試重建圖像不同采樣率對應的PSNR 折線圖和SSIM 折線圖,如圖6、7 所示;同時給出了不同方法在不同數據集下具體的PSNR 均值和SSIM 均值,如表1 和表2 所示,最好的結果以粗體突出顯示。

圖6 不同采樣率下各方法的6張測試圖像的PSNR折線圖Fig.6 PSNR line charts of 6 test images of each method at different sampling rates

圖7 不同采樣率下各方法的6張測試圖像的SSIM折線圖Fig.7 SSIM line charts of 6 test images of each method at different sampling rates

表1 各方法在6張測試圖像上的PSNR均值和SSIM均值Tab.1 Comparison of average PSNR and average SSIM among different methods on 6 test images
在圖6、7 中,不同方法所對應的重建圖像的PSNR值和SSIM值由折線圖的形式展示,橫坐標為采樣率。重建圖像PSNR值和SSIM值越高,則代表圖像重建質量越高。可以發現本文方法在各個采樣率下都在對比方法對應的折線之上,這表明在本文方法在各個采樣率所對應的圖像重建值均比對比方法的高。從圖6、7 中可以發現,采樣率越低,重建圖像對應PSNR值和SSIM值越低,這是因為采樣率越低,觀測數據也將減少,所用于重建的信息也越少。由于本文方法中的全圖重建支路融合了相鄰圖像塊間像素的相關性,相當于增加了可用重建信息,因此能在低采樣率的情況下得到比其他方法更高的PSNR值和SSIM值。
表1 展示了不同方法在圖3 中的6 張測試圖對應所得重建圖PSNR 均值和SSIM 均值。由表1 可知,本文方法在4 種采樣率下的重建圖像的PSNR 均值和SSIM 均值高于傳統的基于迭代的TVAL3 和D-AMP 方法,也高于目前的基于深度學習的ReconNet、NL-MRN 方法,如在采樣率為0.05 的情況下,所提方法對應的PSNR 均值和SSIM 均值在圖3 所示圖像上分別平均提升了2.617 5 dB 和0.105 3。
表2 展示了不同方法在標準測試數據集Set11 下所得重建圖的SSIM值。

表2 各方法在Set11數據集上的平均SSIMTab.2 Comparison of average SSIM of different methods on Set11 dataset
由表2 可知,本文方法在3 種采樣率下的重建圖像SSIM值均高于對比方法。表1 和表2 的結果證明了本文方法在提升圖像重建質量方面的有效性。
為了探究各支路對本文方法的影響,分別設計兩個網絡SLSI-gl 和SLSI-g 進行消融實驗。以塊分組重建支路為主,移除SLSI 網絡中的全圖重建支路,從而構成網絡SLSI-gl。相對應地,以全圖重建支路為主,移除SLSI 網絡中的塊分組重建支路,從而構成網絡SLSI-g。對SLSI-gl、SLSI-g、SLSI 這三個網絡使用相同的訓練策略進行模型訓練,并用圖3 所示的6 幅測試圖像進行重建測試,實驗結果如圖8~9 所示。
圖8 對應采樣率為0.01 時三個網絡在500 次迭代中的訓練結果。橫坐標為迭代次數,縱坐標為6 張測試圖像對應的PSNR 均值,曲線代表了PSNR 均值隨迭代次數增長的變化情況。

圖8 消融實驗在采樣率為0.01下的訓練結果Fig.8 Training results of ablation experiment at sampling rate of 0.01
觀察圖8 中的曲線變化,分析三個網絡的收斂情況。當迭代次數較小時,隨迭代次數增加,網絡對應的PSNR 均值逐步提升,這表明該網絡逐漸收斂。然后,網絡對應的曲線趨向水平,這表明訓練過程逐漸穩定,達到收斂狀態。從圖8 中的三條曲線對比可以看到,SLSI 所對應的帶五邊形符號標記的實折線最先達到水平狀態,SLSI-g、SLSI-gl 次之,這表明網絡SLSI 的訓練收斂速度最快。另外,當三個網絡訓練收斂后,SLSI 網絡對應的PSNR 均值最高。結合塊分組重建支路和全圖重建支路的網絡,和僅使用一條支路相比,在收斂速度和訓練性能上的結果更優。
圖9 展示了原圖和采樣率為0.01 下SLSI-gl、SLSI-g、SLSI網絡對應的Peppers 重建圖像。圖9(b)中圖像塊的像素值趨向于統一,較難分辨出圖像的曲線邊緣;圖9(c)上能看到圖像的大致輪廓,但圖像中有較多的白點;圖9(d)中圖像的重建輪廓最清晰。通過圖9(b)~(d)的重建圖與圖9(a)的原圖進行對比,可以發現圖9(d)的重建效果最好。
通過消融實驗可以發現:在同等條件下,移除了兩支路中的任一條支路,都會使得重建網絡的重建精度降低,圖像重建視覺效果變差。SLSI 的圖像重建效果最優,一方面是融合兩支路增加了網絡參數,網絡擬合能力更強;另一方面是塊分組重建支路和全圖重建支路所得結果可以進行互補,進而提高了整體的重建效果。
綜上,SLSI 能夠有效地重建出圖像的細節,減少低采樣率下重建圖像的空間位置信息丟失,相比TVAL3、D-AMP、ReconNet、NL-MRN、DR2-Net、MSRNet 這6 種方法,能夠獲得更高的PSNR值和SSIM值,更好的視覺效果。
本文提出了一種在分塊壓縮感知框架下融合空間位置與圖像結構信息的壓縮感知圖像重建方法。一方面為稀疏度不同的塊設置不同的增強重建策略以降低計算量,另一方面在重建過程中建立了分塊圖像間的位置聯系,在一定程度上彌補了由分塊采樣帶來的空間位置信息損失。實驗結果表明,在低采樣率的情況下,相較于常規的圖像分塊重建方法,所提方法對應的重建圖像的視覺效果更好,所得PSNR值和SSIM值更高。本文方法在低采樣率下也能通過少數觀測值恢復圖像的輪廓,適用于資源受限且目標是對圖像的高層次理解的場景。