見出し画像

【理解してる?】Control Net総当たりしてみたよ

こんにちは、理解してないのは私です。
今回はいつものファッション系ではなく、自学習メモの技術系の投稿となります。

表題の通りControlNetの総当たり比較となるのですが

  • 「知ってるようで知らない、使えているようで使いこなせていない」

  • 「そもそも組合せって1つ2つくらいしか使ってないけど他って実際どうなのよ?」

そんなモヤモヤから始まった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

  • T-shirt, white long pants, white sneakers,

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,他はデフォルト

  • Enable: True,

  • weight: 1,

  • starting/ending: (0, 1),

  • resize mode: Crop and Resize,

  • pixel perfect: True,

  • control mode: Balanced,

Base image

all white clothes

CN set image(背景透過)

black text、3D yellow star、transparent background


検証結果

時間ないよ!って方用に一覧画像から。
その後詳細画像、まとめ、おまけとなります。
※ X軸:モデル、Y軸:プリプロセッサー


元画像を以下に列挙しますが、AI生成故見るに堪えないものもあることをお含みおきください。

詳細画像

モデル:hed

hed/キャニー法
hed/深度
hed/深度(LeRes)
hed/depth_leres++
hed/hed
hed/hed_safe
hed/mediapipe_face
hed/mlsd
hed/normal_map
hed/openpose
hed/openpose_hand
hed/openpose_face
hed/openpose_faceonly
hed/openpose_full
hed/color
hed/pidinet
hed/pidinet_safe
hed/pidinet_sketch
hed/pidinet_scribble
hed/scribble_xdog
hed/scribble_hed
hed/segmentation
hed/しきい値
hed/oneformer_coco
hed/oneformer_ade20k
hed/lineart
hed/lineart_coarse
hed/lineart_anime
hed/lineart_standard
hed/shuffle
hed/tile_resample
hed/invert
hed/lineart_anime_denoise
hed/reference_only
hed/reference_adain
hed/reference_adain+attn
hed/Inpaint

モデル:seg

seg/キャニー法
seg/深度
seg/深度(LeRes)
seg/depth_leres++
seg/hed
seg/hed_safe
seg/mediapipe_face
seg/mlsd
seg/normal_map
seg/openpose
seg/openpose_hand
seg/openpose_face
seg/openpose_faceonly
seg/openpose_full
seg/color
seg/pidinet
seg/pidinet_safe
seg/pidinet_sketch
seg/pidinet_scribble
seg/scribble_xdog
seg/scribble_hed
seg/segmentation
seg/しきい値
seg/oneformer_coco
seg/oneformer_ade20k
seg/lineart
seg/lineart_coarse
seg/lineart_anime
seg/lineart_standard
seg/shuffle
seg/tile_resample
seg/invert
seg/lineart_anime_denoise
seg/reference_only
seg/reference_adain
seg/reference_adain+attn
seg/Inpaint

モデル:ip2p

ip2p/キャニー法
ip2p/深度
ip2p/深度(LeRes)
ip2p/depth_leres++
ip2p/hed
ip2p/hed_safe
ip2p/mediapipe_face
ip2p/mlsd
ip2p/normal_map
ip2p/openpose
ip2p/openpose_hand
ip2p/openpose_face
ip2p/openpose_faceonly
ip2p/openpose_full
ip2p/color
ip2p/pidinet
ip2p/pidinet_safe
ip2p/pidinet_sketch
ip2p/pidinet_scribble
ip2p/scribble_xdog
ip2p/scribble_hed
ip2p/segmentation
ip2p/しきい値
ip2p/oneformer_coco
ip2p/oneformer_ade20k
ip2p/lineart
ip2p/lineart_coarse
ip2p/lineart_anime
ip2p/lineart_standard
ip2p/shuffle
ip2p/tile_resample
ip2p/invert
ip2p/lineart_anime_denoise
ip2p/reference_only
ip2p/reference_adain
ip2p/reference_adain+attn
ip2p/Inpaint

モデル:shuffle

