見出し画像

コピー機学習法による絵柄LoRAの検証その2

前回はAIが出力した一枚の画像を学習とそれを絵描きさんが自分の絵柄でトレースした差分を学習させる手法でコピー機学習法をしていました。
今回は『1枚のイラストを極力その人の個性を無くして別の絵柄(AIのプレーンな絵柄)に修正し、その差分を学習させることで絵柄を抽出する』l試みを行いたいと思います。

とりにくが描いた絵

SDHK04に描かせた絵

この二つの差分を抽出してみました。以下結果。

AI生成
AI生成
AI生成

おお、綺麗なイラストとして出力される打率は低いですが絵柄自体は抽出されています。という訳でまたまたX(旧Twitter)で検証用イラストを募ってみました。

以下はその検証結果になります。
なお、許諾なく特定個人の絵柄を加工したり学習することは無用なトラブルの元です。再現実験する場合は自分の絵で行うか、必ず許諾を得てから行ってください。

比較対象

以下は各LoRAなしで生成したイラストです。

formalwear 1girl, blonde hair, green eyes, long hair, standing,smile, hand on hip on white_background, simple_background, solo, teen age, (((upper body))) trending on pixiv, highly detailed beautiful face, (((from front))) Negative prompt: EasyNegative Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 760104935, Size: 512x512, Model hash: 1749adc5b4, Model: SDHK04, VAE hash: 538255c0d5, VAE: kl-f8-anime2.ckpt, TI hashes: "EasyNegative: c74b4e810b03", Version: v1.6.0-2-g4afaaf8a
casual wear 1boy, blue hair, black eyes, standing,hand in pocket, white_background, simple_background, solo, teen age, (((upper body))) trending on pixiv, highly detailed beautiful face, (((from front))) Negative prompt: EasyNegative Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 760104935, Size: 512x512, Model hash: 1749adc5b4, Model: SDHK04, VAE hash: 538255c0d5, VAE: kl-f8-anime2.ckpt, Version: v1.6.0-2-g4afaaf8a
sunflower field, sky, cutie girl wearing simple white dress,straw hat on head, floating hair,wind,smile Negative prompt: EasyNegative Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 4033140598, Size: 512x512, Model hash: 1749adc5b4, Model: SDHK04, VAE hash: 538255c0d5, VAE: kl-f8-anime2.ckpt, Version: v1.6.0-2-g4afaaf8a

ももろみ様(@tmh_red)

ご提供いただいたイラストを加工したもの
SDHK04風の絵柄にしたもの

以下AI生成結果。

AI絵
AI絵
AI絵

わ、わからん・・・!元々絵が美麗な人の絵は作業者たる私の見る目がなく判断がつきかねます。

ちのミ(@chinomi_R)様

ご提供いただいたイラストを加工したもの
SDHK04風の絵柄にしたもの

以下AI生成結果。

おめめとか少しだけ雰囲気でているかも、わからん・・・!!

ケロリビドー(@keroribido)様

ご提供いただいたイラストを加工したもの
SDHK04風の絵柄にしたもの

以下AI生成結果。

AI生成
AI生成
AI生成

目の感じとかそこそこ似たかもしれない・・・!線の感じもでていますね。

青猫(@aoneko)様


ご提供いただいたイラストを加工したもの
SDHK04風の絵柄にしたもの

以下AI生成結果。

AI生成
AI生成
AI生成

う、うーーん、線の感じや塗は似ているかな?デフォルメ具合はあんまり似ていないかも

カンジと犬と日常(@saltcandycake)様


ご提供いただいたイラストを加工したもの
SDHK04風の絵柄にしたもの

以下AI生成結果。

AI生成
AI生成
AI生成

う、ううううん、わからない。私には絵柄が・・・!わからない・・・!!
加工を若干控えめにしたのが敗因な気がします。

星守 灯夜(@yoru_tomosu)様

ご提供いただいたイラストを加工したもの
SDHK04風の絵柄にしたもの

以下AI生成結果。

AI生成
AI生成
AI生成

あ、元のイラストの魅力的な色使いが若干現れている気がします!
AIに修正させながら『ここは覚えてほしい~!』と思った箇所なのでうれしい!!

櫛魚誠(@fluffplump)様

ご提供いただいたイラストを加工したもの
SDHK04風の絵柄にしたもの

以下AI生成結果。

AI生成
AI生成
AI生成

SDHK04(ベースモデル)と比較すると塗りが影響を少し受けているかも・・・? 目の形も頑張ろうとした形跡があるけどきっちり覚えてはくれなかった模様。

つきぎりんけつ(@tukigiri)様

ご提供いただいたイラストを加工したもの
SDHK04風の絵柄にしたもの

以下AI生成結果。

AI生成
AI生成
AI生成

こう解釈くるかー。つきぎりんけつさんの絵柄とは別物だけど1枚目の絵柄かなりすき。

