一、引言   

一种非局部去噪方法Non-local method[1],可以归类到spatial method中,另外用的比较多的还有transform method,基于transform method的方法在image denoise中也取得了很好的效果,不过理论阐述会比较繁琐,如BLS-GSM-Wavelet。

NLM去噪算法使用的是inter-patchcorrelation,而Wavelet shrinkage使用的则是intra-patch correlation。这两种方法都取得了不错的效果,一个很自然的想法就是:可以同时使用他们两个方法吗?这便导出了BM3D去噪算法[2],算是现在公认的去噪效果最好的算法。

二、理论

BM3D算法主要分两步(按collaborative filtering划分)[3]:

S1、 在collaborative filtering阶段使用hard threshold

S1.1---grouping:在image中寻找相似块,使用hard threshold定义相似性,进而stack into不同的block;

S1.2--- collaborative filtering:对每一个相似grouped block做3D线性变换,shrinkage of the transform spectrum,最后在逆变换得到basic estimate block;

S1.3---aggregation:因为前面每一个patch在3D block逆变换后对应的多个,经验的做法是直接平均所有的块,但更建议根据得到的patch质量,赋予不同的权值加权平均。不难看出aggregation是一个特殊的平均过程,类似于NNLM方法,利用图片的冗余性恢复含噪图片。

S2、步骤和S1类似,如下图,不同之处有两点[2]:

D1、comparethe filtered patches instead of the original patches

D2、使用Wienerfiltering处理新的3D group,而不是 hard thresholding

在实验中发现S2会恢复出更多的图像细节部分,提高去噪性能。

三、算法

算法步骤:

1) findingthe image patches similar to a given image patch and groupingthem in a 3D block

2) 3D linear transform of the 3D block;

3) shrinkage of the transform spectrum coefficients;

4) inverse 3D transformation

BM3D的一个形象比喻……

算法实现:

1、BM3D官网吧,不过matlab版中很多都是加密的脚本,不是很方便:

​http://www.cs.tut.fi/~foi/GCF-BM3D/

2、一篇BM3D的快速实现,提供了源码:http://www.ipol.im/pub/art/2012/l-bm3d/

参考:

[1]      A. Buades, B. Coll, D. Matem, C. V. Km, P.De Mallorca, J. Morel, and E. N. S. Cachan, “A non-local algorithm for imagedenoising,” no. 0, pp. 0–5.

[2]      M.Lebrun, “An Analysis and Implementation of the BM3D Image Denoising Method,” ImageProcess. Line, vol. 2, pp. 175–213, 2012.

[3]      K.Dabov, a Foi, and V. Katkovnik, “Image Denoising by Sparse 3D Transformation-Domain Collaborative Filtering,” vol. 16, no. 8, pp. 1–16,2007.

