深度学习图像去噪项目pytorch实战-第一章“理论部分”

左图添加了sigma=25的高斯噪声,右图为简单训练后的DnCNN的去噪后图像,不代表DnCNN最好的去噪效果。

正文

图像去噪的方法多种多样,传统视觉领域有多种滤波方法来除去图像中的噪声,但对于一些领域中我们无法清楚描述所面临的噪声信号特征时,传统图像处理方法就显得比较吃力。而此时深度学习就体现了他对于复杂非线性函数的强大拟合能力,即使我们不知道问题本质。

本文主要集中在讨论深度学习算法的图像去噪。本项目需要有一定的深度学习基础知识,了解CNN以及python的代码能力。

第一节:

图像去噪领域中,又可以细分为很多种去雨,去雾等,都可以看成图像去噪的一种特殊任务。在本项目中,我们只讨论对图像中高斯噪声的去除。

深度学习的图像去噪模型里面,DnCNN令人影响深刻,他提出了不直接让模型对真实图像进行还原,而是学习图像噪声的残差,从而使得模型能够解析带噪图像中的噪声。

这里我们简单分析一下文章的理论。由于编辑起来太过复杂,这里就不写出详细公式了,简要说明一下:

y =x + v

这里的x是我们真实图像,或者叫label,标签,就是我们的Ground Truth。而y是代表我们观测到的,具有噪声的图像信号。v就是y图像中所含有的噪声。(其实这里我有个问题,即他这里默认了噪声是加性噪声,实验部分也是对真实图像加上高斯噪声,那么对于不是加性噪声的情况该怎么做?)

DnCNN的主旨就是,模型不再直接地去预测x,而是预测v,通过y-v来计算去噪后的图像。模型的输入与以往模型相同,仍是y。

附上论文链接,供想要深入了解的同学参考:https://arxiv.org/pdf/1608.03981

第二节:

再了解了第一节内容后,我们就知道了:想要实现DnCNN的图像去噪,我们的任务就是训练模型去建立图像噪声的残差信号。而我们需要有一个图像数据集以及对应的含有噪声的图像数据集,怎么去建立这样的一个数据集呢?很简单,我们这里采用了KODAK24数据集,他有24张真实图像,包含各种场景。噪声图像的获取,我们直接对真实图像加上高斯噪声:

        noise = torch.randn(img_y.size()).mul_(self.sigma / 255.0)
        img_x = img_y + noise #img_y为Ground Truth

到这我们就已经完成了对DnCNN去噪原理以及如何构建高斯噪声图像数据集的知识学习。

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值