Stable Diffusion LoRAデータ作成 教師データ準備編
前回、「Stable Diffusion LoRAデータ作成 sd-scriptsインストール編」でLoRAデータを学習できるツールのインストールするまでを紹介しましたが、今回は、LoRAデータ作成のための教師データの準備を行っていきます。
学習方式の選択
対応している学習形式は公式のRead meには以下の3つとなります。
DreamBooth、class+identifier方式(正則化画像使用可)
特定の単語 (identifier) に学習対象を紐づけるように学習。
キャプションを用意する必要が無いので、手軽ですが、髪型や服装、背景など学習データの全要素が identifier に紐づけられて学習生成時のプロンプトで服が変えられない、といった事態となります。
DreamBooth、キャプション方式(正則化画像使用可)
画像ごとにキャプションが記録されたテキストファイルを用意して学習。たとえば特定のキャラを学ばせると、画像の詳細をキャプションに記述することでキャラとそれ以外の要素が分離され、より厳密にモデルがキャラだけを学ぶことが期待できます。
fine tuning方式(正則化画像使用不可)
あらかじめキャプションをメタデータファイルにまとめます。タグとキャプションを分けて管理したり、学習を高速化するためlatentsを事前キャッシュしたりなどの機能をサポートします
今回は服装や髪型も変更できるようなLoRAデータを作成したいため、「2」のDreamBooth、キャプション方式(正則化画像使用可)を選択しました。
※正則化画像については例えば女性のキャラクターを学習しようとした場合、「girl」に紐付けられたて学習しますが、「girl」とプロンプトで選択した時「キャラクター」が出てきてしまうのを防ぐためのものとなります。
画像の準備
「sd-scripts」では、画像は全て指定形式でリサイズしてくれます。また背景が写り込んでいても問題がありません。png、jpg、jpeg、webp、bmpが利用可能ですので、学習したい内容ので画像データを集めましょう。この時集めたデータは連番にしておきましょう。
教師データ、正則化データ、アウトプット先のフォルダを作成
こちらについては、任意の名前「train_data(教師データ)」「seisoku_data(正則化データ)」「LoRAout(アウトプット先)」などを準備します。
日本語パスが入っていなければどこでも大丈夫です。sd-scriptsのインストールフォルダ無いにする必要はありません。
キャプションファイルの準備
こちらは画像に対応したキャプションデータを準備する必要があるのですが、手作業で準備しているとかなり手間な作業なため、Stable Diffusionの拡張機能を利用します。
いくつかありますが、今回はstable-diffusion-webui-wd14-taggerで進めていきます。URLをエクステンションタブのinstall from URLに以下のURLを貼り付けて「install」
https://github.com/toriato/stable-diffusion-webui-wd14-tagger
インストールが成功するとタブにTaggerというタブが出現するため、選択。さらにその中のBatch from directoryタブを選択して、「input directory」と「output directory」に教師データフォルダのパスを入力し、Additional tagsに、今回の学習データと紐付けたいタグを入力し「interogate」ボタンを押せば、画像データごとのキャプションファイルを出力してくれます。
キャプションファイルの編集
生成したキャプションファイルを編集していきます。「Additional tags」で設定したタグは残し、「学習させたい要素」を削除していきます。
ここで重要なのが、「学習させたく無い要素」では無く、「学習させたい要素」を消すという作業になります。直感的には逆にと捉えてしまいがちですが、「学習させたい要素」を消していきます。
最終キャプションには「紐付けたいキャプション」+「学習させたくない要素」となっているようにしましょう。
教師データのサンプルデータ
初見だと、上記構造・説明がわかりにくいので、直感的に分かりやすいデータサンプルが欲しいという方は、「東北ずん子・ずんだもんプロジェクト」さんが、AI画像生成のLoRAなどでキャラクターイラストを生成するために利用しやすい学習用データを配布してくれています。
以下URLの下段からダウンロードして構造を理解したり、試したりしてみてください。
https://zunko.jp/con_illust.html
キャプションデータも同封されています。
ここまでで教師データの準備は完了です。次はいよいよ実際に学習していきます。