(2024,双流编码器,文本引导的风格迁移,调制,FFT 和低频滤波)FreeStyle:使用扩散模型进行文本引导风格迁移

news2024/11/15 23:57:30

FreeStyle: Free Lunch for Text-guided Style Transfer using Diffusion Models

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

目录

0. 摘要

3. 方法

3.1 LDM

3.2 FreeStyle 的模型结构

3.3 特征调制模块

4. 实验 


0. 摘要

生成扩散模型的快速发展显著推动了风格迁移领域。然而,基于扩散模型的大多数当前风格迁移方法通常涉及缓慢的迭代优化过程,例如模型微调和风格概念的文本反演。在本文中,我们介绍了FreeStyle,这是一种创新的风格迁移方法,建立在一个预训练的大型扩散模型之上,无需进一步优化。此外,我们的方法通过所需风格的文本描述实现风格迁移,消除了风格图像的必要性。具体而言,我们提出了一个双流编码器单流解码器架构,取代了扩散模型中的传统 U-Net。在双流编码器中,两个独立的分支以内容图像风格文本提示作为输入,实现内容和风格的解耦。在解码器中,我们进一步调制来自双流的特征,基于给定的内容图像和相应的风格文本提示,实现精确的风格迁移。我们的实验结果展示了我们的方法在各种内容图像和风格文本提示中的高质量合成和忠实度。

项目网站:https://freestylefreelunch.github.io/

3. 方法

3.1 LDM

3.2 FreeStyle 的模型结构

在扩散模型中,U-Net 结构通常用作噪声预测网络。它包括一个编码器和一个解码器,以及便于信息在编码器和解码器对应层之间交换的跳跃连接。受到 FreeU [Si等人,2023] 的启发,该论文提出了平衡 U-Net 骨干和跳跃层低频和高频特征的方法,我们引入了一种新颖的调制方法,用于融合应用于风格转移的内容信息和风格信息。图 2(a)展示了 FreeStyle 的整体结构,包括双流编码器和单流解码器。FreeStyle 中的双流编码器由两个共享参数的 U-Net 编码器组成,而单流解码器由 U-Net 解码器结构组成。双流下采样过程可以分别描述如下: 

其中,c 表示风格文本提示的嵌入,而 x_σ 表示经过 σ 步噪声添加后的内容图像。f_s 和 f_c 分别表示携带风格和内容信息的图像特征。给定有噪输入 x_t,去噪过程将扩散过程反转为预测的干净数据 x_(t−1): 

3.3 特征调制模块

FreeU [Si等人,2023] 策略性地重新调整了 U-Net 的跳跃连接和骨干特征图的贡献,有效地利用了 U-Net 架构这两个组成部分的优势,增强了生成图像的质量。我们认为图像由控制图像内容的低频信号和管理图像风格的高频信号组成。因此,我们通过调制风格特征 f_s 和内容特征 f_c 来实现一种有效的无需训练的风格转移。与 FreeU 不同的是,需要调制的两个特征来自两个不同的输入,即风格输入 f_s 和内容输入 f_c。

如图 2(b)所示,内容特征 f_c 是由无噪声的内容图像 x_0 引导生成的,而风格特征 f_s 是由风格文本提示 c 和添加噪声的图像 x_σ 引导生成的。在 U-Net 的上采样过程中,特征 f_c 主要影响生成结果的语义表达,而特征 f_s 对结果的高频详细信息有更大的影响。因此,我们对 f_s 和 f_c 进行特殊的调制,以进一步激活 U-Net 的内在风格重建能力。为了增强特征 f_c 的语义特征,我们增加了它们的方差。具体而言,我们对特征的某些维度应用大于 1 的权重参数 b,以扩大它们的方差。我们可以简洁地表示这个过程如下: 

其中,n 用于截断特征的一部分。另一方面,为了从特征 f_s 中提取风格特征,我们认为有必要抑制低频语义特征,同时保留高频细节和其他风格表达信息。为了实现这一点,我们首先使用傅里叶变换将特征 f_s 转换为频域信息,然后应用一个阈值 r_thresh = 1 来过滤掉特征中的低频语义信息。随后,我们使用一个大于 1 的权重参数 s 来增强风格信息。最后,我们使用逆傅里叶变换将处理过的频域特征转换回空间域特征。我们可以简单地表示这个过程如下: 