shuffle/キャニー法
shuffle/深度
shuffle/深度(LeRes)
shuffle/depth_leres++
shuffle/hed
shuffle/hed_safe
shuffle/mediapipe_face
shuffle/mlsd
shuffle/normal_map
shuffle/openpose
shuffle/openpose_hand
shuffle/openpose_face
shuffle/openpose_faceonly
shuffle/openpose_full
shuffle/color
shuffle/pidinet
shuffle/pidinet_safe
shuffle/pidinet_sketch
shuffle/pidinet_scribble
shuffle/scribble_xdog
shuffle/scribble_hed
shuffle/segmentation
shuffle/しきい値
shuffle/oneformer_coco
shuffle/oneformer_ade20k
shuffle/lineart
shuffle/lineart_coarse
shuffle/lineart_anime
shuffle/lineart_standard
shuffle/shuffle
shuffle/tile_resample
shuffle/invert
shuffle/lineart_anime_denoise
shuffle/reference_only
shuffle/reference_adain
shuffle/reference_adain+attn
shuffle/Inpaint

モデル:tile

tile/キャニー法
tile/深度
tile/深度(LeRes)
tile/depth_leres++
tile/hed
tile/hed_safe
tile/mediapipe_face
tile/mlsd
tile/normal_map
tile/openpose
tile/openpose_hand
tile/openpose_face
tile/openpose_faceonly
tile/openpose_full
tile/color
tile/pidinet
tile/pidinet_safe
tile/pidinet_sketch
tile/pidinet_scribble
tile/scribble_xdog
tile/scribble_hed
tile/segmentation
tile/しきい値
tile/oneformer_coco
tile/oneformer_ade20k
tile/lineart
tile/lineart_coarse
tile/lineart_anime
tile/lineart_standard
tile/shuffle
tile/tile_resample
tile/invert
tile/lineart_anime_denoise
tile/reference_only
tile/reference_adain
tile/reference_adain+attn
tile/Inpaint

モデル:depth

depth/キャニー法
depth/深度
depth/深度(LeRes)
depth/depth_leres++
depth/hed
depth/hed_safe
depth/mediapipe_face
depth/mlsd
depth/normal_map
depth/openpose
depth/openpose_hand
depth/openpose_face
depth/openpose_faceonly
depth/openpose_full
depth/color
depth/pidinet
depth/pidinet_safe
depth/pidinet_sketch
depth/pidinet_scribble
depth/scribble_xdog
depth/scribble_hed
depth/segmentation
depth/しきい値
depth/oneformer_coco
depth/oneformer_ade20k
depth/lineart
depth/lineart_coarse
depth/lineart_anime
depth/lineart_standard
depth/shuffle
depth/tile_resample
depth/invert
depth/lineart_anime_denoise
depth/reference_only
depth/reference_adain
depth/reference_adain+attn
depth/Inpaint

モデル:canny

canny/キャニー法
canny/深度
canny/深度(LeRes)
canny/depth_leres++
canny/hed
canny/hed_safe
canny/mediapipe_face
canny/mlsd
canny/normal_map
canny/openpose
canny/openpose_hand
canny/openpose_face
canny/openpose_faceonly
canny/openpose_full
canny/color
canny/pidinet
canny/pidinet_safe
canny/pidinet_sketch
canny/pidinet_scribble
canny/scribble_xdog
canny/scribble_hed
canny/segmentation
canny/しきい値
canny/oneformer_coco
canny/oneformer_ade20k
canny/lineart
canny/lineart_coarse
canny/lineart_anime
canny/lineart_standard
canny/shuffle
canny/tile_resample
canny/invert
canny/lineart_anime_denoise
canny/reference_only
canny/reference_adain
canny/reference_adain+attn
canny/Inpaint

モデル:inpaint

inpaint/キャニー法
inpaint/深度
inpaint/深度(LeRes)
inpaint/depth_leres++
inpaint/hed
inpaint/hed_safe
inpaint/mediapipe_face
inpaint/mlsd
inpaint/normal_map
inpaint/openpose
inpaint/openpose_hand
inpaint/openpose_face
inpaint/openpose_faceonly
inpaint/openpose_full
inpaint/color
inpaint/pidinet
inpaint/pidinet_safe
inpaint/pidinet_sketch
inpaint/pidinet_scribble
inpaint/scribble_xdog
inpaint/scribble_hed
inpaint/segmentation
inpaint/しきい値
inpaint/oneformer_coco
inpaint/oneformer_ade20k
inpaint/lineart
inpaint/lineart_coarse
inpaint/lineart_anime
inpaint/lineart_standard
inpaint/shuffle
inpaint/tile_resample
inpaint/invert
inpaint/lineart_anime_denoise
inpaint/reference_only
inpaint/reference_adain
inpaint/reference_adain+attn
inpaint/Inpaint

