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) – 时间感知解码器的一部分,精炼空间细节并强制跨帧一致性。
开始使用
- 克隆与设置 –
git clone https://github.com/jamichss/Stream-DiffVSR.git然后从requirements.yml(或 RTX 特定的requirements-cu12.txt)创建 conda 环境。 - 运行推理 – CLI
inference.py自动从 Hugging Face 拉取预训练模型:
输入应为子目录的文件夹,每个子目录包含有序的 PNG 帧列表。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 - 可选速度提升 – 添加
--enable_tensorrt(需要指定输出高度/宽度)以编译 TensorRT 引擎。这会以少量质量损失换取更高吞吐量。 - Gradio UI – 安装
requirements-app.txt并启动python app.py以获得网页 UI,该 UI 从视频中提取帧、运行模型,并重新组装带有原始音频的升级视频。 - 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。
相关
- 项目
- 项目
- 项目
- 项目