【驚愕】Stable Diffusion WebUIでIP-Adapter-FaceIDを使って同じ顔の人物を生成する方法

セーターを着たロングヘアーの女性のAI写真

はじめに

この記事では、Stable Diffusion WebUI(AUTOMATIC1111)でIP-Adapter-FaceIDを使って、同じ顔の人物を生成する方法を具体的に説明します。

この記事で理解できること
  • IP-Adapter-FaceIDの導入方法
  • IP-Adapter-FaceIDの使い方・同じ顔のキャラクターを生成する方法
目次

IP-Adapter-FaceIDとは

IP-Adapter-FaceIDは、顔認識モデルからの顔ID埋め込みを使用し、さらに顔IDの一貫性を向上させるためにLoRAの技術を使用しています。

簡単にいってしまえば、参照画像の顔と同じような顔の画像を、高精度で生成することが可能になります。

IP-Adapter-FaceIDは、顔やキャラクターを固定して画像を生成できるControlnet Reference Onlyと比較すると一貫性が向上していますが、Reference Onlyのほうが設定が単純で扱いやすいです。

Controlnet Reference Onlyについては以下の記事で紹介しています。

あわせて読みたい
同じ顔を生成できるControlnet Reference Onlyの使い方を紹介します はじめに 今回はControlnetの便利な機能、「Reference Only」の使い方を紹介します。 この記事で理解できること Controlnet Reference Onlyのインストール方法 Controln...

精度を高めたいならIP-Adapter-FaceIDを使って、手軽に使いたいならControlnet Reference Onlyを使うといいね!

IP-Adapter-FaceIDの導入方法

IP-Adapter-FaceIDは拡張機能「Controlnet」と必要なモデルをインストールすることで使用できます。

Controlnetのインストール

IP-Adapter-FaceIDではControlnetのインストールが必須です。

以下の記事を参考にインストールしましょう。

あわせて読みたい
ControlNetのインストール方法と使い方【ポーズの指定が出来る!】Stable Diffusion WebUIの使い方 はじめに Stable Diffusion WebUIの拡張機能である「ControlNet」のインストールから使い方までを紹介します。 ControlNetには様々な機能が搭載されていますが、今回は...

既にControlnetをインストール済みの方は、バージョンによってはIP-Adapter-FaceIDが使用できない可能性があります。

以下の記事を参考にControlnetの更新を実施しましょう。

あわせて読みたい
Stable Diffusionのアップデート方法を紹介します はじめに Stable Diffusion WebUIに入れた新しい拡張機能が、動かなくて困ったことはありませんか?もしかしたらStable Diffusion WebUIのバージョンが古いことが原因の...

IP-Adapter-FaceIDで使用するモデルデータのインストール

IP-Adapter-FaceIDではControlnetモデルと、そのモデルに対応したLoRAモデルを組み合わせて使用します。

使用するControlnetモデルと、LoRAモデルはHugging Faceからダウンロード可能です。

モデルの組み合わせは以下の通りです。

区分ControlnetモデルLoRAモデル
sd1.5ip-adapter-faceid_sd15.binip-adapter-faceid_sd15_lora.safetensors
sd1.5
plus
ip-adapter-faceid-plus_sd15.binip-adapter-faceid-plus_sd15_lora.safetensors
sd1.5
plus ver2
ip-adapter-faceid-plusv2_sd15.binip-adapter-faceid-plusv2_sd15_lora.safetensors
sdxlip-adapter-faceid_sdxl.binip-adapter-faceid_sdxl_lora.safetensors
sdxl
plus ver2
ip-adapter-faceid-plusv2_sdxl.binip-adapter-faceid-plusv2_sdxl_lora.safetensors

SD1.5用は3種類あるので、以降のサンプル画像を見て好みのモデルを使ってみよう!

ダウンロードしたControlnetモデルは「webui」→「extensions」→「sd-webui-controlnet」→「models」フォルダーにファイルを保存します。
(モデルの保存先は「webui」→「models」→「ControlNet」フォルダ内でも問題ありません)

ダウンロードしたLoRAモデルは「webui」→「models」→「Lora」フォルダにファイルを保存します。

LoRAの使い方の詳細については、以下の記事で解説しています。

あわせて読みたい
Stable Diffusion WebUI LoRAのダウンロード・使い方を解説します【AIコスプレできるようになる!】 はじめに 本記事では、Stable Diffusion LoRAの使い方について詳しく解説します。 この記事を読めば以下が理解できるようになります。 LoRAの機能 LoRAのインストール方...

IP-Adapter-FaceIDで同じ顔の人物を生成する方法

