見出し画像

【2026年最新】誰でもできる!自分だけの「LoRA」の作り方完全ガイド Illustrious編 ── 水着LoRAの作り方


画像生成AIで「思い通りの水着キャラ」を生成したいなら、LoRAを自作するのが最短ルートです。このガイドではIllustrious XLモデルに特化した水着LoRAを、初心者でも再現できるよう丁寧に解説します。

はじめに ── なぜIllustrious×水着LoRAなのか?

画像生成AIの世界では、モデルの進化とともに「LoRA(Low-Rank Adaptation)」の重要性がますます高まっています。特にIllustrious XLはアニメ・イラスト系のモデルとして2024年後半から急速に普及し、2026年現在では多くのクリエイターが愛用するベースモデルとなっています。

水着キャラクターのLoRAは生成AIでよく作られる題材のひとつですが、素材の多様性(デザイン・体型・ポーズ・背景)が求められるため、適当に学習させると破綻しやすいジャンルでもあります。このガイドでは「破綻しない、汎用性の高い水着LoRA」を作るための工夫を、ステップごとにお伝えします。

このガイドを読み終わると、Illustrious XLベースの水着LoRAを自力で作れるようになります。必要なVRAMは最低8GB(推奨12GB以上)、学習時間はRTX 4070クラスで約2〜4時間が目安です。

1. 必要な環境・ツールの準備

推奨スペック

GPU VRAM:最低8GB、推奨12GB以上(Illustrious XLはXLモデルのため大きめのVRAMが必要)

GPU:最低RTX 3060、推奨RTX 4070以上(CUDA対応必須)

RAM:最低16GB、推奨32GB

ストレージ:最低30GB空き、推奨SSD 100GB

OS:Windows 10以上、またはUbuntu 22.04

使用するツール

kohya_ss GUI(またはsd-scripts CLI)

LoRA学習の定番フレームワーク。GUIなら設定ファイル不要でブラウザから操作できます。Illustrious XLはSDXL系なので、sd-xlブランチを使用してください。GitHubから kohya-ss/kohya_ss をcloneし、setup.bat(Windows)または setup.sh(Linux)を実行します。

WD14 Tagger(自動キャプション)

画像に自動でDanbooruタグを付けてくれるツール。水着画像のタグ付けに最適です。Stable Diffusion WebUI(AUTOMATIC1111)のExtensionsからインストール可能。または pip install wd14-tagger でも入手できます。

Illustrious XL ベースモデル

Civitaiまたは公式リポジトリから illustriousXL_v10.safetensors(最新版)をダウンロード。ファイルサイズは約6.5GB。保存先は kohya_ss/models/ フォルダ推奨です。

⚠️ 著作権・利用規約に注意

学習画像は必ず自分で撮影・作成したもの、または利用規約でLoRA学習への使用が明示的に許可されているものを使用してください。他者の著作物を無断で学習に使用することは著作権侵害になる可能性があります。

2. 学習画像(データセット)の収集と整理

水着LoRAの品質を決める最大の要因は「データセットの質」です。枚数よりも多様性と品質を重視してください。

推奨データセット構成(合計50〜150枚)

ポーズ多様性(立ち・座り・アクション等):約40%

アングル多様性(正面・横・後ろ・俯瞰等):約30%

水着デザインバリエーション:約20%

背景バリエーション(ビーチ・プール・室内等):約10%

画像の前処理

① 解像度を揃える(1024×1024推奨)

Illustrious XLはSDXLベースなので、学習解像度は1024×1024が最適です。縦長・横長画像はbucket機能で自動対応可能ですが、できれば正方形に近いトリミングをしておくと品質が安定します。

② ブレ・低品質画像を除外

ボケている・極端にノイズが多い・解像度が512以下の画像は除外します。品質の低い画像1枚が全体の品質を下げることがあるため、厳選が重要です。

③ フォルダ構造を作成

kohya_ssの規則に従い、dataset/10_swimwear/ のように「リピート数_概念名」の形式でフォルダを作成して画像を配置します。リピート数「10」は、1エポックあたり各画像を10回学習することを意味します。

3. キャプション(タグ)付けの方法

キャプションは「この画像に何が写っているか」をモデルに教えるための情報です。水着LoRAでは水着に関するタグを正確に付けることと、不要なタグを除去することの両方が重要です。

WD14 Taggerで自動タグ付け

python tag_images_by_wd14_tagger.py \

  "./dataset/10_swimwear" \

  --repo_id "SmilingWolf/wd-swinv2-tagger-v3" \

  --thresh 0.35 \

  --batch_size 8 \

  --caption_extension ".txt" \

  --remove_underscore

--thresh 0.35 はタグを付ける信頼度の閾値です。水着画像では0.30〜0.40が適切な範囲です。

手動で水着特有のタグを追加・修正

自動タグ付けの後、以下を確認・修正します。

水着の種類:bikini / one-piece swimsuit / school swimsuit など

水着の色・素材:white bikini / frilled swimsuit など

シーン:beach / poolside など

その他よく使うタグ:navel、bare shoulders、wet、tan lines、summer

⚠️ キャラクター固有タグの扱いに注意

特定キャラクターのLoRAでない場合、髪色や目の色などキャラクター固有の特徴タグをキャプションに必ず含めることで、水着以外の要素がLoRAに混入するのを防げます。

4. 学習設定(config)の組み方

推奨パラメータ

パラメータ

推奨値

備考

network_dim(rank)

32

水着LoRAは中程度のrankで十分

network_alpha

16

rank/2が基本

learning_rate

1e-4

AdamWとの組み合わせ

unet_lr / text_enc_lr

1e-4 / 5e-5

