MMagic 中 Places365 数据集准备与配置详解:从下载、目录结构到图像修复训练
媒体生成计算机视觉深度学习人工智能大模型【免费下载链接】mmagicOpenMMLab 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点击查看免费下载本文是 MMagicOpenMMLab 多模态生成工具箱中 Places365 场景数据集准备与接入的实操指南。文章以 tools/dataset_converters/places365/README.md 为核心结合 configs/base/datasets/places.py 与 DeepFillv1/DeepFillv2、GlobalLocal、Partial Conv、AOT-GAN 等图像修复模型的真实配置文件完整讲解 Places365 的下载、目录组织、标注文件meta 列表格式、基于BasicImageDataset的数据加载原理以及训练/验证/测试三个 dataloader 与评估指标的配置方法。读完本文你将能在本地正确搭建 Places365 数据集并直接驱动 MMagic 的修复模型训练与评测。一、Places365 数据集与 MMagic 中的使用场景Places365 是由 MIT CSAIL 发布的场景识别数据集论文《Places: A 10 million Image Database for Scene Recognition》发表于 IEEE TPAMI2017。它提供 365 个场景类别是目前场景理解与图像生成/修复领域常用的高质量自然图像来源。在 MMagic 中Places365 主要服务于**图像修复Image Inpainting**类任务。从配置文件命名即可看出其典型应用DeepFillv1configs/deepfillv1/deepfillv1_8xb2_places-256x256.pyDeepFillv2configs/deepfillv2/deepfillv2_8xb2_places-256x256.pyGlobalLocalconfigs/global_local/gl_8xb12_places-256x256.pyPartial Conv两阶段configs/partial_conv/pconv_stage1_8xb12_places-256x256.py 与 configs/partial_conv/pconv_stage2_4xb2_places-256x256.pyAOT-GANconfigs/aot_gan/aot-gan_smpgan_4xb4_places-512x512.py这些模型在训练时随机对 Places365 图像施加矩形/不规则遮罩mask学习补全被遮挡区域验证与测试阶段则在 Places365-val 上进行 PSNR、SSIM、MAE 指标评测见 configs/partial_conv/metafile.yml 中 Dataset: Places365-val 的记载。二、从官方源下载数据数据需从 Places365 官方网站下载下载页面见原始 README。下载时注意两个关键点区分 standard 与 challenge 版本Places365-standard 约 180 万张训练图像Places365-challenge 约 800 万张训练图像。如 configs/base/datasets/places.py 中注释所强调Places365-standard (1.8M images) and Place365-challenge (8M images) use different image lists两版对应的ann_file列表文件不同配置时不可混用。大图与小图官方提供data_large训练大图与val_large验证大图MMagic 的默认配置直接以这两个目录作为gt数据前缀。三、目录结构严格按 MMagic 约定组织原始 README 给出了 MMagic 项目根目录下推荐的数据存放结构这是后续一切配置生效的前提mmagic ├── mmagic ├── tools ├── configs ├── data │ ├── Places │ │ ├── data_large │ │ ├── val_large │ │ ├── meta │ │ │ ├── places365_train_challenge.txt │ │ │ ├── places365_val.txt要点说明data/Places是默认的data_root见 configs/base/datasets/places.py 中data_root data/Places路径相对 MMagic 仓库根目录。data_large存放训练图像对应训练时data_prefixdict(gtdata_large)。val_large存放验证图像对应验证时data_prefixdict(gtval_large)。meta目录存放官方提供的图像列表文件train/val 的 txt 列表对应ann_filemeta/places365_train_challenge.txt与ann_filemeta/places365_val.txt。由于 Places365 原始文件通常按category/xxx.jpg的层级组织官方 txt 列表每行即一条图像相对路径。BasicImageDataset会读取列表并拼接到data_prefix之后定位真实图片因此只需将官方解压目录重命名为data_large、val_large并把列表文件放入meta即可无需额外转换脚本——这也是该 README 仅需目录说明的原因。四、数据集配置深度解析configs/base/datasets/places.pyMMagic 将 Places365 的数据加载与评测逻辑沉淀为通用基础配置 configs/base/datasets/places.py所有 Places 修复模型通过_base_机制继承它。逐段解读如下。4.1 数据集类型与路径dataset_type BasicImageDataset data_root data/PlacesBasicImageDataset是 MMagic 面向图像到图像任务如修复、超分、去噪的通用数据集类实现在 mmagic/datasets/basic_image_dataset.py。它通过ann_file列表或目录扫描两种方式构建data_list并用search_key默认取data_prefix第一个键即gt决定目录扫描时的搜索键。该文件 docstring 中的 Example 2 正是 Places 修复场景的用法ann_filemeta/Places365_train.txt、data_prefixdict(gttrain_set)、metainfodict(dataset_typeplaces365, task_nameinpainting)可作为理解数据流的核心参考。4.2 训练/验证/测试 Dataloadertrain_dataloader dict( num_workers4, persistent_workersFalse, samplerdict(typeInfiniteSampler, shuffleTrue), datasetdict( typedataset_type, data_rootdata_root, data_prefixdict(gtdata_large), ann_filemeta/places365_train_challenge.txt, test_modeFalse, )) val_dataloader dict( num_workers4, persistent_workersFalse, drop_lastFalse, samplerdict(typeDefaultSampler, shuffleFalse), datasetdict( typedataset_type, data_rootdata_root, data_prefixdict(gtval_large), ann_filemeta/places365_val.txt, test_modeTrue, )) test_dataloader val_dataloader关键参数含义参数训练验证/测试说明samplerInfiniteSampler, shuffleTrueDefaultSampler, shuffleFalse修复等基于迭代数iters的任务常用无限采样器配合IterBasedTrainLoop验证时关闭 shuffle 保证结果可复现data_prefixgtdata_largegtval_large图像实际所在目录相对data_rootann_filemeta/places365_train_challenge.txtmeta/places365_val.txt图像列表文件相对data_roottest_modeFalseTrue控制是否跳过训练专用处理、启用评估模式num_workers44数据加载子进程数可按机器 CPU 核数调整drop_last默认FalseFalse训练时配合 InfiniteSampler 通常无需丢弃末尾4.3 评估指标配置val_evaluator [ dict(typeMAE, mask_keymask, scaling100), dict(typePSNR), dict(typeSSIM), ] test_evaluator val_evaluatorMAE平均绝对误差mask_keymask表示仅在遮罩区域内统计误差scaling100用于与 README 对齐配置注释说明默认按 0-1 像素值计算scale2 对应 1.0scale100 与 README 一致。PSNR / SSIM峰值信噪比与结构相似性为图像修复质量的标准指标对修复区域整体计算。这些指标实现在 mmagic/evaluation/metrics 目录下并由 configs/base/datasets/places.py 顶部from mmagic.evaluation import MAE, PSNR, SSIM显式引入。五、从基础配置到完整模型配置继承与覆写具体模型配置通过_base_继承 places 基础配置再按需覆写 dataloader 与 pipeline。以 DeepFillv1 为例configs/deepfillv1/deepfillv1_8xb2_places-256x256.py_base_ [ ../_base_/models/base_deepfillv1.py, ../_base_/inpaint_default_runtime.py, ../_base_/datasets/places.py ]其训练 pipeline 展示了 Places 图像的典型预处理链train_pipeline [ dict(typeLoadImageFromFile, keygt), dict( typeLoadMask, mask_modebbox, mask_configdict( max_bbox_shape(128, 128), max_bbox_delta40, min_margin20, img_shapeinput_shape)), dict(typeCrop, keys[gt], crop_size(384, 384), random_cropTrue), dict(typeResize, keys[gt], scale(256, 256), keep_ratioFalse), dict(typeGetMaskedImage), dict(typePackInputs), ]LoadImageFromFile从gt键对应路径读入 Places365 原图LoadMask以bbox模式生成随机矩形遮罩边长最大 128、边界留白 20Crop随机裁剪 384×384比目标分辨率略大提高样本多样性Resize缩放到模型输入尺寸 256×256GetMaskedImage合成带洞图像PackInputs打包为模型输入。其他模型在继承基础上调整了遮罩生成方式Partial Conv 使用mask_modeirregular生成不规则笔刷遮罩configs/partial_conv/pconv_stage1_8xb12_places-256x256.pyAOT-GAN 则使用mask_modeset从data/pconv_mask预生成遮罩列表configs/aot_gan/aot-gan_smpgan_4xb4_places-512x512.py。这说明places 基础配置只约定数据源与评测遮罩策略完全由下游模型决定两者通过配置继承机制解耦。六、验证数据集就绪运行训练与测试完成目录搭建后可直接用 MMagic 训练脚本验证数据流是否打通。以 GlobalLocal 为例单机单卡python tools/train.py configs/global_local/gl_8xb12_places-256x256.py该配置train_cfg采用IterBasedTrainLoopmax_iters500002、val_interval50000configs/global_local/gl_8xb12_places-256x256.py训练按迭代而非 epoch 推进这正是训练侧使用InfiniteSampler的原因。运行时默认钩子来自 configs/base/inpaint_default_runtime.py每 100 次迭代打日志LoggerHook interval100、每 50000 次迭代存 checkpointCheckpointHook by_epochFalse并通过ConcatImageVisualizer拼接gt_img / input / pred_img输出可视化结果便于直观确认修复效果。多卡训练则使用分布式脚本bash tools/dist_train.sh configs/deepfillv1/deepfillv1_8xb2_places-256x256.py 8若只想在已下载的 Places365-val 上评测已有权重例如 Partial Conv 官方权重记载于 configs/partial_conv/metafile.yml可运行python tools/test.py configs/partial_conv/pconv_stage2_4xb2_places-256x256.py /path/to/checkpoint.pth测试将按val_evaluator输出遮罩区域 MAE 与全图 PSNR、SSIM。七、常见问题与注意事项列表文件路径必须相对data_rootann_filemeta/places365_train_challenge.txt会与data_root拼接若把列表放在其他目录需同步修改ann_file与data_root。standard 与 challenge 列表不可互换训练列表文件名places365_train_challenge.txt对应 challenge 版 800 万图像若使用 standard 版 180 万图像需改用官方 standard 列表并同步调整配置注释中提到的差异。gt前缀目录命名BasicImageDataset的data_prefix键如gt会与列表内相对路径拼接定位文件因此data_large/val_large的目录名不可随意更改除非同步修改配置。Persistent workerspersistent_workersFalse为默认值在追求极致吞吐的分布式训练中可设为True以复用数据加载进程但需注意显存与内存占用。结语Places365 的接入在 MMagic 中是下载 目录摆放 继承基础配置三步即可完成的轻量流程数据侧由BasicImageDataset统一驱动配置侧由 configs/base/datasets/places.py 提供开箱即用的 dataloader 与评估器模型侧仅需关注遮罩策略与 pipeline 的差异化设计。掌握本文的目录约定与配置继承关系后你可以基于 Places365 自由扩展新的修复模型实验或将同样的组织方式迁移到其他BasicImageDataset支持的数据集上。赞分享媒体生成计算机视觉深度学习人工智能大模型【免费下载链接】mmagicOpenMMLab 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点击查看免费下载相关推荐Swift属性与方法完全指南存储属性、计算属性、下标与懒加载Swift编程语言中文版Swift属性与方法完全指南存储属性、计算属性、下标与懒加载Swift编程语言中文版 本文基于 Apple 官方《Swift 编程语言》the swif媒体生成计算机视觉深度学习人工智能大模型mmagic 中 GoPro 数据集准备指南从下载到运动去模糊训练配置对接mmagic 中 GoPro 数据集准备指南从下载到运动去模糊训练配置对接 GoPro 数据集是单图运动去模糊single image motion deb媒体生成计算机视觉深度学习人工智能大模型MMagic 数据集准备指南DPDD 失焦去模糊数据集下载与目录配置详解MMagic 数据集准备指南DPDD 失焦去模糊数据集下载与目录配置详解 本文以 MMagic 仓库中 tools/dataset_converters/dp媒体生成计算机视觉深度学习人工智能大模型上一篇Ockam未来展望分布式安全通信的发展趋势和路线图下一篇探索Bruno Simon Folio 2019如何用Three.js打造令人惊艳的3D交互式作品集创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考