前言
先思考几个问题:
- 你是否在全网苦寻【图像去噪(Image Denoising)】的相关资料?
- 你的目标是否是看懂【图像去噪(Image Denoising)】的相关论文,复现代码,跑出结果,并试图创新?
- 你是否需要发表【图像去噪(Image Denoising)】的相关论文毕业?
- 你是否需要做【图像去噪(Image Denoising)】的相关项目,开发软件,研究算法,获得专利或者软著?
- …
只要是与【图像去噪(Image Denoising)】有关的问题,那么请继续往下看。
以刚读研的研究生为例,进组后导师让你研究与【图像去噪(Image Denoising)】的相关课题,但又没有时间指导你,只能自己研究。
这个时候你该怎么办呢?刚入门的小白,什么也不了解,只能是自己搜集资料或者问师兄师姐。
如果你问师兄师姐,怎么搞科研啊?如何看懂论文啊?如何读懂复杂的代码啊?
他们大概率会回复你:硬啃。一句一句地读论文呢,一行一行地理解代码。无他,唯手熟尔。
你摇了摇头,觉得他们“自私”,没有把“看家本领”传授于你。于是,你开始像无头苍蝇一样,试图寻找好的学习方法,希望通过一种好的学习方法来提升科研效率。
想法很好,但浪费时间和精力,而且没有开始真正的学习,只是在学习的边缘徘徊。其实,就差一步,管它科研难不难,学就完事了。
学习无捷径,大道至简,先学起来,再慢慢修正学习路线,最后到达顶峰。
很幸运你看到了本文,本专栏的意义就在于用我走过的路,带领你开始学习,避免“找方法找资料”这种费时费力的弯路。领先实验室同门,早发论文,早做项目,受导师青睐,尽早达到毕业要求好去实习。
三年时间转瞬即逝,必须马上开始!而你要做的,只是认认真真的读完每一篇专栏内的文章即可,相信你一定会有收获,科研能力越来越强,顺利完成你的目标。
说点肺腑之言,感兴趣的话继续往下看。
适配人群
急需入门【图像去噪(Image Denoising)】的朋友,具体为:
- 看不懂论文、写不出代码、无创新思路的新手小白,希望快速入门
- 课题与去噪相关,需要发论文毕业的本科生和研究生(硕士、博士),导师放养或缺乏科研能力以及论文写作经验的实验室难兄难弟
- 需要论文、专利、软著等评职称的相关人员
- 有做去噪相关项目的本科生、研究生(硕士、博士)、企业开发人员、算法工程师等
如果你符合上面的某一条,不用担心,继续往下看即可。
专栏简介
专栏名称暂定为【Pytorch深度学习图像去噪算法100例】。顾名思义,共三点限制:
- 专栏内涉及的算法都是基于深度学习的图像去噪算法。非深度学习的可能只介绍BM3D,用做实验对比方法的baseline(类似超分的Bicubic)。
- 所有算法都是基于Pytorch框架实现的。论文公开的源码是Pytorch的我们就基于源码复现,不是用Pytorch框架实现或者未公开源码的算法,我会用Pytorch重新复现一遍,以达成代码的统一,方便大家做实验。
- 暂时先定一个小目标,讲100篇论文,复现100篇代码。达成后,再往上增加。
专栏内文章主要为两部分:【论文精读】与【论文复现】
-
论文精读:读懂论文,总结提炼,聚焦核心内容,不只是全文翻译
-
论文复现:跑通流程,源码解析,提升代码能力,得到去噪结果以及指标计算
更具体详细的内容见“阅读方法”。
专栏亮点
- 省时:图像去噪领域论文全覆盖,算法模型全,主流的算法模型都会涉及结合能搜集到的资料深入浅出解读,按顺序阅读即可,节省搜论文的时间。【论文复现】文章末尾会提供训练好各放大倍数下的最优性能(PSNR/SSIM)模型权重文件,读者可以下载直接使用,方便论文中实验部分方法对比(视觉效果和量化指标)或直接应用模型超分自己的图像数据。
- 省力:大白话讲解,手把手教学,带你读懂论文,跑通代码,提升代码能力,理解文章的算法和创新点,避免一个人对着论文死磕但还是不理解的情况出现。按部就班,肯定能跑出好的模型结果,帮助你了解论文内容和结构,积少成多,学会写论文。同时,让你少走弯路,避免模型调参四处碰壁,涉及的模型都提供训练好的权重文件,可以直接拿来测试自己的图像。
- 省事:努力做全网最全最好最详细的【图像去噪】专栏,专栏永久更新,第一时间更新最新的图像去噪领域,关注订阅后一劳永逸,关注账号后更新了会私信告知。有问题可以随时留言交流。
阅读方法
【论文精读】 文章结构按照论文的结构包含全文翻译、关键信息提炼,信息总结等。作者自己的总结以及注解以红色加粗和绿色加粗呈现。阅读和之前工作相比创新改进的地方,如网络结构(重点)、损失函数等。
根据自身情况,选择以下 【论文精读】 的阅读方式:
- 有写论文需求的朋友:对照原论文,全文阅读。除了看懂论文提出的方法外,还需要培养“讲故事”能力,深化论文细节,为论文写作做准备。
- 想快速理解文章的朋友:略读文章翻译部分,重点看加粗红字的提炼总结。
- 只想了解文章创新:看摘要和介绍部分末尾提出的创新贡献+网络结构,然后直接跳转到文末的复现文章。
上述三种情况对应的论文结构:
- Abstract (1、2、3;无论哪种情况都应该看摘要)
- Introduction(1、2;搞懂motivation,找创新思路)
- Related Work(1)
- The Proposed Method(1、2、3;1全看,2和3看重点)
- Experimental(1;实验部分重点在对应的【论文复现】文章中)
- Conclusion (1)
补充:如果你符合第一种情况,那么应该以审稿人的角度来看文章。如果你是审稿人,你会先看哪里,后看哪里,重点看哪里,以及给这篇文章什么审稿结果?问题的答案就是你在写论文的时候应该注意的东西。
【论文复现】 文章结构:
- 跑通代码:拿到任何一个代码项目,首先要做的就是根据README.md先跑通,【复现】文章的第一部分就相当于README,即使用手册。根据路径放置好数据集,跑通训练代码,训练完跑通测试代码。如果有已经训练好的模型,可以直接推理测试。
- 代码解析:详细讲解全部代码,注释丰富,网络结构以及相关参数与论文一致。代码结构一般为数据预处理、网络结构实现、训练、测试、其他补充代码。重点在于网络结构以及特殊损失函数的实现,其他部分大同小异。尽量复现出与原论文一致的结果。
- 总结与思考:记录复现过程中遇到的问题,思考可能的改进提升。附带完整代码和训练好的模型权重文件下载链接。
根据自身情况,选择以下 【论文复现】 的阅读方式:
- 只需要结果(去噪后的结果图像、计算测试集指标PSNR/SSIM):只看1. 跑通代码
- 为了提升代码能力,实现论文与代码对应,改进结构:1.2.3全看
定价理由
专栏原价299.9,目前特价99.9,订阅满10人恢复原价,先到先得!!!
为什么选择本专栏?
- 和其他能搜到的去噪专栏相比,本专栏文章数量更多,质量更高。预计更新100个图像去噪算法,每个算法两篇文章,平均每篇文章的价格为99.9/200 ≈ 0.5元,文章保质保量,专栏文章平均质量分为96。少吃半顿海底捞,就能解决一个大麻烦。
其他兄弟专栏:
- 以硕士期间从研一到研二下学期一年半180天发出小论文计算,平均每天为99.9/180 = 0.56。也就是说,每天只花0.56元就可以获得一个一劳永逸的学习专栏,何乐而不为?对发论文、研究算法、做项目、以后找工作都有帮助,很快就可以回本。
- 以时间计算,180天只需每天花一小部分时间复现一篇论文,努力一下可以复现两篇,何况也不一定专栏内所有文章都看。试想一下,当其他人还在花费大量时间啃论文啃代码焦头烂额时,你已经不费吹灰之力,领先于人了。
- 为知识付费,为学习投资,形成知识体系,提升代码能力,还可以拓展人脉(订阅可加交流群),潜在价值远非价格可比。
- 避免毕业困难,自信受挫,失去学习热情
品质承诺
- 【论文精读】和【论文复现】文章保质保量。文章质量参考两篇DnCNN的置顶文章,请先试读:
【图像去噪】论文精读:Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising(DnCNN)
【图像去噪】论文复现:新手入门必看!DnCNN的Pytorch源码训练测试全流程解析!为源码做详细注释!补充DnCNN-B和DnCNN-3的模型训练和测试!附各种情况下训练好的模型权重文件! - 不满意可全额退款,订阅无任何风险。
关于更新
本专栏永久更新。为了保证文章质量,更新速度会慢一些。更新了会群发消息通知,所以请订阅专栏的朋友一定要关注我,否则收不到更新通知。
环境配置
项目环境:
- 编译器:pycharm
- cuda:torch 1.12.1
- 操作系统:windows11本地运行(RTX 4070Ti Super)本地运行或Linux服务器(4个Titan RTX GPU)
只要不是太差的显卡,专栏内的算法都可以跑。
不建议CPU运行。
复现文章中提供的代码在Windows和Linux下均可运行!
去噪概述
噪声主要分为两类:
-
合成噪声(Synthetic Noise),一般指在“干净”图像上添加高斯白噪声(Additive White Gaussian Noise,AWGN)
-
真实噪声(Real Noise),即相机拍照时图像上的真实噪声。一般以真实图像作为带噪图像输入,mean作为Ground-truth。
对应噪声分类,产生了两个不同的研究方向以及算法:
- 基于合成噪声:一般是高斯白噪,便于量化和设计实验;如DnCNN,FFDNet
合成噪声去噪示例:
- 基于真实噪声:真实世界的盲去噪问题,真实图像的噪声分布是未知的,可能是某些不同噪声类型和分布的叠加。有用泊松-高斯模拟,用ISP相机产生噪声的原理模拟等,属于摸着石头过河,需要很强的统计学、图像信号功底;如CBDNet,RIDNet,VDNnet
真实噪声去噪示例:
- 以及两者通用的算法。
文章目录
- 【图像去噪】论文精读:Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising(DnCNN)
- 【图像去噪】论文复现:新手入门必看!DnCNN的Pytorch源码训练测试全流程解析!为源码做详细注释!补充DnCNN-B和DnCNN-3的模型训练和测试!附各种情况下训练好的模型权重文件!
- 【图像去噪】论文精读:FFDNet: Toward a Fast and Flexible Solution for CNN based Image Denoising
- 【图像去噪】论文复现:适合新手小白的Pytorch版本FFDNet复现!详解FFDNet源码!数据处理、模型训练和验证、推理测试全流程讲解!新手小白都能看懂,学习阅读毫无压力,去噪入门必看!
- 【图像去噪】论文精读:Toward Convolutional Blind Denoising of Real Photographs(CBDNet)
- 【图像去噪】论文复现:适合新手小白的Pytorch版本CBDNet复现!轻松跑通训练和测试代码!简单修改路径即可训练自己的数据集!代码详细注释!数据处理、模型训练和验证、推理测试全流程讲解!
- 【图像去噪】论文精读:Real Image Denoising with Feature Attention(RIDNet)
- 【图像去噪】论文复现:适合新手小白的Pytorch版本RIDNet复现!轻松跑通训练和测试代码!RIDNet网络结构实现拆解!简单修改路径即可训练自己的数据集!模型训练推理测试全流程讲解!
- 【图像去噪】论文精读:Very Deep Convolutional Encoder-Decoder Networks with Symmetric Skip Connections(REDNet)
- 【图像去噪】论文复现:Pytorch实现REDNet的三种结构!简单修改路径即可跑通全部代码并训练自己的数据集!支持灰度图和RGB图训练!附训练好的模型文件可直接测试图像得到去噪结果以及评价指标!
- 【图像去噪】论文精读:MemNet: A Persistent Memory Network for Image Restoration
资料汇总(持续更新中。。。)
数据集:
- BSD:https://www2.eecs.berkeley.edu/Research/Projects/CS/vision/bsds/
- CBSD68:https://github.com/clausmichele/CBSD68-dataset
- Nam:http://snam.ml/research/ccnoise(已失效,可以从其他算法的源码中找到)
- 汇总:https://blog.csdn.net/iteapoy/article/details/86062640
- DND:https://noise.visinf.tu-darmstadt.de/
- McMaster:https://www4.comp.polyu.edu.hk/~cslzhang/CDM_Dataset.htm
- SIDD:https://abdokamel.github.io/sidd/
- PolyU:https://github.com/csjunxu/PolyU-Real-World-Noisy-Images-Dataset
注:数据集耐心点搜都能找到,优先官方下载,有的官方失效了在Github上找(可能在某个论文的源码中)。