text encoderはunetの半分程度

train_batch_size

2〜4

12GB VRAMなら2が上限目安

max_train_epochs

10〜15

サンプルを見ながらearly stopも検討

optimizer

AdamW8bit

VRAM節約と速度のバランスが良い

lr_scheduler

cosine_with_restarts

後半の品質が安定する

設定ファイル(config.toml)の例

[model]

pretrained_model_name_or_path = "./models/illustriousXL_v10.safetensors"

v_pred_like_loss = true # IllustriousはVPredが推奨


[dataset]

train_data_dir = "./dataset"

resolution = "1024,1024"

enable_bucket = true

min_bucket_reso = 512

max_bucket_reso = 1536


[network]

network_module = "networks.lora"

network_dim = 32

network_alpha = 16


[optimizer]

optimizer_type = "AdamW8bit"

learning_rate = 1e-4

unet_lr = 1e-4

text_encoder_lr = 5e-5

lr_scheduler = "cosine_with_restarts"

lr_warmup_steps = 100

lr_scheduler_num_cycles = 3


[training]

train_batch_size = 2

max_train_epochs = 12

save_every_n_epochs = 2

caption_extension = ".txt"

shuffle_caption = true

keep_tokens = 1

flip_aug = false

noise_offset = 0.05


[output]

output_dir = "./output/swimwear_lora"

output_name = "swimwear_illustrious_v1"

save_model_as = "safetensors"


[sample]

sample_prompts = "./prompts/sample.txt"

sample_every_n_epochs = 2

sample_sampler = "euler_a"

✅ v_pred_like_loss = true を忘れずに!

Illustrious XLはV-prediction系モデルのため、この設定を有効にしないと学習が不安定になります。

5. 学習の実行と進捗確認

accelerate launch \

  --num_cpu_threads_per_process=4 \

  sdxl_train_network.py \

  --config_file="./config.toml"

確認ポイント

① Loss値の推移を確認

TensorBoardでloss値を監視します(tensorboard --logdir=./logs)。loss値は学習初期に急降下し、徐々に安定するのが理想。急激に上昇する場合は学習率が高すぎる可能性があります。

② サンプル画像で品質チェック

sample_every_n_epochs で設定した頻度でサンプルが自動生成されます。./output/sample/ フォルダを確認し、意図した水着スタイルが反映されているか確認します。

③ VRAM使用量の確認

nvidia-smi でVRAMが限界に達していないかチェック。OOMエラーが出たら gradient_checkpointing = true を追加するか、batch_sizeを1に下げてください。

サンプルプロンプト例(sample.txt)

【Positive】

masterpiece, best quality, 1girl, solo, bikini, white bikini, beach, standing, smile, looking at viewer, detailed skin, blue sky, ocean


【Negative】

worst quality, low quality, blurry, bad anatomy, extra limbs, deformed, watermark, text, signature


steps=28, cfg=7.0, sampler=euler_a, seed=1234

6. 生成テストと品質チェック

学習が終わったら、実際にWebUIまたはComfyUIにLoRAを読み込んで確認します。<lora:swimwear_illustrious_v1:0.8> のようにプロンプトに追加して使用します。

品質チェックリスト

水着が正確に描写されるか(意図したスタイルが再現されているか)

体型・解剖学が正常か(手足・体幹が自然に描かれるか)

LoRAの強度バランス(強度0.6〜1.0で自然に効くか)

汎用性(様々な背景・ポーズで水着が安定して出るか)

ベースモデルとの相性(Illustrious XLの画風を維持しているか)

💡 複数epochのLoRAを比較する

save_every_n_epochs で保存した複数バージョンを同じプロンプトで比較することで、最も品質が高いepochのLoRAを選定できます。6epoch版と10epoch版では大きく品質が異なることも珍しくありません。

7. よくある失敗と解決策

水着ではなく服として認識される

原因:学習データに日常服が混入、またはキャプションの水着タグが不足。

解決策:bikini や swimsuit タグをトリガーワードの直後に配置し、keep_tokens=2 で固定。不要な服のタグを削除する。

OOM(メモリ不足)エラーが出る

原因:バッチサイズが大きい、解像度が高すぎる。

解決策:gradient_checkpointing = true を追加、train_batch_size = 1 に変更、mixed_precision = "fp16" を確認。

LoRAを使うと顔が崩れる

原因:顔のバリエーションが少ない、または過学習。

解決策:バストアップ・顔アップ画像を増やす、epochを下げる。顔修正LoRAと組み合わせるのも有効。

学習が遅すぎる / 止まる

原因:CPU/GPUのボトルネック、またはデータローダーが遅い。

解決策:num_workers を2〜4に設定、persistent_workers = true を有効化。Windowsでは num_workers = 0 の方が安定するケースもあり。

まとめ ── 次のステップ

ここまでお疲れ様でした。本ガイドで解説した流れを整理すると、環境構築 → データセット収集・整理(50〜150枚)→ WD14でキャプション付け → 手動タグ修正 → config.toml設定 → accelerateで学習開始 → epochごとに品質確認 → 最適なLoRAを選定・公開、という流れになります。

水着LoRAが完成したら、ぜひCivitaiや各種コミュニティでシェアしてみてください。フィードバックをもとにデータセットを改善し、v2・v3へとアップデートしていくのがLoRA作成の醍醐味です。

次回のガイドでは「キャラクターLoRA」の作り方を解説予定ですので、フォロー・スキをしていただけると更新通知が届きます。最後まで読んでいただきありがとうございました!

#StableDiffusion #LoRA #Illustrious #AIイラスト #画像生成AI #機械学習 #水着 #初心者向け


いいなと思ったら応援しよう!