Image Deconvolution with the Half-quadratic Splitting Method
Image Deconvolution with the Half-quadratic Splitting Method
在處理圖像重建或者逆問題的時(shí)候,我們經(jīng)常會(huì)看到一種稱為 Half-quadratic Splitting(HQS)的方法,這是在優(yōu)化領(lǐng)域里非常經(jīng)典的一種方法,之前也斷斷續(xù)續(xù)地找了很多相關(guān)的資料,發(fā)現(xiàn)斯坦福大學(xué)的計(jì)算成像課里某一節(jié) lecture note 把這個(gè)方法在圖像反卷積中的使用介紹地非常詳細(xì)。這篇文章也是基于這個(gè) lecture note 的一個(gè)學(xué)習(xí)筆記。
Image Formation
一般來說,圖像的成像過程可以用下面的式子表示:
b = c ? x + η (1) b = c * x + \eta \tag{1} b=c?x+η(1)
其中, b b b 表示觀察到的模糊圖像, c c c 表示一個(gè)卷積核,可以認(rèn)為是光學(xué)系統(tǒng)的 PSF, η \eta η 表示與信號(hào)無關(guān)的噪聲, x x x 是希望重建出來的清晰圖像。
根據(jù)信號(hào)處理的理論,在空域的卷積相當(dāng)于在頻域的乘積,所以上面的式子可以寫成:
b = F ? 1 { F ( c ) ? F ( x ) } + η (2) b = \mathcal{F}^{-1} \{ \mathcal{F}(c) \cdot \mathcal{F}(x) \} + \eta \tag{2} b=F?1{F(c)?F(x)}+η(2)
不過要注意的是,這個(gè)等價(jià)只有在卷積滿足 circular boundary conditions 時(shí)才成立。
為了后續(xù)的推導(dǎo)方便,這里將卷積運(yùn)算轉(zhuǎn)換成矩陣運(yùn)算,可以得到如下的式子:
b = c ? x ? b = C x (3) b = c * x \Leftrightarrow \mathbf{b} = \mathbf{C} \mathbf{x} \tag{3} b=c?x?b=Cx(3)
Inverse Filtering and Wiener Deconvolution
在忽略噪聲的情況下,式 (2) 可以表示成:
F ( b ) = F ( c ) ? F ( x ) \mathcal{F} (b) = \mathcal{F}(c) \cdot \mathcal{F}(x) F(b)=F(c)?F(x)
進(jìn)而可以直接算出 x x x:
x ~ i f = F ? 1 { F ( b ) F ( c ) } (4) \tilde{x}_{if} = \mathcal{F}^{-1} \{ \frac{\mathcal{F}(b)}{\mathcal{F}(c)} \} \tag{4} x~if?=F?1{F(c)F(b)?}(4)
上面的 if 就是 inverse filtering 的縮寫,如果已知卷積核的形式,就可以計(jì)算出該卷積核對應(yīng)的傅里葉變換,然后除以觀察圖像的傅里葉變換,從而得到清晰圖像在頻域的值,最后在做一個(gè)反傅里葉變換,得到最終的清晰圖像。
這種方法看起來直觀高效,不過有一個(gè)問題,就是 F ( c ) \mathcal{F}(c) F(c) 的值很小趨近于 0 的時(shí)候,將會(huì)放大觀察圖像中的噪聲,維納濾波通過加入一個(gè)阻尼系數(shù),可以避免這個(gè)問題:
x ~ w f = F ? 1 { ∣ F ( c ) ∣ 2 ∣ F ( c ) ∣ 2 + 1 S N R F ( b ) F ( c ) } (5) \tilde{x}_{wf} = \mathcal{F}^{-1} \left\{ \frac{|\mathcal{F}(c)|^{2}}{|\mathcal{F}(c)|^{2} + \frac{1}{SNR}} \frac{\mathcal{F}(b)}{\mathcal{F}(c)} \right\} \tag{5} x~wf?=F?1{∣F(c)∣2+SNR1?∣F(c)∣2?F(c)F(b)?}(5)
SNR 表示信噪比,如果觀測圖像中沒有噪聲,那么 SNR 會(huì)很高,這種情況下,維納濾波就變成了 inverse filter。
維納濾波相比于直接的逆濾波,可以得到更加合理的反卷積結(jié)果。不過,這類方法面臨的主要問題就是無法利用自然圖像的先驗(yàn)信息,接下來,我們將介紹如何將先驗(yàn)信息與優(yōu)化方法結(jié)合。
Nature Image Priors
首先,我們來看什么是自然圖像先驗(yàn),自然圖像先驗(yàn)一般是一種數(shù)學(xué)模型,告訴我們在自然圖像中,像素的分布更傾向于什么形態(tài),在求解病態(tài)逆問題的時(shí)候,可能存在無數(shù)種解都符合觀測值,而自然圖像先驗(yàn),會(huì)幫助我們挑選那些看起來更合理的解。
自然圖像先驗(yàn)可以對圖像的分布進(jìn)行建模,這里,我們用正則化來表示對圖像的某些性質(zhì),正則化一般對應(yīng)圖像先驗(yàn)的負(fù)對數(shù)。通常的正則化,包括平滑性,稀疏性,稀疏梯度,自相似性等。比如,稀疏性,可以用一階范數(shù)表示為: ∣ x ∣ = ∣ ∑ x i ∣ |\mathbf{x}| = |\sum x_i| ∣x∣=∣∑xi?∣,而平滑性,可以用梯度的二階范數(shù)表示: ∣ Δ x ∣ 2 |\Delta \mathbf{x}|_2 ∣Δx∣2?,不過,在求解圖像復(fù)原的逆問題中,應(yīng)用最廣泛的還是稱為 total variation (TV) 的正則,TV 的建立,是基于下面的觀察,大部分自然圖像,都可以看到很多區(qū)域都是平滑的,只有在不同物體的交界處才會(huì)出現(xiàn)邊界,在同一個(gè)物體的內(nèi)部,可以認(rèn)為像素值區(qū)域平滑或者相似,而在不同物體的邊界處,會(huì)有一個(gè)陡然的變化。
為了對 TV 建模,需要計(jì)算圖像的一階導(dǎo)數(shù),這里,將圖像水平方向的一階導(dǎo)數(shù)表示為 D x x \mathbf{D}_x\mathbf{x} Dx?x,而垂直方向的一階導(dǎo)數(shù)表示為 D y y \mathbf{D}_y\mathbf{y} Dy?y,具體的數(shù)學(xué)形式如下所示:
D x x ? x ? d x , d x = [ 0 0 0 0 ? 1 1 0 0 0 ] \mathbf{D}_x\mathbf{x} \Leftrightarrow \mathbf{x} \ast d_x, \quad d_x = \begin{bmatrix} 0 & 0 & 0\\ 0 & -1 & 1 \\ 0 & 0 & 0 \end{bmatrix} Dx?x?x?dx?,dx?= ?000?0?10?010? ?
D y x ? x ? d y , d y = [ 0 0 0 0 ? 1 0 0 1 0 ] \mathbf{D}_y\mathbf{x} \Leftrightarrow \mathbf{x} \ast d_y, \quad d_y = \begin{bmatrix} 0 & 0 & 0\\ 0 & -1 & 0 \\ 0 & 1 & 0 \end{bmatrix} Dy?x?x?dy?,dy?= ?000?0?11?000? ?
這個(gè)圖像的一階導(dǎo)數(shù),既可以用矩陣直接計(jì)算,也可以用卷積的形式計(jì)算。
圖像的 TV 正則可以表示為圖像梯度的一階范數(shù),TV 正則項(xiàng)有兩種表達(dá)形式,一種稱為各向異性 的 TV,另外一種稱為各向同性的正則,分別如下所示:
- 各向異性的 TV 正則
T V a n i s o t r o p i c ( x ) = ∥ D x x ∥ 1 + ∥ D y x ∥ 1 = ∑ i = 1 N ∣ ( D x x ) i ∣ + ∣ ( D y x ) i ∣ = ∑ i = 1 N ( D x x ) i 2 + ( D y x ) i 2 TV_{anisotropic}(\mathbf{x}) = \left \| \mathbf{D}_x\mathbf{x} \right \|_{1} + \left \| \mathbf{D}_y\mathbf{x} \right \|_{1} = \sum_{i=1}^{N} \left| (\mathbf{D}_x\mathbf{x})_{i} \right| + \left| (\mathbf{D}_y\mathbf{x})_{i} \right| = \sum_{i=1}^{N} \sqrt{(\mathbf{D}_x\mathbf{x})^{2}_{i}}+\sqrt{(\mathbf{D}_y\mathbf{x})^{2}_{i}} TVanisotropic?(x)=∥Dx?x∥1?+∥Dy?x∥1?=i=1∑N?∣(Dx?x)i?∣+∣(Dy?x)i?∣=i=1∑N?(Dx?x)i2??+(Dy?x)i2??
- 各向同性的 TV 正則
T V i s o t r o p i c ( x ) = ∥ D x ∥ 2 , 1 = ∑ i = 1 N ( D x x ) i 2 + ( D y x ) i 2 TV_{isotropic}(\mathbf{x}) = \left \| \mathbf{D}\mathbf{x} \right \|_{2,1} = \sum_{i=1}^{N} \sqrt{(\mathbf{D}_x\mathbf{x})^{2}_{i} + (\mathbf{D}_y\mathbf{x})^{2}_{i}} TVisotropic?(x)=∥Dx∥2,1?=i=1∑N?(Dx?x)i2?+(Dy?x)i2??
這兩種正則的差異,從表達(dá)式中可以看出,對于各向同性來說,每個(gè)像素 i i i 的梯度約束是兩個(gè)方向同時(shí)約束的,而對于各向異性來說,兩個(gè)方向的梯度約束是分開約束的。
Regularized Deconvolution with Half-quadratic Splitting
The Half-quadratic Splitting Method
接下來,我們介紹 HQS 這種優(yōu)化方法,在介紹用這種方法求解圖像復(fù)原的逆問題之前,我們先探討這種方法的一般形式,考慮如下的一個(gè)優(yōu)化問題:
b = A x + η \mathbf{b} = \mathbf{A}\mathbf{x} + \mathbf{\eta} b=Ax+η
其中, x ∈ R N \mathbf{x} \in R^{N} x∈RN 是一個(gè)待求解的向量, b ∈ R M \mathbf{b} \in R^{M} b∈RM 表示一個(gè)觀測向量, η \eta η 表示噪聲, A ∈ R M × N \mathbf{A} \in R^{M \times N} A∈RM×N 表示轉(zhuǎn)換矩陣,這個(gè)問題的一般求解形式如上所示:
min ? x 1 2 ∥ A x ? b ∥ 2 2 + λ Ψ ( x ) \min_{\mathbf{x}} \frac{1}{2} \left \| \mathbf{A}\mathbf{x} - \mathbf{b} \right \|_2^{2} + \lambda \Psi(\mathbf{x}) xmin?21?∥Ax?b∥22?+λΨ(x)
其中,前面的第一項(xiàng)一般稱為數(shù)據(jù)項(xiàng),第二項(xiàng)稱為正則項(xiàng),直接求解上面的式子,有的時(shí)候并不能很好地收斂,一種更為魯棒的求解方式,應(yīng)該是將上面的優(yōu)化函數(shù),改寫成下面這種形式:
min ? x 1 2 ∥ A x ? b ∥ 2 2 + λ Ψ ( z ) subject?to D x ? z = 0 \min_{\mathbf{x}} \frac{1}{2} \left \| \mathbf{A}\mathbf{x} - \mathbf{b} \right \|_2^{2} + \lambda \Psi(\mathbf{z}) \\ \text{subject to} \quad \mathbf{D}\mathbf{x} - \mathbf{z} = 0 xmin?21?∥Ax?b∥22?+λΨ(z)subject?toDx?z=0
這個(gè)優(yōu)化函數(shù)中,引入了一個(gè)中間變量 z \mathbf{z} z,這個(gè)額外的中間變量,可以將上面的優(yōu)化函數(shù)拆成兩部分,一部分是數(shù)據(jù)項(xiàng),另外一部分是正則項(xiàng),這兩項(xiàng)依賴的變量是相互獨(dú)立的, x , z \mathbf{x}, \mathbf{z} x,z 之間靠一個(gè)約束表達(dá)式聯(lián)系,如果將這個(gè)約束項(xiàng)合入優(yōu)化函數(shù),則整個(gè)優(yōu)化函數(shù)可以寫成:
L p ( x , z ) = f ( x ) + g ( z ) + p 2 ∥ D x ? z ∥ 2 2 L_p(\mathbf{x}, \mathbf{z}) = f(\mathbf{x}) + g(\mathbf{z}) + \frac{p}{2} \left \| \mathbf{D}\mathbf{x} - \mathbf{z} \right \|_{2}^{2} Lp?(x,z)=f(x)+g(z)+2p?∥Dx?z∥22?
優(yōu)化函數(shù)寫成這種形式,可以通過相互迭代的方式求解,求解 x \mathbf{x} x 與 求解 z \mathbf{z} z 可以分開進(jìn)行:
x ← p r o x f , p ( z ) = arg?min ? x L p ( x , z ) = arg?min ? x f ( x ) + p 2 ∥ D x ? z ∥ 2 2 (13) \mathbf{x} \gets \mathbf{prox}_{f, p} (\mathbf{z}) = \argmin_{\mathbf{x}} L_p(\mathbf{x}, \mathbf{z}) = \argmin_{\mathbf{x}} f(\mathbf{x}) + \frac{p}{2} \left \| \mathbf{D}\mathbf{x} - \mathbf{z} \right \|_{2}^{2} \tag{13} x←proxf,p?(z)=xargmin?Lp?(x,z)=xargmin?f(x)+2p?∥Dx?z∥22?(13)
z ← p r o x f , p ( D x ) = arg?min ? z L p ( x , z ) = arg?min ? z g ( z ) + p 2 ∥ D x ? z ∥ 2 2 (14) \mathbf{z} \gets \mathbf{prox}_{f, p} (\mathbf{D}\mathbf{x}) = \argmin_{\mathbf{z}} L_p(\mathbf{x}, \mathbf{z}) = \argmin_{\mathbf{z}} g(\mathbf{z}) + \frac{p}{2} \left \| \mathbf{D}\mathbf{x} - \mathbf{z} \right \|_{2}^{2} \tag{14} z←proxf,p?(Dx)=zargmin?Lp?(x,z)=zargmin?g(z)+2p?∥Dx?z∥22?(14)
從上面的求解過程可以看出,當(dāng)我們更新 x \mathbf{x} x 的時(shí)候,只需要考慮 f ( x ) f(\mathbf{x}) f(x),而當(dāng)我們更新 z \mathbf{z} z 的時(shí)候,只需要考慮 g ( z ) g(\mathbf{z}) g(z),而不需要同時(shí)考慮這兩個(gè)函數(shù)。這個(gè)性質(zhì),可以構(gòu)建一個(gè)非常靈活的框架,讓我們可以靈活地與各種正則函數(shù)相結(jié)合。這種方式也被稱為 plug-and-play (即插即用)。
雖然 HQS 可以用于解決各種逆問題,不過我們這里還是討論比較特殊的一種圖像解卷積問題,我們討論一種已知固定卷積核的情況,這樣對應(yīng)的矩陣是一個(gè)循環(huán) Toeplitz 矩陣。先定義如下的關(guān)系:
c ? x = F ? 1 { F ( c ) ? F ( x ) } = C x F ? 1 { F ( c ) ? ? F ( x ) } = C T x F ? 1 { F ( b ) F ( c ) } = C ? 1 x c * x = \mathcal{F}^{-1} \{ \mathcal{F}(c) \cdot \mathcal{F}(x) \} = \mathbf{C}\mathbf{x} \\ \mathcal{F}^{-1} \{ \mathcal{F}(c)^{*} \cdot \mathcal{F}(x) \} = \mathbf{C}^{T}\mathbf{x} \\ \mathcal{F}^{-1} \{ \frac{\mathcal{F}(b)}{\mathcal{F}(c)} \} = \mathbf{C}^{-1}\mathbf{x} c?x=F?1{F(c)?F(x)}=CxF?1{F(c)??F(x)}=CTxF?1{F(c)F(b)?}=C?1x
Standard Form of HQS with TV and Denoising Regularizers
接下來,我們考慮基于 TV 正則的 HQS 的優(yōu)化方法,由上面的表達(dá)式,我們可以將帶 TV 正則的優(yōu)化函數(shù)寫成如下形式:
min ? x 1 2 ∥ C x ? b ∥ 2 2 + λ Ψ ( z ) subject?to D x ? z = 0 \min_{\mathbf{x}} \frac{1}{2} \left \| \mathbf{C}\mathbf{x} - \mathbf{b} \right \|_2^{2} + \lambda \Psi(\mathbf{z}) \\ \text{subject to} \quad \mathbf{D}\mathbf{x} - \mathbf{z} = 0 xmin?21?∥Cx?b∥22?+λΨ(z)subject?toDx?z=0
其中, D = [ D x T , D y T ] ∈ R 2 N × N \mathbf{D} = [\mathbf{D}_{x}^{T}, \mathbf{D}_{y}^{T}] \in R^{2N \times N} D=[DxT?,DyT?]∈R2N×N 表示 x , y x, y x,y 方向的一階導(dǎo)數(shù),這里的 z ∈ R 2 N \mathbf{z} \in R^{2N} z∈R2N 比 x ∈ R N \mathbf{x} \in R^{N} x∈RN 要大一倍,因?yàn)槊總€(gè)像素,有 x , y x, y x,y 兩個(gè)方向的梯度。
對于更為一般的情況,我們可以使用一個(gè)簡單的正則項(xiàng),將待求解的圖像投影到一個(gè)靈活的自然圖像空間中,整個(gè)的 HQS 的形式可以寫成如下所示:
min ? x 1 2 ∥ C x ? b ∥ 2 2 + λ Ψ ( z ) subject?to x ? z = 0 \min_{\mathbf{x}} \frac{1}{2} \left \| \mathbf{C}\mathbf{x} - \mathbf{b} \right \|_2^{2} + \lambda \Psi(\mathbf{z}) \\ \text{subject to} \quad \mathbf{x} - \mathbf{z} = 0 xmin?21?∥Cx?b∥22?+λΨ(z)subject?tox?z=0
Efficient Implementation of the x-Update using Inverse Filtering
前面介紹過,HQS 的方法,會(huì)交替迭代更新 x , z \mathbf{x}, \mathbf{z} x,z,我們先來看 x \mathbf{x} x 的更新,
p r o x f , p ( z ) = arg?min ? x f ( x ) + p 2 ∥ D x ? z ∥ 2 2 = arg?min ? x 1 2 ∥ C x ? b ∥ 2 2 + p 2 ∥ D x ? z ∥ 2 2 (20) \mathbf{prox}_{f, p} (\mathbf{z}) = \argmin_{\mathbf{x}} f(\mathbf{x}) + \frac{p}{2} \left \| \mathbf{D}\mathbf{x} - \mathbf{z} \right \|_{2}^{2} = \argmin_{\mathbf{x}} \frac{1}{2} \left \| \mathbf{C}\mathbf{x} - \mathbf{b} \right \|_2^{2} + \frac{p}{2} \left \| \mathbf{D}\mathbf{x} - \mathbf{z} \right \|_{2}^{2} \tag{20} proxf,p?(z)=xargmin?f(x)+2p?∥Dx?z∥22?=xargmin?21?∥Cx?b∥22?+2p?∥Dx?z∥22?(20)
將上面的表達(dá)式展開,可以得到:
1 2 ∥ C x ? b ∥ 2 2 + p 2 ∥ D x ? z ∥ 2 2 = 1 2 ( C x ? b ) T ( C x ? b ) + p 2 ( D x ? z ) ( D x ? z ) T = 1 2 ( x T C T C x ? 2 x T C T b + b T b ) + p 2 ( x T D T D x ? 2 x T D T z + z T z ) \frac{1}{2} \left \| \mathbf{C}\mathbf{x} - \mathbf{b} \right \|_2^{2} + \frac{p}{2} \left \| \mathbf{D}\mathbf{x} - \mathbf{z} \right \|_{2}^{2} \\ = \frac{1}{2}(\mathbf{C}\mathbf{x} - \mathbf{b})^{T}(\mathbf{C}\mathbf{x} - \mathbf{b}) + \frac{p}{2}(\mathbf{D}\mathbf{x} - \mathbf{z})(\mathbf{D}\mathbf{x} - \mathbf{z})^{T} \\ = \frac{1}{2}(\mathbf{x}^{T}\mathbf{C}^{T}\mathbf{C}\mathbf{x} - 2 \mathbf{x}^{T}\mathbf{C}^{T} \mathbf{b} + \mathbf{b}^{T}\mathbf{b} ) + \frac{p}{2}(\mathbf{x}^{T}\mathbf{D}^{T}\mathbf{D}\mathbf{x} - 2 \mathbf{x}^{T}\mathbf{D}^{T} \mathbf{z} + \mathbf{z}^{T}\mathbf{z} ) 21?∥Cx?b∥22?+2p?∥Dx?z∥22?=21?(Cx?b)T(Cx?b)+2p?(Dx?z)(Dx?z)T=21?(xTCTCx?2xTCTb+bTb)+2p?(xTDTDx?2xTDTz+zTz)
將上面的表達(dá)式對 x \mathbf{x} x 求導(dǎo),可以得到:
C T C x ? C T b + p D T D x ? p D T z \mathbf{C}^{T}\mathbf{C}\mathbf{x} - \mathbf{C}^{T} \mathbf{b} + p \mathbf{D}^{T}\mathbf{D}\mathbf{x} - p \mathbf{D}^{T} \mathbf{z} CTCx?CTb+pDTDx?pDTz
讓導(dǎo)數(shù)為 0 ,進(jìn)而可以求得 x \mathbf{x} x:
( C T C + p D T D ) ? 1 ( C T b + p D T z ) (24) ( \mathbf{C}^{T}\mathbf{C} + p\mathbf{D}^{T}\mathbf{D} )^{-1}(\mathbf{C}^{T} \mathbf{b} + p \mathbf{D}^{T} \mathbf{z} ) \tag{24} (CTC+pDTD)?1(CTb+pDTz)(24)
對于滿足 circular boundary conditions 的 2D 圖像解卷積問題,上面的式子,可以變換到傅里葉域,然后再進(jìn)行求解,上面所有的矩陣相乘的形式,都可以找到對應(yīng)的傅里葉域的形式。
Special Case of TV Regularizer
如果正則項(xiàng)是 TV 項(xiàng),那么 D \mathbf{D} D 就是有限差分算子,上面的公式 (24) 可以寫成如下形式:
( C T C + p D T D ) ? F ? 1 { F { c } ? ? F { c } + p ( F { d x } ? ? F { d x } + F { d y } ? ? F { d y } ) } ( \mathbf{C}^{T}\mathbf{C} + p\mathbf{D}^{T}\mathbf{D} ) \Leftrightarrow \mathcal{F}^{-1} \{ \mathcal{F}\{c\}^{*} \cdot \mathcal{F}\{c\} + p (\mathcal{F}\{d_x\}^{*} \cdot \mathcal{F}\{d_x\} + \mathcal{F}\{d_y\}^{*} \cdot \mathcal{F}\{d_y\}) \} (CTC+pDTD)?F?1{F{c}??F{c}+p(F{dx?}??F{dx?}+F{dy?}??F{dy?})}
( C T b + p D T z ) ? F ? 1 { F { c } ? ? F { b } + p ( F { d x } ? ? F { z 1 } + F { d y } ? ? F { z 2 } ) } (\mathbf{C}^{T} \mathbf{b} + p \mathbf{D}^{T} \mathbf{z} ) \Leftrightarrow \mathcal{F}^{-1} \{ \mathcal{F}\{c\}^{*} \cdot \mathcal{F}\{b\} + p (\mathcal{F}\{d_x\}^{*} \cdot \mathcal{F}\{z_1\} + \mathcal{F}\{d_y\}^{*} \cdot \mathcal{F}\{z_2\}) \} (CTb+pDTz)?F?1{F{c}??F{b}+p(F{dx?}??F{z1?}+F{dy?}??F{z2?})}
由此,可以得到公式(20) 的解為:
p r o x f , p ( z ) = F ? 1 ( F { c } ? ? F { b } + p ( F { d x } ? ? F { z 1 } + F { d y } ? ? F { z 2 } ) F { c } ? ? F { c } + p ( F { d x } ? ? F { d x } + F { d y } ? ? F { d y } ) ) \mathbf{prox}_{f, p} (\mathbf{z}) = \mathcal{F}^{-1} \left( \frac{\mathcal{F}\{c\}^{*} \cdot \mathcal{F}\{b\} + p (\mathcal{F}\{d_x\}^{*} \cdot \mathcal{F}\{z_1\} + \mathcal{F}\{d_y\}^{*} \cdot \mathcal{F}\{z_2\})}{\mathcal{F}\{c\}^{*} \cdot \mathcal{F}\{c\} + p (\mathcal{F}\{d_x\}^{*} \cdot \mathcal{F}\{d_x\} + \mathcal{F}\{d_y\}^{*} \cdot \mathcal{F}\{d_y\})} \right) proxf,p?(z)=F?1(F{c}??F{c}+p(F{dx?}??F{dx?}+F{dy?}??F{dy?})F{c}??F{b}+p(F{dx?}??F{z1?}+F{dy?}??F{z2?})?)
Special Case of Denoising Reg
對于更為一般的正則項(xiàng), D \mathbf{D} D 可以認(rèn)為是一個(gè)單位矩陣,公式 (20) 的求解將變得更為簡單:
p r o x f , p ( z ) = F ? 1 ( F { c } ? ? F { b } + p F { z } F { c } ? ? F { c } + p ) \mathbf{prox}_{f, p} (\mathbf{z}) = \mathcal{F}^{-1} \left( \frac{\mathcal{F}\{c\}^{*} \cdot \mathcal{F}\{b\} + p \mathcal{F}\{z\} } {\mathcal{F}\{c\}^{*} \cdot \mathcal{F}\{c\} + p } \right) proxf,p?(z)=F?1(F{c}??F{c}+pF{c}??F{b}+pF{z}?)
Updating z with the TV Regularizer
公式(14) 關(guān)于 z \mathbf{z} z 的更新,可以表示成如下的形式:
p r o x g , p ( v ) = S λ / p ( v ) = arg?min ? z λ ∣ z ∣ 1 + p 2 ∥ v ? z ∥ 2 2 \mathbf{prox}_{g, p} (\mathbf{v}) = \mathcal{S}_{\lambda/p}(\mathbf{v}) = \argmin_{\mathbf{z}} \lambda \left| \mathbf{z} \right|_{1} + \frac{p}{2} \left \| \mathbf{v} - \mathbf{z} \right \|_{2}^{2} proxg,p?(v)=Sλ/p?(v)=zargmin?λ∣z∣1?+2p?∥v?z∥22?
其中, v = D x \mathbf{v} = \mathbf{D} \mathbf{x} v=Dx, S \mathcal{S} S 是一個(gè)分段函數(shù):
S k ( v ) = { v ? k v > k 0 ∣ v ∣ < k v + k v < ? k \mathcal{S}_{k}(v) = \left\{\begin{matrix} v - k & v > k \\ 0 & |v| < k \\ v + k & v < -k \end{matrix}\right. Sk?(v)=? ? ??v?k0v+k?v>k∣v∣<kv<?k?
Isotropic TV Norm
對于各向同性的 TV 正則,正則項(xiàng)可以表示為:
g ( z ) = λ ∥ D x ∥ 2 , 1 = λ ∑ i = 1 N ( D x x ) i 2 + ( D y x ) i 2 g(\mathbf{z}) = \lambda \left \| \mathbf{D}\mathbf{x} \right \|_{2,1} = \lambda \sum_{i=1}^{N} \sqrt{(\mathbf{D}_x\mathbf{x})^{2}_{i} + (\mathbf{D}_y\mathbf{x})^{2}_{i}} g(z)=λ∥Dx∥2,1?=λi=1∑N?(Dx?x)i2?+(Dy?x)i2??
那么,帶各向同性正則項(xiàng)的解卷積問題可以表示成:
min ? x 1 2 ∥ C x ? b ∥ 2 2 + λ ∑ i = 1 N ∥ [ z i z i + N ] ∥ 2 subject?to D x ? z = 0 \min_{\mathbf{x}} \frac{1}{2} \left \| \mathbf{C}\mathbf{x} - \mathbf{b} \right \|_2^{2} + \lambda \sum_{i=1}^{N} \left \| \begin{bmatrix} z_i\\ z_{i+N} \end{bmatrix} \right \|_{2} \\ \text{subject to} \quad \mathbf{D}\mathbf{x} - \mathbf{z} = 0 xmin?21?∥Cx?b∥22?+λi=1∑N? ?[zi?zi+N??] ?2?subject?toDx?z=0
z i z_i zi? 表示 z \mathbf{z} z 的第 i i i 個(gè)元素,其中, 1 ≤ i ≤ N 1 \leq i \leq N 1≤i≤N 表示水平方向的有限差分, N + 1 ≤ i ≤ 2 N N+1 \leq i \leq 2N N+1≤i≤2N 表示垂直方向的有限差分。
z \mathbf{z} z 的更新可以表示成:
z ← p r o x f , p ( v ) = arg?min ? z λ ∑ i = 1 N ∥ [ z i z i + N ] ∥ 2 + p 2 ∥ v ? z ∥ 2 2 v = D x \mathbf{z} \gets \mathbf{prox}_{f, p} (\mathbf{v}) = \argmin_{\mathbf{z}} \lambda \sum_{i=1}^{N} \left \| \begin{bmatrix} z_i\\ z_{i+N} \end{bmatrix} \right \|_{2} + \frac{p}{2} \left \| \mathbf{v} - \mathbf{z} \right \|_{2}^{2} \quad \mathbf{v} = \mathbf{D}\mathbf{x} z←proxf,p?(v)=zargmin?λi=1∑N? ?[zi?zi+N??] ?2?+2p?∥v?z∥22?v=Dx
最終 z \mathbf{z} z 的更新可以表示為:
[ z i z i + N ] ← S λ / p ( [ v i v i + N ] ) , 1 ≤ i ≤ N \begin{bmatrix} z_i\\ z_{i+N} \end{bmatrix} \gets \mathcal{S}_{\lambda /p} \left( \begin{bmatrix} v_i\\ v_{i+N} \end{bmatrix} \right), \quad 1 \leq i \leq N [zi?zi+N??]←Sλ/p?([vi?vi+N??]),1≤i≤N
Updating z with DnCNN or any Gaussian Denoiser as the Regularizer
如果我們進(jìn)一步審視公式 (14) ,不考慮矩陣 D \mathbf{D} D 的情況下,
arg?min ? z g ( z ) + p 2 ∥ x ? z ∥ 2 2 = arg?min ? z λ Ψ ( z ) + p 2 ∥ x ? z ∥ 2 2 = arg?min ? z Ψ ( z ) + p 2 λ ∥ x ? z ∥ 2 2 (36) \argmin_{\mathbf{z}} g(\mathbf{z}) + \frac{p}{2} \left \| \mathbf{x} - \mathbf{z} \right \|_{2}^{2} \\ = \argmin_{\mathbf{z}} \lambda \Psi(\mathbf{z}) + \frac{p}{2} \left \| \mathbf{x} - \mathbf{z} \right \|_{2}^{2} \\ = \argmin_{\mathbf{z}} \Psi(\mathbf{z}) + \frac{p}{2 \lambda} \left \| \mathbf{x} - \mathbf{z} \right \|_{2}^{2} \tag{36} zargmin?g(z)+2p?∥x?z∥22?=zargmin?λΨ(z)+2p?∥x?z∥22?=zargmin?Ψ(z)+2λp?∥x?z∥22?(36)
公式 (36) 可以看成是一個(gè)降噪問題,可以等價(jià)成如下的表達(dá)式:
arg?min ? x Ψ ( x ) + 1 2 σ 2 ∥ v ? x ∥ 2 2 \argmin_{\mathbf{x}} \Psi(\mathbf{x}) + \frac{1}{2 \sigma^{2}} \left \| \mathbf{v} - \mathbf{x} \right \|_{2}^{2} xargmin?Ψ(x)+2σ21?∥v?x∥22?
其中, v \mathbf{v} v 可以看成是觀測到的有噪圖像, x \mathbf{x} x 表示我們需要恢復(fù)的無噪圖像,基于這個(gè)觀測,對于降噪的正則項(xiàng),那么對 z \mathbf{z} z 的更新可以簡單地變成一個(gè)降噪過程,這個(gè)降噪可以用傳統(tǒng)的降噪方法,也可以用基于CNN 的降噪方法,
p r o x D , p ( x ) = D ( x , σ 2 = λ p ) \mathbf{prox}_{\mathcal{D}, p} (\mathbf{x}) = \mathcal{D} \left( \mathbf{x}, \sigma^{2} = \frac{\lambda}{p} \right) proxD,p?(x)=D(x,σ2=pλ?)
最后,做一個(gè)總結(jié),基于 TV 正則和基于降噪正則的 HQS 方法的主要流程可以歸納如下:
總結(jié)
以上是生活随笔為你收集整理的Image Deconvolution with the Half-quadratic Splitting Method的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华中科技大学计算机考研分析
- 下一篇: OceanBase开发者大会震撼来袭