尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
MMagic 中的 SRCNN 图像超分辨率模型:原理、配置与训练测试实战指南
媒体生成计算机视觉深度学习人工智能大模型【免费下载链接】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点击查看免费下载导读SRCNNSuper-Resolution Convolutional Neural NetworkTPAMI 2015是深度学习单图像超分辨率领域的奠基之作它首次证明了仅用三层卷积网络即可直接从低分辨率图像端到端地回归出高分辨率图像并指出传统稀疏编码超分方法本质上也可以看作一种深层卷积网络。本文以 MMagic 开源工具箱中的 SRCNN 实现为主线系统讲解其网络结构、模型配置文件4 倍上采样、DIV2K 训练方案的每个关键参数以及如何在 CPU / 单卡 / 多卡环境下完成训练与测试读完即可在 MMagic 中复现官方在 Set5、Set14、DIV2K 上的评测结果。论文背景从稀疏编码到端到端卷积回归SRCNN 对应论文为Image Super-Resolution Using Deep Convolutional NetworksDong、Loy、He 与 TangIEEE TPAMI 2015arXiv:1501.00092。其核心思想是学习一个低分辨率图像到高分辨率图像之间的端到端映射该映射由以低分辨率图像为输入、输出高分辨率图像的深层卷积神经网络CNN表示。与当时主流的基于稀疏编码的传统方法相比传统方法将图像分块提取、稀疏编码、字典重建等步骤分开处理而 SRCNN 将所有层联合优化网络结构轻量却能达到当时领先的重建质量并具备用于实际在线使用的快速推理速度。论文还探索了不同网络结构与参数设置在性能与速度之间的权衡并将网络扩展为同时处理三个颜色通道以获得更好的整体重建质量。该任务在 MMagic 中的任务分类为Image Super-Resolution图像超分辨率对应模型集合收录于 configs/srcnn/metafile.yml。源码视角三层卷积网络到底做了什么MMagic 中 SRCNN 的实现位于 mmagic/models/editors/srcnn/srcnn_net.py核心类为SRCNNNet通过MODELS.register_module()注册并在 mmagic/models/editors/srcnn/init.py 中导出。SRCNNNet的构造参数与默认值如下参数默认值说明channels(3, 64, 32, 3)四元组依次为输入通道、第 1/2/3 层卷积输出通道要求长度必须为 4kernel_sizes(9, 1, 5)三元组三个卷积层的核大小要求长度必须为 3upscale_factor4上采样倍数前向计算流程对应forward预处理上采样输入先经nn.Upsample(scale_factorupscale_factor, modebicubic, align_cornersFalse)做双三次插值放大到高分辨率尺寸后再进入网络因此网络实际在 HR 空间完成映射特征提取conv1 Conv2d(3, 64, kernel_size9, padding4)后接 ReLU对应论文中的“patch extraction and representation”非线性映射conv2 Conv2d(64, 32, kernel_size1, padding0)后接 ReLU对应“non-linear mapping”重建conv3 Conv2d(32, 3, kernel_size5, padding2)无激活对应“reconstruction”输出最终 RGB 图像。注意第 2 层采用1×1 卷积用于跨通道的非线性映射而不改变空间尺寸所有卷积的 padding 均取kernel_size // 2保证输出空间尺寸与输入一致。每个卷积层的输入/输出通道数、核大小均可通过配置自由定制。单元测试 tests/test_models/test_editors/test_srcnn/test_srcnn_net.py 验证了以下行为输入(1, 3, 4, 4)、upscale_factor4时输出形状为(1, 3, 16, 16)输入(1, 1, 4, 4)、upscale_factor2时输出形状为(1, 1, 8, 8)channels长度不为 4、或kernel_sizes长度不为 3 时抛出AssertionError。配置文件逐段解析srcnn_x4k915_1xb16-1000k_div2k官方训练配置为 configs/srcnn/srcnn_x4k915_1xb16-1000k_div2k.py命名含义SRCNN、x4 上采样、核大小 9/1/5、单卡 batch size 16、1000k 迭代、DIV2K 数据集。该文件继承 configs/base/default_runtime.py 与 configs/base/datasets/sisr_x4_test_config.py。模型定义model dict( typeBaseEditModel, generatordict( typeSRCNNNet, channels(3, 64, 32, 3), kernel_sizes(9, 1, 5), upscale_factorscale), pixel_lossdict(typeL1Loss, loss_weight1.0, reductionmean), train_cfgdict(), test_cfgdict(metrics[PSNR], crop_borderscale), data_preprocessordict( typeDataPreprocessor, mean[0., 0., 0.], std[255., 255., 255.], ))scale 4上采样倍数同时用作crop_border生成器采用SRCNNNet通道数(3, 64, 32, 3)、核大小(9, 1, 5)损失为L1Loss权重 1.0reductionmean对应论文中像素级重建损失test_cfg中metrics[PSNR]、crop_borderscale评测前裁掉边界 4 个像素避免双三次插值边界效应干扰指标与 README 中“Evaluated on RGB channels, scale pixels in each border are cropped before evaluation”一致DataPreprocessor的mean[0,0,0]、std[255,255,255]表示仅将像素值归一化到 [0,1]不做去均值化具体实现见 mmagic/models/data_preprocessors/data_preprocessor.py。训练数据流水线train_pipeline [ dict(typeLoadImageFromFile, keyimg, color_typecolor, channel_orderrgb, imdecode_backendcv2), dict(typeLoadImageFromFile, keygt, color_typecolor, channel_orderrgb, imdecode_backendcv2), dict(typeSetValues, dictionarydict(scalescale)), dict(typePairedRandomCrop, gt_patch_size128), dict(typeFlip, keys[img, gt], flip_ratio0.5, directionhorizontal), dict(typeFlip, keys[img, gt], flip_ratio0.5, directionvertical), dict(typeRandomTransposeHW, keys[img, gt], transpose_ratio0.5), dict(typePackInputs) ]img为低分辨率图、gt为高分辨率真值随机裁剪 GT 块为 128×128对应 LR 块为 32×32随后做水平/垂直翻转概率 0.5与随机转置概率 0.5增强最后PackInputs打包。验证流水线仅包含加载与打包不做增强。数据集与评测dataset_type BasicImageDataset data_root data train_dataloader dict( num_workers4, batch_size16, persistent_workersFalse, samplerdict(typeInfiniteSampler, shuffleTrue), datasetdict( typedataset_type, ann_filemeta_info_DIV2K800sub_GT.txt, metainfodict(dataset_typediv2k, task_namesisr), data_rootdata_root /DIV2K, data_prefixdict(imgDIV2K_train_LR_bicubic/X4_sub, gtDIV2K_train_HR_sub), filename_tmpldict(img{}, gt{}), pipelinetrain_pipeline)) val_dataloader dict( num_workers4, persistent_workersFalse, drop_lastFalse, samplerdict(typeDefaultSampler, shuffleFalse), datasetdict( typedataset_type, metainfodict(dataset_typeset5, task_namesisr), data_rootdata_root /Set5, data_prefixdict(imgLRbicx4, gtGTmod12), pipelineval_pipeline)) val_evaluator dict( typeEvaluator, metrics[ dict(typeMAE), dict(typePSNR, crop_borderscale), dict(typeSSIM, crop_borderscale), ])训练集为 DIV2K 的 800 张子图DIV2K800sub_GT.txtLR 用双三次下采样 X4GT 用 HR 子图验证集为 Set5LRbicx4/GTmod12目录指标含 MAE、PSNR、SSIM均按crop_border4裁剪边界测试阶段则通过继承的sisr_x4_test_config.py依次在Set5、Set14、DIV2K三个数据集上评测MultiTestLoop每个数据集分别给出 PSNR/SSIM。训练循环、优化器与学习率train_cfg dict(typeIterBasedTrainLoop, max_iters1000000, val_interval5000) val_cfg dict(typeMultiValLoop) optim_wrapper dict( constructorDefaultOptimWrapperConstructor, typeOptimWrapper, optimizerdict(typeAdam, lr2e-4, betas(0.9, 0.999))) param_scheduler dict( typeCosineRestartLR, by_epochFalse, periods[250000, 250000, 250000, 250000], restart_weights[1, 1, 1, 1], eta_min1e-7)采用基于迭代的训练循环共 100 万次迭代每 5000 次迭代验证一次优化器为 Adamlr2e-4betas(0.9, 0.999)学习率策略为CosineRestartLR分为 4 个 250000 次迭代的周期每次重启后按余弦退火从 2e-4 降至eta_min1e-7default_hooks中CheckpointHook每 5000 次迭代保存一次权重含优化器状态LoggerHook每 100 次迭代输出日志基类运行时配置还默认开启save_bestPSNR、rulegreater的最佳模型保存。训练模型CPU / 单卡 / 多卡命令按照 README 的 Quick Start在安装好 MMagic 及其依赖后可直接运行# CPU 训练 CUDA_VISIBLE_DEVICES-1 python tools/train.py configs/srcnn/srcnn_x4k915_1xb16-1000k_div2k.py # 单卡训练 python tools/train.py configs/srcnn/srcnn_x4k915_1xb16-1000k_div2k.py # 多卡训练8 卡 ./tools/dist_train.sh configs/srcnn/srcnn_x4k915_1xb16-1000k_div2k.py 8训练输出默认写入./work_dirs/srcnn_x4k915_1xb16-1000k_div2k/由work_dir决定。更完整的训练流程说明参见 docs/en/user_guides/train_test.md 中 “Train a model in MMagic” 一节。分布式训练脚本位于 tools/dist_train.sh。测试模型加载官方权重评测MMagic 提供了预训练权重由 README 的 Download 列给出可直接用以下命令在 Set5、Set14、DIV2K 上复现官方指标# CPU 测试 CUDA_VISIBLE_DEVICES-1 python tools/test.py configs/srcnn/srcnn_x4k915_1xb16-1000k_div2k.py https://download.openmmlab.com/mmediting/restorers/srcnn/srcnn_x4k915_1x16_1000k_div2k_20200608-4186f232.pth # 单卡测试 python tools/test.py configs/srcnn/srcnn_x4k915_1xb16-1000k_div2k.py https://download.openmmlab.com/mmediting/restorers/srcnn/srcnn_x4k915_1x16_1000k_div2k_20200608-4186f232.pth # 多卡测试8 卡 ./tools/dist_test.sh configs/srcnn/srcnn_x4k915_1xb16-1000k_div2k.py https://download.openmmlab.com/mmediting/restorers/srcnn/srcnn_x4k915_1x16_1000k_div2k_20200608-4186f232.pth 8测试在 RGB 通道上进行scale即 4像素宽的边界会在评测前裁剪指标为 PSNR / SSIM。测试流程的详细说明参见 docs/en/user_guides/train_test.md 中 “Test a pre-trained model in MMagic” 一节分布式测试脚本位于 tools/dist_test.sh。官方评测结果以下为 MMagic 仓库记录的srcnn_x4k915_1xb16-1000k_div2k配置在三个基准数据集上的官方指标权重与日志通过对应下载链接获取模型数据集PSNRSSIM训练资源srcnn_x4k915_1xb16-1000k_div2kSet528.43160.80991 卡srcnn_x4k915_1xb16-1000k_div2kSet1425.64860.70141 卡srcnn_x4k915_1xb16-1000k_div2kDIV2K27.74600.78541 卡同一结果亦登记在 configs/srcnn/metafile.yml 的Models.Results字段中可用于模型索引与自动评测比对。值得说明的是该模型训练仅需 1 张 GPU体现了论文所述“轻量结构 快速实用”的设计目标。引用若在研究中使用了该模型请按 README 中给出的 BibTeX 引用原始论文article{dong2015image, title{Image super-resolution using deep convolutional networks}, author{Dong, Chao and Loy, Chen Change and He, Kaiming and Tang, Xiaoou}, journal{IEEE transactions on pattern analysis and machine intelligence}, volume{38}, number{2}, pages{295--307}, year{2015}, publisher{IEEE} }小结SRCNN 在 MMagic 中的落地非常“轻量而完整”一个仅含三个卷积层与双三次预上采样的SRCNNNet配合一套参数化清晰的训练配置L1 损失、Adam CosineRestartLR、1000k 迭代、Set5 验证即可在单卡上完成训练并在 Set5/Set14/DIV2K 三个基准上给出可复现的 PSNR/SSIM 指标。对希望入门图像超分辨率或搭建自有轻量 SR 基线的开发者而言配置文件、网络实现与单元测试构成了从原理到实战的完整闭环。赞分享媒体生成计算机视觉深度学习人工智能大模型【免费下载链接】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点击查看免费下载相关推荐MMagic 中的 EDSR 图像超分辨率模型架构原理、配置解析与训练测试实战MMagic 中的 EDSR 图像超分辨率模型架构原理、配置解析与训练测试实战 本篇技术指南围绕 OpenMMLab 多模态生成工具箱 MMagic 中内置的媒体生成计算机视觉深度学习人工智能大模型Cassandra 分布式系统 Bug 复现完全指南从 Jepsen、in-JVM dtest 到确定性模拟器Cassandra 分布式系统 Bug 复现完全指南从 Jepsen、in JVM dtest 到确定性模拟器 本文围绕 Apache Cassandra 仓媒体生成计算机视觉深度学习人工智能大模型MMagic 中的 BasicVSR 视频超分辨率模型配置解析、训练测试与源码原理MMagic 中的 BasicVSR 视频超分辨率模型配置解析、训练测试与源码原理 本文以 configs/basicvsr/README_zh CN.md媒体生成计算机视觉深度学习人工智能大模型上一篇paascloud-master中分布式计数器基于Redis的原子操作实现下一篇3步实现Windows菜单半透明化TranslucentFlyouts让你的系统界面焕然一新创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

