Zero-sho原先的升级版:hourglass网络:U-Net

news2024/9/25 9:35:09

ZMFF: Zero-shot multi-focus image fusion

(ZMFF: Zero-shot 多聚焦图像融合)

(本论文的先导片:ZERO-SHOT MULTI-FOCUS IMAGE FUSION)

这是我们之前的扩展工作。在ZMFF,我们做一些改动和改进相比原来的框架。首先,用源图像代替深度图像先验网络(INet)的输入噪声,使训练过程更加稳定。该方法能够为INet提供最有价值的指导信息,对清晰融合图像的先验信息进行建模,从而提高了融合图像的性能。其次,我们使用深度掩模先验网络(mask prior networks (MNet))来估计每个源图像的对应聚焦图,而不是仅估计一个掩模。有了这个设计,我们可以很容易地扩展我们的框架,以适应情况下有两个以上的源图像,并获得更好的性能。最后, 我们在合成和真实的MFF数据集上进行了大量的实验,消融研究和相应的详细分析,有效地证明了所有这些网络重构大大提高了IMNet的通用性和灵活性。

相关工作

Deep image prior(DIP)

最近,Ulyanov等人提出的深度图像先验(DIP),使用一个精心设计的“hour-glass”生成器来捕捉低级图像统计,表明图像先验不一定需要从大规模的数据集。相反,深层网络的结构也可以捕获输入图像的统计特性的深之前解决一些标准低层次的图像恢复问题(如图像超分辨率、图像去噪、图像完成,等等)没有任何训练数据。最近,研究基于这项工作取得了很大进展领域的图像恢复。Gandelsman等人提出了基于耦合DIP的图像分解任务的通用框架,Ren等人将DIP应用于图像去模糊,并获得了视觉上有利的结果。Uezato等人提出使用类似网络的编码器-解码器来利用引导图像的多尺度特征,并使用深度解码器来生成输出图像。更进一步,深度生成先验(DGP)提出了一种通过在大规模自然图像数据集上训练的生成对抗网络(GAN)来捕获丰富图像先验的有效方法。一般来说,在真实数据集极其缺乏的情况下,深度图像先验确实可以提供很大帮助。

方法

MFF problem formulation

MFF可以看作是源图像𝐼𝑖 R 𝑀 × 𝑁 × 𝐶 R^{𝑀 ×𝑁 ×𝐶} RM×N×C根据聚焦图 𝐼 𝑖 𝐼^𝑖 Ii𝑚 R 𝑀 × 𝑁 R^{𝑀 ×𝑁 } RM×N的加权平均,𝑀和𝑁分别表示源图像的高度和宽度,𝐶 表示源图像的通道数,𝑖∈{1,…,K},K表示源图片的数目。融合图像𝐼𝑓 R 𝑀 × 𝑁 × 𝐶 R^{𝑀 ×𝑁 ×𝐶} RM×N×C可以计算为:在这里插入图片描述如上所述,许多MFF方法深深依赖于手工制作的先验。本文基于MFF任务的固有性质,即估计待恢复数据所需的先验信息隐藏在输入数据中,探讨了深度神经网络作为图像先验信息的能力,并将其应用于多聚焦图像对的融合。该方法使用两个生成网络,分别对干净融合图像的深度先验𝐼𝑓和源图像对应的焦点图 𝐼 𝑖 𝐼^𝑖 Ii𝑚进行建模𝐼𝑖。虽然估计融合图像或焦点地图会导致最后的结果,和似乎冗余估计焦点地图,同时融合图像。为了满足self-supervised学习,要求我们将Double-DIP的理念,把融合图像和集中映射到变量估计。

MFF using deep image prior

如图1所示,我们的整体框架由深度掩模先验网络MNet组成请添加图片描述随机采样 𝑍 𝑖 𝑍^𝑖 Zi𝑚噪声均匀分布分别作为输入和输出对应的聚焦图 𝐼 𝑖 𝐼^𝑖 Ii𝑚,深度图像先验网络INet,以源图像的拼接𝐼𝑖作为输入,输出清晰的融合图像𝐼𝑓。我们之所以以源图像而不是噪声作为输入,是因为源图像包含了最重要的信息,可以为融合图像的生成给予最直接的指导𝐼𝑓。图3表明,指导信息从源图像,深度图像之前网络可以更好的融合。
(请注意,虽然我们只使用最常用的两个源图像的设置作为图1中的示例,但我们的框架可以轻松扩展到多个源图像。)
请添加图片描述