BM3D图像去噪算法相关推荐

  1. 深度学习图像去噪算法总结

    目前图像去噪算法主要有下面几种方法: 数据预处理 网络结构 多任务结合和先验 1. 数据预处理 1.1 RAW vs RGB 现在越来越多的去噪方法应用于RAW域.RAW域与RGB域比起来,噪声模式更 ...

  2. 最经典最新的图像去噪算法

    图像去噪是非常基础也是非常必要的研究,去噪常常在更高级的图像处理之前进行,是图像处理的基础.可惜的是,目前去噪算法并没有很好的解决方案,实际应用中,更多的是在效果和运算复杂度之间求得一个平衡,再一次验 ...

  3. SSE图像算法优化系列二十一:基于DCT变换图像去噪算法的进一步优化(100W像素30ms)。...

    在优化IPOL网站中基于DCT(离散余弦变换)的图像去噪算法(附源代码) 一文中,我们曾经优化过基于DCT变换的图像去噪算法,在那文所提供的Demo中,处理一副1000*1000左右的灰度噪音图像耗时 ...

  4. 基于DCT变换图像去噪算法的进一步优化(100W像素30ms)

    本篇博文来自博主Imageshop,打赏或想要查阅更多内容可以移步至Imageshop. 转载自:https://www.cnblogs.com/Imageshop/p/9584024.html    ...

  5. 非局部相似性 matlab,基于引导核聚类的非局部均值图像去噪算法

    非局部均值(nonlocal means, NLM)图像去噪算法是根据图像中存在的大量冗余信息,用非局部自相似性原理抑制噪声的算法.最初的NLM算法由文献[ 在NLM改进算法中,文献[[在相似窗结构张 ...

  6. 合成孔径雷达图像去噪算法研究综述

    针对合成孔径雷达中存在的相干噪声问题,对该雷达雷达图像去噪领域的主流算法进行了归纳和总结. 近年来主流的三类SAR图像算法:基于空域滤波的SAR图像去噪算法.基于变换域滤波的SAR图像去噪算法和基于深 ...

  7. 经典全变分图像去噪算法(tv算法)和维纳滤波结合 算法

    经典全变分图像去噪算法(tv算法)这个算法,很经典,网上有很多百度的代码 这里就不再一一赘述了 具体的参考基于偏微分方程与维纳滤波的混合去噪方法 参考网络文献并且给与复现_人工智能专属驿站的博客-CS ...

  8. 经典图像去噪算法概述

    目录 一.图像去噪基础知识 1. 图像去噪模型 2. 图像去噪类型 2.1 噪声类型--融合方式 2.2 噪声类型--概率分布 二.非局部均值图像去噪方法 三.基于图像先验的正则化去噪模型 1. 图像 ...

  9. 【老生谈算法】matlab实现数字图像去噪典型算法——图像去噪算法

    matlab图像去噪算法详解 1.文档下载: 本算法已经整理成文档如下,有需要的朋友可以点击进行下载 序号 文档(点击下载) 本项目文档 [老生谈算法]数字图像去噪典型算法及matlab实现.doc ...

最新文章

  1. HarmonyOS UI开发 StackLayout(堆栈布局) 的使用
  2. 前端性能优化之gzip
  3. 看清上市公司的财务分析
  4. C# 中 ref 和out 的区别
  5. 数据结构与算法的时间空间复杂度
  6. 加载gif图片的方法:(需要SDWebImage方法)
  7. lambda 根据属性去重_扩展lamda表达中distinct按照字段去除重复
  8. win11虚拟机如何安装 Windows11虚拟机安装步骤教程
  9. windows10-seaslog安装笔记
  10. P1491 集合位置
  11. 2020-12-05
  12. 设计模式 单例模式解决线程安全问题
  13. 使用GridView的auto_fit遇到的坑
  14. 【数据库CS751】数据库各种连接的理解(包括自然连接,内连接,外连接)
  15. 搞 AI 建模预测都在用 Python,其实入门用 SPL 也不错
  16. python实现食品推荐_通过Python语言实现美团美食商家数据抓取
  17. postman批量添加 header 小技巧
  18. 一位女程序员兼俩小子妈咪的人生历程(1)
  19. Java 新手笔记(一)
  20. 2022 虎符 pwn mva

热门文章

  1. 彩灯控制器课程设计vhdl_(EDA)基于VHDL八路彩灯控制器设计说明书.doc
  2. H3CSE路由-IPv6过渡技术
  3. Python分布式爬虫框架Scrapy实战
  4. latex 撰写科技报告模板
  5. 墨尔本学计算机硕士专业,2020年墨尔本大学计算机硕士详细介绍
  6. 【Web前端学习之路】JavaScript入门 (黑马课程学习笔记)
  7. 【Unity-怎么做一个FPS游戏】一.场景的搭建和角色的移动
  8. 弃繁就简,一行代码教你摆平Python 日志
  9. 算法实践:武士风度的牛
  10. 回到过去--慢慢的偏离了自己的轨迹