馮象初,王 萍,何瑞強
(西安電子科技大學 數(shù)學與統(tǒng)計學院,陜西 西安 710126)
圖像在獲取或處理的過程中,會受到采集設備或傳輸設備的影響,使得部分信息丟失或者毀壞[1-2]。為了解決這一類的退化問題,需要使用圖像修復技術。目前圖像修復主要應用于場景元素的去除、文物藝術品的保護、天文及遙感等領域[3-7],具有重要的學術價值和應用價值。
圖像修復[8-10]主要是利用某種規(guī)則或方法,根據(jù)圖像中已知區(qū)域的信息來推斷缺失區(qū)域內容并將其修復的技術。修復質量在很大程度上取決于對退化過程的掌握和原始圖像先驗信息的了解程度。大多數(shù)圖像修復模型假定已知圖像缺失區(qū)域,但在實際中,圖像缺失區(qū)域也是未知的。由觀測圖出發(fā),對缺失區(qū)域和原始圖像同時進行估計,這類問題稱為盲圖像修復[11-13]。在修復的過程中,不僅要保持圖像結構的連續(xù)性,而且要盡可能達到或接近原始圖像的效果,同時盡量使得修復后的圖像真實自然,修補的痕跡不易被觀察者察覺,符合人們的視覺連貫性。
在無噪聲環(huán)境下的圖像退化[11-15]模型為
(1)
其中,f是原始圖像u的退化圖像,K是線性算子,Λ是圖像中特定像素集標簽,隨機值v是被其他原因退化的像素值。圖像修復的主要目標就是根據(jù)觀測圖像f估計出原始圖像u。像素集標簽Λc表示需要恢復的區(qū)域,在一般情況下假定是已知的。但在實際應用中,修復區(qū)域很難直接獲得。盲修復就是在修復區(qū)域Λc和原始圖像u都是未知的情況下,根據(jù)實際觀測圖像f的部分信息,對原始圖像u進行估計的過程。圖像修復是一個非適定的逆問題,為了解決該問題的非適定性,需要在最小化模型的基礎上增加對原始圖像u和修復區(qū)域Λc適當?shù)恼齽t項。
通過引入二值掩膜O(當i∈Λ時,O等于1;當i∈Λc時,O等于0)將退化模型進行轉化,利用L0范數(shù)及其等價形式對數(shù)據(jù)項和修復區(qū)域進行稀疏性約束,對原始圖像u采用TV[16](Total Variation)約束。根據(jù)修復區(qū)域的不同信息(已知或未知),分別建立了非盲和盲圖像修復模型;利用增廣拉格朗日函數(shù)和博弈理論,建立了數(shù)值求解算法并進行仿真。
基于正則化的圖像修復模型可表示為下面的最優(yōu)化問題:
(2)
為了方便敘述,定義二值掩膜O(當像素屬于Λ時,O等于1,否則等于0),式(1)轉化為
OΛf=OΛ(Ku+ε)=Ku+ε,OΛcf=OΛc(v)=0 。
(3)
假設圖像像素值的動態(tài)范圍為[umin,umax],其中umin=0,umax=1,根據(jù)O建立不同的修復模型。
非盲圖像修復模型(O已知):由于L0范數(shù)在優(yōu)化過程中能夠保留圖像邊緣并具有較好的稀疏性,將L0范數(shù)應用到數(shù)據(jù)項,使得修復的結果圖和原始圖像之間的相似度較高,并且不易出現(xiàn)邊緣模糊的現(xiàn)象。對原始圖像u選用TV[16]進行約束,保證修復后的圖像盡可能的光滑,則修復模型為
(4)
盲圖像修復模型(O未知):盲圖像修復是在原始圖像u和二值掩膜O都是未知的情況下,根據(jù)觀測圖像的部分信息進行修復。在修復的過程中不僅修復出原始圖像,還需要估計出二值掩膜。因此,在模型式(4)的基礎上增加L0范數(shù)對二值掩膜O的約束,以模擬丟失的像素是稀疏的,則盲修復模型為
(5)
其中,λ1和λ2是正參數(shù),0<λ2<1。
式(4)和式(5)都選用了L0范數(shù),為了便于求解,需要將其進一步轉化。
利用引理1[17](Mathematical Program with Equilibrium Constraints,MPEC)對L0范數(shù)進行替換。
引理1對于任給的向量w∈Rn,有以下結論成立:
(6)
其中,〈,〉表示內積;向量v中的元素vi∈[0,1]。v*=1-sign(|w|),是式(6)最小化問題的惟一最優(yōu)解。
根據(jù)引理1,引入輔助變量v,將非盲圖像修復模型式(4)轉化為:
(7)
如果u*是式(4)的全局最優(yōu)解,則(u*,1-sign(|Ku*-f|))是式(7)的全局最優(yōu)解;相反,如果(u*,v*)是式(7)的全局最優(yōu)解,則u*是式(4)的全局最優(yōu)解。雖然式(7)中的帶平衡約束的數(shù)字規(guī)劃(MPEC)問題是在式(4)的基礎上增加L0范數(shù)的維度得到的,但它并沒有產(chǎn)生額外的局部最優(yōu)解。相比于式(4),式(7)是一個非凸非光滑的最小值問題,它的非凸性是由于增加了v⊙|O⊙(Ku-f)|=0的約束而導致的。下面給出模型式(7)的求解方法。
式(7)中的L0范數(shù)不顯式存在,但由于它的非凸非光滑性,很難進行求解。筆者在proximal ADMM[18]算法的基礎上,通過不斷迭代地更新式(7)的增廣拉格朗日函數(shù)中的原始變量和對偶變量得到最優(yōu)解。
首先,引入兩個輔助變量x,y,將式(7)轉化為
(8)
式(8)是關于兩個變量的優(yōu)化問題,且目標函數(shù)是兩塊可分的凸問題。ADMM算法[19]能夠利用目標函數(shù)的可分性,將其分解成幾個子問題。
然后,并行求解每個子問題,提高算法的運行速度。主要解決可分解的凸優(yōu)化問題,在弱條件下的收斂性仍成立。并在實際應用中,ADMM較原始的對偶方法(如對偶下降法,乘子法)收斂速度更快,則式(8)的增廣拉格朗日函數(shù)為
(9)
其中,ξ,ζ,π分別是?u=x,Ku-f=y和v⊙O⊙|y|=0約束的增廣拉格朗日乘子(對偶變量);β>0,是懲罰參數(shù)。ADMM更新是通過固定其他原始變量和對偶變量,每次只優(yōu)化一組變量,對偶變量采用梯度上升法進行更新的。在算法1中,為了方便敘述,將第t次迭代的增廣拉格朗日函數(shù)記為Lt(·)。變量更新時,除了當前變量外,其他原始和對偶變量都保持當前估計值。
算法1具有可分結構的凸優(yōu)化問題式(8)的proximal ADMM。其主要步驟為:
(10)
(11)
(12)
步驟3 更新增廣拉格朗日乘子:
ξt+1=ξt+β(?ut-xt) ,
(13)
ζt+1=ζt+β(Kut-f-yt) ,
(14)
πt+1=πt+β(vt⊙O⊙|yt|) 。
(15)
步驟4 迭代停止條件:如果t>30且‖?ut-xt‖+‖Kut-f-yt‖+‖vt⊙O⊙|yt|‖<1/255。
步驟6 令t=t+1,重復計算步驟1~步驟5。
步驟7 輸出最優(yōu)估計值u。
下面詳細討論式(10)~(12)的求解。
(16)
因此,式(10)的解為
ut+1=min(1,max(0,gt)) 。
(17)
ct=1-O⊙πt⊙|yt|,st=O⊙yt。
通過計算,式(11)的解為
(18)
通過計算,變量x的解為
(19)
qt=Kut-f+ζt/β,wt=O⊙vt+1。
通過計算,變量y的解為
(20)
算法1在實踐中有很好的收斂性,但式(7)是一個非凸的優(yōu)化問題,因此必須加入額外的條件保證其收斂到KKT(Karush-Kuhn-Tucker)點。
下面給出算法1 的收斂性。
定理1算法1的收斂性[17]。
非盲修復模型式(4)利用L0范數(shù)的等價形式,轉化為式(7),其目標函數(shù)是帶有等式約束的兩塊可分的凸問題,可利用算法1求出最優(yōu)解。
算法2非盲修復模型式(4)的求解。其主要步驟為:
步驟1 輸入觀測圖像f;
步驟2 設置初始參數(shù)λ;
盲圖像修復模型式(5):
其中,λ1和λ2是正參數(shù),0<λ2<1。
由于盲圖像修復是關于原始圖像u和二值掩膜O的最小化問題,是兩個不同的目標,而博弈論是分析多個參與者之間決策相互影響的數(shù)學理論,其3個要素為參與者、決策集、目標函數(shù),一個參與者在自己的決策集中確定的決策方案不僅影響到自己的目標函數(shù)值,也影響到其他參與者的決策選擇。因此,假設參與者A修復原始圖像,參與者B估計二值掩膜,A要在所有可能的圖像中找到最優(yōu)的恢復圖像,B要在所有的可能中找到最優(yōu)的缺失區(qū)域信息,在求解過程中,關鍵是雙方目標函數(shù)的選擇。A的目標函數(shù)為
(21)
式(21)的極小值對應恢復的結果圖,O作為參數(shù)。B的目標函數(shù)為
(22)
式(22)的極小值對應缺失區(qū)域的信息,u作為參數(shù)。
式(21)意味著如果給定O,參與者A可以利用能量泛函恢復出干凈圖像u。對B來說,如果有干凈圖像u,則可以利用式(22)得到最優(yōu)的缺失區(qū)域。二值博弈,達到納什均衡點(u*,O*)。因此,利用博弈理論對u和O交替迭代。
由于式(21)中的數(shù)據(jù)項選用了L0范數(shù),使其計算困難。與非盲問題類似,利用引理1,通過引入輔助變量v,將其進一步轉化為
(23)
盡管式(22)中有兩個L0范數(shù),但其解可直接給出,所以保持其形式不變。最終的迭代公式為
盲修復要得到干凈圖像和缺失區(qū)域,這兩個目標相互影響,符合博弈的性質。根據(jù)博弈論將盲修復模型式(5)分解成兩個目標的交替迭代,在此過程中,干凈圖像的估計和非盲修復模型類似,用算法2求得,然后與缺失區(qū)域交替迭代。
算法3盲修復模型式(5)的基于博弈的兩個變量的交替迭代方法。其主要步驟為:
步驟1 輸入觀測圖像f。
步驟2 設置初始參數(shù)λ1和初始估計值O。
步驟3 交替求解子問題:① 給定Ot通過式(23)求解出ut+1;
② 將ut+1代入式(22)求解出Ot+1。
步驟4 迭代停止條件:max|ut+1-ut|<1e-4或max|Ot+1-Ot|=0。
步驟5 令t=t+1,重復計算步驟3~步驟4。
下面詳細敘述式(23)和式(22)的求解。
①u子問題式(23)的求解:
在二值掩膜O給定的情況下,式(23)和非盲圖像修復模型式(7)相似,可根據(jù)算法2求出最優(yōu)的u。
②O子問題式(22)為
因為0<λ2<1,通過計算,式(22)的解為
(24)
如果有干凈圖像u,則可根據(jù)式(24)求出最優(yōu)的O。
在Windows10下,使用8GB內存Inter(R)Core(TM)i5-8250U CPU @1.60Hz 1.80GHZ.PC及MATLAB2018軟件。
該部分主要對上面提出的修復模型進行測試。根據(jù)退化算子是單位算子(單位矩陣)或模糊算子(標準差為0.5,大小為3×3的高斯濾波)、二值掩膜的已知和未知及其不同比例(圖像丟失像素的個數(shù)占整個圖像像素個數(shù)的比例)4種情況進行測試,采用峰值信噪比(Peak Signal to Noise Ratios,PSNR)對修復圖像進行客觀評價。
用隨機生成二值矩陣來模擬圖像的缺失區(qū)域得到退化圖像。在非盲修復中,圖像缺失信息是已知的,修復的過程中用到了缺失區(qū)域的信息;在盲修復中,圖像缺失區(qū)域的信息是未知的,修復時首先任給一個初始的缺失信息,然后通過干凈圖像和缺失區(qū)域的交替迭代得到最優(yōu)解。不失一般性,為了對實驗結果進行對比,采用“l(fā)enna”圖進行仿真。圖1和圖2分別是退化算子為單位算子且像素值缺失40%以及模糊算子和像素值缺失20%的情況下,文中修復算法得到的實驗結果。在主觀條件下,算法2和算法3的恢復效果無明顯差別。
圖1 在單位算子的情況下,“l(fā)enna”圖缺失40%的實驗圖像
圖2 在模糊算子的情況下,“l(fā)enna”圖缺失20%的實驗圖像
下面進行客觀質量評價。當“l(fā)enna”圖缺失不同比例時,兩種算法恢復出結果圖的峰值信噪比值如表1和表2所示。在客觀條件下,當退化算子相同時,算法2比算法3恢復的效果好。當模型相同時,退化算子是模糊算子,相比較單位算子,恢復出原始圖像的效果要好。
表1 退化算子是單位算子時的峰值信噪比
表2 退化算子是模糊算子時的峰值信噪比
不失一般性,對“house”圖像缺失30%且退化算子是模糊算子進行收斂性分析,記錄每次迭代時的目標函數(shù)值,得到圖3。
(a) 非盲修復能量變化
(b) 盲修復能量變化
在非盲修復能量變化圖3(a)中,由于目標函數(shù)的非凸性和拉格朗日乘子的動態(tài)更新(算法1),目標函數(shù)值不一定是單調下降的;在迭代20次之后目標函數(shù)值保持穩(wěn)定,說明非盲修復模型(算法2)是收斂的。在盲修復能量變化圖3(b)中,迭代次數(shù)較少,因為該模型是在非盲修復算法得到較好的結果的基礎上進行的交替迭代,在迭代5次以后目標函數(shù)值基本不變,表明盲修復模型(算法3)是收斂的。
下列的3種修復算法和文中算法類似,是用來解決基于正則化建立的修復模型。采用基于梯度的正則模型,主要區(qū)別是數(shù)據(jù)項或正則項的約束有所不同。① L02TV_AOP[20](The Adaptive Outlier Pursuit):用L2范數(shù)作為數(shù)據(jù)項約束,L0范數(shù)對圖像未知缺失區(qū)域進行稀疏性約束建立的盲修復模型,采用自適應異常點追蹤算法求解。② L1TV_SBM[21](The Split Bregman Method):選用L1范數(shù)對數(shù)據(jù)項約束并用分裂的Bregman方法進行求解。③ L0TV_PDA[22](The Penalty Decomposition Algorithm):采用L0范數(shù)對數(shù)據(jù)項約束并用懲罰分解算法求解。故選擇它們進行實驗結果對比。
由于L02TV_AOP是對盲圖像建立的修復模型,L1TV_SBM和L0TV_PDA是對非盲圖像建立的修復模型,因此對L1TV_SBM和L0TV_PDA模型進行非盲圖像測試,對L02TV_AOP模型進行盲圖像修復測試。實驗中,觀測圖像與文中算法測試的處理方法一致,不失一般性,選用“cameraman”圖進行測試。表3和表4分別是當退化算子是單位算子和模糊算子的情況下的非盲圖像修復的結果,表5和表6分別是當退化算子是單位算子和模糊算子的情況下的盲圖像修復的結果。
表3 退化算子是單位算子的非盲圖像修復結果
表4 退化算子是模糊算子的非盲圖像修復結果
表5 退化算子是單位算子的盲圖像修復結果
表6 退化算子是模糊算子的盲圖像修復結果
通過對比表3~6中的峰值信噪比值可知,無論是盲圖像修復還是非盲圖像修復,當退化算子相同時,算法2或算法3中的模型都比現(xiàn)有修復模型的峰值信噪比值高。在非盲圖像修復的測試中,算法2 在L1TV_SBM和L0TV_PDA上有了很大的改進。L1TV_SBM與L0TV_PDA和算法2相比,L0范數(shù)稀疏性約束比L1范數(shù)約束的結果要好一點。L0TV_PDA與算法2對比,算法2對L0范數(shù)的求解比L0TV_PDA效果好。在盲圖像修復的測試中,由于數(shù)據(jù)項選用了L0范數(shù)的稀疏性先驗,算法3的結果優(yōu)于L02TV_AOP。在相同算法的條件下,模糊算子比單位算子的峰值信噪比值高,恢復的效果較好。
筆者利用L0范數(shù)的稀疏性先驗和L0范數(shù)的等價形式,提出了非盲圖像修復模型和基于博弈的盲圖像修復模型。模型選用L0范數(shù)對數(shù)據(jù)項或正則項進行約束,使得修復后的結果圖與原始圖像盡可能接近,適用于無噪聲圖中缺失區(qū)域已知和未知兩種情況?;谀P偷奶匦?,設計了臨近交替方向乘子(PADMM)算法和基于博弈的交替算法進行求解。通過與現(xiàn)有修復模型進行對比,實驗結果表明所提出的模型在視覺效果和數(shù)值指標上都有較好的結果。
以上主要對無噪聲情形設計了模型和算法,并用數(shù)值實驗驗證了模型的可行性。在以后的研究中,將從理論上討論模型解的性質,進一步探究在此基礎上對含有噪聲的圖像進行修復。