Image Deconvolution with the Half-quadratic Splitting Method

news2024/10/6 6:47:51

Image Deconvolution with the Half-quadratic Splitting Method

在处理图像重建或者逆问题的时候,我们经常会看到一种称为 Half-quadratic Splitting(HQS)的方法,这是在优化领域里非常经典的一种方法,之前也断断续续地找了很多相关的资料,发现斯坦福大学的计算成像课里某一节 lecture note 把这个方法在图像反卷积中的使用介绍地非常详细。这篇文章也是基于这个 lecture note 的一个学习笔记。

Image Formation

一般来说,图像的成像过程可以用下面的式子表示:

b = c ∗ x + η (1) b = c * x + \eta \tag{1} b=cx+η(1)

其中, b b b 表示观察到的模糊图像, c c c 表示一个卷积核,可以认为是光学系统的 PSF, η \eta η 表示与信号无关的噪声, x x x 是希望重建出来的清晰图像。

根据信号处理的理论,在空域的卷积相当于在频域的乘积,所以上面的式子可以写成:

b = F − 1 { F ( c ) ⋅ F ( x ) } + η (2) b = \mathcal{F}^{-1} \{ \mathcal{F}(c) \cdot \mathcal{F}(x) \} + \eta \tag{2} b=F1{F(c)F(x)}+η(2)

不过要注意的是,这个等价只有在卷积满足 circular boundary conditions 时才成立。

为了后续的推导方便,这里将卷积运算转换成矩阵运算,可以得到如下的式子:

b = c ∗ x ⇔ b = C x (3) b = c * x \Leftrightarrow \mathbf{b} = \mathbf{C} \mathbf{x} \tag{3} b=cxb=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)

进而可以直接算出 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=F1{F(c)F(b)}(4)

上面的 if 就是 inverse filtering 的缩写,如果已知卷积核的形式,就可以计算出该卷积核对应的傅里叶变换,然后除以观察图像的傅里叶变换,从而得到清晰图像在频域的值,最后在做一个反傅里叶变换,得到最终的清晰图像。

这种方法看起来直观高效,不过有一个问题,就是 F ( c ) \mathcal{F}(c) F(c) 的值很小趋近于 0 的时候,将会放大观察图像中的噪声,维纳滤波通过加入一个阻尼系数,可以避免这个问题:

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=F1{F(c)2+SNR1F(c)2F(c)F(b)}(5)

SNR 表示信噪比,如果观测图像中没有噪声,那么 SNR 会很高,这种情况下,维纳滤波就变成了 inverse filter。

维纳滤波相比于直接的逆滤波,可以得到更加合理的反卷积结果。不过,这类方法面临的主要问题就是无法利用自然图像的先验信息,接下来,我们将介绍如何将先验信息与优化方法结合。

Nature Image Priors

首先,我们来看什么是自然图像先验,自然图像先验一般是一种数学模型,告诉我们在自然图像中,像素的分布更倾向于什么形态,在求解病态逆问题的时候,可能存在无数种解都符合观测值,而自然图像先验,会帮助我们挑选那些看起来更合理的解。

自然图像先验可以对图像的分布进行建模,这里,我们用正则化来表示对图像的某些性质,正则化一般对应图像先验的负对数。通常的正则化,包括平滑性,稀疏性,稀疏梯度,自相似性等。比如,稀疏性,可以用一阶范数表示为: ∣ x ∣ = ∣ ∑ x i ∣ |\mathbf{x}| = |\sum x_i| x=xi,而平滑性,可以用梯度的二阶范数表示: ∣ Δ x ∣ 2 |\Delta \mathbf{x}|_2 ∣Δx2,不过,在求解图像复原的逆问题中,应用最广泛的还是称为 total variation (TV) 的正则,TV 的建立,是基于下面的观察,大部分自然图像,都可以看到很多区域都是平滑的,只有在不同物体的交界处才会出现边界,在同一个物体的内部,可以认为像素值区域平滑或者相似,而在不同物体的边界处,会有一个陡然的变化。

