Stable Diffusionの拡張機能『Depth map library and poser』の使い方!手や足を綺麗に生成しよう! | romptn Magazine

Stable Diffusionの拡張機能『Depth map library and poser』の使い方!手や足を綺麗に生成しよう!

Stable Diffusion

Stable Diffusionで人物絵を描く場合に良く問題になるのが手足の造形ですよね。

指が6本あったり、ありえない角度を向いていたりと、他は良いのにそのちょっとした部分で素晴らしい絵が台無しになったことはありませんか?

そんな人のためにこの記事では、手足を綺麗に生成する方法について紹介します。

※Stable Diffusionの立ち上げ方・使い方については、以下の記事で詳しく解説しています。

スポンサーリンク

拡張機能「Depth map library and poser」とは?

「Depth map library and poser」はControlNetを使用した拡張機能の一つです。

depthの機能を使用して、人の骨格を抽出した後に手や足などの部位をAIイラストで上書きすることで、その他の部位を変えずに手や足を修正できる拡張機能です。

Stable Diffusionの画像生成を最速で学びたいあなたへ!
  • Stable Diffusionの基礎を2時間でマスター!
  • 高スペックPCがない方向けに徹底解説。
  • ControlNetなど、必須級の拡張機能も網羅。
  • 今話題のSDXL、AI動画生成も。
  • 特典として、大人気「おすすめ拡張機能・モデル解説」「プロンプト大全」つき!
\このボタン限定!70%オフキャンペーン実施中!/
70%オフキャンペーン実施中!/

拡張機能「Depth map library and poser」の導入方法

「Depth map library and poser」はControlNetを使用していますが、すべてのVerで使用可能ではなく、Ver1.1以上での機能となっているので、自身のVerが1.1以上であることを確認してください

アップデートした時に、拡張機能が表示されてなかったり絵も出力できない状態の時はwebui.batのログを確認してください。

webui.batのログで「KeyError: ‘dataset’」と出ていた場合は「sd-webui-depth-lib」をExtensionから削除すると解決するかもしれません。

「Depth map library and poser」をインストールするために、「Extensions」タブからInstall from URLを開きます。

URL for extension’s git repositoryに下記のアドレスを張り付けて、Installボタンをクリックしてます。

https://github.com/jexom/sd-webui-depth-lib.git

次にInstalledで「Apply and restart UI」 ボタンをクリックして適用して再起動します。

念のため再起動後、一度Webとコマンドプロンプトを停止し、Stable Diffusion web UI自体を再起動させて下さい。

「Depth Library」というタブが追加されていれば、正常にインストールされた証拠です。

もし項目が出てきていないときは再起動ができておらず反映がされていないか、インストール途中でエラーになっている可能性がありますので、再起動とコマンドプロンプトの確認をしてください。

今回は「Depth map library and poser」についてのインストールを説明しましたが、Stable Diffusionでは高画質化や画像からのプロンプト抽出などいろいろあるので、気になった方は下記記事を見るときっとお役に立てるはずです。

プロンプトジェネレーターで画像生成プロンプトの参考に!
  • Stable Diffusionのプロンプトの見本が知りたい
  • 画像生成が思ったようにできない
  • 色々なプロンプトを探したい
など、画像生成AIのプロンプトに関する疑問が解決するかもしれません。

拡張機能「Depth map library and poser」の使い方

実際に使用して、手足をライブラリにある画像に変更してみましょう。

手足の変更

初めに今回使用する画像を生成していきます。

プロンプト

best quality, masterpiece, a GIRL, hand up

ネガティブプロンプト

worst quality, low quality

今回はあえて手足の造形がおかしいものを変更したいのでプロンプトに「hand up」を追加し、ネガティブプロンプトは品質の命令だけにします。

女の子の画像ですが、左手の形がおかしい少女が生成されました。

この少女の左手を変更していきたいと思います。

「Depth Library」というタブからAdd background imageをクリックして、先ほど生成した画像を選択します。

WidthとHeightは変更したい元の画像と同じサイズに設定してください。(今回は512×512で元の画像を生成したので、512×512で作成します。)

次にHandsタブから任意の手の画像を選びます。今回は「パー」の画像を選択します。

「パー」を選択すると、右のSelectedにその画像が表示されるので、Addボタンをクリックしてください。

左手の場所に合わせてサイズや向きをドラッグ&ドロップで合わせてください。この時厳密に合わせる必要はないです。

※左手⇒右手に変更したい時は、手の画像のどこかの青点をドラッグしたまま逆方向までもっていくと左右が変更されます。

変更したい場所に手を配置出来たら、「Save PNG」ボタンをクリックしてください。手の画像が保存されます。

手の画像が生成出来たら、img2imgで合成していきます。

初めに生成した画像を「PNG Info」タブで画像の情報を読み取り、「Send to Img2Img」で『Img2Img』に生成情報を送ります。

『Img2Img』のControlNetで「Enable」と「Pixel Perfect」にチェックを入れる。

「Preprocessor」はデフォルトのままで「none」、「Model」は「Depth」を使用しているため「control_v11f1p_sd15_depth」を選択します。

「Control Weight」には0.5前後の値にします。この値はControlNETの寄与度を決める値なので、デフォルトのままだと手の寄与度が強すぎて、手以外が人にならないような画像が生成される可能性があります。

設定が終わったら「generate」ボタンで画像を生成します。

髪飾りや目の色が少し変わりましたが、左手がパーになった画像が生成されました。

Multi ControlNetを使う方法

ControlNetのタブを見てみると、「ControlNet unit 0」「ControlNet unit 1」「ControlNet unit 2」というように複数タブがあり、ControlNetを重ねて使用することができます。

先ほど作った画像をさらに元の画像に寄せるため、Cannyを追加してみます。

「ControlNet unit 0」に「Canny」を追加し、「ControlNet unit 1」に先ほどの「Depth map library and poser」を追加します。

この時にControlNetの順番とControl Weightの値によって自身が求める画像になるように調整が必要です。

今回は「Canny」で線画を描いて、それを「Depth map library and poser」で書きかえています。

髪飾りが変わって先ほどよりも元の画像に近づきました。

ただしControlNetが2つになったので、ControlNet の順番とControl Weightの値によって画像が大きく変わるので注意が必要です。

まとめ

いかがでしたでしょうか?

「Depth map library and poser」を使用して手足を書き換える方法について解説してきました。

今回のポイントをまとめると、以下のようになります。

  • 「Depth map library and poser」を使うことで任意の手足を置き換えることができる
  • 「ControlNet」は複数使用することで、より精度の高い絵を作成することが可能

Stable Diffusionでは手を描くのが苦手で、指の数が多かったり指の向きが逆関節になっていたりと上手く出力されないことが多いですよね。

ですが、この記事を読んだ後は今まで以上に自分が思い描いた絵に近い絵を出力できているはず。

ぜひこの記事を参考に、Stable Diffusionでクオリティの高い絵をたくさん描いてみて下さい!

プロンプトジェネレーターで画像生成プロンプトの参考に!
  • Stable Diffusionのプロンプトの見本が知りたい
  • 画像生成が思ったようにできない
  • 色々なプロンプトを探したい
など、画像生成AIのプロンプトに関する疑問が解決するかもしれません。