ReCaVSR 一步完成 4 倍视频放大,现已登陆 ComfyUI

ComfyUI Wikinews

ReCaVSR 基于 Wan2.2,每个块只需一步去噪即可将片段放大 4 倍。ComfyUI 节点、6.3 GB 的 int8 文件以及 ComfyUI Manager 安装方式现已可用。

ReCaVSR 是来自 USTC 的一步式视频超分辨率模型,基于 Wan2.2 TI2V-5B 构建。11 月 10 日发布的 ComfyUI 移植版将其封装为两个原生节点,可通过 ComfyUI Manager 安装,并新增了一个 6.3 GB 的 int8 文件,使 1440p 的 4 倍放大能在 8 GB 显卡上运行。

该模型每次处理 21 帧、再处理 8 帧,每个块只需一步去噪,并将上一个块的 latent 以及过去 key 和 value 的缓存向前传递。它自带的流式解码器 FlashDecoder 会在每个块处理完成后立即将其转换为帧,因此更长的片段消耗的是时间和磁盘空间,而不是内存。

雨夜街道 4 倍放大,960×480 到 3840×1920,来自项目的演示集。

4 倍放大的街道4 倍放大的人像
960×480 到 3840×1920,上方为输入360×360 到 1440×1440,左侧为输入

速度

两个片段,分别为 149 帧和 180 帧,在 Linux 上通过 ReCaVSR Upscale Video 节点运行,使用 ComfyUI 0.44.0、sage attention 和动态 VRAM:

雨夜街道,960×480 到 3840×1920RTX 3090RTX 40904090 峰值 VRAM
bf16 transformer114 秒59 秒22.6 GB
int8 ConvRot67 秒36 秒21.2 GB

人像片段,360×360 到 1440×1440,在 4090 上配合 int8 文件可降至 15 秒和 11.6 GB。限制到 12 GB 或 8 GB 显卡时,同一个人像仍能在 23 秒和 27 秒内完成。

int8 文件为 6.27 GB,而 bf16 为 10.6 GB,并且在每一帧上与 bf16 输出的差距维持在约 48 dB。

bf16 与 int8 对比,1:1 裁剪

上方为 bf16,下方为 int8,输出画面的 1:1 裁剪。

运行方式

  1. 安装节点:在 ComfyUI Manager 中搜索 ReCaVSR video super-resolution,运行 comfy node install comfyui-recavsr,或将 ComfyUI-ReCaVSR 克隆到 custom_nodes 并安装其依赖项。
  2. 将 kopper/ReCaVSR 中的 prompt.safetensors(4.2 MB)和 flashdecoder.safetensors(229 MB)放入 ComfyUI/models/recavsr,然后把 bf16 的 transformer.safetensors 或 int8 ConvRot 文件 添加到同一文件夹。
  3. 打开 模板 → ComfyUI-ReCaVSR → recavsr_video_4x,加载片段,加入队列。链路为 加载视频 → ReCaVSR Upscale Video → 保存视频,输出会保留输入的音频和帧率。

值得了解的设置

  • 缩放 4 是模型训练时使用的倍数;原始仓库还记录了 2 和 1.5。不是 32 的倍数的尺寸会被填充,然后再裁剪回来。
  • 解码器: flashdecoder 是模型自带的,比 Wan 2.2 VAE 快 25 到 40 倍。vae 选项能绘制更精细的纹理,前提是你有时间。
  • color_fix: none、adain 或 wavelet,即 StableSR 风格的校正,用于在放大导致颜色偏移时修正。
  • kv_offload 在块之间把注意力历史移到 RAM。在 16 GB 显卡上运行 3840×1920 时需要它,而在 1440p 下会损失 7% 到 16% 的速度。
  • 没有 Triton 时,两个注意力内核都会回退到 PyTorch,速度会慢很多。Windows 安装通常就属于这种情况。

bf16 路径需要计算能力 7.5 或更高的 NVIDIA GPU 来运行 int8 GEMM;低于该版本时,权重会在加载时反量化。

可用性

评论

使用 GitHub 登录后即可参与讨论。

评论加载中…
ReCaVSR 一步完成 4 倍视频放大,现已登陆 ComfyUI | ComfyUI Wiki