jamichss/Stream-DiffVSR

[ECCV 2026 Spotlight] The official repository of paper "Stream-DiffVSR: Low-Latency Streamable Video Super-Resolution via Auto-Regressive Diffusion"

Stream‑DiffVSR – 低延迟、可流式传输的视频超分辨率

功能 – Stream‑DiffVSR 是一个基于扩散的视频超分辨率 (VSR) 系统,可在线运行:它只查看过去的帧,因此可用于实时视频流。该模型运行蒸馏的 4 步去噪器、对齐运动线索的自回归时间引导 (ARTG) 块,以及带有时间处理模块 (TPM) 的轻量级时间解码器,以保持细节和时间一致性。

重要性 – 传统的扩散 VSR 需要未来帧和许多去噪步骤,导致延迟从几秒到几分钟。Stream‑DiffVSR 在 RTX 4090 上约 0.33 秒内处理 720p 帧,比先前的在线最先进方法 (TMP) 快 >130 倍。这使得扩散质量的 VSR 适用于实时或低延迟应用,例如视频通话、流媒体或实时广播。

主要组件

  • 四步蒸馏去噪器 – 将通常的 20‑30 个扩散步骤减少到仅四个,缩短推理时间。
  • 自回归时间引导 (ARTG) – 在去噪当前潜在变量时,注入来自早期帧的运动对齐信息。
  • 时间处理模块 (TPM) – 时间感知解码器的一部分,精炼空间细节并强制跨帧一致性。

开始使用

  1. 克隆与设置 – git clone https://github.com/jamichss/Stream-DiffVSR.git 然后从 requirements.yml(或 RTX 特定的 requirements-cu12.txt)创建 conda 环境。
  2. 运行推理 – CLI inference.py 自动从 Hugging Face 拉取预训练模型:
    python inference.py \
        --model_id Jamichsu/Stream-DiffVSR \
        --in_path  /path/to/low‑res/frames \
        --out_path /path/to/high‑res/output \
        --num_inference_steps 4
    
    输入应为子目录的文件夹,每个子目录包含有序的 PNG 帧列表。
  3. 可选速度提升 – 添加 --enable_tensorrt(需要指定输出高度/宽度)以编译 TensorRT 引擎。这会以少量质量损失换取更高吞吐量。
  4. Gradio UI – 安装 requirements-app.txt 并启动 python app.py 以获得网页 UI,该 UI 从视频中提取帧、运行模型,并重新组装带有原始音频的升级视频。
  5. Docker – 提供现成可运行的镜像;使用 docker build -t stream-diffvsr-gradio . 构建,并使用 GPU 访问运行。

训练 – 仓库还包含重现作者训练管线的脚本:

  • 阶段 1:使用 rollout 蒸馏进行 UNet 训练。
  • 阶段 2:在时间解码器中训练 TPM。
  • 阶段 3:冻结 UNet 和 TPM 时训练 ARTG。

训练使用 REDS 和 Vimeo‑90K 数据集(路径在 dataset/config_*.yaml 中设置)。UNet 从 StableVSR 权重初始化,时间解码器权重来自 TAESD‑X4,两者都会自动下载。

模型位置 – 预训练权重托管在 Hugging Face 上的 Jamichsu/Stream-DiffVSR。推理脚本会即时获取它们,因此无需手动下载。

引用 – 如果您使用代码或模型,请引用 arXiv 论文 (arXiv:2512.23709)。


以上所有信息直接取自仓库的 README。

相关

  • 项目
  • 项目
  • 项目
  • 项目