はじめに
前回ControlNetのcanny2imageにおけるCanny法によるエッジ検出の設定について書きました。touch-sp.hatenablog.com
実際に結果がどう変わるかをAnything-V4を使って検証しました。
テーマは「手」をきれいに出力することです。
元画像

元画像はぱくたそから使わせて頂きました。
こちらの画像です。
結果
生成画像のサイズは768x768です。一番右の画像は生成画像から手の部分を切り取って拡大したものです。threshold1=25
threshold1=25 threshold2=25

threshold1=25 threshold2=50

threshold1=25 threshold2=100

threshold1=25 threshold2=150

threshold1=25 threshold2=200

threshold1=25 threshold2=250

threshold1=50
threshold1=50 threshold2=50

threshold1=50 threshold2=100

threshold1=50 threshold2=150

threshold1=50 threshold2=200

threshold1=50 threshold2=250

threshold1=100
threshold1=100 threshold2=100

threshold1=100 threshold2=150

threshold1=100 threshold2=200 (こちらがデフォルトです)

threshold1=100 threshold2=250

threshold1=150
threshold1=150 threshold2=150

threshold1=150 threshold2=200

threshold1=150 threshold2=250

threshold1=200
threshold1=200 threshold2=200

threshold1=200 threshold2=250

threshold1=250
threshold1=250 threshold2=250

感想
適切な値は元画像によって異なると思います。今回の場合はデフォルトのままだと全然ダメでした。ControlNetのcanny2imageでは手がきれいに描画されるようにpromptをいろいろいじるよりもエッジ検出にこだわった方が簡単ですしうまくいくと思います。今回やったこと
こちらのスクリプトを使用しました。→「canny2image.py」python canny2image.py ^ --model model\anything-v4.0 ^ --vae vae\anime2_vae ^ --prompt prompt.txt ^ --image sample.jpg
注意点
こちらのモデルを「controlnet」フォルダ内にダウンロード済みです。Anything-v4.0を「model」フォルダ内にダウンロード済みです。
Anything-v4.0用のVAEを「vae」ファルダ内に作成済みです。
(作成方法はこちらを参照して下さい。)