图像融合SDDGAN文章学习

Semantic-supervised Infrared and Visible Image Fusion via a Dual-discriminator Generative Adversarial Network文章学习

模型框架

在这里插入图片描述

我们的生成器G的网络结构如图所示。我们在通道维度上连接红外和可见光图像,并使用它们作为G的输入。输出是最终的融合图像。gG由五个公共卷积层组成。对于每个卷积层,padding设置为相同,步长设置为1。因此,特征图的大小将不会改变。

我们的网络中有两个鉴别器Dr和Dv。它们具有相同的架构。它们都用作分类器,生成标量来估计输入图像来自真实数据而不是G的概率。

损失函数

生成器损失函数

生成器损耗LG包括监督损耗Lsup、对抗损耗Ladv、梯度损耗Lgrad和MSE损Lmse。
在这里插入图片描述
监督损耗Lsup
在这里插入图片描述
对抗损耗Ladv
在这里插入图片描述
梯度损耗Lgrad
在这里插入图片描述
第四个损失Lmse代表mse损失。我们应用MSE损失来约束融合图像以包含来自源图像的相当多的信息,其可以被定义为:
在这里插入图片描述

鉴别器损失函数

在这里插入图片描述

代码运行测试

问题一:tensorflow.python.framework.errors_impl.InvalidArgumentError

训练模型时报错,完整的为:tensorflow.python.framework.errors_impl.InvalidArgumentError Unsuccessful TensorSliceReader constructor: Failed to get matching files on ./checkpoint12/CGAN_120/CGAN.model-0: Not found: FindFirstFile failed for: ./checkpoint12/ CGAN_120 : ϵͳ\udcd5Ҳ\udcbb\udcb5\udcbdָ\udcb6\udca8\udcb5\udcc4·\udcbe\udcb6\udca1\udca3; No such process
解决尝试:在下载的文件中/CGAN_120这个文件夹只包含CGAN.model-36——CGAN.model-39的,所以我把原始代码由

num_epoch=0
  while(num_epoch<42):
  ……
      reader = tf.train.NewCheckpointReader('./checkpoint12/CGAN_120/CGAN.model-'+ str(num_epoch))

改成了这个

num_epoch=36
  while(num_epoch<40):
    ……
      reader = tf.train.NewCheckpointReader('./checkpoint12/CGAN_120/CGAN.model-'+ str(num_epoch))

就是把范围改了一下,不知道对全部程序有啥影响,反正先跑通再说。

问题二:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_46165876

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值