超分数据集链接汇总(全网最新版)
超分数据集链接汇总(全网最新版)
在图像超分辨率领域,高质量的数据集是推动算法进步的关键基础。然而,在实际研究过程中,总会面临以下困境:
1. 数据集链接频繁失效
超分辨率数据集大多由学术机构或个人维护,随着时间推移,许多原始下载链接逐渐失效。例如,部分数据集依赖的 Google Drive 链接因流量限制而无法访问,一些托管在个人服务器上的数据因维护停止而永久丢失,甚至部分官方竞赛页面在赛后数年即被移除。这导致需要花费大量时间寻找可用的数据来源,严重影响了研究的可复现性和效率。
2. 数据来源分散,获取方式各异
不同数据集的获取方式千差万别:有的通过 HTTP 直链下载,有的存放在 Google Drive 或 Hugging Face 平台,有的则需要通过 Kaggle 或竞赛页面申请。此外,部分数据集需要特殊的解析脚本(如 Parquet 格式),有的则需要额外的预处理步骤(如解压、裁剪、格式转换)。
基于上述问题,这篇文章旨在提供一个操作清晰、即拿即用的超分数据集汇总。具体包括:
- 可用的下载链接:所有链接均经过验证,确保当前有效;
- 统一的下载方式:提供
wget、gdown、kagglehub、git clone等多种方式,适配不同数据源。
希望通过这份汇总,能够帮助超分辨率领域的研究者节省数据准备的时间成本,提升研究的可复现性,从而将更多精力投入到算法创新本身。
DIV2K
DIV2K是图像超分辨率领域最常用的数据集之一,为NTIRE2017和NTIRE2018超分辨率挑战赛而构建。该数据集包含800张训练图像、100张验证图像和100张测试图像,所有图像均为2K分辨率。
- 训练集:http://data.vision.ee.ethz.ch/cvl/DIV2K/DIV2K_train_HR.zip
- 验证集:http://data.vision.ee.ethz.ch/cvl/DIV2K/DIV2K_valid_HR.zip
# 下载DIV2K数据集
wget http://data.vision.ee.ethz.ch/cvl/DIV2K/DIV2K_train_HR.zip
wget http://data.vision.ee.ethz.ch/cvl/DIV2K/DIV2K_valid_HR.zip
unzip DIV2K_train_HR.zip
unzip DIV2K_valid_HR.zip
Flickr2K
Flickr2K同样是图像超分辨率领域的主流数据集,包含2650张2K分辨率图像,主要用于模型训练。
# 下载Flickr2K数据集
wget https://cv.snu.ac.kr/research/EDSR/Flickr2K.tar
# 通过kagglehub下载
import kagglehub
path = kagglehub.dataset_download("daehoyang/flickr2k")
print("Path to dataset files:", path)
DF2K-OST
DF2K-OST数据集由Real-ESRGAN提出,是DIV2K、Flickr2K和OST三个数据集的合并版本。
OST数据集源自论文《Recovering Realistic Texture in Image Super-resolution by Deep Spatial Feature Transform》,包含天空、山脉、植物、草地、水、动物和建筑物七个类别,图像分辨率在1K-2K之间。训练集包含10,324张图像,测试集包含300张图像。
# 安装kagglehub
pip install kagglehub
# 下载DF2K-OST数据集
import kagglehub
path = kagglehub.dataset_download("thaihoa1476050/df2k-ost")
print("Path to dataset files:", path)
LSDIR
LSDIR数据集适用于图像超分辨率、图像去噪、JPEG去块、去模糊、去马赛克等图像恢复任务,以及真实世界超分辨率。该数据集包含84,991张高质量高分辨率训练图像,以及各1,000张测试和验证图像。
# 安装kagglehub
pip install kagglehub
# 下载LSDIR数据集
import kagglehub
path = kagglehub.dataset_download("youssefalkashef/lsdir-image-restoration")
print("Path to dataset files:", path)
# 解析.parquet文件
python parse_lsdir.py
数据集解析代码 (parse_lsdir.py):
import pandas as pd
from PIL import Image
import io
import os
import glob
def extract_all_parquets_to_single_dir():
"""将指定目录下所有parquet文件中的图像提取到单个目录"""
input_dir = "/path/to/datasets/lsdir-image-restoration/versions/1"
output_dir = "/path/to/datasets/LSDIR"
print("=" * 60)
print("LSDIR Parquet文件批量提取工具")
print("=" * 60)
print(f"输入目录: {input_dir}")
print(f"输出目录: {output_dir}")
if not os.path.exists(input_dir):
print(f"❌ 错误: 输入目录不存在: {input_dir}")
return
os.makedirs(output_dir, exist_ok=True)
parquet_files = glob.glob(os.path.join(input_dir, "*.parquet"))
if not parquet_files:
print("❌ 错误: 没有找到.parquet文件")
return
print(f"📂 找到 {len(parquet_files)} 个parquet文件")
print("开始提取...")
total_images = 0
image_counter = 0
for i, parquet_path in enumerate(parquet_files):
file_name = os.path.basename(parquet_path)
print(f"\n[{i + 1}/{len(parquet_files)}] 处理: {file_name}")
try:
df = pd.read_parquet(parquet_path)
print(f" ✓ 读取成功,{len(df)} 行数据")
if 'image' not in df.columns:
print(f" ⚠️ 没有'image'列,跳过此文件")
continue
file_images = 0
for row_idx in range(len(df)):
try:
img_data = df.iloc[row_idx]['image']
if not isinstance(img_data, dict):
continue
img_bytes = None
for key in ['bytes', 'data']:
if key in img_data and isinstance(img_data[key], bytes):
img_bytes = img_data[key]
break
if img_bytes is None:
for key, value in img_data.items():
if isinstance(value, bytes):
img_bytes = value
break
if img_bytes is None:
continue
img = Image.open(io.BytesIO(img_bytes))
filename = f"image_{image_counter:06d}.png"
output_path = os.path.join(output_dir, filename)
img.save(output_path)
image_counter += 1
file_images += 1
total_images += 1
if file_images % 100 == 0:
print(f" 已提取 {file_images} 张...")
except Exception:
continue
print(f" ✅ 从此文件提取了 {file_images} 张图像")
except Exception as e:
print(f" ❌ 处理文件失败: {e}")
continue
print("\n" + "=" * 60)
print("📊 提取完成!")
print("=" * 60)
print(f"✅ 总共提取: {total_images} 张图像")
print(f"📁 输出目录: {output_dir}")
if __name__ == "__main__":
extract_all_parquets_to_single_dir()
LIU4K v1
LIU4K-v1是一个4K超高清超分辨率数据集,包含1,500张高分辨率训练图像。数据集中的图像分辨率至少为3K,大部分在4K-6K之间,涵盖多样化的背景和物体,低级信号分布丰富而复杂。
# 下载LIU4K v1数据集
gdown https://drive.google.com/drive/folders/1DqN4IAkWCwcCDoaHVmZJqp-6YwzkC_9k -O /path/to/datasets/LIU4K --folder
LIU4K v2
LIU4K-v2是一个4K超高清超分辨率数据集,包含1,600张高分辨率训练图像和400张高分辨率验证图像。图像分辨率至少为3K,大部分在4K-6K之间,涵盖多样化的背景和物体,低级信号分布丰富而复杂。
# 下载LIU4K v2数据集
gdown https://drive.google.com/drive/folders/1FtVQtY2t_ecuy_gzJqZ-CatqrJBAdq_d -O /path/to/datasets/LIU4Kv2 --folder
NKUSR8K
NKUSR8K是一个8K超高清超分辨率数据集,主要聚焦于植物、建筑和街景,旨在促进高质量图像超分辨率研究,特别针对户外和真实世界场景。
# 下载NKUSR8K数据集
git clone https://huggingface.co/datasets/acceptee/NKUSR8K
DIV8K
DIV8K是AIM2019新构建的数据集,包含1,500张分辨率最高达8K的图像。相比DIV2K,它具有更丰富的场景多样性,专门用于16×和32×超分辨率任务的训练。此外,该数据集还分别包含100张用于验证和测试的高分辨率图像,数据组织方式与DIV2K基本相同。
# 下载DIV8K数据集
git clone https://huggingface.co/datasets/yangtao9009/DIV8K
unzip DIV8K.zip
最后感谢小伙伴们的学习噢~
更多推荐
所有评论(0)