代码实现——注意力引导的CNN图像去噪(Attention-guided CNN for image denoising)

今天给大家带来一篇注意力引导的CNN图像去噪文章《Attention-guided CNN for image denoising》。我用tensorflow的实现版本可以在我的github上找到。传送门:https://github.com/sun126/ADNet。

整体的网络结构如下图:

代码实现——注意力引导的CNN图像去噪(Attention-guided CNN for image denoising)_第1张图片

主要分为四个部分:SBNet,FEBNet,ABNet,RBNet。

SBNet:是由CBR(Conv+BN+ReLU)与DBR(Dilated Conv+BN+ReLU)交错组成的稀疏块。Dilated Conv是空洞卷积,目的是不在池化导致信息损失的情况下增大感受野。作者在论文后面论述了此处设计的合理性。

FEBNet:利用跳跃连接融合浅层与深层的信息,提高深层网路的表达能力(ResNet思想)。

ABNet:将前面提取的结果作为权重因子,赋予图片不同位置不同的权重,目的是挖掘潜藏在复杂背景中的噪声。

RBNet:重建无噪声图片的网络。该处同样采用了跳跃连接,也是为了让网络学习残差,更有利于网络学习。

更多的可以去看论文。

 

将你的数据集放到data文件夹下的对应位置。

训练:

打开main.py,将第18行的phase项改为train,其他参数可以选择性更改。接着运行就行。训练好的权重会存放在checkpoint文件下。

测试:

将训练好的权重放到model文件夹下,将phase项改为test,运行就行。测试结果会存放在test_results文件夹下。

有其他任何不清楚的地方,还请联系我。

你可能感兴趣的:(计算机视觉,深度学习,tensorflow)