图像融合论文速读:MUFusion: A general unsupervised image fusion network based on memory unit

@article{cheng2023mufusion,
title={MUFusion: A general unsupervised image fusion network based on memory unit},
author={Cheng, Chunyang and Xu, Tianyang and Wu, Xiao-Jun},
journal={Information Fusion},
volume={92},
pages={80–92},
year={2023},
publisher={Elsevier}
}


论文级别:SCI A1 TOP
影响因子:18.6

📖[论文下载地址]
💽[代码下载地址]



📖论文解读

该文提出了一种基于新的记忆单元结构的自进化训练的【端到端】的【通用】图像融合模型MUFusion,可以处理多模态图像融合(IVIF、医学)及数字摄影图像融合(多聚焦、多曝光)任务。

🔑关键词

Image fusion 图像融合
Memory unit 记忆单元
General model 通用模型
Deep learning 深度学习
Unsupervised learning 无监督学习

💭核心思想

这篇文章,只要理解两点就通透了
分别是【记忆单元】和【自适应结构损失权重】

利用训练过程中获得的【中间融合结果】作为辅助信息,监督融合后的图像。既可以从原始输入图像中学习,也可以从网络本身的中间输出中受益。
下图就是作者提出基于记忆单元的方法,x和y分别为输入图像和融合图像。首先生成SA和SB这两个结构相似性变量,然后通过softmax计算自适应的权值p1和p2,这两个权值是用来控制内容损失和记忆损失比例关系的
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
训练时,在每次迭代中,将源图像送入深度网络,产生相应的融合结果。使用包含内容损失和记忆损失两项的损失函数来监督该网络。
同时,将前一epoch得到的模型参数,连同当前的输入输出一起输入到存储单元中。
此外,利用预训练的VGG-19网络提取源图像的深度特征,然后使用L1范式获取活动级别图,通过执行“选择最大”操作获得显著掩膜。
在这里插入图片描述

🎖️本文贡献

  • 设计了一种新的记忆单元,利用训练过程中的中间结果作为辅助监督
  • 使用活动等级图度量输入图像每个像素的重要程度
  • 设计了由内容损失和记忆损失组成的损失函数

🪅相关背景知识

  • 深度学习
  • 神经网络
  • 图像融合

扩展学习
[什么是图像融合?(一看就通,通俗易懂)]

🪢网络结构

作者提出的网络结构如下所示。

在这里插入图片描述
MUFusion具体的网络结构如表1所示。

在这里插入图片描述

📉损失函数

损失函数=内容损失+记忆损失
在这里插入图片描述
内容损失=像素损失+结构相似性损失+梯度损失
在这里插入图片描述
在这里插入图片描述
再具体的细节可以去原文学习,总之只要知道𝑤1和𝑤2是两个二元显著区掩膜就可以了。

记忆损失是基于源图像的活动级别映射计算,可以约束输出图像以包含特定信息,根据模型之前的输出得到记忆损失,可迫使网络产生更高质量的融合结果
在这里插入图片描述

🔢数据集

  • IVIF
    TNO,ROADSCENE

图像融合数据集链接
[图像融合常用数据集整理]

🎢训练设置

在这里插入图片描述

🔬实验

📏评价指标

  • IVIF
    VIF,EN,MI,EI,QABF

扩展学习
[图像融合定量指标分析]

🥅Baseline

  • IVIF
    CBF,MDLatLRR ,DenseFuse,PMGI,U2Fusion, PIAFusion , RFN-Nest.

✨✨✨扩展学习✨✨✨
✨✨✨强烈推荐必看博客[图像融合论文baseline及其网络模型]✨✨✨

🔬实验结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

更多实验结果及分析可以查看原文:
📖[论文下载地址]

🧷总结体会

【记忆单元】这个创行点非常有想法,借鉴了RNN的思想实现IF任务


🚀传送门

📑图像融合相关论文阅读笔记