FFT 和 IFFT 分别代表傅里叶变换和反傅里叶变换。函数 F 定义为: 

其中 r 为半径。应用以上方法,我们调制 f_c 和 f_s,最后将它们连接起来馈送到 U-Net 解码器的块中。

4. 实验 

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

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

相关文章

数据结构——并查集

1.并查集的定义 并查集其实也是一种树形结构,在使用中通常用森林的方式来表示 并查集的逻辑结构其实就是集合 并查集一般可以通过双亲写法(顺序结构)来完成,即通过一个数组存储父亲结点的下标 int s[10005]; int main() {for(…

共享的IP隔一段时间就变?用这种方法可以不需要知道电脑IP

前言 一般来说,电脑接入路由器之后,IP是由路由器自动分配的(DHCP),但如果隔一段时间不开机连接路由器,或者更换了别的网卡进行连接,自动分配的IP就会更改。 比如你手机连接着电脑的共享IP:192.168.1.10,但过段时间之后,电脑的IP突然变成了192.168.1.11,那么你的所有…

UDP/TCP协议特点

1.前置知识 定义应用层协议 1.确定客户端和服务端要传递哪些信息 2.约定传输格式 网络上传输的一般是二进制数据/字符串 结构化数据转二进制/字符串 称为序列化 反之称之为反序列化 下面就是传输层了 在TCP/IP协议中,我们以 目的端口,目的IP 源端口 源IP 协议号这样一个五…

20240129收获

今天终于发现《八部金刚功》第五部我一直做的是错的,嗨。这里这个写法非常聪明,创立的数组,以及用obj[key] item[key]这样的写法,这个写法充分展示了js常规写法中只有等号右边会去参与运算,等号左边就是普通的键的写法…

【c++】类和对象3

拷贝构造函数 拷贝构造函数:只有单个形参,该形参是对本类类型对象的引用(一般常用const修饰),在用已存在的类类型对象创建新对象时由编译器自动调用。 拷贝构造函数是构造函数的一个重载形式。 函数名相同,参数不同 先定义一个类…

【pytest系列】- parametrize参数化

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

Springboot校验注解

Spring Boot 提供了一组基于 Hibernate Validator 的校验注解&#xff0c;用于验证请求参数、实体对象等数据的合法性。下面是一些常用的 Spring Boot 校验注解及其功能&#xff1a; 导入依赖 <dependency><groupId>org.springframework.boot</groupId><…

正则表达式补充以及sed awk

正则表达式&#xff1a; 下划线算 在单词里面 解释一下过程&#xff1a; 在第二行hello world当中&#xff0c;hello中的h 与后面第一个h相匹配&#xff0c;所以hello中的ello可以和abcde匹配 在world中&#xff0c;w先匹配h匹配不上&#xff0c;则在看0&#xff0c;r&#…

代码随想录算法训练营第二十一天 |530.二叉搜索树的最小绝对差,501.二叉搜索树中的众数,236.二叉树的最近公共祖先(待补充)

530.二叉搜索树的最小绝对差 1、题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 2、文章讲解&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 3、题目&#xff1a; 给你一棵所有节点为非…

Docker基于Dockerfile多级构建LNMP,实现缩小镜像体积

目录 实验准备&#xff1a; 1.创建nginx镜像 2.创建mysql镜像 3.创建php镜像 4.完成对接 创建网络 创建nginx容器 创建mysql容器 创建WordPress库 创建php容器 5.登录验证 6.镜像体积是不是越小越好&#xff1f;为什么要缩减镜像体积&#xff1f; 7.缩小镜像体积的…

防御保护 笔记整理

一、ASPF--- 针对应用层的包过滤 ASPF --- 针对应用层的包过滤 --- 用来抓取多通道协议中协商端口的关键数据包&#xff0c;之后&#xff0c;将端 口算出&#xff0c;将结果记录在sever-map表中&#xff0c;相当于开辟了一条隐形的通道。 FTP --- 文件传输协议 FTP协议是一个典…

数学算法知识编程

&#xff08;1&#xff09;辗转相除法求最大公约数&#xff08;gcd&#xff09; 辗转相除法&#xff0c; 又名欧几里德算法&#xff08;Euclidean algorithm&#xff09;&#xff0c;是求最大公约数的一种方法。它的具体做法是&#xff1a;用较小数除较大数&#xff0c;再用出现…

I.MX6ULL_Linux_驱动篇(53)linux USB驱动

I.MX6ULL USB 接口简介 I.MX6ULL 内部集成了两个独立的 USB 控制器&#xff0c;这两个 USB 控制器都支持 OTG 功能。I.MX6ULL 内部 USB 控制器特性如下&#xff1a; ①、有两个 USB2.0 控制器内核分别为 Core0 和 Core1&#xff0c;这两个 Core 分别连接到 OTG1 和OTG2。 ②、…

基于STM32的CAN通信协议选择与实现

基于STM32的控制器区域网络&#xff08;CAN&#xff09;通信协议是一种常见的实时数据通信方案&#xff0c;适用于需要高速、可靠通信的应用场景&#xff0c;比如汽车网络、工业控制系统等。在这里&#xff0c;我们将详细介绍基于STM32的CAN通信协议的选择与实现。 ✅作者简介&…

使用Win32API实现贪吃蛇小游戏

目录 C语言贪吃蛇项目 基本功能 需要的基础内容 Win32API 介绍 控制台程序部分指令 设置控制台窗口的长宽 设置控制台的名字 控制台在屏幕上的坐标位置结构体COORD 检索指定标准设备的句柄&#xff08;标准输入、标准输出或标准错误&#xff09; 光标信息结构体类型CONSOLE_CUR…

excel给数据库初始化/旧数据处理(自动sql拼装)

思路&#xff1a; 首先导出数据到excel编写单条数据操作的sql利用excel CONCATENATE 函数自动生成&#xff0c;每一行数据的操作sql 小技巧:对于需要套娃的字段值&#xff0c;可以加一个临时列同样使用CONCATENATE函数进行sql拼装 案例&#xff1a; 1.临时列:CONCATENATE(C2, …

HBase(docker版)简单部署和HBase shell操作实践

文章目录 说明HBase部署访问HBase Shell常见命令数据定义语言(DDL) 数据操作语言(DML)通用操作访问HBase WebUI 说明 本文适合HBase初学者快速搭建HBase环境&#xff0c;练习常见shell使用本文参考资料 《大数据技术原理和应用》&#xff08;林子雨 编著 第三版&#xff09;zh…

一文彻底搞懂redis数据结构及应用

文章目录 1. Redis介绍2.五种基本类型2.1 String字符串2.2 List列表2.3 Set集合2.4 Zset有序集合2.5 Hash散列 3. 三种基本类型3.1 Bitmap &#xff08;位存储&#xff09;3.2 HyperLogLogs&#xff08;基数统计&#xff09;3.3 geospatial (地理位置) 4. Stream详解4.1 Stream…

NTRU-Based GSW-Like FHE:Faster Blind Rotation

参考文献&#xff1a; [XZD23] Xiang, B., Zhang, J., Deng, Y., Dai, Y., Feng, D. (2023). Fast Blind Rotation for Bootstrapping FHEs. In: Handschuh, H., Lysyanskaya, A. (eds) Advances in Cryptology – CRYPTO 2023. CRYPTO 2023. Lecture Notes in Computer Scien…

C++_list

目录 一、模拟实现list 1、list的基本结构 2、迭代器封装 2.1 正向迭代器 2.2 反向迭代器 3、指定位置插入 4、指定位置删除 5、结语 前言&#xff1a; list是STL(标准模板库)中的八大容器之一&#xff0c;而STL属于C标准库的一部分&#xff0c;因此在C中可以直接使用…