基于域自适应的双光融合
目录
- 引言
- DAF-Net
- 编码器-解码器分支
- 编码器部分
- 融合层
- 解码器部分
- 域自适应层
- 概述
- 多核最大均值差异(MK-MMD)
- 第一阶段:编码器-解码器分支训练
- 训练过程
- 损失函数
- 第二阶段:融合层训练
- 训练过程
- 损失函数
- 实验与结果
- 总结
文章声明,非广告,仅个人体验;
引言
红外和可见光图像融合的目标是将红外图像和可见光图像的互补信息结合起来,以实现更全面的环境感知。这意味着通过融合两种类型的图像,可以获得比单独使用任何一种图像更丰富的场景信息。
参考文献,全部资源均可在该地址获取:https://www.aspiringcode.com/content?id=17323478187973&uid=3bf8b73ec4ff407a90291a8502a8c1db
红外图像在夜间监控和目标检测等低光环境下表现优异。这是因为红外图像能够捕捉到热辐射,这种辐射不受可见光照明条件的限制,因此可以在完全黑暗或光线不足的环境中“看到”物体和场景。

可见光图像保留了丰富的细节和色彩,提供了清晰的现场表示。这是因为可见光图像捕捉的是人眼可以看到的光谱范围,因此它们能够提供与人类视觉感知相似的图像,包括颜色和纹理等细节。

将这两种模态的图像融合起来可以弥补各自的局限性。例如,红外图像虽然能在夜间“看见”,但缺乏色彩信息;而可见光图像虽然色彩丰富,但在低光环境下表现不佳。通过融合,可以结合红外图像的夜间监控能力和可见光图像的细节和色彩信息,从而提供更完整的环境理解。
尽管融合的优势明显,但由于成像原理、分辨率和光谱响应的差异,保持关键信息的一致性成为一个主要挑战。这意味着在融合过程中,需要找到一种方法来确保两种图像中的关键特征(如边缘、纹理和轮廓)能够被准确地结合在一起,而不是相互冲突或丢失。
现有的图像融合方法大致分为三类:
- 传统方法:如像素级或特征级融合方法,这些方法通过简单的规则进行融合,计算效率高,易于实现,但无法充分利用红外和可见光图像的互补信息,导致融合效果有限。- 变换域方法:如小波变换和拉普拉斯金字塔技术,这些方法通过将图像分解为不同的频率成分来保留细节,但在重建过程中可能丢失关键的模态特定特征,难以同时保留全局结构和细节纹理。- 基于深度学习的方法:近年来,深度学习方法取得了显著进展,如卷积神经网络(CNN)和生成对抗网络(GAN)。这些方法能够通过学习模态间的非线性关系,生成视觉质量更高的融合图像。然而,深度学习方法通常需要大量标注数据,这在数据稀缺时成为限制因素。此外,在保持全局结构和细节纹理方面仍然存在挑战。
为了更好地对齐红外和可见光图像的潜在特征空间,论文《DAF-Net: A Dual-Branch Feature Decomposition Fusion Network with Domain Adaptive for Infrared and Visible Image Fusion》提出了一种域自适应的双分支特征分解融合网络(DAF-Net)。该方法通过引入多核最大均值差异(MK-MMD)来减少红外和可见光图像之间的分布差异,从而提高融合图像的质量。
DAF-Net的基础编码器基于Restormer网络,负责捕捉全局结构信息;细节编码器基于可逆神经网络(INN),负责提取细节纹理信息。MK-MMD仅在基础编码器中应用,以确保全局特征的一致性,避免局部细节的过度对齐和模态特定信息的丢失。该结构使得DAF-Net能够在全局结构和细节保留之间取得平衡。
DAF-Net
DAF-Net由一个编码器-解码器分支和一个基于混合核函数的域自适应层组成。

