基于域自适应的双光融合
目录
- 引言
- 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截…...
AWS账号提额
Lightsail提额 控制台右上角,用户名点开,选择Service Quotas 在导航栏中AWS服务中找到lightsail点进去 在搜索框搜索instance找到相应的实例类型申请配额 4.根据自己的需求选择要提额的地区 5.根据需求来提升配额数量,提升小额配额等大约1小时生效 Ligh…...
电子应用设计方案-29:智能云炒菜系统方案设计
智能云炒菜系统方案设计 一、系统概述 本智能云炒菜系统旨在为用户提供便捷、高效、个性化的烹饪体验,结合云技术实现远程控制、食谱分享、智能烹饪流程优化等功能。 二、系统组成 1. 炒菜锅主体 - 高品质不粘锅内胆,易于清洁和维护。 - 加热装置&#x…...
腾讯rapidJson使用例子
只需要把库的头文件拿下来加入项目中使用就行,我是以二进制文件存储内容并解析: #include <iostream> #include <fstream> #include <string> #include "rapidjson/document.h" #include "rapidjson/error/en.h"…...
UE5_CommonUI简单使用(2)
上篇我是简单写了一下CommonUI使用的初始设置以及Common Activatable Widget和Common Activatable Widget Stack以及Common 控件Style以及鼠标控制的一些内容,这些对于了解UMG的朋友来说没什么难度,唯一需要注意的就是Common Activatable Widget Stack堆栈管理只能是用来管理…...
探讨播客的生态系统
最近对播客发生了兴趣,从而引起了对播客背后的技术,生态的关注。本文谈谈播客背后的技术生态系统。 播客很简单 播客(podcast)本质上就是以语音的方式发布信息。它和博客非常类似。如果将CSDN 网站上的文字加一个语音播报。CSDN …...
淘宝架构演化
基本功能 LAMP(LinuxApacheMySQLPHP)标准架构,初期采用拿来主义,只具备基本功能。 数据库:读写分离,MyISAM存储引擎 2003年5月—2004年1月 存储瓶颈 mysql达到访问瓶颈,升级成oracle&#x…...
软通动力携子公司鸿湖万联、软通教育助阵首届鸿蒙生态大会成功举办
11月23日中国深圳,首届鸿蒙生态大会上,软通动力及软通动力子公司鸿湖万联作为全球智慧物联网联盟(GIIC)理事单位、鸿蒙生态服务(深圳)有限公司战略合作伙伴,联合软通教育深度参与了大会多项重磅…...
【AI绘画】DALL·E 3 绘图功能与 DALL·E API 探索
博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: AI绘画 文章目录 💯前言💯DALLE 3 图像生成介绍(Introduction to DALLE 3 Image Generation)图像质量与分辨率图像生成机制的解析多图生成功能 💯使用 DALLE…...
【数据事务】.NET开源 ORM 框架 SqlSugar 系列
.NET开源 ORM 框架 SqlSugar 系列 【开篇】.NET开源 ORM 框架 SqlSugar 系列【入门必看】.NET开源 ORM 框架 SqlSugar 系列【实体配置】.NET开源 ORM 框架 SqlSugar 系列【Db First】.NET开源 ORM 框架 SqlSugar 系列【Code First】.NET开源 ORM 框架 SqlSugar 系列【数据事务…...
深入解析下oracle char和varchar2底层存储方式
oracle数据库中,char和varchar2数据类型用来存储字符数据。char类型一旦定义多大,那么它就分配多少字节空间;varchar2类型定义多大,代表它可以扩展的最大大小为多大,一开始空间根据使用来决定。字符数据存储在oracle表…...
中企动力和东莞朝阳做的网站对比/营销知识和技巧
MyEclipse使用git提交代码如何忽略class文件找到Git>Ignored Resources点击“Add Pattern”添加你要过滤的文件,该方法只能保证本地提交过滤,但是提交远程仓库则不会如图:...
用什么工具做网站视图/上海优化公司排行榜
SGI中断也称IPI中断,即处理器间中断,一个处理器可以向其他处理器发送中断,以达到目标处理器执行某种事情。 如上所示,cpu0通过写GICD寄存器让cpu2上产生SGI中断。 在ARM64系统中,硬中断号0~7为SGI中断号,它…...
洛阳凯锦腾网业有限公司/百度seo优化排名如何
wc命令主要用来统计文件的行数(包括空行),加上相应的参数后还可以统计字符、字节数等access.log中内如下192.168.0.136 2017-02-25 http://vip.tx.com/charge/7daycharge?reqSDCOWEDDCDSFDS10.200.124.242 2017-02-25 http://vip…...
青岛安装建设股份有限公司网站/网站seo优化推广
archetype脚手架-.gitignore无法生成问题 .gitignore文件被忽略问题现象描述原因分析解决方案修改maven-resources-plugin配置修改.gitignore文件名称方式.gitignore文件被忽略问题 现象描述 尽管在archetype-metadata.xml文件中配置了包括该文件,使用archetype 模板生成代码…...
哪个医学网站大夫可以做离线题/微信推广引流方法
1.前台拼接需要删除的ID字符串 //删除流程模板delFlowModel: function () {var that modObj; var rows that.uiStore.gvFlowModelList.getCheckRows();if (rows.length 0) {alert("请先选择流程模板");return false;}if (confirm("是否删除…...
上海专业网站优化排名/今天新闻联播
1、综述 ROS 2提供种类丰富的服务质量(Quality of Service,QoS)策略,允许你调整节点间的通信。通过正确设置服务质量策略,在许多许多可能的状态下,ROS 2可以和TCP一样可靠,或者和UDP一样"尽…...