はじめに
Stable Diffusion WebUIの拡張機能である「ControlNet」のインストールから使い方までを紹介します。
ControlNetには様々な機能が搭載されていますが、今回はメインの機能となるポーズの指定方法を紹介していきます。
記事内の画像は日本語環境で掲載しています。
まだ日本語化が完了していない方は↓の記事を参考に日本語化してみましょう。
- ControlNetのインストール方法
- ControlNetの使い方・ポーズの指定
- ControlNetのその他の機能の使い方
Stable Diffusion WebUIの拡張機能「ControlNet」とは?
ControlNetはStable Diffusionの拡張機能で、画像から指定した要素を抜き出して、生成画像に反映させることができます。
簡単に言うと・・・
ポーズを再現したい画像を用意しておけば、同じポーズの画像を生成できるんです!
拡張機能「ControlNet」のインストール方法
ControlNetを使用するにはControlNet本体とモデルのインストールが必要になります。
- STEP1「Extensions」タブに移動する
stable diffusion webUIを起動したら上部に表示されるタブ一覧から「Extensions」をクリックします。
- STEP2「Available」タブに移動する
「Available」タブに移動する
Extensionsタブ内の「Available」をクリックします。 - STEP3拡張インデックスURLを確認する
「Extension index URL」に表示されているテキストを確認してください。
「https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui-extensions/master/index.json」が入力されていれば問題ありませんが、空欄であったり別の記載であった場合は以下をコピペしてください。
https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui-extensions/master/index.json
- STEP4「Load from:」ボタンをクリックする
localizationのチェックを外したら、「Load from:」ボタンをクリックします。
- STEP5ControlNetをインストールする
一覧の中から「ControlNet」を探し、右に表示される「install」ボタンをクリックします。
ControlNetはブラウザーの検索機能を使えば簡単に見つかります。
- STEP1モデルのダウンロード
モデルはHuggingFaceで公開されています。
たくさんのモデルが用意されていますが、今回はポーズ指定を行うので「control_v11p_sd15_openpose.pth」をクリックします。
control_v11p_sd15_openpose.pthのページに移動したら「download」をクリックします。
- STEP2ControlNet用モデルの保存先
ダウンロードしたモデルは「webui」→「extensions」→「sd-webui-controlnet」→「models」フォルダーにファイルを保存します。
webui\extensions\sd-webui-controlnet\models
- STEP3Reload UIをクリックする
ControlNetをインストールしたら念の為WebUIをリロードしましょう。
上部に表示される「Reload UI」ボタンをクリックします。
拡張機能「ControlNet」の使い方
それではControlNetを使ってポーズの指定をしていきましょう。
ControlNetはtxt2imgで使用します。
txt2imgタブを開いて左下に表示される「ControlNet」を確認しましょう。
- STEP1ControlNetを有効化する
有効化(Enable)をチェックします。
- STEP2プリプロセッサとモデルを選択する
プリプロセッサとモデルをリストから選択しても良いのですが、便利なボタンが用意されているので使用しましょう。
ControlTypeからOpenPoseをチェックします。
そうするとプリプロセッサとモデルにOpenPoseが反映されます。プリプロセッサ、モデルに反映 - STEP3ポーズ用画像を準備する
今回は「PAKUTASO」からポーズ用の画像をダウンロードしました。
ポーズ用画像 PAKUTASOはフリー画像素材のサイトで、AI画像素材としても押しているサイトです。
ダウンロードした画像をControlNetにドラッグ&ドロップします。
- STEP4プリプロセッサー解像度を指定する
プリプロセッサーの解像度指定ですが、これについても便利なPixel Perfect機能があるので利用しましょう。
「Pixel Perfect」をチェックします。
これで準備完了です。
あとは普段通り、プロンプトを入力して画像生成するだけです。 - STEP5サンプル画像
OpenPoseで生成したAI画像 OpenPoseであればこんな感じで、ばっちり元画像のポーズを反映してくれます。
試しに別モデル「Lineart」でも画像生成してみました。
Lineartで生成したAI画像 Lineartでは、元画像の服装の影響を受けていますね。
これはLineartが画像の輪郭を捉える為です。OpenPoseで検出したポーズ Lineartで検出した輪郭 なのでポーズ指定する場合にはOpenposeがおすすめです。
ControlNetのその他機能について
ControlNetは機能が非常に豊富で、ポーズを指定する以外にも色々なことができます。
ここからはControlNetの各機能をかいつまんで紹介していきます。
同じ顔のキャラクターを生成する方法
顔を固定して同じ顔のキャラクターを生成するには「Reference Only」と「IP-Adapter-FaceID」という機能を使用します。
Reference Onlyは手軽に使えますが、顔以外にも影響を与えてしまう可能性があります。
一方IP-Adapter-FaceIDは顔に特化して精度が高い分、工程が多いです。
Reference Onlyについては以下の記事で解説しています。
IP-Adapter-FaceIDについては以下の記事で解説しています。
IP-Adapter-FaceIDはLoRAと併用する必要がありますが、LoRA不要の「IP-Adapter-FaceID-Portrait」が公開されました。
手軽にFaceIDで一貫性のある人物が生成可能です。
崩れた手を修正する方法
ControlNetの新機能「depth_hand_refiner」を使えば、きれいに手を修正できます。
depth_hand_refinerの使い方については、以下の記事で紹介しています。
まとめ
今回は、Stable DiffusionのControlNetを紹介しました。
ControlNetはポーズ指定はもちろん、その他たくさんの便利な機能を搭載しているので、ぜひインストールしておきましょう!
コメント