画像を元に構図・ポーズを指定したい!

プロンプトによる構図・ポーズの指定に限界を感じていた頃。

拡張機能の存在を知りました。

構図・ポーズの指定に便利な「ControlNet」という拡張機能です。

ControlNetはStable Diffusion WebUIの拡張機能なので、未導入の方は先にStable Diffusionのローカル環境構築を済ませておくとスムーズです。

ControlNetで何ができるか

画像から構図を抽出し、その構図を元に画像を生成することが出来るようになります。

例えば、今回サンプルとして使うコチラの画像。

両手の人差し指で下を指すポーズの女性写真

サンプル画像はフリー素材ぱくたそからお借りしました。

どのようなプロンプトにすればいいか、何となく想像つくかもしれません。

だけど、何回出力しても理想の画像が生成されない…。そんな経験ありませんか?

コレ、ControlNetで解決できます。まったく同じポーズの画像が出力できるようになるんです。

ControlNetのインストール方法

  1. Extensionsタブを開く
  2. Install from URLタブを開く
  3. URL for extension’s git repositoryに以下のURLを入力
    https://github.com/Mikubill/sd-webui-controlnet.git
  4. Installをクリック
Extensions タブの Install from URL に ControlNet のリポジトリURLを入力した画面

Install実行後はInstalledタブからApply and restart UIをクリック。

Extensions の Installed タブにある Apply and restart UI ボタン

restart後、ControlNetのメニューが追加されていればインストールは完了です。

再起動後の txt2img 画面に追加された ControlNet のメニュー

ControlNet用モデルのダウンロード

ControlNetを使う際、専用のモデルが必要になります。

ダウンロードは下記サイトから。./models/ControlNetに配置します。

comfyanonymous/ControlNet-v1-1_fp16_safetensors at main
今回ダウンロードしたモデル

ControlNetによる構図・ポーズ抽出!

今回は「Canny」という手法のみ試します。

理由はディティールが必要になる「手」が含まれているからです。(ポーズの指定だけでは手が崩れてしまう…)

ControlNetのメニューを開き、Control TypeCannyを選択します。

Control Type で Canny を選び Preprocessor と Model が自動設定された状態

緑色の枠の所は自動で設定されるはず。

冒頭のサンプル画像をドロップまたは選択します。

ControlNet Unit 0 にサンプル画像を読み込み Enable にチェックを入れた画面

抽出ボタンをクリック。

Canny で抽出した輪郭のプレビュー

抽出できました。(細かッ!)

ControlNetメニュー内のEnableにチェックが入っていることを確認し、画像をGenerateします。

サンプルと同じポーズで生成されたイラスト

少し修正が必要であるものの、理想に限りなく近い画像を生成することが出来ました。

おまけ

Control Type を OpenPose に切り替えて骨格を抽出したプレビュー

再現度に関してはCannyが優秀。ただ融通が利かないとも言えます。

そんな時に便利なのがOpenPoseです。

OpenPose エディターで骨格の位置を編集している画面

表情の指定だけ抜いたり、ポーズの一部を解除したり。

生成する画像の大きさに合わせて、再配置も可能。

極めつけはjsonファイルとして出力でき、いつでも呼び出せること。

Cannyにも同じような機能、欲しいです。

最後に

ControlNetを入れると、プロンプトだけでは届かなかった構図・ポーズの指定が現実的になります。

輪郭をそのまま写したいならCanny、骨格だけ借りて調整したいならOpenPoseという使い分けでした。

生成した画像を仕上げる工程については、別の記事で扱っています。

生成した画像を高解像度にするには

以上です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA