当ブログにはプロモーション、アフィリエイト広告が含まれます。

【Stable Diffusion】ControlNet「IP-Adapter-FaceID」の使い方!画像と同じ顔が生成可能に

2024年1月10日のアップデートでControlNetに「IP-Adapter-FaceID」が追加されました。

従来のIP-Adapterと異なり、画像から顔のみを読み取って新しく画像生成ができるものです。

今回はこの「IP-Adapter-FaceID」の使い方についてご紹介します。

IP-Adapter-FaceIDとは?

IP-Adapter-FaceIDは、画像から顔のみを抽出して新しい画像を生成できる技術です。

従来のIP-Adapterは画像全体から類似画像を生成できましたが、こちらは顔に特化したものになります。

またLoRAを使用することで一貫性を持たせられるようになり、同一人物の画像が生成しやすくなりました。

IP-Adapter-FaceIDを使う前の準備

Stable Diffusion Web UIのインストール

まずは本体のStable Diffusion Web UIが必要です。以下の手順でインストールできます。

1.pythonとgitをインストール
2.インストールしたいパスでコマンドプロンプトを開く
3.git pullを実行

git pullのコマンド

git pull https://github.com/Stable Diffusion Web UI/stable-diffusion-webui.git

これで「stable-diffusion-webui」のフォルダができるので、中の「webui-user.bat」を起動します。

そうすると必要なファイルがダウンロードされて、自動でUIが開けばインストールは完了です。

詳しい手順はこちらをご確認ください。

ControlNetのインストール

ControlNetは、画像から情報を抽出できるツールがまとまっている拡張機能です。

IP-Adapter-FaceIDはControlNetで使える機能なので、先にControlNetをインストールします。

Extensions→Install from URL→URL for~に以下のURLを入力して、Installボタンをクリックしてください。

https://github.com/Mikubill/sd-webui-controlnet.git

インストール後にリスタート、または再起動すればインストールは完了です。

insightfaceのインストール

もう1つ「insightface」というものが必要です。

私はなぜかインストール済みだったので、もしかしたら何らかの拡張機能を入れたときにインストールされている可能性があります。

まずは「insightface」がインストールされているか確認してみてください。

stable-diffusion-webuiのフォルダ空白部分で右クリック→ターミナルを開き、以下を実行します。

1行目が仮想環境にするもの、2行目がインストールされているか確認するものです。
まとめて実行すると仮想環境にした後一度止まるので、再度Enterを押してください。
それか1行ずつ実行してください。

venv\Scripts\activate
pip show insightface

以下のように表示されればインストールされています。

もし「not found: insightface」と出たら、以下を実行してインストールしてください。

既に仮想環境になっている場合は2行目だけでOKです。

venv\Scripts\activate
pip install insightface

IP-Adapter-FaceIDモデルのダウンロード

IP-Adapter-FaceIDを使うにはモデルとLoRAが必要です。

SD1.5で使用するなら無印、plus、plusv2、SDXLならSDXL用のモデルとLoRAをダウンロードします。

それぞれ対応しているモデルとLoRAは以下の通りです。

2024年1月24日に「plusv2_sdxl」が追加されました。

モデルLoRA
ip-adapter-faceid_sd15.binip-adapter-faceid_sd15_lora.safetensors
ip-adapter-faceid-plus_sd15.binip-adapter-faceid-plus_sd15_lora.safetensors
ip-adapter-faceid-plusv2_sd15.binip-adapter-faceid-plusv2_sd15_lora.safetensors
ip-adapter-faceid_sdxl.binip-adapter-faceid_sdxl_lora.safetensors
ip-adapter-faceid-plusv2_sdxl.binip-adapter-faceid-plusv2_sdxl_lora.safetensors

下記リンクからダウンロードできます。

h94/IP-Adapter-FaceID at main

それぞれモデルとLoRAは対象のパスに移動させておいてください。

モデルのパス

stable-diffusion-webui\models\ControlNet

LoRAのパス

stable-diffusion-webui\models\Lora

IP-Adapter-FaceIDの使い方

基本はIP-Adapterと同じです。

1.読み取りたい顔の画像をセット
2.パラーメータの設定
3.LoRAをプロンプトに入力
4.画像生成

まずtxt2imgでControlNetのタブを開き、読み取りたい顔の画像をセットします。

今回こちらの画像をお借りしました。
Girl Model Portrait - Free photo on Pixabay - Pixabay

次にパラーメータを以下のように設定します。環境に合わせて調整してください。

Enableチェック ※ControlNetの有効化
Low VRAMグラボのVRAMが8GB以下ならチェック推奨
Control TypeIP-Adapterをチェック ※自動で対象のPreprocessor・modelを選択
Model対応するプリプロセッサーとモデルを選択

使用するIP-Adapter-FaceIDのモデルに合わせて、プロンプトにLoRAを入力します。

LoRAタブから使用したいものをクリックすれば自動で入力が可能です。

なお、githubのサンプルだとウェイトを0.6にしています。ウェイトは結果を見ながら調整してみてください。

顔以外に追加したいプロンプトがあればそちらも入力します。

今回は画質とネガティブプロンプトのみ入力しました。

これで画像生成すると。セットした画像の顔を生成画像に反映できます。

使用モデル:BracingEvoMix_v1

IP-Adapter-FaceIDのモデル比較

それぞれ無印、plus、plusv2,SDXLで生成した画像です。

SDXLはdreamshaperXL10を使用

顔をしっかり反映できているかでいうと、無印<plus<SDXLの順だと思います。

ただStable Diffusion Web UIだとSDXLは重いので、処理速度などを含めてバランスが取れているのはplusかplusv2という印象でした。

また使用モデルによってクオリティも異なるため、いろいろ試行錯誤してみてください。

IP-Adapter-FaceIDは商用利用不可

huggingfaceのページを見ると以下のような記載があり、商用利用としては使用できないため注意が必要です。

Non-commercial use
This model is released exclusively for research purposes and is not intended for commercial use.
非商用利用
本モデルは研究目的にのみ公開されるものであり、商業利用を目的としたものではありません。
h94/IP-Adapter-FaceID · Hugging Face

IP-Adapter-FaceIDの使い方まとめ

今回はStable Diffusion Web UIでIP-Adapter-FaceIDを使う方法についてご紹介しました。

まとめ

IP-Adapter-FaceIDは顔を抽出して新しい画像が生成できる
一貫性を持たせるためにLoRAが必要
使用モデルによって結果が異なる

同じ人物でポーズを変えたり、ストーリー性のある画像を作ったりする場合は、非常に便利な機能です。

商用利用できないのでビジネスには活用できませんが、個人で同一人物のさまざまな画像を生成したい方はぜひIP-Adapter-FaceIDを使ってみてください。

コメント

  1. アバター 匿名 より:

    アニメ顔には使えないのでしょうか

    • イクリ イクリ より:

      使用自体は可能ですが、クオリティは微妙かもしれません。
      使用するモデルの影響が強く出てしまい、あまり特徴を捉えている感じがありませんでした。
      ただ検証回数が少なくパラーメータもデフォルトのままなので、やり方次第ではうまくできるかもしれません。
      現時点ではなんとも言えない感じです。

タイトルとURLをコピーしました