【红外与可见光图像融合】Infrared and visible image fusion based on a two-stage class conditioned auto-encoder ne

本文提到一些方法使用共享编码器从源图像中提取特征,并且采取手工制作的融合策略。我们的目的是让编码器从源图像中提取出不同的特征,因此我们在编码器中引入了类嵌入分支,对不同模态的特征进行建模,并根据输入模态自适应缩放中间特征。融合策略方面,使用了通道和空间注意力机制对不同模态的特征图进行加权。
训练思路与RFN-NEST相同,两阶段训练,损失不同。
代码不公开
发表自Neurocomputing 2023

作者的想法应该是让编码器学习不同模态图像独特的特征,因此使用了一个类嵌入向量,通过第一阶段的训练,迫使编码器对不同图像建模,使用了一个交叉熵损失,所以这里的训练数据作者应该进行了修改,比如手动标注类别。

在这里插入图片描述

第一阶段训练:
IR和VIS分别提取特征,就是双分支

没有融合层,初始化类嵌入向量在这里插入图片描述
(训练后就与encoder一起固定了)

这两个初始化的向量经过5个全连接层得到Ec,然后注入网络部分的3个CCB
每一层的结果concat起来送入classifier

编码器通过密集连接将调整后的特征进行连接并发送到小分类器头部进行模态分类任务,该任务隐式引导编码器对不同模态进行不同的特征提取。

由于没有提供具体的引用内容,以下是基于一般情况对基于记忆单元的红外可见光图像融合的新型架构 MemoryFusion 的介绍: MemoryFusion 是一种用于红外可见光图像融合的创新架构,它引入了记忆单元的概念。在红外可见光图像融合任务中,红外图像能够反映场景中的热辐射信息,对于目标检测和识别在低光照等环境下具有优势;而可见光图像则包含丰富的纹理和颜色信息,能提供更直观的场景视觉效果。 MemoryFusion 通过记忆单元来捕捉和存储图像中的关键特征信息。记忆单元可以对历史特征进行保存和更新,使得在融合过程中能够综合考虑不同时刻或不同区域的特征。这有助于在融合图像中更好地保留红外图像中的目标信息以及可见光图像中的细节纹理。 在架构设计上,MemoryFusion 可能包含特征提取模块、记忆单元模块和融合模块。特征提取模块负责从红外可见光图像中提取各自的特征;记忆单元模块对提取的特征进行存储和处理,可能采用循环神经网络(RNN)或长短期记忆网络(LSTM)等结构来实现记忆功能;融合模块则根据记忆单元中的信息,将红外可见光图像的特征进行融合,生成最终的融合图像。 这种架构的优势在于能够提高融合图像的质量,使得融合后的图像既包含红外图像的目标显著性,又具有可见光图像的丰富细节,在安防监控、目标检测、遥感等领域具有广泛的应用前景。 ```python # 以下是一个简单的伪代码示例,模拟 MemoryFusion 的部分流程 import numpy as np # 假设的特征提取函数 def feature_extraction(image): # 这里只是简单示例,实际中会有更复杂的特征提取算法 return np.random.rand(10) # 记忆单元类 class MemoryUnit: def __init__(self): self.memory = [] def update_memory(self, feature): self.memory.append(feature) # 可以添加记忆更新策略,如只保留最近的几个特征 if len(self.memory) > 3: self.memory.pop(0) def get_memory(self): return self.memory # 融合模块 def fusion_module(ir_feature, vis_feature, memory): # 简单的加权融合示例 memory_avg = np.mean(memory, axis=0) fused_feature = 0.3 * ir_feature + 0.5 * vis_feature + 0.2 * memory_avg return fused_feature # 模拟输入图像 ir_image = np.random.rand(100, 100) vis_image = np.random.rand(100, 100) # 特征提取 ir_feature = feature_extraction(ir_image) vis_feature = feature_extraction(vis_image) # 初始化记忆单元 memory_unit = MemoryUnit() # 更新记忆单元 memory_unit.update_memory(ir_feature) memory_unit.update_memory(vis_feature) # 获取记忆 memory = memory_unit.get_memory() # 融合特征 fused_feature = fusion_module(ir_feature, vis_feature, memory) print("Fused feature:", fused_feature) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值