こんにちは、理解してないのは私です。
今回はいつものファッション系ではなく、自学習メモの技術系の投稿となります。
表題の通りControlNetの総当たり比較となるのですが
そんなモヤモヤから始まった666パターン試す地獄です。
CNにセットされる画像の、ベース画像への影響度実験を行ってみました。
※X/Y/Zで使用可能な物のみなので、通常のCNとは少々異なります。
※また使用するモデルによって結果は変わります。
対象となるCNのプリプロとモデル
37 preprocessors
キャニー法
深度
深度(LeRes)
depth_leres++
hed
hed_safe
mediapipe_face
mlsd
normal_map
openpose
openpose_hand
openpose_face
openpose_faceonly
openpose_full
color
pidinet
pidinet_safe
pidinet_sketch
pidinet_scribble
scribble_xdog
scribble_hed
segmentation
しきい値
oneformer_coco
oneformer_ade20k
lineart
lineart_coarse
lineart_anime
lineart_standard
shuffle
tile_resample
invert
lineart_anime_denoise
reference_only
reference_adain
reference_adain+attn
Inpaint
※手持ちのグラボRTX3080TiはVRAMが12GBなので、メモリオーバーフローしたCNのプリプロ(depth_zoe,open_bae,clipvision)に関しては未検証となります。
18 models
control_sd15_hed [fef5e48e]
control_seg-fp16 [b9c1cc12]
control_v11e_sd15_ip2p [c4bb465c]
control_v11e_sd15_shuffle [526bfdae]
control_v11f1e_sd15_tile [a371b31b]
control_v11f1p_sd15_depth [cfd03158]
control_v11p_sd15_canny [d14c016b]
control_v11p_sd15_inpaint [ebff9138]
control_v11p_sd15_lineart [43d4be0d]
control_v11p_sd15_mlsd [aca30ff0]
control_v11p_sd15_normalbae [316696f1]
control_v11p_sd15_openpose [cab727d4]
control_v11p_sd15_scribble [d4ba51ff]
control_v11p_sd15_seg [e1f51eb9]
control_v11p_sd15_softedge [a8575a2a]
control_v11p_sd15s2_lineart_anime [3825e83e]
control_v2p_sd15_mediapipe_face [9c7784a9]
diff_control_sd15_temporalnet_fp16 [adc6bd97]
【Base settings】
parameters
Negative prompts
(worst quality:2), (undressing:1.6), (manicure:1.2), [:(badhandv4:0.8):20], EasyNegative, ng_deepnegative_v1_75t,
General
Steps: 40,
Sampler: UniPC,
CFG scale: 11,
Seed: 3403044917,
Denoising strength: 0.5,
Clip skip: 2
ControlNet
pixel perfectだけON,他はデフォルト
Base image
CN set image(背景透過)
検証結果
時間ないよ!って方用に一覧画像から。
その後詳細画像、まとめ、おまけとなります。
※ X軸:モデル、Y軸:プリプロセッサー
元画像を以下に列挙しますが、AI生成故見るに堪えないものもあることをお含みおきください。
詳細画像
モデル:hed
モデル:seg
モデル:ip2p
モデル:shuffle
モデル:tile
モデル:depth
モデル:canny
モデル:inpaint
モデル:linart
モデル:mlsd
モデル:normalbae
モデル:openpose
※当セクション閲覧注意
モデル:scribble
モデル:seg
モデル:softedge
モデル:lineart_anime
モデル:mediapipe_face
※当セクション閲覧注意
モデル:temporalnet
まとめ
CNにセットする画像通りを期待した定番モデル以外でも意外と影響があることが判明しました。
(もちろんweightを変更することで調整はできますが、あくまでも調整であり影響度を薄れさせることが出来るだけです。)
ベース画像への影響
ほぼ全てにおいて人物の描画はなされていますが、下記項目に影響があるようです。
人物 いる/いない
人物シェイプ変化 あり/なし
衣装変化 あり/なし
背景変化 あり/なし
CNセット画像の影響
テキストは人物のポーズ、衣装、背景への影響度はかなり低い印象です。
逆にオブジェ(今回の場合は星)の影響はかなり大きく、ほとんどの組み合わせで人物のポーズ、衣装、背景へ影響することが分かり、逆に下記のプリプロセッサーとモデルの組み合わせではあまり影響がないことが判明しました。
プリプロ
mediapipe_face
mlsd
normal_map
oneformer系
openpose系
reference系
モデル
shuffle
openpose
medeiapipe_face
これは顔の表情やボーンに必要な要素がCNセット画像にない事や、そもそも考慮しない等あるかと思います。
私自身アイデアによってはCNを多重に組み合わせて使用する機会もあるので、良い勉強になりました。
この記事があなたのクリエイティブの一助になれば幸いです。
ここまでお読みいただきありがとうございます。
次回はファッションカタログを出す予定なのでお楽しみに!
愛音
【おまけ】
個人的に面白かったものです。
追記:5/28
AUTOMATIC1111のアップデートがありver.1.3にてプリプロにtile_colorfix及びtile_colorfix+sharpが追加されたので検証しました。
プリプロ:tile_colorfix
X軸:プリプロ、Y軸:モデル
プリプロ:tile_colorfix+sharp
こちらに関しては手元のPCでは下記エラーが発生しているため、改善次第更新します。(githubでも同じ報告がされていました)
ValueError: ControlNet failed to use VAE. Please try to add --no-half-vae, --no-halfand remove--precision full in launch cmd.