FusionDiff:第一个基于扩散模型实现的多聚焦图像融合的论文

news2024/11/22 15:49:06

文章目录

    • 1. 论文介绍
    • 2. 研究动机
    • 3. 模型结构
      • 3.1 网络架构
      • 3.2 前向扩散过程
      • 3.3 逆向扩散过程
      • 3.4 训练和推理过程
    • 4. 小样本学习
    • 4. 实验结果

1. 论文介绍

题目:FusionDiff: Multi-focus image fusion using denoising diffusion probabilistic models

作者:Mining Li,中国科学技术大学

录用期刊:Expert Systems with Applications 2023

论文地址:paper

开源代码地址:code

论文主要创新点:提出了第一个基于扩散模型 (Diffusion) 实现的多聚焦图像融合模型,并实现了小样本学习,将训练集降低为以往算法的 2% 以内。

2. 研究动机

目前多聚焦图像融合领域中,深度学习方法的效果明显优于传统算法,深度学习方法可以分为基于决策图的方法和端到端的方法。在基于决策图的方法中,学者们致力于提高聚焦/散焦像素的分类精度。在端到端的方法中,学者们致力于尽可能多的从源图像中提取特征并重建出高质量的融合图像。

目前多聚焦图像融合(MFIF)领域缺乏复杂场景的测试集。单考虑 Lytro 和 MFFW 等公开的多聚焦图像融合数据集,这些数据集中图像的结构非常简单,聚焦和散焦区域的分布也不复杂;因此目前达到 SOTA 水平的方法已经能够取得非常好的融合效果了。

但要想在这些简单的数据集上做出更好的效果,就需要使用更复杂的网络结构。因此越来越多的论文致力于使用更复杂的网络模型和结构,使用更多的损失函数来提高融合性能;但这样的工作实现或复现起来是很困难的,其给读者的启发性也比较有限。

本文另辟蹊径,从图像生成的角度考虑图像融合,将其建模为一个条件图像生成任务,并取得了 SOTA 效果。

3. 模型结构

任何基于 Diffusion 实现的算法都高度依赖于对 Diffusion 的理解,这里就不讲解 Diffusion 了。关于 Diffusion 的介绍和数学原理的推导可以参考书籍 《生成式深度学习的数学原理》

3.1 网络架构

FusionDiff 是一个简单的 Conditional Diffusion Model(条件扩散模型)网络,其图像融合示意图如下:

        

FusionDiff 以两张源图像 { S 1 , S 2 } \{ S_1,S_2 \} {S1,S2} 作为条件输入到噪声预测网络中,将预测的噪声通过 Eq(7) 转换为融合图像的隐变量 F t − 1 F_{t-1} Ft1,随着迭代步骤 t t t 增加, F t − 1 F_{t-1} Ft1 变得越来越清晰(与 ground-truth 越来越接近),将 F 0 F_{0} F0 输入作为最终的融合结果。

FusionDiff 的噪声预测网络是一个 U-Net 网络:

        

3.2 前向扩散过程

对于 { S 1 , S 2 , F } \{ S_1,S_2,F \} {S1,S2,F} 的训练集图像对,对真实的融合图像 (ground-truth) F F F 逐步加噪,直到变成纯噪声。示意图如下:

          

文中设置 T = 2000 T=2000 T=2000,采用 cos 形式的噪声方差变化函数。

3.3 逆向扩散过程

DDPM 的逆向扩散过程为 Eq(6):

  F t − 1 = 1 ϕ t ( F t − 1 − ϕ t 1 − ϕ ‾ t ε θ ( F t , t ) ) + Σ θ ϵ , w h e r e   ϵ ∼ N ( 0 , I ) \ {F_{t - 1}} = \frac{1}{{\sqrt {{\phi _t}} }}\left( {{F_t} - \frac{{1 - {\phi _t}}}{{\sqrt {1 - {{\overline \phi }_t}} }}{\varepsilon _\theta }\left( {{F_t},t} \right)} \right) + \sqrt {\Sigma _\theta }{{\epsilon}},where \ {\epsilon}\sim N\left( {0, I} \right)  Ft1=ϕt 1 Ft1ϕt 1ϕtεθ(Ft,t) +Σθ ϵ,where ϵN(0,I)

