当前位置: 首页 > news >正文

基于域自适应的双光融合

目录

    • 引言
    • 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网络架构的核心部分,负责提取和重建图像特征。以下是编码器-解码器分支的详细解释:

编码器部分

编码器部分由三个主要层次组成:共享特征层、基础编码器和细节编码器。

  1. 共享特征层: 这一层基于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)。
解码器部分

解码器部分负责将编码器提取的特征转换回图像空间,生成重建的红外图像、可见光图像或融合图像。

  1. 第一阶段重建: 解码器首先使用基础和细节特征 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)
  1. MK-MMD的定义: MK-MMD是一种基于核方法的距离度量,它使用多个不同带宽参数的高斯核的线性组合来评估两个分布之间的差异。公式表示为:

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

  1. 混合核函数: 混合核函数定义为:
1. 中,kG**k****G** 是高斯核,kL**k****L** 是拉普拉斯核,c1**c**1 和 c2**c**2 是核的权重,它们的和为1。 高斯核适合捕捉全局结构信息,而拉普拉斯核对边缘更敏感,适合捕捉局部细节。通过结合这两种核,混合核函数能够同时捕获全局和局部特征。 ### 两阶段训练

为了应对红外和可见光图像融合中缺乏真实标签的问题,本文采用了两阶段学习方案来训练DAF-Net。

第一阶段:编码器-解码器分支训练

在第一阶段,目标是独立地训练编码器和解码器,以便它们能够从输入的红外和可见光图像中提取特征,并重建出高质量的图像。

训练过程

下面是第一阶段的训练过程。

  1. 共享特征提取: 输入数据包括成对的红外图像和可见光图像。输入图像首先通过共享特征层,用于提取图像的初步特征。1. 基础编码器: 共享特征层的输出被送入基础编码器,负责捕获图像的全局结构信息。1. 细节编码器: 同时,共享特征层的输出也被送入细节编码器,提取图像的细节和纹理信息。1. 域自适应层: 在基础编码器中,域自适应层通过计算MK-MMD来减少红外和可见光图像特征分布之间的差异,实现特征对齐。1. 特征融合: 基础编码器和细节编码器提取的特征被送入融合层,在这里,基础特征和细节特征被合并。1. 图像重建: 融合后的特征被送入解码器,用于重建红外图像和可见光图像。
损失函数

第一阶段的损失函数是重建损失、相关性损失、InfoNCE损失、MK-MMD损失的加权和。

  • 重建损失:包括均方误差(MSE)损失、结构相似性指数(SSIM)损失和梯度损失,用于衡量重建图像与原始图像之间的差异。
第二阶段:融合层训练

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

训练过程
  1. 特征提取: 输入数据包括成对的红外图像和可见光图像,使用第一阶段训练好的编码器提取红外和可见光图像的特征。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)第一阶段:编码器-解码器分支训练训练过程损失函数 第二阶段:融合层训练训练过程损失函数 实验与结果总结 文章声明&#xf…...

迭代器模式 (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 的文件,放进项目根目录中,如下图: 第三步&#xff1…...

【链表】【删除节点】【刷题笔记】【灵神题单】

237.删除链表的节点 链表删除节点的本质是不用删除,只需要操作指针,跳过需要删除的节点,指向下下一个节点即可! 删除某个节点,但是不知道这个节点的前一个节点,也不知道头节点!摘自力扣评论区…...

springboot339javaweb的新能源充电系统pf(论文+源码)_kaic

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

【嵌入式——QT】QT制作安装包

第一步 QT程序写好之后,编译release版本 第二步 拿到release生成的.exe文件 第三步 新建文件夹deploy 第四步 将.exe文件复制到deploy目录下 第五步 在该目录下输入cmd指令,回车 第六步 在打开的命令窗口下输入 windeployqt TegNetCom_1.0.…...

python的文件操作练习

文件操作&#xff1a;成绩统计 有一个文件grades.txt&#xff0c;文件内容是每行一个学生的成绩&#xff08;格式&#xff1a;姓名,成绩&#xff09;。要求&#xff1a; 读取文件内容&#xff0c;统计所有学生的平均成绩&#xff1b; 将不及格&#xff08;<60分&#xff09…...

jQuery九宫格抽奖,php处理抽奖信息

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

2024年一级建造师考试成绩,即将公布!

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

M4V 视频是一种什么格式?如何把 M4V 转为 MP4 格式?

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

Leetcode 每日一题 104.二叉树的最大深度

目录 问题描述 示例 示例 1&#xff1a; 示例 2&#xff1a; 约束条件 题解 方法一&#xff1a;广度优先搜索&#xff08;BFS&#xff09; 步骤 代码实现 方法二&#xff1a;递归 步骤 代码实现 结论 问题描述 给定一个二叉树 root&#xff0c;我们需要返回其最大…...

文件上传漏洞:你的网站安全吗?

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

uniapp 对接腾讯云IM群组成员管理(增删改查)

UniApp 实战&#xff1a;腾讯云IM群组成员管理&#xff08;增删改查&#xff09; 一、前言 在社交类App开发中&#xff0c;群组成员管理是核心功能之一。本文将基于UniApp框架&#xff0c;结合腾讯云IM SDK&#xff0c;详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分&#xff1a; 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析&#xff1a; CTR…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935&#xff0c;SRS管理页面端口是8080&#xff0c;可…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;加密货币作为一种新兴的金融现象&#xff0c;正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而&#xff0c;加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下&#xff0c;稳定…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...

LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》

这段 Python 代码是一个完整的 知识库数据库操作模块&#xff0c;用于对本地知识库系统中的知识库进行增删改查&#xff08;CRUD&#xff09;操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 &#x1f4d8; 一、整体功能概述 该模块…...

免费数学几何作图web平台

光锐软件免费数学工具&#xff0c;maths,数学制图&#xff0c;数学作图&#xff0c;几何作图&#xff0c;几何&#xff0c;AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...

wpf在image控件上快速显示内存图像

wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像&#xff08;比如分辨率3000*3000的图像&#xff09;的办法&#xff0c;尤其是想把内存中的裸数据&#xff08;只有图像的数据&#xff0c;不包…...