可在图像中生成任意精准文本,支持中文!阿里开源AnyText

来源:AIGC 开放社区

图片来源:由无界 AI生成

随着Midjourney、Stable Difusion等产品的出现,文生图像领域获得了巨大突破。但是想在图像中生成/嵌入精准的文本却比较困难。

经常会出现模糊、莫名其妙或错误的文本,尤其是对中文支持非常差,例如,生成一张印有“2024龙年吉祥”的春联图像,就连著名的文生图模型都很难精准生成。

由著名文生图模型生成:图像还行,提示词根本理解不了嵌入图像中的中文

为了解决这些难题阿里巴巴集团的研究人员开源了,多语言视觉文字生成与编辑模型——AnyText。

根据「AIGC开放社区」的实际使用体验,AnyText对生成文字的把控可媲美专业PS,用户可自定义规划文字出现的位置,图片的强度、力度、种子数等,目前在Github超2,400颗星非常受欢迎。

由AnyText生成,完美理解中文提示词,同时可自定义文字出现的位置

值得一提的是,AnyText能以插件形式与其他开源扩散模型无缝集成,可全面强化其图像嵌入精准文本的能力

开源地址:https://github.com/tyxsspa/AnyText

论文地址:https://arxiv.org/abs/2311.03054

在线demo:https://huggingface.co/spaces/modelscope/AnyText

AnyText测试界面,直观操作简单,可手动调节各种参数

AnyText支持中文、日文、韩文、英语等多种语言,可帮助电商、广告平面设计、电影制作、动画设计师、插画师、网页设计、UI设计师、数字营销等领域的人员,提供高精准、自定义的文生图像服务。

AnyText技术架构

目前,开源的扩散模型在生成的图像中嵌入精准文本表现不佳,主要有3个原因:

1)缺乏包含全面文本内容注释的大规模图像和文本配对数据集。现有的大规模图像扩散模型的训练数据集,如LAION-5B,缺乏手动注释或文本内容的OCR结果。

2)许多开源扩散模型使用的文本编码器,如CLIP文本编码器,采用基于词汇的分词器,无法直接访问字符级别的信息,导致对个别字符的敏感性降低。

3)大多数扩散模型的损失函数旨在提高整体图像生成质量,缺乏对文本区域的专门监督和优化。

针对上述难题,阿里的研究人员开发了AnyText模型和AnyWord-3M数据集。AnyText采用了文本控制的扩散流程,包括两个重要模块:辅助潜变量和文本嵌入

辅助潜变量模块用于生成或编辑文本的潜在特征,作用是接受文本字形、位置和遮罩图像等输入,生成用于文本生成或编辑的潜在特征

这些潜在特征在生成或编辑文本时起到辅助作用,帮助确保文本的准确性和一致性。

辅助潜变量使得AnyText能够在图像中,生成或编辑曲线或不规则区域的文本。这也就是说,即便想生成弯曲、不规则的字体也没问题!

文本嵌入模块利用OCR模型将笔画数据编码为嵌入向量,并与标记器生成的图像标题嵌入向量进行融合,从而生成与背景无缝融合的文本。

为了提高书写准确性,研究团队采用了文本控制的扩散损失和文本感知损失进行训练。

提升图像嵌入文本精准度

为了进一步提高生成文本的准确性,AnyText采用了文本控制扩散损失和文本感知损失进行训练。

文本控制扩散损失,用于控制生成的文本在指定位置和样式上的准确性。它通过比较生成文本与目标文本之间的差异,促使模型生成更准确、一致的文本。

文本感知损失,作用是进一步增强生成文本的准确性。它通过比较生成文本的特征表示与真实图像中相应区域的特征表示之间的差异,来衡量生成文本在视觉上的准确性。

AnyWord-3M数据集

这个数据集是提升AnyText文本能力的重要部分,一共包含了300万个图像-文本对,并提供了多种语言的OCR(光学字符识别)注释。

AnyWord-3M中出现的文本行超过900万行,字符和词汇数总量超过2亿。文本涵盖中文、英文、日文、韩文等语言。这是目前公开的规模最大,也是第一个专门用于文本生成任务的多语种数据集

主要包含的数据集:悟空数据集的中文部分,这是哩哩哩实验室构建的数亿级中文跨模态数据集。AnyWord-3M从中筛选出约154万张图像。

LAION数据集的英文部分,由斯坦福大学等构建的大规模英文图像文字匹配数据集, AnyWord-3M选择了其中约140万张图像。

多个OCR识别数据集,包括文字定位和识别领域的标准数据集ArT、COCO-Text、RCTW等,提供了约10万张带标注的文本图像。

在获取这些源数据之后,AnyText研究人员还设计了严格的过滤规则,对图像和文本行进行过滤,确保训练数据的质量。

文本行过滤的规则非常细致,例如,文本行高最小30像素、文本识别置信度超过0.7等。

所以,AnyWord-3M吸取了多个数据集的精华中的精华,也是AnyText能力非常强悍的重要原因之一。