[2024.04.18] - ???トレーニングコードとデータセット( AnyWord-3M )を公開しました!
[2024.04.18] - SD1.5 に基づくすべての基本モデルと LoRA モデルを含む、自己トレーニングまたはコミュニティ モデルの重みを AnyText にマージできるようになりました。楽しむ!
[2024.02.21] ・評価コードとデータセット( AnyText-benchmark )を公開しました。
[2024.02.06] - 皆様、旧正月明けましておめでとうございます。かわいいミームステッカーを作成する楽しいアプリ (表情包大师/MeMeMaster) を ModelScope と HuggingFace でリリースしました。ぜひ楽しんでください!
[2024.01.17] - ?AnyText が ICLR 2024( Spotlight ) に採択されました!
[2024.01.04] - 3 倍高速な FP16 推論が利用可能になりました。これで、8 GB を超えるメモリを備えた GPU にデモをデプロイできるようになりました。楽しむ!
[2024.01.04] - HuggingFace オンラインデモはこちらからご覧いただけます!
[2023.12.28] - ModelScope オンラインデモはこちらからご覧いただけます!
[2023.12.27] - ?最新のチェックポイント(v1.1)と推論コード、ModelScopeのチェックを中国語でリリースしました。
[2023.12.05] ・論文はこちらからご覧いただけます。
私たちのグループのAIGC関連の仕事については、こちらをご覧ください。また、共同研究者や研究インターンを募集しています(メールでご連絡ください)。
AnyText は、補助潜在モジュールとテキスト埋め込みモジュールという 2 つの主要な要素を備えた拡散パイプラインで構成されています。前者は、テキスト グリフ、位置、マスクされたイメージなどの入力を使用して、テキスト生成または編集のための潜在的な特徴を生成します。後者では、ストローク データを埋め込みとしてエンコードするための 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 には、テキスト生成とテキスト編集という 2 つのモードが含まれています。以下の簡単なコードを実行して両方のモードで推論を実行し、環境が正しくインストールされているかどうかを確認します。
python inference.py
高度な GPU (少なくとも 8G メモリを搭載) をお持ちの場合は、使用方法、ユーザー インターフェイス、豊富な例を含む以下のデモをデプロイすることをお勧めします。
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 にロードされる場合、こちらを参照)、1 つの 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を開き、 imgsフォルダーの独自のパスでdata_root
変更します。 FIDディレクトリには、FID (Fréchet Inception Distance) スコアの計算に使用される画像が含まれています。
評価の前に、評価セットに基づいて各メソッドに対応する画像を生成する必要があります。すべてのメソッドに対して事前に生成されたイメージも提供しています。自分で画像を生成するには、以下の手順に従ってください。それに応じて bash スクリプト内のパスとその他のパラメーターを変更する必要があることに注意してください。
bash ./eval/gen_imgs_anytext.sh
(ハグフェイスがブロックされていることによるエラーが発生した場合は、./models_yaml/anytext_sd15.yaml の 98 行目のコメントを解除し、 clip-vit-large-patch14フォルダーのパスをローカルのパスに置き換えてください。)
bash eval/gen_glyph.sh
次に、 ControlNet 、 Textdiffuser 、およびGlyphControlの公式リポジトリのクローンを作成し、ドキュメントに従って環境を設定し、それぞれのチェックポイントをダウンロードして、推論が正常に実行できることを確認してください。次に、3 つのファイル
、
、およびgen_imgs_
を./evalフォルダーから対応するコードベースのルート ディレクトリにコピーし、次のコマンドを実行します。
bash gen_imgs_ < method > .sh
生成されたテキストの精度を評価するために、Sentence Accuracy (Sen. ACC) と Normalized Edit Distance (NED) を使用します。実行してください:
bash eval/eval_ocr.sh
FID メトリックを使用して、生成された画像の品質を評価します。実行してください:
bash eval/eval_fid.sh
既存の方法と比較して、AnyText は英語と中国語の両方のテキスト生成において大きな利点があります。
コードを再編成し、評価中の各メソッドの構成をさらに調整したことに注意してください。その結果、元の論文で報告されている数値と比較して若干の数値の違いが生じる可能性があります。
anytext
仮想環境を作成してアクティブ化することを強くお勧めします。それ以外の場合、環境の依存関係またはトレーニングの問題が発生した場合は、 environment.yaml
にリストされているバージョンと一致するかどうかを確認してください。data_root
変更します。python tool_add_anytext.py
を実行して、anytext 事前トレーニング済みモデルを取得します。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}
}