编码器-解码器分支
编码器-解码器分支是DAF-Net网络架构的核心部分,负责提取和重建图像特征。以下是编码器-解码器分支的详细解释:
编码器部分
编码器部分由三个主要层次组成:共享特征层、基础编码器和细节编码器。
- 共享特征层: 这一层基于Transformer架构,用于处理输入的红外和可见光图像。它提取图像的浅层特征,这些特征是后续编码过程的基础。共享特征层的输出表示为 YSI=ES(I)YSI=E****S(I) 和 YSV=ES(V)YSV=E****S(V),其中 ES(⋅)E****S(⋅) 表示共享编码器,II 和 VV 分别代表红外和可见光图像。1. 基础编码器: 基础编码器使用Restormer块构建,目的是捕获图像的全局结构信息。它接收共享特征层的输出,并进一步提取更深层次的特征。基础编码器的输出表示为 YBI=EB(YSI)YBI=E****B(YSI) 和 YBV=EB(YSV)YBV=E****B(YSV),其中 EB(⋅)E****B(⋅) 表示基础编码器。1. 细节编码器:细节编码器基于INN(Invertible Neural Networks)块构建,专注于提取图像的细节纹理信息。它同样接收共享特征层的输出,并提取细节特征。细节编码器的输出表示为 YDI=ED(YSI)YDI=E****D(YSI) 和 YDV=ED(YSV)YDV=E****D(YSV),其中 ED(⋅)E****D(⋅) 表示细节编码器。
融合层
融合层包括基础融合层和细节融合层,它们分别对基础编码器和细节编码器提取的特征进行融合。
- 基础融合层 FBF*B 和 细节融合层 FD**FD:
- 基础融合层接收基础编码器提取的特征 YBIYBI 和 YBVYBV**,并输出融合后的基础特征 YBIV**YB**I*V**。
- 细节融合层接收细节编码器提取的特征 YDIYDI 和 YDVYDV**,并输出融合后的细节特征 YDIVYDIV*。
- 融合层的输出表示为 YBIV=FB(YBI,YBV)YBI****V=F****B(YBI,Y*BV) 和 YDIV=FD(YDI,YDV)YDIV**=FD*(YDI,YDV)。
解码器部分
解码器部分负责将编码器提取的特征转换回图像空间,生成重建的红外图像、可见光图像或融合图像。
- 第一阶段重建: 解码器首先使用基础和细节特征 YBIYBI 和 YDIYDI 重建红外图像 I**I**。同样,使用 YBVY*BV 和 YDVYDV** 重建可见光图像 V**V**。重建过程表示为 I=D(YBI,YDI)**I**=D(YBI,YDI**) 和 V=D(YBV,YDV)**V**=D(YBV,YDV),其中 D(⋅)D(⋅) 表示解码器。1. 第二阶段融合: 在第二阶段,解码器使用融合后的基础特征 YBIVYBIV** 和细节特征 YDIVYDIV** 生成融合图像 FIV**F***I**V**。融合图像的生成过程表示为 FIV=D(YBIV,YDIV)**I**V**=D(YB**IV**,YDIV**)。
域自适应层
概述
域自适应层的作用是减少红外图像和可见光图像特征之间的分布差异,从而实现跨模态的特征对齐。域自适应层被引入到基础编码器的最后三个卷积层中,以对齐全局特征。细节编码器避免使用MK-MMD,以保留局部细节和模态特定的信息。
域自适应层的主要目的是减少不同模态(红外和可见光)图像特征之间的分布差异,使得网络能够更好地进行特征融合。通过减少分布差异,域自适应层有助于提高融合图像的质量,尤其是在复杂场景下。
域自适应层通过计算多核最大均值差异(MK-MMD)来实现特征对齐。MK-MMD是一种度量两个概率分布差异的方法,它通过在再生核希尔伯特空间(RKHS)中评估分布的距离来工作。通过将特征映射到RKHS,域自适应层使用混合核函数计算分布差异,从而实现特征对齐。
在训练过程中,域自适应层通过最小化MK-MMD损失来优化网络参数,使得红外和可见光图像的特征分布更加接近。
多核最大均值差异(MK-MMD)
- MK-MMD的定义: MK-MMD是一种基于核方法的距离度量,它使用多个不同带宽参数的高斯核的线性组合来评估两个分布之间的差异。公式表示为:

