世界一乱暴な画像生成AIの使い方ページはここです。



今回は、あらかじめ用意した画像のポーズを抽出して、異なるキャラクターを生成させる方法です。
拡張機能を新たに追加するので、その方法と併せてご紹介します。
Step 1 : ControlNet(拡張機能)のインストール
ControlNetとは
Stable Diffusion Web UIの拡張機能です。細かく画像を設定できるので、画のイメージが固まっている場合、運に頼る要素を減らすことが出来ます。
ControlNetは色々な画像の追い込み方が出来ますが、今回は予め画像用意した画像のポーズのみを抽出してみたいと思います。

Stable Diffusion Web UIを開始
では、始めましょう。stable-diffusion-webuiフォルダ内のwebui-user.batをダブルクリック
お使いのブラウザでStable Diffusion Web UIを開きます。

Web UIが正しくセットアップされ、動作していることを確認してください。

「Extensions」タブに進む

① Web UIのメイン画面から、「Extensions」タブをクリックします(このタブは、インターフェースの上部または側面のナビゲーションメニューに位置しています)。
② 「Extensions」タブ内で、「Install from URL」ボタンをクリックします。
新しい拡張機能のインストール画面が開きます。
ControlNetのGit URLを貼り付け

① テキストフィールドURL for extension’s git repositoryに、https://github.com/Mikubill/sd-webui-controlnet
を貼り付けます。
② 「Install」ボタンをクリックして、ControlNet拡張機能のインストールします。
UIの再起動または再開

インストールが完了したら、
①「Installed」タブをクリック
リストにsd-webui-controlnetがあることを確認します。
②「Apply and restart UI」をクリック
または、Web UIを閉じて再び開きます。これにより、変更が適用され、ControlNetが使用可能になります。
Step 2 : 事前トレーニングされたControlNet用モデルのダウンロード
ControlNet拡張機能のインストールが完了した後、次はControlNetを動作させるために必要な事前トレーニングされたモデルをダウンロードします。
Hugging Faceサイトに移動

ControlNetの事前トレーニングされたモデルは、Hugging Face(huggingface.co)のウェブサイトで提供されています。

モデルのダウンロード
使用したいControlNetモデルを選択します。モデルのページには、ダウンロードリンクが提供されています。
少なくとも1つのモデルを ダウンロードしてください。
複数のモデルをインストールすることで、さまざまな種類の画像生成タスクに対応できます。

今回のページでは下記のモデルを使用します。
control_v11p_sd15_openpose_fp16.safetensors
また、当ゼミ(今後の他のページ)では下記のモデルを使用する予定です。併せてダウンロードしておくと良いでしょう。
control_v11f1p_sd15_depth_fp16.safetensors
control_v11p_sd15_normalbae_fp16.safetensors
モデルファイルの配置

ダウンロードしたモデルファイルは、Stable Diffusionのインストールディレクトリ内の
「extensions/sd-webui-controlnet/models」フォルダに移動させてください。
Step 3 : ControlNetの設定と使用
ControlNetのインストールと必要なモデルのダウンロードが完了したら、ControlNetを活用して画像生成を行う準備が整いました。
以下の手順で、ControlNetの設定と使用方法を学びましょう。
ControlNetの設定

[ ControlNet v1.1.440 ]と書いてある項目をクリックすると設定画面が出てきます。

① 同じポーズにさせたい元画像をドラッグ&ドロップします。今回ファイルサイズは512*512にしました。
② [ Enable ]にチェックを入れます。
③ 今回はOpenPoseという機能を使います。[ OpenPose ] をクリックします。
④ 自動的にOpenPoseのモデルが設定されます。特に変更鶴必要はありません。
※エラーが出た場合はメモリ不足の可能性がありますので[openpose_full]を[openpose]に変更して様子を見てください。
画像の生成
設定が完了したら、実際に画像を生成してみましょう。
希望する呪文(prompt)を入力し、選択したControlNetモデルを活用して、より制御された画像を生成します。

① 呪文(prompt)を記入します。今回は元画像と違う画にするため、以下にしました。
a young man ,suits
② NegativePrompt欄には、前回ダウンロードしたEasyNegativeを使用します。
EasyNegative
③ [ Generate ] をクリックします。

無事生成されました。キャラクターの性別、服装が変化したのに対し、
ポーズは(完璧ではないが)同じ画像が生成されました。

右側のサムネイル画像(黒い方)をクリックします。
カラフルな棒人間が表示されました。
ControlNetが画像からポーズのみを抽出して、画像生成に使用していることが分かると思います
(指や顔の輪郭まで検出しています)。



今回のまとめ
いかがでしたか?今回はControl Netを使い、あらかじめ用意した画像のポーズを抽出して、異なるキャラクターを生成させる方法をお伝えしました。
画像そのものを再加工するimg2imgと似ていますが、両方を比較すると、Control NetのOpenPoseは要素を抽出するので特にキャラクターのポーズなどの再現性が高い機能です。
この機能は設定箇所も多いため奥が深く試行錯誤も必要になります。
画像によって再現できない部分もあり、万能ではありません。
使いこなすのに時間が掛かりますがAI画像を如何に制御して自分の意図した画像を生成できるかという試みは重要ですし、ご自身の作品に取り入れるポイントとなるはずです。
今回は省略しましたが、次回以降で具体的な画像での使用例もお伝えしたいと思います。
皆さんもうまく使いこなして思い通りのAI生成が出来るよう試行錯誤してみてください。