ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

mmagic 中 SIDD 数据集准备全指南:从 MAT 文件导出到 Restormer/NAFNet 去噪训练配置

mmagic 中 SIDD 数据集准备全指南:从 MAT 文件导出到 Restormer/NAFNet 去噪训练配置 媒体生成计算机视觉深度学习人工智能大模型【免费下载链接】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点击查看免费下载SIDDSmartphone Image Denoising Dataset是智能手机真实图像去噪领域最具代表性的数据集之一mmagic 仓库通过 tools/dataset_converters/sidd/README_zh-CN.md 提供了从原始下载包到可直接被训练/评测框架消费的标准目录的完整转换流程。本文将带你走通SIDD 验证集 MAT 文件导出 → 目录结构规整 → mmagic 数据集配置消费 → 去噪模型训练与测试的完整链路读完即可在本地复现 NAFNet、Restormer 等模型的 SIDD 去噪实验。SIDD 数据集与 mmagic 中的去噪任务SIDD 全称 Smartphone Image Denoising Dataset由真实智能手机在不同光照条件下拍摄的噪声/干净图像对构成是评测真实图像去噪算法区别于合成高斯噪声的核心基准。mmagic 中涉及 SIDD 的去噪模型包括Restormer其论文同时是 SIDD 数据集处理说明所引用的原始出处NAFNet。原文档中给出了数据集的引用信息bibtex其来源为 Restormer 论文Zamir et al., CVPR 2022说明 SIDD 数据集的整理与公布与该工作直接相关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} }第一步下载训练集与验证集根据 SIDD 数据集准备文档训练集和验证集分别提供独立的下载入口文档中给出了对应的 Google Drive 链接训练数据集包含干净图像gt与噪声图像noisy的完整训练对验证数据集以.matMATLAB 格式文件形式提供包含ValidationNoisyBlocksSrgb.mat与ValidationGtBlocksSrgb.mat两个文件验证集不能直接使用需要先经脚本导出为 PNG 图像。下载完成后建议统一放置在 mmagic 仓库根目录下的data/SIDD/中与后续配置文件中默认的data_root保持一致。第二步验证集预处理——从 MAT 导出 PNG验证集的核心处理工具是 preprocess_sidd_test_dataset.py。原文档给出的标准调用方式为python tools/dataset_converters/sidd/preprocess_sidd_test_dataset.py --data-root ./data/SIDD/val --out-dir ./data/SIDD/val脚本接受两个命令行参数参数说明--data-root数据集根目录脚本将在此目录下查找ValidationNoisyBlocksSrgb.mat与ValidationGtBlocksSrgb.mat--out-dir导出图像的输出目录脚本会在该目录下创建noisy与gt两个子目录从源码preprocess_sidd_test_dataset.py可以看清整个导出流程的实现细节加载 MAT 文件通过scipy.io.loadmat读取两个 MAT 文件并取出ValidationNoisyBlocksSrgb/ValidationGtBlocksSrgb两个数组源码 L22-L31归一化与张量化将数据转为np.float32并除以 255 归一化到 [0, 1]随后转为 torch 张量并调整维度为 NCHW源码 L27-L31逐块导出验证集由 40 个场景i循环乘以每个场景 32 个图像块k循环共 1280 张图像组成每个块经过torch.clamp(0, 1)裁剪后保存源码 L35-L58命名规则与颜色通道噪声图保存为val_{i*32k}_NOISY.png干净图保存为val_{i*32k}_GT.png写入前通过cv2.cvtColor(..., cv2.COLOR_RGB2BGR)将 RGB 转为 BGR 以匹配 OpenCV 的存储约定源码 L42-L45、L55-L58。整个导出过程带tqdm进度条两个 MAT 文件处理完成后会打印Finish exporting images.。第三步核对目录结构转换完成后data/SIDD下的目录结构应与原文档给出的标准布局一致mmagic ├── mmagic ├── tools ├── configs ├── data │ ├── SIDD │ │ ├── train │ │ │ ├── gt │ │ │ ├── noisy │ │ ├── val │ │ │ ├── gt │ │ │ ├── noisy │ │ │ ├── ValidationNoisyBlocksSrgb.mat │ │ │ ├── ValidationGtBlocksSrgb.mattrain/gt与train/noisy训练集干净图与噪声图下载后解压即得无需转换val/gt与val/noisy由上述脚本从 MAT 文件导出两个.mat文件原始验证集文件可保留也可在导出后移走。第四步mmagic 如何消费 SIDD 目录SIDD 目录本身不会被 mmagic 直接识别而是通过BasicImageDataset的data_prefix与filename_tmpl两个机制完成目录 → 数据对的映射核心实现见 mmagic/datasets/basic_image_dataset.pydata_prefix指定噪声图与干净图的子目录例如dict(imgnoisy, gtgt)filename_tmpl指定配对文件名的模板不含扩展名例如dict(img{}_NOISY, gt{}_GT)——加载器会以search_key默认取data_prefix的第一个 key扫描目录获取基础文件名再按模板补齐对应配对文件源码 L175-L198。也就是说val_0_NOISY.png会与val_0_GT.png自动配对成一个噪声-干净样本这正是脚本导出命名规则与数据集加载逻辑严格对应的原因。验证/测试用数据集配置仓库在 configs/base/datasets/denoising-real_test_config.py 中提供了 SIDD 的现成测试配置片段可直接作为基类复用sidd_data_root data/SIDD/val/ sidd_dataloader dict( num_workers4, persistent_workersFalse, drop_lastFalse, samplerdict(typeDefaultSampler, shuffleFalse), datasetdict( typeBasicImageDataset, metainfodict(dataset_typeSIDD, task_namedenoising), data_rootsidd_data_root, data_prefixdict(imgnoisy, gtgt), filename_tmpldict(gt{}_GT, img{}_NOISY), pipelinetest_pipeline)) sidd_evaluator [ dict(typePSNR, prefixSIDD), dict(typeSSIM, prefixSIDD), ]其中test_pipeline通过LoadImageFromFile分别以color_typecolor、channel_orderrgb加载img噪声图与gt干净图最后用PackInputs打包。训练用数据集配置以 NAFNet 的 SIDD 训练配置为例nafnet_c64eb2248mb12db2222_8xb8-lr1e-3-400k_sidd.pytrain_dataloader dict( num_workers8, batch_size8, # gpus 4 persistent_workersFalse, samplerdict(typeInfiniteSampler, shuffleTrue), datasetdict( typedataset_type, # BasicImageDataset metainfodict(dataset_typesidd, task_namedenoising), data_root./data/SIDD/train, data_prefixdict(gtgt, imgnoisy), filename_tmpldict(img{}_NOISY, gt{}_GT), pipelinetrain_pipeline))训练阶段在LoadImageFromFile之后使用了一组增强操作Flip水平/垂直各 0.5 概率、RandomTransposeHW转置 0.5 概率以及PairedRandomCrop干净图裁剪块大小gt_patch_size256最后PackInputs打包val_dataloader则与测试共享data_root./data/SIDD/val/评测指标为 MAE、PSNR 与 SSIM配置 L52-L85。Restormer 的 SIDD 评测配置则直接复用上述基类restormer_official_sidd.py_base_ [ ../_base_/default_runtime.py, ../_base_/datasets/denoising-real_test_config.py ] model dict( typeBaseEditModel, generatordict( typeRestormer, inp_channels3, out_channels3, dim48, num_blocks[4, 6, 6, 8], num_refinement_blocks4, heads[1, 2, 4, 8], ffn_expansion_factor2.66, biasFalse, LayerNorm_typeBiasFree, dual_pixel_taskFalse), pixel_lossdict(typeL1Loss, loss_weight1.0, reductionmean), data_preprocessordict( typeDataPreprocessor, mean[0., 0., 0.], std[255., 255., 255.], ))Restormer生成器的完整实现位于 mmagic/models/editors/restormer/restormer_net.pyRestormer类在 L364内部TransformerBlock在 L234、FeedForward在 L118其核心思路是在通道维度上做自注意力以降低高分辨率图像上的计算复杂度。第五步运行测试与结果验证数据就绪后即可用 mmagic 的标准评测入口对模型进行验证# 单卡测试 python tools/test.py configs/restormer/restormer_official_sidd.py checkpoint路径 # 多卡测试以 8 卡为例 bash tools/dist_test.sh configs/restormer/restormer_official_sidd.py checkpoint路径 8测试结果中的 PSNR/SSIM 会带有SIDD前缀来自sidd_evaluator中的prefixSIDD便于在多数据集联合评测如同时挂载 DND时区分来源——denoising-real_test_config.py 中已经预留了 DND 数据集的dnd_dataloader/dnd_evaluator配置默认注释关闭。注意事项验证集必须预处理直接以.mat文件喂给 mmagic 是不行的必须先运行 preprocess_sidd_test_dataset.py 导出 PNG路径一致性--data-root与--out-dir若指向同一目录如原文档示例脚本会在该目录下创建noisy/gt子目录并读取同目录的 MAT 文件二者互不冲突但若训练与测试共用数据目录请确保train与val分开存放命名模板不可随意改动filename_tmpl必须与导出脚本的命名规则{}_NOISY/{}_GT严格对应否则 BasicImageDataset 无法完成图像对配对数据规模验证集经导出后共 1280 对40 场景 × 32 块图像与脚本中的双层循环一一对应可用于校验导出是否完整。赞分享媒体生成计算机视觉深度学习人工智能大模型【免费下载链接】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点击查看免费下载相关推荐Hugo 页面配置指南用 [page] 控制 Next / Prev 前后页排序顺序Hugo 页面配置指南用 page 控制 Next / Prev 前后页排序顺序 Hugo 的 page 配置段用于控制页面行为其中两个核心参数 nextP媒体生成计算机视觉深度学习人工智能大模型MMagic 去噪数据集准备与 Gaussian/Real 去噪测试全指南基于 Restormer 的完整实战MMagic 去噪数据集准备与 Gaussian/Real 去噪测试全指南基于 Restormer 的完整实战 导读 本文围绕 MMagic 仓库中 去噪数据媒体生成计算机视觉深度学习人工智能大模型PaddleGAN NAFNet 图像去噪实战从快速推理到 SIDD 数据训练与源码解析PaddleGAN NAFNet 图像去噪实战从快速推理到 SIDD 数据训练与源码解析 NAFNetNonlinear Activation Free N人工智能深度学习计算机视觉媒体生成视频处理图像处理上一篇三步跑起菜单栏番茄钟TomatoBar时间管理上手与配置全攻略下一篇EIP-3326 详解wallet_switchEthereumChain 钱包切换以太坊链的 RPC 方法创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表