{DD} Usefull stuff&scripts I use to make Loras
詳細
ファイルをダウンロード
モデル説明
こんにちは、みなさん!
グリッドLoRAのトレーニング方法について多くの質問をいただいていますので、私のワークフローを簡潔に解説するガイドを作成します。まず、@Bartubaと一緒に、皆さんがLoRA(実際にはグリッド以外の種類のLoRAも含む)を作成したい場合に非常に役立つアプリを開発していることをお知らせします。MVPのリリースが完了し、より包括的なチュートリアルを準備でき次第、ここでリンクを公開します。
概要
グリッドLoRAをトレーニングするには以下の手順を実行する必要があります:
- 概念に一貫性があり、ある程度の多様性を持つデータセットを収集する;
- データセット内の画像をトレーニング用に準備する;
- データセットにタグを付ける;
- モデルをトレーニングする;
- 結果を確認し、必要に応じて全体プロセスを繰り返す。
データ収集
まず、あなたの概念を表す一連のクリップ(動画)が必要です。おすすめは解像度が1280x720以上の高品質なクリップです。danbooruのGIFも可ですが、基本的に品質は良いですが、GIFは色数が少ないことが多く、トレーニングには不向きなので推奨しません。
どうすればいい?
グリッドLoRAの場合、クリップのフレームが必要です。そのフレームを取得する方法はいくつかあります。以下に代表的なもの:
動画を1フレームずつ表示しながら、手動で必要なフレームを選び出す(例:KMPlayer を使用。次フレームを見るには「F」キー、保存には「Ctrl + A」)。非常に時間がかかり、退屈な作業ですが、画像の品質と多様性を保証できる利点があります。
約10秒程度の短い動画を一括でフレームに分割し、気に入ったもののみ選ぶ。ezgif.com/split などで行うことができます。GIFやWebMをこのサイトにアップロードし、フレームに分割。その後、すべてをZIP形式でダウンロード可能です。
また、ffmpeg をインストール(Windowsでのインストールガイド:ここ)し、すべての動画を同じフォルダに格納。その後、「Windows + R」で「cmd」を実行し、そのフォルダのパスに移動(
cd {フォルダパス})。次に以下のスクリプトを実行:
for %i in (\*.webm) do ffmpeg -ss 0.5 -i "%i" -fps_mode vfr -frame_pts true -vframes 9 "%iout-%02d.png"
それぞれの説明:
(\*.webm):ファイルの拡張子(必要に応じて変更可能);-ss 0.5:動画からフレームを取得するタイミング(秒単位);-vframes 9:1つの動画から取得するフレーム数。
多くの場合、非常に良い結果が得られます。
*今後、私たちのUIがこの部分を自動化するようになります。
どのフレームを選べばよい?
これが最初の難しいポイントです。たとえば「笑顔」のグリッドLoRAを作成したい場合、以下の点に注意してください:
データセットに使用するフレームは小さくなりがちです。描画対象またはコンセプトが明確に見えるでしょうか?画面全体の少なくとも30%を占めるほど大きくなっているでしょうか?
動画間で一貫性がありますか?たとえば、笑顔の角度がほとんど同じですか?あまりにも多様すぎると、結果が混乱します。
フレーム間の違いから「笑み」の動きがはっきりと確認できますか?あまりに同じ画像が連続すると、4枚または9枚とも同じ画像になってしまう可能性があります。
正方形に切り抜く際に、コンセプトの重要な部分が失われませんか?
画像の重要な部分にロゴなどがありませんか?
上記の質問のいずれかに「いいえ」と答える場合は、そのクリップを慎重に検討してください。Photoshopで修正できる場合もありますが、時間がかかります。
データの準備
これで生の画像データセットを手に入れました。次に以下の処理を行います:
- 不要な部分(例:ロゴなど)を除去;
- 順序を整える;
- 正方形に切り取り;
- 512x512(または256x256)にリサイズ;
- グリッドに結合;
- グリッドをリサイズ。
清掃と切り取り
この作業はPhotoshopで行います。退屈な作業です。特に言うことはありません。
ただ一つアドバイス:同じクリップのフレームをまとめてスタックし、一度にすべてを切り取ります。その後「レイヤーをファイルにエクスポート」機能を使うと時間を節約できます。
すべてのグリッドにおいて、フレームの順番は論理的に一貫していなければなりません。例:「笑顔」が1フレームごとに広がっていくように。逆方向になっていたら逆順にしてください。さもなければ、最終的な結果に順序の乱れが生じます。
*もし面倒くさくて手を抜くなら、モデルを過学習させることができます。過学習は若干の助けになる(最終結果がデータセット内の1つの画像に依存するようになる)ものの、結果はダメージを受けます。
*今後、私たちのUIがこのプロセスを自動化する予定です。
リサイズ
おそらく誰もが知っているかもしれませんが、Birme は非常に優れたツールです。
グリッドへの結合
方法はさまざまです。以下はいくつかの例:
Photoshopを使って手動で結合する。1024x1024(2x2フレーム用)または1536x1536(3x3フレーム用)の空キャンバスを作成し、各フレームを順番に配置。同じクリップのフレームをまとめてレイヤーをマージし、個別にエクスポートする。
このPythonスクリプト(@Bartuba提供)を使う:
すべての準備済みフレームが入ったフォルダにスクリプトを配置(ファイル名は英字で、解像度は512x512);
コマンドプロンプトを開く;
python 0sq.py png 3x3と入力(0sqはスクリプト名、pngは拡張子、3x3はグリッドの種類)。
2x2グリッド用は512x512、3x3グリッド用は768x768にリサイズします。
以上、この部分のまとめです!
このガイドを作成したのは、役立つツールを共有し、グリッドモデルのトレーニングを試したい方々に少しでも手助けしたいからです。次のステップについてはまだ決めていませんので、このままにしておきます。UIの開発完了後に戻ってきます。
良い一日を!
タグ付け
未定(TBD)
トレーニング
未定(TBD)
結果の確認と分析
未定(TBD)
コメント欄や私のDiscordチャンネルで、どんな質問も歓迎します。
また、AIアートを使ったゲームも制作しています。将来的には無料で公開予定ですが、開発に参加されたい、または早期アクセスをご希望の方は、Patreonでの支援をどうぞ。
ちなみに、私の「濡れ髪LoRA」はここでは禁止されていますが、理由はわかりません。最新バージョンは、私のPatreonから無料ダウンロード可能です。