为了对 TV 建模,需要计算图像的一阶导数,这里,将图像水平方向的一阶导数表示为 D x x \mathbf{D}_x\mathbf{x} Dxx,而垂直方向的一阶导数表示为 D y y \mathbf{D}_y\mathbf{y} Dyy,具体的数学形式如下所示:

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} Dxxxdx,dx= 000010010

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} Dyxxdy,dy= 000011000

这个图像的一阶导数,既可以用矩阵直接计算,也可以用卷积的形式计算。

图像的 TV 正则可以表示为图像梯度的一阶范数,TV 正则项有两种表达形式,一种称为各向异性 的 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)=Dxx1+Dyx1=i=1N(Dxx)i+(Dyx)i=i=1N(Dxx)i2 +(Dyx)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)=Dx2,1=i=1N(Dxx)i2+(Dyx)i2

这两种正则的差异,从表达式中可以看出,对于各向同性来说,每个像素 i i i 的梯度约束是两个方向同时约束的,而对于各向异性来说,两个方向的梯度约束是分开约束的。

Regularized Deconvolution with Half-quadratic Splitting

The Half-quadratic Splitting Method

接下来,我们介绍 HQS 这种优化方法,在介绍用这种方法求解图像复原的逆问题之前,我们先探讨这种方法的一般形式,考虑如下的一个优化问题:

b = A x + η \mathbf{b} = \mathbf{A}\mathbf{x} + \mathbf{\eta} b=Ax+η

其中, x ∈ R N \mathbf{x} \in R^{N} xRN 是一个待求解的向量, b ∈ R M \mathbf{b} \in R^{M} bRM 表示一个观测向量, η \eta η 表示噪声, A ∈ R M × N \mathbf{A} \in R^{M \times N} ARM×N 表示转换矩阵,这个问题的一般求解形式如上所示:

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}) xmin21Axb22+λΨ(x)

其中,前面的第一项一般称为数据项,第二项称为正则项,直接求解上面的式子,有的时候并不能很好地收敛,一种更为鲁棒的求解方式,应该是将上面的优化函数,改写成下面这种形式:

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 xmin21Axb22+λΨ(z)subject toDxz=0

这个优化函数中,引入了一个中间变量 z \mathbf{z} z,这个额外的中间变量,可以将上面的优化函数拆成两部分,一部分是数据项,另外一部分是正则项,这两项依赖的变量是相互独立的, x , z \mathbf{x}, \mathbf{z} x,z 之间靠一个约束表达式联系,如果将这个约束项合入优化函数,则整个优化函数可以写成:

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)+2pDxz22

优化函数写成这种形式,可以通过相互迭代的方式求解,求解 x \mathbf{x} x 与 求解 z \mathbf{z} z 可以分开进行:

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} xproxf,p(z)=xargminLp(x,z)=xargminf(x)+2pDxz22(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} zproxf,p(Dx)=zargminLp(x,z)=zargming(z)+2pDxz22(14)

从上面的求解过程可以看出,当我们更新 x \mathbf{x} x 的时候,只需要考虑 f ( x ) f(\mathbf{x}) f(x),而当我们更新 z \mathbf{z} z 的时候,只需要考虑 g ( z ) g(\mathbf{z}) g(z),而不需要同时考虑这两个函数。这个性质,可以构建一个非常灵活的框架,让我们可以灵活地与各种正则函数相结合。这种方式也被称为 plug-and-play (即插即用)。

虽然 HQS 可以用于解决各种逆问题,不过我们这里还是讨论比较特殊的一种图像解卷积问题,我们讨论一种已知固定卷积核的情况,这样对应的矩阵是一个循环 Toeplitz 矩阵。先定义如下的关系:

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} cx=F1{F(c)F(x)}=CxF1{F(c)F(x)}=CTxF1{F(c)F(b)}=C1x

Standard Form of HQS with TV and Denoising Regularizers

