准确写汉字的文生图AnyText,魔搭社区最佳实践来啦!

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
简介: AnyText模型所涉及的文字生成技术为电商海报、Logo设计、创意涂鸦、表情包等新型AIGC应用提供了可能性。

引言


近年来,随着AIGC的爆火,图片生成技术得到飞速发展,当前AI生成的图片已达到真假难辨的高保真度。不过,当合成图片中出现文字内容时,仍能够使AI露出马脚,因为当前主流方法尚无法在图片中生成准确可读的字符。


最近半年来已有学者开始研究文本生成的问题,但这些方法大多以英文为主,无法解决中文这种字形繁杂、字符数以万计的文字生成。因此,我们提出了一种新颖的文字生成方法AnyText,通过创新性的算法设计,可以支持中文、英语、日语、韩语等多语言的文字生成,还支持对输入图片中的文字内容进行编辑。AnyText模型所涉及的文字生成技术为电商海报、Logo设计、创意涂鸦、表情包等新型AIGC应用提供了可能性。


代码链接:

https://github.com/tyxsspa/AnyText


论文链接:

https://arxiv.org/abs/2311.03054


模型链接:

https://modelscope.cn/models/damo/cv_anytext_text_generation_editing


AnyText主要基于扩散(Diffusion)模型,包含两个核心模块:隐空间辅助模块(Auxiliary Latent Module)和文本嵌入模块(Text Embedding Module)。


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


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



模型体验


魔搭创空间地址:

https://modelscope.cn/studios/damo/studio_anytext


新年做个春联吧!

prompt:一条金色的中国龙,在门框中间,中国风,剪纸风,上面写着“龙年大吉”“心想事成”


环境准备

环境配置与安装

  1. python 3.8及以上版本
  2. pytorch 1.12及以上版本,推荐2.0及以上版本
  3. 建议使用CUDA 11.4及以上


本文主要演示的模型推理代码可在魔搭社区免费实例PAI-DSW的配置下运行(显存24G) :


第一步:点击模型右侧Notebook快速开发按钮,选择GPU环境


第二步:新建Notebook


第三步:克隆AnyText仓库,安装依赖,准备字库文件https://modelscope.cn/studios/damo/studio_anytext/file/view/master/font%2FArial_Unicode.ttf?status=2

# 克隆anytext仓库
!git clone https://github.com/tyxsspa/AnyText.git
%cd AnyText
# 准备字库文件(推荐Arial Unicode MS)
!mv your/path/to/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


模型推理


参照如下示例代码,对anytext进行模型推理,实现文字生成或文字编辑:

from modelscope.pipelines import pipeline
from util import save_images
pipe = pipeline('my-anytext-task', model='damo/cv_anytext_text_generation_editing', model_revision='v1.1.0')
img_save_folder = "SaveImages"
params = {
    "show_debug": True,
    "image_count": 2,
    "ddim_steps": 20,
}
# 1. text generation
mode = 'text-generation'
input_data = {
    "prompt": 'photo of caramel macchiato coffee on the table, top-down perspective, with "Any" "Text" written on it using cream',
    "seed": 66273235,
    "draw_pos": 'example_images/gen9.png'
}
results, rtn_code, rtn_warning, debug_info = pipe(input_data, mode=mode, **params)
if rtn_code >= 0:
    save_images(results, img_save_folder)
# 2. text editing
mode = 'text-editing'
input_data = {
    "prompt": 'A cake with colorful characters that reads "EVERYDAY"',
    "seed": 8943410,
    "draw_pos": 'example_images/edit7.png',
    "ori_image": 'example_images/ref7.jpg'
}
results, rtn_code, rtn_warning, debug_info = pipe(input_data, mode=mode, **params)
if rtn_code >= 0:
    save_images(results, img_save_folder)
print(f'Done, result images are saved in: {img_save_folder}')



点击直达体验页面~https://modelscope.cn/studios/damo/studio_anytext/summary


