AnyText
论文
AnyText: Multilingual Visual Text Generation And Editing
https://arxiv.org/abs/2311.03054模型结构
模型由4部分构成,分别是Auxiliary Latent Module
,Text Embedding Module
,Text-control Diffusion Pipeline
以及Text Preceptual Loss
。
其中,Auxiliary Latent Module
可产生3种附加信息用以生成𝑍𝑎,其中𝑙𝑔表示字形信息,𝑙𝑝表示文字的位置信息,𝑙𝑚表示被遮盖的图像(保留背景信息)。
Text Embedding
用于生成𝑐𝑡𝑒,𝑦′表示待生成的文字,𝑒𝑔表示待生成文字的图像信息,𝑦𝜃表示OCR识别模型(用于提取文字特征),𝜉表示线性层(用于约束特征尺寸),𝜏𝜃表示encoder(CLIP)。
Text-control Diffusion Pipeline
用于生成目标结果,𝑧0加噪t次后获得𝑧𝑡,Text ControlNet
用于生成控制信息(copy from Unet's Encoder),𝐿𝑡𝑑表示扩散模型损失。
Text Preceptual Loss
用于进一步提升文字生成的准确率。
算法原理
该算法借鉴ControlNet思想,并在此基础上结合了文字,图像位置等多模态信息条件,可用于多语言文本的图像生成。
环境配置
Docker(方法一)
docker pull image.sourcefind.cn:5000/dcu/admin/base/pytorch:1.13.1-centos7.6-dtk-23.04.1-py39-latest
docker run --shm-size 10g --network=host --name=anytext --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v 项目地址(绝对路径):/home/ -it <your IMAGE ID> bash
cd BasicSR
pip install -r requirements.txt
cd ..
pip install -r requirements.txt
Dockerfile(方法二)
# 需要在对应的目录下
docker build -t <IMAGE_NAME>:<TAG> .
# <your IMAGE ID>用以上拉取的docker的镜像ID替换
docker run -it --shm-size 10g --network=host --name=anytext --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined <your IMAGE ID> bash
cd BasicSR
pip install -r requirements.txt
cd ..
pip install -r requirements.txt
Anaconda (方法三)
1、关于本项目DCU显卡所需的特殊深度学习库可从光合开发者社区下载安装: https://developer.hpccube.com/tool/
DTK驱动:dtk23.04.1
python:python3.9
torch:1.13.1
torchvision:0.14.1
torchaudio:0.13.1
deepspeed:0.9.2
apex:0.1
Tips:以上dtk驱动、python、torch等DCU相关工具版本需要严格一一对应
2、其它非特殊库参照requirements.txt安装
cd BasicSR
pip install -r requirements.txt
cd ..
pip install -r requirements.txt
数据集
无(暂未开源)
推理
模型下载
魔搭社区
https://huggingface.co/openai/clip-vit-large-patch14/tree/main
damo/
└── cv_anytext_text_generation_editing
├── anytext_v1.1.ckpt
├── clip-vit-large-patch14
│ ├── config.json
│ ├── merges.txt
│ ├── preprocessor_config.json
│ ├── pytorch_model.bin
│ ├── README.md
│ ├── special_tokens_map.json
│ ├── tokenizer_config.json
│ ├── tokenizer.json
│ └── vocab.json
├── configuration.json
├── description
│ ├── eval.jpg
│ ├── framework.jpg
│ ├── gallary.png
│ └── sample.jpg
├── ms_wrapper.py
├── nlp_csanmt_translation_zh2en
│ ├── bpe.en
│ ├── bpe.zh
│ ├── configuration.json
│ ├── README.md
│ ├── resources
│ │ ├── csanmt-model.png
│ │ ├── ctl.png
│ │ └── sampling.png
│ ├── src_vocab.txt
│ ├── tf_ckpts
│ │ ├── checkpoint
│ │ ├── ckpt-0.data-00000-of-00001
│ │ ├── ckpt-0.index
│ │ └── ckpt-0.meta
│ ├── train.en
│ ├── train.zh
│ └── trg_vocab.txt
└── README.md
字体下载
下载并重命名
arialuni.ttf -> Arial_Unicode.ttf
文件结构
font/
└── Arial_Unicode.ttf
命令行
# 快速运行
export ATTN_PRECISION=fp16
python inference.py
# graido客户端运行
export ATTN_PRECISION=fp16
python demo.py
result
精度
无
应用场景
算法类别
AIGC
热点应用行业
零售,广媒,设计
源码仓库及问题反馈
ModelZoo / AnyText_pytorch · GitLab
参考资料
GitHub - tyxsspa/AnyText: Official implementation code of the paper <AnyText: Multilingual Visual Text Generation And Editing>
总结
本文介绍了一种名为AnyText的多语言视觉文本生成与编辑模型。该模型由四个主要部分构成:Auxiliary Latent Module、Text Embedding Module、Text-control Diffusion Pipeline和Text Preceptual Loss。这些组成部分协同工作,可以实现多模态信息条件下的多语言文本图像生成。文章还详细介绍了AnyText的算法原理和环境配置方法,包括使用Docker、Dockerfile或Anaconda进行环境搭建的步骤。此外,文章提供了模型的推理过程,包括模型下载、字体下载以及命令行运行方式,但并未提及具体的数据集和精度信息。
在应用场景方面,AnyText可归类为AIGC算法,并在零售、广媒和设计等热点行业具有潜在应用价值。文章最后提供了源码仓库链接、问题反馈渠道以及相关的参考资料。