图像降噪算法介绍及实现汇总

2018 年 1 月 3 日 极市平台 Bihan Wen


↑ 点击蓝字关注极市平台 识别先机 创造未来



文章来源:然而并 - 知乎专栏



图像降噪,是最简单也是最基础的图像处理逆问题(inverse problem)


大多数情况下,图像降噪都是ill-posed的问题。因为通过有噪音的观察,总是无法逆向求得唯一正确的干净图片。就好像让你解一个超越方程一样,不借助其他额外的条件信息,是没有唯一解的。


降噪问题(这里只讨论additive noise),用最简单的数学语言一句话就可以描述清楚:y = x + e


y是你观察到的带噪音的图像,e是噪音,x是干净无噪音的图像。只已知y,外加e的概率分布,降噪问题需要你去寻找最接近真实值的x。


说起来降噪问题如此简单明了,但自从信号处理开宗立派起,研究人员一直在孜孜不倦地提出各种降噪算法。我最早也没搞懂,大家何必纠结于这么简单的问题,而不去考虑更复杂,更贴近实际的花哨应用?


然而世间万物的规律,万变不离其中:不管多复杂问题,其本质往往都有简单的起源。而看似简单的问题,往往却是高手一身修行的追求:就好像考察一个书法家功力,看他写一个永字就好;看一个川菜厨师功力,看他做一道开水白菜就好。


科研之道和其他道也类似,简单的任务见到的是这个approach的潜力:这仅仅是起点,而不是终点。一个好的科研者应该要着眼于起点,追求问题的本源,然后拓展到未来,此为道。只追求花哨的应用,拼凑堆叠,舍本求末甚至本末倒置,只能为术。


好吧,扯远了。我就是想说,图像降噪问题,最简单也最困难。


那么要怎么解好这个逆问题呢?


降噪的本质,是要从观测值中分离噪音,保留图像。算法的关键,是要掌握并借助于图像本身独特的性质和结构。具体用什么性质,这个流派就多了,我在这里就先提供一个不完全总结,关于近期的一些好的图像降噪算法。


根据算法利用了什么图像性质,或者用到的手段,我大概把各种算法分成如下几类:

  1. 滤波类

  2. 稀疏表达类

  3. 外部先验

  4. 聚类低秩

  5. 深度学习


我根据我的了解,对于每一个类比总结了一个常见算法列表。


入选的算法要满足:1.近期(05年以后)提出的算法,2.有可复现的代码提供,3.可以得到很好,或者接近state-of-the-art的效果。


由于我的水平有限,希望同行高手来帮这个public repo添砖加瓦。


以下是可复现的图像降噪算法列表,包含了简要的算法介绍,若想了解算法详情,可在该链接中查看:https://github.com/wenbihan/reproducible-image-denoising-state-of-the-art


Filter
  • NLM

A non-local algorithm for e denoising (CVPR 05), Buades et al.

  • BM3D

Image restoration by sparse 3D transform-domain collaborative filtering (SPIE Electronic Imaging 2008), Dabov et al.

  • PID

Progressive Image Denoising (TIP 2014), C. Knaus et al.


Sparse Coding
  • KSVD

Image Denoising Via Sparse and Redundant Representations Over Learned Dictionaries (TIP 2006), Elad et al.

  • LSSC

Non-local Sparse Models for Image Restoration (ICCV 2009), Mairal et al.

  • NCSR

Nonlocally Centralized Sparse Representation for Image Restoration (TIP 2012), Dong et al.

  • OCTOBOS

Structured Overcomplete Sparsifying Transform Learning with Convergence Guarantees and Applications (IJCV 2015), Wen et al.

  • GSR

Group-based Sparse Representation for Image Restoration (TIP 2014), Zhang et al.


Effective Prior
  • EPLL

From Learning Models of Natural Image Patches to Whole Image Restoration (ICCV2011), Zoran et al.

  • GHP

Texture Enhanced Image Denoising via Gradient Histogram Preservation (CVPR2013), Zuo et al.

  • PGPD

Patch Group Based Nonlocal Self-Similarity Prior Learning for Image Denoising (ICCV 2015), Xu et al.

  • PCLR

External Patch Prior Guided Internal Clustering for Image Denoising (ICCV 2015), Chen et al.


Low Rank
  • SAIST

Nonlocal image restoration with bilateral variance estimation: a low-rank approach (TIP2013), Dong et al.

  • WNNM

Weighted Nuclear Norm Minimization with Application to Image Denoising (CVPR2014), Gu et al.

  • Multi-channel Weighted Nuclear Norm

Multi-channel Weighted Nuclear Norm Minimization for Real Color Image Denoising (ICCV 2017), Xu et al.


Deep Learning
  • SF

Shrinkage Fields for Effective Image Restoration (CVPR 2014), Schmidt et al.

  • TNRD

Trainable nonlinear reaction diffusion: A flexible framework for fast and effective image restoration (TPAMI 2016), Chen et al.

  • DnCNN

Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising (TIP2017), Zhang et al.


Combined with High-Level Tasks
  • Meets High-level Tasks

When Image Denoising Meets High-Level Vision Tasks: A Deep Learning Approach (Arxiv2017), Ding Liu, Bihan Wen, Xianming Liu, Thomas S. Huang.


Benchmark
  • Darmstadt

Benchmarking Denoising Algorithms with Real Photographs (CVPR 2017), Tobias Plotz, Stefan Roth.


下面对于这几类算法的一些简略地解释:


滤波类:相对比较传统的一类算法,通过设计滤波器对图像进行处理。特点是速度往往比较快,很多卷积滤波可以借助快速傅里叶变化来加速。近期的一些算法例如BM3D也结合了一些block matching来利用图片的self-similarity,达到了很棒的效果。