📑[(TLGAN)Boosting target-level infrared and visible image fusion with regional information coordination]
📑[ReFusion: Learning Image Fusion from Reconstruction with Learnable Loss via Meta-Learning]
📑[YDTR: Infrared and Visible Image Fusion via Y-Shape Dynamic Transformer]
📑[CS2Fusion: Contrastive learning for Self-Supervised infrared and visible image fusion by estimating feature compensation map]
📑[CrossFuse: A novel cross attention mechanism based infrared and visible image fusion approach]
📑[(DIF-Net)Unsupervised Deep Image Fusion With Structure Tensor Representations]
📑[(MURF: Mutually Reinforcing Multi-Modal Image Registration and Fusion]
📑[(A Deep Learning Framework for Infrared and Visible Image Fusion Without Strict Registration]
📑[(APWNet)Real-time infrared and visible image fusion network using adaptive pixel weighting strategy]
📑[Dif-fusion: Towards high color fidelity in infrared and visible image fusion with diffusion models]
📑[Coconet: Coupled contrastive learning network with multi-level feature ensemble for multi-modality image fusion]
📑[LRRNet: A Novel Representation Learning Guided Fusion Network for Infrared and Visible Images]
📑[(DeFusion)Fusion from decomposition: A self-supervised decomposition approach for image fusion]
📑[ReCoNet: Recurrent Correction Network for Fast and Efficient Multi-modality Image Fusion]
📑[RFN-Nest: An end-to-end resid- ual fusion network for infrared and visible images]
📑[SwinFuse: A Residual Swin Transformer Fusion Network for Infrared and Visible Images]
📑[SwinFusion: Cross-domain Long-range Learning for General Image Fusion via Swin Transformer]
📑[(MFEIF)Learning a Deep Multi-Scale Feature Ensemble and an Edge-Attention Guidance for Image Fusion]
📑[DenseFuse: A fusion approach to infrared and visible images]
📑[DeepFuse: A Deep Unsupervised Approach for Exposure Fusion with Extreme Exposure Image Pair]
📑[GANMcC: A Generative Adversarial Network With Multiclassification Constraints for IVIF]
📑[DIDFuse: Deep Image Decomposition for Infrared and Visible Image Fusion]
📑[IFCNN: A general image fusion framework based on convolutional neural network]
📑[(PMGI) Rethinking the image fusion: A fast unified image fusion network based on proportional maintenance of gradient and intensity]
📑[SDNet: A Versatile Squeeze-and-Decomposition Network for Real-Time Image Fusion]
📑[DDcGAN: A Dual-Discriminator Conditional Generative Adversarial Network for Multi-Resolution Image Fusion]
📑[FusionGAN: A generative adversarial network for infrared and visible image fusion]
📑[PIAFusion: A progressive infrared and visible image fusion network based on illumination aw]
📑[CDDFuse: Correlation-Driven Dual-Branch Feature Decomposition for Multi-Modality Image Fusion]
📑[U2Fusion: A Unified Unsupervised Image Fusion Network]
📑综述[Visible and Infrared Image Fusion Using Deep Learning]

📚图像融合论文baseline总结

📚[图像融合论文baseline及其网络模型]

📑其他论文

📑[3D目标检测综述:Multi-Modal 3D Object Detection in Autonomous Driving:A Survey]

🎈其他总结

🎈[CVPR2023、ICCV2023论文题目汇总及词频统计]

✨精品文章总结

[图像融合论文及代码整理最全大合集]
[图像融合常用数据集整理]

🌻【如侵权请私信我删除】

如有疑问可联系:420269520@qq.com;
码字不易,【关注,收藏,点赞】一键三连是我持续更新的动力,祝各位早发paper,顺利毕业~

  • 9
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要实现在Unity2D中点击某个物体后,物体改变速度,并在一段时间后恢复原始速度,可以按照以下步骤进行: 1. 创建物体:首先创建一个物体,可以使用Unity的模型编辑器或导入自定义模型。 2. 添加组件:给物体添加刚体组件和碰撞器组件,以便进行物理模拟。 3. 编写脚本:创建一个脚本来控制物体的速度变化和复原。在脚本中,可以使用协程来延迟一段时间后恢复原始速度。 ```csharp using UnityEngine; public class ObjectController : MonoBehaviour { public float originalSpeed = 5f; // 物体的原始速度 public float changedSpeed = 10f; // 物体改变后的速度 public float restoreDelay = 2f; // 物体恢复原始速度的延迟时间 private Rigidbody2D objectRigidbody; private float currentSpeed; void Start() { objectRigidbody = GetComponent<Rigidbody2D>(); currentSpeed = originalSpeed; } void Update() { // 点击鼠标左键时改变物体速度 if (Input.GetMouseButtonDown(0)) { Vector2 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition); Collider2D collider = Physics2D.OverlapPoint(mousePosition); if (collider != null && collider.gameObject == gameObject) { ChangeSpeed(changedSpeed); StartCoroutine(RestoreSpeed(restoreDelay)); } } // 应用物体速度 Vector2 velocity = transform.up * currentSpeed; objectRigidbody.velocity = velocity; } void ChangeSpeed(float newSpeed) { currentSpeed = newSpeed; } System.Collections.IEnumerator RestoreSpeed(float delay) { yield return new WaitForSeconds(delay); currentSpeed = originalSpeed; } } ``` 4. 在场景中放置物体实例:在场景中放置一个物体的实例,并将物体控制脚本(ObjectController)添加到物体的GameObject上。 通过以上步骤,当点击该物体时,物体的速度将改变为指定的速度,并在一段时间后恢复原始速度。你可以根据需要调整原始速度、改变后的速度和恢复延迟时间。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

图像强

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值