其中,SIS****I 和 SVS****V 分别代表红外和可见光图像的特征分布,FIF****I 和 FVF****V 是这些特征在RKHS中的映射,E[⋅]E[⋅] 表示期望,∥⋅∥Hk2∥⋅∥H****k2 是RKHS中的平方范数。
- 混合核函数: 混合核函数定义为:

为了应对红外和可见光图像融合中缺乏真实标签的问题,本文采用了两阶段学习方案来训练DAF-Net。
第一阶段:编码器-解码器分支训练
在第一阶段,目标是独立地训练编码器和解码器,以便它们能够从输入的红外和可见光图像中提取特征,并重建出高质量的图像。
训练过程
下面是第一阶段的训练过程。
- 共享特征提取: 输入数据包括成对的红外图像和可见光图像。输入图像首先通过共享特征层,用于提取图像的初步特征。1. 基础编码器: 共享特征层的输出被送入基础编码器,负责捕获图像的全局结构信息。1. 细节编码器: 同时,共享特征层的输出也被送入细节编码器,提取图像的细节和纹理信息。1. 域自适应层: 在基础编码器中,域自适应层通过计算MK-MMD来减少红外和可见光图像特征分布之间的差异,实现特征对齐。1. 特征融合: 基础编码器和细节编码器提取的特征被送入融合层,在这里,基础特征和细节特征被合并。1. 图像重建: 融合后的特征被送入解码器,用于重建红外图像和可见光图像。
损失函数
第一阶段的损失函数是重建损失、相关性损失、InfoNCE损失、MK-MMD损失的加权和。
- 重建损失:包括均方误差(MSE)损失、结构相似性指数(SSIM)损失和梯度损失,用于衡量重建图像与原始图像之间的差异。



第二阶段:融合层训练
在第二阶段,目标是训练融合层,以便它们能够将从红外和可见光图像中提取的特征融合,生成高质量的融合图像。

训练过程
- 特征提取: 输入数据包括成对的红外图像和可见光图像,使用第一阶段训练好的编码器提取红外和可见光图像的特征。1. 特征融合: 提取的基础特征和细节特征被送入融合层,融合层将这些特征合并成单一的融合特征表示。1. 融合图像生成: 融合后的特征被送入解码器,解码器负责从融合特征中重建出融合图像。
损失函数
融合层训练的损失函数是强度损失、最大梯度损失和相关性损失的加权和。
- 强度损失:衡量融合图像与输入图像在强度上的差异。

实验与结果
实验在三个数据集上进行:MSRS、RoadScene和TNO。部分MSRS数据集用于训练,其余部分和TNO、RoadScene数据集用于评估。采用的评价指标包括互信息(MI)、视觉信息保真度(VIF)、熵(EN)、标准差(SD)、空间频率(SF)、边缘信息QAB/F和结构相似性指数(SSIM)。
我们的实验配置是 PyTorch 1.9.0 Python 3.8(ubuntu18.04) Cuda 11.1 GPU RTX 3080 Ti(12GB)
我们在训练好模型之后,在MSRS、RoadScene和TNO数据集上,分别随机选择了361张、50张、25张图像构成测试集,测试集在附件中附上。最终的测试结果是

测试数据展示如下,从左至右依次为红外图像、可见光图像和融合图像。

