はじめに
AnyTextは拡散モデルに基づいて開発された画期的な多言語ビジュアルテキスト生成・編集ツールです。画像の中に自然で高品質な多言語テキストを生成し、柔軟なテキスト編集機能をサポートします。研究者チームによって開発され、ICLR 2024でSpotlight栄誉賞を受賞したAnyTextの核となる強みは、ユニークな2つのモジュールアーキテクチャにあります。補助ポテンシャルモジュールは、テキストグリフ、位置、マスク画像情報をエンコードし、テキスト埋め込みモジュールは、OCRモデルを使用してストロークデータを処理します。このプロジェクトは、OCR注釈付きの300万ペアを含む最初の多言語テキスト画像データセットであるAnyWord-3Mデータセットも提供しており、ビジュアルテキスト生成分野の重要な評価ベンチマークとなっています。
代替アドレス:https://huggingface.co/spaces/modelscope/AnyText
機能一覧
- 多言語テキスト生成:画像内の多言語テキスト生成をサポート。
- テキストエディター:既存の画像のテキストコンテンツを編集・変更できます。
- スタイルコントロール:ベースモデルまたはLoRAモデルを介して生成されたテキストのスタイルを変更するためのサポート
- FP16推論アクセラレーション:高速推論をサポートし、8GB以上のビデオメモリを搭載したGPUで動作。
- 中国語・英語翻訳:中国語・英語翻訳モデル内蔵、中国語プロンプト単語の直接入力をサポート
- カスタムフォント:ユーザー独自のフォントファイルを使用可能
- バッチ処理:画像テキストの一括生成・編集に対応
- モデルのマージ:コミュニティモデルとLoRAモデルの重みのマージをサポートする。
ヘルプの使用
1.環境設置
- まず、システムにGitがインストールされていることを確認する:
conda install -c anaconda git
- プロジェクトコードをクローンする:
git clone https://github.com/tyxsspa/AnyText.git
cd AnyText
- フォントファイルを用意する(Arial Unicode MSを推奨):
mv your/path/to/arialuni.ttf ./font/Arial_Unicode.ttf
- 環境を整え、活性化させる:
conda env create -f environment.yaml
conda activate anytext
2.使用方法
2.1 クイックスタート
これを確認する最も簡単な方法は、以下のコマンドを実行することだ:
python inference.py
2.2 インタラクティブ・プレゼンテーションの開始
デモ・インターフェースは、より良い構成のGPU(8GB以上のビデオメモリ)に推奨されます:
export CUDA_VISIBLE_DEVICES=0 && python demo.py
2.3 高度な設定
- FP32精度を使用し、トランスレータを無効にする:
export CUDA_VISIBLE_DEVICES=0 && python demo.py --use_fp32 --no_translator
- カスタムフォントを使用する:
export CUDA_VISIBLE_DEVICES=0 && python demo.py --font_path your/path/to/font/file.ttf
- 特定のチェックポイントをロードする:
export CUDA_VISIBLE_DEVICES=0 && python demo.py --model_path your/path/to/your/own/anytext.ckpt
3.スタイル調整
デモ・インターフェースでは、生成されるテキストのスタイルは2つの方法で調整できる:
- ベースモデルの変更:[ベースモデルのパス]にローカルのベースモデルのパスを記入する。
- LoRAモデルのロード:[LoRAのパスと比率]に、例えばLoRAモデルのパスと重量比率を入力する:
/path/of/lora1.pth 0.3 /path/of/lora2.safetensors 0.6
4.パフォーマンスの最適化
- デフォルトのFP16推論を使用し、中国語と英語の両方の翻訳モデルをロード(約4GBのビデオメモリを使用)
- FP16を使用し、トランスレーションモデルを使用しない場合、512x512の画像1枚に必要なビデオメモリは約7.5GBで済む。
- 初回実行時に、モデルファイルは
~/.cache/modelscope/hub
ディレクトリ - これは、環境変数
モデルスコープキャッシュ
ダウンロード・ディレクトリの変更
5.注意事項
- 依存パッケージの正しいバージョンがインストールされていることを確認する。
- カスタムフォントの使用は、生成に影響を与える可能性があります。
- モデルの最初の実行には、関連ファイルのダウンロードが必要です。
- 8GB以上のビデオメモリを搭載したGPUでの実行を推奨
AnyTextが画像操作指示を生成
実行例
AnyTextにはテキスト生成とテキスト編集の2つの操作モードがあり、各モードには豊富なサンプルが用意されています!
例を実行する前に、例の結果に影響を与えないように、手描きの位置エリアが空であることを確認してください。また、例によって使用するパラメータ(解像度、シード数など)が異なるため、独自のパラメータを生成したい場合は、パラメータの変更に注意するか、ページを更新してデフォルトのパラメータに戻してください。
テキスト生成
プロンプトでは、プロンプトの単語(中国語と英語のサポート)の説明を入力するには、二重引用符で囲まれたテキストの各行を生成する必要があり、その後、画像を生成するためにテキストの各行の位置を指定するために順次手描き。 テキスト位置の描画は、画像の品質に非常に重要である、あまりにもランダムまたは小さすぎる描画しないでください、位置の数は、テキストの行の数と同じであるべきであり、各位置のサイズは、可能な限りテキストの対応する行の長さまたは幅と一致する必要があります。手動で描画できない場合は、ボックスの矩形をドラッグするか(Manual-rect)、ランダム生成(Auto-rand)を試してみてください。
複数の行を生成する場合、各位置はテキスト行に対応するように一定の規則に従ってソートされ、ソート位置オプションは、ソートの優先順位が上から下か左から右かを決定するために使用されます。 パラメータ設定の「デバッグを表示」オプションをオンにすると、結果画像のテキスト位置とグリフを観察することができます。Revise Position オプションをオンにすると、レンダリングされたテキストの外側の矩形を修正位置として使用することもできますが、この方法で生成されたテキストはやや創造性に欠けることがあります。
コピーエディター
編集する画像を参照画像(Ref)としてアップロードし、ストロークサイズを調整した後、参照画像に編集する位置をペイントし、プロンプトに説明プロンプトの単語と修正するテキスト内容を入力して画像を生成してください。
参照画像の解像度は問わないが、内部処理で長辺は768以下に制限され、幅と高さは64の整数倍にスケーリングされる。