尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

PaddleGAN 视频超分辨率(Video Super-Resolution)实战指南:EDVR / BasicVSR / BasicVSR++ / PP-MSVSR 全解析

发布时间:2026/9/27 11:04:48

资讯中心
01
ARTICLE

PaddleGAN 视频超分辨率(Video Super-Resolution)实战指南:EDVR / BasicVSR / BasicVSR++ / PP-MSVSR 全解析

PaddleGAN 视频超分辨率(Video Super-Resolution)实战指南:EDVR / BasicVSR / BasicVSR++ / PP-MSVSR 全解析
人工智能深度学习计算机视觉媒体生成视频处理图像处理【免费下载链接】PaddleGANPaddlePaddle GAN library, including lots of interesting applications like First-Order motion transfer, Wav2Lip, picture repair, image editing, photo2cartoon, image style transfer, GPEN, and so on.项目地址https://gitcode.com/gh_mirrors/pa/PaddleGAN点击查看免费下载本指南以 PaddleGAN 仓库的 video_super_resolution.md 为核心系统讲解视频超分辨率VSR的原理、数据集准备、两阶段训练、模型导出与推理全流程并覆盖 EDVR、BasicVSR、IconVSR、BasicVSR、PP-MSVSR 五类模型。读完本文你将掌握如何在 PaddleGAN 中基于 REDS / Vimeo90K / Vid4 / UDM10 数据集训练 VSR 模型读懂各类模型的配置参数与多阶段架构设计并能够独立完成模型的评估、导出与推理。1. VSR 原理从图像超分到视频超分视频超分辨率Video Super-Resolution, VSR源于图像超分辨率目标是给定一张或多张低分辨率LR图像恢复出高分辨率HR图像。两者的本质区别在于视频由多帧组成因此视频超分通常利用帧间信息进行修复——即通过相邻帧之间的时间冗余来补全单帧缺失的高频细节这正是 VSR 优于逐帧独立超分的关键所在。PaddleGAN 目前提供以下视频超分辨率模型模型论文核心思想EDVREDVR: Video Restoration with Enhanced Deformable Convolutional NetworksPCD 金字塔级联可变形对齐 TSA 时空注意力融合BasicVSRBasicVSR: The Search for Essential Components in Video Super-Resolution and Beyond传播Propagation、对齐Alignment、聚合Aggregation、上采样Upsampling四大基本组件IconVSR同 BasicVSR 论文信息回填机制 耦合传播方案作为 VSR 的强基线BasicVSRBasicVSR: Improving Video Super-Resolution with Enhanced Propagation and Alignment二阶网格传播 流引导可变形对齐PP-MSVSRPP-MSVSR: Multi-Stage Video Super-Resolution多阶段深度架构局部融合模块 辅助损失 精炼对齐模块1.1 EDVRPCD 对齐与 TSA 融合EDVR 在 NTIRE19 视频恢复与增强挑战赛的四个赛道中均夺得冠军并以较大优势超过第二名。论文指出视频超分的主要难点有两个如何在存在大幅度运动的情况下对齐多帧如何有效融合具有不同运动和模糊程度的多帧信息。针对难点一EDVR 设计了金字塔、级联、可变形Pyramid, Cascading and Deformable, PCD对齐模块在特征层面使用可变形卷积以从粗到细coarse-to-fine的方式完成帧对齐从而应对大运动场景。针对难点二EDVR 提出时间与空间注意力Temporal and Spatial Attention, TSA融合模块在时间维度和空间维度同时施加注意力以强调对后续恢复任务重要的特征。1.2 BasicVSR 与 IconVSR四大基本组件BasicVSR 以四个基本功能传播 Propagation、对齐 Alignment、聚合 Aggregation、上采样 Upsampling为指导重新审视 VSR 最关键的组件。通过复用已有组件并做最小化重新设计得到简洁的 BasicVSR 流水线在速度与恢复质量上相比许多当时的 SOTA 算法取得了显著提升。进一步地通过引入**信息回填机制information-refill与耦合传播方案coupled propagation**促进信息聚合BasicVSR 可扩展为 IconVSR为后续 VSR 方法提供强基线。1.3 BasicVSR二阶网格传播与流引导对齐BasicVSR 对 BasicVSR 进行重新设计提出二阶网格传播second-order grid propagation与流引导可变形对齐flow-guided deformable alignment。通过增强循环框架中的传播与对齐能力BasicVSR 能更有效地挖掘错位视频帧之间的时空信息。新组件在相近计算约束下带来性能提升在参数量相近的情况下BasicVSR 相比 BasicVSR 在 PSNR 上提升 0.82 dB。在 NTIRE 2021 的视频超分与压缩视频增强挑战赛中BasicVSR 获得三个冠军与一个亚军。1.4 PP-MSVSR多阶段深度架构PP-MSVSR 是一种多阶段 VSR 深度架构通过**局部融合模块local fusion module、辅助损失auxiliary loss与精炼对齐模块refined align module**逐步精化增强结果Stage-1 局部融合模块在特征传播之前先进行局部特征融合强化跨帧特征的融合能力Stage-2 辅助损失使传播模块得到的特征保留更多与 HR 空间关联的信息Stage-3 精炼对齐模块充分利用前一阶段得到的特征信息。大量实验表明PP-MSVSR 在 Vid4 数据集上取得了出色的性能仅用 1.45M 参数即可将 PSNR 提升至 28.13。此外PP-MSVSR 提供1.45M 与 7.4M 参数两档模型以满足不同场景的需求。从源码结构看MSVSR 网络 的__init__严格对应上述三阶段设计stage1_align与stage1_blocks组成局部融合阶段deform_alignAlignmentModule/ReAlignmentModule支撑 stage2/stage3 的传播分支aux_reconstruction等模块实现辅助损失分支forward依次调用stage1→stage2→auxiliary_stage→stage3→upsample当auxiliary_loss开启时同时输出 stage2 辅助分支结果与最终结果见 msvsr.py 的 forward 定义。2. 数据集准备PaddleGAN 的 VSR 任务常用 4 个数据集REDS、Vimeo90K、Vid4、UDM10。其中 REDS 与 Vimeo90K 包含训练集与测试集Vid4 与 UDM10 为测试集。下载并解压所需数据集后将其放在PaddleGAN/data目录下。2.1 REDSREDSdownload是 NTIRE19 竞赛提出的高质量720p视频数据集包含240 个训练片段、30 个验证片段与 30 个测试片段每个片段 100 个连续帧。由于测试集无 ground truth官方选取000、011、015、020四个场景与运动多样的代表性片段作为测试集记作REDS4其余训练与验证片段重新分组为训练集共 266 个片段。处理后的 REDS 目录结构如下PaddleGAN ├── data ├── REDS ├── train_sharp | └──X4 ├── train_sharp_bicubic | └──X4 ├── REDS4_test_sharp | └──X4 └── REDS4_test_sharp_bicubic └──X4 ...2.2 Vimeo90KVimeo90Kdownload由 Tianfan Xue 等人设计用于四项视频处理任务时间帧插值、视频去噪、视频去块、视频超分辨率。该数据集为大规模高质量视频数据集包含从 vimeo.com 下载的89,800 个视频片段覆盖大量不同场景与动作。处理后的 Vimeo90K 目录结构如下PaddleGAN ├── data ├── Vimeo90K ├── vimeo_septuplet | |──sequences | └──sep_trainlist.txt ├── vimeo_septuplet_BD_matlabLRx4 | └──sequences └── vimeo_super_resolution_test |──low_resolution |──target └──sep_testlist.txt ...2.3 Vid4Vid4Data Download是常用的 VSR 测试数据集包含4 个视频片段。处理后的 Vid4 目录结构如下PaddleGAN ├── data ├── Vid4 ├── BDx4 └── GT ...2.4 UDM10UDM10Data Download是常用的 VSR 测试数据集包含10 个视频片段。处理后的 UDM10 目录结构如下PaddleGAN ├── data ├── udm10 ├── BDx4 └── GT ...3. 训练与测试3.1 EDVR 的两阶段训练流程按通道数划分EDVR 分为EDVR_L128 通道与EDVR_M64 通道。以 EDVR_M 为例训练一般分为两个阶段第一阶段先训练不含 TSA 模块的 EDVR。训练命令python -u tools/main.py --config-file configs/edvr_m_wo_tsa.yaml测试命令--load指定无 TSA 权重路径python tools/main.py --config-file configs/edvr_m_wo_tsa.yaml --evaluate-only --load ${PATH_OF_WEIGHT_WITHOUT_TSA}第二阶段将无 TSA 的权重作为初始化训练完整的 EDVR 模型。训练命令python -u tools/main.py --config-file configs/edvr_m_w_tsa.yaml --load ${PATH_OF_WEIGHT_WITHOUT_TSA}测试命令python tools/main.py --config-file configs/edvr_m_w_tsa.yaml --evaluate-only --load ${PATH_OF_WEIGHT}对比两份配置文件可清晰看到两阶段的差异edvr_m_wo_tsa.yaml 中model.tsa_iter: 0、generator.w_TSA: Falseedvr_m_w_tsa.yaml 中model.tsa_iter: 50000前 5 万迭代后启用 TSA 训练、generator.w_TSA: True。两份配置共享同一EDVRNet生成器结构核心参数如下配置项默认值edvr_m_w_tsa.yaml含义in_nf / out_nf3 / 3输入/输出通道数RGBscale_factor4超分倍率x4nf64中间特征通道数EDVR_M 为 64EDVR_L 为 128nframes5输入帧数groups8残差组的组数front_RBs5前端残差块数量back_RBs10后端残差块数量center2中心帧索引待恢复帧predeblurFalse是否启用预去模糊HR_inFalse输入是否为 HRw_TSATrue / False是否启用 TSA 融合模块tsa_iter50000 / 0启用 TSA 训练的迭代数两份配置均使用CharbonnierLoss作为像素级损失函数Adam 优化器beta1: 0.9, beta2: 0.99CosineAnnealingRestartLR学习率调度EDVR_M 学习率4e-4periods 为[50000, 100000, 150000, 150000, 150000]训练数据集为VSRREDSDataset并支持--evaluate-only直接评测 PSNR/SSIMcrop_border: 0RGB 通道。3.2 训练其他 VSR 模型训练或测试其他 VSR 模型时可在PaddleGAN/configs下找到对应模型的配置文件然后将命令中的--config-file替换为对应配置即可。仓库已提供basicvsr_reds.yamlBasicVSR生成器BasicVSRNetmid_channels: 64, num_blocks: 30训练 30 万迭代iconvsr_reds.yamlIconVSRbasicvsr_reds.yamlBasicVSR生成器BasicVSRPlusPlusmid_channels: 64, num_blocks: 7, is_low_res_input: True学习率1e-4训练 60 万迭代msvsr_reds.yamlPP-MSVSRREDS 训练配置msvsr_vimeo90k_BD.yamlPP-MSVSRVimeo90K 训练配置。3.3 PP-MSVSR 配置与训练细节msvsr_reds.yaml 展示了 PP-MSVSR 的完整训练配置关键字段如下配置段字段值含义modelnameMultiStageVSRModel多阶段 VSR 模型modelfix_iter2500前 2500 迭代冻结光流网络spynetmodel.generatornameMSVSRPP-MSVSR 生成器model.generatormid_channels32中间特征通道数model.generatornum_init_blocks2特征提取残差块数model.generatornum_blocks3各传播分支残差块数model.generatornum_reconstruction_blocks2重建模块残差块数model.generatoronly_lastTrue是否仅最后一层卷积输出 HR 特征model.generatoruse_tiny_spynetTrue是否使用轻量 SPyNet 光流网络model.generatordeform_groups4stage2/stage3 可变形卷积组数model.generatorstage1_groups8stage1 可变形卷积组数model.generatorauxiliary_lossTrue是否启用 stage2 辅助损失model.generatoruse_refine_alignTrue是否启用 stage3 精炼对齐模块model.generatoraux_reconstruction_blocks1辅助重建残差块数model.generatoruse_local_connnectTrue上采样后是否拼接 stage1 特征局部连接model.pixel_criterionnameCharbonnierLoss像素级损失函数lr_schedulerlearning_rate2e-4初始学习率dataset.trainnum_frames20每个训练样本的帧数dataset.trainbatch_size2批大小8 GPU 环境注释validate.interval—5000每 5000 迭代验证一次源码层面MultiStageVSRModel 实现了fix_iter的分阶段训练策略前 2500 迭代冻结所有spynet参数之后解冻全部参数并把 spynet 的学习率设为0.25即主网络学习率的 1/4。训练时若生成器输出为(out_stage2, output)元组则会同时计算 stage2 辅助损失loss_pix_stage2与最终像素损失loss_pix并求和回传见 msvsr_model.py 的 train_iter这与论文中辅助损失使传播特征保留更多 HR 相关信息的设计一一对应。4. 模型导出以 msvsr 模型为例导出模型使用 tools/export_model.py。其中--inputs_size为输入尺寸--model_name为导出模型名称--model_path为模型权重路径python tools/export_model.py -c configs/msvsr_reds.yaml --inputs_size1,2,3,180,320 --model_name inference --load model_path--inputs_size的格式为batch, frames, channels, height, width即上述示例表示批大小 1、输入 2 帧、3 通道RGB、分辨率 180×320。导出配置由 yaml 中的export_model段控制如- {name: generator, inputs_num: 1}导出产物为可用于 Paddle Inference / Serving / Lite 的推理模型。5. 模型推理以 msvsr 模型为例使用 tools/inference.py 进行推理python tools/inference.py --model_type msvsr -c configs/msvsr_reds.yaml --output_path output_dir从源码看--model_type支持edvr、basicvsr、msvsr等 VSR 模型类型见 inference.py推理时按--model_type分派到对应处理分支并将重建帧逐帧保存到output_path/model_type目录下同时输出 PSNR/SSIM 指标文件。因此训练、导出、推理三者使用同一份配置文件即可保证网络结构一致。6. 实验结果以下结果均在RGB 通道上评估指标为PSNR / SSIM。6.1 REDS4REDS 测试集上的 VSR 定量对比MethodParamete(M)FLOPs(G)REDS4EDVR_M_wo_tsa_SRx43.0022330.4429 / 0.8684EDVR_M_w_tsa_SRx43.3023230.5169 / 0.8699EDVR_L_wo_tsa_SRx419.4297430.8649 / 0.8761EDVR_L_w_tsa_SRx420.63101030.9336 / 0.8773BasicVSR_x46.2937431.4325 / 0.8913IconVSR_x48.6951631.6882 / 0.8950BasicVSR_x47.3240632.4018 / 0.9071PP-MSVSR_reds_x41.4511131.2535 / 0.8884PP-MSVSR-L_reds_x47.4254332.5321 / 0.9083可以看到PP-MSVSR 以 1.45M 的极小参数量即达到 31.25 dB 的 REDS4 PSNR而 7.42M 的 PP-MSVSR-L 在 REDS4 上取得最高分 32.53 dB体现了多阶段架构以较少参数逼近甚至超越大模型的设计目标。6.2 REDS4 上的去模糊定量对比MethodREDS4EDVR_L_wo_tsa_deblur34.9587 / 0.9509EDVR_L_w_tsa_deblur35.1473 / 0.95266.3 Vimeo90K、Vid4、UDM10 上的 VSR 定量对比ModelVimeo90KVid4UDM10PP-MSVSR_vimeo90k_x437.54 / 0.949928.13 / 0.860440.06 / 0.96997. 预训练模型下载以下预训练权重由 PaddleGAN 官方提供.pdparams格式可通过--load参数直接用于测试或作为训练初始化MethodDatasetDownload LinkEDVR_M_wo_tsa_SRx4REDSEDVR_M_wo_tsa_SRx4EDVR_M_w_tsa_SRx4REDSEDVR_M_w_tsa_SRx4EDVR_L_wo_tsa_SRx4REDSEDVR_L_wo_tsa_SRx4EDVR_L_w_tsa_SRx4REDSEDVR_L_w_tsa_SRx4EDVR_L_wo_tsa_deblurREDSEDVR_L_wo_tsa_deblurEDVR_L_w_tsa_deblurREDSEDVR_L_w_tsa_deblurBasicVSR_x4REDSBasicVSR_x4IconVSR_x4REDSIconVSR_x4BasicVSR_x4REDSBasicVSR_x4PP-MSVSR_reds_x4REDSPP-MSVSR_reds_x4PP-MSVSR-L_reds_x4REDSPP-MSVSR-L_reds_x4PP-MSVSR_vimeo90k_x4Vimeo90KPP-MSVSR_vimeo90k_x4注意BasicVSR 系列模型在训练时会通过 spynet 预训练权重 自动加载光流网络参数PP-MSVSR 在fix_iter阶段冻结光流网络、之后以 0.25 倍学习率微调。实际部署时建议先复现 测试命令 确认指标与上表一致再进入导出与推理环节。8. 相关实现与文档训练入口tools/main.py测试使用--evaluate-only权重加载使用--load模型导出tools/export_model.py模型推理tools/inference.py--model_type支持edvr / basicvsr / msvsr等网络实现EDVR 见 generators/edvr.pyBasicVSR 系见 generators/basicvsr.pyPP-MSVSR 见 generators/msvsr.py模型封装EDVR 见 models/edvr_model.pyPP-MSVSR 见 models/msvsr_model.py数据集REDS 见 vsr_reds_dataset.py 与 vsr_reds_multiple_gt_dataset.pyVimeo90K 见 vsr_vimeo90k_dataset.py。ReferencesEDVR: Video Restoration with Enhanced Deformable Convolutional NetworksInProceedings{wang2019edvr, author {Wang, Xintao and Chan, Kelvin C.K. and Yu, Ke and Dong, Chao and Loy, Chen Change}, title {EDVR: Video Restoration with Enhanced Deformable Convolutional Networks}, booktitle {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) Workshops}, month {June}, year {2019} }BasicVSR: The Search for Essential Components in Video Super-Resolution and BeyondInProceedings{chan2021basicvsr, author {Chan, Kelvin C.K. and Wang, Xintao and Yu, Ke and Dong, Chao and Loy, Chen Change}, title {BasicVSR: The Search for Essential Components in Video Super-Resolution and Beyond}, booktitle {Proceedings of the IEEE conference on computer vision and pattern recognition}, year {2021} }BasicVSR: Improving Video Super-Resolution with Enhanced Propagation and Alignmentarticle{chan2021basicvsr, author {Chan, Kelvin C.K. and Zhou, Shangchen and Xu, Xiangyu and Loy, Chen Change}, title {BasicVSR: Improving Video Super-Resolution with Enhanced Propagation and Alignment}, booktitle {arXiv preprint arXiv:2104.13371}, year {2021} }PP-MSVSR: Multi-Stage Video Super-Resolutionarticle{jiang2021PP-MSVSR, author {Jiang, Lielin and Wang, Na and Dang, Qingqing and Liu, Rui and Lai, Baohua}, title {PP-MSVSR: Multi-Stage Video Super-Resolution}, booktitle {arXiv preprint arXiv:2112.02828}, year {2021} }赞分享人工智能深度学习计算机视觉媒体生成视频处理图像处理【免费下载链接】PaddleGANPaddlePaddle GAN library, including lots of interesting applications like First-Order motion transfer, Wav2Lip, picture repair, image editing, photo2cartoon, image style transfer, GPEN, and so on.项目地址https://gitcode.com/gh_mirrors/pa/PaddleGAN点击查看免费下载相关推荐PaddleGAN视频超分辨率终极指南用BasicVSR让模糊视频秒变高清PaddleGAN视频超分辨率终极指南用BasicVSR让模糊视频秒变高清 想要将手机拍摄的模糊视频变成高清大片吗PaddleGAN的BasicVSR模型能人工智能深度学习计算机视觉媒体生成视频处理图像处理终极视频超分革命BasicVSR技术深度解析与实战指南终极视频超分革命BasicVSR技术深度解析与实战指南 PaddleGAN是基于PaddlePaddle的生成对抗网络库提供了丰富的视频增强功能其中Bas人工智能深度学习计算机视觉媒体生成视频处理图像处理PaddleGAN教程用BasicVSR实现视频增强PaddleGAN教程用BasicVSR实现视频增强 你还在为模糊视频发愁3步让旧视频秒变高清大片 手机拍摄的家庭录像模糊不清监控视频细节丢失无法辨认人工智能深度学习计算机视觉媒体生成视频处理图像处理上一篇SPT-AKI存档编辑器怎么用3步告别离线塔科夫的重复肝档下一篇Stretchly免费开源的跨平台休息提醒工具5分钟上手科学休息创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。