本文提到一些方法使用共享编码器从源图像中提取特征,并且采取手工制作的融合策略。我们的目的是让编码器从源图像中提取出不同的特征,因此我们在编码器中引入了类嵌入分支,对不同模态的特征进行建模,并根据输入模态自适应缩放中间特征。融合策略方面,使用了通道和空间注意力机制对不同模态的特征图进行加权。
训练思路与RFN-NEST相同,两阶段训练,损失不同。
代码不公开
发表自Neurocomputing 2023
作者的想法应该是让编码器学习不同模态图像独特的特征,因此使用了一个类嵌入向量,通过第一阶段的训练,迫使编码器对不同图像建模,使用了一个交叉熵损失,所以这里的训练数据作者应该进行了修改,比如手动标注类别。
第一阶段训练:
IR和VIS分别提取特征,就是双分支
没有融合层,初始化类嵌入向量![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/ca104174512a48138aea04278f7aa87b.png)
(训练后就与encoder一起固定了)
这两个初始化的向量经过5个全连接层得到Ec,然后注入网络部分的3个CCB
每一层的结果concat起来送入classifier
编码器通过密集连接将调整后的特征进行连接并发送到小分类器头部进行模态分类任务,该任务隐式引导编码器对不同模态进行不同的特征提取。
第二阶段训练就没这个分类器了,直接使用固定的类嵌入和源图像进行训练,并在中间插入融合层。
Ec根据类执行AdaIN操作:
CCB借助潜在类嵌入EC的类特定差异信息进行归一化处理,便于根据输入图像的类别进行灵活的特征调整,提高编码器部分的表示能力。
CRB这里,把输入送入两个分支,一个进行CDC操作,提取纹理信息,【Pixel difference networks for efficient edge detection】提出的一个边缘检测器
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/2bf983874ddc42b1a1520bf10d3e449f.png)
这里下面这个分支只是用conv,称之为content path,两个分支的交互实现了预融合。
融合策略
第一阶段损失:
第二阶段损失:
sobel 算子
我们认为两个源图像中的梯度同样重要,并计算一个额外的目标来约束融合图像的梯度信息。
这里参数设置为0.6,也就是更偏向IR一点点。
消融实验:
作者这里输出了不添加类嵌入向量和添加之后的编码器提取的特征
典型主观图
告示牌的白条纹还清晰,就是左上角有种雕刻的感觉(某一篇论文里的表述)