然后生成融合图像和焦点地图对应于每个源图像是由精心设计优化的损失。只因为它是随机初始化深度网络被用来适应单一形象,深模型很容易过度拟合,一个设计良好的hourglass网络可以大大减轻这个问题。U-Net善于提取低级和高标准的信息,因此采用U-Net作为其支柱。下采样模块和上采样模块之间的非对称设计可以有效避免繁琐的解决方案,𝐼𝑓 看起来与源图像之一相同𝐼𝑖,并且 𝐼 𝑖 𝐼^𝑖 Ii𝑚看起来全白色或全黑,这会使算法难以优化。大量的BatchNorm层也可以使网络更好地适应高频组件。共享的网络结构INet和MNet如图2所示,INet的详细参数设置和MNet表1和2所示。请添加图片描述
请添加图片描述
请添加图片描述
在这项工作中,我们提出了一个重建损失(如Eq.(1)所示) 以获得由神经网络参数化而不是以pixel-to-pixel的方式引导生成的显式正则化捕获的隐式先验在这里插入图片描述重建损失提供了一个保证生成的图像的信息来自源图像对,从而避免出现伪影。同时,在高层语义信息的指导下,基于生成的方法能够消除基于选择的融合策略所带来的亮度不一致噪声,特别是在聚焦和散焦区域的边界区域,像素容易被误分类。因此,我们的方法结合了基于聚焦图估计的方法和基于融合图像生成的方法的优点。
然而,MFF是一个非常不适定的问题,由于缺乏对从INet学习到的信息是清晰还是模糊的约束,使得重构损失很大,并且网络可能会变得混乱而产生令人不快的结果。为此,我们引入一个导失来引导网络学习的明确信息:在这里插入图片描述
对于每个源图像𝐼𝑖,我们有:
请添加图片描述

初始聚焦图用于提供高频图像信息,使得网络可以了解图像的清晰度。如图4所示,初始聚焦图噪声很大,我们的方法可以近似看作是初始聚焦图去噪问题。由于深度图像先验结构的抗噪特性,本文提出的框架可以从不准确的分类信息中恢复出更清晰、更精确的聚焦图。请添加图片描述
。图3显示了优化过程中一个模拟样本的PSNR曲线和生成的融合图像以及相应的聚焦图,生成的融合图像和聚焦图在Eq.(2)中的重建损失的影响下进行了协同优化。当迭代次数变得太大时,聚焦图可能过拟合有噪声的初始聚焦图。
最后,我们得到我们的目标函数Eq.(5):
请添加图片描述
其中𝛼是重建损耗和引导损耗之间的权重权衡。

Implementation details

(进行复现时再细看)

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

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

相关文章

数学英语不好,新手学编程难吗?适合学Python吗?

英语不好,上学时考试从来没有超越40分。 数学也不可,很多的东西都还给老师了。 我还能学习编程吗??? 刚开始学习的时分,这个问题深深的困扰着我。以致于我其时报培训班之前犹疑了很长很长时刻。 由于在我…

[C语言数据结构]万字长文带你学习八大排序

📟作者主页:慢热的陕西人 🌴专栏链接:数据结构 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 本博客讲解八大排序,及其优化 文章目录排序Ⅰ插入排序&…

配置SSH Keys到github,实现本地操作远程仓库的权限

文章目录第1步:创建SSH Key第2步:检查是否纯正.ssh目录第3步:复制id_rsa.pub的内容第4步:在你的github页面上配置SSH key第5步:验证是否可连接第1步:创建SSH Key 在用户根目录下,打开命令&…

非零基础自学Golang 第10章 错误处理 10.5 Go语言错误的应用 10.6 小结 10.7 知识拓展

非零基础自学Golang 文章目录非零基础自学Golang第10章 错误处理10.5 Go语言错误的应用10.6 小结10.7 知识拓展10.7.1 error接口的应用第10章 错误处理 10.5 Go语言错误的应用 10.4.2小节中的panic()和recover()虽然能模拟其他语言的异常机制,但是并不建议在Go语言…

广州特耐苏-广州风淋通道构造及特点

风淋通道构造及风淋通道特点-广州特耐苏-广州风淋通道-广州风淋通道规格-广州风淋通道置量-广州风淋通道价格-特耐苏拥有*的数控加工设备,技术力量雄厚,专业生产自动化/风淋室货淋室、 >>采用更适合洁净室原理的圆弧转角; >>系统自动控制运…

密码技术扫盲:非对称加密

个人博客 密码技术扫盲:对称加密🎯 密码技术扫盲:非对称加密密码技术扫盲:认证 在上一篇对称加密的介绍中,我们了解到对明文的加密需要使用到密钥,而解密时也必须用到同一把密钥,也就是说发送…

假如编程是魔法之零基础看得懂的Python入门教程

一、前言 几个月前编写了一份python语言入门的博文,近期重新审阅了一遍发现编写的质量太过随意,可能对于一部分人并不是非常友好,故此重新编写Python语言的零基础教程。 本篇教程将会尽量把一些专业术语给读者讲解清楚,并且让读者…

