こんにちは、スタジオ真榊です。前回に引き続き、illustrious系モデルを使ったCoppy画風LoRAの実験と考察記事をお届けします。今回の実験テーマは、瞳の大きさや黒目の描写などを、適用強度に応じて調整できるLoRAについてです。
前回はこちらの左上の「お手本1girlちゃん」を作ってillustrious用の画風LoRAを学習しましたが、今度はこれを「ベース1girlちゃん」として、「瞳の大きさ調整LoRA」「黒目の大きさ調整LoRA」「黒目の太さ調整LoRA」の三つを作ってみました。

普段使いしているモデルに自分の画風LoRAをマージして「自分モデル」を作るときに、こうした調整LoRAを強弱をつけてマージすることで、より理想の画風にファインチューンするのが狙い。…だったのですが、こうした実験をやっていたところ、調整LoRAには部位によって学習が難しい部位があることが分かり、その原因についてあれこれ実験して考察したのが今回の記事です。
基本的なCoppyLoRAの使い方やコピー機LoRA法の考え方については前回の記事を参照のこと。こちらの記事で触れた部分は再度説明せず、どんどん進めていきます。
1.瞳の大きさを調整「Shrinkeyes LoRA」
まずは一番重要な瞳の大きさを調整するLoRAを作ります。瞳縮小LoRAを作れば、マイナス適用することで瞳拡大LoRAになるわけですから、縮小LoRAと拡大LoRAを両方作る必要はありません。どちらか片方をベース1girlちゃんを加工して作ればOK。
このベース1girlちゃんはすごく目が大きい画風ですので、これを小さくして「お手本画像」としましょう。

やり方は簡単。ClipStudioの「ゆがみツール」の縮小モードを使って、このように目の大きさを縮めるだけです。ツールの範囲はできるだけ下図のように、瞳の大きさとほぼ同じにするのがコツ。

クリックボタンを押している間、このようにきゅーっと小さくなっていきます。ついでに周囲も巻き込んで小さくなるため、ほほや髪の毛のラインが歪んだように見えないよう注意してください。

このように、眉毛や髪の毛にはできるだけ触らず、目の大きさだけを変化させることを心掛けましょう。

あとはCoppyLoRAの「DetailTrainモード」でこのように読み込みます。キャプションは右側のアナライズボタンを押して出てきたものを使用しますが、検出されたタグのうち「bright pupils, white pupils」は画風固有の要素なので削除しておきます。

使用キャプションは上下とも「1girl, solo, breasts, looking at viewer, blush, short hair, simple background, shirt, brown hair, white background, closed mouth, brown eyes, collarbone, upper body, black shirt」ということになります。
RTX4080環境では約40~50分ほどで「shrinkeyes_ill_v1.safetensors」が学習できました。(ベースモデルと何個目のLoRAかを書いておくと便利です)
・テスト生成
さっそくXYZ plotでテスト生成してみましょう。-1~+1の範囲で5段階に分けてLoRA適用しました。うまくいっていれば適用度を高めるほどに瞳は小さくなり、マイナス適用するほどに瞳は大きくなるはずです。
こちらが生成結果。

思った通りのものができたようです。もともと瞳が大きい画風なので、ちょっとマイナス適用は怖い感じになってしまいましたね。この調子でどんどん学習していきましょう。
<ちょっと脱線:外出中にCoppyLoRAを学習するには?>
お手本画像をたくさん作っても、一つ一つCoppy学習するのに手間が掛かってしまいますし、学習中はグラボを使う作業ができずやきもきします。外出中にスマホやノートPCから自宅PCのCoppyLoRAを操作して、作っておいたお手本画像で順次LoRAを作ることが可能ですので、需要がある方はささっとリモート環境を作っておきましょう。
やり方はいくつかあろうかと思いますが、こちらの記事の「⑬外出中に母艦PCにアクセスしよう」で紹介しているChromeのリモートデスクトップ機能を使う方法が一番簡単かなと思います。母艦で設定したら、あとは出先の端末からアクセスするだけです。
在宅時間中に学習用の画像ペアをいろいろと作っておいて、外出中に順次学習していくと、時間を有意義に使えるのではないかなと思います。
2.黒目の大きさ調整「sanpaku LoRA」
話を元に戻しましょう。今度は、黒目の大きさを調整するLoRAを作ってみます。さきほどは目全体の大きさを調整するものでしたが、今度は黒目だけですから、できるだけ黒目以外の大きさは変更しないことが重要になります。
さきほどと同様、ゆがみツールの縮小モードで黒目を小さくしようとしましたが、周りを巻き込んでしまってうまく小さくできませんでした。そこで、今度は選択ペンを使って黒目をこのように塗りつぶし、左右別々に切り取ります。

切り取った黒目を別レイヤーとして貼り付けたら、拡大・縮小ツールか自由変形ツールでこのように調整します。どうしてもがたつきは出るので、白目部分を塗りつぶしたりして体裁を整えましょう。

まつ毛の影などが影響してうまくレタッチできない場合は、NovelAIの力を借りてインペイントしてもらうのもいいでしょう。左上の「ペンサイズ:5」となっている数字をクリックすると、塗りつぶす大きさを1ドットまで小さくできる裏技があります。

このように不自然な部分を埋めてインペイント生成するとよいでしょう。
こちらが「三白眼」状態になった1girlちゃん。これで差分を抽出すれば、黒目の大きさを調整できるLoRAができるはずです。

CoppyLoRAの学習手順はさきほどと全く同じですし、キャプションも同様ですので説明は割愛。できたLoRAを使ってテスト生成してみます。
こちらが生成結果。

今度は妙な結果となりました。プラス適用の方は、言われてみればなんとなく黒目が小さくなっている気もしますが、正直「誤差」のレベル。もともと瞳全体に対して黒目の大きい画風でしたので、マイナス適用してもさほど変化が見られません。
前回の記事でわかったコピー機LoRA法のコツは、見た目が変でも構わないので、できるだけ2枚の画像ペアの概念的距離を突き放すことでした。つまり、強度1で適用しても効果が弱い場合は、画像ペア間の変化度合いを強めるとうまくいく可能性があります。「ちょうどいいレベル」をお手本画像にするのではなく「2倍くらいやりすぎたレベル」にすると、適用強度が弱めでも十分効果のあるLoRAが(理論上は)できるはず。
こちらが改善したお手本画像。見ての通り、ほぼ「点」のレベルまで大胆に縮小しました。

できたLoRAでもう一度同条件の生成テストをやってみます。ところが…

残念ながら、さきほどと効果は大差ありませんでした。瞳全体を小さくするLoRAはうまくいったのに、なぜ黒目だと失敗するのでしょうか。
仮説として立てられそうなのはいくつか思いつきますが、この時点では結論が出なかったので、とりあえずいったん次の「黒目の太さ調整LoRA」を作ってみることにしました。






