AI绘画可以稳定生成中文了:阿里云免费部署AnyText

长久以来,在AI绘画中书写文字一直是个难题。即使到了SDXL时代,我们也只能输出英文,而且还经常出现漏掉字母的情况。现在阿里达摩院搞出了一个解决方案,可以在Stable Diffusion生成的作品中稳定输出中、英、日、韩等多种文字,实测效果不错。本文就给大家分享下这个技术。

效果展示

原理介绍

这个技术的名字是 AnyText,目前支持中、英、日、韩等多语言文字。

AnyText 基于Stable Diffusion技术,包含两个核心模块:隐空间辅助模块和文本嵌入模块。

  • 隐空间辅助模块对三类辅助信息(字形、文字位置和掩码图像)进行编码并构建隐空间特征图像,用来辅助视觉文字的生成;
  • 文本嵌入模块则将描述词中的语义部分与待生成文本的字形部分解耦,使用图像编码模块单独提取字形信息后再与语义信息做融合,既有助于文字的书写精度,也有利于提升文字与背景的一致性。

训练阶段,除了使用扩散模型常用的噪声预测损失,我们还增加了文本感知损失,在图像空间对每个生成文本区域进行像素级的监督,以保证文字书写的精度。

推理生成时,嵌入的文本输送给绘图模块时被用星号代替,在嵌入空间预留位置并用符号填充。然后文本嵌入模块得到的字形图像被输入预训练OCR模型,提取出字形特征,然后调整其维度并替换预留位置中的符号,得到新的序列。

这个模型的训练数据集为AnyWord-3M(即将开源),主要来源于互联网开源数据集,包括LAION-400M, Noah-Wukong以及部分OCR数据集,按照一定规则从中筛选出包含文字的图片,并使用OCR模型和BLIP-2模型进行全自动打标,总计得到300万高质量的图文对,涵盖自然图像、电影海报、书籍封面等各类场景。

使用方法

环境搭建

手动安装

这个程序目前已经开源到Github,可以自己安装使用。

github.com/tyxsspa/Any...

使用官方Demo

官方发布了一个Demo,我们可以在上边直接玩。

modelscope.cn/studios/dam...

运行Notebook

为了节省成本,这里推荐使用阿里达摩院的魔搭,新用户赠送100小时GPU时间,可以玩很多东西了。

打开官方模型地址:

modelscope.cn/models/damo...

在打开的页面中,点击右上角的"Notebook快速开发",弹出框中选择"使用魔搭平台提供的免费实例"。

  • 如果你没有注册过魔搭,请首先注册账号;
  • 如果还没有绑定过阿里云账号,这里会要求你先绑定阿里云账号。

账号的问题解决后,在进入的页面中选择"GPU环境",然后点击"启动"。这个免费实例有36小时的额度。

启动成功后会打开 jupyterlab 的操作窗口,按照下面的步骤操作:

1、上传一个字体文件,这个是官方推荐的,可以免费使用,应该也可以换成别的。

这个文件可自行搜索下载,也可在我的AI公众号"萤火遛AI "发送消息"字体"进行下载。

2、Notebook中原有的代码不能直接运行,需要修改,可以都删掉。

然后创建新的Code类型的Cell,粘贴下边的内容,点击Cell左侧的按钮运行程序。

bash 复制代码
# 安装git(如有请跳过)
!conda install -y -c anaconda git
# 克隆anytext仓库
!rm -Rf ./AnyText && git clone https://github.com/tyxsspa/AnyText.git
# 准备字库文件(推荐Arial Unicode MS,需自行下载)
!cd AnyText && pwd && cp ../arialuni.ttf ./font/Arial_Unicode.ttf
# 方式一:如果使用modelscope notebook最新镜像(ubuntu22.04-cuda11.8.0-py310-torch2.1.0-tf2.14.0-1.10.0),直接安装如下包即可
!pip install Pillow==9.5.0 --quiet
!pip install gradio==3.50.0 --quiet

运行过程中会输出日志:

程序安装并成功启动后,会输出类似下图中的文字:http://127.0.0.1:7860

点击这个链接,就会打开AnyText的交互窗口,我们就可以愉快的操作了。

使用AnyText

AnyText有两种用法:文字生成和文字编辑。

文字生成

所谓文字生成就是在文生图的图片中直接生成指定的文字。

操作方法如下图所示:

1、填写提示词,文字部分用引号括起来,一对引号代表一行文字。

2、在绘图区域绘制文字出现在图片中的位置。可以直接用画笔手绘,也可以拖矩形框,或者让模型自己选择。

3、然后点击运行就行了。

其它的参数如图片尺寸、提示词强度、生成数量等可以在"参数"部分自行设置,和Stable Diffusion差不多,这里就不啰嗦了。

文字编辑

文字编辑是修改现有图片上的文字,可以做到和原文字风格统一,甚至以假乱真的程度。

操作方法如下图所示:

1、填写提示词,文字部分用引号括起来,一对引号代表一行文字。

2、上传要修改文字的图片。用画笔涂抹住要编辑的文字。

3、然后点击运行就行了。


期待这个能力快速集成到Stable Diffusion WebUI中,我将持续跟踪!如有兴趣,请及时关注,以免遗漏重要消息。

相关推荐
这张生成的图像能检测吗6 分钟前
(论文速读)视觉语言模型评价中具有挑战性的选择题的自动生成
人工智能·计算机视觉·语言模型·视觉语言模型
赴3356 分钟前
残差网络 迁移学习对食物分类案例的改进
人工智能·分类·迁移学习·resnet18
林森见鹿11 分钟前
测试驱动开发 (TDD) 与 Claude Code 的协作实践详解
人工智能·驱动开发·tdd
黎燃12 分钟前
AI推荐系统:如何悄无声息地重塑你的购物车?
人工智能
AntBlack31 分钟前
每周学点 AI:ComfyUI + Modal 的一键部署脚本
人工智能·后端·aigc
堆栈future1 小时前
WeMark接入扣子智能体实现文档自动转换为微信公众号格式
llm·aigc·coze
l1t1 小时前
张泽鹏先生手搓的纯ANSI处理UTF-8与美团龙猫调用expat库读取Excel xml对比测试
xml·人工智能·excel·utf8·expat
THMAIL1 小时前
量化基金从小白到大师 - 金融数据获取大全:从免费API到Tick级数据实战指南
人工智能·python·深度学习·算法·机器学习·金融·kafka
zzywxc7871 小时前
AI在金融、医疗、教育、制造业等领域的落地案例(含代码、流程图、Prompt示例与图表)
人工智能·spring·机器学习·金融·数据挖掘·prompt·流程图
周末程序猿2 小时前
谈谈Vibe编程(氛围编程)
人工智能