论文: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. 使用Leangoo共享脑图/思维导图做多级需求管理
  2. 9号团队-团队任务4:每日立会(2018-11-26,2018-11-27)
  3. Android中脱离WebView使用WebSocket实现群聊和推送功能
  4. (加强版)大数加减乘除,一文彻底搞定
  5. 《Spring》(一)---- IOC基本概念
  6. figma设计_在Figma中使用隔片移交设计
  7. php重载,PHP 重载
  8. 计算机一级怎么描述,计算机一级「关于RGB正确的描述的是」相关单选题
  9. 关于 CFileDialog 对话框多选功能的一个问题
  10. 最近两周的前后端交互
  11. StretchDIBits显示8位图问题
  12. 计算机视觉相关科幻片,计算机视觉特效镜头对电影风格的影响
  13. 我读《非暴力沟通》- 马歇尔 *卢森堡 - 区分观察和评论
  14. 什么是Linux内核?它有什么功能?
  15. 物理学原理与工程应用期末复习之公式总结
  16. 【最新损失函数SIOU全文翻译】超越YOLO-V5等先进模型提高了+3.6%
  17. 小程序使用本地图片报错问题 Failed to load local image resource
  18. 解决mysql sum求和返回null问题或IFNULL应用
  19. win10根据通知栏图标找对应程序
  20. 多人在线编辑文档 开发_太方便了,支持多人同时编辑,电脑和手机端实时同步保存...

热门文章

  1. 北京2008年第29届奥运会
  2. iOS - 直播流程,视频推流,视频拉流,简介,SMTP、RTMP、HLS、 PLPlayerKit
  3. 情人节活动策划PPT模板
  4. prometheus监控postgresql
  5. S3C2440移植uboot之新建单板_时钟_SDRAM_串口
  6. 开源家庭影院 Kodi 19.1 发布,如何在Ubuntu 21.04中安装
  7. 信号完整性-10集肤效应
  8. 孙家启c语言程序设计教程课后答案,新编C语言程序设计教程(普通高等教育“十二五”规划教材)...
  9. java画个动漫人物_动漫人物绘画教程
  10. 2022-08-29 AndroidR 修改默认usb连接模式为MTP(Media Transfer Protocol)),UsbDeviceManager.java里面处理OTG口usb设备拔插侦听