cgdiff_lllite — キャラ差分生成 ControlNet-LLLite (SDXL / Illustrious)
ベース絵 1 枚 + danbooru タグ → 同一構図の差分(表情・体液・状態変化) を生成する SDXL 用 ControlNet-LLLite です。 ゲーム CG やキャラ立ち絵の「差分」を、構図・キャラデザインを固定したままタグ指定だけで量産できます。
- ベースモデル: wai Illustrious SDXL v170
- 学習系: kohya-ss/sd-scripts
sdxl_train_control_net_lllite.py - 条件画像 = 差分を出したいベース絵そのもの(前処理不要。canny 等への変換は不要)
サンプル: Vtuber 立ち絵の表情差分
ベース絵(左端)を条件に、プロンプトのタグだけ変えて生成した表情差分。キャラデザイン・衣装・構図が固定されたまま表情だけが変わる。
すべて同一 seed・同一プロンプト土台で、末尾の表情タグ(laughing / crying, tears / surprised / embarrassed, full-face blush / pout, puffed cheeks など)だけを差し替えています。
使い方 (sd-scripts)
python sdxl_gen_img.py \
--ckpt waiIllustriousSDXL_v170.safetensors \
--control_net_lllite_models cgdiff_lllite_v2-000004.safetensors \
--guide_image_path base.png \
--prompt "1girl, <キャラ・構図のタグ>, <差分タグ> --n worst quality, low quality, bad anatomy" \
--W 832 --H 1216 --steps 28 --scale 6 --sampler euler_a --sdpa --bf16
--guide_image_pathに差分を出したいベース絵を渡す- プロンプトには「ベース絵の内容を表すタグ + 変えたい差分のタグ」を書く
- ComfyUI では ControlNet-LLLite ローダー経由で同様に使用可能
効き(multiplier)の使い分け
--control_net_multipliers で条件の強さを変えると、出せる差分の範囲が変わります。
| multiplier | 構図維持 | 出せる差分 |
|---|---|---|
| 1.0(既定) | ほぼ完全 | 表情・涙・紅潮・体液・汗 |
| 0.8 | ほぼ完全 | + 衣服の軽い着崩し |
| 0.6 | 良好(微ドリフト) | + 着せ替え・人物追加などの構造変化 |
| 0.4 | 崩れる | 何でも出るが別カット化しやすい |
表情・状態差分は 1.0、構造を変える差分は 0.6 が目安です。
学習設定
| 項目 | 値 |
|---|---|
| 教師データ | CG 2,521 枚(527 シーン)から構築した同一シーンのベース/差分ペア 1,994 組 |
| ベース画像(条件入力) | 527 枚(各シーンの素の状態の 1 枚) |
| 差分ターゲット | 1,994 枚(同一シーンの表情・体液・状態違い。1 シーンあたり平均約 3.8 枚) |
| キャプション | wd-eva02-large-tagger-v3(threshold 0.35) |
| 解像度 | 768(bucket 512–1280) |
| network_dim / cond_emb_dim | 64 / 32 |
| optimizer / lr | AdamW 8bit / 2e-4 |
| 精度 | bf16 (full_bf16) |
| epoch | 4 |
学習データは「同一シーン・同一構図で表情や体液だけが違う」ペアが中心のため、その系統の差分が最も得意です。
制限
- 学習データに無い系統の構造変化(大幅なポーズ変更など)は multiplier を下げても出づらい
- ベース絵と大きく異なる解像度・アスペクト比では構図固定が弱まることがある
- Illustrious 系以外の SDXL モデルとの組み合わせは未検証
Model tree for swdq/cgdiff_lllite
Base model
KBlueLeaf/kohaku-xl-beta5