作者认为多聚焦图像融合是一个相对确定性的过程,“在MFIF中,观察者很容易区分每个源图像的哪些像素被聚焦,从而大致确定融合图像中应该包含哪些区域。也就是说,对于一系列源图像,FusionDiff 生成的结果应该与观察者预期的融合结果一致,而不是随机生成的。因此 FusionDiff 在图像生成过程中不添加任何随机噪声,以避免融合图像的随机性。”

与 DDIM 相似,FusionDiff 的逆向扩散过程不包含高斯随机噪声项,即 Eq(7):

  F t − 1 = 1 ϕ t ( F t − 1 − ϕ t 1 − ϕ ‾ t ε θ ( S 1 , S 2 , F t , t ) ) \ {F_{t - 1}} = \frac{1}{{\sqrt {{\phi _t}} }}\left( {{F_t} - \frac{{1 - {\phi _t}}}{{\sqrt {1 - {{\overline \phi }_t}} }}{\varepsilon _\theta }(S_1, S_2, {F_t}, t)} \right)  Ft1=ϕt 1 Ft1ϕt 1ϕtεθ(S1,S2,Ft,t)

为了验证基于 Eq(7) 的融合过程是否比基于 Eq(6) 更有效,作者进行了重复性实验:

在这里插入图片描述
可以看到基于 Eq(7) 的融合结果取得了更高的评价指标得分和更低的误差(即更高的确定性/稳定性)。

3.4 训练和推理过程

训练过程:

          

推理过程:

          

4. 小样本学习

FusionDiff 实现了小样本学习,仅仅采用了 100 对多聚焦图像进行训练就取得了 SOTA 的融合结果。以往的 MFIF 算法需要 5000 对图像以上,Table 1 列举了一些代表性的方法的训练集规模:

          

小样本学习的性能使得 FusionDiff 可能适用于样本稀缺的多聚焦图像融合领域,如显微和生物成像场景。

4. 实验结果

作者对比了当前所有类型的代表性的 MFIF 方法:

          

FusionDiff 在 Lytro 和 MFFW 两个公开数据集上取得了 SOTA:

                     

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1207462.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微服务全链路监控技术的实践路径

📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢交流讨论:加入1000人软件测试技术学习交流群📢资源分享:进了字节跳动之后,才…

【自动化测试】Jenkins持续集成-设置执行环境+构建触发器(超细整理)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、Jenkins流水线…

SSL证书为什么那么贵?有便宜的吗?

SSL证书在网络安全中扮演着关键的角色,确保数据传输的机密性和完整性。然而,SSL证书的价格差异却常常让人感到疑惑,为何有些证书如此昂贵,而另一些则相对便宜?这个问题涉及到多个因素,包括证书类型、品牌声…

【图的定义和术语,图的类型定义】

文章目录 图的定义和术语图的类型定义 图的定义和术语 图:G(V,E)V:顶点(数据元素)的有穷非空集合。 E:边的有穷集合。 无向图:每条边都是无方向的。 有向图:每条边都是有方向的。 …

新公众号没有留言功能怎么办?如何设置留言?

为什么公众号没有留言功能?根据要求,自2018年2月12日起,新申请的微信公众号默认无留言功能。有些人听过一个说法:公众号粉丝累计到一定程度或者原创文章数量累计到一定程度就可以开通留言功能。其实这个方法是2018年之前才可以&am…

数据结构第三课 -----线性表之双向链表

作者前言 🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂 ​🎂 作者介绍: 🎂🎂 🎂 🎉🎉&#x1f389…

全网火爆,Python接口自动化测试Mock服务详细总结(实战场景)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、Mock实现原理与…

GitHub加速配置

1. 找到要加速的域名 GitHub:github.com(这只是加载主页面的)GitHub下载:codeload.github.com(不唯一,自己去下载链接看) 2. 用域名到DNS解析服务器地址 ITDOG 3. 修改 Hosts 文件 依据解…

PicoDiagnostics (NVH设备软件)-PS软件设置文件类型介绍

作为远程技术指导人员&#xff0c;下面这个功能对你来说可能非常有帮助。 在PicoScope 7 软件的文件保存格式里&#xff0c;通常选择的是<PS 数据文件>类型&#xff0c;容易忽略其他实用的保存文件类型&#xff0c;下面我们介绍<PS设置文件>类型。 PS 数据文件&…

深入理解计算机系统 笔记