接下来,我们考虑基于 TV 正则的 HQS 的优化方法,由上面的表达式,我们可以将带 TV 正则的优化函数写成如下形式:

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 xmin21Cxb22+λΨ(z)subject toDxz=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 方向的一阶导数,这里的 z ∈ R 2 N \mathbf{z} \in R^{2N} zR2N x ∈ R N \mathbf{x} \in R^{N} xRN 要大一倍,因为每个像素,有 x , y x, y x,y 两个方向的梯度。

对于更为一般的情况,我们可以使用一个简单的正则项,将待求解的图像投影到一个灵活的自然图像空间中,整个的 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 xmin21Cxb22+λΨ(z)subject toxz=0

Efficient Implementation of the x-Update using Inverse Filtering

前面介绍过,HQS 的方法,会交替迭代更新 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)=xargminf(x)+2pDxz22=xargmin21Cxb22+2pDxz22(20)

将上面的表达式展开,可以得到:

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} ) 21Cxb22+2pDxz22=21(Cxb)T(Cxb)+2p(Dxz)(Dxz)T=21(xTCTCx2xTCTb+bTb)+2p(xTDTDx2xTDTz+zTz)

将上面的表达式对 x \mathbf{x} x 求导,可以得到:

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} CTCxCTb+pDTDxpDTz

让导数为 0 ,进而可以求得 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 图像解卷积问题,上面的式子,可以变换到傅里叶域,然后再进行求解,上面所有的矩阵相乘的形式,都可以找到对应的傅里叶域的形式。

Special Case of TV Regularizer

如果正则项是 TV 项,那么 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)F1{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)F1{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)=F1(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

对于更为一般的正则项, D \mathbf{D} D 可以认为是一个单位矩阵,公式 (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)=F1(F{c}F{c}+pF{c}F{b}+pF{z})

Updating z with the TV Regularizer

公式(14) 关于 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λz1+2pvz22

其中, v = D x \mathbf{v} = \mathbf{D} \mathbf{x} v=Dx S \mathcal{S} S 是一个分段函数:

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)= vk0v+kv>kv<kv<k

Isotropic TV Norm

对于各向同性的 TV 正则,正则项可以表示为:

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)=λDx2,1=λi=1N(Dxx)i2+(Dyx)i2

那么,带各向同性正则项的解卷积问题可以表示成:

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 xmin21Cxb22+λi=1N [zizi+N] 2subject toDxz=0

z i z_i zi 表示 z \mathbf{z} z 的第 i i i 个元素,其中, 1 ≤ i ≤ N 1 \leq i \leq N 1iN 表示水平方向的有限差分, N + 1 ≤ i ≤ 2 N N+1 \leq i \leq 2N N+1i2N 表示垂直方向的有限差分。

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} zproxf,p(v)=zargminλi=1N [zizi+N] 2+2pvz22v=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 [zizi+N]Sλ/p([vivi+N]),1iN

Updating z with DnCNN or any Gaussian Denoiser as the Regularizer

如果我们进一步审视公式 (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} zargming(z)+2pxz22=zargminλΨ(z)+2pxz22=zargminΨ(z)+2λpxz22(36)

公式 (36) 可以看成是一个降噪问题,可以等价成如下的表达式:

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σ21vx22

其中, v \mathbf{v} v 可以看成是观测到的有噪图像, x \mathbf{x} x 表示我们需要恢复的无噪图像,基于这个观测,对于降噪的正则项,那么对 z \mathbf{z} z 的更新可以简单地变成一个降噪过程,这个降噪可以用传统的降噪方法,也可以用基于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λ)

最后,做一个总结,基于 TV 正则和基于降噪正则的 HQS 方法的主要流程可以归纳如下:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/413134.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Cesium 编程第一篇】概述、环境搭建、界面介绍

年前年后一直在面试&#xff0c;发现一个奇怪的现象&#xff1a;很多互联网公司经受住三年的疫情冲击&#xff0c;反而在疫情放开的那一刻撑不住了&#xff0c;很多大厂都在批量的裁员&#xff1a;美国硅谷、北京字节、迪士尼中国等等。在北京的朋友也是年后到现在一直没有找到…

