--- base_model: LyliaEngine/waiIllustriousSDXL_v170 pipeline_tag: image-to-image tags: - stable-diffusion-xl - controlnet-lllite - anime - illustrious - character-consistency - expression-diff language: - ja --- # cgdiff_lllite — キャラ差分生成 ControlNet-LLLite (SDXL / Illustrious) **ベース絵 1 枚 + danbooru タグ → 同一構図の差分(表情・体液・状態変化)** を生成する SDXL 用 ControlNet-LLLite です。 ゲーム CG やキャラ立ち絵の「差分」を、構図・キャラデザインを固定したままタグ指定だけで量産できます。 - ベースモデル: [wai Illustrious SDXL v170](https://huggingface.co/LyliaEngine/waiIllustriousSDXL_v170) - 学習系: [kohya-ss/sd-scripts](https://github.com/kohya-ss/sd-scripts) `sdxl_train_control_net_lllite.py` - 条件画像 = 差分を出したいベース絵そのもの(前処理不要。canny 等への変換は不要) ## サンプル: Vtuber 立ち絵の表情差分 ベース絵(左端)を条件に、プロンプトのタグだけ変えて生成した表情差分。キャラデザイン・衣装・構図が固定されたまま表情だけが変わる。 | ベース | 笑い | 泣き | 驚き | |---|---|---|---| | ![base](samples/base.png) | ![laugh](samples/laugh.png) | ![cry](samples/cry.png) | ![surprised](samples/surprised.png) | | 照れ | むくれ | 微笑 | |---|---|---| | ![embarrassed](samples/embarrassed.png) | ![pout](samples/pout.png) | ![smile](samples/smile.png) | すべて同一 seed・同一プロンプト土台で、末尾の表情タグ(`laughing` / `crying, tears` / `surprised` / `embarrassed, full-face blush` / `pout, puffed cheeks` など)だけを差し替えています。 ## 使い方 (sd-scripts) ```bash 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 モデルとの組み合わせは未検証