稀疏表达类:自然图片之所以看起来不同于随机噪音/人造结构,是因为大家发现他们总会在某一个模型(synthesis model或者analysis model)下存在稀疏表达。而我们想排除的噪音往往无法被稀疏化。基于这个判别式模型(discriminative model),用稀疏性来约束自然图像,在很多逆问题里取得了拔群的效果。


外部先验(external prior):如果从有噪音的图片本身无法找到规律,我们也可以借助其他类似但又没有噪音的图片,来总结图片具有的固有属性。这一类方法利用的外部图片来创造先验条件,然后用于约束需要预测的图片。最有代表性的工作,就是混合高斯模型(Gaussian Mixture Model)。严格来说,基于深度学习的算法也可以归于这个类。


聚类低秩(Low-Rankness):除了可稀疏性,低秩性也是自然图片常见的一个特性。数学上,可稀疏表达的数据可以被认为是在Union of low-dimensional subspaces;而低秩数据则是直接存在于一个Low-dimensional subspace。这个更严格的限制往往也可以取得很好的降噪效果。


深度学习(Deep Learning):这类可以归于外部先验的子类,但由于近期大热,我单独拿出来说说。如果说解决逆问题的关键,是寻找一个好的图像约束器(regularizer),那么我们为什么不用一个最好的约束器?深度学习方法的精髓,就在于通过大量的数据,学习得到一个高复杂度(多层网络结构)的图片约束器,从而将学习外部先验条件这一途径推到极限。近期的很多这类工作,都是沿着这一思路,取得了非常逆天的效果。



- 文章推荐 -

利用卷积自编码器对图片进行降噪



加入极市Email List (http://extremevision.mikecrm.com/pdKKGSx,获取极市最新项目需求,以及前沿视觉资讯等。


登录查看更多
25

相关内容

图像降噪是图像处理中的专业术语。现实中的数字图像在数字化和传输过程中常受到成像设备与外部环境噪声干扰等影响,称为含噪图像或噪声图像。减少数字图像中噪声的过程称为图像降噪,有时候又称为图像去噪。
专知会员服务
137+阅读 · 2020年5月19日
机器学习速查手册,135页pdf
专知会员服务
335+阅读 · 2020年3月15日
《深度学习》圣经花书的数学推导、原理与Python代码实现
强化学习和最优控制的《十个关键点》81页PPT汇总
专知会员服务
102+阅读 · 2020年3月2日
Transformer文本分类代码
专知会员服务
116+阅读 · 2020年2月3日
注意力机制介绍,Attention Mechanism
专知会员服务
165+阅读 · 2019年10月13日
图像/视频去噪算法资源集锦
专知
17+阅读 · 2019年12月14日
17种深度强化学习算法用Pytorch实现
新智元
30+阅读 · 2019年9月16日
【干货】机器学习中的五种回归模型及其优缺点
机器学习算法与Python学习
7+阅读 · 2018年8月10日
【干货】强化学习介绍
专知
11+阅读 · 2018年6月24日
实战 | 手把手教你用PyTorch实现图像描述(附完整代码)
图解机器学习的常见算法
机器学习算法与Python学习
5+阅读 · 2018年4月2日
一文读懂「Attention is All You Need」| 附代码实现
PaperWeekly
36+阅读 · 2018年1月10日
机器学习(4)之线性判别式(附Python源码)
机器学习算法与Python学习
13+阅读 · 2017年7月11日
Compositional Generalization in Image Captioning
Arxiv
3+阅读 · 2019年9月16日
Image Captioning based on Deep Reinforcement Learning
Video-to-Video Synthesis
Arxiv
9+阅读 · 2018年8月20日
Arxiv
7+阅读 · 2018年6月1日
Arxiv
11+阅读 · 2018年5月13日
Arxiv
25+阅读 · 2017年12月6日
Arxiv
3+阅读 · 2017年8月15日
VIP会员
相关VIP内容
专知会员服务
137+阅读 · 2020年5月19日
机器学习速查手册,135页pdf
专知会员服务
335+阅读 · 2020年3月15日
《深度学习》圣经花书的数学推导、原理与Python代码实现
强化学习和最优控制的《十个关键点》81页PPT汇总
专知会员服务
102+阅读 · 2020年3月2日
Transformer文本分类代码
专知会员服务
116+阅读 · 2020年2月3日
注意力机制介绍,Attention Mechanism
专知会员服务
165+阅读 · 2019年10月13日
相关资讯
图像/视频去噪算法资源集锦
专知
17+阅读 · 2019年12月14日
17种深度强化学习算法用Pytorch实现
新智元
30+阅读 · 2019年9月16日
【干货】机器学习中的五种回归模型及其优缺点
机器学习算法与Python学习
7+阅读 · 2018年8月10日
【干货】强化学习介绍
专知
11+阅读 · 2018年6月24日
实战 | 手把手教你用PyTorch实现图像描述(附完整代码)
图解机器学习的常见算法
机器学习算法与Python学习
5+阅读 · 2018年4月2日
一文读懂「Attention is All You Need」| 附代码实现
PaperWeekly
36+阅读 · 2018年1月10日
机器学习(4)之线性判别式(附Python源码)
机器学习算法与Python学习
13+阅读 · 2017年7月11日
相关论文
Compositional Generalization in Image Captioning
Arxiv
3+阅读 · 2019年9月16日
Image Captioning based on Deep Reinforcement Learning
Video-to-Video Synthesis
Arxiv
9+阅读 · 2018年8月20日
Arxiv
7+阅读 · 2018年6月1日
Arxiv
11+阅读 · 2018年5月13日
Arxiv
25+阅读 · 2017年12月6日
Arxiv
3+阅读 · 2017年8月15日
Top
微信扫码咨询专知VIP会员