この記事では、Stable Diffusion WebUI(AUTOMATIC1111)でIP-Adapter-FaceID-Portraitを使って、同じ顔の人物を生成する方法を紹介します。
- IP-Adapter-FaceID-Portraitの導入方法
- IP-Adapter-FaceID-Portraitの使い方・同じ顔のキャラクターを生成する方法
IP-Adapter-FaceID-Portraitとは
IP-Adapter-FaceID-PortraitはIP-Adapter-FaceIDと同じ技術を使用していますが、IP-Adapter-FaceIDと比較すると専用のLoRAが不要になります。
より簡単にIP-Adapter-FaceIDが使えるんだね!
IP-Adapter-FaceIDの使い方については以下の記事で紹介しています。
IP-Adapter-FaceID-Portraitの導入方法
IP-Adapter-FaceID-PortraitではControlnetのインストールが必須です。
以下の記事を参考にインストールしましょう。
既にControlnetをインストール済みの方は、バージョンによってはIP-Adapter-FaceIDが使用できない可能性があります。
以下の記事を参考にControlnetを更新しましょう。
新しいControlnetには参照画像を複数にする「Multi-Inputs」機能にも対応しているのでこの機会に最新版にしておきましょう。
(Multi-Inputsの使い方については後述します)
IP-Adapter-FaceID-Portraitで使用するモデルデータのインストール
IP-Adapter-FaceID-Portraitを使うには、Controlnetモデルのインストールが必要です。
ControlnetモデルはHugging Faceからダウンロード可能です。
SD1.5ベースモデルで使用する場合は、「ip-adapter-faceid-portrait_sd15.bin」を
SDXLベースモデルで使用する場合は、「ip-adapter-faceid-portrait_sdxl.bin」をダウンロードしましょう。
ダウンロードしたControlnetモデルは「webui」→「extensions」→「sd-webui-controlnet」→「models」フォルダーにファイルを保存します。
(モデルの保存先は「webui」→「models」→「ControlNet」フォルダ内でも問題ありません)
IP-Adapter-FaceID-Portraitで同じ顔の人物を生成する方法
それではIP-Adapter-FaceID-Portraitを使って、同じ顔のキャラクターを生成してみましょう。
キャラクターを固定するための参照画像を準備しましょう。
なんでも良いですが、画像によっては顔として認識されないので顔のアップの画像がおすすめです。
Stable Diffusionで顔のアップ画像を生成する場合は、プロンプトに「face focus」を追加しよう。
Controlnetのimage部に参照画像をドラッグ&ドロップするか、クリックしてロードします。
Controlnetを開くと上記画像のようにSingle Imageが選択されていますが、Multi-Inputsを選択することで複数の参照画像を設定可能です。
Multi-Inputsでは「Upload Images」ボタンで画像の選択、「Clear Images」ボタンでアップロードした画像のクリアが可能です。
次に以下項目をチェックします。
- Enable 有効化
- Pixel Perfect 解像度を画像から取得
- Control TypeからIP-Adapterをチェック
次に使用するPreprocessorとModelを選択します。
- Preprocessor
-
「ip-adapter_face_id」を選択します。
- Model
-
SD1.5ベースモデルを使用する場合は、「ip-adapter-faceid-portrait_sd15.bin」を
SDXLベースモデルを使用する場合は、「ip-adapter-faceid-portrait_sdxl.bin」を選択します。
後は画像生成するだけです。
顔はFaceIDによって保たれるので、表情や服装などをプロンプトで指定して好みの画像を生成しましょう。
IP-Adapter-FaceID-Portraitの効果を確認
いくつかサンプル画像を生成したので、IP-Adapter-FaceID-Portraitがどのように影響するのか確認してみます。
Single Imageで画像生成した結果
以下のDreamShaperで生成したフォトリアルな画像を参照画像にしました。
この画像を元にSingle Imageで生成した結果は以下の通りです。
効果を試す意味で、アニメ系モデル「CalicoMix FlatAni」を使用しました。
素晴らしいですね!
顔や髪型のプロンプトを指定していませんが、一貫性のあるキャラクターが生成できました。
Multi-Inputsで画像生成した結果
次にMulti-Inputsの効果を確認してみます。
参照画像は「kisaragi_mix」を使って日本人女性の画像を使用しました。
4枚の画像を設定して、先程と同じCalicoMix FlatAniで生成しました。
(髪型だけbobで固定してテストしています)
こちらも効果は抜群ですね!
何回かテストしましたがSingleでも効果は十分なので、Multiは別キャラを混ぜるような特殊な遊び方のほうが面白いと思います。
同じ参照画像でchilled_remixを使って生成してみました。
同じ人物と判断できる画像が生成できました!
フォトリアル系でも問題ありませんが、いくつかのモデルで試した結果、ほくろのような異物が生成される可能性が高かったです。
まとめ
今回はStable Diffusion WebUI(AUTOMATIC1111)でIP-Adapter-FaceID-Portraitを使用する方法を解説しました。
IP-Adapter-FaceIDと比較するとLoRAが不要で手軽なので、主流になるかなと思っています。
ただPlusモデルのほうが品質面では優れているので、迷うところですね。
コメント