图像去噪-NL Means,BM3D与DCT

基础

ShaneHolmes的图像处理专栏:图像各种噪声及消除方法 中记录了噪声来源、分类和处理噪声的基本方法
高斯白噪声:加性噪声的理想模型,通信系统中的热噪声统计上符合高斯白噪声。

非局部均值去噪(NL-means)

基本思想:像素的估计值 u ^ \hat{u} u^由与之具有相似邻域结构的像素加权平均得到。其权重 w ( p , q ) w(p,q) w(p,q)等于两点的相似度。这个邻域 ( 2 r + 1 ) × ( 2 r + 1 ) (2r+1)\times(2r+1) (2r+1)×(2r+1)也称为搜索区域。
u ^ i ( p ) = 1 C ( p ) ∑ q ∈ B ( p , r ) u i ( q ) w ( p , q ) \hat{u}_{i}(p)=\frac{1}{C(p)}\sum_{q\in B(p,r)}{u_i(q)w(p,q)} u^i(p)=C(p)1qB(p,r)ui(q)w(p,q)
C ( p ) = ∑ q ∈ B ( p , r ) w ( p , q ) C(p)=\sum_{q\in B(p,r)}{w(p,q)} C(p)=qB(p,r)w(p,q)
衡量相似度的方法有非常多,文章中给出的是两个像素的亮度值的差的平方。
d 2 ( B ( p , f ) , B ( q , f ) = 1 3 ( 2 f + 1 ) 2 ∑ i = 1 3 ∑ j ∈ B ( 0 , f ) ( u i ( p + j ) − u i ( q + j ) ) 2 d^{2}(B(p,f), B(q,f)=\frac{1}{3(2f+1)^2}\sum_{i=1}^{3}{\sum_{j\in B(0,f)}{(u_i(p+j)-u_i(q+j))^2}} d2(B(p,f),B(q,f)=3(2f+1)21i=13jB(0,f)(ui(p+j)ui(q+j))2
降低噪声影响,我们考虑两个像素的邻域 ( 2 f + 1 ) × ( 2 f + 1 ) (2f+1)\times(2f+1) (2f+1)×(2f+1),只有邻域相似度高,才能说明这两个像素相似度高。
w ( p , q ) = e − m a x ( d 2 − 2 σ 2 , 0.0 ) h 2 w(p,q)=e^{-\frac{max(d^2-2\sigma^2, 0.0)}{h^2}} w(p,q)=eh2max(d22σ2,0.0)
h h h是滤波系数,控制指数函数衰减从而改变欧氏距离的权重。
在这里插入图片描述
如上图所示, p p p为去噪的点,因为 q 1 q1 q1 q 2 q2 q2的邻域与 p p p相似,所以权重和比较大,而邻域相差比较大的点 q 3 q3 q3的权重值很小。

参考资料:
xiaoluo91 非局部均值去噪(NL-means):含python代码
图像去噪算法:NL-Means和BM3D(转载+个人笔记)
最经典最新的图像去噪算法

论文:

  1. Antoni Buades, Bartomeu Coll, and Jean-Michel Morel, Non-Local Means Denoising, Image Processing On Line, 1 >(2011). http://dx.doi.org/10.5201/ipol.2011.bcm_nlm
  2. Jacques Froment, Parameter-Free Fast Pixelwise Non-Local Means Denoising, Image Processing On Line, 4 (2014), pp. 300–326. http://dx.doi.org/10.5201/ipol.2014.120

NL-means加速算法

构造积分图像:
S t ( x ) = ∑ z 1 ≤ x 1 , z 1 ≤ x 2 s t ( z ) , x = ( x 1 , x 2 ) S_t(x)=\sum_{z_{1} \leq x_1, z_{1} \leq x_2}s_t(z),x=(x_1,x_2) St(x)=z1x1,z1x2st(z),x=(x1,x2)
其中, s t ( z ) = ∑ i = 1 3 ∑ j ∈ B ( 0 , f ) ( u i ( p + j ) − u i ( q + j ) ) 2 s_t(z)=\sum_{i=1}^{3}\sum_{j\in B(0,f)}(u_i(p+j)-u_i(q+j))^2 st(z)=i=13jB(0,f)(ui(p+j)ui(q+j))2
则,计算 x x x y = x + t y=x+t y=x+t间的距离:
d 2 ( B ( x , f ) , B ( y , f ) ) = 1 3 ( 2 f + 1 ) 2 ∑ i = 1 3 ∑ j ∈ B ( 0 , f ) ( u i ( p + j ) − u i ( q + j ) ) 2 d^2(B(x,f),B(y,f))=\frac{1}{3(2f+1)^2}\sum_{i=1}^{3}{\sum_{j\in B(0,f)}{(u_i(p+j)-u_i(q+j))^2}} d2(B(x,f),B(y,f))=3(2f+1)21i=13jB(0,f)(ui(p+j)ui(q+j))2
参考资料:
积分图像的应用(二):非局部均值去噪(NL-means)
论文:Jacques Froment, Parameter-Free Fast Pixelwise Non-Local Means Denoising, Image Processing On Line, 4 (2014), pp. 300–326. http://dx.doi.org/10.5201/ipol.2014.120

BM3D 3维块匹配滤波 去噪算法

图像去噪算法大致可以分为:空域方法(spatial method) 利用图片中不同位置的相似信息进行去噪,例如上面的NL-means和NL-Bayes;变换域方法(transform method),转换到其他空间,如频域,在利用对有效信号与噪声的特性进行降噪,例如小波萎缩法。BM3D算法综合了NLM和小波萎缩两种算法,利用了NLM的块之间相关性(inter-patch correlation)和小波萎缩法的块内相关性(intra-patch correclation),是当前行之有效的去噪算法。
在这里插入图片描述
BM3D算法流程如上,分为两大步:Step 1 基础估计;Step 2 最终估计。
每个步骤中分为三小步:相似块分组(Grouping),协同滤波(Collaborative Filtering)和聚合(Aggregation)。Step 1中用Hard-thresholding进行协同滤波,Step 2中用维纳滤波方法进行协同滤波。

在资料最经典最新的图像去噪算法中,博文论述的每一步的具体步骤。下文会进行转载与加工。

协同滤波

协同取自字面意思,就是说同组内的 n n n个块以某种合作的方式来滤波。假设每一个块都有独立的二维变换, n n n个块的总有效变换系数为 α n \alpha n αn;然而我们的这一组块取的是相似度高的一些块,这样会有很多冗余信息。所以,作者提出对整租进行三维变换(即对二维变换后的所有块再进行一个一维变换),其有效变换系数近似于 α \alpha α

两个小块之间的相似度匹配

参考资料:
BM3D图像去噪算法
最经典最新的图像去噪算法

论文:

  1. K. Dabov, A. Foi, V. Katkovnik, and K. Egiazarian, “Image denoising by sparse 3D transform-domain collaborative filtering,” IEEE Trans. Image Process., vol. 16, no. 8, pp. 2080-2095, August 2007.
  2. K. Dabov, A. Foi, V. Katkovnik, and K. Egiazarian, “Image denoising with block-matching and 3D filtering,” Proc. SPIE Electronic Imaging '06, no. 6064A-30, San Jose, California, USA, January 2006.
  3. http://www.cs.tut.fi/~foi/GCF-BM3D/
  4. Marc Lebrun, An Analysis and Implementation of the BM3D Image Denoising Method, Image Processing On Line, 2 (2012), pp. 175–213.

Randomized Redundant DCT

前面两种算法感觉都有点慢,这篇文章作者给出的算法确实效率很高,但还是达不到笔者想要的效果。最终还是回归深度学习。
文章主页:Randomized Redundant DCT: Efficient Denoising by Using Random Subsampling of DCT Patches
Code: git

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值