AI是一场革命,我真不是在跟风

AI是场革命&#xff0c;好像现在很多人都开始这么说&#xff0c;那么我说我不是在跟风&#xff0c;为什么&#xff1f;不好意思&#xff0c;又要翻翻旧贴 -> AI是一场革命&#xff0c;不要笑&#xff0c;我是认真的。2016年我就这样讲了&#xff0c;就如我常说的&#xff0c…

【《中国工业经济》论文复刻】“一带一路”倡议与中国企业升级

数据和变量描述 本部分介绍文章研究所使用的数据和关键变量。 数据来源&#xff1a;自主整理 时间范围&#xff1a;2012-2017年 变量说明&#xff1a; 相关变量见下表。 一. 摘要 近年来&#xff0c;中国应该如何实现产业升级受到学界的广泛关注&#xff0c;产业升级归根…

Widows下安装Nginx并设置开机自启

1 下载Nginx 下载地址&#xff1a;http://nginx.org/en/download.html 2 启动Nginx nginx的启动方式有两种&#xff1a;一种是直接点击nginx.exe启动&#xff0c;另一种是通过命令行启动 2.1 直接启动 找到nginx目录&#xff0c;双击nginx.exe 即可启动 2.2 命令行启动…

不卷不成魔,新时代的IT人员更需要卷,不卷不成活

简介 从2022年开始至今&#xff0c;IT界发生了很多巨大的变革带来了许多巨大的变化。 这些变革、这些变化导致了有人欢喜有人悲、有人迷茫有人焦虑。1年半来&#xff0c;迷茫、焦虑、精神内耗了也都差不多了&#xff0c;大家都已经认识到了现实&#xff0c;作为凡人的我们所能…

Moviepy模块之多图拼接为一个动图

文章目录前言项目场景项目素材1.jpg2.jpg3.jpg项目代码1. 引入库2. 读取存储图片的文件夹3. 获取文件夹中所有的.jpg结尾的图片文件名4. 按照文件名排序5. 读取所有图片并拼接成动图6. 保存动图问题描述原因分析解决方案最终效果前言 大家好&#xff0c;我是空空star&#xff0…

《花雕学AI》16:BingGPT桌面端的另外一个惊喜—完美整合了新Bing的AI作画功能

你是否曾经想过&#xff0c;如果你能用语言描述你想要的画面&#xff0c;就能让AI为你生成一幅美丽的图画&#xff0c;那该有多好&#xff1f;你是否曾经想过&#xff0c;如果你能在桌面端直接与新Bing进行智能、流畅、有趣的对话&#xff0c;而不需要打开浏览器或安装插件&…

好看的html登录界面,

