StyleDrop: 谷歌关于图像风格提取的魔法

news2025/2/28 2:52:52

Overview

  • StyleDrop
    • Summary
    • Abstract
    • 1 Introduction
    • 2 Related Work
    • 3 StyleDrop: Style Tuning for Text-to-Image Synthesis
      • 3.1 Preliminary: Muse [4], a masked Transformer for Text-to-Image Synthesis

StyleDrop

Summary

题目: StyleDrop: Text-to-Image Generation in Any Style
机构:谷歌
论文: https://arxiv.org/pdf/2306.00983.pdf
代码:未开源代码 https://styledrop.github.io
任务: 图像风格学习
特点:
方法:
前置相关工作:

Abstract

BLIP model 尽管文生图如火如荼,但是如何通过文本生成图像的风格是很难做到的,因为文本本身就具有含糊之处,很难去很好地刻画诸如设计版式,质地,材料等性质。在本文中,我们提出了StyleDrop这样一种方法,能够通过文生图模型很好地进行风格的遵循以及生成。它能够很高效地进行新风格的学习,但只需要finetune非常少的训练参数(<1%),并且通过迭代训练以及人类/自动反馈,进一步提升了生成的质量。更为NB的是,styledrop可以做到仅需要提供一张图像,也能够很好地风格提取以及学习。StyleDrop是基于Muse模型进行试验的,相比于DreamBooth, textual inversion(基于Imagen/SD),取得了更好的效果。

1 Introduction

在大图像和文本对上训练的文本到图像模型能够创建包含许多流派和主题的丰富多样的图像,由此产生的创作引起了轰动,据报道,Midjourney [2] 是世界上最大的 Discord 服务器 [1]。对于著名艺术家的风格,比如梵高,也许能够通过他的作品出现在训练数据中而得以学习,除此之外,流行的一些风格,此外,诸如“动漫”或“蒸汽朋克”之类的流行风格,当添加到输入文本提示时,可以根据训练数据转换为特定的视觉输出。尽管在“prompt engineering”方面投入了大量精力,但由于配色方案、照明和其他特征的细微差别,各种风格很难以文本形式描述。举个例子,梵高有不同风格的画作(例如,图1,顶行,最右边的三列)。因此,简单地说“梵高”的文本提示可能会导致一种特定的风格(随机选择),或者导致几种风格的不可预测的混合。这些都不是理想的结果。

在本文中,我们介绍了 StyleDrop,它能够在给定少量甚至一张风格图像的参考下,进行高水平的风格化文生图。我们的实验(图 1)表明 StyleDrop 在风格化图像合成方面实现了前所未有的准确性和保真度。 StyleDrop 建立在几个关键组件的基础上:

  1. 基于transformer的文本到图像生成模型: Muse
  2. Adapter tuning
  3. 迭代训练以及反馈

对于第一个组件,我们发现 Muse [4](一个对离散视觉token序列进行建模的transformer模型)在从单个图像学习细粒度样式方面表现出优于 Imagen [31] 和 Stable Diffusion [29] 等扩散模型。对于第二个组件,我们采用Adapter tuning[12]来有效地微调大型文本到图像transformer生成模型。具体来说,我们通过组合内容和风格文本描述符来构建风格参考图像的文本输入,以促进内容风格的解耦,这对于组合图像合成至关重要[28, 36]。最后,对于第三个组件,我们提出了一个迭代训练框架,该框架根据从先前训练的adapter采样的图像来训练新的适配器。我们发现,当在一小组高质量合成图像上进行训练时,迭代训练有效地缓解了过度拟合,这是在极少数(例如一个)图像上微调文本到图像模型的普遍问题。我们在第 2 节中使用 CLIP 评分(例如图像文本对齐)和人类反馈来研究高质量样本选择方法。 4.4.3、进一步验证了两者是能够彼此增益的。

2 Related Work

Personalized Text-to-Image Synthesis
个性化文本到图像合成已经被研究,通过利用预先训练的文本到图像模型的力量来编辑个人资产的图像。textual inversion [8] 和hard prompt make easy(PEZ)[34] 找到与对象的一组图像相对应的文本表示(例如,embedding、token),而无需更改文本到图像模型的参数。

DreamBooth [30] 在描述感兴趣主题的一些图像上微调整个文本到图像模型。因此,它更具表现力并以更多细节捕捉主题。采用参数高效微调(PEFT)方法,例如 LoRA [13] 或Adapter tuning [12],可以来提高其效率 [3, 23]。自定义扩散 [17] 和 SVDiff [10] 扩展了 DreamBooth 以同时合成多个主题。不同于基于SD的模型,StyleDrop本身是基于Muse的。

Neural Style Transfer (NST)
StyleDrop 在很多方面与 NST 不同;我们的模型基于文本到图像的模型来生成内容,而 NST 使用图像来指导内容(例如空间结构)进行合成;我们使用adapter来捕获细粒度的视觉样式属性;我们结合反馈信号来改进单个输入图像的风格。

