字节和旷视提出HiDiffusion,无需训练,只需要一行代码就可以提高 SD 生成图像的清晰度和生成速度。代码已开源。

字节和旷视提出HiDiffusion,无需训练,只需要一行代码就可以提高 SD 生成图像的清晰度和生成速度。代码已开源。

  • 支持将图像生成的分辨率提高至4096×4096,同时将图像生成速度提升1.5至6倍。

  • 支持所有 SD 模型同时也支持 SD 模型的下游模型,比如ControlNet,Inpainting,Playground等。

为什么选择 HiDiffusion

  • HiDiffusion是一种免训练方法,可提高预训练扩散模型的分辨率和速度。

  • 设计为即插即用实施。只需添加一行代码即可将其集成到扩散管道中!

支持的模型

  • Stable Diffusion XL

  • Stable Diffusion XL Turbo

  • Stable Diffusion v2

  • Stable Diffusion v1

支持的任务

  • Text-to-image

  • ControlNet

  • Inpainting

更快更好的图像细节

相关链接

Github:https://github.com/megvii-research/HiDiffusion

论文:https://arxiv.org/pdf/2311.17528

论文阅读

HiDiffusion:解锁更高的分辨率预训练扩散模型中的创造力和效率

摘要

扩散模型已成为高分辨率图像合成的主流方法。但是直接从预处理的扩散模型中生成高解决图像将遇到不合理的对象重复,并指数增加生成时间。

在本文中,我们发现对象重复是由U-NET深块的特征重复引起的。同时,我们将延长的生成时间指定为U-NET的顶部块中的自我发挥冗余。为了解决这些问题,我们提出了一个名为Hidiffusion的无调高分辨率框架。

具体而言,Hidiffusion包含分辨率感知的U-NET(RAU-NET),该分辨率可以动态调整特征映射大小以解决对象重复并参与修改后的移位窗口多头自我注意(MSW-MSA),该窗口使用优化的窗口注意力来减少计算。我们可以将Hidiffusion集成到各种预处理的扩散模型中,以将图像生成分辨率扩展到4096×4096,以1.5-6×以前方法的推理速度。 广泛的实验表明,我们的方法可以解决对象重复和重度计算问题,从而在高分辨率图像合成任务上实现最先进的性能。

方法

U-Net架构。

实现了U-Net作为稳定扩散神经主干,它包含几个Down Blocks, Up Blocks和一个Mid 块,如下图a所示。Mid Block在我们的方法中保持不变。因此,为了简单起见,我们省略了它。每个向下块和向上块可以分别写成:

vanilla 稳定扩散的U-Net架构和我们提出的HiDiffusion RAU-Net架构在1024×1024分辨率和SD 1.5上的比较。

冻结所有块中的参数。主要区别在于蓝色块(不同) 在特征图的维度中)和橙色块(我们提出的RAD和RAU)模块被合并到Block 1中)。

实验

我们将我们的方法纳入sd1.5,sd2.1,SDXL Turbo和SDXL来评估我们方法的有效性。sd1.5及 SD 2.1能够生成512×512分辨率的图像。

我们整合HiDiffusion将它们缩放到1024×1024和2048×2048。我们使用HiDiffusion将SDXL Turbo的生成分辨率缩放到1024×1024。

上图为各种扩散模型、分辨率和比率方面选择HiDiffusion示例。HiDiffusion使预训练的扩散模型能够产生更高的分辨率超过训练图像大小的图像,无需进一步的训练或微调可以有效加速推理。

基于sd1.5的不同推理步骤的特征图可视化。 图像分辨率为1024×1024,采用50步DDIM。

基于sd1.5的RAU-Net和MSW-MSA的影响。分辨率为1024×1024。

基于sd1.5的1024×1024分辨率SDEdit任务。

基于sd1.5的ControlNet任务1024×1024分辨率。

基于sd1.5的不同扩散加速方法的定性比较。分辨率是1024×1024。基线为RAU-Net的sd1.5。

结论

在本文中,我们提出了一个名为HiDiffusion的免调优框架,用于更高分辨率的图像生成。HiDiffusion包括分辨率感知U-Net (RAUNet),使更高分辨率的生成成为可能,以及改进的移位窗口多头部自注意(MSW-MSA),使更高分辨率的生成更有效。

根据经验HiDiffusion可以纳入sd1.5,sd2.1、SDXL和SDXL Turbo,并对它们进行缩放生成1024×1024,2048×2048甚至4096×4096分辨率图像,同时显著降低HiDiffusion推理时间。

与以往的高分辨率图像生成方法相比,我们可以在更短的推理时间内生成细节更丰富的图像。我们希望我们的工作可以为未来关于扩散模型可扩展性的工作带来启发。

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

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

相关文章

在Unity中实现分页数据显示和分页控制

参考:用两种简单的方式实现unity的分页效果 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.Rendering.VirtualTexturing; using UnityEngine.TerrainUtils;public class PageControll…

上网行为审计软件分享|三款热门上网行为监控软件推荐

“小王,去找一款软件给我们公司安上,你去搜上网行为审计软件,看看买哪家合适” 这是某公司老板交给助理的一项工作,原话是这样的。 可见其实这类软件大多是人还是比较陌生的。 上网行为审计软件顾名思义就是对上网行为也就是电…

PTA|小字辈

题目 本题给定一个庞大家族的家谱,要请你给出最小一辈的名单。 输入格式: 输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) —— 简单起见,我们把家族成员从 1 到 N 编号。随后第二行给出 N 个编号&#x…

streamlit通过子目录访问

运行命令: streamlit hello 系统默认使用8501端口启动服务: 如果想通过子目录访问服务,可以这么启动服务 streamlit hello --server.baseUrlPath "app" 也可以通过以下命令换端口 streamlit hello --server.port 9999 参考&…

