はじめに
InstantIDは、高水準の忠実度を確保しながら、1枚のID参照画像を使用して数秒でパーソナライズされたスタイルやポーズを持つ画像を生成することに重点を置いた最先端の技術です。この技術は、顔画像、ランドマーク画像、テキストキューを統合することにより、画像生成プロセスを正確にガイドする拡散モデルベースのソリューションを採用しています。主な特徴として、忠実度の高い画像生成、大規模な微調整や複数の参照画像なしで使用できる一般的な事前訓練済みテキスト画像拡散モデルとの互換性、顔の忠実度の高さとテキスト編集機能があります。
InstantIDは、1枚の画像からアバターの特徴を保持するIDを生成する、最新の調整不要の手法で、さまざまな下流作業をサポートします。たった1枚の写真から顔のクローンを作成し、キューワードを使って同じ顔の異なるスタイルの画像を生成します。
機能一覧
- ゼロサンプルID保持生成:複数の画像は必要なく、1つの正面顔画像だけで複数のスタイルのポートレートを生成できます。
- 忠実度の高い生成:生成された結果は忠実度が高く、元画像の特徴をよく保持することができる。
- 複数の下流タスクのサポート:スタイル移行、画像編集などの複数の下流タスクをサポートします。
- オープンソースのコードとモデル:オープンソースのコードと学習済みモデルは、簡単にダウンロードして使用できるように提供されています。
- 強力な互換性:InstantStyleやInstantStyleのような他のプロジェクトとの統合をサポートしています。 コロール 互換性のある使用の。
ヘルプの使用
人物画像をアップロードします。複数の人物画像の場合、最も大きい顔のみを検出します。顔が小さすぎず、目に見えないほどぼやけていないことを確認してください。
(オプション) 参照ポーズとして別の人物画像をアップロードしてください。アップロードされていない場合は、ランドマークを抽出するために最初の人物画像を使用します。ステップ1でトリミングした顔を使用した場合は、新しいポーズを抽出するためにアップロードすることをお勧めします。
入力テキストプロンプトは、通常のテキストから画像へのモデルと同様です。
Submitボタンをクリックして、カスタマイズを開始します。
利用者は1つの参照ID画像を提供する必要があります。
さまざまなスタイルやポーズを選択して、パーソナライズされた画像を生成できる
テスト中の微調整や、微調整のための複数画像の収集が不要
生成された画像は、一般的な事前学習済みモデルや制御ネットワークとの融合に直接使用できる。
人間以外のロールへのID属性の柔軟な追加をサポート
設置プロセス
- GitHubリポジトリをクローンする:
git clone https://github.com/instantX-research/InstantID.git cd InstantID
- 依存関係をインストールします:
pip install -r requirements.txt
- 訓練済みモデルをダウンロードする:
from huggingface_hub import hf_hub_download hf_hub_download(repo_id="InstantX/InstantID", filename="ControlNetModel/config.json", local_dir="./checkpoints") hf_hub_download(repo_id="InstantX/InstantID", filename="ControlNetModel/diffusion_pytorch_model.safetensors", local_dir="./checkpoints") hf_hub_download(repo_id="InstantX/InstantID", filename="ip-adapter.bin", local_dir="./checkpoints")
使用プロセス
- 画像を準備する:
from diffusers.utils import load_image image = load_image("your-example.jpg")
- ローディングモデル:
from diffusers import StableDiffusionXLInstantIDPipeline, ControlNetModel controlnet = ControlNetModel.from_pretrained("./checkpoints/ControlNetModel", torch_dtype=torch.float16) pipe = StableDiffusionXLInstantIDPipeline.from_pretrained("stabilityai/stable-diffusion-xl-base-1.0", controlnet=controlnet, torch_dtype=torch.float16) pipe.cuda() pipe.load_ip_adapter_instantid("./checkpoints/ip-adapter.bin")
- 画像を生成する:
prompt = "analog film photo of a man. faded film, desaturated, 35mm photo, grainy, vignette, vintage, Kodachrome, Lomography, stained, highly detailed, found footage, masterpiece, best quality" negative_prompt = "(lowres, low quality, worst quality:1.2), (text:1.2), watermark, painting, drawing, illustration, glitch, deformed, mutated, cross-eyed, ugly, disfigured" image = pipe(prompt, image_embeds=face_emb, image=face_kps, controlnet_conditioning_scale=0.8).images[0]
詳しい操作手順
- 環境を整える必要な依存関係がインストールされ、事前にトレーニングされたモデルがダウンロードされていることを確認します。
- 画像を読み込む使用
load_image
関数は処理する画像をロードする。 - 積載モデル使用
from_pretrained
メソッドは、事前にトレーニングされたControlNetモデルとStableDiffusionXLInstantIDPipelineをロードします。 - 画像の生成を呼び出して、生成画像のキュー・ワードとネガティブ・キュー・ワードを設定する。
pipe
メソッドを使って画像を生成する。
これらのステップに従うことで、ユーザーはInstantIDを使用して簡単に忠実度の高いID保持画像を作成することができます。
ComfyUI導入プログラム
SDXLベースドックを選択します。SDXL Turboの4ステッププロセスを試すこともできます。
最初のロードには通常60秒以上かかるが、ノードはモデルのキャッシュに最善を尽くす。
https://github.com/huxiuhan/ComfyUI-InstantID
InstantIDエクスペリエンス・アドレス