本文主要是介绍2009-CVPR - Image deblurring and denoising using color priors,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
项目地址:http://neelj.com/projects/twocolordeconvolution/ 没有代码=_=
微软研究院
- 非盲去模糊
- 基于MAP
- 超拉普拉斯先验+颜色先验
文章首先分析了Levin等人使用超拉普拉斯分布惩罚图像梯度(次线性惩罚函数),相比高斯分布更能建模自然图像0峰重尾梯度分布(the zero-peaked and heavy tailed gradient distributions)。
但是有以下两个限制:
(1)尽管它是想使去卷积后产生的图像在梯度上具有超拉普拉斯分布,但是该先验在实现时是为对梯度模长的惩罚。因此,它本质上还是一个“平滑先验”,较大的梯度仍然会导致较大的损失。
(2)不能处理强噪声。通过增加稀疏梯度的权值可以去除噪声,但是过度平滑的结果。如果减小权值,则会锐化噪声。如图中(c)和(d):
然后文章就提出了颜色先验,The TwoColor Model。从这篇文章比较难理解该模型,参考文献[4](Video and Image Bayesian Demosaicing with a Two Color Image Prior)给了比较详细的解释。
先说一般情况,“双色模型”假设潜在图像中每个像素的颜色都可以有其邻域中两个代表颜色(分别成为为主颜色和次颜色)来线性表示。
其中代表颜色通过对该像素 5 × 5 5\times5 5×5的邻域内像素的颜色值进行K-Means聚类(k=2)得到。聚类时还对邻域像素到中心像素(即该像素)的距离进行了加权。
We use a weighted K-Means in which the weight is the inverse Euclidean distance from each sample to the center of the kernel.
如果其中一个类簇过小(标准差小于噪声的标准差)就变成了“单色模型”。论文中使用一组二进制变量存储每个像素是属于“单色”还是“双色”。
接着说如何施加颜色先验,对于双色模型:
对于单色模型:
Primary和Secondary分别表示主颜色和次颜色, L ( I ∣ P , S ) L(I|P,S) L(I∣P,S)表示对潜在图像 I I I的先验。
系数 α \alpha α定义为:
ρ ( α ) = b ∣ α ∣ a \rho(\alpha)=b|\alpha|^a ρ(α)=b∣α∣a表示清晰图像 α \alpha α值分布的先验,文章通过对一组清晰图像的 α \alpha α值分布进行拟合算出参数a和b的值。
b = 1.6216 ; a = 0.0867 α > 0 b = 2.2712 ; a = 0.2528 α < 0 \begin{aligned} b = 1.6216; a = 0.0867 \qquad \alpha > 0\\ b = 2.2712; a = 0.2528 \qquad \alpha < 0 \end{aligned} b=1.6216;a=0.0867α>0b=2.2712;a=0.2528α<0
且 ρ ( α ) \rho(\alpha) ρ(α)是关于 α = 0.5 \alpha=0.5 α=0.5对称的,如下图所示,在0和1出取得最小值。
主要步骤:
(1)单独使用稀疏梯度先验去卷积得到初始潜在图像 I 0 I_0 I0;
(2)通过局部EM聚类方法从 I j − 1 I_{j-1} Ij−1中估计出 P j P_j Pj和 S j S_j Sj;
(3)通过 P j P_j Pj和 S j S_j Sj作为颜色先验进行去卷积得到 I j I_j Ijj。
这篇关于2009-CVPR - Image deblurring and denoising using color priors的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!