建议收藏!入门超分辨率必须了解的数据集!

2,590 阅读7分钟

在图像/视频超分辨率研究中,充分了解数据集是重要的一环。作为面向底层视觉任务的工具包,MMEditing 目前已经支持了大量先进的超分辨率模型,同时也支持了相关的主流超分数据集。本文将从图像和视频两个方向介绍主要的超分数据集及其使用。

github.com/open-mmlab/…

图像超分辨率数据集

DIV2K

DIV2K 数据集源自 NTIRE2017 和 NTIRE2018 超分辨率挑战赛,是图像超分辨率中最流行使用的数据集之一。该数据集由 800 幅训练集图片,100 幅验证集图片和 100 幅测试集图片组成,每张图片具有 2K 分辨率。

下载
DIV2K 数据集可以从其主页下载。对于一般的图像超分辨率任务,数据集的文件目录结构应如下所示:

data
├── DIV2K
   ├── DIV2K_train_HR
      ├── 0001.png
      ├── 0002.png
      ├── ...
   ├── DIV2K_train_LR_bicubic
      ├── X2
      ├── X3
      ├── X4
   ├── DIV2K_valid_HR
   ├── DIV2K_valid_LR_bicubic
      ├── X2
      ├── X3
      ├── X4

使用
MMEditing 中提供了 DIV2K 数据集的使用教程
如果想使用 LMDB 以获得更快的 IO 速度,可以通过以下命令来构建 LMDB 文件:

python tools/dataset_converters/div2k/preprocess_div2k_dataset.py --data-root ./data/DIV2K --make-lmdb

MMEditing 中也支持了将 DIV2K 数据集图像裁剪为子图以加快 IO 速度,可以运行以下命令:

python tools/dataset_converters/div2k/preprocess_div2k_dataset.py --data-root ./data/DIV2K

DF2K

DF2K 数据集提出自 Enhanced Deep Residual Networks for Single Image Super-Resolution,是 DIV2K 和 Flickr2K 合并得到的数据集。Flickr2K 数据集包含 2650 张 2K 分辨率的图片。

下载
可以分别下载 DIV2K 和 Flickr2K ,然后将二者合并。

使用
Flickr2K 数据集的文件目录结构与 DIV2K 数据集相同,二者的合并非常容易。

data
├── Flickr2K
│   ├── Flickr2K_HR
│   │   ├── 000001.png
│   │   ├── 000002.png
│   │   ├── ...
│   ├── Flickr2K_LR_bicubic
│   │   ├── X2
│   │   ├── X3
│   │   ├── X4

DF2K_OST

DF2K_OST 数据集提出自 Real-ESRGAN,是和 OST 合并得到的数据集。

下载

可以分别下载 DIV2KFlickr2K 和 OST,或者从这里下载合并后的数据集。

使用
MMEditing 中提供了 DF2K_OST 数据集的使用教程
如果想使用 LMDB 以获得更快的 IO 速度,可以通过以下命令来构建 LMDB 文件:

python tools/dataset_converters/df2k_ost/preprocess_df2k_ost_dataset.py --data-root ./data/df2k_ost --make-lmdb

MMEditing 中也支持了将 DF2K_OST 数据集图像裁剪为子图以加快 IO 速度,可以运行以下命令:

python tools/dataset_converters/df2k_ost/preprocess_df2k_ost_dataset.py --data-root ./data/df2k_ost

人脸超分辨率数据集

一些人脸图像数据集常被用在人脸超分辨率中,例如 FFHQ 和 CelebA-HQ。FFHQ(Flickr-Faces-HQ) 数据集是一个高质量人脸图像数据集,包含 70000 张 1024x1024 分辨率的高清人脸图像。CelebA-HQ 数据集是 CelebA 数据集的高清版本,包含 30000 张 1024x1024 分辨率的高清人脸图像。

下载
FFHQ 数据集可以从其主页下载。CelebA-HQ 数据集可以按照其主页教程准备,

使用
MMEditing 中提供了 FFHQ 和 CelebA-HQ 数据集的使用教程。运行以下命令就可以生成数据集的下采样图像:

python tools/dataset_converters/glean/preprocess_ffhq_celebahq_dataset.py --data-root ./data/ffhq/images
python tools/dataset_converters/glean/preprocess_ffhq_celebahq_dataset.py --data-root ./data/CelebA-HQ/GT

常用 Benchmark 数据集

测试图像超分辨率性能的常用 Benchmark 数据集包括 Set5,Set14,Urban100,BSDS100,Manga109 等。

  • Set5 数据集由 5 张图片组成(“baby”,“bird”,“butterfly”,“head”,“woman”);
  • Set14 数据集由 14 张图片组成("baboon","barbara","bridge","coastguard","comic","face","flowers","foreman","lenna","man","monarch","pepper","ppt3","zebra");
  • Urban100 数据集包含 100 张城市场景的建筑图片;
  • BSDS100 数据集包含 100 张类别丰富的图片,从自然场景到具体物体,例如植物、人、食物等;
  • Manga109 数据集包含 109 张日本漫画合订本的封面图片。

这些测试数据集可以从这里下载。

