论文:Densely Connected Pyramid Dehazing Network(CVPR2018)

论文就不讲解了,网上有,步骤开始:

1、环境安装:

Ubuntu16.0.4平台运行

Python2.7环境

Pytorch>=0.3.1框架

CUDA9.0+CUDNN7

训练网络需要使用GPU,显存和运行内存、还有系统交换区swap不要太抠,不然容易程序无法进行而报错。还有系统共享内存也不能不足,我的电脑勉强用100个训练数据训练,迭代了40000次。

DCPDN源码下载

建议安装Anaconda3创建Python环境,便于管理,运行程序时,如果缺什么包直接使用anaconda集成安装到环境里即可。

DCPDN的预训练模型可直接用于测试,测试数据、模型、训练数据数都很多,数据均为或者均要转化为h5文件来训练和测试,需要翻墙下载。需要仔细阅读README.md文件。

预训练模型、训练数据、测试数据等已经上传到百度网盘中,提取码为:pv5f,供大家参考,根据自己需要去下载,训练数据也不用全部下载使用。

2、项目文件结构(部分重点介绍)

项目下载解压后目录如下:

项目添加数据后的根目录如下:

checkpoints_new:利用合成图片生成无雾图片和训练生成的新模型的文件夹。

cvprw_test_resize_crop:存储自己的实际有雾图片。

demo_model:存储预训练模型,作者提供了netG_epoch_8.pth,需要自行下载,百度云里已经有了。

facades:最重要,也是最大的文件夹,内容如下图。其中,nat_new4文件夹存储用于测试的实际图片h5数据,test_cvpr文件夹存储你的实际有雾图片转换的h5文件,用于去雾。train512为用于训练的h5文件,共有4000个,根据你自己系统能力,从头按顺序连续选取部分数据,作者使用0-1000来训练网络,会迭代400*1000=400000次。val512存储400个用于对抗鉴别器训练的h5文件。

result_cvpr18:存储去雾结果的文件夹。

create_train.py:所有合成的,用于训练和测试的数据样本,都在HDF5文件中进行了扫描。您还可以使用“create_train.py”生成样本数据。

dehaze22.py:去雾网络模型框架。

demo.py:运行作者提供的预训练模型,anaconda进入创建的环境,cd进入项目根目录“cd 你的路径/DCPDN”,然后运行带参数的命令:(运行前确保对应目录下的文件下载齐全)

python demo.py --dataroot ./facades/nat_new4 --valDataroot ./facades/nat_new4 --netG ./demo_model/netG_epoch_8.pth

generate_testsample.py:用于将你自己的有雾图片生成h5文件,用于去雾。若要修改图片读取和存储方式,请修改代码中的

73行“train_list_per=glob.glob('./cvprw_test_resize_crop/*jpg')”和90行”directory='./facades/test_cvpr/'“。由于网络需要,图片会被resize为512*512的大小,生成去雾图片后请自行resize回来,代码百度云已提供。

train.py:训练网络使用,使用以下命令:(实际是微调作者提供的预训练模型,并保存下来)

python train.py --dataroot ./facades/train512 --valDataroot ./facades/test512 --exp ./checkpoints_new --netG ./demo_model/netG_epoch_8.pth

使用自己的有雾图片去雾:

首先使用 generate_testsample.py将自己的图片生成为h5文件,然后使用以下命令去雾:

python demo.py --dataroot ./facades/test_cvpr --valDataroot ./facades/test_cvpr --netG ./checkpoints_new/netG_epoch_9.pth

./facades/test_cvpr为你的实际有雾图片生成的h5文件所在的根目录,./checkpoints_new/netG_epoch_9.pth为生成的模型的路径。训练中途会保存很多模型,选择你觉得效果好的模型使用即可。

3、源码适配

作者原始源码部分需要修改,如下:(如果下载百度云的则不需要,已修改过了)

generate_testsample.py:

去掉99行的注释,防止自己输入的图片不是规定尺寸;

第一个包numpy不需要as np;

create_train.py:

第119行reshap的参数A改为a;

引用numpy包不需要as np。

我的操作到此结束,写的可能不是很清楚,有问题请随时留言,如果哪里理解有误还望指出。

4、致谢

感谢作者的贡献,感谢大家的支持!