可以看到,DAF-Net在融合过程中有效保留了红外图像的热辐射信息和可见光图像的细节。
总结
本文介绍了一种名为DAF-Net的新型红外和可见光图像融合网络。该网络通过引入多核最大均值差异和设计混合核函数来对齐红外和可见光图像的潜在特征空间,从而提高融合图像的质量。DAF-Net采用了双分支结构,包括一个基于Restormer网络的基础编码器和一个基于可逆神经网络的细节编码器,分别捕获全局结构信息和细节纹理信息。通过这种结构,DAF-Net能够在保持全局结构的同时,保留模态特定的细节信息。
此外,DAF-Net采用了两阶段训练策略来解决红外和可见光图像融合中缺乏地面真实数据的问题。第一阶段侧重于训练编码器-解码器分支以重建红外和可见光图像,第二阶段则专注于训练融合层以生成融合图像。损失函数包括重建损失、相关性损失、InfoNCE损失和MK-MMD损失,以及强度损失和最大梯度损失,这些损失函数共同优化了网络的性能。
总体而言,DAF-Net通过其创新的网络架构和训练策略,在红外和可见光图像融合领域提供了一种有效的解决方案,能够生成具有高视觉质量和融合性能的融合图像,具有广泛的应用前景。
参考文献,全部资源均可在该地址获取:https://www.aspiringcode.com/content?id=17323478187973&uid=3bf8b73ec4ff407a90291a8502a8c1db
相关文章:

基于域自适应的双光融合
目录 引言DAF-Net编码器-解码器分支编码器部分融合层解码器部分 域自适应层概述多核最大均值差异(MK-MMD)第一阶段:编码器-解码器分支训练训练过程损失函数 第二阶段:融合层训练训练过程损失函数 实验与结果总结 文章声明…...
迭代器模式 (Iterator Pattern)
文章目录 迭代器模式 (Iterator Pattern)原理优点缺点示例代码场景描述1. 定义迭代器接口2. 定义集合接口3. 实现具体集合类4. 客户端代码输出结果 UML 类图使用场景优化与扩展小结 迭代器模式 (Iterator Pattern) 迭代器模式是一种 行为型设计模式,用于顺序访问集…...

