前言:
今天小伙伴们对“dncnn去噪的程序详解”都比较关怀,看官们都想要分析一些“dncnn去噪的程序详解”的相关知识。那么小编在网摘上汇集了一些对于“dncnn去噪的程序详解””的相关资讯,希望姐妹们能喜欢,你们一起来了解一下吧!各位同学大家好,在科技州推出了课程《有监督去噪实战(一)——一个用DnCNN去噪的完整案例》后,受到了大家广泛关注。大家提出了一些问题,主要集中在程序运行过程和输出结果等方面。今天我们就通过视频讲解,给大家详细讲解程序的运行方法。
01 程序运行环境
1.基本程序环境
我们的课程主要都是在Python环境下运行的,所以大家需要配置Python相关运行环境。我们常用Anacoda 的Spider作为集成编辑器。这款软件既是免费软件,也具有较好的调试功能。
另外我们的课程涉及深度学习的内容比较多,我们会用到tensorflow和keras,这也请大家自行安装。
以下是我们推荐的程序和引用库版本。
Python 3.8
keras 2.3.1
tensorflow 2.2.0 或 tensorflow-gpu 2.2.0
另外特别提示:
强烈建议大家配置具有独立NVIDIA显卡的运行环境,并装好CUDA驱动和Python的tensorflow-gpu版本,充分使用GPU加速计算。
后续我们课程中有关深度学习的处理,特别是断层和储层的处理,使用GPU加速比CPU会快很多个数量级。
2.本课程用到的引用库
这本次课程中,我们还会用到几个引用库。
一是cv2库
OpenCV(CV:Computer Vision,计算机视觉)实现了图像处理和计算机视觉方面的很多通用算法。CV多用在计算机视觉项目的开发中,使得图像处理和图像分析变得更加易于上手,让开发人员更多的精力花在算法的设计上。我们在本项目使用CV库对图像进行了变形等处理。
安装方法:
pip install opencv-python
二是glob库
glob模块提供了函数用于从目录通配符搜索中生成文件列表。glob函数可以查找符合通配符要求的文件,支持通配符操作*,**,?,[]这四个通配符。我们在项目中,使用这个函数查找训练集数据。
安装方法:
pip install glob2
三是segyio库
segyio是一个小型的处理地震segy数据的程序库,带有python和matlab的语言绑定,能够方便地读写文件头信息、道头信息和地震数据。
安装方法:
pip install segyio
本次课程这几个引用库的推荐版本是:
OpenCV 4.6.0.66
glob2 0.7
segyio 1.9.6
02 程序运行演示
1.程序结构
本次课程程序主要包含4个:
一是getPatchClear.py,用于生成干净的标签数据。
二是getPatchNoise.py,用于生成训练的噪声数据。
三是SeismicDnCNN.py,这是课程主程序,用于实现模型的训练和结果的验证。
四是psnr.py,这是一个调用程序,实现了PSNR的函数功能。
2.程序演示
本次程序运行环境为:
Python 3.8
Anaconda 3 Spyder 4.1.5
接下来就详细讲解程序运行。
1.getPatchClear.py
这个程序生成了干净的标签数据。
在最后的运行主函数中,指定了生成数据保存的位置在:data/train文件夹下;按照位移为32来切割原始数据;生成的训练数据小块尺寸为64*64;共生成10000个小块训练数据;最后训练数据以npy格式进行打包。
2.getPatchNoise.py
这个程序生成了包含随机噪声的训练数据。
程序结构与上面类似。不同的是,在datagenerator函数中,增加了随机噪声。
直接运行程序,就生成了以npy格式打包的数据。
3.SeismicDnCNN.py
这是我们的主程序。
一是构建了神经网络模型。
二是加载数据集。
三是训练模型。经过一会儿训练后,就显示了训练的曲线。
四是检验模型去噪的效果。我们加载了一个测试数据,使用模型进行去噪,最后显示去噪的效果图。
通过以上的讲解,大家可以了解DnCNN神经网络去噪的全部操作流程,整个理论原理和代码含义大家可以参考上一次课程。如果大家对程序感兴趣,请联系我交流讨论。
我是科技州,用心分享智能地震勘探干货,带你一同进步。再见。
相关阅读:
智能时代已到 助你勇攀储层勘探高峰
如何在地震勘探研究更上一层楼?带你一起深度学习识别断层
怎样轻松入门地震勘探研究:先从地震数据处理开始
深度学习地震去噪实战:教你如何从0开启地震深度学习科研之路
标签: #dncnn去噪的程序详解