ちゅんちゅん亭すがさ(@LuvTeaLatin)様

ご提供いただいたイラストを加工したもの
SDHK04風の絵柄にしたもの

以下AI生成結果。

AI生成
AI生成
AI生成

お目目の感じがでている気がする? 塗はベースモデルの感じがでちゃった感じあります。

紅茶うさぎ(@teausagi_trpg)様


ご提供いただいたイラストを加工したもの
SDHK04風の絵柄にしたもの

以下AI生成結果。

AI生成
AI生成
AI生成

2枚目の男の子の目の形は若干影響を受けている気がします。

わら(@wara_hirono)様

ご提供いただいたイラストを加工したもの
SDHK04風の絵柄にしたもの

以下AI生成結果。

AI生成


AI生成
AI生成

ふわっとした塗とキャラデザの前髪の影響受けている・・・?

感想

絵を見て判断する力がないので、上手く差分を作れねぇ!作れたLoRAを評価する軸を持ってねぇ!
という苦しみを味わいました。これ絶対絵が描ける人が差分作った方が良い結果でると思います。

簡単レシピ

繰り返しになりますが、許諾なく特定個人の絵柄を加工したり学習することは無用なトラブルの元です。再現実験する場合は自分の絵で行うか、必ず許諾を得てから行ってください。

以下は上記のLoRA群を作るのに作った環境メモです(月須和さんPDFのように細かい微調整はしていません)
RTX3090で1セット(加工イラストと元イラスト)学習させるのに大体1時間かかります。

git clone -b sdxl https://github.com/kohya-ss/sd-scripts.git
cd sd-scripts

python -m venv venv
.\venv\Scripts\activate

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117
pip install -U xformers
pip install --upgrade -r requirements.txt
python -m pip install bitsandbytes==0.41.1 --prefer-binary --extra-index-url=https://jllllll.github.io/bitsandbytes-windows-webui 

accelerate config

- This machine
- No distributed training
- NO
- NO
- NO
- all
- fp16

フォルダ名は適当(繰り返し数は適当に10000とかでOK、step数指定なので)
1024,768,512にそれぞれリサイズして保存。キャプションは適当につけておく。

copi-ki.toml(GPUによってtrain_batch_sizeは変えること)

pretrained_model_name_or_path = "C:/stable-diffusion-webui/models/Stable-diffusion/SDHK04.safetensors"
network_module = "networks.lora"
xformers = true
persistent_data_loader_workers = true
max_data_loader_n_workers = 12
enable_bucket = true
save_model_as = "safetensors"
lr_scheduler_num_cycles = 4
mixed_precision = "fp16"
learning_rate = 0.0001
resolution =  "512,512"
train_batch_size = 12
network_dim = 128
network_alpha = 128
optimizer_type = "AdamW8bit"
bucket_no_upscale = true
clip_skip = 2
save_precision = "fp16"
lr_scheduler = "linear"
min_bucket_reso = 64
max_bucket_reso = 1024
caption_extension = ".txt"
seed = 42
network_train_unet_only = true

コマンド一覧

#baseの絵柄LORA学習
accelerate launch ^
  --num_cpu_threads_per_process 12 ^
  train_network.py ^
  --config_file="C:\sd-scripts\user_config\style\copi-ki.toml" ^
  --train_data_dir="C:\sd-scripts\user_config\style\base" ^
  --output_dir="C:\sd-scripts\user_config\output\style" ^
  --output_name=copi-ki-base ^
  --max_train_steps 1500

#学習させたい絵柄LORA学習
accelerate launch ^
  --num_cpu_threads_per_process 12 ^
  train_network.py ^
  --config_file="C:\sd-scripts\user_config\style\copi-ki.toml" ^
  --train_data_dir="C:\sd-scripts\user_config\style\〇〇" ^
  --output_dir="C:\sd-scripts\user_config\output\style" ^
  --output_name=copi-ki-〇〇 ^
  --max_train_steps 1500

#絵柄の差分抽出
python .\networks\merge_lora.py ^
--save_to "C:\sd-scripts\user_config\output\style\〇〇.safetensors" ^
--models "C:\sd-scripts\user_config\output\style\copi-ki-〇〇.safetensors" "C:\sd-scripts\user_config\output\style\copi-ki-base.safetensors" ^
--ratios 1.4 -1.4 ^
--concat ^
--shuffle ^
--save_precision fp16

#LoRAのリサイズ
python .\networks\svd_merge_lora.pyy ^
--save_to "C:\sd-scripts\user_config\output\style\〇〇_128.safetensors" ^
--models "C:\sd-scripts\user_config\output\style\〇〇.safetensors"
--ratios 1
--new_rank 128
--device cuda
--save_precision fp16

この記事が気に入ったらサポートをしてみませんか?