039集——渐变色之:CAD中画彩虹()(CAD—C#二次开发入门)
(来左边儿 跟我一起画个龙,在你右边儿 画一道彩虹 ~~~~~~~~~~~ ) 效果如下: namespace AcTools {public class Class1{public Wform.Timer timer;//定时器需建在类下面public static DateTime startTime;[CommandM…...

如何将 GitHub 私有仓库(private)转换为公共仓库(public)
文章目录 如何将 GitHub 私有仓库转换为公共仓库步骤 1: 登录 GitHub步骤 2: 导航到目标仓库步骤 3: 访问仓库设置步骤 4: 更改仓库可见性步骤 5: 确认更改步骤 6: 验证更改注意事项 如何将 GitHub 私有仓库转换为公共仓库 在软件开发领域,GitHub 是一个广受欢迎的…...

C++11 右值引用
目录 左值 右值 左值引用与右值引用比较 左值引用总结: 右值引用总结: 左值引用的使用场景: 引用传参和做返回值都可以提高效率(减少拷贝) 左值引用的短板: 右值引用和移动语义解决上述问题: 下面就是有移动…...
WPS表格学习计划与策略
一、学习目标 掌握WPS表格的基本操作:包括新建、打开、保存工作簿,单元格的编辑与格式化,数据的输入与验证等。熟练运用WPS表格的数据处理功能:包括数据排序、筛选、分类汇总,以及使用公式和函数进行计算和分析。学会制作图表与数据可视化:掌握不同类型图表(如柱状图、折…...
Android 引入 proto 项目及使用方法
Proto(Protocol Buffers)是Google开发的一种语言无关、平台无关的序列化结构数据的方法,它类似于JSON和XML,但相对于XML而言更小,相对于JSON而言解析更快,支持多语言。以下是将Proto引入Android项目的方法及…...
VSOMEIP主要流程的时序
请求服务: client应用: application_impl::request_service routing_manager_client::request_service (老版本是routing_manager_proxy) routing_manager_client::send_request_services protocol::request_service_command its_command; // 创建…...
右值引用和移动语义:
C 右值引用和移动语义详解 在 C 的发展历程中,右值引用和移动语义的引入带来了显著的性能提升和编程灵活性。本文将深入探讨右值引用和移动语义的概念、用法以及重要性。 一、引言 C 作为一门高效的编程语言,一直在不断演进以满足现代软件编程的需求。…...

经纬高LLA转地心地固ECEF坐标,公式,代码
经纬高转地心地固的目的 坐标系转换是gis或者slam系统常见操作。GNSS获取的一般是经纬高,经纬高在slam系统里无法应用,slam系统一般是xyz互相垂直的笛卡尔坐标系,所以需要把GNSS的经纬高转到直角坐标系地心地固ECEF或者高斯投影GKP。 划重点…...

VUE前端实现天爱滑块验证码--详细教程
第一步: Git地址:tianai-captcha-demo: 滑块验证码demo 找到目录 src/main/resources/static,拷贝 static 并改名为 tac 即可。 第二步: 将改为 tac 的文件,放进项目根目录中,如下图: 第三步࿱…...
【链表】【删除节点】【刷题笔记】【灵神题单】
237.删除链表的节点 链表删除节点的本质是不用删除,只需要操作指针,跳过需要删除的节点,指向下下一个节点即可! 删除某个节点,但是不知道这个节点的前一个节点,也不知道头节点!摘自力扣评论区…...

springboot339javaweb的新能源充电系统pf(论文+源码)_kaic
毕 业 设 计(论 文) 题目:新能源充电系统的设计与实现 摘 要 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解…...

【嵌入式——QT】QT制作安装包
第一步 QT程序写好之后,编译release版本 第二步 拿到release生成的.exe文件 第三步 新建文件夹deploy 第四步 将.exe文件复制到deploy目录下 第五步 在该目录下输入cmd指令,回车 第六步 在打开的命令窗口下输入 windeployqt TegNetCom_1.0.…...
python的文件操作练习
文件操作:成绩统计 有一个文件grades.txt,文件内容是每行一个学生的成绩(格式:姓名,成绩)。要求: 读取文件内容,统计所有学生的平均成绩; 将不及格(<60分)…...

jQuery九宫格抽奖,php处理抽奖信息
功能介绍 jQuery九宫格抽奖是一种基于jQuery库的前端抽奖效果。通过九宫格的形式展示抽奖项,用户点击抽奖按钮后,九宫格开始旋转,最终停在一个随机位置上,此位置对应的抽奖项为用户的中奖结果。 本文实现九宫格的步骤为…...

2024年一级建造师考试成绩,即将公布!
一级建造师考试成绩一般在考试结束后3个月左右的时间公布! 根据官方通知,重庆、江苏、青海、江西、云南、湖南、福建、北京、山西、黑龙江等地在今年一建报名通知里提到:2024年一级建造师考试成绩预计于2024年12月上旬公布。考生可在这个时间…...

M4V 视频是一种什么格式?如何把 M4V 转为 MP4 格式?
M4V 是一种视频文件格式,主要由苹果公司用于其产品和服务中,如 iTunes Store 上的电影和电视节目。这种格式可以包含受版权保护的内容,并且通常与苹果的 DRM(数字版权管理)技术结合使用,以限制内容的复制和…...

Leetcode 每日一题 104.二叉树的最大深度
目录 问题描述 示例 示例 1: 示例 2: 约束条件 题解 方法一:广度优先搜索(BFS) 步骤 代码实现 方法二:递归 步骤 代码实现 结论 问题描述 给定一个二叉树 root,我们需要返回其最大…...

文件上传漏洞:你的网站安全吗?
文章目录 文件上传漏洞攻击方式:0x01绕过前端限制0x02黑名单绕过1.特殊解析后缀绕过2..htaccess解析绕过3.大小写绕过4.点绕过5.空格绕过6.::$DATA绕过7.配合中间件解析漏洞8.双后缀名绕过9.短标签绕过 0x03白名单绕过1.MIME绕过(Content-Type绕过)2.%00截断3.0x00截…...

Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...

Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
【生成模型】视频生成论文调研
工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...

招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...

Kafka入门-生产者
生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...

代码规范和架构【立芯理论一】(2025.06.08)
1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...
tomcat入门
1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效,稳定,易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...