序文
Illustrious XLは、多少扱いが難しいものの、馴染み深いDanbooru語を使え、構図の破綻が少なく、それでいて追加学習なくとも多くのキャラクターや画風、構図等を再現でき、それでいてFLUXよりVRAMの要求量が低いなど、animagineやPonyに次ぐ第3極になるポテンシャルを秘めています。個人的には、総合的にPonyより優れていると感じているところです。
しかし、イラストリアスと言えども知らないものを出力できないわけで、どうしてもLoRA学習が必要になる場面も出てくるでしょう。
この記事では、イラストリアス系列におけるLoRA学習の反応性について、個人的な意見を記したいと思います。なお、この記事は一般的なLoRA学習をしたことがある読者向けであることを予めご了承ください。
画風
Illustriousはdanbooruで学習したので、danbooruに投稿された作家の画風を多数覚えています。そのため、一度は似せたい画風を既に学習していないか確認した方が、無駄な作業をしなくて済むでしょう。なお、私は自分の好きな同人作家やエロゲーのイラストレーターの画風を作ろうとし、数時間を無駄にしました……。(もちろん、これらは自慰用かつ試作品なので公開予定はありません。自慰には使える出来でした(は?) )
画風のLoRA学習は簡単な方法で可能です。すなわち、似せたい画風の画像を片っ端から集め、トリガーワードを先頭に付加して学習させるだけで完成です。
私は艦隊これくしょんのLoRAを複数作ってきたので、画風のテストとして『艦これ1944 -いつかあの海で』を使って画風のテストをしてみます。
Pretrained modelにObsession (Illustrious-XL)を用い(illustrious派生の中でも比較的画風が安定し画質も高い)、教師画像は任意の24枚のSS、Batch4、40epoch、スケジューラはcosine、 オプティマイザはProgidy、Learning Rate / TELR / UnetLRを1、dimensionを8、Network alphaを8の設定でLoRAを出力してみました。4070で20分程度の学習です。(個人的には、特に画風LoRAの場合、dimとalphaを16にした方がより良いと思います)
教師画像のスクリーンショット(参考)LoRAを用いた出力
promptは、"<LoRA:1>トリガーワード, キャラ名, serafuku(山城のみnontraditional miko, headgear), 背景場所"のみです。イラストリアスがキャラ名を覚えており、かつ画風の学習に良好な反応を示すことが理解出来るかと思います。
未学習の衣装、キャラクター
illustriousはdanbooruで学習しているので、danbooruのタグになっているキャラ名を入れれば顔(特に髪の色や髪型、顔周りの装飾品等)や体型(どうも胸の大きさを理解していることが多い)を再現して出力します。しかし、danbooruへの投稿が少ないキャラであれば未学習の可能性が高まり、そうであれば想像上のキャラクターを出力します。
また、服装についても同様で、promptで説明しづらい奇抜なファッションであればあるほど、illustriousは正しく出力できません。
今回は、2017年に行われた艦これ×三越コラボで披露された私服重巡棲姫(danbooruでのタグは heavy_cruiser_princess ですが、illustriousは出力しません。また、重巡棲姫の三越私服となればdanbooru上の登録は6件のみ)を再現できるか試しました。
公式の三越重巡棲姫をi2iで解析し、そのpromptをt2iした結果、ぜんぜん違うものが出力されました。当然ながら、三越の重巡棲姫の衣装を知らないということです。
そこで、danbooruの6枚で仮のLoRAを作って、強引にポーズ違いの教師画像を40枚程度に水増しし、 これらにタグ付けして、「画風」セクションにある設定で実行した結果、
出現率こそ低いものの、三越重巡棲姫とわかるものが出力できるようになりました。
未学習のキャラクターでも覚えることが理解できたと思います。
複数概念を一つのタグにまとめて学習したものの分離
ローソンは数々のアニメ・ゲーム等とコラボ企画を実施しているため、それらのキャラクターがローソンの制服を着ているファンアートも多数投稿されています。そのため、イラストリアスでは"lawson"のタグを付けるだけで、ローソンの制服を着たキャラクターを生成することができます。 しかし、ローソンは2016年に制服を変更しており、
※左が旧式(5代目)、右が新式(6代目)それについてタグ分けをしていないため、イラストリアスは新旧の制服の両方を"lawson"タグに内包した状態で学習をしています。そのため、新旧制服の区別がつかなかったり、両方をミックスした制服を一定の確率で出力してしまいます。(先に示した絵では、6代目のデザインでありながら5代目の赤ラインが入っています。)
そこで、5代目と6代目それぞれの制服を高確率で出力出来るように、LoRAをそれぞれ作ります。こちらの方法を参考に、大雑把に顔を黒く塗りつぶしてタグ付けをして学習させます。 教師画像はそれぞれ35枚程度集めましたが、そこまで必要ないかもしれません。
出力結果がこちら 5代目と6代目で分離できました。元から覚えているものの一部を取り出すので難しくないのかもしれません。
複数の衣装を持つキャラクター
あなたが出力したいキャラクターは公式衣装をいくつ持っていますか?
もし衣装が1つだけなら、あるいは、それすら脱がせてHENTAI行為をさせたいだけならそこまで困らないでしょう。Illustriousがそれなりに覚えているはずです。
しかし、そのキャラクターが作中で別の服装をすることもあるでしょう。その一つ一つをイラストリアスが覚えてるわけもありません。また、大抵の場合、そのような衣装の柄は特徴的なので、Promptだけで衣装を再現できる可能性は低いと言わざるを得ません。そこで、複数の衣装を学習したキャラLoRAを作る作業が必要になります。
複数衣装のキャラLoRAの作り方はこちらやこちらが参考になります。
ここでは、艦これの扶桑を作ってみたいと思います。扶桑はイラストリアスが覚えているキャラクターなので、顔と一般的な巫女服姿の学習は必要ありません。しかし、扶桑は公式衣装だけでも、桜模様の入った改二制服、正月の晴着、梅雨の和服姿、そして水着と4種類以上も公式な衣装があります。(瑞雲祭りとサンマは割愛……)ここで、晴着と梅雨の和服はファンアートの数も少ないので、仮LoRAを作成して教師画像を35枚程度まで増やしてから、LoRAを作成してみました。結果がこちらです。
手が溶けており、もっと詰めないと公開できるようなレベルにありませんが、それっぽい衣装が出力できるようになりました。
ここで最も主張したいことは、イラストリアスはPonyと違って複数種類の和服をひとつのLoRAにまとめられるということです。Ponyは和服を複数種類搭載しようとすると柄が非常に混じりやすい問題を抱えていました。その欠点が解消されそうという点でIllustriousのポテンシャルは高いと言えます。
以上、イラストリアスのLoRA学習についてレポートしました。現在公開されているものはv0.1の試作品だそうですが、できれば完成品も公開して欲しいと思います。