見出し画像

LoRAの組み合わせによる顔のパターン研究

皆様、こんにちは!
とんでもなく美しい女性をAIartで表現しているStmic | AIGirl_Photoです!
今回はLoRAをどのように組み合わせたら、どんな顔になるのかを調査してみました!
AI術師の方はもうそれぞれ自分の好きな顔の配合などを把握されてるとは思いますが、シーンや服装に合った顔を表現したい!って時にご活用下さい!

軽くLoRAって何?って人向けに解説しておくと、
LoRAはすでに学習されているモデルに付加して特定の表現を発現しやすくするツール(技術)の名前のことです。
今回だと日本人の顔を表現しやすくするJapanese Doll Likeness(以降JDL)と
韓国人の顔を表現しやすくするKorean Doll Likeness(以降KDL)を検証しています。

※(重要)LoRAによってライセンスが違うので、使う際やSNSにアップする際は注意しましょう!特に実在の人物や作品を再現する系のLoRAは問題になっているので注意しましょう。
(追記)僕がJDLとKDLをDLした時は、タグ無しで投稿可能、10人以下のチームなら商用利用可能のライセンスを確認したのですが、今(2023/3/13)検索するとライセンス自体が出てこないですね。。。もしかして、ライセンスが変わったのか・・・?
誰か分かる方いらっしゃったらDM下さいm(_ _)m

それでは本題です!
もうすでに使っている方も多いとは思いますが、JDLとKDLは出力に対してどれほど強い影響を与えるかを数字で指定出来ます。
僕は0.2~0.8の間で使用していたのですが、数字が大きくなると問題が出るので(後述)、最近は0.2〜0.5の間を使うことが多いです。

ですが、今回は検証ということで、幾つかのパターンに分けて調査しました
①JDL、KDLともに0.05〜0.5で総当たり(100通り)
②JDL、KDLともに0.55〜0.8で総当たり(49通り)
③JDL0.2固定、KDL0.55〜0.8で調査(6通り)
④JDL0.8固定、KDL0.25〜0.5で調査(6通り)
⑤KDL0.8固定、JDL0.25〜0.5で調査(6通り)

LoRA以外の要素は全て固定で以下の通りです。
Steps: 20, Sampler: DPM++ SDE Karras, CFG scale: 7, Seed: 3413795820, Size: 800x800

プロンプト
1girl, solo, best quality, masterpiece, ultra high res, (photorealistic:1.4), looking at viewer, <lora:jdllora:{0.05|0.1|0.15|0.2|0.25|0.3|0.35|0.4|0.45|0.5}>, <lora:kdllora:{0.05|0.1|0.15|0.2|0.25|0.3|0.35|0.4|0.45|0.5}>, black background
※dynamic promptsの{}の中は適宜変更しました。dynamic promptsとは?

ネガティブプロンプト
Negative prompt: illustration, 3d, sepia, painting, cartoons, sketch, (worst quality:2), (low quality:2), (normal quality:2), lowres, bad anatomy, bad hands, normal quality, ((monochrome)), ((grayscale:1.2)), futanari, full-package_futanari, penis_from_girl, newhalf, collapsed eyeshadow, multiple eyebrows, vaginas in breasts,holes on breasts, fleckles, stretched nipples, gigantic penis, nipples on buttocks, analog, analogphoto, signatre, logo, 2faces


結果

①JDL、KDLともに0.05〜0.5で総当たり(100通り)

JDL、KDLともに0.05〜0.5で総当たり画像1
JDL、KDLともに0.05〜0.5で総当たり画像2

基本的には徐々に変化していくのですが、KDLの0.45、0.5では大きく出力が変わりました。
顔の作りだけでなく、ポーズも変化しているので、一気に影響力が強くなっていることが分かります。

またJDL0.05ではKDL0.25らへんで顔つきの大きな変化を感じますが、JDL0.25ではKDL0.45まで大きな変化はありません。
片方のLoRAの数字が大きいと、もう片方が結果に与える影響は相対的に小さくなるのかも知れないです。

JDLは数値が大きくなると顔が丸みを帯びていきます。
KDLはシャープな顔の輪郭になり、髪の毛の色が明るくなっていきます。


②JDL、KDLともに0.55〜0.8で総当たり(49通り)

JDL、KDLともに0.55〜0.8で総当たり画像1

先ほど0.45や0.5で大きく出力が変わったことと同様に0.8でもかなり出力に変化が出ました。(JDL0.5、KDL0.8)
また、JDL0.55、KDL0.75では自撮りをしている?かのように腕を突き出すポーズに変化しました。やはり大きな数字は顔の見た目だけでなくポージングにも影響を及ぼしそうです。
JDL0.75、KDL0.55でもポーズが変化しました。これは今までにないパターンなので、何かしら閾値を超えたら大きく変わるのかも知れません。
JDLも0.8になると出力が大きく変わり、JDL0.8、KDL0.8でも大きく変わりました。

また、上記の画像では分かりにくいですが、お互いの数値が大きくなると画像にノイズが走ったような感じになり、品質が一気に低下します
上記の画像で言うと、JDL0.5、KDL0.8以降全ての画像はノイズが走っています。(下記画像参照)

JDL0.5、KDL0.75
JDL0.5、KDL0.8



③JDL0.2固定、KDL0.55〜0.8で調査(6通り)
④JDL0.8固定、KDL0.25〜0.5で調査(6通り)
⑤KDL0.8固定、JDL0.25〜0.5で調査(6通り)

数が少ないので一枚の画像にまとめています。

③、④、⑤まとめ

③は低い数字と大きい数字の組み合わせだとどうなるかを検証する目的で実施しました。
ここでは意外にも0.75や0.8でも特に大きな変化は見られませんでした。
こう考えると0.45や0.5、0.8といった閾値で大きく変わるというのも組み合わせによって変化するので、頭の片隅に置いておく程度で良いのかも知れません。

④、⑤は③とは逆で高い側を固定した時にどうなるかを検証する目的で実施しました。
こちらはセオリー通り、0.45、0.5で大きく変化しました。
また②と同様に④と⑤では画像にノイズがはしり品質が低下しました。
0.8はあまり使わないほうがいいのかも知れません。使うとしても単体で使うか、もう片方の数字を0.2未満にすることを推奨します。
⑤の方が④に比べてノイズが少ないので、JDLよりKDLの方が大きい数字によるノイズへの影響が強いのかも知れません。


まとめ

・0.45、0.5、0.75、0.8は大きく結果が変化する可能性がある
・片方の数字を大きくするともう片方の影響力が下がる可能性がある
・JDLは数値が大きくなると顔が丸みを帯びていく
・KDLは数値が大きくなるとポーズが変わり、シャープな顔の輪郭になり、
 髪の毛の色が明るくなっていく
・お互いの数字が大きくなると画像にノイズがはしる

歯切れが悪い結論で恐縮ですが、個人的には結構面白いことが分かったかなと思います!
正直、好みの顔かどうかは角度、光の当たり方でも変わりますし、何よりシードを固定しない限り、ガチャ運によるところが大きいので、目つきや顔の輪郭などで大体の範囲を決めて、あとは祈りましょう!笑

とはいえ、自分好みの画像が頻出する組み合わせもあると思うので、顔に迷ったら①とかは参考になるかもしれません!
それでは良いAIライフを!!

最後をまでお読み頂きありがとうございます! Twitter、Instagramなどで作品を投稿しているので偉そうに検証しているやつの作品がどんなもんか是非お確かめ下さい! 結構露出が多い画像が多いので、苦手な人は苦手を克服するチャンスだと思って是非遊びに来てください!