ControlNet に Counterfeit-V2.5 や Healy's Anime Blend や Anything-V4 を組み合わせてみる

最終更新日:2023年3月13日

元画像


元画像はぱくたそから使わせて頂きました。
こちらの画像です。

Counterfeit-V2.5

結果

canny2image 1024x1024

手をきれいに出力するために1024x1024で作成しています。

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

a beautiful girl wearing high neck sweater


python canny2image.py ^
  --model model\Counterfeit-V2.5 ^
  --vae vae\counterfeit_vae ^
  --prompt prompt.txt ^
  --image canny_results\50_50.png ^
  --from_canny ^
  --n_samples 10

詳細は後述します。





scribble2image 768x768

Healy's Anime Blend

結果

canny2image 1024x1024

手をきれいに出力するために1024x1024で作成しています。

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

a beautiful girl wearing high neck sweater


python canny2image.py ^
  --model model\anime-blend ^
  --vae vae\anime2_vae ^
  --prompt prompt.txt ^
  --image canny_results\50_50.png ^
  --from_canny ^
  --n_samples 10

詳細は後述します。





scribble2image 768x768




VAEはこちらからダウンロードした「kl-f8-anime2.ckpt」を使用しました。

Anything-V4

結果

canny2image 1024x1024

手をきれいに出力するために1024x1024で作成しています。

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

a beautiful girl wearing high neck sweater


python canny2image.py ^
  --model model\anything-v4.0 ^
  --vae vae\any4_vae ^
  --prompt prompt.txt ^
  --image canny_results\50_50.png ^
  --from_canny ^
  --n_samples 10

詳細は後述します。





scribble2image 768x768




VAEはこちらからダウンロードした「anything-v4.0.vae.pt」を使用しました。

方法の詳細

Diffusersの「StableDiffusionControlNetPipeline」を使わせて頂きました。
github.com

Pythonスクリプト

canny2image

canny2imageのために自分が書いたPythonスクリプトはこちらです。
→「cv2_canny.py」と「canny2image

あらかじめAnything-v4.0などのモデルをローカルにダウンロードしています。
vaeも変換済みです。
こちらから「sd-controlnet-canny」をダウンロードして「controlnet」フォルダに保存済みです。

以下の方法で複数枚のcanny画像と結果が作成されます。

python canny2image.py ^
  --model model\anything-v4.0 ^
  --vae vae\any4_vae ^
  --prompt prompt.txt ^
  --image sample.jpg 



良さそうな結果を選択して、次にそれの元画像(canny画像)を指定して再度「canny2image.py」を実行します。
その際に「--from_canny」を付けます。

python canny2image.py ^
  --model model\Counterfeit-V2.5 ^
  --vae vae\counterfeit_vae ^
  --prompt prompt.txt ^
  --image canny_results\50_50.png ^
  --from_canny ^
  --n_samples 10

これでいっきに10枚の画像が作成されます。

VAEは前回紹介した方法で作成(変換)しました。
touch-sp.hatenablog.com

scribble2image

scribble2imageのために自分が書いたPythonスクリプトはこちらです。
→「scribble2image

その他

様々なサイトを見るとOpenPoseを使ったpose2imageの方が今回使ったcanny2imageやscribble2imageよりよく使われている印象です。

しかし、pose2imageでは手の再現はできません。

一長一短といったところでしょうか。

関連記事

touch-sp.hatenablog.com
touch-sp.hatenablog.com

追記

Multi-ControlNetを使った記事を新たに書きました。
touch-sp.hatenablog.com