Stable Diffusionなどの画像生成AIの登場によって、手軽に好みの画像を出力できる環境が整いつつありますが、テキスト(プロンプト)による指示だけで好みのポーズのイラストを生成するには長い時間や経験が必要です。新たに開発された「ControlNet」を画像生成AIと併用すれば、好みのポーズを指定したイラストを簡単に生成できるとのことなので、実際にインストールして使い方を確かめてみました。

GitHub - Mikubill/sd-webui-controlnet: WebUI extension for ControlNet

https://github.com/Mikubill/sd-webui-controlnet

ControlNetでポーズや構図を指定してAIイラストを生成する方法|ddPn08|note

https://note.com/ddpn08/n/n7fce838499e7

・目次

◆1:ControlNet拡張機能を「Stable Diffusion web UI(AUTOMATIC1111版)」にインストール

◆2:ControlNetのモデルデータをダウンロード

◆3:ControlNetを用いて参考画像から骨格データを抽出して画像生成

◆4:デザインドールでポーズを自作して画像生成

◆1:ControlNet拡張機能を「Stable Diffusion web UI(AUTOMATIC1111版)」にインストール

ControlNetは、画像生成AIにプロンプトを入力する際に、ポーズや深度情報、輪郭などの情報を追加で与えることで、生成画像の品質を向上させられるニューラルネットワークです。今回は、ControlNetを「Stable Diffusion web UI(AUTOMATIC1111版)」向けの拡張機能を使ってみるので、まずは以下の記事に従って「Stable Diffusion web UI(AUTOMATIC1111版)」をインストールしてください。

画像生成AI「Stable Diffusion」を4GBのGPUでも動作OK&自分の絵柄を学習させるなどいろいろな機能を簡単にGoogle ColaboやWindowsで動かせる決定版「Stable Diffusion web UI(AUTOMATIC1111版)」インストール方法まとめ - GIGAZINE

「Stable Diffusion web UI(AUTOMATIC1111版)」を起動したら、「拡張機能」をクリックしてから「URLからインストール」をクリックし、URL入力欄に「https://github.com/Mikubill/sd-webui-controlnet」と入力して「インストール」をクリックします。



インストールが完了したら「インストール済」をクリックして画面下部の拡張機能一覧に「sd-webui-controlnet」があることを確認し、「適用してUIを再起動」をクリック。



「txt2img」タブの最下部に「ControlNet」が表示されていれば、拡張機能のインストールは完了です。



◆2:ControlNetのモデルデータをダウンロード

続いて、以下のリンク先にアクセスしてControlNetのモデルデータをダウンロードします。

webui/ControlNet-modules-safetensors at main

https://huggingface.co/webui/ControlNet-modules-safetensors/tree/main

リンク先には、モデレーターがズラリと並んでいます。今回は「ポーズを指定して画像生成」という機能を使いたいので「control_openpose-fp16.safetensors」をクリック。



続いて「download」をクリックしてモデルデータ(ファイルサイズ689MB)をダウンロードします。



以下のようなファイルをダウンロードできたらOK。



続いて、「Stable Diffusion web UI(AUTOMATIC1111版)」のインストールフォルダ内を「extensions」→「sd-webui-controlnet」→「models」と移動し、「models」フォルダ内にダウンロードしたモデルデータを移動します。



「models」フォルダ内にモデルデータが存在する状態になれば準備完了です。



◆3:ControlNetを用いて参考画像から骨格データを抽出して画像生成

ControlNetを使って「ポーズを指定した画像」を生成するには、ポーズの参考画像を準備する必要があります。参考画像は背景がシンプルなものがベター。今回は以下の画像を用意しました。



画像を生成するには、まず「txt2img」タブの最下部に配置された「ControlNet」をクリック。



すると、「ControlNet」の設定項目が表示されます。



「ポーズを指定した画像」を生成する場合は、「Enable」にチェックを入れた後、「Preprocessor」で「openpose」を選択し、「モデル」でダウンロードしたモデルデータを選択します。さらに、参考画像の解像度も入力します。



続いて、「ここに画像をドロップ」と記された部分に参考画像をドラッグ&ドロップします。



以下のように参考画像が表示されればOK。



次に、プロンプトを入力して「生成」をクリックします。今回は「girl, yoga」と入力しました。



しばらく待つと、画像が「ポーズの骨格画像」と共に出力されます。



今回生成した画像はこんな感じ。参考画像とまったく同じポーズの画像を出力できました。



◆4:デザインドールでポーズを自作して画像生成

上記の手順で「ポーズを指定した画像」は生成できますが、好みのポーズの参考画像を探し出すのは手間がかかります。そこで、無料で使えるポージングツール「デザインドール」を使って、好みのポーズの参考画像を作成してみます。デザインドールを使うには、まず以下のリンク先にアクセス。

デザインドール | 次世代デッサン人形

https://terawell.net/ja/index.php

続いて「ダウンロード」をクリックします。



以下の画面が表示されたら「ダウンロード」をクリックしてインストーラー(ファイルサイズ43.2MB)をダウンロードします。



インストーラーをダウンロードしたら、ダブルクリックして起動します。



「次へ」をクリック。



「次へ」をクリック。



「インストール」をクリック。



インストールが完了したら「DesignDollを実行する」にチェックを入れて「完了」をクリックします。



以下の画面が表示されたら、右下のボタンをクリック。



続いて、インストールしたいバージョンの横に記された「インストール」をクリックします。今回はバージョン5.6.0.0をインストールしました。



インストールが完了すると、デザインドールが起動します。画面内に表示された人形の足や手をドラッグすると、各部位を動かせるので、好みのポーズを取らせます。



今回は、以下のような両手を腰に当てたポーズを作成しました。



ポーズ作成が完了したら「ファイル」をクリックして「画像を書き出す」をクリック。



ファイル名を入力し、画像形式からPNGやJPGを選択。さらに解像度を指定して「保存」をクリックします。



すると、以下のような画像が出力されます。



ポーズ画像が完成したら、「ControlNet」の参考画像指定エリアにドラッグ&ドロップ。



以下のように画像が表示されたらOK。



続いて、プロンプトを入力して「生成」をクリック。今回はシンプルに「girl」と入力しました。



これで、好みのポーズを指定した画像を生成できました。



後は、モデルデータやプロンプトを工夫することで、好みの画像に近づけられます。



以下のように腰から上だけを参考画像として示せば、腰から上のポーズだけが生成画像に反映されます。



生成結果はこんな感じ。ポーズや構図をデザインドールなどのツールで作成するだけで生成画像に反映できるので、かなり直感的に好みの画像を生成できます。