本文主要是介绍高斯噪声和泊松噪声的最大后验模型去噪,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 1. 高斯噪声的最大后验去噪模型
- 1.1 退化模型
- 1.2 最大后验建模
- 2.泊松噪声的最大后验去噪模型
1. 高斯噪声的最大后验去噪模型
1.1 退化模型
高斯噪声的数学模型如(1)式所示
y = x + n (1) y=x+n \tag{1} y=x+n(1)
其中 y y y是噪声图像, x x x是清晰图像, n n n为加性高斯噪声服从独立同分布(i.i.d.)均值为0的高斯分布, n ∼ N ( 0 , σ 2 ) n \sim N(0,\sigma^2) n∼N(0,σ2)。
1.2 最大后验建模
x ^ = arg max x p ( x ∣ y ) = arg max x p ( y ∣ x ) + p ( x ) = arg min x − log ( p ( y ∣ x ) ) − log ( p ( x ) ) (2) \begin{aligned} \hat{x}&=\argmax_{x}p(x|y)=\argmax_{x}p(y|x)+p(x) \\ &=\argmin_{x}-\log(p(y|x))-\log(p(x))\\ \end{aligned} \tag{2} x^=xargmaxp(x∣y)=xargmaxp(y∣x)+p(x)=xargmin−log(p(y∣x))−log(p(x))(2)
接下来要将第一项由概率形式表示的最大似然估计项改写为数据精度项的形式。
已知: x ∼ N ( x , 0 ) x\sim N(x,0) x∼N(x,0),这里显然自然图像的方差不可能为0,之所以取0我的理解是:类似于最小二乘和最大似然推导的过程,这个x表示一个确定的不会改变的量而不是随机变量,因此也没有误差方差就是0。
噪声n的分布: n ∼ N ( 0 , σ 2 ) n \sim N(0,\sigma^2) n∼N(0,σ2)。将两项叠加: y ∼ N ( x , σ 2 ) y\sim N(x,\sigma^2) y∼N(x,σ2),即: p ( y ∣ x , σ ) = 1 2 π σ 2 e − ( y − x ) 2 2 σ 2 p(y|x,\sigma)=\frac{1}{\sqrt{2\pi\sigma^2}}e^{-\frac{(y-x)^2}{2\sigma^2}} p(y∣x,σ)=2πσ21e−2σ2(y−x)2。此时可以直接将此式带入(2)式中。
x ^ = arg min x − log ( p ( y ∣ x ) ) − log ( p ( x ) ) = arg min x 1 2 σ 2 ∣ ∣ y − x ∣ ∣ 2 2 − l o g ( p ( x ) ) \begin{aligned} \hat{x}&=\argmin_{x}-\log(p(y|x))-\log(p(x))\\ &=\argmin_{x}\frac{1}{2\sigma^2}||y-x||_2^2-log(p(x)) \end{aligned} x^=xargmin−log(p(y∣x))−log(p(x))=xargmin2σ21∣∣y−x∣∣22−log(p(x))
完成推导。
2.泊松噪声的最大后验去噪模型
y y y属于以 x x x为变量的泊松分布:
y ∼ P ( x ) y\sim \mathcal{P}(x) y∼P(x)
因此其中一个测量值的似然概率为: p ( y i ∣ x ) = x i y i e − x i y i ! p(y_i|x)=\frac{x_i^{y_i}e^{-x_i}}{y_i!} p(yi∣x)=yi!xiyie−xi
将所有的M个测量值的概率组合起来:
p ( y ∣ x ) = ∏ i = 1 M p ( y i ∣ x ) = ∏ i = 1 M e log ( x i ) y i × e − x i × 1 y i ! p(y|x)=\prod_{i=1}^Mp(y_i|x)=\prod_{i=1}^Me^{\log(x_i)y_i}\times e^{-x_i}\times \frac{1}{y_i!} p(y∣x)=i=1∏Mp(yi∣x)=i=1∏Melog(xi)yi×e−xi×yi!1
那么它的似然概率的对数形式为:
log ( p ( y ∣ x ) ) = ∑ i = 1 M log ( x i ) y i − ∑ i = 1 M x i − ∑ i = 1 M l o g y i ! = log ( x T ) y − x T 1 − ∑ i = 1 M log ( y i ! ) \begin{aligned} \log(p(y|x))&=\sum_{i=1}^M\log (x_i)y_i-\sum_{i=1}^M x_i-\sum_{i=1}^Mlogy_i!\\ &=\log (x^T)y-x^T1-\sum_{i=1}^M\log(y_i!) \end{aligned} log(p(y∣x))=i=1∑Mlog(xi)yi−i=1∑Mxi−i=1∑Mlogyi!=log(xT)y−xT1−i=1∑Mlog(yi!)
上式很难求得解析解,可以使用Richardson-Lucy(RL)算法对上面的式子迭代求解。
或者使用Douglas-Rachford分裂算法求解。
这篇关于高斯噪声和泊松噪声的最大后验模型去噪的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!