| --- |
| 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 立ち絵の表情差分 |
| |
| ベース絵(左端)を条件に、プロンプトのタグだけ変えて生成した表情差分。キャラデザイン・衣装・構図が固定されたまま表情だけが変わる。 |
| |
| | ベース | 笑い | 泣き | 驚き | |
| |---|---|---|---| |
| |  |  |  |  | |
| |
| | 照れ | むくれ | 微笑 | |
| |---|---|---| |
| |  |  |  | |
| |
| すべて同一 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 モデルとの組み合わせは未検証 |
| |