【Diffusers】Multi-ControlNetでスマホを持つ手をきれいに描く

はじめに

以前からControlNetを使って手をきれいに描画することに挑戦してきました。
touch-sp.hatenablog.com
touch-sp.hatenablog.com


何かを持つ手はさらに難易度が高いとのことで今回はそれに挑戦しました。

「スマホを持つ手」をきれいに描画することが今回の目標です。

元画像


ぱくたそから使わせて頂きました。
こちらの画像になります。

結果






方法

3つのControlNetを組み合わせました。

canny2imageとscribble2imageをいろいろ試してどれが一番手をきれいに描画できるか、どれが一番服をきれいに描画できるかなど調べた結果3つのControlNetを組み合わせる方法に行きつきました。

canny2imageをいろいろ試す方法はこちら

scribble2imageをいろいろ試す方法はこちら

画像の準備

まずは3つの画像を用意します。

canny.png


scribble1.png


scribble2.png


スクリプトの実行

こちらの「multi_controlnet.py」を使用しました。

python multi_controlnet.py ^
  --controlnet controlnet\sd-controlnet-canny controlnet\sd-controlnet-scribble controlnet\sd-controlnet-scribble ^
  --image canny.png scribble1.png scribble2.png ^
  --model model\anything-v4.0 ^
  --vae vae\anime2_vae ^
  --prompt prompt.txt ^
  --n_samples 20



以下を記入した「prompt.txt」というテキストファイルを用意してスクリプトから読み込んでいます。

a beautiful girl, smart phone