王文科, 曹勝芳, 胡紅萍
(中北大學 理學院, 山西 太原 030051)
壓縮感知(Compressed Sensing, CS)是近年來出現(xiàn)的一種信號采樣的新理論, 首先, 對信號進行稀疏表示, 然后, 對稀疏后的信號進行降維, 最后, 通過重構算法對信號進行恢復. 目前, CS已運用到矩陣信號處理、 無線信號通信、 成像、 生物醫(yī)學傳感、 生理信息采集等領域. 基于CS的無線傳感器網(wǎng)絡可以同時完成數(shù)據(jù)采樣和數(shù)據(jù)壓縮, 大大降低了網(wǎng)絡數(shù)據(jù)的傳輸量和能耗. Jiang等[1]提出了一種基于CS的動態(tài)重傳算法 以保證高數(shù)據(jù)重構精度、 高網(wǎng)絡壽命和高能量利用率. 為了克服導波檢測數(shù)據(jù)量大的問題, 保持缺陷識別的準確性, Wang等[2]提出了一種用于導波檢測的壓縮傳感方法, 取得了很好的效果.
當前, 已有許多學者加入到研究CS圖像重構的行列中. CS是一種快速磁共振成像(Magnetic Resonance Imaging, MRI)的有效方法. 為了提高重建精度和計算速度, Shohei等[3]提出了一種基于CS的深度學習結構. MR圖像重建實驗表明, 該方法顯著加快了重建時間, 圖像質量與傳統(tǒng)迭代重建相當. 對于傳統(tǒng)的高光譜成像技術, 需要獲得大量的高光譜圖像(Hyperspectral Image, HSI), 具有數(shù)百個光譜波段, 導致數(shù)據(jù)采集、 傳輸和存儲成本高, W等[4]利用CS提出了一種新的基于上下文的壓縮感知(Context-Aware-CS, CACS)方法, 實驗結果表明, 該方法優(yōu)于現(xiàn)有的一些高光譜壓縮成像方法. Deng等[5]提出了一種基于CS的迭代貪婪重構算法, 由正交匹配追蹤和子空間追蹤算法估計的支持集的交集首先被設置為初始候選支持, 然后, 通過貪婪算法的回退和校正, 利用CS進行圖像重構. 電阻斷層掃描是一種用于過程監(jiān)控和測量的傳感技術, 需要快速準確的圖像重構. Zhang等[6]提出了一種改進的正交匹配追蹤(Orthogonal Matching Pursuit, OMP)算法, 基于經(jīng)典OMP算法, 通過增加一個連續(xù)約束來防止局部最優(yōu)解和自適應過程, 該算法基于測量的信息熵尋找最優(yōu)迭代次數(shù), 使其適用于電阻斷層掃描逆問題. 裴廷睿[7]提出了迂回式匹配追蹤(Detouring Matching Pursuit, DMP)算法, 實驗結果表明, DMP算法計算復雜度較低、 重構精度高、 對傳感器矩陣列相關性要求低, 在信號重構精度方面具有明顯優(yōu)勢.
本文主要基于離散余弦變換[8](Discrete Cosine Transform, DCT), 使用DMP算法, 解決了傳統(tǒng)的基于OMP算法、 BP算法等重構圖像計算度復雜, 重構準確率低等問題. 該算法的主要思想是, 先對圖像進行分塊DCT變換, 然后, 對變換后圖像信號再進行分塊操作, 變?yōu)楹芏嗟牧邢蛄烤仃嚕?采用DMP算法進行重構實驗. 實驗結果表明, 基于分塊 DMP算法的圖像重構效果相比傳統(tǒng)的基于OMP, BP算法都有較大的提升.
CS通過有限數(shù)量的線性泛函觀測感興趣的未知信號. 這些觀測值可被視為相對于給定線性變換T的信號頻譜的不完整部分, 因此, 常規(guī)線性重構/合成(例如, 逆變換)通常不能重構信號. 例如, 當T是傅里葉變換時, CS考慮的情況是, 可用采樣頻率遠小于奈奎斯特-香農(nóng)采樣理論所需的最高頻率. 通常假設信號可以相對于不同的相關基(例如, 小波)稀疏地表示, 或者, 它屬于特定的函數(shù)類(例如, 分段常數(shù)函數(shù)). 眾多的實驗結果表明, 在這種假設下, 未知信號的穩(wěn)定重建是可能的, 并且在某些情況下重建是精確的[9 -11]. 若x為長度N的一維信號, 稀疏度為K,A為M×N的二維矩陣(M y=Φx=Φψs=Θs, (1) Θ=Φψ, (2) 式中:Θ稱為傳感矩陣, 求出s的逼近值s′, 則原始信號x′=ψs′. 在CS圖像重構研究中, Gan等[15]最先提出了圖像分塊壓縮感知(Block Compressed Sensing, BCS)思想. 基于BCS理論的主要操作是將原始圖像分割成許多大小相同的小圖像塊, 并對這些小圖像塊使用相同的觀測矩陣. 同時, 這些圖像塊在圖像信號重建端被重建以組合整個圖像. 圖像x, 像素N=Ir×Ic的圖像分為很多個B×B大小的圖像塊.用xi表示第i個圖像塊,i=1,2,…,n,n=N/B2, 將分塊之后的圖像, 采用相同的測量矩陣ΦB, 對各個子塊xi進行測量, 得到測量值 yi=ΦBxi. (3) 這種分塊處理方式相當于對整個圖像使用等價的采樣矩陣 (4) 整個圖像觀測值 (5) 各個恢復圖像塊 (6) 相對于原來的CS方法, BCS分塊后測量矩陣ΦB的尺寸會變小, 這不僅使離散余弦變換后的信號更加稀疏, 還減少了存儲測量矩陣所用的空間, 計算復雜度降低, 大大提高了圖像的重構速度. 從觀測矩陣y恢復稀疏信號的問題可以表述為一個L0問題 (7) 該問題被證明是一個NP問題, 通常將其轉化為一個L1問題 (8) OMP是一種最簡單有效的貪婪重構算法, 它加入與當前殘差相關性最大的列向量Φi到子矩陣Φs, 并更新假定支撐集. 由于OMP沒有對假定支撐集進行修正, 使得OMP可重構的稀疏信號的稀疏度范圍受限. 后來提出的壓縮抽樣匹配追蹤(Compressive Sampling Matching Pursuit, CoSaMP)[16]算法, 通過擴增縮減的方法, 修訂假定支撐集, 可以使重構準確率高于OMP算法. DMP算法主要步驟如下: 步驟2: 得到一個原始的假定支撐集S (9) 步驟3: 逐個縮減支撐集元素 (10) 步驟4: 逐個擴增支撐集元素 (11) 步驟5: 循環(huán)步驟3和步驟4, 直至滿足設定條件, 跳出循環(huán), 輸出正確的支撐集S*和稀疏信號x.其中全集Ω={1,2,…N}, 子集S∈Ω,i∈S表示i在集合S中的位置. 首先, 對原始圖像進行DCT稀疏變換; 其次, 將變換后的稀疏圖像信號均勻分塊, 將每個子塊圖像數(shù)據(jù)轉換成列矩陣, 使用相同的觀測矩陣觀測采樣這些圖像子塊, 并將采樣得到的信號轉換成列矩陣, 再利用DMP算法循環(huán)重構每個小圖像塊對應的列矩陣, 將重構信號進行DCT逆變換, 得到重構圖像; 最后, 采用3×3的窗口模板對重構圖像進行均值濾波,實現(xiàn)平滑去噪. 由此, 建立了基于BCS和DMP的圖像重構算法, 記為BCS-DMP. 具體算法流程如下: 步驟1: 輸入原始圖像信號, 對原始圖像進行一次中值濾波預處理; 步驟2: 使用DCT變換稀疏信號, 對輸入信號按每個8×8的分塊大小處理, 進行DCT變換, 建立一個8×8的mask矩陣來保留不同數(shù)量和部位的DCT系數(shù), 塊重構得到稀疏信號及稀疏度; 步驟3: 將像素為256×256的圖像均勻分塊處理,設置各分塊圖像si的大小均為16×16, 其中i=1,2…16, 把所分大小為16×16的塊矩陣s轉化為si=256×1的列矩陣; 步驟4: 選取合適的M值,生成M×256維的高斯隨機測量矩陣, 對si進行測量, 得到測量矩陣yi, 其中M=τ×256(M取整),τ為壓縮比; 步驟5: 利用DMP算法對列矩陣進行信號重構, 并把重構信號列矩陣進行保存. 步驟6: 將重構后的列矩陣轉化為塊矩陣并進行DCT逆變換, 直到對所有小塊圖像si壓縮重構完畢,進而重新按照順序組合成整幅圖像, 并對得到的圖像進行均值濾波, 使得到的圖像更加平滑. 本文提出的BCS-DMP算法實現(xiàn)圖像重構的流程圖如圖 1 所示. 圖 1 BCS-DMP圖像重構 采用3種經(jīng)典測試圖像: Camera, Peppers, Boats(圖像大小為256×256像素), 選用配置為 intel(R) Core(TM) i5-7300HQ, 2.50 GHz, 8.00 GB內(nèi)存的計算機, 在Matlab R2019b環(huán)境中進行實驗. 算法重構性能用峰值信噪比(Peak Signal to Noise Ratio, PSNR)衡量, PSNR公式為 (12) (13) 式中:MSE為圖像x和圖像y的均方誤差;H,W分別為圖像的高度和寬度;n為每個像素的比特數(shù), 一般取8. 采用CS_OMP, CS_BP, CS_Bayes, CS_CoSaMP, CS_SP與本文提出的BCS-DMP算法進行對比實驗, 這6種算法都是在基于離散余弦變換的基礎上進行重構. 在壓縮比τ分別為0.2,0.3,0.4,0.5的情況下, 這6種算法的峰值信噪比的比較由表 1 所示. 表 1 在不同壓縮比τ下4種算法的峰值信噪比比較 在表 1 中, 當τ=0.3,0.4,0.5時, 本文提出的BCS-DMP算法重構信噪比均達到最高, 分別為25.48 dB, 26.90 dB, 27.53 dB(Camera), 26.35 dB, 27.82 dB, 28.25 dB(Peppers)和26.63 dB, 28.23 dB, 29.53 dB(Boats). 當τ=0.2 時, CS-BP算法得到Camera和Peppers的峰值信噪比達到最高, 但與本文提出的BCS-DMP算法Camera重構的峰值信噪比相差無幾, 而CS_CoSaMP算法的Boats重構圖像的峰值信噪比達到最大, 但也是較高于BCS-DMP算法. 說明了BCS-DMP算法優(yōu)于CS-OMP, CS-BP, CS-Bayes, CS_CoSaMP和CS_SP算法. CS_CoSaMP算法在壓縮比τ=0.2時可以達到一個較好的峰值信噪比, 隨著壓縮比的提高, 峰值信噪比先降低后升高. 除CS_CoSaMP算法外, 剩下幾種算法的圖像重構的峰值信噪比值隨著壓縮比的不斷提高而不斷增大, 提高了圖像重構質量. 圖 2~圖 4 分別為τ=0.5時, Camera, Peppers, Boats的6種算法的重構圖像. 從圖 2~圖 4 可見, BCS-DMP算法的重構效果最棒, 更接近于原圖像. 圖 2 Camera重構圖像 圖 3 Peppers重構圖像 圖 4 Boats重構圖像 算法處理時間的對比, 在一定程度上反映了算法復雜度的差別, 為了進一步比較不同算法的重構效果, 進行算法運行時間比較的實驗. 如表 2 所示, 當τ=0.5時, 通過6種算法, 分別對Camera, Peppers, Boats進行10次實驗, 取其均值, 得到每組實驗運行所需時間. 由表2中數(shù)據(jù)可知CS_OMP, CS_SP, CS_CoSaMP與BCS-DMP重構時間都較短, 其中CS_SP的重構時間最短, BCS-DMP次之, 但CS_OMP, CS_BP, CS_CoSaMP算法重構效果都不如BCS-DMP算法, CS_BP重構效果僅次于BCS-DMP, 但重構時間是BCS-DMP的5倍~6倍, 進一步說明了本文提出的BCS-DMP算法優(yōu)于其他5種算法, 且BCS-DMP方法不僅降低了計算復雜度, 而且不需要傳輸所有的觀測數(shù)據(jù), 減少了傳感器部分的存儲量, 加快了重構速度, 并且該算法能準確地重構稀疏度更高的稀疏信號. 表 2 算法運行時間比較 針對圖像重構計算度復雜, 重構準確率不高的問題, 本文介紹了一種BCS-DMP算法. 其中, DMP算法采用了先最優(yōu)逐個縮減、 后最優(yōu)逐個擴展假定支撐集的思想, 降低了重構稀疏信號的計算復雜度, 提高了重構精度. BCS可以提高離散余弦變換的稀疏效果, 減少存儲測量矩陣占用的空間. 實驗表明, 本文算法在保證圖像重構精度的基礎上, 縮減了重構所需時間, 具有一定的實用價值.1.2 DMP理論
2 基于DMP和BCS的圖像重構算法
3 實 驗
4 結 論