面试题:String类型长度有限制吗?最大多少?

简介 Java中String是有长度限制的。String还有长度限制?是的有,而且在JVM编译中还有规范,String长度限制的场景(将某固定文件转码成Base64的形式用字符串存储,在运行时需要的时候在转回来,当时文件比较大),那这个规范限制到底是怎么样的,我们分析下。 …

Unreal游戏GPU参数详解,游戏性能优化再升级

UWA GOT Online For Unreal GPU模式近期全新发布,方便开发者从渲染和带宽的角度进行GPU分析。同时,此次更新中UWA也增加了丰富的GPU参数,涵盖了GPU SoC和GPU Counter模块。这些新增的参数不仅能够帮助Unreal开发者从宏观层面监控GPU的压力状况…

12V系统车灯电源口浪涌过压防护方案及保护器件选型推荐

12V系统车灯驱动电源口浪涌过压防护方案图 12V系统车灯驱动电源口浪涌过压防护方案详解 从图中可知,方案针对车灯驱动电路电源输入口的浪涌过压保护。在车载12V系统中,电源线上面的瞬态浪涌主要来源于抛负载。在12V系统车灯驱动电源输入端,东…

怎么把图片尺寸在线修改?5种方法调整方式介绍

在日常生活和工作中,我们经常遇到需要调整图片尺寸的情况,无论是为了适应自媒体文章内容中的图片、还是上传社交媒体平台要求,调整图片尺寸是一项非常有用的技能。在本教程中,我们将介绍几个方便快捷的图片处理工具,帮…

MySql数据库(概念篇)

数据库概念 什么是数据库 数据库见名之意,就是用来存储数据的仓库,是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。 没接触数据库之前,一般都是将数据存储在文件中。比如execl文件,word文件中。但是…

Django之单文件上传(以图片为例)

一,创建项目 初始化,数据迁移,创建superuser,创建app等 二,配置settings.py 1,配置数据库(本作者使用的mysql),以前文章有提到 2,配置静态文件存放路径 STAT…

计算机毕业设计 | springboot+vue小米商城 购物网站管理系统(源码+论文+讲解视频)

1,项目背景 国家大力推进信息化建设的大背景下,城市网络基础设施和信息化应用水平得到了极大的提高和提高。特别是在经济发达的沿海地区,商业和服务业也比较发达,公众接受新事物的能力和消费水平也比较高。开展商贸流通产业的信息…

纯血鸿蒙APP实战开发——Canvas实现模拟时钟案例

介绍 本示例介绍利用Canvas 和定时器实现模拟时钟场景,该案例多用于用户需要显示自定义模拟时钟的场景。 效果图预览 使用说明 无需任何操作,进入本案例页面后,所见即模拟时钟的展示。 实现思路 本例的的主要实现思路如下: …

最新版Ceph( Reef版本)块存储简单对接k8s

当前ceph 你的ceph集群上执行 1.创建名为k8s-rbd 的存储池 ceph osd pool create k8s-rbd 64 642.初始化 rbd pool init k8s-rbd3 创建k8s访问块设备的认证用户 ceph auth get-or-create client.kubernetes mon profile rbd osd profile rbd poolk8s-rbd部署 ceph-rbd-csi c…

Origin拟合EIS(电化学阻抗谱),怎么出来圆圈

1.先导入数据,以点图的形式画出来 2.重要的一步Fitting,按照我这个一步一步来就行 3.将其中的Function选择为Elipse,然后点拟合至最佳条件 4.第三步做完就会发现圆圈已经出来了,然后点OK就行 5.搞定

数仓开发中期:理论巩固

一、数仓以及商业智能(Data Warehousing and Business Intelligence, DW/BI)系统 1.1数据操作和数据获取的区别 对所有组织来说,信息都是其最重要的财富之一。信息几乎总是用作两个目的:操作型记录的保存和分析型决策的制定。简单来说&…

pytest教程-38-钩子函数-pytest_runtest_protocol

领取资料,咨询答疑,请➕wei: June__Go 上一小节我们学习了pytest_collection_finish钩子函数的使用方法,本小节我们讲解一下pytest_runtest_protocol钩子函数的使用方法。 pytest_runtest_protocol 钩子函数在 pytest 运行单个测试用例之前…

内容安全(IPS入侵检测)

入侵检测系统( IDS )---- 网络摄像头,侧重于风险管理,存在于滞后性,只能够进行风险发现,不能及时制止。而且早期的IDS误报率较高。优点则是可以多点进行部署,比较灵活,在网络中可以进…

STM32F4xx开发学习_SysTick

SysTick系统定时器 SysTick属于CM4内核外设,有关寄存器的定义和部分库函数都在core_cm4.h这个头文件中实现,可用于操作系统,提供必要的时钟节拍 SysTick简介 SysTick是一个 24 位向下定时器,属于CM4内核中的一个外设,…

漏洞是如何产生的,该怎么提前预防处理

一、漏洞产生原因 漏洞通常指的是在硬件、软件、协议的具体实现或系统安全策略中隐藏的缺陷,这些缺陷可能被攻击者利用,以未经授权的方式访问或损害系统。它们并非源于安装过程或长期运行后的磨损,而是源于编程过程中的人为因素。 在程序开…

【R语言从0到精通】-4-回归建模

通过之前的文章,我们已经基本掌握了R语言的基本使用方法,那从本次教程开始,我们开始聚焦如何使用R语言进行回归建模。 4.1 回归简介 回归分析是一种统计学方法,用于研究两个或多个变量之间的相互关系和依赖程度。它可以帮助我们了…