Stable Diffusionで望み通りの画像を生成するのは難しいですよね。
いろんなモデルやLoRAなどを試すのもいいですが、便利な拡張機能を使うと一発解決することもあります。
今回は任意の画像を取り込んで、部分的に改変できるIP-Adapterの紹介です。
拡張機能の特性上、著作権や肖像権の侵害に気を付けましょう。
IP-Adapterのインストール方法
IP-Adapterは個別にインストールする必要はありません。ControlNetが最新の場合は、自動的に組み込まれています。
拡張機能と言いましたが、ControlNetのプリプロセッサ(前処理をする機能)というわけですね。
まずはControlNetを開いて、Control Typeの欄で確認してみてください。
『IP-Adapter』があれば専用モデルのダウンロードに移ります。
表示がなければ、『Extensions』タブから下の図のように①→②の順にクリックしてください。
ControlNet自体のインストール方法はコチラ
IP-Adapterで使用するモデルのインストール
IP-Adapterが確認出来たら、次は専用のモデルを組み込んでいきます。
下のURLからHugging Faceにアクセスします。
https://huggingface.co/lllyasviel/sd_control_collection/tree/main
リストから下の2つのファイルをダウンロードしてください。五十音順に並んでいるので探しやすいと思います。
ダウンロードするファイル
- ip-adapter_sd15_plus.pth
- ip-adapter_xl.pth
ダウンロードボタンをクリックでダウンロードできますよ。
ダウンロードできたら、Stable Diffusion WebUIをインストールしたフォルダーを開きます。
『stable-diffusion-webui』フォルダー→『extensions』フォルダー→『sd-webui-controlnet』フォルダーの順に開き、『models』フォルダーの中に移動させてください。
Stable Diffusion WebUIを再起動するとインストール作業は終わりです。
IP-Adapterの基本的な使い方
IP-Adapterの使用は簡単です。
ControlNetを開き、『単一画像』のタブで任意の画像をドラッグ&ドロップします。
『Enable』にチェックを入れ、『IP-Adapter』を選択します。
『Preprocessor』と『Model』の欄は自動的に反映されますが、XLのモデルを使用する場合はXL用のプリプロセッサとモデルに変更してください。
ここまで出来たらいよいよ生成ですよ。
いつものように好きなプロンプトやネガティブプロンプトを入力してジェネレイトします。
IP-Adapterの使用例
適当に生成した画像を使ってみました。
プロンプトは短く『1 cute Japanese girl』とし、クオリティー系のネガティブプロンプトを適当に入れました。
日本人っぽい顔立ちで、髪の毛が若干暗くなったように思います。
髪型やポーズ、背景は元画像が強く影響していますね。
髪型のショートボブを追加し強調してみましたが、変化は見られませんでした。
その他、ポーズ、向き、視線、背景のプロンプトも試しましたが、やはり変化はありませんでした。
プロンプトの工夫が必要なのかもしれません。
何かわかればここに追記しますね。
IP-Adapter使用の追記
前回まではただプロンプトを入れて生成するだけでしたが、顔以外の変化はありませんでした。
顔以外を変化させる方法が2つ判明したので、ご紹介します。
①パラメーター調節
Control Weightのパラメーター調節することで、髪型やポーズ、背景などを変えることができるようです。
初期値は1で、0.5ずつ変えることができます。
元のプロンプトに『short bob』、『standing』、『smiling』、『white background』を追加してパラメーターを0.5ずつ下げていく実験結果。
1~0.7までは変化なし。
6.5・・・髪型と表情が効きました。
0.6・・・ポーズが崩れ始めました。
0.5・・・立っている姿が生成され、背景が変化しました。
0.4・・・完全ではないですが背景が白になりました。
各要素の強度としては
髪型 = 表情 > ポーズ > 背景
の順のようです。
全てを変えてしまうと意味がないので、変えたい部分を反映させるための数値として参考にしてみてください。
②拡張機能を併用する(ウラ技?)
『ADetailer』という拡張機能を使うことで、パラメーターをいじらなくても表情などを変えることができます。
日本人ぽくなくなった気もしますが・・・
ADetailerは表情が崩れるのを防いでくれるとても便利な拡張機能です。
ADetailerのインストール方法はコチラ