
ローカルで可能な動画のAI高画質化・SeedVR2を試した話
はじめに
SeedVR2とは、中国バイトダンス社が公開しているSeedVRの改良バージョンです。(ミドルクラスのゲーミングPC)ローカル環境で実行できる数少ない動画の高画質化AIモデルです。
登場したのは半年ほど前ですが、筆者が試した限り、ローカルではVRAMが全く足りず、実用的ではないというものでした。
しかし最近のaiaicreateさんの記事によると、16GBのVRAMでも十分動作するという事で、再度チャレンジしてみました。
※ 先に結論ですが、RTX 3060 (12GB)でも動作しました
AI動画ではなく、(フリー素材の)リアル動画です。
✅左:480x576解像度25fps ✅右(SeedVR2後):1072x1280解像度50fps
25fps/9秒動画の変換で966秒(RTX 3060)でした。ただし、SeedVR2部のみです。
導入
ComfyUIのカスタムノードを利用します。
ただし、通常mainブランチだと以前と同じでCPUオフロード利用でもVRAMが全く足りず使い物になりません。
nightly版を利用する必要があります。ComfyUI-Manager経由ではなく、直接gitコマンドで導入します。
※ 原因は調べていませんが、ComfyUI-Manager経由でnightlyに切り替えても上手くいきませんでした
# カスタムノードディレクトリに移動してcloneし、
cd custom_nodes
git clone https://github.com/numz/ComfyUI-SeedVR2_VideoUpscaler.git
# nightly版に切り替えます
cd ComfyUI-SeedVR2_VideoUpscaler
git switch nightly
# 必要であれば(ComfyUI仮想環境に入った後)
pip install -r requirements.txtComfyUIワークフロー
動画ファイルの読み込み
(オプション)JPEGノイズ削除
SeedVR2処理
(オプション)FILM VFIを利用してFPSを2倍にする
動画h264形式で動画ファイルの出力


オフロード設定の「SeedVR2 BlockSwap Config」を最大(36)に
RTX 3060 (12GB)でも、7B_sharp_fp8モデルが利用できました。指定すれば、初回時に自動ダウンロードしてくれます
RTX 3060では、アップスケール後の解像度は、FullHD・1080あたりが上限だと思います
batch_sizeを大きくすれば一貫性を保つ事(高画質になる)ができます。ただし、ちょっと大きくするだけでVRAMがすぐに溢れます
まとめ
ローカルで実行できると言っても、動画のAI高画質化手法はどれも激遅です。
上記事は、各フレームを一枚の画像単位で単純アップスケールするものですが、一長一短あります。
一枚画像だけで比較すれば、(アニメやフィルム系などをモデル指定できるため)画像アップスケーラ利用の方が高画質になりがちですが、動画の場合は時間軸方向の一貫性も重要になります。
それらを考慮できるSeedVR2の方が手法としては高度だと思います。
しかし、必ずしも(高度な手法の)SeedVR2の方が良くなるわけでもないようで、動きの激しいシーンは逆にオリジナルよりも劣化してしまう事があります。batchサイズも画質に強く影響してそうです。
使い分けとしては、「汚い劣化した動画の修復」にはSeedVR2が適切で、「綺麗なデジタル動画をより綺麗」の場合はESRGANなどの画像アップスケーラの利用が良さそうに思います。
付録
支援者様(メンバーシップ)向けとして、本記事で利用したComfyUIワークフローのjsonファイルを添付します。参考程度にご利用ください。