TextCraftor:一种创新的文本编码器微调技术,无需额外数据集改善图像质量与文本对齐

本文主要是介绍TextCraftor:一种创新的文本编码器微调技术,无需额外数据集改善图像质量与文本对齐,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

TextCraftor是一种创新的文本编码器微调技术,能够显著提升文本到图像生成模型的性能。

通过奖励函数优化,TextCraftor是一种创新的文本编码器微调技术改善了图像质量与文本对齐,无需额外数据集。从演示图片来看效果相当好。

TextCraftor的提出为文本到图像生成领域带来了新的视角。其在图像编辑、视频合成等领域的应用前景广阔,尤其是在需要高质量和与文本高度对齐的图像生成任务中。此外,TextCraftor的控制生成能力也为个性化内容创作提供了新的可能性。

相关链接

论文链接:https://arxiv.org/pdf/2403.18978.pdf

论文阅读

TextCraftor:你的文本编码器可以是图像质量控制器

摘要

基于扩散的文本到图像生成模型,例如Stable Diffusion已经彻底改变了内容生成领域。尽管他们在图像编辑和视频合成有很强大的能力,但是这些模型并非没有其局限性。

合成一个与输入文本对齐良好的图像仍然是一个挑战,需要详细的提示并多次运行精心制作才能获得满意的结果。 为了减轻这些限制,许多研究都在努力利用各种技术微调预训练的扩散模型即UNet。然而,文本到图像扩散模型训练的关键问题一直存在大部分仍未开发。

是否可能和可行微调文本编码器来提高文本到图像扩散模型的性能?

我们的研究结果表明,在其他大型语言模型的Stable Diffusion中使用时不替换CLIP文本编码器,通过我们提出的微调方法TextCraftor来增强它,从而在定量基准和人的评估。

有趣的是,我们的技术还可以通过插值不同的文本编码器来实现可控的图像生成微调各种奖励。我们也证明了TextCraftor与UNet微调是正交的,并且可以结合进一步提高生成质量。

方法

TextCraftor概述:一个基于提示数据和奖励函数的端到端文本编码器微调范例。 将文本嵌入转发到DDIM去噪链中,得到输出图像并计算奖励损失,然后再进行反推。通过最大化奖励来更新文本编码器(以及可选的UNet)的参数。

实验

定性的可视化

  • 左:在part-prompts上生成的图像,按照SDv1.5, prompt engineering, DDPO和TextCraftor的顺序。

  • 右:来自HPSv2的示例,订购为sv1.5,提示工程和TextCraftor。

不同模型生成结果比较

每个提示显示从三个不同模型生成的图像,分别是SDv1.5,TextCraftor, TextCraftor UNet,从左到右列出。对于所有生成结果随机种子是固定的。

原始文本之间嵌入插值(权重)

0.0)和一个来自TextCraftor(重量1.0),演示 可控的一代。从上到下一行:TextCraftor使用HPSv2, PickScore和Aesthetics作为奖励模型。

混合风格

从不同的奖励模型微调的文本编码器可以协作并作为风格混合。底部列出的权重分别用于组合来自{origin, Aesthetics, PickScore, HPSv2}的文本嵌入。

消融对奖励模型及CLIP的影响

最左边的栏显示原始图像。averaged Aesthetics、PickScore和HPSv2平均得分分别为5.49分、18.19分和0.2672。下面的列显示使用不同的奖励模型合成无CLIP约束和有CLIP约束的图像。奖励分数列在底部。

结论

这项工作提出了TextCraftor,一个稳定而强大的框架来微调预训练的文本编码器来改进文本到图像的生成。只有提示词数据集和预定义的奖励函数,TextCraftor可以显着提高生成质量相比预训练的文本到图像模型,基于强化学习的方法和提示工程。

TextCraftor的提出为文本到图像生成领域带来了新的视角。其在图像编辑、视频合成等领域的应用前景广阔,尤其是在需要高质量和与文本高度对齐的图像生成任务中。此外,TextCraftor的控制生成能力也为个性化内容创作提供了新的可能性。

感谢你看到这里,也欢迎点击关注下方公众号,一个有趣有AI的AIGC公众号:关注AI、深度学习、计算机视觉、AIGC、Stable Diffusion、Sora等相关技术,欢迎一起交流学习💗~

这篇关于TextCraftor:一种创新的文本编码器微调技术,无需额外数据集改善图像质量与文本对齐的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/873762

相关文章

使用Python实现图像LBP特征提取的操作方法

《使用Python实现图像LBP特征提取的操作方法》LBP特征叫做局部二值模式,常用于纹理特征提取,并在纹理分类中具有较强的区分能力,本文给大家介绍了如何使用Python实现图像LBP特征提取的操作方... 目录一、LBP特征介绍二、LBP特征描述三、一些改进版本的LBP1.圆形LBP算子2.旋转不变的LB

SpringBoot使用GZIP压缩反回数据问题

《SpringBoot使用GZIP压缩反回数据问题》:本文主要介绍SpringBoot使用GZIP压缩反回数据问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot使用GZIP压缩反回数据1、初识gzip2、gzip是什么,可以干什么?3、Spr

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

C#TextBox设置提示文本方式(SetHintText)

《C#TextBox设置提示文本方式(SetHintText)》:本文主要介绍C#TextBox设置提示文本方式(SetHintText),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录C#TextBox设置提示文本效果展示核心代码总结C#TextBox设置提示文本效果展示核心代

SpringValidation数据校验之约束注解与分组校验方式

《SpringValidation数据校验之约束注解与分组校验方式》本文将深入探讨SpringValidation的核心功能,帮助开发者掌握约束注解的使用技巧和分组校验的高级应用,从而构建更加健壮和可... 目录引言一、Spring Validation基础架构1.1 jsR-380标准与Spring整合1

OpenCV图像形态学的实现

《OpenCV图像形态学的实现》本文主要介绍了OpenCV图像形态学的实现,包括腐蚀、膨胀、开运算、闭运算、梯度运算、顶帽运算和黑帽运算,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起... 目录一、图像形态学简介二、腐蚀(Erosion)1. 原理2. OpenCV 实现三、膨胀China编程(

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

SpringBatch数据写入实现

《SpringBatch数据写入实现》SpringBatch通过ItemWriter接口及其丰富的实现,提供了强大的数据写入能力,本文主要介绍了SpringBatch数据写入实现,具有一定的参考价值,... 目录python引言一、ItemWriter核心概念二、数据库写入实现三、文件写入实现四、多目标写入

使用Python将JSON,XML和YAML数据写入Excel文件

《使用Python将JSON,XML和YAML数据写入Excel文件》JSON、XML和YAML作为主流结构化数据格式,因其层次化表达能力和跨平台兼容性,已成为系统间数据交换的通用载体,本文将介绍如何... 目录如何使用python写入数据到Excel工作表用Python导入jsON数据到Excel工作表用

Mysql如何将数据按照年月分组的统计

《Mysql如何将数据按照年月分组的统计》:本文主要介绍Mysql如何将数据按照年月分组的统计方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql将数据按照年月分组的统计要的效果方案总结Mysql将数据按照年月分组的统计要的效果方案① 使用 DA