モデル:linart

lineart/キャニー法
lineart/深度
lineart/深度(LeRes)
lineart/depth_leres++
lineart/hed
lineart/hed_safe
lineart/mediapipe_face
lineart/mlsd
lineart/normal_map
lineart/openpose
lineart/openpose_hand
lineart/openpose_face
lineart/openpose_faceonly
lineart/openpose_full
lineart/color
lineart/pidinet
lineart/pidinet_safe
lineart/pidinet_sketch
lineart/pidinet_scribble
lineart/scribble_xdog
lineart/scribble_hed
lineart/segmentation
lineart/しきい値
lineart/oneformer_coco
lineart/oneformer_ade20k
lineart/lineart
lineart/lineart_coarse
lineart/lineart_anime
lineart/lineart_standard
lineart/shuffle
lineart/tile_resample
lineart/invert
lineart/lineart_anime_denoise
lineart/reference_only
lineart/reference_adain
lineart/reference_adain+attn
lineart/Inpaint

モデル:mlsd

mlsd/キャニー法
mlsd/深度
mlsd/深度(LeRes)
mlsd/depth_leres++
mlsd/hed
mlsd/hed_safe
mlsd/mediapipe_face
mlsd/mlsd
mlsd/normal_map
mlsd/openpose
mlsd/openpose_hand
mlsd/openpose_face
mlsd/openpose_faceonly
mlsd/openpose_full
mlsd/color
mlsd/pidinet
mlsd/pidinet_safe
mlsd/pidinet_sketch
mlsd/pidinet_scribble
mlsd/scribble_xdog
mlsd/scribble_hed
mlsd/segmentation
mlsd/しきい値
mlsd/oneformer_coco
mlsd/oneformer_ade20k
mlsd/lineart
mlsd/lineart_coarse
mlsd/lineart_anime
mlsd/lineart_standard
mlsd/shuffle
mlsd/tile_resample
mlsd/invert
mlsd/lineart_anime_denoise
mlsd/reference_only
mlsd/reference_adain
mlsd/reference_adain+attn
mlsd/Inpaint

モデル:normalbae

normalbae/キャニー法
normalbae/深度
normalbae/深度(LeRes)
normalbae/depth_leres++
normalbae/hed
normalbae/hed_safe
normalbae/mediapipe_face
normalbae/mlsd
normalbae/normal_map
normalbae/openpose
normalbae/openpose_hand
normalbae/openpose_face
normalbae/openpose_faceonly
normalbae/openpose_full
normalbae/color
normalbae/pidinet
normalbae/pidinet_safe
normalbae/pidinet_sketch
normalbae/pidinet_scribble
normalbae/scribble_xdog
normalbae/scribble_hed
normalbae/segmentation
normalbae/しきい値
normalbae/oneformer_coco
normalbae/oneformer_ade20k
normalbae/lineart
normalbae/lineart_coarse
normalbae/lineart_anime
normalbae/lineart_standard
normalbae/shuffle
normalbae/tile_resample
normalbae/invert
normalbae/lineart_anime_denoise
normalbae/reference_only
normalbae/reference_adain
normalbae/reference_adain+attn
normalbae/Inpaint

モデル:openpose

※当セクション閲覧注意

openpose/キャニー法
openpose/深度
openpose/深度(LeRes)
openpose/depth_leres++
openpose/hed
openpose/hed_safe
openpose/mediapipe_face
openpose/mlsd
openpose/normal_map
openpose/openpose
openpose/openpose_hand
openpose/openpose_face
openpose/openpose_faceonly
openpose/openpose_full
openpose/color
openpose/pidinet
openpose/pidinet_safe
openpose/pidinet_sketch
openpose/pidinet_scribble
openpose/scribble_xdog
openpose/scribble_hed
openpose/segmentation
openpose/しきい値
openpose/oneformer_coco
openpose/oneformer_ade20k
openpose/lineart
openpose/lineart_coarse
openpose/lineart_anime
openpose/lineart_standard
openpose/shuffle
openpose/tile_resample
openpose/invert
openpose/lineart_anime_denoise
openpose/reference_only
openpose/reference_adain
openpose/reference_adain+attn
openpose/Inpaint

