馬瑞蝦,張榮國,胡 靜,崔紅艷,劉小君
(1.太原科技大學 計算機科學與技術(shù)學院,山西 太原 030024;2.合肥工業(yè)大學 機械工程學院,安徽 合肥 230009)
張量分解技術(shù)因其處理海量數(shù)據(jù)、有效降維、對高階張量的唯一性、抗噪聲魯棒性強、不破壞原始數(shù)據(jù)的空間結(jié)構(gòu)和內(nèi)部潛在信息等優(yōu)點,在圖像處理、機器學習、信號處理及計算機視覺等方面得到了廣泛的應(yīng)用。
在傳統(tǒng)的張量分解中,CP分解能確保分解結(jié)果唯一,而相應(yīng)秩解卻是NP-Hard難題。Tucker分解中核心張量保留了原張量中的關(guān)鍵信息。在多種張量分解框架下,人們根據(jù)不同的張量秩定義提出了許多低秩張量的補全算法。例如基于CP秩[1]、Tucker秩[2]、TT秩[3]、Tubal秩[4]、TR秩[5-6]的算法,但每種秩定義都有其局限性。魯棒張量主成分分析[7]利用多維結(jié)構(gòu)優(yōu)勢對高維數(shù)據(jù)操作,通過求解凸問題實現(xiàn)高概率恢復,彌補了魯棒性主成分分析在張量數(shù)據(jù)矩陣化時的信息損失和性能下降的不足。張量奇異值分解在高維空間上進行奇異值分解,Krylov-SVD[8]奇異值分解是對稀疏矩陣進行降階處理。低秩矩陣恢復中,較大奇異值表示矩陣主要信息,核范數(shù)對較大奇異值懲罰過度,不能很好地近似矩陣秩函數(shù)。目前,基于張量奇異值分解的RTPCA圖像修復模型主要集中使用不同的稀疏約束,對張量核范數(shù)[9]的分析相對較少,不能充分提取數(shù)據(jù)的低秩結(jié)構(gòu),導致結(jié)果不理想。
針對上述問題,該文提出基于截斷核范數(shù)和低秩張量核矩陣的圖像修復算法TNN-LTKM。其核心思想是:(1)用截斷核范數(shù)替換核范數(shù),只極小化對角張量中部分較小的奇異值,對秩函數(shù)精確逼近,以更好地描述矩陣的低秩性,提高模型的魯棒性;(2)重新定義一個新的潛在核范數(shù),在基于t-SVD分解的模型中,從核張量中提取低秩核矩陣,通過增加核心矩陣的核范數(shù)來增強核張量的低秩結(jié)構(gòu);(3)采用增廣拉格朗日法和交替方向乘子法對模型進行優(yōu)化。通過在ZJU、Berkeley和Kodak Lossless 3個數(shù)據(jù)集上與6個已有算法比較表明,文中算法取得了更好的修復精度和計算復雜度。
根據(jù)張量的低秩性,魯棒張量主成分分析模型可以準確地從噪聲稀疏張量中恢復出原始低秩張量。如圖1,在低秩分量的管秩足夠小且稀疏分量足夠稀疏的條件下,可以完全恢復張量數(shù)據(jù)的低秩分量和稀疏分量,該方法用于去除彩色圖像中的噪聲,凸優(yōu)化模型表達式如下:
圖1 受損張量的低秩分量和稀疏分量的分解圖
(1)
張量X∈Rn1×n2×n3的奇異值分解為:
X=U*S*VT
(2)
其中,U∈Rn1×n1×n3、V∈Rn2×n2×n3是正交張量,S∈Rn1×n2×n3是F-對角張量,如圖2所示。
圖2 一個N1×N2×N3的三階張量t-SVD分解圖
式(1)根據(jù)t-SVD計算核范數(shù)時,奇異值均同時最小化,因此無法得到張量L良好的秩估計。最大r非零奇異值取值不影響矩陣秩,該文引入截斷核范數(shù)替代核范數(shù),以提高數(shù)據(jù)恢復精度及計算速度并改善模型魯棒性。設(shè)張量X∈Rn1×n2×n3的SVD為X=U*S*VT,截斷核范數(shù)記作‖X‖r:
A=U(:,1:r,:)T,B=V(:,1:r,:)T
則式(1)轉(zhuǎn)化如下:
(3)
通過分析圖2可知,在t-SVD分解中,核張量F-對角項中仍存在低秩結(jié)構(gòu)。該文利用核矩陣的低秩近似提取核張量中的低秩結(jié)構(gòu)來消除冗余,如圖3。在低秩表示核矩陣過程中,利用奇異值近似低秩核張量中的主要分量。通過增加核矩陣的另一個核范數(shù)重新定義一個新張量核范數(shù),并進一步提取主成分。
圖3 核張量S∈RN1×N2×N3和核矩陣轉(zhuǎn)換
S(1)=[S(:,:,1),S(:,:,2),…,S(:,:,N3)]
(4)
(5)
基于上述分析,可以利用低秩核矩陣逼近求解TNN-LTKM問題。為充分利用核張量S中的低秩結(jié)構(gòu),結(jié)合張量的管秩和核矩陣的秩,重新定義了一個新的張量秩,即:
(6)
(7)
綜上所述,結(jié)合截斷核范數(shù)和改進的低秩張量核矩陣魯棒張量主成分分析,得到如下最優(yōu)化問題:
s.t. X=L+E
(8)
(9)
這樣,最小化中的最大化問題就可以轉(zhuǎn)化為三步迭代過程。截斷核范數(shù)低秩張量核矩陣圖像修復TNN-LTKM算法三步迭代求解公式(8)的詳細流程如下所示。
算法1:TNN-LTKM算法三步迭代求解式(8)
while not do converged do
Step1 L(k)的初始奇異值分解:
[U(k),S(k),V(k)T]=t-SVD(L(k))
Step2 計算A(k)和B(k):
A(k)=U(:,1:r,:)T,B(k)=V(:,1:r,:)T
Step3 計算L(k+1):
達到停止條件或最大迭代次數(shù)
end while
Output:恢復矩陣L*
從算法1的分析可知,步驟3中考慮了截斷核范數(shù)和低秩張量核矩陣。如何有效求解它是非常重要的,但其仍是一個復雜的優(yōu)化問題,簡化模型如下:
(10)
其中,A和B是已知張量,‖L‖、Tr(AXBT)和‖E‖1都是凸函數(shù),因此可以采用增廣拉格朗日和交替方向乘子進行優(yōu)化。
為采用交替方向乘子的方法,將輔助變量W∈Rn1×n2×n3引入式(10),得到如下優(yōu)化問題:
(11)
構(gòu)建增廣Lagrange函數(shù),其優(yōu)化問題表示為:
(12)
其中,Y1和Y2為對偶變量,ρ>0為懲罰因子。由于同時最小化L,E,W,Y1,Y2比較困難,且算法復雜度較高,因此采用交替方向乘子進行簡化。
該文用交替方向乘子法把一個復雜的問題轉(zhuǎn)化為多個子問題求解式(12),即對這三個變量分別進行優(yōu)化。當優(yōu)化其中某一變量時,固定其他變量,會出現(xiàn)以下三個子問題,k表示迭代指標。
(13)
對于式(13),首先最小化核矩陣的核范數(shù),優(yōu)化問題可以表示為:
(14)
其中,λ1為正則化參數(shù),S為M=U*S*VT的核張量,M是臨時變量。然后通過張量積得到一個具有低秩核矩陣的張量Zk+1,即:
(15)
最后,最小化式(15)的張量核范數(shù),即:
(16)
(17)
(18)
(19)
算法2:截斷核范數(shù)低秩張量核矩陣TNN-LTKM算法步驟
輸入:從給定圖像數(shù)據(jù)集中選取一幅圖像
輸出:經(jīng)算法處理后的修復圖像
Step1 while not converged do
Step2 使用算法1計算L(k+1)
Step5 根據(jù)公式(5)更新中間張量Z
Step7 根據(jù)公式(13)(17)~(19)更新L,E,W,Y1,Y2
Step8 收斂條件:‖Lk+1-Lk‖∞≤tol
Step9 end while
實驗均在Windows 10的64位操作系統(tǒng),Intel(R) Core(TM)i5-5200U CPU @ 2.20 GHz,8 GB內(nèi)存環(huán)境下運行。
在ZJU、Kodak和Berkeley三個數(shù)據(jù)集上進行了實驗。ZJU數(shù)據(jù)集中的大多數(shù)自然圖像可看作是一個近似的低秩張量,從觀測數(shù)據(jù)中進行修復。Kodak數(shù)據(jù)集由24張真彩色圖像組成,這些圖像由具有高度色彩相關(guān)性的傳統(tǒng)膠片圖像數(shù)字化而成。Berkeley數(shù)據(jù)集包含300幅自然圖像和地面的真實數(shù)據(jù),每幅圖像都有復雜的背景。將文中算法與6種算法進行對比,包括SVT[10]、SVP[11]、Sp-lp[12]、Sp-lp-new[13]、TNNR-ADMM[14]和LNOP[15]。
實驗采用峰值性噪比(Peak Signal to Noise Ratio,PSNR)、結(jié)構(gòu)相似度(Structure Similarity Index Measure,SSIM)、相對平方誤差(Relative Square Error,RSE)及運行時間(Running Times)這4個指標來評估不同方法下的圖像質(zhì)量。
本節(jié)實驗中,為證明文中算法對RGB圖像核矩陣奇異值的影響,從ZJU和Kodak數(shù)據(jù)集中選擇2幅尺寸大小為256×256×3,從Berkeley數(shù)據(jù)集中選擇1幅256×171×3彩色圖像,對所選圖像執(zhí)行奇異值分解。以圖5中原始圖像(image) (a)(d)(g)為例,圖4顯示了F-對角張量的三個正面切片經(jīng)過文中算法新獲得的奇異值迅速減小。在圖中,奇異值分解后的圖像切片所對應(yīng)的奇異值在開始時非常大,然后迅速下降,越來越趨近于零。核矩陣中占主導地位的奇異值反映了核張量的低秩結(jié)構(gòu)。驗證了新定義的張量核范數(shù)能更充分利用多維數(shù)據(jù)結(jié)構(gòu)信息,提高截斷核范數(shù)的TNN-LTKM的性能。
圖4 奇異值曲線
圖5 不同圖像修復方法分別在ZJU、Kodak、Berkeley數(shù)據(jù)集上的修復圖像
為了直觀展示文中算法圖像修復的效果,本節(jié)從ZJU和Kodak數(shù)據(jù)集中取6幅,從Berkeley數(shù)據(jù)集中取3幅共計9幅圖像進行實驗。實驗中,采樣率設(shè)置為0.4。圖5展示了不同方法在不同數(shù)據(jù)集上的修復情況,表1為PSNR、SSIM、RSE和時間指標的評估結(jié)果。
表1 0.4采樣率下不同方法在三個數(shù)據(jù)集上的PSNR、SSIM、RSE
從圖5結(jié)果可以看出,在采樣率為0.4時,Sp-lp-new中圖像(b)和(h)的修復結(jié)果顯示異常,SVT中圖像(g)和LNOP的修復效果不明顯,TNN-LTKM算法比LNOP、Sp-lp-new和SVT具有更好的細節(jié)修復效果。由表1可知,在峰值性噪比方面,TNN-LTKM比TNNR-ADMM結(jié)果平均提高0.6 dB以上,比SVT、SVP平均提高1 dB以上,比Sp-lp平均提高2 dB以上,比Sp-lp-new平均提高3 dB以上,比LNOP平均提高4 dB以上;在結(jié)構(gòu)相似度方面,TNNR-ADMM中圖像(g)值略高于TNN-LTKM,此外,TNN-LTKM均高于對比算法,且最低提升0.002;在相對平方誤差方面,TNN-LTKM值均高于其他算法,原因是提出的TNN-LTKM比核范數(shù)更好地實現(xiàn)張量的秩逼近。
在運行時間方面,TNN-LTKM和TNNR-ADMM算法的平均速度優(yōu)于SVT、SVP、Sp-lp、Sp-lp-new和LNOP算法。與考慮到最小化截斷核范數(shù)的TNNR-ADMM算法相比,提出的TNN-LTKM算法略慢于TNNR-ADMM算法,但兩種算法的計算時間大致相同。
圖6~圖8為不同算法在不同采樣率下修復圖5中(imgae)(a)(d)(g)的PSNR曲線。從中可以看出,在低采樣率下,TNN-LTKM算法的PSNR值高于其他算法,說明TNN-LTKM算法對一些損壞程度較大的圖像修復效果較好,僅當?shù)陀?.3的采樣率時,圖像(g)中,TNN-LTKM的PSNR值略劣于其他算法,但總體上,TNN-LTKM性能表現(xiàn)的最好也最穩(wěn)定。
圖6 ZJU數(shù)據(jù)集上的評估結(jié)果
圖7 Kodak數(shù)據(jù)集上的評估結(jié)果
圖8 Berkeley數(shù)據(jù)集上的評估結(jié)果
提出的TNN-LTKM圖像修復算法具有更好的修復效果。在張量奇異值分解模型中,充分利用張量低秩結(jié)構(gòu)消除冗余,通過截斷核范數(shù)代替核范數(shù),并增加核心矩陣定義新的核范數(shù),來提高修復精度。綜合實驗圖像質(zhì)量的各項評估指標,表明TNN-LTKM算法在圖像修復方面有顯著改進,優(yōu)于現(xiàn)有的其他圖像修復方法。