如何成为一个优秀的Python工程师?

众所周知,Python因其优雅而简洁的语言优势而备受程序员的青睐和追捧。随着人工智能、大数据技术的落地,Python工程师也成为了目前薪资待遇高,发展前景好的热门岗位。虽然,Python入门简单,对初学者友好,但是…

52 如何 尽可能的减少 自定义ClassLoader 造成的影响

前言 // 呵呵 很快又该总结 2022 了, 希望这一年也能总结出很多收获 接着 java.lang.Class/java.lang.ClassLoader/InstanceKlass/ClassloaderData 的卸载 可以先看一下 这一篇文章, 明确一下 上下文 这里 主要说的是 如果我们的场景中存在自定义的 classloader 的情况…

Flask + echarts 轻松解决 nginx 日志可视化

最近,线上的业务系统不太稳定,需要分析下访问情况,能拿到的数据只有 nginx 服务器的访问日志,不过难不倒我,用合适的工具,分分钟做出图形化展示,看看怎么做的吧 思路 nginx 访问日志&#xff…

9 CPP结构体注意事项

注意: 1 结构名是标识符 2 结构体的成员可以是任意数据类型 3 定义结构体描述的代码可以放在程序的人和地方,一般放在main函数的上面或头文件中。 4 结构体成员可以用C的类(如string),但是不提倡。 5 在C中&#…

java:AES加密和解密

java:AES加密和解密 1 前言 对称加密,即单秘钥加密,指加密和解密的过程中,使用相同的秘钥,相比于非对称加密,因仅有一把钥匙,故而速度更快,更适合解密大文件(常见于如视…

ESP32的arduino IDE代码使用flash download tool进行烧录

ESP32的arduino IDE代码使用flash download tool进行烧录前言arduino代码烧录arduino下载了一些什么文件flash download tool工具烧录总结前言 最近遇到用户在使用 arduino IDE开发环境编写了ESP32的代码,希望提供编写好的程序给用户烧录,但是又不希望让…

Kotlin + SpringBoot + JPA 服务端开发

Kotlin SpringBoot JPA 服务端开发 本篇主要介绍一下 kotlin springboot的服务端开发环境搭建 1.概述 Kotlin 是一个基于JVM的编程语言, 是IDEA开发工具 jetbrains 公司开发的语言,也被google选为android开发的首选语言, 因为它是完全兼容Java的 所以也可以做后端开发 比如…

[Java] 如何理解和设置ThreadPoolExecutor三大核心属性?什么情况下工作线程数会突破核心线程数?任务拒绝策略都有哪些?

文章目录前言ThreadPoolExecutor类是什么?ThreadPoolExecutor的三大核心属性1. 核心线程数(corePoolSize)属性2. 任务队列(workQueue)属性3. 最大线程数(maximumPoolSize)属性总结:T…

【开发百宝箱之猿如意使用指南】「工欲成其事,必先利其器」一文教你如何通过“猿如意”便捷的使用数据库管理工具DBeaver

开发百宝箱之猿如意使用指南欢迎您使用“猿如意”百宝箱大家科普一下什么是猿如意?赶快趁热下载个【猿如意】吧每个程序猿值得拥有的学习开发工作必备“良药”没有猿如意的“我们”(猿如意帮我们解决了哪些问题?)【如何快速下载自…

非零基础自学Golang 第12章 接口与类型 12.2 接口的创建与实现 12.2.1 接口创建

非零基础自学Golang 文章目录非零基础自学Golang第12章 接口与类型12.2 接口的创建与实现12.2.1 接口创建第12章 接口与类型 12.2 接口的创建与实现 Go语言接口是方法的集合,使用接口是实现模块化的重要方式。 下面将重点介绍如何创建和实现一个Go语言接口。 12…

Pytest用例执行的先后顺序

[内部资源] 想拿年薪30W的软件测试人员,这份资料必须领取~ 温馨提示 「本篇约1600字,看完需3-5分钟,学习学半小时,加油!」 先看普通函数运行顺序 import pytestdef test_one():print("我是清安")def tes…

React学习27(react-redux多组件共享数据)

项目结构 准备工作 1)定义一个person组件,和count组件通过redux共享数据 2)为person组件编写:reducer ,action和contant常量 3)重点:Person的reducer和Count的reducer要用combineReducers进行…

深度学习-优化器

优化器 文章目录优化器1. 引言1. SGD1.1 vanilla SGD1.2 SGD with Momentum1.3 SGD with Nesterov Acceleration2. AdaGrad3. RMSProp4. AdaDelta5. Adam优化器选择出处1. 引言 优化算法可以分成一阶优化和二阶优化算法,其中一阶优化就是指的梯度算法及其变种&#…