(2024,SaFaRI,双三上采样和 DFT,空间特征和频率特征)基于扩散模型的图像空间和频率感知恢复方法

Spatial-and-Frequency-aware Restoration method for Images based on Diffusion Models

公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群)

目录

0. 摘要

3. 方法

3.1 修改数据保真度

3.2 理论分析

3.3 SaFaRI

4. 实验


0. 摘要

扩散模型最近成为图像恢复 (Image Restoration,IR) 的有希望的框架,这归功于其产生高质量重建的能力和与已建立方法的兼容性。现有方法解决 IR 中的噪声逆问题,考虑了逐像素的数据保真度。在本文中,我们提出了 SaFaRI,一种用于 IR 的面向 Gaussian 噪声的空间和频率感知扩散模型(Spatial-and-Frequency-aware Restoration method for Images。我们的模型鼓励图像在空间和频率域中保持数据保真度,从而实现增强的重建质量。我们在各种噪声逆问题上全面评估了我们模型的性能,包括修复、去噪和超分辨率。我们的彻底评估表明,SaFaRI 在 ImageNet 数据集和 FFHQ 数据集上都取得了最先进的性能,在 LPIPS 和 FID 指标方面超越了现有的零样本 IR 方法。

3. 方法

现有逆问题的方法 Chung 等人 [2023],Zhu等人 [2023],Wang等人 [2022],Kawar等人 [2022a],Chung等人 [2022b] 通过最小化基于像素的数据保真度项 ||y − Ax||^2_2 引导生成过程,该过程未考虑图像的感知特征。在本文中,我们提出了一个修改后的数据保真度项,通过上采样和傅里叶变换分别结合空间和频率特征。

3.1 修改数据保真度

为了增强数据保真度项,我们用项 ∥ψ(y) − ψ(Ax_0)∥ 替换了项 ∥y − Ax_0∥,利用了变换 ψ,该变换有效捕捉图像的感知特征。

为了通过这种技术实现令人满意的结果,建议仔细控制可行解的扰动,以实现最小的干扰。幸运的是,在 ψ 是单射的条件下,以下方程的有效性是被充分证实的。

因此,在假设 ψ 具有单射性的前提下,合理地期望方程(7)的可行解将受到较少的干扰。

方程(7)的第一项是数据保真度项,它量化了测量值与生成图像的失真版本之间的像素级差异。而第二项是正则化项。随后,我们引入一个具有单射性的转换 ψ,它有效地提取感知特征。

空间特征。我们提出利用通过插值获得的上采样图像的效果,以不仅包含像素级信息,还包括图像的空间上下文。图像插值使用卷积操作计算新生成像素的值。这些值是通过与相邻像素的复杂交互确定的,有效地捕捉图像的空间上下文。

本质上,新生成像素的值可以解释为包含从周围空间图像块中获得的关键信息。通过这样做,我们旨在丰富图像的整体表示,从而提高各种图像处理任务的性能。在本文中,我们使用标准的插值方法,双三次插值(bicubic interpolation)。我们用 ψ_(s,r) 表示带有比例 r 的双三次上采样。请注意,双三次上采样 ψ_s 是单射的。

频率特征。为了增强测量与人类感知的对齐性,我们将通过 DFT 获得的图像的频域表示纳入其中。利用离散傅里叶变换(DFT)在提取频率信息方面的优势,DFT 使数据保真度项分解为其低频和高频部分,提供了数据更详细的表示。 

记 F 和 F^(−1) 分别为 2D 离散傅里叶变换(DFT)及其逆变换。对于图像 f ∈ R^(M×N×C),离散傅里叶变换 F 通过具有复系数的正交基分解 f 如下:

对于(u,v)∈ R^M × R^N。我们的分析基于 DFT 的逐通道应用,为了简洁起见,以下不考虑通道维度。

我们采用理想高通滤波和理想低通滤波,分别用 H 和 L 表示,如下所示:

现在我们考虑变换

Parseval 定理暗示了 ψ_f 保持2-范数。换句话说,用 d 表示差异 y−Ax0,

成立。因此,ψ_f 将 ∥d∥^2_2分解为高频项 ∥ψH(d)∥^2_2 和低频项 ∥ψL(d)∥^2_2:

请注意,算子 ψ_f 是保范(norm-preserving)算子,因此 ψ_f 是单射的。同时,最小化∥ψH(d)∥^2_2 和 ∥ψL(d)∥^2_2 分别意味着最小化高频特征和低频特征的差异。

因此,通过对分解的保真度项进行自适应加权,我们可以选择性地增强在视觉感知中起关键作用的高频分量。

3.2 理论分析

3.3 SaFaRI

借助前述概念的协同作用,我们提出 SaFaRI:一种面向空间和频率的图像恢复方法(Spatial-and-Frequency-aware Restoration method for Images),这是一种新的方法,将数据保真度项调整到空间和频率域,从而更全面地表示图像的底层感知属性。

为了考虑空间和频率特征,我们考虑对应于

的数据保真度。由于 ψs 和 ψf 都是单射的,ψ 也是单射的。由于其单射性质,ψ 预计对方程(7)的可行解造成最小的干扰。在这种情况下,它表示如下: 

为了增强算法的稳定性,在实际应用中,我们固定 τ 并将 ψs 设置为同分布,用于前 T − τ 次迭代,其中 T 是总迭代次数。此外,为了优化其性能,我们仔细调整了三个数据保真度项的权重:空间感知项 ρ^s_t、高频项 ρ^H_t 和低频项 ρ^L_t。 SaFaRI 的详细算法制定在 Algorithm 1 中呈现。运算符和超参数的选择在附录中。有关 SaFaRI 的视觉表示,请参考图 2。

4. 实验

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

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

相关文章

JMeter GUI:测试计划和工作台

什么是测试计划? 测试计划是您添加 JMeter 测试所需元素的地方。 它存储运行所需测试所需的所有元素(如线程组、计时器等)及其相应的设置。 下图显示了测试计划的示例 测试计划是您添加 JMeter 测试所需元素的地方。 它存储运行所需测试…

Modbus协议学习第六篇之基于libmodbus库的示例程序(可以联合Modbus模拟仿真软件进行调试)

前置工作 学了这么多Modbus的知识,如果不进行实际的操作,总感觉懂的不透彻。基于此, 本篇博文就带各位读者来了解下如何通过编写程序来模拟与Modbus Slave仿真软件的通讯。当然了,这里有两个前提,如下: 1.请…

【深度强化学习】Python:OpenAI Gym-CarRacing 自动驾驶 | 提供项目完整代码 | 车道检测功能 | 路径训练功能 | 车辆控制功能

💭 写在前面:本篇是关于 OpenAI Gym-CarRacing 自动驾驶项目的博客,面向掌握 Python 并有一定的深度强化学习基础的读者。GYM-Box2D CarRacing 是一种在 OpenAI Gym 平台上开发和比较强化学习算法的模拟环境。它是流行的 Box2D 物理引擎的一个版本,经过修改以支持模拟汽车…

一键部署幻兽帕鲁服务器免费一年方案

一、背景介绍 简单讲一下历程,幻兽帕鲁从在1月19日上线,24小时内在线人数峰值便突破200万,作为2024年第一款现象级游戏,《幻兽帕鲁》上线后,由于人数太多,频现服务器过载导致游戏卡顿掉线的情况。为了能够…

【GitHub项目推荐--大语言模型课程】【转载】

Large Language Model Course Large Language Model Course(大型语言模型课程)是一个开源项目,该课程分为三个部分: LLM 基础:涵盖了数学、Python 和神经网络的基础知识。 LLM 科学家:专注于学习如何使用…

Linux调优相关命令汇总

Linux调优相关命令汇总 TIPS 本文基于CentOS 7编写,理论支持所有所有版本Linux发行版,部分命令的个别参数在不同版本中可能存在细微的差异。 入门级 # 切换目录 cd # 示例 # 切换到上一层目录 cd .. # 切换到/opt/software cd /opt/software# 显示工作目…

【机器学习】基于K-近邻的车牌号识别

实验四: 基于K-近邻的车牌号识别 1 案例简介 ​ 图像的智能处理一直是人工智能领域广受关注的一类技术,代表性的如人脸识别与 CT 肿瘤识别,在人工智能落地的进程中发挥着重要作用。其中车牌号识别作为一个早期应用场景,已经融入日常生活中&…

LVGL部件7

一.图片部件 1.知识概览 2.函数接口 1.lv_img_set_pivot 在LVGL(LittlevGL)中,要设置图像对象的旋转中心点,可以使用 lv_img_set_pivot 函数。该函数的原型如下: void lv_img_set_pivot(lv_obj_t * img, lv_coord_…

Flask框架开发学习笔记《5》简易服务器代码

Flask框架开发学习笔记《5》 Flask是使用python的后端,由于小程序需要后端开发,遂学习一下后端开发。 简易服务器代码 接口解析那一块很关键,学后端服务器这一块,感觉主要就是学习相应地址的接口怎么处理。 然后写清楚每个地址…

在centos 7 中安装配置Jdk、Tomcat、及Tomcat自启动

目录 一、安装配置Jdk 1.创建目录并上传文件 2.解压JDK压缩包 3.配置JDK环境变量 4.设置环境变量生效 二、安装配置Tomcat 1.上传Tomcat并解压 2.启停Tomcat 3.修改tomcat-user.xml配置 4.配置远程访问Tomcat 5.远程项目发布 三.Tomcat自启动配置 1.配置Tomcat自启…

链表的删除和预处理

创建空链表: struct Node head - - - 创建了头链表,内部不储存数据,地址为null,空间开在栈上(在main函数里创建新的节点,一般都开在堆上)。 函数不能返回局部变量的地址,因为局部变量的空…

各大厂急招鸿蒙开发员,争抢鸿蒙工程师

余承东宣布鸿蒙原生应用全面启动,华为开始了全面抛弃安卓的进程。 多家互联网公司也发布了鸿蒙OS的App开发工程师的岗位,开启了抢人大战。 有的企业开出了近百万的年薪招聘鸿蒙OS工程师,而华为甚至为鸿蒙OS资深架构师开出了100万-160万元的…

SASS 官方文档速通

前言:参考 Sass 中文网。 一. 特色功能 Sass 是一款强化 CSS 的辅助工具,在 CSS 语法的基础上增加了变量、嵌套、混合、导入等高级功能。有助于组织管理样式文件,更高效地开发项目。 二. 语法格式 .scss 拓展名:在 CSS3 语法的基…

二分图板子

原理: 匈牙利算法:二分图最大权匹配 - OI Wiki 简单说就是挨个找,找到就退出。后面的来了就让前面的挪位置。 板子: book指给u找位置时,有人考虑过的位置就不考虑了。 match[ i ]就是i位置对应的人。 e是关系 …

k8s helm安装Tiller出错解决

安装Helm 安装Helm通常使用一下命令: [rootk8s-master ~]# curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | bash% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent …

Kotlin快速入门系列10

Kotlin的委托 委托模式是常见的设计模式之一。在委托模式中,有两个对象参与处理同一个请求,接受请求的对象将请求委托给另一个对象来处理。与Java一样,Kotlin也支持委托模式,通过关键字by。 类委托 类的委托即一个类中定义的方…

Mysql-ReadView + MVCC-RR 与 RC

实验准备 创建脚本 CREATE TABLE user (id int(11) NOT NULL AUTO_INCREMENT,name varchar(16) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,age int(11) NULL DEFAULT NULL,addr varchar(256) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,PRIMARY …

1967 - 输出字符的ascii码

题目 从键盘读入一个字符,请计算并输出该字符的 ascii 码。 比如:字符 A 的 ascii 码输出是 65 ,a 的 ascii 码输出是 97 ,0 的ascii码输出是 48 。 输入 一个字符。 输出 一个整数,代表字符对应的 ascii 码。 …

Red Panda Dev C++项目的基本操作

最近在Red Panda Dev C上面编写程序时发现,很多小伙伴都会创建项目。今天我带大家看看如何使用一个项目。 一、项目的创建 创建项目 首先,我们需要创建一个项目。 1、打开Red Panda Dev C。 2、点击 “文件[F]” → “新建[N]” → “项目[P]...”&…

精选70套前端数据可视化大屏

分享70款还不错的前端数据可视化大屏源码 其中包含行业:智慧社区、智慧物业、政务系统、智慧交通、智慧工程、智慧医疗、智慧金融银行等,全网最新、最多,最全、最酷、最炫大数据可视化模板。 你可以点击在线预览查看该源码资源的最终展示效果…