【项目编号:project35795】Django 学生成绩分析与可视化:从平时成绩到期中期末趋势的教学数据看板

【项目编号:project35795】Django 学生成绩分析与可视化:从平时成绩到期中期末趋势的教学数据看板

Django 学生成绩分析与可视化:从平时成绩到期中期末趋势的教学数据看板Python Django|学生信息|阶段成绩|趋势图表|教师录入|管理员治理Python / Django成绩管理数据可视化教师端管理员端摘要|…

📅 2026/9/29 6:19:30
【Java】GitHub Copilot 插件安装教程:用 TaoToken 统一 Key 打通 IDE 配置

【Java】GitHub Copilot 插件安装教程:用 TaoToken 统一 Key 打通 IDE 配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/9/29 6:19:30
TensorFlow工业落地实战:从环境配置到边缘部署全链路避坑指南

TensorFlow工业落地实战:从环境配置到边缘部署全链路避坑指南

1. 这不是“又一个深度学习框架”——TensorFlow 是怎么从实验室走向产线的你搜“tensorflow”,页面上跳出来的全是安装报错、版本冲突、CUDA不匹配、GPU识别失败……但真正用过三年以上 TensorFlow 的人,第一反应不是“怎么装”,而是“这个模…

📅 2026/9/29 6:19:30
MORE NEWS

