无需训练,这个新方法实现了生成图像尺寸、分辨率自由

news2024/11/26 2:34:14

    ChatGPT狂飙160天,世界已经不是之前的样子。
新建了免费的人工智能中文站https://ai.weoknow.com
新建了收费的人工智能中文站https://ai.hzytsoft.cn/

更多资源欢迎关注


近日,来自香港中文大学 - 商汤科技联合实验室等机构的研究者们提出了FouriScale,该方法在利用预训练扩散模型生成高分辨率图像方面取得了显著提升。

近期,扩散模型凭借其出色的性能已超越 GAN 和自回归模型,成为生成式模型的主流选择。基于扩散模型的文本到图像生成模型(如 SD、SDXL、Midjourney 和 Imagen)展现了生成高质量图像的惊人能力。通常,这些模型在特定分辨率下进行训练,以确保在现有硬件上实现高效处理和稳定的模型训练。

图片

图 1 : 采用不同方法在 SDXL 1.0 下生成 2048×2048 图像的对比。[1]

然而,当这些预训练的扩散模型在超出训练分辨率时生成图像,通常会出现模式重复和严重的人工伪影(artifacts)问题,如图 1 最左侧所示。

为了解决这一问题,来自香港中文大学 - 商汤科技联合实验室等机构的研究者们在一篇论文中深入研究了扩散模型中常用的 UNet 结构的卷积层,并从频域分析的角度提出了 FouriScale, 如图 2 所示。

图片

图 2 FouriScale 的流程(橙色线)示意图,目的是保证跨分辨率的一致性。

FouriScale 通过引入空洞卷积操作和低通滤波操作来替换预训练扩散模型中的原始卷积层,旨在实现不同分辨率下的结构和尺度一致性。配合「填充然后裁剪」策略,该方法能够灵活生成不同尺寸和长宽比的图像。此外,借助 FouriScale 作为指导,该方法在生成任意尺寸的高分辨率图像时,能够保证完整的图像结构和卓越的图像质量。FouriScale 无需任何离线预计算,具有良好的兼容性和可扩展性。

定量和定性实验结果表明,FouriScale 在利用预训练扩散模型生成高分辨率图像方面取得了显著提升。

图片

  • 论文地址:https://arxiv.org/abs/2403.12963

  • 开源代码:https://github.com/LeonHLJ/FouriScale

  • 论文标题:FouriScale: A Frequency Perspective on Training-Free High-Resolution Image Synthesis

方法介绍

1、空洞卷积保证跨分辨率下的结构一致性

扩散模型的去噪网络通常是在特定分辨率的图像或潜在空间上训练的,这个网络通常采用 U-Net 结构。作者的目标是在推理阶段使用去噪网络的参数生成分辨率更高的图像,而无需重新训练。为了避免推理分辨率下的结构失真,作者尝试在默认分辨率和高分辨率之间建立结构一致性。对于 U-Net 中的卷积层,结构一致性可表述为:

图片

其中 k 是原本的卷积核,k' 是为更大分辨率定制的新卷积核。根据空间下采样的频域表示,如下:

图片

可以将公式(3)写为:

这个公式表明了理想卷积核 k' 的傅里叶频谱应该是由 s×s 个卷积核 k 的傅里叶频谱拼接而成的。换句话说,k' 的傅里叶频谱应该有周期性重复,这个重复模式是 k 的傅里叶频谱。

广泛使用的空洞卷积正好满足这个要求。空洞卷积的频域周期性可以通过下式表示:

图片

当利用预训练扩散模型(训练分辨率为(h,w))生成 (H,W) 的高分辨率图像时,空洞卷积的参数使用原始卷积核,扩张因子为 (H/h, W/w),是理想的卷积核 k'。

2、低通滤波保证跨分辨率下的尺度一致性

然而,只利用空洞卷积无法完美地解决问题,如图 3 左上角所示,只使用空洞卷积仍然在细节上存在模式重复的现象。作者认为这是因为空间下采样的频率混叠现象改变了频域分量,导致了不同分辨率下频域分布的差异。为了保证跨分辨率下的尺度一致性,他们引入了低通滤波来过滤掉高频分量,以去除空间下采样后的频率混叠问题。从图 3 右侧对比曲线可以看到,在使用低通滤波后,高低分辨率下的频率分布更加接近,从而保证了尺度一致。从图 3 左下角图看到,在使用低通滤波后,细节的模式重复现象有明显地改善。

 

图片

图 3 (a) 是否采用低通滤波的视觉对比。(b)不采用低通滤波的傅立叶相对对数幅值曲线。(c) 采用低通滤波的傅立叶相对对数幅值曲线。

3、适应于任意尺寸的图像生成

以上的方式只能适应于生成分辨率与默认推理分辨率的长宽比一致时,为了使 FouriScale 适应于任意尺寸的图像生成,作者采用了一种「填充然后裁剪」的方式,方法 1 中展示了结合了该策略的 FouriScale 的伪代码.

图片

4、FouriScale 引导

