本文写于2023/6/30,是对上半年在结题的压力下,从小白近乎零基础到50天内完成本深度学习项目的回顾与总结。
由于时间等各种原因除系统前后端初期不是本人设计,其余技术路线文档等都由本人主要负责。
对于去噪和超分辨率的算法性能不作横向对比展开,本文仅描述本项目的学习应用和搭建过程。
时间安排:
- 前40天时间花在深度学习代码上。
- 一是理解卷积网络结构作用,输入输出维度,花费大约20天。主要是跟吴恩达的课程。
- 二是对神经网络源代码结构进行注释、理解源代码的训练、测试代码,判断是否符合本项目要求,是否需要进行训练和测试并保留相关数据,这部分和一同步进行,由于涉及模型训练,花费大约在理解代码结构后15天基本完成。主要是对每个不懂的代码语句进行搜索理解。此时大约一个月多一点。
- 三、在测试理解后,进行功能扩展和完善。由于考虑到使用卷积网处理缩放导致的差异效果,使用了切割处理再合并的过程。
- 前后端系统整合添加新功能也花费大概10天左右。加入页面对比,完善处理页面按钮功能。主要参考b站课程和csdn.
- 剩下几天时间,准备结题文档。
基础和技术路线学习重点:
- 最重要的一点:心态一定要稳!!!
- 零基础做项目也不用慌,学会用GitHub源码,获取想要的项目资源。
- 深度学习能不用自己的电脑最好,Google colab或租服务器。我后期租了个Autodl的。前期配深度学习环境对于新手而言很麻烦,很容易改到崩溃,有的甚至都google不到答案。anaconda我重装了3次,还有本机的cuda toolkit。
- 大创结题要求不大,实际上有成果就行,不然就吹成果。重点是得到一个自己的可运行软件,能够理解软件的运行过程。
- 作者有javaweb基础所以对SpringBoot+Mybatis plus+Vue上手容易。
- 本系统深度模型可以考虑云部署进行优化。
- 图像处理模型感觉都是以模型堆砌杂糅和用不同训练集测试集,实验取得一定成绩就可以发paper
效果展示
原噪声图
去噪结果图
金字塔真实图像去噪网络(PRIDNet)参考资料
Abstract
作者团队提出了用于real-wolrd noisy images的盲去噪(blind denoising)的PRIDNet。网络结构包括顺序连接的3个部分:Noise Estimation(探讨特征通道的相对重要性)、Multi-scale Denoising(使用金字塔池化进行多尺度特征去噪)、Feature Fusion(自适应核选择特征融合).
在两个real-wolrd noisy datasets(DND)上测试的结果表明PRIDNet已经可以在定量分析和视觉感知质量上达到SOTA denoisers的水平。(具体见paper)
paperwithcode的denoising领域里PSNR值的rank 2
Keywords
-
Real Image Denoising
-
Channel Attention
-
Pyramid Pooling
-
Kernel Selecting
paper&code
-
paper:PRIDNet_pdf( VCIP 2019 oral )
-
code1: Code for the paper "Pyramid Real Image Denoising Network"(这是paper的github开源代码,使用tensorflow框架、只包含RAW域denoising的train和test代码及其他资料连接)
-
code2:image-Denoising-using-Deep-Learning(keras框架、针对sRGB文件,具体在Models/PRIDNet_256x256.ipynb中)
SRCNN参考
CNN进行超分开山之作,结构简单不再赘述
-
paper: Image Super-Resolution Using Deep Convolutional Networks
-
code: SRCNN (pytorch框架、与原论文代码在优化器等问题上有部分改动)
处理流程
-
系统框架
代码框架和注释GitHub源码:
由于整理资料时失误,上传了错误模型,并且并未进行备份,使用项目请自行训练模型,训练代码及注释在项目中可见