Parameter Efficient Fine Tuning (PEFT)
是一种通过仅调整更少数量的参数而不是整个模型来微调深度学习模型的新范式。这些参数要么是原始训练模型的子集,要么是为微调阶段添加的少量参数。 PEFT 已在大型语言模型 [12,20,13] 的背景下引入,然后通过 LoRA [3] 或Adapter tuning [23] 应用于文本到图像扩散模型 [31, 29]。自回归(AR)[7,38,18]和非自回归(NAR)[5,4,33]生成视觉transformer的微调[32]最近有被研究,但没有文本模态。

3 StyleDrop: Style Tuning for Text-to-Image Synthesis

StyleDrop 构建于 Muse [4] 之上,下面依次按照回顾Muse,对生产式视觉transformer进行PEFT训练,迭代训练 + 反馈来进行后续章节的组织。最后,我们也讨论了如果通过两个fine-tuned模型来进行图像的生成。

3.1 Preliminary: Muse [4], a masked Transformer for Text-to-Image Synthesis

Muse [4] 本是基于MaskGIT [5]的,它包含两个用于基础图像生成的合成模块 (256 × \times × 256)和超分辨率(512 × \times × 512 或 1024 × \times × 1024)。每一个模块,由文本编码器T,一个transformer G,一个采样器S,一个图像编码器E,以及一个图像解码器D组成。T将文本提示词 t ∈ T t \in T tT编码到连续特征空间 ϵ \epsilon ϵ,然后G将文本特征 e ∈ ϵ e\in \epsilon eϵ来进行logit l ∈ L l \in L lL(用于视觉token序列的生成)。S通过采样序列的视觉tokens v ∈ V v \in V vV(从logits迭代解码得到),具体而言就是基于文本编码特征 e e e以及从之前steps解码得到的视觉tokens来进行少量步数的transformer推理。最终,D将离散的tokens映射到像素空间 I I I。总结下来就行,给定一段文本描述 t t t,一张图像通过如下的方式进行生成:
I = D ( S ( G , T ( t ) ) , l k = G ( v k , T ( t ) ) + λ ( G ( v k , T ( t ) ) − G ( v k , T ( n ) ) ) I = D(S(G, T(t)), l_k = G(v_k, T(t)) + \lambda(G(v_k, T(t))-G(v_k, T(n))) I=D(S(G,T(t)),lk=G(vk,T(t))+λ(G(vk,T(t))G(vk,T(n)))
其中 n ∈ T n\in T nT是负面提示词, λ \lambda λ是引导系数, k k k是生成的步数, l k l_k lk是logits。其中T用的是T5-XXL,E,D用的是VQ-GAN,通过大量的图文对来训练G(基于视觉token建模损失)
在这里插入图片描述
其中M是掩码操作,CE_m是weighted 交叉熵(仅基于掩码的tokens)。

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

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

相关文章

【clickhouse】ubuntu20安装clickhouse并用DBeaver远程管理

文章目录 1.安装2.配置3.外部连接测试4. 相关概念5.Reference 1.安装 使用Deb安装包 // 添加证书 sudo apt-get install -y apt-transport-https ca-certificates dirmngr sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 8919F6BD2B48D754// 更新软件源…

AD623参考引脚5仿真

结论如图所示 文档对引脚5的描述如下。 In-Amp Output Reference Input. The voltage input establishes the common-mode voltage of the output. 仿真结果比较贴切理解了此段话的含义。 特此记录 anlog 2023年9月8日

芯科蓝牙BG27开发笔记-新建示例工程

此笔记的必要性 芯科的官方资料很丰富&#xff0c;并且ssv5中能方便索引到所需文档&#xff0c;不过大而全的问题就是找不到合适的切入点&#xff0c;更不会有本地化比较好的中文的系统的教程了。往往看到一个starting guide&#xff0c;会延伸其他starting guide&#xff0c;…

LeetCode141:环形链表

给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置&#xff08;…

Vue2+Vue3基础入门到实战项目(前接六 副线一)—— 面经项目

day1 接口文档地址&#xff1a;https://www.apifox.cn/apidoc/project-934563/api-20384515 一、项目功能演示 1.目标 启动准备好的代码&#xff0c;演示移动端面经内容&#xff0c;明确功能模块 2.项目收获 二、项目创建目录初始化 vue-cli 建项目 1.安装脚手架 (已安装…

查看视频文件关键帧间隔

一、Elecard StreamEye Tools拖放视频文件查看。 红的是I帧&#xff1b;蓝的是P帧&#xff1b;绿的是B帧。 二、ffprobe -show_streams统计。 1、统计视频关键帧、非关键帧 ffprobe.exe -i 1.mp4 -show_streams v -show_packets -print_format json > d:\1.json 再统计1.j…

网络带宽管理:限速策略的备份应用场景

假设现在有一个千兆网络环境&#xff0c;使用云祺容灾备份系统&#xff0c;部分备份数据需要走这个千兆网络&#xff0c;现在这个企业网络环境中从早上9点到晚上9点&#xff0c;生产网络占用了500兆带宽。 那么在早上9点到晚上9点这个时间段之间&#xff0c;不对备份任务进行网…

音视频会议需要哪些设备配置

音视频会议需要哪些设备配置&#xff1f;音视频会议需要&#xff1a;视频会议摄像头、麦克风、扬声器、显示设备、网络连接设备、视频会议服务器、视频会议软件等。 1. 视频会议摄像头&#xff1a;用于捕捉与传输视频图像&#xff0c;可以选择高清摄像头&#xff0c;提供更出色…

C++ 基础(一)题目练习

一、使用输出运算符输出一个长方形&#xff0c; 如下图所示&#xff1a; #include <iostream> using namespace std; int main() {cout << "*******" << endl;cout << "*******" << endl;cout << "*******"…

多技术融合,推动企业业务流程管理智能化|爱分析报告

1.报告综述 流程数字化&#xff0c;是指通过信息技术和数字化工具来对企业的业务流程进行管理、优化和执行。这包括将各种环节、步骤、决策点等转化为数字化的流程&#xff0c;以便实现更高效、更准确、更可控的业务操作。流程数字化的核心目标是提升业务效率、降低错误率、加强…

VBA技术资料MF54:VBA_EXCEL实时获取鼠标位置

【分享成果&#xff0c;随喜正能量】若人散乱心&#xff0c;乃至以一花&#xff0c;供养于画像&#xff0c;渐见无数佛。所以发一幅释迦牟尼佛像&#xff0c;与同修善友一起每日在微博上供养&#xff0c;只要有供养之心&#xff0c;便可积累功德。以此回向&#xff0c;愿求者如…

pytorch学习——LSTM和GRU

参考书籍&#xff1a;https://zh-v2.d2l.ai/chapter_recurrent-modern/lstm.html 参考论文&#xff1a; https://colah.github.io/posts/2015-08-Understanding-LSTMs/ 简介&#xff1a; LSTM&#xff08;长短期记忆网络&#xff09;和GRU&#xff08;门控循环单元&#xff09;…

vue项目新增高德地图,poi查询,点标记

一. vue项目里面加入高德地图 JS API介绍 开发文档 二.成为开发者并创建 key 申请流程 三.项目准备 安装插件 npm i amap/amap-jsapi-loader --savevue项目引入初始化 实现代码&#xff1a; <template><div><div class"top-part"><!-- 输…

【猿灰灰赠书活动 - 04期】- 【分布式统一大数据虚拟文件系统——Alluxio原理、技术与实践】

&#x1f468;‍&#x1f4bb;本文专栏&#xff1a;赠书活动专栏&#xff08;为大家争取的福利&#xff0c;免费送书&#xff09; &#x1f468;‍&#x1f4bb;本文简述&#xff1a;博文为大家争取福利&#xff0c;与机械工业出版社合作进行送书活动 &#x1f468;‍&#x1f…

07-Spring Cloud

1、如何设计一个注册中心&#xff1f; 高可用&#xff1a;通过集群的方式 高并发&#xff1a;减少响应时间、提高吞吐量 并发用户数等&#xff0c;通过增加服务器性能、 扩展服务实例的方式 高性能&#xff1a;程序处理速度 考虑 数据存储结构、通信机制、集群同步。 集群…

Fiddler 查看响应时间(超详细~)

Fiddler 查看响应时间 步骤1&#xff1a;打开Fiddler&#xff0c;找到FiddlerScript这个标签 步骤2&#xff1a;将下面的code加入到Script中 public static BindUIColumn("TimeTaken/ms", 120)function TimeTaken(oS: Session):String{var sResult "0";…

动态住宅代理能使用在哪些场景

一、什么是动态住宅代理ip 动态住宅代理是一种代理技术&#xff0c;它利用代理服务器中转用户和目标服务器之间的网络流量&#xff0c;实现用户真实位置的屏蔽。代理提供商会有自己的ip大池子&#xff0c;当你通过代理服务器向网站发送请求时&#xff0c;服务器会从池子中选中…

【漏洞库】Fastjson_1.2.24_rce

文章目录 漏洞描述漏洞编号漏洞评级影响版本漏洞复现- 利用工具- 漏洞环境- 漏洞扫描- 漏洞验证- 深度利用- GetShell- EXP 编写 漏洞挖掘- 指纹信息 修复建议- 漏洞修复 漏洞原理 漏洞描述 Fastjson 存在反序列化远程代码执行漏洞&#xff0c;当应用或系统使用 Fastjson 对由…

全志T113-S3入门资料汇总(避坑指南)一

也是闲着无事买了个芒果派的T113的小板子&#xff0c;因为自己以前搞过Linux&#xff0c;工作也跟Linux相关&#xff0c;本以为可以很快搞好开发环境&#xff0c;结果还是折腾了两个周末&#xff0c;所以就把资料整理下&#xff0c;关键的地方列出来&#xff0c;希望大家少走弯…

实现稳定可靠的消息通信:Paho MQTT Android

实现稳定可靠的消息通信&#xff1a;Paho MQTT Android 该项目基于java版本paho mqtt android实现&#xff0c;使用kotlin语言重新实现&#xff0c;它是一个用Kotlin编写的MQTT客户端库&#xff0c;旨在提供可靠的开源实现&#xff0c;适用于面向物联网&#xff08;IoT&#x…