モデル:scribble

scribble/キャニー法
scribble/深度
scribble/深度(LeRes)
scribble/depth_leres++
scribble/hed
scribble/hed_safe
scribble/mediapipe_face
scribble/mlsd
scribble/normal_map
scribble/openpose
scribble/openpose_hand
scribble/openpose_face
scribble/openpose_faceonly
scribble/openpose_full
scribble/color
scribble/pidinet
scribble/pidinet_safe
scribble/pidinet_sketch
scribble/pidinet_scribble
scribble/scribble_xdog
scribble/scribble_hed
scribble/segmentation
scribble/しきい値
scribble/oneformer_coco
scribble/oneformer_ade20k
scribble/lineart
scribble/lineart_coarse
scribble/lineart_anime
scribble/lineart_standard
scribble/shuffle
scribble/tile_resample
scribble/invert
scribble/lineart_anime_denoise
scribble/reference_only
scribble/reference_adain
scribble/reference_adain+attn
scribble/Inpaint

モデル:seg

seg/キャニー法
seg/深度
seg/深度(LeRes)
seg/depth_leres++
seg/hed
seg/hed_safe
seg/mediapipe_face
seg/mlsd
seg/normal_map
seg/openpose
seg/openpose_hand
seg/openpose_face
seg/openpose_faceonly
seg/openpose_full
seg/color
seg/pidinet
seg/pidinet_safe
seg/pidinet_sketch
seg/pidinet_scribble
seg/scribble_xdog
seg/scribble_hed
seg/segmentation
seg/しきい値
seg/oneformer_coco
seg/oneformer_ade20k
seg/lineart
seg/lineart_coarse
seg/lineart_anime
seg/lineart_standard
seg/shuffle
seg/tile_resample
seg/invert
seg/lineart_anime_denoise
seg/reference_only
seg/reference_adain
seg/reference_adain+attn
seg/Inpaint

モデル:softedge

softedge/キャニー法
softedge/深度
softedge/深度(LeRes)
softedge/depth_leres++
softedge/hed
softedge/hed_safe
softedge/mediapipe_face
softedge/mlsd
softedge/normal_map
softedge/openpose
softedge/openpose_hand
softedge/openpose_face
softedge/openpose_faceonly
softedge/openpose_full
softedge/color
softedge/pidinet
softedge/pidinet_safe
softedge/pidinet_sketch
softedge/pidinet_scribble
softedge/scribble_xdog
softedge/scribble_hed
softedge/segmentation
softedge/しきい値
softedge/oneformer_coco
softedge/oneformer_ade20k
softedge/lineart
softedge/lineart_coarse
softedge/lineart_anime
softedge/lineart_standard
softedge/shuffle
softedge/tile_resample
softedge/invert
softedge/lineart_anime_denoise
softedge/reference_only
softedge/reference_adain
softedge/reference_adain+attn
softedge/Inpaint

モデル:lineart_anime

lineart_anime/キャニー法
lineart_anime/深度
lineart_anime/深度(LeRes)
lineart_anime/depth_leres++
lineart_anime/hed
lineart_anime/hed_safe
lineart_anime/mediapipe_face
lineart_anime/mlsd
lineart_anime/normal_map
lineart_anime/openpose
lineart_anime/openpose_hand
lineart_anime/openpose_face
lineart_anime/openpose_faceonly
lineart_anime/openpose_full
lineart_anime/color
lineart_anime/pidinet
lineart_anime/pidinet_safe
lineart_anime/pidinet_sketch
lineart_anime/pidinet_scribble
lineart_anime/scribble_xdog
lineart_anime/scribble_hed
lineart_anime/segmentation
lineart_anime/しきい値
lineart_anime/oneformer_coco
lineart_anime/oneformer_ade20k
lineart_anime/lineart
lineart_anime/lineart_coarse
lineart_anime/lineart_anime
lineart_anime/lineart_standard
lineart_anime/shuffle
lineart_anime/tile_resample
lineart_anime/invert
lineart_anime/lineart_anime_denoise
lineart_anime/reference_only
lineart_anime/reference_adain
lineart_anime/reference_adain+attn
lineart_anime/Inpaint

モデル:mediapipe_face

※当セクション閲覧注意

