运动模糊图像复原(二)
Reference:
Deblurring Text Images via L0 -Regularized Intensity and Gradient Prior
上面一文中有涉及到模糊模型的估计,这是一个难点,但是没有细说。这篇文章主要记录一下第三点内容:根据对应层级模糊图像的L0亮度和梯度 + 对应层级的模糊模型 = 预估当前层级的latent image。可设置多次迭代,更新预估结果。
对于金字塔顶层对应的图像,设置相应的模糊核大小,并设置初始核。这里假设最底层金字塔对应的核大小为55*55,即kernel size=55。金字塔层数和最大迭代次数遵循以下公式:

Pyramid layers: max_iter+1
对于每层金字塔对应的模糊核大小可以利用如下公式计算:
, 注意这里需要将计算得到的核大小转换为奇数。
那么,金字塔层数有7层,初始核为7*7大小,初始核内容设置如下:
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0.5 |
0.5 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
对于latent image,论文中按照如下公式计算,x即latent image:
,
说明一下,表示L0 prior的权重值,实现的时候我设置为0.02。由于上述公式仍有表示不是很清楚的地方,我用代码中用到的公式表示一下。
beta初始值设为2*。后续迭代时需要不断更新beta值,beta=2*beta,当beta≥1e5时,终止迭代,可以输出最终计算出的latant image。
x求解中,傅里叶逆变换之前的分母可以表示为:
h和v分别表示水平方向和垂直方向的差分。
为什么
这个公式成立?
对于这个问题,之前类似的保留图像边界并平滑图像内部细节的课题,也有遇到过,目前记得不是很清楚,好像是因为输入的k是实对称的原因,所以等式成立。
x求解中,傅里叶逆变换之前的分子可以表示为:
![]()
这里值得注意的有两点:
- 在求模糊图像二阶差分前,对于一阶差分需要排除一些干扰点。可采用下面公式排除:
,保留一阶差分结果, 其他设为0.
2. 在初次迭代前,对于模糊图像的水平差分和垂直差分,设置初始梯度如下,分别表示水平方向和垂直方向的梯度fx,fy。再对其求fft,变为Fx,Fy。
那么,![]()
|
1 |
-1 |
|
1 |
|
-1 |
我在实际应用中,首次迭代时,设置分母中的梯度使用上述方法计算初始差分,在分子的梯度上使用模糊图像计算差分值。
本文探讨了运动模糊图像复原的方法,主要关注如何通过L0亮度和梯度先验来预估潜在图像。文章介绍了图像金字塔的构建,其中每个层级的模糊核大小由特定公式计算,并以迭代方式更新预估的潜在图像。在傅里叶逆变换中,图像的二阶差分和一阶差分起关键作用,且在处理过程中考虑了实对称性和边界细节的保留。
&spm=1001.2101.3001.5002&articleId=82969392&d=1&t=3&u=7863f807d32b4a15a5da13c2e3b9e1a5)
1万+

被折叠的 条评论
为什么被折叠?



