1、动机
目前深度网络有很强的语义表达能力,但还是难免损失一些细节。为了更好地保持源图像的细节,我们使用梯度来引导网络的训练。
计算源图像的梯度图,并且计算了一个梯度值GV,一起引导解码器重建图像。
同时,基于这个GV,设计了一个新的融合策略。
作者在贡献里这样写:设计了一个新的半自动的融合策略来增强视觉信息。通过调整一对超参数,算法可以增强来自不同模态的细节。
2、网络结构
2.1 Stem conv
引用ResNet的思想,大核卷积,使用7*7的大感受野。卷积的结果同时送入后续encoder和Guide Generator。
2.2 Guide Generator
深度语义信息提取器,使用4个resblock降采样,通道翻倍,平均池化得到一个Guide Value即GV
全局平均池化后,GV的维度是25611,这个GV的作用就相当于一个通道注意力了。
引导decoder中不同的层,所以有不同的线性映射把256维的GV映射到目标维度。
2.3 Gradient Branch
使用拉普拉斯梯度算子执行边缘检测,(后续做了消融实验)
步骤:
- 高斯核去噪
- 拉普拉斯梯度算子提取梯度信息。
把梯度图和encoder的结果concat,送入重建块,作者解释说,不能保证encoder充分地提取了低频和高频特征,所以我们注入高频成分。
梯度分支的结构:
只在训练阶段有,梯度分支根据encoder提取的特征重建源图像的梯度图。
3、训练细节
训练阶段,对输入图像使用梯度算子得到梯度图,(也就是网络总框架的左下示意),梯度图和GV一起引导解码器。
测试阶段,对IR和VIS分别使用梯度算子得到各自的梯度图。
训练阶段:
输入只有单模态的图像,因此复制梯度图G,concat彼此,
**同一梯度图引导了解码器的三层。**第k层的Res块的输入是第k-1层Res块的输出和梯度图concat。
测试阶段:
两个模态图像,不用复制了,这里分别赋予IR和VIS梯度图权重,concat
这里后面也做了消融。
损失:
值得注意的是:这里的梯度损失是限制梯度分支的
Gre:reconstructed gradient map
融合策略:
使用了一个基于L1 norm的和一个自己设计的,最终结果是求平均。
L1得到的结果:
两种模态的GV求比重,也得到一个结果:
然后两种模态的梯度值也求平均,也送入解码器,
- 这边作者写的很乱,公开的代码也删除了,等公布之后对比代码好好看一下。