首页
/ BasicSR数据集大全:从DIV2K到Vimeo90K的完整预处理指南

BasicSR数据集大全:从DIV2K到Vimeo90K的完整预处理指南

2026-02-05 05:45:21作者:裴麒琰

BasicSR是一个强大的开源图像和视频恢复工具箱,专门用于超分辨率、去噪、去模糊等任务。作为目前最全面的图像视频恢复框架,BasicSR支持EDSR、RCAN、SRResNet、SRGAN、ESRGAN、EDVR、BasicVSR、SwinIR、ECBSR等多种先进算法。对于想要入门图像恢复领域的新手来说,掌握数据集的预处理流程是成功的第一步。

本文将详细介绍BasicSR支持的主流数据集,包括DIV2K、REDS、Vimeo90K等,并提供从下载到预处理的完整流程,帮助你快速上手BasicSR项目。

🎯 BasicSR支持的数据集概览

BasicSR项目支持多种图像和视频恢复数据集,涵盖了从经典图像超分辨率到现代视频超分辨率的各种应用场景。这些数据集都存储在basicsr/data/meta_info目录下,包含完整的元信息文件。

BasicSR架构图

📊 图像超分辨率数据集

DIV2K数据集处理

DIV2K是图像超分辨率领域最常用的基准数据集,包含800张训练图像和100张验证图像。

完整预处理流程:

  1. 下载数据集 - 从DIV2K官方网站获取原始数据

  2. 裁剪子图像 - 使用extract_subimages.py脚本将2K分辨率图像裁剪为480×480的子图像

  3. 生成元信息 - 运行generate_meta_info.py创建meta_info文件

  4. 创建LMDB - 可选步骤,使用create_lmdb.py加速训练

常用图像SR数据集列表

BasicSR支持以下经典图像超分辨率数据集:

  • 训练数据集:T91、BSDS200、General100
  • 测试数据集:Set5、Set14、BSDS100、Urban100、Manga109
  • 2K分辨率数据集:DIV2K、Flickr2K、DF2K
  • 户外场景数据集:OST Training、OST300

🎥 视频超分辨率数据集

REDS数据集处理

REDS是视频超分辨率的重要基准数据集,包含240个训练片段和30个验证片段。

关键处理步骤:

  • 使用regroup_reds_dataset.py重新组织训练和验证数据
  • 支持官方验证分区和EDVR竞赛使用的REDS4分区

数据集复杂度对比

Vimeo90K数据集处理

Vimeo90K包含丰富的视频序列,是视频恢复任务的重要资源。

处理流程:

  1. 下载原始训练和测试集(82GB)
  2. 使用MATLAB脚本生成低分辨率图像
  3. 创建LMDB文件加速训练

⚡ 数据存储格式优化

BasicSR支持三种数据存储格式,满足不同场景的需求:

1. 直接磁盘存储

io_backend:
  type: disk

2. LMDB加速存储

io_backend:
  type: lmdb

3. Memcached分布式存储

🚀 数据预取器配置

为了进一步优化训练速度,BasicSR提供了数据预取器功能:

  • CUDA预取模式 - 占用更多GPU内存但显著加速
  • CPU预取模式 - 适用于内存充足的场景
  • 关闭预取 - 默认模式,适用于已使用LMDB的情况

💡 实用技巧与最佳实践

  1. 符号链接设置 - 建议使用ln -s命令创建数据集符号链接
  2. LMDB缓存预热 - 首次使用前运行cat data.mdb > /dev/nul缓存数据
  3. 数据集测试 - 使用test_paired_image_dataset.py验证数据加载器

通过掌握BasicSR的数据集预处理流程,你可以为各种图像视频恢复任务准备高质量的训练数据。无论是经典的DIV2K图像超分辨率,还是现代的REDS视频超分辨率,BasicSR都提供了完整的解决方案。

记住,优质的数据预处理是成功训练深度学习模型的关键第一步!🚀

登录后查看全文
热门项目推荐
相关项目推荐