UI 後処理 - Zuntan03/EasyWan22 GitHub Wiki
シードガチャで当たりを引いた動画を、後から品質向上する仕上げの後処理です。
シードガチャ中にアップスケールやフレーム補間の後処理をするのは、とても非効率ですのでご注意ください。
サンプルは生成の再現目的で後処理が有効になっておりますので、参考にする際にはご注意ください。
PostProcess と LoadWebpVideo による後処理の基本手順
PostProcessとPostProcessSourceのLoadWebpVideoを無効にしてシードガチャで当たりを探す。- 当たりの
*.webpを ComfyUI の余白部分にドラッグ&ドロップしてワークフローとして開く。 PostProcessSourceのLoadWebpVideoを有効にして、LoadWebpVideoでもう一度*.webpを開く。PostProcessを有効にして実行する。- デフォルトでは Refiner とアップスケールとフレーム補間が有効になります。
Refiner
リファイナは動画を拡大しつつ LowNoise で細部を仕上げます。
Stepsで書き換えのステップ数を指定します。UseUpscalerでアップスケーラで拡大してから書き換えます。有効推奨。LongSideで拡大後の動画のサイズを、長辺のピクセル数で指定します。
a * 1.5やa * 2.0で 1.5倍や 2倍にします。1280のように直接ピクセル数を指定することもできます。AdditionalSeedは通常のシードにこの値を加算して Refine します。- 通常の動画生成のシードガチャ当たりを
PostProcessSourceのLoadWebpVideoで読み込み、AdditionalSeedをincrementにして実行する(即時)にすると、Refine のシードガチャができます。 - Refiner のシードガチャで当たりを引けたら、Refiner の当たり動画を
LoadWebpVideoで読み込み、Refinerを無効に戻すと、DetailerやUpscaleやFrameInterpolationを続けて適用できます。
- 通常の動画生成のシードガチャ当たりを
Detailer
顔などを自動検出して、部分的に高解像度にして、リファイナと同様に細部を仕上げます。
Stepsは書換量を指定します。
あまり絵を変えずに仕上げたい場合は1~2、後述の区域別プロンプトで表情などを変えたい場合は4~を指定します。LongSideは拡大後の最大長辺をピクセル数で指定します。
VRAM が溢れない範囲で大きくすると、よりきれいに仕上げます。Timingでは Detailer の適用をRefinerの前にするか後にするかを指定できます。- Refiner の前に Detailer を掛けた場合、書き換え範囲の境界線を Refiner が目立ちにくくしてくれます。
- Refiner の後に Detailer を掛けた場合、区域別のプロンプト指示結果を残しやすくなります。
AdditionalSeedは通常のシードにこの値を加算して Detailer を掛けます。- 通常の動画生成のシードガチャ当たりを
PostProcessSourceのLoadWebpVideoで読み込み、AdditionalSeedをincrementにして実行する(即時)にすると、Detailer のシードガチャができます。 - Detailer のシードガチャで当たりを引けたら、Detailer の当たり動画を
LoadWebpVideoで読み込み、Detailerを無効に戻すと、UpscaleやFrameInterpolationを続けて適用できます。
- 通常の動画生成のシードガチャ当たりを
Upscaleを有効にすると、拡大時にアップスケーラを利用します。
特に問題が無ければ有効推奨です。
Detector, 検出器
部位の検出方法や、部位別のプロンプト指定ができます。
Modelで YOLO 系の検出モデルを選択します。
Model/ultralytics/以下に検出モデルを追加すると、rキーやリロード後に利用できます。Thresholdで検出スコアを指定します。
値を低くすると検出数が増えて、検出できなかったモノが検出できるようになりますが、誤検出もふえます。
逆に値を高くすると検出数が減って誤検出を抑えられますが、検出できなくなる場合があります。TakeTargetで検出部位の並べ替え方法を指定し、TakeOrderで昇順か降順のどちらかを選べます。 面積、幅と高さ、縦や横の位置、検出確度で並べ替えができます。TakeStartとTakeCountで何番目から何個の検出部位を Detailer に掛けるかを指定できます。
TakeCountを1でTakeStartをずらしつつ、Detailer後のAsset.webpをLoadWebpVideoで読み込めば、複数の顔を一つずつ仕上げるといったことも可能です。- プロンプト入力欄では
,のカンマ区切りで、検出部位別にプロンプトを適用できます。
プロンプトの内容にはカンマを利用できませんのでご注意ください。
利用例
- シンプルに部位の品質を上げたいなら、
Stepsを2にしてDetailer ⇨ Refiner。 - プロンプトで表情などの見た目を変更したいなら、
Stepsを4にしてDetailer ⇨ Refiner。RefinerのStepsを2から1に減らすと、変更を維持しやすくなります。
- 部位を最高解像度で描画したいなら、
Refiner ⇨ DetailerでStepsを2~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-Param の FrameRate と FrameMultiplier で FPS やフレーム補間の乗数を直接指定することもできます。
FAQ
後処理を有効にしても効果がない
後処理を有効にするには Refiner, Upscale, VideoFrameInterpolation などの各機能を有効にしつつ、一括で後処理の有効無効を切り替えられる PostProcess も有効にする必要があります。
ポストプロセスにはワークフロー右側に含まれる次の機能が含まれています(処理順)。
Refiner, Trim, ColorMatch, PointMosaic, AutoMosaic, MaskMosaic, ColorCorrect, RepeatFade, Upscale, AddLabel, AppendVideo, VideoFrameInterpolation