由于 FouriScale 中的频域操作,不可避免的使生成的图像出现了细节缺失与不期望的伪影问题。为了解决这一问题,如图 4,作者提出了将 FouriScale 作为引导的方式。具体来说,在原本的条件生成估计以及无条件生成估计的基础上,他们引入一个额外的条件生成估计。这个额外的条件生成估计的生成过程同样采用空洞卷积,但是使用更加温和的低通滤波,从而保证细节不丢失。同时他们将利用 FouriScale 输出的条件生成估计中的注意力分数替换掉这一额外的条件生成估计中的注意力分数,由于注意力分数包含着生成图像中的结构信息,这一操作将 FouriScale 中正确的图像结构信息引入,同时保证了图像质量。

图片

图 4 (a) FouriScale 引导示意图。(b)不采用 FouriScale 作为引导的生成图像,有明显的伪影和细节错误。(c) 采用 FouriScale 作为引导的生成图像。

实验

1. 定量试验结果

作者遵循 [1] 的方法,测试了三个文生图模型(包括 SD 1.5,SD 2.1 和 SDXL 1.0),生成四种更高分辨率的图像。测试的分辨率是它们各自训练分辨率的 4 倍、6.25 倍、8 倍和 16 倍像素数量。在 Laion-5B 上随机采样 30000/10000 个图文对测试的结果如表 1 所示:

图片

表 1 不同的无需训练方法的定量结果对比

他们的方法在各个预训练模型,不同分辨率下都获得了最优的结果。

2. 定性试验结果

如图 5 所示,他们的方法在各个预训练模型,不同分辨率下都能够保证图像生成质量与一致的结构。

图片

图 5 不同的无需训练方法的生成图像对比

结论

本文提出了 FouriScale 用于增强预训练扩散模型生成高分辨率图像的能力。FouriScale 从频域分析出来,通过空洞卷积和低通滤波操作改善了不同分辨率下的结构和尺度一致性,解决了重复模式和结构失真等关键挑战。采用「填充然后裁剪」策略并利用 FouriScale 作为指导,增强了文本到图像生成的灵活性和生成质量,同时适应了不同的长宽比生成。定量和定性的实验对比表明,FouriScale 能够在不同预训练模型,不同分辨率下都能够保证更高的图像生成质量。

    ChatGPT狂飙160天,世界已经不是之前的样子。
新建了免费的人工智能中文站https://ai.weoknow.com
新建了收费的人工智能中文站https://ai.hzytsoft.cn/

更多资源欢迎关注


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

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

相关文章

蓝桥杯-外卖店优先级

代码及其解析 #include<bits/stdc.h> using namespace std; const int N100010;int order[N]; //order[id] 第id号店上一次的订单,记录的是时间 int prior[N]; //prior[id] 第id号店的优先级 int flag[N]; //flag[id] 第id号店在不在优先缓存中struct node{int…

有关栈的算法

例题一 解法&#xff08;栈&#xff09;&#xff1a; 算法思路&#xff1a; 本题极像我们玩过的「开⼼消消乐」游戏&#xff0c;仔细观察消除过程&#xff0c;可以发现本题与我们之前做过的「括号匹配」问题是类似的。当前元素是否被消除&#xff0c;需要知道上⼀个元素的信息…

YOLOv8分类识别训练配置详细

目标&#xff1a; 实现自己的图像分类算法模型训练&#xff0c;应用。 掌握数据集配置方式&#xff1b; 掌握训练、预测命令语句 掌握训练结果分析 学习内容&#xff1a; 1.图像分类数据集配置方式 例如&#xff1a; 制作一个表情分类数据集。 # 0 - 6 文件夹分别label为&…

notion的使用心得

从老石的视频知道了notion是一个很强大的管理工具&#xff1a;这就是最棒的效率软件&#xff01;如果不是&#xff0c;我倒想试试你的 | Notion使用技巧分享_哔哩哔哩_bilibili 我一时半会不能全部学会&#xff0c;但是借用大家的好模板&#xff1a;如何用5分钟搭建简洁高效的…

ideaSSM 网上选课管理系统bootstrap开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 idea 开发 SSM 网上选课管理系统是一套完善的信息管理系统&#xff0c;结合SSM框架和bootstrap完成本系统&#xff0c;对理解JSP java编程开发语言有帮助系统采用SSM框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统具有完整的源代码和数据库&#xff…

在短视频的挤压下,长视频何去何从?长视频行业能否借助AI重拾信心?

回顾2019年中国网络视听大会&#xff0c;长视频行业的领袖们曾在演讲中对短视频进行了猛烈抨击&#xff0c;这一场面至今仍然令人印象深刻。当时&#xff0c;长视频平台似乎还有一些自信&#xff0c;但如今&#xff0c;他们已经被来自各方的竞争对手挤得喘不过气来。今年以来&a…

软件分层测试的5大注意事项

软件分层测试作为软件测试的常见测试方法&#xff0c;有利于提高测试精度和效率&#xff0c;及早发现和解决产品缺陷和问题&#xff0c;提高了产品的质量和效率&#xff0c;降低了测试成本。如果不对软件进行分层测试&#xff0c;不利于缺陷的尽早发现和改正&#xff0c;可能会…