视频超分辨率数据集

REDS

REDS(Realistic and Dynamic Scenes) 数据集是在 NTIRE19 挑战赛中提出的数据集,常用于视频去模糊和视频超分辨率任务。该数据集由 240 个训练视频序列, 30 个验证视频序列和 30 个测试视频序列组成,每个视频序列由 100 个分辨率为 720x1280 的连续视频帧构成。

下载

REDS 数据集可以从其主页下载。对于视频超分辨率任务,应下载 train_sharptrain_sharp_bicubicval_sharp 和 val_sharp_bicubic

使用
在 REDS 官方数据集中,训练集和验证集是可以公开获取的,而测试集是非公开的。最常见的使用方法是将原始的训练集和验证集合并作为训练集,选取原始训练集中的 4 个视频序列('000', '011', '015' 和 '020') 作为测试集,命名为REDS4。

数据集的文件目录结构应如下所示:

data
├── REDS
│   ├── train_sharp
│   │   ├── 000
│   │   ├── 001
│   │   ├── ...
│   ├── train_sharp_bicubic
│   │   ├── X4
│   │   |   ├── 000
│   │   |   ├── 001
│   │   |   ├── ...
├── REDS4
│   ├── sharp
│   ├── sharp_bicubic

MMEditing 中提供了 REDS 数据集的使用教程。仅运行以下命令就可以完成 REDS 数据集的准备:

python tools/dataset_converters/reds/preprocess_reds_dataset.py --root-path ./data/REDS

如果想使用 LMDB 以获得更快的 IO 速度,可以通过以下命令来构建 LMDB 文件:

python tools/dataset_converters/reds/preprocess_reds_dataset.py --root-path ./data/REDS --make-lmdb

MMEditing 中也支持了将 REDS 数据集图像裁剪为子图以加快 IO 速度,可以运行以下命令:

python tools/dataset_converters/reds/crop_sub_images.py --data-root ./data/REDS  -scales 4

Vimeo-90K

Vimeo-90K 是一个大规模、高质量的视频数据集,提出自 Video Enhancement with Task-Oriented Flow。该数据集可被用作以下 4 个视频处理任务:视频插帧、视频去噪、视频去块和视频超分辨率。该数据集由 Triplet 数据集(用作视频插帧)和 Septuplet 数据集(用作视频去噪、视频去块和视频超分辨率)组成。Septuplet 数据集由 91701 个分辨率为 256x448 的 7 帧 视频序列组成。

下载
Vimeo-90K 数据集可以从其主页下载。对于视频超分辨率任务,应下载 Septuplet dataset(82GB)
数据集的文件目录结构应如下所示:

vimeo_septuplet
├── sequences
   ├── 00001
      ├── 0001
         ├── im1.png
         ├── im2.png
         ├── ...
      ├── 0002
      ├── 0003
      ├── ...
   ├── 00002
   ├── ...
├── sep_trainlist.txt
├── sep_testlist.txt

使用

原始的 Vimeo-90K 数据集没有提供下采样的视频序列,所以在使用前需要先生成下采样的 LR 视频序列。
MMEditing 中提供了 Vimeo-90K 数据集的使用教程。仅运行以下命令就可以生成下采样图像:

python tools/dataset_converters/vimeo90k/preprocess_vimeo90k_dataset.py --data-root ./data/vimeo90k

如果想使用 LMDB 以获得更快的 IO 速度,可以通过以下命令来构建 LMDB 文件:

python tools/dataset_converters/vimeo90k/preprocess_vimeo90k_dataset.py --data-root ./data/vimeo90k --train_list ./data/vimeo90k/sep_trainlist.txt --gt-path ./data/vimeo90k/GT --lq-path ./data/Vimeo90k/BIx4  --make-lmdb

Vid4

Vid4 数据集是最流行的视频超分辨率测试集之一。该数据集由 4 个视频序列组成: 'calendar' (41 帧,分辨率为 576x720),'city' (34 帧,分辨率为 576x704),'foliage' (49 帧,分辨率为 480x720) 和 'walk'(47 帧,分辨率为 480x720)。

下载

Vid4 数据集可以从这里下载。

使用

MMEditing 中提供了 Vid4 数据集的使用教程

UDM10

UDM10 数据集是常用的视频超分辨率测试集。该数据集由 10 个视频序列组成,每个视频序列包含分辨率为 720x1272 的 32 个连续帧。

下载

UDM10 数据集可以从这里下载。

使用

MMEditing 中提供了 UDM10 数据集的使用教程

SPMCS

SPMCS 数据集由 30 个视频序列组成,每个视频序列包含分辨率为 540x960 的 31 个连续帧。每个视频序列包括 x2,x3 和 x4 倍下采样的输入图像和高分辨率的原始图像。

下载

SPMCS 数据集可以从其主页或者从这里下载。

使用
MMEditing 中提供了 SPMCS 数据集的使用教程

以上就是主流的超分数据集及其使用方法。MMEditing 支持了使用这些数据集训练先进的图像超分视频超分模型,同时也提供了这些数据集的使用文档和预处理脚本。除此之外,你也可以设计自己的数据集来训练超分模型。