更多资讯

📰

Objection.js 子查询完全指南:函数回调、QueryBuilder 与 ref 引用父查询的实战用法

数据库后端 【免费下载链接】objection.js An SQL-friendly ORM for Node.js 项目地址: https://gitcode.com/gh_mirrors/ob/objection.js 点击查看 免费下载 子查询(Subquery)是复杂 SQL 查询中不可或缺的能力,而 Objection.js …

📰

npm在PowerShell中被禁止运行?从执行策略到编辑器终端彻底修复指南

最近一个月,我已经在好几个技术群里看到同一张报错截图:有人在 Trae 里打开内置终端,敲下npm install,结果 npm 直接被弹了回来,提示什么“无法加载文件 D:\Program Files (x86)\nodejs\npm.ps1,因为在此系…

📰

AEStudio跨平台UI自动化测试框架实战指南

1. 关于AEStudio,我为什么想写这份手册这几年移动端和跨平台应用的测试工作越来越复杂,光靠手点或者单一平台的自动化工具,很难覆盖全链路场景。AEStudio是我在实际项目里用了很久的一套跨平台UI自动化测试解决方案,它同时支持And…

📰

基于STM32单片机智能拐杖盲人导盲超声波测距防撞灯光蓝牙无线APP/WiFi无线APP/摄像头视频监控/云平台设计S490

STM32-S490-超声波测距防撞提醒光照照明一键求救OLED屏声光提醒按键(无线方式选择)产品功能描述:本系统由STM32F103C8T6单片机核心板、OLED屏、(无线蓝牙/无线WIFI/无线视频监控/联网云平台模块-可选)、超声波模块、灯光电路、光敏电阻电路、…

📰

Codex 配置全解:TOML、AGENTS.md 与优先级实战

最近一周我把手头的 Codex 工作流彻底重构了一遍。之前只是用默认配置跑官方模型,直到开始折腾 TOML 里的模型 Provider、AGENTS.md 指令文件和多层配置优先级,才真正体会到这套本地自定义 Agent 的魅力所在。Codex 作为终端里的 AI 编程 Agent&#xff…

📰

2026年工控PCBA代工代料选型参考

结论速览(太长不看版) 在2026年这个节点上评估工控PCBA代工代料服务商,核心看三件事:制程能力是否覆盖高可靠性要求、质量管控是否有车规级背书、交付体系能否适配小批量多品种的工控行业特性。深圳老牌厂商天地通电子是值得重点考…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