视频超分辨率(VSR)旨在从低分辨率(LR)帧中恢复高分辨率(HR)帧序列。虽然已经取得了一些进展,但在整个视频序列中有效地利用时间依赖性仍然存在巨大的挑战。现有的方法通常是从有限的相邻帧(例如,5或7帧)对齐和聚合视频帧,这使得这些方法无法获得令人满意的结果。在本文中,我们进一步实现了有效的视频时空学习。我们提出了一种新的用于视频超分辨率的轨迹感知转换器。特别地,我们将视频帧制定为几个预先对齐的轨迹,这些轨迹由连续的视觉标记组成。对于查询令牌,自我注意只在相关的视觉令牌上沿时空轨迹学习。与普通视觉transformer相比,这种设计大大降低了计算成本,并使transformer能够对长程特征进行建模。我们进一步提出了一个跨尺度特征标记化模块,以克服在远程视频中经常出现的尺度变化问题。实验结果在四个广泛使用的视频超分辨率基准上进行了广泛的定量和定性评估,证明了所提出的TTVSR优于现有模型。
论文: Learning Trajectory-Aware Transformer for Video Super-Resolution
-
训练集
-
REDS 数据集. 我们将训练和验证数据集重新组合到一个文件夹中。原始训练数据集有240个剪辑,从000到239。原始验证数据集从240重命名为269。
- REDS 结构:
├────REDS ├────trainval_sharp ├────000 ├────... ├────269 ├────trainval_sharp_bicubic ├────X4 ├────000 ├────... ├────269
-
-
测试集
- REDS4 数据集. 000, 011,015,020片段来自REDS的原始训练数据集。
导出到MindSpore后,计算图在训练和推理阶段都得到了最佳性能的优化。
- python 3.7 (推荐使用 Anaconda)
- mindspore == 1.9.0
- mmcv == 1.3.9
- scipy == 1.7.3
- scikit-image == 0.19.0
- tensorboard == 2.6.0
- tensorboardX == 2.5.1
数据集名 | REDS |
一次处理数据数目 | 2 |
序列长度(帧数) | 50 |
输入块大小 | 64x64 |
上采样倍数 | x4 |
迭代轮次 | 400000 |
预热步奏 | 100 |
模型 | 设备类型 | 规格 | PSNR (dB) | SSIM | 训练时间 (seconds per iter) | 总训练时间 (expected)** |
---|---|---|---|---|---|---|
TTVSR-PyTorch | GPU | 8 x A100 | 32.12 | 0.9021 | 4.2 | 20 days |
TTVSR-MS | GPU | 8 x A100 | 31.97* | 0.9016* | 3.8 | 18 days |
TTVSR-MS-Ascend | Ascend | Ascend-910A | 31.97* | 0.9016* | 15.6 | 72 days |
* 指标使用从PyTorch原始权重导出的指标。 ** 训练基本接近原来结果。
数据集名 | REDS |
一次处理数据数目 | 1 |
序列长 (帧数) | 100 |
输入像素 (HxW) | 320x180 |
输出像素 (HxW) | 1280x720 |
上采用倍数 | x4 |
模型 | 设备类型 | 规格 | 推理时间 (seconds per sequence) |
---|---|---|---|
TTVSR-Torch | GPU | V100 | 11 |
TTVSR-MS | GPU | V100 | 7.5 |
TTVSR-MS-Ascend | Ascend | Ascend-910A | 13 |