写在前面 记录一下《深入理解计算机系统》中的要点。 一、第一章 计算机系统漫游 1. 程序的编译周期 最初编写的源程序xxx.c是一个文本文件&#xff1b;编译系统把源程序编译到可执行目标程序需要经过如下4个阶段&#xff1b; 1.1 预处理阶段 由预处理器&#xff08;cpp&a…

【带头学C++】----- 六、结构体 ---- 6.1 结构体概述

6.1 结构体概述&#xff08;struct&#xff09; 结构体&#xff08;struct&#xff09;是C中用于自定义数据类型的一种机制&#xff0c;它允许将多个不同类型的变量&#xff08;成员变量&#xff09;组合在一起形成一个新的数据类型。结构体允许程序员创建一个包含不同数据类型…

HPV转阴如何合理饮食,对此HPV专家谭巍主任提出自己看法

HPV感染不是小事&#xff0c;如果体内长期携带病毒不转阴&#xff0c;则有可能引发一系列病变。但在HPV转阴方面饮食有着不可或缺的作用&#xff0c;合理饮食对于促进HPV转阴至关重要。而关于HPV人群合理饮食问题&#xff0c;劲松HPV防治诊疗中心主任谭巍将提出一些建议&#x…

数据同步工具调研选型:SeaTunnel 与 DataX 、Sqoop、Flume、Flink CDC 对比

产品概述 Apache SeaTunnel 是一个非常易用的超高性能分布式数据集成产品&#xff0c;支持海量数据的离线及实时同步。每天可稳定高效同步万亿级数据&#xff0c;已应用于数百家企业生产&#xff0c;也是首个由国人主导贡献到 Apache 基金会的数据集成顶级项目。 SeaTunnel 主…

【shardingjdbc】sharding-jdbc分库分表入门demo及原理分析

文章目录 场景配置&#xff1a;概念及原理:代码:思考: 本文中&#xff0c;demo案例涉及场景为sharding jdbc的分库情况。 通俗点说就是由原来的db0_table水平拆分为 db1 t_table &#xff0c;db2.t_table。 demo本身很简单&#xff0c;难点在于分片策略配置到底该怎么写&#x…

宝马所有发动机号码的位置以及型号说明

每个汽车制造商都会为自己生产的汽车底盘和发动机分配一个内部代码&#xff0c;以标识研发和生产项目&#xff0c;而宝马对这些底盘代码和发动机代码更是规划的井井有条&#xff0c;比如发动机有M、N、B、S、P或W等代码标识&#xff0c;而底盘和车身则有E、F、G或i等代码标识。…

2FRE16-43/160LBK4M比例流量阀放大器

比例阀控制放大器技术是电液比例系统中的一个重要组成部分&#xff0c;它主要负责对比例阀进行控制。这种技术可以实现对液压流量或压力的精确控制&#xff0c;从而使系统以更高的精度和更快的响应速度执行各种操作。 比例阀控制放大器主要由三个部分组成&#xff1a;比例阀、…

58 权限提升-网站权限后台漏洞第三方获取

目录 当前知识点在渗透流程中的点当前知识点在权限提升的重点当前知识点权限提升权限介绍利用成功后的思想需要总结的思路演示案例:某挂壁程序后台权限提升-后台功能某BC广告导航页权限提升-漏洞层面苏丹大西瓜GlassFish中间件-第三方 涉及资源 这里包括网站权限、其它权限、系…

自己搭设开源密码管理工具 bitwarden

简介 Bitwarden是一款自由且开源的密码管理服务&#xff0c;用户可在加密的保管库中存储敏感信息&#xff08;例如网站登录凭据&#xff09;。Bitwarden平台提供有多种客户端应用程序&#xff0c;包括网页用户界面、桌面应用&#xff0c;浏览器扩展、移动应用以及命令行界面。[…

老卫带你学---go语言net/http原理解析

go语言net/http原理解析 对于golang&#xff0c;实现一个最简单的http server 非常简单&#xff0c;代码如下&#xff1a; package mainimport ("net/http""fmt" )func Indexhandler(w http.ResponseWriter,r *http.Request) {fmt.Fprintln(w,"hel…

【操作系统】内存的连续分配管理

文章目录 前言连续分配管理的方式单一连续分配固定分区分配动态分区分配如何记录内存的使用情况如何选择分区如何对分区进行回收 前言 当我们的进程在完成编译以后&#xff0c;需要装入内存&#xff0c;此时就有两种方式来进行内存的分配&#xff1a;连续分配、非连续分配。 …