Bucketing downscaler (Downscales and sorts images to expected bucket sizes)
詳細
ファイルをダウンロード
このバージョンについて
モデル説明
これは、バケットを計算して画像を最も近い最大のバケットに縮小するためのシンプルなスクリプトです。データセットのテスト目的でのみ使用し、トレーニングには使用しないでください…アップロードサイズ制限を回避しようとしている場合を除きます!
また、私は普段PowerShellを扱わないので、バグが含まれている可能性があります。
このスクリプトはV2にアップデートされ、プレビューの作成に加えて、元の画像をバケットに整理する機能が追加されました。V3では切り抜き機能が追加され、V4では切り抜きの配置を指定できるようになりました。
V4
切り抜きと埋め込みのための上下中央、左右中央の配置オプションを追加しました。上、下、中央の場合はそれぞれU、D、Cと入力し、左、右、中央の場合はL、R、Cと入力してください。
動作の仕組み:左配置では、画像の左端を左に揃え、右側を切り抜くか、右側を白で埋めます。
V3
いくつかのバグを修正し、生成されたテスト画像の最大側を切り抜いて、最も適合するバケットにぴったり収まるようにする、中央切り抜きオプションを追加しました。この機能では、画像の切り抜き量を最小限に抑えます。
これにより、理論的には縮小した画像をトレーニングに使用できますが、それでも使用前に確認・シャープネス調整・フィルタリングを推奨します。
元のフルサイズのデータセットは必ず保管してください!
V2:
誰かが「このスクリプトで元の画像を対応するバケットに分類できるのか?」と尋ねたので、出力フォルダを追加し、3種類のサブフォルダを作成するようにしました:バケットに縮小(または不自然に拡大)された画像、バケットに分類された元画像、バケットを正しく埋めるために拡大が必要な元画像。縮小画像はプレビュー用のみであり、トレーニングには使用しないでください。
以下のように表示されます:

画像がPNGでない場合、無視され、代わりにPNGコピーが作成・使用されます。元の画像がすでにPNGの場合は、そのまま移動されます。
V1:
このスクリプトの目的は、縮小処理によって画像が多すぎるディテールを失っていないかを検証することです。将来的に再利用できるよう、可能な限り高解像度の画像を保持することがベストです。縮小した画像は使用する必要はありません。この操作でトレーニングに何のメリットも得られません。
スクリプトはバケットパラメータを尋ねます。LORA Easyトレーニングスクリプト(kohya-ssについては不明)でのデフォルト値は以下の通りです:
SD1.5の場合:
トレーニング解像度:512
最小解像度:256
最大解像度:1024
ステップ:64
SDXLの場合(変動する可能性あり):
トレーニング解像度:1024
最小解像度:512
最大解像度:2048
ステップ:128
このスクリプトは再帰的で、サブフォルダ内のすべての画像を処理します。また、変換部分を削除し忘れたため、ほとんどの画像形式を読み取り、PNGに変換します。
スクリプトは、画像の幅と高さの比に基づいて利用可能な最大バケットを計算し、その後画像を縮小して中央に配置し、余ったスペースは白色で埋めます。
使用手順:
スクリプトをフォルダに配置する
そのフォルダ内に画像を含むフォルダを配置する
PowerShellスクリプトを右クリックして「実行」をクリックする

Enterキーを押すと、すべてのサブフォルダ内の画像に対して新しいリサイズされたコピーが作成されます
画像の品質を確認してください。品質が悪かったり、ディテールが大幅に失われている場合は、元画像に戻って切り抜きを行うか、データセットから削除してください。覚えておいてください:余白、不要な要素、白背景の1画素さえも、キャラクターの顔のディテールに活用できる貴重な画素です。全身画像には特に注意してください。これらは縮小時にディテールを失いやすいからです
終了したら、縮小画像を削除してください。元の高解像度画像が完璧に使えるのであれば、縮小画像をトレーニングに使用しないでください
注意: 追加の権限が必要にならないことを願っていますが、私の環境はかなりカスタマイズされているため、要求される可能性があります。