蓝桥杯-油漆面积

代码及其解析:(AC80%&#xff09; 思路:是把平面划成单位边长为1&#xff08;面积也是1&#xff09;的方格。每读入一个矩形&#xff0c;就把它覆盖的方格标注为已覆盖&#xff1b;对所有矩形都这样处理&#xff0c;最后统计被覆盖的方格数量即可。编码极其简单&#xff0c;但…

【鸿蒙开发】if/else条件渲染,ForEach循环渲染

if/else 使用规则 支持if、else和else if语句。if、else if后跟随的条件语句可以使用状态变量。允许在容器组件内使用&#xff0c;通过条件渲染语句构建不同的子组件。条件渲染语句在涉及到组件的父子关系时是“透明”的&#xff0c;当父组件和子组件之间存在一个或多个if语句…

STM32中C编程引入C++程序

C具备类的创建思想很实用于实际场景多相似性的框架搭建&#xff1b;同种类型或相似类型的C的优势明显因此进行相互嵌套使用 需要在C中使用C类的话&#xff0c;你可以通过C的“extern "C"”语法来实现。这允许你在C代码中使用C的链接方式&#xff0c;而在C代码中使用…

服务器开发 Socket 相关函数

Socket 函数 #include <sys/types.h> #include <sys/socket.h> int socket(int domain, int type, int protocol)domain: AF_INET 这是大多数用来产生 socket 的协议&#xff0c;使用TCP或UDP来传输&#xff0c;用IPv4的地址 AF_INET6 与上面类似&#xff0c;不过…

电商选品难?那是因为你不会用大数据选品工具…

电商选品之所以难&#xff0c;主要有以下几个方面的原因。电商市场更新换代非常快&#xff0c;新的产品不断涌现&#xff0c;旧的产品可能很快就被淘汰。电商选品紧跟市场趋势&#xff0c;不断调整和更新&#xff0c;这对电商运营市场敏感度和反应速度提出了很高的要求。 电商…

用友NC importPml SQL注入漏洞(XVE-2023-29120)

0x01 产品简介 用友NC是由用友公司开发的一套面向大型企业和集团型企业的管理软件产品系列。这一系列产品基于全球最新的互联网技术、云计算技术和移动应用技术,旨在帮助企业创新管理模式、引领商业变革。 0x02 漏洞概述 用友NC importPml接口存在SQL注入漏洞,攻击者通过利…

java操作linux

文章目录 远程连接服务器执行linux命令或shell脚本介绍Process的方法相关类UML 工具类基本工具类依赖第三方的工具类 远程连接服务器 java程序远程linux服务器有两个框架分别是&#xff1a;jsch与ganymed-ssh2框架。推荐使用jsch框架&#xff0c;因为ganymed-ssh2框架不支持麒…

诚邀莅临!道合顺将携“气体传感器”亮相深圳国际传感器与应用技术展览会

2024年4月14日-16日&#xff0c;深圳国际传感器与应用技术展览会将在深圳会展中心&#xff08;福田&#xff09;盛大举办。道合顺传感将携旗下系列专业气体传感器产品亮相展会&#xff0c;更有重磅新品传感器方案现场展示&#xff0c;真诚期待您的到来&#xff01; 传感器技术、…

球球大作战Python单机版本

球球大作战是一个多人在线游戏&#xff0c;玩家需要控制一个小球&#xff0c;通过吞食地图上的小点来增加自己的体积&#xff0c;同时避免被其他更大的球体吞噬。下面是一个简化版的球球大作战游戏&#xff0c;使用Python语言和pygame库来实现。在这个简化版中&#xff0c;我们…

pycharm环境配置踩坑

一、新建目录 venv 二、创建本地解释器 3、配置国内镜像 1&#xff09;镜像源 清华&#xff1a;https://pypi.tuna.tsinghua.edu.cn/simple 阿里云&#xff1a;http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 华中理工大…

宠物医院管理系统

文章目录 宠物医院管理系统一、系统演示二、项目介绍三、12000字论文参考四、系统部分页面展示五、部分代码展示六、底部获取项目源码和万字论文参考&#xff08;9.9&#xffe5;带走&#xff09; 宠物医院管理系统 一、系统演示 宠物医院管理系统 二、项目介绍 语言&#xf…

HarmonyOS实战开发-使用OpenGL实现2D图形绘制和动画。

介绍 基于XComponent组件调用Native API来创建EGL/GLES环境&#xff0c;从而使用标准OpenGL ES进行图形渲染。本项目实现了两个示例&#xff1a; 使用OpenGL实现2D的图形绘制和动画&#xff1b;使用OpenGL实现了在主页面绘制两个立方体&#xff0c;光源可以在当前场景中移动&…

MySQL客户端安装并配置免密登录

最近在写脚本时需要向MySQL数据库中存储数据&#xff0c;且脚本运行的服务器与MySQL服务器不是同一台服务器&#xff0c;而且需要保证MySQL密码的安全性&#xff0c;不能在脚本中暴露&#xff0c;所以就需要在服务器上安装MySQL客户端&#xff0c;并配置免密登录。 一、虚拟机…