必要となるモデルをインストールしたら、実際にIP-Adapter-FaceIDを使って、同じ顔のキャラクターを生成してみましょう。

  • STEP1
    顔、キャラクターを固定するための参照画像を用意する

    キャラクターを固定するための参照画像を準備しましょう。

    Stable Diffusionで生成した画像を今回は使用してみます。

  • STEP2
    Controlnetの設定

    参照画像をドラッグ&ドロップするか、クリックしてロードします。

    Controlnetに画像をドラッグ&ドロップするよう促している

    次に以下項目をチェックします。

    • Enable 有効化
    • Pixel Perfect 解像度を画像から取得
    • Control TypeからIP-Adapterをチェック
    Enable、Pixel Perfect、IP-Adapterをチェックするよう促している

    次に使用するPreprocessorとModelを選択します。

    Preprocessorは通常「ip-adapter_face_id」を選択し、Plusモデルを使用する場合には「ip-adapter_face_id_plus」を選択します。

    ModelはPreprocessorに対応したモデルを選択します。

    PreprocessorとModelを選択するよう促している
  • STEP3
    LoRAの設定

    プロンプトにControlnetで選択したModelに対応したLoRAモデルを追加します。

    あとはLoRAの重みを調整して画像生成するだけです。

    LoRAモデルをクリックし重みを調整するよう促している

    プロンプトに生成したい呪文を指定すれば、同じ顔で違う服を着た人物などが生成可能です。

    LoRA重みは0.6~0.8くらいがおすすめだよ

ここまでの使い方について以下YouTube動画を投稿しています。
合わせてご参考下さい。

IP-Adapter-FaceIDのモデルとLoRAの重みの比較

IP-Adapter-FaceIDのモデルの効果と、LoRAの重みが画像にどのように影響するのか確認してみます。

SD1.5用モデル

ショートヘアーの女性のAI写真
参照画像
鎧を着た女性のAI写真LoRAの重み別に画像が並んでいる
SD1.5
鎧を着た女性のAI写真LoRAの重み別に画像が並んでいる
SD1.5 Plus
鎧を着た女性のAI写真LoRAの重み別に画像が並んでいる
SD1.5 Plus Ver2

SD1.5用は3種類ありますが、どれも特徴がありますね。

特にPlusモデルは顔ではなく、明るさが変化しているので顔以外も影響しているようですね。
個人的には最新モデルのPlus Ver2がバランスよく感じます。

LoRAの重みについては低くなるほど、参照画像から離れていきますね。

SDXL用モデル

参照画像
セーターを着た女性のAI写真LoRAの重み別に画像が並んでいる
SDXL
セーターを着た女性のAI写真LoRAの重み別に画像が並んでいる
SDXL Plus Ver2

SDXL用も試してみましたが、現段階では微妙な仕上がりです。

エラーにより画像生成出来ない場合(トラブルシューティング)

IP-Adapter-FaceIDを導入したけどエラーが発生して画像生成できない場合には、以下の手順で解消できるかもしれません。

一度お試しください。

「 AttributeError: module ‘torch.nn.functional’ has no attribute ‘scaled_dot_product_attention’」が表示された場合

多くの場合はPyTorchを更新することでエラー解消されます。

PyTorchの更新手順については、以下の記事で解説しています。

あわせて読みたい
Stable DiffusionでPyTorch 2.0にアップデートする方法 はじめに PyTorch 2.0へアップデートすることで、画像生成速度の向上や新しい機能の利用など、さまざまなメリットを得られます。 しかし、初心者にとって、アップデート...

InsightFaceがインストールされない場合

FaceIDを使用するには「InsightFace」という機能が必要になります。

InsightFaceは、Stable Diffusion WebUIのControl Net最新版でインストールされるはずですが、何かの原因でインストールできない場合には、以下の記事をご参考ください。

あわせて読みたい
【必見】InsightFaceをStable Diffusion WebUIにインストールする方法を紹介 はじめに この記事では、Stable Diffusion WebUI(AUTOMATIC1111)にInsightFaceをインストールする方法を紹介します。 InsightFaceはCコードが含まれているのか、C++ビル...

まとめ

今回はStable Diffusion WebUI(AUTOMATIC1111)でIP-Adapter-FaceIDを使って、同じ顔の人物を生成する方法を解説しました。

Stable DiffusionとIP-Adapter-FaceIDを使えば、簡単に同じ顔の人物を生成できましたね。

今回の記事が、Stable DiffusionとIP-Adapter-FaceIDを使った人物画像生成に興味を持った方の参考になれば幸いです。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメント一覧 (2件)

  • ◾️Stable Diffusion WebUIでIP-Adapter-FaceIDを使って同じ顔の人物を生成する方法

    以下のerrorが出て実行できないようでした。
    AttributeError: module ‘torch.nn.functional’ has no attribute ‘scaled_dot_product_attention’

    • エラー文に書かれている通りですが、torchのバージョンが古いようなので更新してください。
      恐らく上記対応で解消できるかと思います。

コメントする

目次