Nabby's SDXL Single/Batch Outpainting to Target Size

詳細

ファイルをダウンロード

モデル説明

皆様、こんにちは!これが私のCivitAIへの初投稿です!

このワークフローは、私が抱えていた特定のニーズに合わせて作成しました——複数のサイズの画像を大量に処理し、LORA/チェックポイントのトレーニング用に整えるためです。トレーニングの際、バケット間でバッチ処理はできないため、すべてのトレーニング画像を同じサイズに、または少数の一致したサイズに分けておくのが好みです。特にFluxの時代には、すべてを正方形にする能力が重要です。しかし、私は画像を切り抜いて重要な詳細を失うのが嫌いです。また、一時期は画像に空白パディングを追加して試しましたが、このパディングがLORAで生成される画像のレターボックス部分に時折現れることがありました。そこで最終的に思いついたのが、アウトペイントを使って空白部分を埋めることです——しかし、それを効果的かつ大量にどう実現するべきでしょうか?

このワークフローは、フォルダから一括画像を処理するか、単一画像を処理するかを選択するオプションから始まります。一括処理を選ぶ場合、ComfyUIのコントロールパネルで「追加オプション」ボックスをオンにし、バッチサイズをフォルダ内の画像枚数に設定してください。単一画像処理の場合は、この値を1に戻してください。バッチ読み込みノードは、1枚の画像を処理してから次に進むように設計されています。ComfyUIのバッチカウントボックスは、次々と画像ごとにこの全体のプロセスを再実行するように指示するものです。

各画像に対して、このワークフローはBLIPタグをクエリしてアウトペイント画像のポジティブプロンプトを生成します。また、追加プロンプトセクションでは、独自のカスタムポジティブ・ネガティブプロンプトを追加できます。モデルセクションでは、ダウンロード済みの複数のBLIPモデルから選択できるほか、処理セクションではBLIPアナライザーのさまざまな設定も調整可能です。

画像生成用の主要チェックポイントも選択できます——インペイント用チェックポイントの使用を強く推奨します。私は、AIDutcHY氏のエピックリアリズムXL_v8Kissインペイントモデルマージを使用しており、非常に良い結果を得られています。

epiCRealism XL Inpainting > /model/590835/epicrealism-xl-inpainting

オリジナルモデルへのクレジット:

https://civitai.com/articles/3990

/model/277058

編集: Jonas716氏のImgFixer PreV0.3埋め込みにも感謝します。

これをポジティブプロンプトボックスに追加したところ、アウトペイントの品質が著しく向上しました。

/model/139688/imgfixer-or-negative-ti

出力画像サイズグループでは、1024x1024の最終画像を生成するために私が使用しているプリセットが用意されています。必要に応じて変更できますが、フェザリングやマスク拡張設定を調整して良い結果を得る必要があります。私は1024px画像に対して、マスク拡張32、フェザリング128を使用し、ラインが見えない一貫した結果を得ています。左側のボックスは、アスペクト比を維持したまま入力画像をターゲットサイズにリサイズします。右側のボックスは、その結果をターゲットサイズの中央に配置し、残りのスペースをアウトペイントマスクで埋めます。入力画像のサイズをターゲットアウトペイントサイズより小さく設定すれば、画像全体の周囲にアウトペイントされた境界を作ることができます。また、私は事前に画像をある程度分類して、縮小のみを行うことを好みますが、ターゲットより小さい画像を読み込む場合、アップスケーリング方法を選択するオプションも用意されています。

最後に、アウトペイントは頑固な存在なので、セレクティブワークフローでは、それぞれの入力に対して4つの潜在的な出力画像を生成し、プレビュー選択器に送ります。出力画像設定セクションには、4つのKSamplerボックスがあり、各サンプラー/スケジューラ/ステップなどを個別に選択できます。これは「設定して放置」できるバッチではありません。バッチ内の各画像について、4つのアウトペイント候補の中からお気に入りを選ぶ必要があります。おそらくいくつかの失敗作が残るでしょう。そのため、個別に再試行できる単一画像オプションも用意されています。

一方、自動ワークフローでは、最大4つの画像ストリームを個別に有効化できます。バッチで読み込まれた各画像は、有効な各ストリームを通じて処理され、それぞれ独自のアウトペイント画像が生成・保存されます。加えて、これらのストリームはそれぞれ独自のスケジューラ/ステップ/Cfgなどを設定でき、それぞれの保存名プレフィックスと出力フォルダも指定可能です。

** 新機能 **

セレクティブモードのアイデアは気に入るけど、H100のような高価なハードウェアを購入する余裕はないし、毎回4枚の画像を生成するのを待つのが耐えられない?

自動モードの便利さ——「キューを実行」して後で戻ってくるのが好きだけど、すべての不要な画像を手動で削除するのが面倒?

それなら、両方の長所を兼ね備えた新しい選択肢が登場しました。自動v2.0アドオンは、複数の画像を一括でグリッドに読み込むシンプルな画像選択ワークフローです。どの画像を残すかを選べます。生成プロセスは一切ロードしないため、VRAM消費はポテトレベルで、ほぼ即座に読み込まれます。

ComfyUIのバッチカウントボックスを使って、次の一組に自動で進むこともできますし、毎回「キューを実行」を押して次のセットを読み込むことも可能です。手動で進める利点は、何も選ばずに「キューを実行」を押せば、現在のセットを保存せずに次のセットに進める点です。このセット全体がクズと判明した場合に便利です。

また、このツールは画像の出所に囚われません。そのため、このワークフローと組み合わせる必要もありません。あなたが選んで残したい画像のセットが入った任意のフォルダを処理できます。

セットあたりの画像枚数やフォルダ全体の画像枚数に応じて、必要な基本オプションを設定する必要がありますが、ワークフロー内にその説明が記載されています。また、全体のバッチを最初からやり直す必要がある場合にカウンターを0にリセットできるブールノードも用意されています。

インストール/要件情報:

ご容赦ください。少し複雑ですが、整理しました。設定でリンクを「直線」にしていると、何をやっているかはまだ分かりやすいでしょう。

マネージャー経由で入手できるカスタムノードは、WAS Node Suitergthree's ComfyUI NodesKJNodes for ComfyUIです。ノードが最新であることを確認してください。以前のKJNodesのバージョンには、Target Imageノードが正しいサイズを使わない不具合がありました。また、マスクプレビューノードを動作させるためにComfyUI Essentialsをインストールすることもできますが、これは主にテスト用で、必要なければ削除してください。

Gitからインストールする必要のあるカスタムノードは、cg-image-pickerです。

https://github.com/chrisgoringe/cg-image-picker

BLIPモデルがまだインストールされていない場合、このワークフローはHuggingFaceから私が使用しているモデルを自動でダウンロードします。最初の実行時にBLIP分析ステップでしばらく「処理が止まった」ように見えるかもしれませんが、モデルが取得され次第再開します。手動でインストールしたい場合は、以下からダウンロードし、models/blipフォルダに配置してください。

https://huggingface.co/Salesforce/blip-image-captioning-base

https://huggingface.co/Salesforce/blip-vqa-base

このモデルで生成された画像

画像が見つかりません。