mediapipe_face/キャニー法
mediapipe_face/深度
mediapipe_face/深度(LeRes)
mediapipe_face/depth_leres++
mediapipe_face/hed
mediapipe_face/hed_safe
mediapipe_face/mediapipe_face
mediapipe_face/mlsd
mediapipe_face/normal_map
mediapipe_face/openpose
mediapipe_face/openpose_hand
mediapipe_face/openpose_face
mediapipe_face/openpose_faceonly
mediapipe_face/openpose_full
mediapipe_face/color
mediapipe_face/pidinet
mediapipe_face/pidinet_safe
mediapipe_face/pidinet_sketch
mediapipe_face/pidinet_scribble
mediapipe_face/scribble_xdog
mediapipe_face/scribble_hed
mediapipe_face/segmentation
mediapipe_face/しきい値
mediapipe_face/oneformer_coco
mediapipe_face/oneformer_ade20k
mediapipe_face/lineart
mediapipe_face/lineart_coarse
mediapipe_face/lineart_anime
mediapipe_face/lineart_standard
mediapipe_face/shuffle
mediapipe_face/tile_resample
mediapipe_face/invert
mediapipe_face/lineart_anime_denoise
mediapipe_face/reference_only
mediapipe_face/reference_adain
mediapipe_face/reference_adain+attn
mediapipe_face/Inpaint

モデル:temporalnet

temporalnet/キャニー法
temporalnet/深度
temporalnet/深度(LeRes)
temporalnet/depth_leres++
temporalnet/hed
temporalnet/hed_safe
temporalnet/mediapipe_face
temporalnet/mlsd
temporalnet/normal_map
temporalnet/openpose
temporalnet/openpose_hand
temporalnet/openpose_face
temporalnet/openpose_faceonly
temporalnet/openpose_full
temporalnet/color
temporalnet/pidinet
temporalnet/pidinet_safe
temporalnet/pidinet_sketch
temporalnet/pidinet_scribble
temporalnet/scribble_xdog
temporalnet/scribble_hed
temporalnet/segmentation
temporalnet/しきい値
temporalnet/oneformer_coco
temporalnet/oneformer_ade20k
temporalnet/lineart
temporalnet/lineart_coarse
temporalnet/lineart_anime
temporalnet/lineart_standard
temporalnet/shuffle
temporalnet/tile_resample
temporalnet/invert
temporalnet/lineart_anime_denoise
temporalnet/reference_only
temporalnet/reference_adain
temporalnet/reference_adain+attn
temporalnet/Inpaint

まとめ

CNにセットする画像通りを期待した定番モデル以外でも意外と影響があることが判明しました。
(もちろんweightを変更することで調整はできますが、あくまでも調整であり影響度を薄れさせることが出来るだけです。)

ベース画像への影響

ほぼ全てにおいて人物の描画はなされていますが、下記項目に影響があるようです。

  • 人物 いる/いない

  • 人物シェイプ変化 あり/なし

  • 衣装変化 あり/なし

  • 背景変化 あり/なし

CNセット画像の影響

テキストは人物のポーズ、衣装、背景への影響度はかなり低い印象です。
逆にオブジェ(今回の場合は星)の影響はかなり大きく、ほとんどの組み合わせで人物のポーズ、衣装、背景へ影響することが分かり、逆に下記のプリプロセッサーとモデルの組み合わせではあまり影響がないことが判明しました。

プリプロ

  • mediapipe_face

  • mlsd

  • normal_map

  • oneformer系

  • openpose系

  • reference系

モデル

  • shuffle

  • openpose

  • medeiapipe_face

これは顔の表情やボーンに必要な要素がCNセット画像にない事や、そもそも考慮しない等あるかと思います。

私自身アイデアによってはCNを多重に組み合わせて使用する機会もあるので、良い勉強になりました。
この記事があなたのクリエイティブの一助になれば幸いです。

ここまでお読みいただきありがとうございます。

次回はファッションカタログを出す予定なのでお楽しみに!

愛音

【おまけ】

個人的に面白かったものです。

浮いてる浮いてるw
映画のポスターっぽくて好き
ホワイトアウト寸前
トルソー出てきたw
これは何棚だ?

追記: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.


最後までお読み頂きありがとうございます。 よろしければサポートをお願いします。 頂いたサポートは今後の活動費として使わせていただきます! 愛音