Stable Diffusionでポーズを指定する

GMOアドマーケティングのT.Oです。 今回は画像生成AIである、Stable Diffusionでポーズ指定を試してみます。  Stable Diffusionは、2022年にリリースされた主にテキスト入力から画像を生成する画像生成AIです。

0.前提

Stable Diffusion WebUI(AUTOMATIC1111)をローカルインストールしていること。

1.モデルのインストール

Stable Diffusionでは画像を生成するためにモデルを使用します。モデルにはポーズの指定がしやすいモデルとそうでないモデルがあるようです。ここでは比較的ポーズの指定がしやすいモデルであるanything V5をインストールすることにします。
まずはcivitaiにアクセスしてアカウントを作成しログインします。
次にanything V5のページにアクセスして”AnythingV5_v5PrtRE.safetensors”をダウンロードします。
ダウンロードしたモデルファイルをWebUIをインストールしたフォルダ以下の”stable-diffusion-webui/models/Stable-diffusion”に保存します。

2.拡張機能(ControlNet)のインストール

ポーズを指定するための拡張機能であるControlNetをインストールします。Web UIの”Extensions”タブ内の”Install from URL”をクリックして”URL for extension’s git repository”に以下のURLを指定して”Install”をクリックします。

インストール後は”Installed”タブを選択し”Apply and restart UI”を選択してWeb UIをリスタートしてください。

3.ControlNetモデルのインストール

ControlNetを使用するためにはモデルが必要です。今回は元画像からポーズを抽出し、抽出したポーズにあわせて画像を生成するモデルであるopenposeを利用します。Hugging FaceのControlNetのモデルのページにアクセスします。”control_openpose-fp16.safetensors.safetensors”をダウンロードします。ダウンロードしたファイルをWebUIをインストールしたフォルダ以下の”extensions/sd-webui-controlnet/models”に保存します。

4.画像の生成

4.1.画像生成パラメータを設定する

まずはControlNetを利用せずに画像生成パラメータを設定します。 prompt, negative promptに以下のように入力してGenerateボタンを選択すると画像が生成されます。
prompt: negative prompt: stable diffusionでの設定例

(生成された画像の例)

4.2.ポーズの指定

4.2.1.ポーズ画像の設定

ControlNetの「◀︎」部分を選択します。ポーズを指定するための画像を読み込む部分があるので、この部分に画像ファイルをドラッグアンドドロップして設定します。 ControlNetを使うのでEnable部分にチェックを入れ、次にPreprocessorの部分で「openpose」を選択、Modelの部分で「control_openpose-fp16」を選択します。 Preview annotator resultボタンを選択すると、認識されたポーズが棒人間の形式で表示されます。
ポーズ画像の設定前


ポーズ画像の設定後:
*)ポーズ画像は「GAHAG | 著作権フリー写真・イラスト素材集」サイトの画像を利用させていただきました。

4.2.2.ポーズ画像の適用

ポーズ画像の設定ができたら、再度Generateボタンを選択します。ポーズが適用された画像が生成されます。
(生成された画像の例)

5.まとめ

Stable DiffusionとControlNetを使ってポーズを指定する手順をご紹介しました。
今回の内容が皆さんのお役に立てれば幸いです。