尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

SwinIR 图像复原实战指南:基于 Swin Transformer 的超分、去噪与 JPEG 压缩伪影消除(MMagic 实现)

发布时间:2026/9/29 10:25:50

资讯中心
01
ARTICLE

SwinIR 图像复原实战指南:基于 Swin Transformer 的超分、去噪与 JPEG 压缩伪影消除(MMagic 实现)

SwinIR 图像复原实战指南:基于 Swin Transformer 的超分、去噪与 JPEG 压缩伪影消除(MMagic 实现)
媒体生成计算机视觉深度学习人工智能大模型【免费下载链接】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 仓库中 SwinIR 算法的完整落地方案展开覆盖模型架构浅层特征提取、RSTB 深层特征提取、高质量重建、六大任务的 30 余份配置与评测结果、以及 CPU/单卡/多卡三种场景下的训练与测试命令。读者读完可掌握如何基于configs/swinir/下的配置文件直接复现经典超分、轻量超分、真实世界超分、灰度/彩色去噪与 JPEG 压缩伪影消除任务并理解SwinIRNet各核心超参数upscale、window_size、depths、embed_dim、upsampler、resi_connection等在源码中的真实作用。一、SwinIR 是什么用 Swin Transformer 统一图像复原任务SwinIRSwin Image Restoration是发表于 ICCVW 2021 的一篇工作论文标题SwinIR: Image Restoration Using Swin Transformer它把在高层视觉任务上表现优异的 Swin Transformer 引入低层视觉领域用一个统一的网络结构同时解决三类典型复原问题图像超分辨率Image Super-Resolution包括经典超分、轻量超分与真实世界超分图像去噪Image Denoising包括灰度图去噪与彩色图去噪JPEG 压缩伪影消除JPEG Compression Artifact Reduction包括灰度与彩色两种输入。论文摘要指出此前 SOTA 复原方法大多基于卷积神经网络CNN而 SwinIR 通过引入 Swin Transformer 取得了更高的复原质量同时在参数量上更具优势。这些内容在本仓库的 模型元数据 与 官方 README 中均有对应记录。二、模型结构浅层特征 RSTB 深层特征 高质量重建SwinIR 的生成器在 MMagic 中的实现类是SwinIRNet注册于mmagic/models/editors/swinir/swinir_net.py整个模块由四份源码文件组成swinir_net.py网络主体SwinIRNetswinir_rstb.py残差 Swin Transformer 块RSTB、Swin Transformer Block、窗口注意力W-MSA/SW-MSA等核心组件swinir_modules.pyPatchEmbed、PatchUnEmbed、Upsample、UpsampleOneStep等模块swinir_utils.py窗口切分/还原window_partition/window_reverse、DropPath 等工具函数。2.1 三段式流水线从 swinir_net.py 的构造代码可以看出SwinIRNet严格按论文的三段式设计组织浅层特征提取Shallow Feature Extraction一个3×3卷积conv_first把输入图像从in_chans通道映射到embed_dim维特征见 swinir_net.py。深层特征提取Deep Feature Extraction多个残差 Swin Transformer 块RSTB堆叠每个 RSTB 内部包含若干 Swin Transformer Layer 与残差连接层数由depths列表决定RSTB 由 swinir_rstb.py 实现。高质量图像重建High-Quality Image Reconstruction根据任务选择不同上采样头upsampler分支或直接卷积输出见 swinir_net.py。2.2 核心组件与设计细节窗口注意力WindowAttention实现带相对位置偏置的窗口多头自注意力支持普通窗口W-MSA与移位窗口SW-MSA两种模式。Swin Transformer Block 内部交替使用shift_size0与shift_sizewindow_size//2实现跨窗口信息交互见 swinir_rstb.py。RSTB 残差结构RSTB 先经过BasicLayer一组 Swin Transformer Block提取特征再用resi_connection指定的卷积1conv或3conv做残差分支最后通过 patch embed/unembed 与输入相加见 swinir_rstb.py。多种上采样头pixelshuffle经典超分用的像素重排上采样pixelshuffledirect轻量超分用的单步上采样节省参数见 swinir_modules.pynearestconv真实世界超分使用伪影更少空字符串去噪与 JPEG 伪影消除任务不使用上采样直接conv_last输出见 swinir_net.py。图像尺寸检查forward前会调用check_image_size将输入按window_size对齐补边reflect padding保证窗口注意力可以正确切分见 swinir_net.py。在 tests/test_models/test_editors/test_swinir/test_swinir_net.py 中测试覆盖了 x2 经典超分、x3pixelshuffle超分、x4 轻量超分、x4nearestconv真实世界超分以及upscale1的去噪输出形状可作为理解各分支行为的参考。三、配置全解析configs/swinir/下的 30 份配置文件configs/swinir/目录共包含 30 份训练/测试配置不含 README 与元数据分为六大任务组。所有配置均以BaseEditModel作为模型外壳生成器统一为SwinIRNet。下面结合典型配置逐项说明。3.1 经典图像超分Classical Image Super-Resolution以 swinir_x2s48w8d6e180_8xb4-lr2e-4-500k_div2k.py 为例这是中等规模 DIV2K 训练 patch 48的设定scale 2 img_size 48 model dict( typeBaseEditModel, generatordict( typeSwinIRNet, upscalescale, # 超分倍率 in_chans3, # RGB 三通道输入 img_sizeimg_size, # 训练 patch 尺寸 window_size8, # Swin 窗口大小 img_range1.0, # 像素值范围归一化为 [0, 1] depths[6, 6, 6, 6, 6, 6], # 6 个 RSTB每个含 6 层 embed_dim180, # 特征维度 num_heads[6, 6, 6, 6, 6, 6], mlp_ratio2, upsamplerpixelshuffle, # 经典超分上采样头 resi_connection1conv), pixel_lossdict(typeL1Loss, loss_weight1.0, reductionmean), data_preprocessordict( typeDataPreprocessor, mean[0., 0., 0.], std[255., 255., 255.]))数据侧的关键差异体现在训练集setting1DIV2Kpatch 48ann_filemeta_info_DIV2K800sub_GT.txt数据前缀DIV2K_train_LR_bicubic/X2_sub与DIV2K_train_HR_subsetting2DIV2KFlickr2K即 DF2Kpatch 64如 swinir_x2s64w8d6e180_8xb4-lr2e-4-500k_df2k.py对应img_size64depths[6, 6, 6, 6, 6, 6]。训练流程使用IterBasedTrainLoopmax_iters500_000val_interval5000优化器为 Adamlr2e-4学习率调度为MultiStepLRmilestones[250000, 400000, 450000, 475000]gamma0.5。评测时在 Y 通道上计算 PSNR/SSIM测试配置来自base/datasets/sisr_x2_test_config.py覆盖 Set5、Set14、DIV2K 三个测试集。3.2 轻量超分Lightweight Image Super-Resolution轻量版以小网络为目标例如 swinir_x2s64w8d4e60_8xb4-lr2e-4-500k_div2k.py它在经典配置基础上直接通过_base_继承并覆盖model dict( generatordict( img_size64, depths[6, 6, 6, 6], # 4 个 RSTB embed_dim60, # 更小的特征维度 num_heads[6, 6, 6, 6], upsamplerpixelshuffledirect)) # 单步上采样节省参数同时把train_dataloader中PairedRandomCrop的gt_patch_size改为img_size * scale。这种以_base_继承 局部覆盖的写法是 MMagic 配置体系的典型模式同一任务族的 x2/x3/x4 配置大多只需修改scale与少量字段。3.3 真实世界超分Real-World Image Super-Resolution真实世界超分采用 PSNR 与 GAN 两阶段模型。以 swinir_psnr-x4s64w8d6e180_8xb4-lr1e-4-600k_df2k-ost.py 为例它继承 x2 PSNR 配置仅修改scale 4与generator.upscale而 swinir_gan-x4s64w8d6e180_8xb4-lr1e-4-600k_df2k-ost.py 则继承对应 PSNR 配置整体差异极小——GAN 阶段的对抗训练内容在_base_继承链中体现。x2/x4 分别提供s64w8d6e180与s64w8d9e240两个规模的变体其中d9e240表示depths[6, 6, 6, 6, 6, 6, 6, 6, 6]、embed_dim240的更大模型。真实世界超分评测不使用 PSNR/SSIM而采用无参考指标 NIQE数值越低越好。3.4 灰度/彩色图像去噪去噪任务设置upscale1、upsampler网络只做同分辨率复原。以灰度版 swinir_s128w8d6e180_8xb1-lr2e-4-1600k_dfwb-grayDN15.py 为例sigma 15 # 高斯噪声标准差 model dict( typeBaseEditModel, generatordict( typeSwinIRNet, upscale1, in_chans1, # 灰度单通道 img_size128, window_size8, img_range1.0, depths[6, 6, 6, 6, 6, 6], embed_dim180, num_heads[6, 6, 6, 6, 6, 6], mlp_ratio2, upsampler, # 无需上采样 resi_connection1conv), pixel_lossdict(typeCharbonnierLoss, eps1e-9), data_preprocessordict(typeDataPreprocessor, mean[0.], std[255.]))训练管线中通过RandomNoise变换对输入加高斯噪声gaussian_sigma[sigma, sigma]测试时也会在加载 GT 后先加噪再评测。训练数据为 DFWBmeta_info_DFWB8550sub_GT.txt测试集为 Set12、BSD68、Urban100灰度或 CBSD68、Kodak24、McMaster、Urban100彩色见 swinir_s128w8d6e180_8xb1-lr2e-4-1600k_dfwb-colorDN15.py。去噪/压缩伪影任务的训练长度更长max_iters1_600_000调度里程碑为[800000, 1200000, 1400000, 1500000, 1600000]。噪声水平DN15/25/50由配置文件名与sigma变量区分直接对应不同的退化强度。3.5 JPEG 压缩伪影消除JPEG 伪影消除与去噪结构类似但有两个关键差异window_size7因为 JPEG 编码基于 8×8 块7 的窗口大小能更好地对齐块边界伪影README 中明确标注 using window_size7 because JPEG encoding uses 8x8 blocksimg_range255.0输入不再归一化到[0,1]而是保持原始像素范围。以 swinir_s126w7d6e180_8xb1-lr2e-4-1600k_dfwb-grayCAR10.py 为例训练管线使用RandomJPEGCompressionquality[10, 10]对输入施加压缩退化quality取值 10/20/30/40 分别对应文件名中的 CAR10~CAR40。测试配置继承自base/datasets/decompression_test_config.py测试集为 Classic5 与 LIVE1灰度版测试时把管道中的color_type改为grayscale彩色版则保持 RGB见 swinir_s126w7d6e180_8xb1-lr2e-4-1600k_dfwb-colorCAR10.py。四、结果速查六大任务模型与评测指标所有模型权重均可通过 metafile.yml 或 README 中的链接下载download.openmmlab.com/mmediting/swinir/路径下模型名中的s/w/d/e分别编码了img_size/window_size/depths/embed_dim等结构信息。评测约定如下任务组评测通道指标测试集经典超分Y 通道裁剪 scale 像素边框PSNR / SSIMSet5、Set14、DIV2K轻量超分Y 通道裁剪 scale 像素边框PSNR / SSIMSet5、Set14、DIV2K真实世界超分Y 通道NIQE越低越好RealSRSet5images灰度去噪灰度PSNRSet12、BSD68、Urban100彩色去噪RGBPSNRCBSD68、Kodak24、McMaster、Urban100JPEG 伪影消除灰度灰度PSNR / SSIMClassic5、LIVE1JPEG 伪影消除彩色RGBPSNR / SSIMClassic5、LIVE1以下选取各任务组代表性模型的关键数值完整表格见 configs/swinir/README.md经典超分DIV2K 训练x2/x3/x4patch 48模型配置Set5 PSNR/SSIMSet14 PSNR/SSIMDIV2K PSNR/SSIMswinir_x2s48w8d6e180_8xb4-lr2e-4-500k_div2k.py38.3240 / 0.962634.1174 / 0.923037.8921 / 0.9481swinir_x3s48w8d6e180_8xb4-lr2e-4-500k_div2k.py34.8640 / 0.931730.7669 / 0.850834.1397 / 0.8917swinir_x4s48w8d6e180_8xb4-lr2e-4-500k_div2k.py32.7315 / 0.902928.9065 / 0.791532.0953 / 0.8418轻量超分DIV2K 训练小模型模型配置Set5 PSNR/SSIMSet14 PSNR/SSIMDIV2K PSNR/SSIMswinir_x2s64w8d4e60_8xb4-lr2e-4-500k_div2k.py38.1289 / 0.961733.8404 / 0.920737.5844 / 0.9459swinir_x3s64w8d4e60_8xb4-lr2e-4-500k_div2k.py34.6037 / 0.929330.5340 / 0.846833.8394 / 0.8867swinir_x4s64w8d4e60_8xb4-lr2e-4-500k_div2k.py32.4343 / 0.898428.7441 / 0.786131.8636 / 0.8353真实世界超分DF2K-OST 训练NIQE 越低越好模型配置NIQERealSRSet5imagesswinir_gan-x2s64w8d6e180_8xb4-lr1e-4-600k_df2k-ost.py5.7975swinir_psnr-x2s64w8d6e180_8xb4-lr1e-4-600k_df2k-ost.py7.2738swinir_gan-x4s64w8d9e240_8xb4-lr1e-4-600k_df2k-ost.py5.1464swinir_psnr-x4s64w8d9e240_8xb4-lr1e-4-600k_df2k-ost.py7.6378灰度去噪DFWB 训练PSNR模型配置Set12BSD68Urban100swinir_s128w8d6e180_8xb1-lr2e-4-1600k_dfwb-grayDN15.py33.973132.520334.3424swinir_s128w8d6e180_8xb1-lr2e-4-1600k_dfwb-grayDN25.py31.643430.137731.9493swinir_s128w8d6e180_8xb1-lr2e-4-1600k_dfwb-grayDN50.py28.565127.315728.6626彩色去噪DFWB 训练PSNR模型配置CBSD68Kodak24McMasterUrban100swinir_s128w8d6e180_8xb1-lr2e-4-1600k_dfwb-colorDN15.py34.413635.355535.620535.1836swinir_s128w8d6e180_8xb1-lr2e-4-1600k_dfwb-colorDN25.py31.762632.900333.319832.9458swinir_s128w8d6e180_8xb1-lr2e-4-1600k_dfwb-colorDN50.py28.534629.805830.202729.8832JPEG 压缩伪影消除灰度PSNR / SSIM模型配置Classic5LIVE1swinir_s126w7d6e180_8xb1-lr2e-4-1600k_dfwb-grayCAR10.py30.2746 / 0.825429.8611 / 0.8292swinir_s126w7d6e180_8xb1-lr2e-4-1600k_dfwb-grayCAR20.py32.5331 / 0.875332.2667 / 0.8914swinir_s126w7d6e180_8xb1-lr2e-4-1600k_dfwb-grayCAR30.py33.7504 / 0.896633.7001 / 0.9179swinir_s126w7d6e180_8xb1-lr2e-4-1600k_dfwb-grayCAR40.py34.5377 / 0.908734.6846 / 0.9322JPEG 压缩伪影消除彩色PSNR / SSIM模型配置Classic5LIVE1swinir_s126w7d6e180_8xb1-lr2e-4-1600k_dfwb-colorCAR10.py30.1019 / 0.821728.0676 / 0.8094swinir_s126w7d6e180_8xb1-lr2e-4-1600k_dfwb-colorCAR20.py32.3489 / 0.872730.4514 / 0.8745swinir_s126w7d6e180_8xb1-lr2e-4-1600k_dfwb-colorCAR30.py33.6028 / 0.894931.8235 / 0.9023swinir_s126w7d6e180_8xb1-lr2e-4-1600k_dfwb-colorCAR40.py34.4344 / 0.907632.7610 / 0.9179五、训练实战CPU / 单卡 / 多卡完整命令5.1 数据准备训练 SwinIR 需要按配置中的数据根目录组织数据集。各配置统一使用data_root data因此需要把数据集放到仓库根目录下的data/文件夹中包括DIV2K经典/轻量超分、DF2K超分 setting2、DF2K-OST真实世界超分DFWB去噪与 JPEG 伪影消除训练集各类测试集Set5、Set14、DIV2K sub、RealSRSet5images、Set12、BSD68、Urban100、CBSD68、Kodak24、McMaster、Classic5、LIVE1。meta_info_*.txt标注文件如meta_info_DIV2K800sub_GT.txt、meta_info_DFWB8550sub_GT.txt需与数据集配套放置MMagic 的BasicImageDataset会依据 ann_file 与 data_prefix 解析样本路径。5.2 CPU 训练在无 GPU 的环境下通过CUDA_VISIBLE_DEVICES-1屏蔽 GPU 即可# 001 经典超分DIV2Kpatch 48 CUDA_VISIBLE_DEVICES-1 python tools/train.py configs/swinir/swinir_x2s48w8d6e180_8xb4-lr2e-4-500k_div2k.py CUDA_VISIBLE_DEVICES-1 python tools/train.py configs/swinir/swinir_x3s48w8d6e180_8xb4-lr2e-4-500k_div2k.py CUDA_VISIBLE_DEVICES-1 python tools/train.py configs/swinir/swinir_x4s48w8d6e180_8xb4-lr2e-4-500k_div2k.py # setting2DIV2KFlickr2Kpatch 64 CUDA_VISIBLE_DEVICES-1 python tools/train.py configs/swinir/swinir_x2s64w8d6e180_8xb4-lr2e-4-500k_df2k.py CUDA_VISIBLE_DEVICES-1 python tools/train.py configs/swinir/swinir_x3s64w8d6e180_8xb4-lr2e-4-500k_df2k.py CUDA_VISIBLE_DEVICES-1 python tools/train.py configs/swinir/swinir_x4s64w8d6e180_8xb4-lr2e-4-500k_df2k.py # 002 轻量超分 CUDA_VISIBLE_DEVICES-1 python tools/train.py configs/swinir/swinir_x2s64w8d4e60_8xb4-lr2e-4-500k_div2k.py CUDA_VISIBLE_DEVICES-1 python tools/train.py configs/swinir/swinir_x3s64w8d4e60_8xb4-lr2e-4-500k_div2k.py CUDA_VISIBLE_DEVICES-1 python tools/train.py configs/swinir/swinir_x4s64w8d4e60_8xb4-lr2e-4-500k_div2k.py # 003 真实世界超分 CUDA_VISIBLE_DEVICES-1 python tools/train.py configs/swinir/swinir_gan-x2s64w8d6e180_8xb4-lr1e-4-600k_df2k-ost.py CUDA_VISIBLE_DEVICES-1 python tools/train.py configs/swinir/swinir_psnr-x2s64w8d6e180_8xb4-lr1e-4-600k_df2k-ost.py CUDA_VISIBLE_DEVICES-1 python tools/train.py configs/swinir/swinir_gan-x4s64w8d6e180_8xb4-lr1e-4-600k_df2k-ost.py CUDA_VISIBLE_DEVICES-1 python tools/train.py configs/swinir/swinir_psnr-x4s64w8d6e180_8xb4-lr1e-4-600k_df2k-ost.py CUDA_VISIBLE_DEVICES-1 python tools/train.py configs/swinir/swinir_gan-x4s64w8d9e240_8xb4-lr1e-4-600k_df2k-ost.py CUDA_VISIBLE_DEVICES-1 python tools/train.py configs/swinir/swinir_psnr-x4s64w8d9e240_8xb4-lr1e-4-600k_df2k-ost.py # 004 灰度去噪 CUDA_VISIBLE_DEVICES-1 python tools/train.py configs/swinir/swinir_s128w8d6e180_8xb1-lr2e-4-1600k_dfwb-grayDN15.py CUDA_VISIBLE_DEVICES-1 python tools/train.py configs/swinir/swinir_s128w8d6e180_8xb1-lr2e-4-1600k_dfwb-grayDN25.py CUDA_VISIBLE_DEVICES-1 python tools/train.py configs/swinir/swinir_s128w8d6e180_8xb1-lr2e-4-1600k_dfwb-grayDN50.py # 005 彩色去噪 CUDA_VISIBLE_DEVICES-1 python tools/train.py configs/swinir/swinir_s128w8d6e180_8xb1-lr2e-4-1600k_dfwb-colorDN15.py CUDA_VISIBLE_DEVICES-1 python tools/train.py configs/swinir/swinir_s128w8d6e180_8xb1-lr2e-4-1600k_dfwb-colorDN25.py CUDA_VISIBLE_DEVICES-1 python tools/train.py configs/swinir/swinir_s128w8d6e180_8xb1-lr2e-4-1600k_dfwb-colorDN50.py # 006 JPEG 压缩伪影消除window_size7对应 JPEG 8×8 块编码 # 灰度 CUDA_VISIBLE_DEVICES-1 python tools/train.py configs/swinir/swinir_s126w7d6e180_8xb1-lr2e-4-1600k_dfwb-grayCAR10.py CUDA_VISIBLE_DEVICES-1 python tools/train.py configs/swinir/swinir_s126w7d6e180_8xb1-lr2e-4-1600k_dfwb-grayCAR20.py CUDA_VISIBLE_DEVICES-1 python tools/train.py configs/swinir/swinir_s126w7d6e180_8xb1-lr2e-4-1600k_dfwb-grayCAR30.py CUDA_VISIBLE_DEVICES-1 python tools/train.py configs/swinir/swinir_s126w7d6e180_8xb1-lr2e-4-1600k_dfwb-grayCAR40.py # 彩色 CUDA_VISIBLE_DEVICES-1 python tools/train.py configs/swinir/swinir_s126w7d6e180_8xb1-lr2e-4-1600k_dfwb-colorCAR10.py CUDA_VISIBLE_DEVICES-1 python tools/train.py configs/swinir/swinir_s126w7d6e180_8xb1-lr2e-4-1600k_dfwb-colorCAR20.py CUDA_VISIBLE_DEVICES-1 python tools/train.py configs/swinir/swinir_s126w7d6e180_8xb1-lr2e-4-1600k_dfwb-colorCAR30.py CUDA_VISIBLE_DEVICES-1 python tools/train.py configs/swinir/swinir_s126w7d6e180_8xb1-lr2e-4-1600k_dfwb-colorCAR40.py单 GPU 训练只需去掉CUDA_VISIBLE_DEVICES-1前缀多 GPU 训练使用dist_train.sh并指定卡数README 中的 8 卡设定与配置文件名8xb4/8xb1对应即 8 卡 × 每卡 batch 4/1# 单卡示例经典超分 x2 python tools/train.py configs/swinir/swinir_x2s48w8d6e180_8xb4-lr2e-4-500k_div2k.py # 多卡示例8 卡 ./tools/dist_train.sh configs/swinir/swinir_x2s48w8d6e180_8xb4-lr2e-4-500k_div2k.py 8其余任务的单卡/多卡训练命令与上述完全同构将配置文件替换为对应任务的配置即可完整清单见 configs/swinir/README.md 的 Train Instructions。训练相关通用细节可参考 MMagic 的 train_test.md 中 Train a model in MMagic 一节。5.3 训练循环与优化器关键参数以经典超分为例训练超参数集中体现为IterBasedTrainLoop按迭代训练max_iters500_000每 5000 迭代验证一次优化器Adamlr2e-4betas(0.9, 0.999)学习率MultiStepLR在 250k/400k/450k/475k 迭代处衰减 0.5 倍损失经典/轻量超分用L1Loss去噪与 JPEG 伪影消除用CharbonnierLosseps1e-9对异常值更鲁棒数据增强随机翻转水平/垂直、RandomTransposeHW随机转置、PairedRandomCrop配对裁剪。去噪与 JPEG 任务的调度更长max_iters1_600_000里程碑为 800k/1200k/1400k/1500k/1600k。六、测试实战复现论文指标测试命令同样区分 CPU / 单卡 / 多卡三种场景用法为tools/test.py 配置 权重URL权重 URL 使用 README 与 metafile.yml 中记录的download.openmmlab.com/mmediting/swinir/...链接。下面按任务组给出代表性命令完整清单见 configs/swinir/README.md 的 Test Instructions# CPU 测试经典超分 x2 CUDA_VISIBLE_DEVICES-1 python tools/test.py configs/swinir/swinir_x2s48w8d6e180_8xb4-lr2e-4-500k_div2k.py \ https://download.openmmlab.com/mmediting/swinir/swinir_x2s48w8d6e180_8xb4-lr2e-4-500k_div2k-ed2d419e.pth # CPU 测试灰度去噪 sigma15 CUDA_VISIBLE_DEVICES-1 python tools/test.py configs/swinir/swinir_s128w8d6e180_8xb1-lr2e-4-1600k_dfwb-grayDN15.py \ https://download.openmmlab.com/mmediting/swinir/swinir_s128w8d6e180_8xb1-lr2e-4-1600k_dfwb-grayDN15-6782691b.pth # CPU 测试灰度 JPEG 伪影消除 quality10 CUDA_VISIBLE_DEVICES-1 python tools/test.py configs/swinir/swinir_s126w7d6e180_8xb1-lr2e-4-1600k_dfwb-grayCAR10.py \ https://download.openmmlab.com/mmediting/swinir/swinir_s126w7d6e180_8xb1-lr2e-4-1600k_dfwb-grayCAR10-da93c8e9.pth # 单卡测试 python tools/test.py configs/swinir/swinir_x3s48w8d6e180_8xb4-lr2e-4-500k_div2k.py \ https://download.openmmlab.com/mmediting/swinir/swinir_x3s48w8d6e180_8xb4-lr2e-4-500k_div2k-926950f1.pth # 多卡测试 ./tools/dist_test.sh configs/swinir/swinir_x4s48w8d6e180_8xb4-lr2e-4-500k_div2k.py \ https://download.openmmlab.com/mmediting/swinir/swinir_x4s48w8d6e180_8xb4-lr2e-4-500k_div2k-88e4903d.pth所有任务组的测试命令均遵循同一模式只需替换为对应配置与权重 URL。测试通用细节可参考 train_test.md 中 Test a pre-trained model in MMagic 一节。需要说明测试时经典/轻量超分会在 Y 通道上评估并在边界裁剪scale像素去噪在灰度或 RGB 上直接评估真实世界超分使用 NIQE该指标越低越好JPEG 伪影消除在 Classic5 与 LIVE1 上计算 PSNR/SSIM。七、源码验证SwinIRNet关键实现对照上文介绍的配置项都能在源码中找到一一对应这里给出几条可直接查阅的验证路径upsampler分支逻辑见 swinir_net.pypixelshuffle经典超分、pixelshuffledirect轻量超分、nearestconv真实世界超分与空串去噪/JPEG 任务各自对应独立的重建路径。window_size的作用check_image_size按窗口对齐输入swinir_net.pySwin Transformer Block 内shift_size随索引交替为 0 与window_size // 2swinir_rstb.py窗口切分工具见 swinir_utils.py。depths与embed_dimSwinIRNet依据depths的长度循环构建 RSTB 列表并据此计算随机深度衰减率swinir_net.pynum_heads与embed_dim共同决定注意力头维度head_dim dim // num_headsswinir_rstb.py。resi_connection1conv使用单卷积残差分支3conv使用带 LeakyReLU 的三卷积结构以节省参数swinir_net.py。模型前向行为单元测试 test_swinir_net.py 验证了不同upsampler组合下的输出尺寸如 x2 输入 16×16 输出 32×32、x3 输出 48×48可作为复现与自测的对照。八、配置命名约定速查理解 SwinIR 配置文件名对快速定位模型很有帮助以swinir_x2s48w8d6e180_8xb4-lr2e-4-500k_div2k为例各字段含义如下字段含义取值示例x2/x3/x4超分倍率去噪/JPEG 任务无此前缀x2、x4s48/s64/s128/s126训练/推理 patch 尺寸 img_size48、64、128、126w8/w7Swin 窗口大小 window_size8超分/去噪、7JPEG 任务d6/d9/d4RSTB 数量depths 列表长度6、9、4e180/e60/e240特征维度 embed_dim180、60、2408xb4/8xb18 卡 × 每卡 batch 4/18xb4、8xb1lr2e-4/lr1e-4学习率2e-4、1e-4500k/600k/1600k总迭代次数500k、600k、1600kdiv2k/df2k/df2k-ost/dfwb训练数据集DIV2K、DF2K、DF2K-OST、DFWBDN15/DN25/DN50高斯噪声标准差 sigma15、25、50CAR10/CAR20/CAR30/CAR40JPEG 压缩质量10、20、30、40gan/psnr真实世界超分的训练范式gan、psnrgray/color灰度 / 彩色任务gray、color九、总结SwinIR 是 MMagic 中覆盖任务面最广的低层视觉模型之一同一个SwinIRNet通过upsampler、upscale、in_chans、img_range等少量参数即可适配超分、去噪与 JPEG 伪影消除三类任务而configs/swinir/下的 30 份配置与完整的 CPU/单卡/多卡训练测试命令使其具备开箱即用的可复现性。在实际使用中请根据目标退化类型选择对应任务组的配置超分场景优先经典/轻量/真实世界分组噪声污染场景选择DN系列压缩失真场景选择CAR系列并注意 JPEG 任务特有的window_size7设定。如需进一步了解 MMagic 中模型训练/测试的通用流程与参数可继续阅读 train_test.md完整的 SwinIR 结果表格、全部权重链接与命令清单可查阅 configs/swinir/README.md。引用SwinIR 论文引用信息记录于 configs/swinir/README.md 的 Citation 一节inproceedings{liang2021swinir, title{Swinir: Image restoration using swin transformer}, author{Liang, Jingyun and Cao, Jiezhang and Sun, Guolei and Zhang, Kai and Van Gool, Luc and Timofte, Radu}, booktitle{Proceedings of the IEEE/CVF International Conference on Computer Vision}, pages{1833--1844}, year{2021} }赞分享媒体生成计算机视觉深度学习人工智能大模型【免费下载链接】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点击查看免费下载相关推荐PaddleGAN 中的 SwinIR基于 Swin Transformer 的图像去噪实战指南PaddleGAN 中的 SwinIR基于 Swin Transformer 的图像去噪实战指南 导读 本文以 PaddleGAN 官方教程 docs/en_人工智能深度学习计算机视觉媒体生成视频处理图像处理MMagic 中 SwinIR 全任务实战指南超分辨率、去噪与 JPEG 伪影移除的训练、测试与源码解析MMagic 中 SwinIR 全任务实战指南超分辨率、去噪与 JPEG 伪影移除的训练、测试与源码解析 SwinIRICCVW2021是基于 Swin媒体生成计算机视觉深度学习人工智能大模型SwinIR基于Swin Transformer的图像恢复与超分辨率库SwinIR基于Swin Transformer的图像恢复与超分辨率库 项目简介 是一个由Jingyun Liang开发的深度学习项目专注于图像恢复和超分辨人工智能计算机视觉图像处理上一篇Goose容器支持在Docker中运行AI代理的指南下一篇【技术重构】OpenCore Legacy Patcher为老旧Mac设备提供原生级系统升级的技术方案创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。