☰
MMagic 数据集准备指南:DPDD 失焦去模糊数据集下载与目录配置详解
2026/10/8 1:25:35 网站建设 项目流程
  • 媒体生成
  • 计算机视觉
  • 深度学习
  • 人工智能
  • 大模型

【免费下载链接】mmagic

OpenMMLab Multimodal Advanced, Generative, and Intelligent Creation Toolbox. Unlock the magic 🪄: Generative-AI (AIGC), easy-to-use APIs, awsome model zoo, diffusion models, for text-to-image generation, image/video restoration/enhancement, etc.

项目地址:https://gitcode.com/gh_mirrors/mm/mmagic
点击查看免费下载

本文以 MMagic 仓库中tools/dataset_converters/dpdd/README_zh-CN.md为核心,系统讲解 DPDD(Dense Per-pixel Defocus Deblurring)测试数据集的下载方式、目录结构与配置要点,并结合仓库内的 Restormer 失焦去模糊配置文件(单像素与双像素两种任务)说明该数据集在 MMagic 推理测试流程中的实际组织方式。读完本文,你将掌握在本地正确摆放 DPDD 数据集、并通过tools/test.py复现 Restormer (CVPR'2022) 失焦去模糊评测的完整操作路径。

DPDD 数据集是什么

DPDD(Dense Per-pixel Defocus Deblurring)是失焦去模糊(Defocus Deblurring)领域的标准测试数据集,常用于评估模型在散焦模糊场景下的复原能力。在 MMagic 中,它被 Restormer 的官方评测配置 restormer_official_dpdd-single.py 与 restormer_official_dpdd-dual.py 所引用,对应论文为:

@inproceedings{Zamir2021Restormer, title={Restormer: Efficient Transformer for High-Resolution Image Restoration}, author={Syed Waqas Zamir and Aditya Arora and Salman Khan and Munawar Hayat and Fahad Shahbaz Khan and Ming-Hsuan Yang}, booktitle={CVPR}, year={2022} }

该数据集由左右双视角(dual-pixel)图像对构成,这也是 DPDD 目录中出现inputL与inputR两个输入子目录的原因:双像素(dual-pixel)相机传感器可以同时捕获两个略有视差的模糊视图,利用这一线索有助于恢复更高质量的清晰图像。

下载测试数据集

MMagic 官方说明中,DPDD 测试数据集从 Google Drive 下载,链接为:

https://drive.google.com/file/d/1dDWUQ_D93XGtcywoUcZE1HOXCV4EuLyw/

注意:该下载链接来自仓库文档原文(README_zh-CN.md)。由于访问 Google Drive 需要稳定的网络环境,在国内或受限网络下可能需要代理工具辅助下载。下载完成后得到的是压缩包,请解压后按下一节的目录结构进行摆放。

下载解压后,数据集应放置于仓库根目录下的data/DPDD文件夹中。仓库文档明确要求:data目录与mmagic、tools、configs平级,位于项目根目录下。

标准目录结构(必须严格遵循)

将数据集解压并摆放后,data/DPDD目录下应包含以下内容:

mmagic ├── mmagic ├── tools ├── configs ├── data │ ├── DPDD │ │ ├── inputL │ │ ├── inputR │ │ ├── inputC │ │ ├── target │ │ ├── indoor_labels.npy │ │ ├── indoor_labels.txt │ │ ├── outdoor_labels.npy │ │ └── outdoor_labels.txt

各子目录与文件的作用说明如下:

路径内容用途
data/DPDD/inputL左视角模糊图(dual-pixel 左侧视图)双像素任务输入之一
data/DPDD/inputR右视角模糊图(dual-pixel 右侧视图)双像素任务输入之一
data/DPDD/inputC中心合成模糊图(中心视角)单像素任务输入
data/DPDD/target清晰参考图(Ground Truth)评测时计算 PSNR/SSIM/MAE 的对照
data/DPDD/indoor_labels.npy室内场景样本索引(numpy 格式)供加载样本标签使用
data/DPDD/indoor_labels.txt室内场景样本清单(文本格式)供BasicImageDataset的ann_file读取
data/DPDD/outdoor_labels.npy室外场景样本索引(numpy 格式)供加载样本标签使用
data/DPDD/outdoor_labels.txt室外场景样本清单(文本格式)供BasicImageDataset的ann_file读取

需要特别说明的是.npy与.txt两种格式的差异:.txt标注文件是 MMagic 数据管线实际读取的样本清单,而.npy文件是数据集原始发布时自带的 numpy 格式索引,两者内容对应同一批样本。在 MMagic 配置中,真正被ann_file参数引用的是.txt文件。

配置如何消费这套目录结构

DPDD 目录结构并非随意设计,它与 configs/base/datasets/deblurring-defocus_test_config.py 中的数据前缀映射一一对应。该基础配置中,数据根目录被定义为:

dpdd_data_root = 'data/DPDD'

即相对于仓库根目录的data/DPDD路径,这也解释了为什么文档要求将数据集解压到该位置。随后,配置通过data_prefix将输入目录映射到数据管线中的键名:

data_prefix=dict( img='inputC', imgL='inputL', imgR='inputR', gt='target'),

映射关系可以理解为:

  • img(中心合成输入)→data/DPDD/inputC
  • imgL(左视角输入)→data/DPDD/inputL
  • imgR(右视角输入)→data/DPDD/inputR
  • gt(清晰参考)→data/DPDD/target

对应的ann_file参数分别引用indoor_labels.txt与outdoor_labels.txt,将 DPDD 划分为室内(Indoor)与室外(Outdoor)两个评测子集,并额外合并出一个 Combined(全部样本)评测集合:

dpdd_indoor_dataloader = dict( ... dataset=dict( type='BasicImageDataset', metainfo=dict(dataset_type='DPDD-Indoor', task_name='deblurring'), data_root=dpdd_data_root, data_prefix=dict( img='inputC', imgL='inputL', imgR='inputR', gt='target'), ann_file='indoor_labels.txt', pipeline=test_pipeline))

三个 dataloader(Indoor / Outdoor / Combined)配合MultiTestLoop与三组评估器(MAE、PSNR、SSIM,见 deblurring-defocus_test_config.py)共同完成一次完整评测,最终分别输出DPDD-Indoor、DPDD-Outdoor、DPDD-Combined三组指标。

单像素与双像素两种评测模式

DPDD 目录之所以同时包含inputC、inputL、inputR,是因为 MMagic 为 Restormer 提供了两种失焦去模糊评测模式:

单像素模式(Single)

配置 restormer_official_dpdd-single.py 中,模型以 3 通道中心图inputC作为唯一输入:

model = dict( type='BaseEditModel', generator=dict( type='Restormer', inp_channels=3, out_channels=3, dim=48, num_blocks=[4, 6, 6, 8], num_refinement_blocks=4, heads=[1, 2, 4, 8], ffn_expansion_factor=2.66, bias=False, LayerNorm_type='WithBias', dual_pixel_task=False), pixel_loss=dict(type='L1Loss', loss_weight=1.0, reduction='mean'), data_preprocessor=dict( type='DataPreprocessor', mean=[0., 0., 0.], std=[255., 255., 255.], ))

关键点在于inp_channels=3与dual_pixel_task=False,即只利用中心视角的模糊图进行去模糊。

双像素模式(Dual)

配置 restormer_official_dpdd-dual.py 则在此基础上做了两处关键修改:

# modify PackInputs test_dataloader = _base_.test_dataloader for dataloader in test_dataloader: test_pipeline = dataloader['dataset']['pipeline'] test_pipeline[4] = dict(type='PackInputs', keys=['imgL', 'imgR']) # model settings model = dict( generator=dict(inp_channels=6, dual_pixel_task=True), data_preprocessor=dict(type='DataPreprocessor'))
  • PackInputs的打包键从默认改为['imgL', 'imgR'],即同时打包左右双视角图像;
  • 生成器输入通道改为inp_channels=6(左右两图各 3 通道拼接),并开启dual_pixel_task=True。

这一改动对应网络实现 restormer_net.py 中的逻辑:当dual_pixel_task=True时,网络在前向传播中按dual_keys=['imgL', 'imgR']取出两幅图像并在通道维度拼接(torch.cat(dual_images, dim=1)),再送入编码器;同时解码路径使用skip_conv引入跳跃连接,与单像素模式(output + inp_img残差输出)的路径不同。从源码注释看,dual_pixel_task专门为 dual-pixel 失焦去模糊设计("True for dual-pixel defocus deblurring only. Also set inp_channels=6")。

验证数据集摆放是否正确的自查清单

完成下载与解压后,可以按以下步骤快速自查:

  1. 路径检查:确认data/DPDD位于仓库根目录(与configs、tools、mmagic平级);
  2. 目录完整性:确认inputL、inputR、inputC、target四个子目录都存在且非空;
  3. 标签文件检查:确认indoor_labels.txt与outdoor_labels.txt存在,且文件内每一行对应一个样本的路径(相对data/DPDD);
  4. 内容抽查:随机选取indoor_labels.txt中的一行样本名,检查inputC、inputL、inputR、target四个子目录下均存在同名文件,保证四路输入对齐。

之后即可运行 Restormer 的失焦去模糊评测,例如单 GPU 测试:

# 单像素模式评测 python tools/test.py configs/restormer/restormer_official_dpdd-single.py \ https://download.openmmlab.com/mmediting/restormer/restormer_official_dpdd-single-6bc31582.pth # 双像素模式评测 python tools/test.py configs/restormer/restormer_official_dpdd-dual.py \ https://download.openmmlab.com/mmediting/restormer/restormer_official_dpdd-dual-52c94c00.pth

多卡测试则使用仓库自带的分布式脚本 tools/dist_test.sh(用法参考 configs/restormer/README_zh-CN.md 与 docs/zh_cn/user_guides/train_test.md)。测试完成后,评估器会分别输出 Indoor、Outdoor 与 Combined 三组 PSNR/SSIM/MAE 指标,与 configs/restormer/metafile.yml 中记录的官方结果(如单像素 Indoor 28.8681 / Outdoor 23.2410 / Combined 25.9805)进行对照。

小结

DPDD 数据集的准备本质上是三件事:下载官方测试压缩包 → 解压至data/DPDD→ 保持inputL、inputR、inputC、target及两组标签文件的结构不变。该结构与 deblurring-defocus_test_config.py 的data_prefix映射严格对应,任何目录改名或层级变动都会导致数据加载失败。准备就绪后,通过 restormer_official_dpdd-single.py 与 restormer_official_dpdd-dual.py 即可一键复现单像素与双像素两种失焦去模糊评测。

  • 媒体生成
  • 计算机视觉
  • 深度学习
  • 人工智能
  • 大模型

【免费下载链接】mmagic

OpenMMLab Multimodal Advanced, Generative, and Intelligent Creation Toolbox. Unlock the magic 🪄: Generative-AI (AIGC), easy-to-use APIs, awsome model zoo, diffusion models, for text-to-image generation, image/video restoration/enhancement, etc.

项目地址:https://gitcode.com/gh_mirrors/mm/mmagic
点击查看免费下载

相关推荐

上一篇:5个终极HTMX调试技巧:让前端错误无处遁形的完整指南
下一篇:终极生产力工具清单:从笔记管理到任务自动化的完整解决方案

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询