相关文章
|
8天前
|
人工智能 自然语言处理 机器人
Jina AI 发布中英和英德双语 8K 向量模型,魔搭社区开源最佳实践!
在 Jina Embeddings 英语向量模型突破百万下载后,今天,Jina AI正式开源了两款双语向量模型:中英双语(Chinese-English)和英德双语(English-German)向量模型,这也是全球首次推出支持 8K 双语文本的开源向量模型。
|
9月前
|
人工智能 测试技术 Java
【中文竞技场】大模型深度体验与测评
简介:本次,我深入体验了中文竞技场中的大语言模型,尝试了写作创作、代码编写和中文游戏三个领域,以下是我详细的评测报告。
292 10
【中文竞技场】大模型深度体验与测评
|
8天前
|
数据可视化 物联网 测试技术
零一万物Yi-1.5系列模型发布并开源!34B/9B/6B 多尺寸魔搭社区推理微调最佳实践教程来啦!
Yi-1.5是Yi的升级版本。 它使用 500B tokens的高质量语料库在 Yi 上持续进行预训练,并在 3M 个多样化的微调样本上进行微调。
|
8天前
|
自然语言处理 物联网 Swift
联合XTuner,魔搭社区全面支持数据集的长文本训练
XTuner和魔搭社区(SWIFT)合作引入了一项长序列文本训练技术,该技术能够在多GPU环境中将长序列文本数据分割并分配给不同GPU,从而减少每个GPU上的显存占用。通过这种方式,训练超大规模模型时可以处理更长的序列,提高训练效率。魔搭社区的SWIFT框架已经集成了这一技术,支持多种大模型和数据集的训练。此外,SWIFT还提供了一个用户友好的界面,方便用户进行训练和部署,并且支持评估功能。
|
8天前
|
数据采集 存储 人工智能
【AI大模型应用开发】【LangChain系列】实战案例4:再战RAG问答,提取在线网页数据,并返回生成答案的来源
【AI大模型应用开发】【LangChain系列】实战案例4:再战RAG问答,提取在线网页数据,并返回生成答案的来源
68 0
|
8天前
|
机器学习/深度学习 人工智能 自然语言处理
预训练驱动的统一文本表示-GTE魔搭社区最佳实践
文本表示是自然语言处理(NLP)领域的核心问题, 其在很多NLP、信息检索的下游任务中发挥着非常重要的作用。
|
6月前
|
自然语言处理 算法 PyTorch
一句话塑造一个3D形象,文本生成3D头部模型魔搭最佳实践
高保真 3D 人脸重建在许多场景中都有广泛的应用,例如 AR/VR、医疗、电影制作等。尽管大量的工作已经使用 LightStage 等专业硬件实现了出色的重建效果,从单一或稀疏视角的单目图像估计高精细的面部模型仍然是一个具有挑战性的任务。
|
8天前
|
机器学习/深度学习 编解码 人工智能
OpenAI Sora:“60s超长长度”、“超强语义理解”、“世界模型”。浅析文生视频模型Sora以及技术原理简介
OpenAI,永远快别人一步!!!! 像ChatGPT成功抢了Claude的头条一样,这一次,谷歌核弹级大杀器Gemini 1.5才推出没几个小时,全世界的目光就被OpenAI的Sora抢了去。 100万token的上下文,仅靠一本语法书就学会了一门全新的语言,如此震撼的技术进步,在Sora的荣光下被衬得暗淡无光,着实令人唏嘘。 三个词总结 “60s超长长度”、“单视频多角度镜头”,“世界模型”
201 0
OpenAI Sora:“60s超长长度”、“超强语义理解”、“世界模型”。浅析文生视频模型Sora以及技术原理简介
|
9月前
|
编解码
绘梦相似,AIGC图生图:相似图像生成模型魔搭社区开源体验
日常我们在艺术创作和产品设计中,需要多张风格相似的图片
|
9月前
中文竞技场大模型体验评测分析
中文竞技场大模型体验
401 0
中文竞技场大模型体验评测分析