AI绘图模型不会写字的难题,被阿里破解了

克雷西 发自 凹非寺
量子位 | 公众号 QbitAI

能准确写汉字的AI绘图工具,终于登场了!

包括中文在内一共支持四种语言,而且还能文字的位置还能任意指定。

从此,人们终于可以和AI绘图模型的“鬼画符”说再见了。

bea6c486c148574c35a839194a1b3985.png

这款名为AnyText的绘图工具来自阿里巴巴,可以按照指定位置精准地向图中加入文字。

此前的绘图模型普遍无法准确地向图中添加文字,即便有也很难支持像中文这样结构复杂的文字。

而目前Anytext支持中英日韩四种语言,不仅字形准确,风格也可以与图片完美融合。

2e14684146bcb7ab9c9723de5211bccf.png

除了可以在绘制时加入文字,修改图片中已有的文字,甚至向其中加字也都不是问题。

8fbf653e0931e0ee2ddf97873179916a.png

究竟AnyText效果如何,我们也实际体验了一番。

各种风格轻松驾驭

官方在GitHub文档中提供了AnyText的部署教程,也可以在魔搭社区中体验。

此外还有网友制作了PyTorch笔记,可以在本地或Colab中一键部署,我们采用的也是这种方式。

4231efce8bb8a9e502a13115d01e8ee5.png

AnyText支持中英文Prompt,不过从程序日志来看,中文提示词会被自动翻译成英文。

比如我们想让AnyText给马斯克换上一件白色T恤,让他来给量子位(QbitAI)打个call。

只需要输入提示词,然后设定文本的位置,然后直接运行就可以了。

a6b14f7e64fe9b38395ad47156fde8ad.png

如果需要调整尺寸等参数,可以将上方的菜单展开;如果不会操作,页面中还附有中英双语教程。

c7a5f5fb4ec183270a980111fc0fe53e.png

最终,在搭载V100的Colab上,AnyText用了10多秒绘制出了四张图片。

效果还是不错的,不论是图本身还是文字,看上去都没有什么破绽。

bb9d791b9c7152f7ccdbaeb69929963c.png

而且各种文字材质AnyText都能准确模仿,比如黑板上的粉笔字,甚至是传统书法……

3146af162ca22499a67a70c8e882eb31.png

街景中的文字,甚至是电商促销海报,都难不倒AnyText。

66bd7f2a6e4276342786c8ba88754322.png

而且不仅是平面上各式各样的文字,立体风格同样也不在话下。

a68ca15b7db921c02b85dc707b8cc52b.png

而其中的文本编辑功能,还可以修改已有图片中的文字,几乎不会留下破绽。

21636a90a5438c788ee59525085081a9.png

在测试当中,AnyText也是取得了不错的成绩——无论是中英文,准确度都显著高于ControlNet,FID误差也大幅减少。

e0daaae5fef6015e322896cfdffb2d26.png

此外,如果自行部署,还可以对字体进行自定义,只需准备好字体文件并对代码简单修改就可以了。

e9f0f524298e5f486097501aaa26bdea.png

那么,研究人员是怎样让AnyText学会写字的呢?

文本渲染独立完成

AnyText是基于扩散模型开发的,主要分为两个模块,文字生成的过程是相对独立的。

这两个模块分别是隐空间辅助模块文本嵌入模块

d6539deba165f6a424708822c68f4ae0.png

其中,辅助模块对字形、文字位置和掩码这三种信息进行编码并构建隐空间特征图像,用来辅助视觉文字的生成;

文本嵌入模块则将描述词中的语义部分与待生成文本部分解耦,使用图像编码模块单独提取字形信息后,再与语义信息做融合。

在实际工作过程中,嵌入的文本输送给绘图模块时被用星号代替,在嵌入空间预留位置并用符号填充。

然后文本嵌入模块得到的字形图像被输入预训练OCR模型,提取出字形特征,然后调整其维度并替换预留位置中的符号,得到新的序列。

c11fd9de771984ca1c8b5a4281e62d9c.png

最后,这个序列表示被输入到CLIP的文本编码器中,形成最终指导图像生成的指令。

这种“分而治之”的方式,既有助于文字的书写精度,也有利于提升文字与背景的一致性。

此外,AnyText还支持嵌入其他扩散模型,为之提供文本生成支持。

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

—  —

点这里👇关注我,记得标星哦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值