見出し画像

素材1枚でキャラクターLORAを作る

 素材が1枚しかないキャラのLORAを作ってみました。
 いくつか方法があると思いますが、今回は「1枚絵をベースに正則画像で補足する」方法でやってみます。

 実は1枚絵だけで学習してもキャラLORAは作れます。
 が、絵柄やポーズが固定されたり、構図の自由度が極端に低くなってしまうことが珍しくないです。

 そこで「正則画像」の登場です。

 正則画像は本来は「関連タグが学習素材に似すぎないようにするために、
学習対象とは違ったテイストの絵を学習させる」ものですが、今回は学習対象と似た絵を正則画像として学習させることで、関連タグを学習素材により寄せてしまおう!」というやり方を取っています。

 このやり方だと、学習素材で指定した画像ほどは強く学習しないので、学習させたいキャラと雰囲気が似ていれば使用可能。
 そして、1girlなどのタグに正則画像で使用したポーズなどが浸食するため、構図の固定化を防ぐことができます。

 このやり方は、少ない素材である程度のクオリティと構図の自由度を持ったLORAを作れる反面、正則画像やパラメータの調整がそこそこ面倒なことが上げられます。
 とくに学習率の調整がわりと微妙なラインを求められることも多いので、「1枚素材でお手軽に作れる」とはならないかもしれません。

 以下、実際にやっていきます。
 使用キャラクターは、アリスソフトさんの名作『ランス6』より、マジック・ザ・ガンジーちゃんとなります。
 ゲーム内で使われている画像は立ち絵+イベント絵なのですが、今回は立ち絵のみでやります。

1:学習素材の準備

 前提として、素材が1枚だけなので、手間を惜しまずに、できるだけ高品質に仕上げていきます。

 まず、ゲーム画面のスクショとって背景を抜きます。
 素材を使い回しする場合、特定の背景があると生成される絵への影響が大きくなってしまう(その背景しか出ない、人物に背景が浸食してくる等)ので、抜いておきます。
 切り抜きは、できるだけ丁寧に取りたいので手動推薦ですが、自動切り抜きでも綺麗に抜けるのであれば大丈夫だと思います。
※使用したキャラ絵は公式サイトのキャラ紹介ページ「マジック・ザ・ガンジー」(左から22番目ぐらい)で確認できます。

 つぎに解像度を上げるため、WEBUI1111のEXTRAで1.5倍から2倍程度に拡大します。
 アップスケーラーは好きなのを使えばOKです。私は「R-ESRGAN 4x Anime6B」使ってます。

 つぎに、顔をトリミングして別画像として保存。
 解像度が512以下の場合は、512以上にアップスケールします。

 1枚のゲーム画面スクショから「全体像」と「顔」を作成して、学習素材の準備は完了です。

2:正則画像の準備

 やり方はなんでもいいので「キャラの特徴をある程度おさえた画像を50枚ぐらい生成」しましょう。
 特徴を入力したt2i、学習素材で用意した画像を使ったi2iや、CNでのimpaintやlineartなどで作ればOKです。

 ポーズや絵柄のバリエーションを増やしたいので、モデルは数枚ごとに変更し、ポーズは「dynamic pose」などのタグを使うのがおすすめです。
 また、画像は「全身像」を基本として、顔アップや上半身などを数点混ぜています。

 正則画像は、ほんわかと学習させたいだけなので、クオリティに拘る必要はありませんが、指が多かったり四肢が溶けてたりといった明らかなミスがある画像や、極端にクオリティが低いものは避けた方が無難です。

使用した正則画像の一部。CNのimpaintでゲーム内立ち絵から生成。weightは50。手が崩れないように、Civitaiにある「EnvyBetterHands LoCon」を使用。指描写がかなりマシになるのでお勧め。

3:タグづけ

 学習素材はタグ付けして、正則画像は、フォルダに「1girl」つけてタグテキストは使いません。

 学習素材のタグ付けは、トリガー的に使用するためのキャラ名(既存キャラと被らないもの。マジックの場合なら「MAGIC」は汎用的すぎるので「MAGIC-ran6」などに変更)。
 トリガーの補足用に「1female」など。正則で使った「1girl」を使うと影響が大きくなりすぎるので避けます。

 あとは、普通のLORAと同様でいいと思います。
 私は、身体的特徴のタグは削除(brown hari,brown eye,long hair等)、服装は取り外ししたいものはタグを残し、そうでないものは削除したうえで、「magic-dress」などの「服装をまとめて吸ってくれそうなタグ」を追加しています。

4:学習

 optimizerはどれでもOK。
 conv(いわゆるLOCON)の使用も制限なし(おすすめは「使う」)。

 私の場合は「LOHA-LOCON-ADAFACTOR」で学習しています。

 読込回数は、画像2枚の教師画像は50回繰り返して、100枚分読込(フォルダ名を「50_キャラクター名」。
 正則画像は、トリガーを「1girl」。画像枚数は教師画像の半分となる50枚分(「1_1girl」)。
 この設定で20エポックほど学習させました。
 最適なエポック数は10~20ぐらい? 

 ADAFACTORの場合、カギを握るのはdim/alphaの指定。
 素材が少ないためか、数値をちょっと変えるだけで結果への影響が大きいようです。
 私は、16-1/16-1で始めて、結果を見つつ、ALPHA0以下の数字も使って微調整しています(16-0.5/4-0.2とか)。

 あくまで個人的体感ですが、LORAよりはLOHAの方が再現性が高い印象。 DIMは16合った方が無難。8でもいけることはあるけど足りなかったり崩れやすかったりしがち。
 AdamWは学習率設定がキマればよさそうだけど、その調整が面倒くさすぎてつらい。多くの場合はAdafactorの自動設定に劣る。
 DAdaptLionは再現性はAdafactorと同等かそれ以上のものを出せるのですが、学習が強すぎるのか、他LORAとの併用がやや難しくなる気がしました。

 以上です。
 以下、今回作成したLORAで生成したイラストを何点か…

リファレンスシート風。なぜか普通に「MAGIC」と出てくるのがスゴい。
トリガーの「magic-ran6」が「magic」の意味でイラスト全体に浸食してるのかも…?
SDはスペルミスを勝手に補正するので、「既存概念に似てる単語」のトリガー使用は要注意。
Spread Legs。元絵は腿より上の立ち絵だけど、今回作成したLORAでは下半身にポーズを付けて描写できる。服の着替えも普通に可能。
正則画像は真正面からのものばかりだけど、カメラ位置をaboveやbelowにしても対応できる。
なお、ここには載せていないが、プロンプト次第では元絵にかなり近い感じでの生成も可能。

※アリスソフト様の二次創作ガイドラインはコチラ
「精密な模写」にならないように配慮した…から大丈夫だと思う…。
問題あるようなら画像は消します。


 最後に、ここで使ったLORAのコマンドライン入力を有料部分で公開しておきます。オプション値や正則画像の傾向などについて、簡単な雑感を付記しました。

 基本的にはコマンドラインのコピペなので、それでOKな方向け。
 また、この設定どおりにやれば同じLORAが作れるわけではないです。(学習素材は手動で切り抜いたし、拡大時のボヤケやはみ出しを手修正してます。また正則画像も、出力の傾向を見つつ選別を繰り返しました)
 「簡単キャラLORA製作データ」ではなく、あくまで「カネ払ってでも、自分でLORAを作るときの参考値として見てみたい」方用なので、その点をご理解のうえ、お進み下さい。

ここから先は

2,022字

¥ 300

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