Github项目+代码:新型深度网络体系结构去除图像中的雨水痕迹
2018年07月24日 由 浅浅 发表
432757
0
雨水痕迹会严重降低图像能见度,导致许多当前的计算机视觉算法无法工作。因此去除图像中的雨水是有必要的。
北京大学等研究团队提出了一种基于深度卷积和递归神经网络的新型深度网络体系结构,用于单图像去除。
由于背景信息对于去除雨水痕迹非常重要,团队首先采用扩张卷积神经网络来获取大的感受野。为了更好地适应除雨任务,还修改了网络。在大雨中,雨水痕迹有各种方向和形状,可以看作是多个雨水层的积累。通过结合挤压和激发块,根据强度和透明度为不同的雨条纹层分配不同的α值。由于雨条纹层彼此重叠,因此在一个阶段中不容易除去雨水。因此进一步将雨水分解分为多个阶段。
结合递归神经网络以保留先前阶段中的有用信息并有利于后期的去除雨水痕迹。团队对合成数据集和现实数据集进行了大量实验。提出的方法在所有评估指标下都优于目前最先进的方法。
条件
Python>=3.6
Pytorch>=3.1.0
Opencv>=3.1.0
tensorboard-pytorch
项目结构
config:包含所有代码
- cal_ssim.py
- clean.sh
- dataset.py
- main.py
- model.py
- settings.py
- show.py
- tensorboard.sh
explore.sh
logdir:保存在训练过程中生成的补丁
模型:持有检查站
showdir:保存模型预测的图像
最佳实践
将每个实验保存在一个独立的文件夹中,并为其指定一个长名称。我们建议在文件夹名称中列出重要参数,例如:RESCAN.ConvRNN.Full.d_7.c_24(d:depth,c:channel)。
默认数据集设置
Rain100H:www.icst.pku.edu.cn/struct/Projects/joint_rain_removal.html
Rain800:drive.google.com/drive/folders/0Bw2e6Q0nQQvGbi1xV1Yxd09rY2s
将两个图像(B和O)连接在一起作为默认输入。如果要更改此设置,只需修改config / dataset.py即可。此外,数据集文件夹中应该有三个文件夹'train','val','test'。下载数据集后,不要忘记转换格式!
训练,测试和展示
python main.py -a train
python main.py -a test
python show.py
脚本
explore.sh:在浏览器中显示预测图像
config / tensorboard.sh:打开tensorboard服务器
config / clean.sh:清除文件夹中的所有训练记录
项目:github.com/XiaLiPKU/RESCAN/blob/master/README.md
更多系统模型及数据集点击“这里”下载