一步一步教你跑DCPDN深度学习去雾网络相关推荐

  1. 教你如何挑选深度学习GPU

    教你如何挑选深度学习GPU 即将进入 2018 年,随着硬件的更新换代,越来越多的机器学习从业者又开始面临选择 GPU 的难题.正如我们所知,机器学习的成功与否很大程度上取决于硬件的承载能力.在今年 ...

  2. 人工神经网络理论、设计及应用_TensorFlow深度学习应用实践:教你如何掌握深度学习模型及应用...

    前言 通过TensorFlow图像处理,全面掌握深度学习模型及应用. 全面深入讲解反馈神经网络和卷积神经网络理论体系. 结合深度学习实际案例的实现,掌握TensorFlow程序设计方法和技巧. 着重深 ...

  3. 教你使用百度深度学习框架PaddlePaddle完成波士顿房价预测(新手向)

    首先,本文是一篇纯新手向文章,我自己也只能算是入门,有说错的地方欢迎大家批评讨论 目录 一.人工智能.机器学习.深度学习 二.PaddlePaddle(飞桨) 三.波士顿房价预测模型 数据处理 模型设 ...

  4. 步步为营!高手教你如何有效使用深度学习解决实际问题

    来自法国 Capgemini Invent 公司的高级数据科学家 Ahmed BESBES 三个月前参加了一个其公司内部的比赛:使用机器学习方法帮助海洋科学家更好的识别鲸鱼,根据鲸尾页突的外观作为主要 ...

  5. AI 三大教父齐聚深度学习峰会,讨论尖端研究进展

    来源:36氪 概要:近日,深度学习峰会正在加拿大蒙特利尔举行,有史以来第一次3位AI教父:Yoshua Bengio.Yann LeCun以及 Geoffrey Hinton聚在了一起出席RE•WOR ...

  6. 看不懂花书?博士教你如何深入深度学习,从编程基础到完整的项目实战

    转眼2020年已过去三分之一,大家都知道今年就业形势不乐观,不过即便如此,现在依然是AI招聘的热门季.疫情过后,AI行业注定会迎来一波大爆发. 近几年,各大企业也开始越来越重视人工智能方向的发展,比如 ...

  7. 手把手教你搭建机器学习+深度学习AI模型

    说起现在搞什么最挣钱,10 人里 11 个都要回答人工智能! 早在几年前,华为就开出百万年薪招聘 AI 专家,当是很多人认为噱头大于实际价值.但如果今天还有谁质疑人工智能的前景,那显然已经和时代脱轨了 ...

  8. 忽悠神经网络指南:教你如何把深度学习模型骗得七荤八素

    知己知彼,无论你是想成为黑客(最好不要!)或防范未来黑客的入侵,都有必要来了解一下如何骗过由海量数据训练出来的深度学习模型. 只要有程序员还在编程,黑客们就会不遗余力地找寻利用这些程序的方法.恶意黑客 ...

  9. 手把手教你搭建pytorch深度学习网络

    总有人在后台问我,如今 TensorFlow 和 PyTorch 两个深度学习框架,哪个更流行? 就这么说吧,今年面试的实习生,问到常用的深度学习框架时,他们清一色的选择了「PyTorch」. 这并不 ...

最新文章

  1. SimpleInjector 简单使用
  2. instancesRespondToSelector与respondsToSelector的区别
  3. UVA 494(Kindergarten Counting Game)
  4. defer func(参数){}
  5. 前端小知识点(8):作者为什么设计原型
  6. 【洛谷 - P3410】拍照(最大权闭合图,网络流最小割)
  7. python values count_使用Python Pandas从数据框中获取总values_count
  8. 给postmessage加上callback方法
  9. 力软敏捷开发平台源码7.0.6
  10. 美国大学网址大全(按州排序)
  11. 【Android,Kotlin】自定义弹框的简单写法Demo
  12. win10麦克风直接输出声音_win10系统音频前后同时有声音输出的技巧
  13. 鸿蒙太空是什么意思,我所居兮,青埂之峰:我所游兮,鸿蒙太空,谁与我逝兮,吾谁与从?渺渺茫茫兮归彼大荒!什么意思?求解...
  14. 解读BLM业务领先模型中的业务设计
  15. 达人评测 RTX3060和RX 6600M选哪个好
  16. jenkins使用时遇到“using GIT_ASKPASS to set credentials”
  17. 微信小程序进行地图导航,地图展示功能
  18. Ruff Chain 荣获”2018年度最具发展潜力项目“奖
  19. (Unity游戏开发)五天时间做出一款饥荒类的生存游戏Demo,项目在手,还怕面试官不给offer?
  20. 【位运算 异或】51nod区间xor

热门文章

  1. QTP简易框架(GN0.1)编写小结
  2. b站喜欢的崩坏3动画短片的保存方法
  3. HTML样式(style)
  4. 大数据入门选择python大数据么?现在程序员都是喜欢这个
  5. 你做的分析,业务早知道了,怎么办?【实操版】
  6. Python加CH9329模块实现云顶之弈自动刷局数
  7. ArcGIS安装时许可管理器无法启动 / 没有有效的许可管理器 解决办法
  8. 吹响产品“集结号”,百度云摄像头的深谋远虑
  9. 3Ds Max实例教程-制作女战士全过程
  10. appcan mysql_AppCan-BBS for Discuz!X2.02.5 v2.2 手机论坛客户端