界面效果&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html><head><title>Login Page</title><style>body {background-color: #f2f2f2;font-family: Arial, sans-serif;}form {background-color: #fff;border-radius: 5px;box-shado…

【LeetCode: 剑指 Offer II 085. 生成匹配的括号 | 递归 | 回溯】

&#x1f34e;作者简介&#xff1a;硕风和炜&#xff0c;CSDN-Java领域新星创作者&#x1f3c6;&#xff0c;保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享&#x1f48e;&#x1f48e;&#x1f48e; &#x1f34e;座右…

文本翻译免费软件-word免费翻译软件

好用的翻译文件软件应该具备以下几个方面的特点&#xff1a;支持多种文件格式&#xff0c;翻译结果准确可靠&#xff0c;界面操作简便易用&#xff0c;价格实惠&#xff0c;用户体验舒适。以下是几个好用的翻译文件软件&#xff1a; 1.147cgpt翻译软件 翻译软件特点&#xff1…

Diffusion Models 简单代码示例

一、关于Diffusion 模型的简单介绍 首先diffusion模型和VAE、Flow、Gan等模型类似&#xff0c;均属于生成模型&#xff0c;可以和GCN、CNN等其他深度学习网络相结合&#xff0c;完成特定的生成任务&#xff0c;如下图&#xff1a; 基于 GAN 生成模型&#xff0c;基于 VAE 的生成…

初识二叉树

树的概念与结构 树是一种非线性的数据结构&#xff0c;它是由n个有限结点组成一个具有层次关系的集合&#xff0c;把它叫做树是因为它看起来像一颗倒挂的树&#xff0c;也就是说它的根朝上&#xff0c;而叶朝下的。 子树之间不能有交集&#xff0c;否则就不是树型结构 比如下面…

3dmax间隔选择与循环选择你会用吗?真传干货来了!

文章目录一、循环选择1、AltL&#xff08;线性循环&#xff09;2、AltR&#xff08;环向循环&#xff09;3、在线选择上altR和altL的差别二、 间隔选1、选一隔一2、选二隔一3、选二隔二4、隔三选一5、面的间隔选择总结6、线的间隔选文章原出处&#xff1a; https://blog.csdn.n…

TCP拆包粘包问题

什么是粘包&#xff1f; 首先明确TCP时面向字节流的协议&#xff08;当用户消息通过 TCP 协议传输时&#xff0c;消息可能会被操作系统分组成多个的 TCP 报文&#xff0c;也就是一个完整的用户消息被拆分成多个 TCP 报文进行传输&#xff09;&#xff0c;UDP是面向报文的协议&…

【ChatGPT】AI发展如此火热,程序员的发展呢?

&#x1f34e;道阻且长&#xff0c;行则将至。&#x1f353; 目录一、AI已来&#xff0c;ChatGPT你用上了吗&#x1f33e;二、AI之路&#xff0c;这是社会在发展&#x1f331;三、AI时代&#xff0c;程序员应该怎么做&#x1f334;一、AI已来&#xff0c;ChatGPT你用上了吗&…

【Python】基于ML307A的位置读取系统(通过UART串口实现AT指令和flask来实现自动化读取并推流)

【Python】基于ML307A的位置读取系统&#xff08;通过UART串口实现AT指令和flask来实现自动化读取并推流&#xff09; Python下的串口serial库 串行口的属性&#xff1a; name:设备名字 portstr:已废弃&#xff0c;用name代替 port&#xff1a;读或者写端口 baudrate&#xf…

CUDA效率优化之CUDA Graph的使用

CUDA系列文章 文章目录CUDA系列文章前言一、优化方案简单顺序调用二、Overlapping三、使用CUDA Graph总结前言 GPU 架构的性能随着每一代的更新而不断提高。 现代 GPU 每个操作&#xff08;如kernel运行或内存复制&#xff09;所花费的时间现在以微秒为单位。 但是&#xff0c…

【C++跬步积累】——时间复杂度

&#x1f30f;博客主页&#xff1a;PH_modest的博客主页 &#x1f6a9;当前专栏&#xff1a;C跬步积累 &#x1f48c;其他专栏&#xff1a; &#x1f534; 每日一题 &#x1f7e1; 每日反刍 &#x1f7e2; 读书笔记 &#x1f308;座右铭&#xff1a;广积粮&#xff0c;缓称王&a…

马云回国,首谈ChatGPT

马云今天回国了&#xff0c;这是一个备受关注的消息。 作为中国最具代表性的企业家之一&#xff0c;马云在过去的二十多年里&#xff0c;带领阿里巴巴从一个小小的创业公司&#xff0c;发展成为全球最大的电商平台之一&#xff0c;同时也推动了中国互联网行业的发展。 他的回…

使用向量机(SVM)算法的推荐系统

系统整体结构 运行环境 包括Python环境、TensorFlow环境、安装模块、MySQL数据库。 Python环境 需要Python 3.6及以上配置&#xff0c;在Windows环境下推荐下载Anaconda完成Python所需的配置&#xff0c;下载地址为https://www.anaconda.com/&#xff0c;也可下载虚拟机在Li…