[2024.04.18] - ???训练代码和数据集( AnyWord-3M )发布!
[2024.04.18] - 您现在可以将自训练或社区模型的权重合并到 AnyText 中,包括所有基础模型和基于 SD1.5 的 LoRA 模型。玩得开心!
[2024.02.21] - 发布评估代码和数据集( AnyText-benchmark )。
[2024.02.06] - 祝大家新年快乐!我们在 ModelScope 和 HuggingFace 上推出了一款有趣的应用程序(表情包大师/MeMeMaster),用于创建可爱的 Meme 贴纸。快来享受它的乐趣吧!
[2024.01.17] - ?AnyText已被ICLR 2024( Spotlight )接收!
[2024.01.04] - FP16 推理可用,速度提高 3 倍!现在该演示可以部署在内存大于 8GB 的 GPU 上。享受!
[2024.01.04] - HuggingFace 在线演示现已推出!
[2023.12.28] - ModelScope 在线演示可在此处进行!
[2023.12.27] - ?我们发布了最新的检查点(v1.1)和推理代码,在ModelScope上进行中文检查。
[2023.12.05] - 该论文可在此处获取。
有关我们组更多AIGC相关工作,请访问这里,我们正在寻找合作者和研究实习生(给我们发电子邮件)。
AnyText 包含一个具有两个主要元素的扩散管道:辅助潜在模块和文本嵌入模块。前者使用文本字形、位置和蒙版图像等输入来生成用于文本生成或编辑的潜在特征。后者采用 OCR 模型将笔划数据编码为嵌入,与标记生成器中的图像标题嵌入混合,生成与背景无缝集成的文本。我们采用文本控制扩散损失和文本感知损失进行训练,以进一步提高书写准确性。
# Install git (skip if already done)
conda install -c anaconda git
# Clone anytext code
git clone https://github.com/tyxsspa/AnyText.git
cd AnyText
# Prepare a font file; Arial Unicode MS is recommended, **you need to download it on your own**
mv your/path/to/arialuni.ttf ./font/Arial_Unicode.ttf
# Create a new environment and install packages as follows:
conda env create -f environment.yaml
conda activate anytext
[推荐] :我们发布了 ModelScope 和 HuggingFace 的演示!您还可以通过我们的 API 服务尝试 AnyText。
AnyText 包括两种模式:文本生成和文本编辑。运行下面的简单代码,在两种模式下进行推理,验证环境是否安装正确。
python inference.py
如果您有高级GPU(至少8G内存),建议部署我们的demo,如下所示,其中包括使用说明、用户界面和丰富的示例。
export CUDA_VISIBLE_DEVICES=0 && python demo.py
默认使用FP16推理,加载汉英翻译模型,直接输入中文提示(占用~4GB GPU显存)。可以修改默认行为,因为以下命令启用 FP32 推理并禁用转换模型:
export CUDA_VISIBLE_DEVICES=0 && python demo.py --use_fp32 --no_translator
如果使用 FP16 并且不使用翻译模型(或将其加载到 CPU 上,请参阅此处),生成一张 512x512 图像将占用约 7.5GB 的 GPU 内存。
此外,还可以使用其他字体文件(尽管结果可能不是最佳的):
export CUDA_VISIBLE_DEVICES=0 && python demo.py --font_path your/path/to/font/file.ttf
您还可以加载指定的 AnyText 检查点:
export CUDA_VISIBLE_DEVICES=0 && python demo.py --model_path your/path/to/your/own/anytext.ckpt
请注意,第一次执行推理时,模型文件将下载到: ~/.cache/modelscope/hub
。如果需要修改下载目录,可以手动指定环境变量: MODELSCOPE_CACHE
。
在此演示中,您可以通过更改基础模型或加载 LoRA 模型(必须基于 SD1.5)来更改推理过程中的样式:
/path/of/lora1.pth 0.3 /path/of/lora2.safetensors 0.6
。 从 ModelScope 或 GoogleDrive 下载 AnyText 基准数据集并解压缩文件。 benchmark文件夹中, laion_word和wukong_word分别是英文和中文评估的数据集。打开每个test1k.json并将data_root
修改为您自己的imgs文件夹路径。 FID目录包含用于计算 FID(Fréchet Inception Distance)分数的图像。
在评估之前,我们需要根据评估集生成每种方法对应的图像。我们还为所有方法提供了预先生成的图像。按照以下说明自行生成图像。请注意,您需要相应地修改 bash 脚本中的路径和其他参数。
bash ./eval/gen_imgs_anytext.sh
(如果遇到huggingface被屏蔽导致的错误,请取消./models_yaml/anytext_sd15.yaml第98行注释,并将clip-vit-large-patch14文件夹路径替换为本地路径)
bash eval/gen_glyph.sh
接下来,请克隆ControlNet 、 Textdiffuser和GlyphControl的官方存储库,并按照其文档设置环境,下载各自的检查点,并确保推理能够正常执行。然后,将./eval文件夹中的
、
、 gen_imgs_
三个文件复制到相应代码库的根目录下,然后运行:
bash gen_imgs_ < method > .sh
我们使用句子准确性(Sen. ACC)和标准化编辑距离(NED)来评估生成文本的准确性。请运行:
bash eval/eval_ocr.sh
我们使用 FID 指标来评估生成图像的质量。请运行:
bash eval/eval_fid.sh
与现有方法相比,AnyText 在英文和中文文本生成方面都具有显着优势。
请注意,我们重新组织了代码,并进一步调整了评估中每种方法的配置。因此,与原始论文中报告的数据相比,可能存在细微的数值差异。
anytext
虚拟环境,其中库的版本已验证。否则,如果您遇到环境依赖性或训练问题,请检查它是否与environment.yaml
中列出的版本匹配。data_root
。python tool_add_anytext.py
以获得任意文本预训练模型。python train.py
。Configs
中找到,请仔细查看。 @article{tuo2023anytext,
title={AnyText: Multilingual Visual Text Generation And Editing},
author={Yuxiang Tuo and Wangmeng Xiang and Jun-Yan He and Yifeng Geng and Xuansong Xie},
year={2023},
eprint={2311.03054},
archivePrefix={arXiv},
primaryClass={cs.CV}
}