AI画像生成で目当てのキャラを出力(LoRA導入編)

以前stable diffusionについて紹介したようにAIで画像を生成できるようになったけど特定のキャラクターを生成っていうのは中々難しい

画像の左上が”プロンプト”といって生成したい画像のイメージを命令するとこ
例えば「1girl, orange hair, forest」と指定したら森にいるオレンジ色の髪の女の子が出力される

左下が”ネガティブプロンプト”といって逆に入れたくないものを命令することができる
例えば森と指定したせいで動物が出力されるときは「animal」と書いて動物を出力しないようにできる

しかしプロンプトだけで特定のキャラを作成することは服装・アクセサリーなどワード化するのが難しすぎる

例えば上の弓月ゆあモデルを出力したいと思って頑張っても

100枚の出力から厳選してこれくらいの雰囲気
服装については指定無理ゲー

こんな感じにプロンプトのみだとキャラクターの出力は難しいけど今回はタイトルにある”LoRA”を使うことによりキャラクターを出力できるようになる

まずLoRAを使った例を出す

ホロライブ 白上フブキ
東方 博麗霊夢

10枚程度出力するだけでこんな感じに服装・アクセサリーがそれっぽい画像が出力できるようになる
前振りが長くなったけど今回はこのLoRAを作成する

LoRAは簡単に説明すると事前にそのキャラクターの画像を複数用意して学習セットを作る感じ
ここから導入方法について書いていく

1.必要なものを揃える

Python(推奨ver3.10.6)gitLoRA Easy Training Scriptsをインストールする
Pythonとgitは以前のstable diffusion紹介で導入しているはず、LoRA Easy Training Scriptsが今回LoRAを作成するためのツール(僕は2023年6月頭に導入したけど以前ツールのアップデートで色々変わったみたい)

LoRA Easy Training Scriptsインストール中にGPUについての質問(RTX30☓0~40☓0系かそれ以外か、及びGTX10☓0か)が出た際はそれに従う

2.学習用画像を準備する

上記作業でLoRA作成ツールを準備ができたが、肝心な学習用データが無いから準備する
僕の場合はvroidモデルを学習させるため適当にスクショを撮った

vroidの撮影モードで1024*1024の画像を撮った(512*512が推奨らしく、後にリサイズして試したけど違いが分からなかった)
フォルダは今回”10_yua_yuzuki”という名前にして画像を保存してある(画像ファイル名については適当)
フォルダ名には意味があって”10″がLoRA作成時の繰り返し回数となり、(繰り返し回数については今回は説明無し、次回のLoRA調整編で説明する)”yua_yuzuki”の部分はトリガープロンプトというLoRAを呼び出すときに使う文字列となる
ちなみに正則化画像とかいうのは今回用意してない

3.画像のタグ付けをする

集めた画像毎にどのようなプロンプトで出力されるか説明するファイルが必要
画像毎に必要だから手作業するのは面倒、ということで簡単にタグ付けするツールを使う

「Dataset Tag Editor」というstable diffusionの拡張機能を使う
stable diffusionの「拡張機能(日本語化していない場合はExtensions)」→「URLからインストール(Install from URL)」→「拡張機能のリポジトリのURL(URL for extensions’s git repository)」を選択して以下を入力する

https://github.com/toshiaki1729/stable-diffusion-webui-dataset-tag-editor

あとはstable diffusionのUIを再起動したら導入完了
タブにある「Dataset Tag Editor」を開くと下の画像のように表示される

この画像のよう赤線部分を触る
左欄にてフォルダの指定及びチェック欄とか合わせた後に読み込みを押し、右欄で左欄で設定した画像のうちどれを選択するか指定、最後に一番上の「すべての変更を保存(Save all changes)」を押したらタグ付け用txtファイルが画像と同じフォルダに作成されるって感じの流れ
インタロゲーターについてはプロンプトの生成方法が違うみたいだけど違いがよく分からないから適当に選択した

4.LoRA作成

ついに最後のLoRA作成にきた
LoRA Easy Training Scriptsのフォルダ内の「run.bat」を起動する

cmdが起動後、少ししたら新しくアプリが起動する
このアプリで色々数値調整をしてLoRAが作成できる
本当は調整内容まで紹介しようとしてたけど内容が長くなるのとまだ調整中で紹介できないから次回投稿予定→調整編投稿した!!

一応現段階でこんな感じに出力できているよっていう例を出して今回は終了!(手が中々上手く出力できない・・・)

コメントする