![見出し画像](https://assets.st-note.com/production/uploads/images/137589166/rectangle_large_type_2_c3f3fbdf7d66e22c1e2a778a41b00466.jpeg?width=1200)
AnimagineとPonyのLoRAで画風変化を減らす試み
Animagine-XL-3.XやPonyDiffusionV6XLで学習したLoRAを適用すると画風が変化することがあります。
これを減らすべくベースモデルの画風を調整してみました。
ベースモデルの画風調整
AnimagineもPonyも作者好みの画風に調整されており、画風が一般的なイラストとやや異なります。
LoRAはモデルとデータセットの差分を学習するもので、モデルと画風の差分があり学習してしまいます。LoRA適用中でもモデル本来の画風で生成してほしいですよね。
「じゃあ学習してほしくない要素の差分をなくせばよくね?」ということでAnimagineとPonyの画風をDanbooru画像約4000枚で平均的な画風に調整しました。ちなみにDanbooru画像は新しい順に収集しました。二回学習とマージしました。
学習コマンド:
accelerate launch --num_cpu_threads_per_process 1 sdxl_train_network.py
--pretrained_model_name_or_path "animagine-xl-3.1.safetensors" --train_data_dir "train data dir" --output_dir "aaaaa\sdxl" --network_module "lycoris.kohya"
--network_args "algo=lora" "dora_wd=True" "conv_dim=1" "conv_alpha=0.25" --xformers --gradient_checkpointing --persistent_data_loader_workers
--cache_latents --cache_latents_to_disk --max_data_loader_n_workers 1 --enable_bucket --save_model_as "safetensors" --lr_scheduler_num_cycles 4
--mixed_precision "fp16" --learning_rate 0.00015 --resolution 1024 --train_batch_size 2 --max_train_epochs 1 --network_dim 8 --network_alpha 4
--shuffle_caption --optimizer_type "Lion" --lr_warmup_steps 100 --output_name "generic_animagine31" --save_precision "fp16"
--lr_scheduler "cosine_with_restarts" --min_bucket_reso 512 --max_bucket_reso 2048 --caption_extension ".txt" --seed 42 --network_train_unet_only
--fp8_base --highvram --loss_type "smooth_l1" --huber_c 0.1 --huber_schedule "snr"
Before/After(Animagine-XL-3.1)
![](https://assets.st-note.com/img/1713336954607-k1tg4BIFsw.jpg?width=1200)
![](https://assets.st-note.com/img/1713336980891-sdB9u0vqF2.jpg?width=1200)
![](https://assets.st-note.com/img/1713336989260-6iWPQvuhmT.jpg?width=1200)
いわゆるマスピ絵が普通の絵になった。
LoRAの比較
ここからはLoRA学習のベースに使用した際の変化を比較します。
Animagine-XL-3.1
v4がAnimagineで学習、V4_gaが画風調整モデルで学習
![](https://assets.st-note.com/img/1713337239557-WVf8K4cLIS.jpg?width=1200)
暖色寄りになる現象が解消した。
![](https://assets.st-note.com/img/1713337232297-gbebJhD0ac.jpg?width=1200)
暖色寄りになる現象が解消。
![](https://assets.st-note.com/img/1713346595220-hSnkh9yuGv.jpg?width=1200)
画風の変化を軽減。
PonyDiffusionV6XL
ponyがponyでgpが画風調整モデル
![](https://assets.st-note.com/img/1713337423850-BMK2NWxf07.jpg?width=1200)
うーん微妙。やっぱポニーは癖強いわ
![](https://assets.st-note.com/img/1713337472770-M0DsXYzBmo.jpg?width=1200)
構図の変化が減少したように見える。
変化がわかりづらいので生成に使うcheckpointをebaraにして比較する。
![](https://assets.st-note.com/img/1713337693039-1yWkjuKmF8.jpg?width=1200)
???
![](https://assets.st-note.com/img/1713337915756-7umJLLMydh.jpg?width=1200)
構図の変化が減少したように見える。
![](https://assets.st-note.com/img/1713338566362-ZNhLfCMy4Q.jpg?width=1200)
Quality tags無し。構図の変化が減って微妙に青みがかる現象を解消。
2024-07-20追記:出力が赤みがかったり暗く/明るくなったりする現象について
画風の変化は小さいのに色や明度が変化する現象に遭遇したので書き残しておきます。
原因はLoRAと事前学習モデルのNoise offset(--noise_offset)の値の不一致と思われます。
Noise offsetを使用したモデルでNoise offsetを使わず学習したら赤みがかって明度が低下しました。
以下のサンプルを見るとわかりやすいと思います。サンプルのLoRAで使用した事前学習モデルのnoise_offsetの値は0.04です。
![](https://assets.st-note.com/img/1721449906961-SZey5k4TNL.jpg?width=1200)
まとめ
画風を平均的にしたモデルで学習すると期待通りの効果が得られました。
今回作成したモデル
LoRA学習向けです。推論向けではありません。
また、アニメ画風のキャラクター・シチュエーション向けであり、画風LoRAおよび実写風LoRAの作成には適していません。
Genimagine-XL:
GenePony
この記事が気に入ったらサポートをしてみませんか?