可复现的图像降噪算法总结

2020 年 1 月 2 日 计算机视觉life

点击上方“计算机视觉life”,选择“星标”

快速获得最新干货

来源:https://zhuanlan.zhihu.com/p/32502816

本文仅用于学习交流分享,如有侵权请联系删除


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

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

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

y = x + e

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

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

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

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

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

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

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

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

  1. 滤波类

  2. 稀疏表达类

  3. 外部先验

  4. 聚类低秩

  5. 深度学习


我根据我的了解,对于每一个类比总结了一个常见算法列表:wenbihan/reproducible-image-denoising-state-of-the-art

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

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


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

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


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

github.com/wenbihan/rep

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


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


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


对于我总结的每一个类别,我都在创建的【github page】里面列举了一些推荐的工作,并且附带其可复现的代码实现。(你还在为写paper跑实验,不知道和哪些baseline做对比吗?还在为读了paper不知道怎么实现算法而苦恼吗?还在不知道怎么上手吗?请猛戳这里,-_-||)

https://github.com/wenbihan/reproducible-image-denoising-state-of-the-art

根据我的经验,基本上主流的图像降噪算法,都可以被放到这上面的5种类型中。

其他参考资料

https://www.zhihu.com/question/67938028/answer/259014596

https://www.zhihu.com/question/66359919/answer/241936523


交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、检测分割识别、三维视觉、医学影像、GAN、自动驾驶、计算摄影、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

投稿、合作也欢迎联系:simiter@126.com

长按关注计算机视觉life


推荐阅读

最全综述 | 医学图像处理

最全综述 | 图像分割算法

最全综述 | 图像目标检测

目标检测技术二十年综述

综述 | CVPR2019目标检测方法进展
参加 CVPR 2019 技术见闻总结

现在投身于计算机视觉是否明智?

如何激怒一个自动驾驶(无人驾驶、智能汽车)爱好者?

原来CNN是这样提取图像特征的。

AI资源对接需求汇总:第1期
AI资源对接需求汇总:第2期
AI资源对接需求汇总:第3期

计算机视觉方向简介 | 人体骨骼关键点检测综述

计算机视觉方向简介 | 人脸识别中的活体检测算法综述

计算机视觉方向简介 | 目标检测最新进展总结与展望

计算机视觉方向简介 | 人脸表情识别

计算机视觉方向简介 | 人脸颜值打分

计算机视觉方向简介 | 深度学习自动构图

计算机视觉方向简介 | 基于RGB-D的3D目标检测

计算机视觉方向简介 | 人体姿态估计


最新AI干货,我在看  

登录查看更多
1

相关内容

图像降噪是图像处理中的专业术语。现实中的数字图像在数字化和传输过程中常受到成像设备与外部环境噪声干扰等影响,称为含噪图像或噪声图像。减少数字图像中噪声的过程称为图像降噪,有时候又称为图像去噪。
【人大】图实现算法综述与评测分析
专知会员服务
37+阅读 · 2020年4月28日
基于深度学习的多标签生成研究进展
专知会员服务
142+阅读 · 2020年4月25日
3D目标检测进展综述
专知会员服务
191+阅读 · 2020年4月24日
【经典书】数据结构与算法C++,第二版,738页pdf
专知会员服务
167+阅读 · 2020年3月27日
《深度学习》圣经花书的数学推导、原理与Python代码实现
NLP基础任务:文本分类近年发展汇总,68页超详细解析
专知会员服务
73+阅读 · 2019年10月19日
CVPR 2019视频描述(video caption)相关论文总结
极市平台
8+阅读 · 2019年10月16日
干货 | 基于深度学习的目标检测算法综述(二)
AI科技评论
21+阅读 · 2018年8月20日
SVM大解密(附代码和公式)
AI100
6+阅读 · 2018年4月7日
刘知远:近年来开源的算法代码、工具包列表
数据派THU
6+阅读 · 2018年3月27日
图像降噪算法介绍及实现汇总
极市平台
25+阅读 · 2018年1月3日
各种机器学习的应用场景分别是什么?
AI研习社
4+阅读 · 2017年12月2日
【回顾】从零开始入门机器学习算法实践
AI研习社
5+阅读 · 2017年11月28日
Neural Image Captioning
Arxiv
5+阅读 · 2019年7月2日
Arxiv
4+阅读 · 2018年11月7日
Labeling Panoramas with Spherical Hourglass Networks
Deep Randomized Ensembles for Metric Learning
Arxiv
5+阅读 · 2018年9月4日
Arxiv
4+阅读 · 2018年2月13日
Arxiv
3+阅读 · 2017年8月15日
VIP会员
相关VIP内容
【人大】图实现算法综述与评测分析
专知会员服务
37+阅读 · 2020年4月28日
基于深度学习的多标签生成研究进展
专知会员服务
142+阅读 · 2020年4月25日
3D目标检测进展综述
专知会员服务
191+阅读 · 2020年4月24日
【经典书】数据结构与算法C++,第二版,738页pdf
专知会员服务
167+阅读 · 2020年3月27日
《深度学习》圣经花书的数学推导、原理与Python代码实现
NLP基础任务:文本分类近年发展汇总,68页超详细解析
专知会员服务
73+阅读 · 2019年10月19日
相关资讯
CVPR 2019视频描述(video caption)相关论文总结
极市平台
8+阅读 · 2019年10月16日
干货 | 基于深度学习的目标检测算法综述(二)
AI科技评论
21+阅读 · 2018年8月20日
SVM大解密(附代码和公式)
AI100
6+阅读 · 2018年4月7日
刘知远:近年来开源的算法代码、工具包列表
数据派THU
6+阅读 · 2018年3月27日
图像降噪算法介绍及实现汇总
极市平台
25+阅读 · 2018年1月3日
各种机器学习的应用场景分别是什么?
AI研习社
4+阅读 · 2017年12月2日
【回顾】从零开始入门机器学习算法实践
AI研习社
5+阅读 · 2017年11月28日
相关论文
Neural Image Captioning
Arxiv
5+阅读 · 2019年7月2日
Arxiv
4+阅读 · 2018年11月7日
Labeling Panoramas with Spherical Hourglass Networks
Deep Randomized Ensembles for Metric Learning
Arxiv
5+阅读 · 2018年9月4日
Arxiv
4+阅读 · 2018年2月13日
Arxiv
3+阅读 · 2017年8月15日
Top
微信扫码咨询专知VIP会员