Ascend-SACT/FlashVSR-V1.1
模型介绍文件和版本Pull Requests讨论分析

简介

Towards Real-Time Diffusion-Based Streaming Video Super-Resolution

Authors: Junhao Zhuang, Shi Guo, Xin Cai, Xiaohui Li, Yihao Liu, Chun Yuan, Tianfan Xue


扩散模型近年来推动了视频修复技术的发展,但由于高延迟、计算量巨大以及对超高分辨率泛化能力差等问题,将其应用于实际视频超分辨率(VSR)仍然面临挑战。本文旨在通过提高效率、可扩展性和实时性能,使基于扩散的VSR成为现实。为此,我们提出了FlashVSR,这是首个面向实时VSR的基于扩散的一步式流式框架。FlashVSR 结合了三项互补的创新技术,能够在单个 A100 GPU 上以 17 FPS 的帧率处理 768×1408 像素的视频:(i) 一个便于训练的三阶段蒸馏流水线,支持流式超分辨率;(ii) 局部约束稀疏注意力机制,在减少冗余计算的同时弥合训练集和测试集之间的分辨率差距;(iii) 一个小型条件解码器,在不牺牲质量的前提下加速重建。为了支持大规模训练,我们还构建了 VSR-120K,这是一个包含 12 万个视频和 18 万张图像的新数据集。大量实验表明,FlashVSR 能够可靠地扩展到超高分辨率,并达到最先进的性能,相比之前的单步扩散 VSR 模型,速度提升高达 12 倍。

本代码仓,基于开源项目FlashVSR-V1.1,针对Ascend NPU做亲和适配,优化。

准备运行环境

配套版本下载链接
CANN8.5.0链接
MindIE-SD最新链接
torch2.6.0-
torch_npu2.6.0-

使用方法

下载代码

git clone https://atomgit.com/Ascend-SACT/FlashVSR-V1.1.git
cd FlashVSR-V1.1

安装依赖

pip install -r requirements.txt

下载权重

cd examples/WanVSR
git lfs install
git lfs clone https://huggingface.co/JunhaoZhuang/FlashVSR-v1.1

修改

# infer_flashvsr_v1.1_tiny.py
MODEL_PATH = os.environ.get("FLAHVSR_MODEL_PATH", default="/workdir/FlashVSR-v1.1/")

#修改点 /workspace/FlashVSR-V1.1/diffsynth/pipelines/flashvsr_tiny.py:init_cross_kv +239
MODEL_PATH = os.environ.get("FLAHVSR_MODEL_PATH", default="/workdir/FlashVSR-v1.1/")
240         #prompt_path = "../../examples/WanVSR/prompt_tensor/posi_prompt.pth"
241         prompt_path = f"{MODEL_PATH}/posi_prompt.pth"


#修改点 /workspace/FlashVSR-V1.1/diffsynth/pipelines/flashvsr_full.py
259         MODEL_PATH = os.environ.get("FLAHVSR_MODEL_PATH", default="/workdir/FlashVSR-v1.1/")
260         prompt_path = f"{MODEL_PATH}/posi_prompt.pth"

# /workspace/FlashVSR-V1.1/diffsynth/pipelines/flashvsr_tiny_long.py
259         MODEL_PATH = os.environ.get("FLAHVSR_MODEL_PATH", default="/workdir/FlashVSR-v1.1/")
260         prompt_path = f"{MODEL_PATH}/posi_prompt.pth"

运行

# 执行环境变量
source /usr/local/Ascend/ascend-toolkit/set_env.sh
// 注:/path/to需要换成项目的实际路径
export PYTHONPATH=/path/to/FlashVSR-V1.1:$PYTHONPATH
python infer_flashvsr_v1.1_full.py
or
python infer_flashvsr_v1.1_tiny.py
or
python infer_flashvsr_v1.1_tiny_long_video.py
下载使用量0