UI 後処理 - Zuntan03/EasyWan22 GitHub Wiki

シードガチャで当たりを引いた動画を、後から品質向上する仕上げの後処理です。

シードガチャ中にアップスケールやフレーム補間の後処理をするのは、とても非効率ですのでご注意ください。
サンプルは生成の再現目的で後処理が有効になっておりますので、参考にする際にはご注意ください。

PostProcessLoadWebpVideo による後処理の基本手順

  1. PostProcessPostProcessSourceLoadWebpVideo を無効にしてシードガチャで当たりを探す。
  2. 当たりの *.webp を ComfyUI の余白部分にドラッグ&ドロップしてワークフローとして開く。
  3. PostProcessSourceLoadWebpVideo を有効にして、LoadWebpVideo でもう一度 *.webp を開く。
  4. PostProcess を有効にして 実行する
    • デフォルトでは Refiner とアップスケールとフレーム補間が有効になります。

Refiner

リファイナは動画を拡大しつつ LowNoise で細部を仕上げます。

  • Steps で書き換えのステップ数を指定します。
  • UseUpscaler でアップスケーラで拡大してから書き換えます。有効推奨。
  • LongSide で拡大後の動画のサイズを、長辺のピクセル数で指定します。
    a * 1.5a * 2.0 で 1.5倍や 2倍にします。1280 のように直接ピクセル数を指定することもできます。
  • AdditionalSeed は通常のシードにこの値を加算して Refine します。
    • 通常の動画生成のシードガチャ当たりを PostProcessSourceLoadWebpVideo で読み込み、AdditionalSeedincrement にして 実行する(即時) にすると、Refine のシードガチャができます。
    • Refiner のシードガチャで当たりを引けたら、Refiner の当たり動画を LoadWebpVideo で読み込み、Refiner を無効に戻すと、DetailerUpscaleFrameInterpolation を続けて適用できます。

Detailer

顔などを自動検出して、部分的に高解像度にして、リファイナと同様に細部を仕上げます。

  • Steps は書換量を指定します。
    あまり絵を変えずに仕上げたい場合は 1~2、後述の区域別プロンプトで表情などを変えたい場合は 4~ を指定します。
  • LongSide は拡大後の最大長辺をピクセル数で指定します。
    VRAM が溢れない範囲で大きくすると、よりきれいに仕上げます。
  • Timing では Detailer の適用を Refiner の前にするか後にするかを指定できます。
    • Refiner の前に Detailer を掛けた場合、書き換え範囲の境界線を Refiner が目立ちにくくしてくれます。
    • Refiner の後に Detailer を掛けた場合、区域別のプロンプト指示結果を残しやすくなります。
  • AdditionalSeed は通常のシードにこの値を加算して Detailer を掛けます。
    • 通常の動画生成のシードガチャ当たりを PostProcessSourceLoadWebpVideo で読み込み、AdditionalSeedincrement にして 実行する(即時) にすると、Detailer のシードガチャができます。
    • Detailer のシードガチャで当たりを引けたら、Detailer の当たり動画を LoadWebpVideo で読み込み、Detailer を無効に戻すと、UpscaleFrameInterpolation を続けて適用できます。
  • Upscale を有効にすると、拡大時にアップスケーラを利用します。
    特に問題が無ければ有効推奨です。

Detector, 検出器

部位の検出方法や、部位別のプロンプト指定ができます。

  • Model で YOLO 系の検出モデルを選択します。
    Model/ultralytics/ 以下に検出モデルを追加すると、r キーやリロード後に利用できます。
  • Threshold で検出スコアを指定します。
    値を低くすると検出数が増えて、検出できなかったモノが検出できるようになりますが、誤検出もふえます。
    逆に値を高くすると検出数が減って誤検出を抑えられますが、検出できなくなる場合があります。
  • TakeTarget で検出部位の並べ替え方法を指定し、TakeOrder で昇順か降順のどちらかを選べます。 面積、幅と高さ、縦や横の位置、検出確度で並べ替えができます。
  • TakeStartTakeCount で何番目から何個の検出部位を Detailer に掛けるかを指定できます。
    TakeCount1TakeStart をずらしつつ、Detailer 後の Asset.webpLoadWebpVideo で読み込めば、複数の顔を一つずつ仕上げるといったことも可能です。
  • プロンプト入力欄では , のカンマ区切りで、検出部位別にプロンプトを適用できます。
    プロンプトの内容にはカンマを利用できませんのでご注意ください。

利用例

  • シンプルに部位の品質を上げたいなら、Steps2 にして Detailer ⇨ Refiner
  • プロンプトで表情などの見た目を変更したいなら、Steps4 にして Detailer ⇨ Refiner
    • RefinerSteps2 から 1 に減らすと、変更を維持しやすくなります。
  • 部位を最高解像度で描画したいなら、Refiner ⇨ DetailerSteps2~4
    • 境界線が目立つかどうかは運次第なので、AdditionalSeed の利用します。

Trim

Trim(Start|End)Frames で指定したフレーム数を(先頭|末尾)から切り取ります。

ColorMatch

開始画像と動画の色を合わせます。

ColorCorrect

動画の色を明るさ・コントラスト・彩度・ガンマ・色相・色寄せで調整します。

RepeatFade

動画の先頭数フレームを切り取り、動画の末尾でクロスフェードします。
ループ時のパキッとした切り替えが苦手な方向けです。
クロスフェードの分、動画は短くなります。

RepeatFadeFrames でクロスフェードするフレーム数を指定します。

動画をきれいにループする機能ではありません。

Upscale

2倍のサイズにアップスケールします。
細かな齟齬はありつつも、平均点は向上しますので仕上げの後処理として利用推奨です。

AddLabel

動画の上下に文字列を表示できます。日本語の利用が可能です。
AddLabelPreview を有効にすると、動画を 2フレームだけに変更し、短時間でラベルの表示結果を確認できます。

AppendVideo

事前に用意した動画を PreviousWebpVideo に設定し、後処理の動画を繋げます。

TrimEndFrames で前動画の末尾を切り取れます。
前動画の EndFrame から動画を生成した場合に、重複するフレームを削除できます。
付け足す後処理側の開始フレームを削除したい場合は、TrimStartFrames をご利用ください。

AppendTiming で動画を連結するタイミングを選択できます。

  • PreUpscale: 動画を連結してからまとめてアップスケールしたい場合に利用します。
  • PreAddLabel: ラベルを追加する前に連結します。両方の動画で同一のラベルを設定したい場合に利用します。
  • PreInterpolation: フレーム補間の前で連結します。前動画でラベルを設定済みで、後処理で異なる内容のラベルを指定したい場合に利用します。

FrameInterpolation

動画のフレーム間を補間して、滑らかにします。仕上げの後処理として利用推奨です。
60FPS, 60FPS x1.3 Speed, 30FPS の3種類から選んでください。

通常は利用しませんが、VFI-ParamFrameRateFrameMultiplier で FPS やフレーム補間の乗数を直接指定することもできます。

FAQ

後処理を有効にしても効果がない

後処理を有効にするには Refiner, Upscale, VideoFrameInterpolation などの各機能を有効にしつつ、一括で後処理の有効無効を切り替えられる PostProcess も有効にする必要があります。

ポストプロセスにはワークフロー右側に含まれる次の機能が含まれています(処理順)。
Refiner, Trim, ColorMatch, PointMosaic, AutoMosaic, MaskMosaic, ColorCorrect, RepeatFade, Upscale, AddLabel, AppendVideo, VideoFrameInterpolation