公司动态

Invertible-Image-Rescaling 评测指南:PSNR/SSIM 脚本使用与 2x/4x/8x 基准数据集结果复现

📅 2026/8/23 16:52:54
Invertible-Image-Rescaling 评测指南:PSNR/SSIM 脚本使用与 2x/4x/8x 基准数据集结果复现
Invertible-Image-Rescaling 评测指南PSNR/SSIM 脚本使用与 2x/4x/8x 基准数据集结果复现【免费下载链接】Invertible-Image-Rescaling[ECCV 2020, IJCV 2022] Invertible Image Rescaling项目地址: https://gitcode.com/gh_mirrors/in/Invertible-Image-RescalingInvertible-Image-RescalingIRN是 ECCV 2020 Oral 论文《Invertible Image Rescaling》的官方 PyTorch 实现用单一可逆网络同时完成图像的下采样与上采样效果远超传统下采样 超分辨率的组合方案。本文是一份面向新手的完整评测指南手把手教你使用项目自带的 PSNR/SSIM 脚本并复现在 Set5、Set14、BSD100、Urban100、DIV2K 等基准数据集上的 2x/4x/8x 重建指标。一、先认识 IRN可逆图像重缩放网络IRN 的核心思想很优雅一个 InvBlock 可逆块先通过 Haar 变换提取细节再逐级缩小/放大特征图最后由 Downscaling Module 输出低分辨率图像。因为网络是可逆的同一套权重既能下采样也能上采样。 复现评测时只需关注测试环节训练代码同样内置在仓库中如 codes/train.py但本文聚焦评测与结果复现。二、环境准备一键装好依赖推荐在 Anaconda 中创建 Python 3 虚拟环境pip install torch torchvision numpy opencv-python lmdb pyyaml依赖说明见 README.md 的Dependencies and Installation一节。有 NVIDIA GPU 的机器体验最佳配置文件中默认gpu_ids: [0]。三、准备基准数据集IRN 测试常用的 5 个基准数据集数据集规模特点Set55 张最常用、最快出结果Set1414 张含更多纹理细节BSD100100 张标准基准Urban100100 张城市建筑边缘密集DIV2K (val)100 张大分辨率验证集数据集下载方式可参考 BasicSR 的 Dataset Preparation 文档见 README.md 的Dataset Preparation。下载后按数据集名建好文件夹并把路径填进测试配置即可。四、PSNR/SSIM 独立评测脚本使用方法如果你已经有了生成图像例如自己跑出的结果目录可以直接用仓库提供的独立脚本 metrics/calculate_PSNR_SSIM.py 计算指标其结果与 MATLAB 官方算法完全一致。4.1 修改脚本头部配置脚本采用改配置直接运行的设计打开文件只需改 4 个变量folder_GT /path/to/Set5 # GT原图文件夹 folder_Gen /path/to/results # 生成/恢复图像文件夹 crop_border 4 # 评测前裁剪的边框像素 test_Y False # True: 只评 Y 通道; False: 评 RGB4.2 运行并解读输出python metrics/calculate_PSNR_SSIM.py运行后逐张打印每幅图的指标最后一行输出平均值Average: PSNR: 43.991234 dB, SSIM: 0.987123两个关键细节crop_border 4这是社区惯例裁掉 4 个边缘像素以排除边界效应论文结果均按此口径统计test_Y True切换到 YCbCr 的 Y 通道评测论文 PSNR_Y 指标即此口径RGB 与 Y 通道结果略有差异对比论文数据时请注意口径一致。脚本内部的核心函数calculate_psnr基于 MSE 计算calculate_ssim使用 11×11 高斯窗口实现细节可参考 calculate_PSNR_SSIM.py。五、一键复现 2x/4x/8x 测试test.py 配置文件IRN 更推荐的方式是直接运行测试脚本 codes/test.py它会边推理边自动计算并打印 PSNR/SSIM无需额外跑独立脚本。5.1 配置测试任务测试配置位于 codes/options/test/ 目录覆盖了全部常用倍数配置文件缩放倍数说明test_IRN_x2.yml2x快速验证首选test_IRN_x3.yml3x中间倍数test_IRN_x4.yml4x论文主力设置test_IRN_x8.yml8x大倍数下采样打开对应 yml把 5 个dataroot_GT填成本地数据集路径即可例如datasets: test_1: name: set5 mode: LQGT dataroot_GT: /path/to/Set5 # 只改这一行同时确认path.pretrain_model_G指向已下载好的权重文件如IRN_x4.pth预训练模型可在代码框架说明 codes/README.md 中查看获取方式。5.2 启动测试在codes/目录下执行python test.py -opt options/test/test_IRN_x4.yml5.3 看懂输出日志每处理一张图日志会打印两类指标101 - PSNR: 45.210344 dB; SSIM: 0.991234; PSNR_Y: 45.778123 dB; SSIM_Y: 0.991834. ----Average PSNR/SSIM results for set5---- psnr: 43.991234 db; ssim: 0.987123.PSNR / SSIMRGB 全通道口径PSNR_Y / SSIM_YY 通道口径论文主表采用日志末尾的Average行就是你要汇报的基准成绩结果保存在results/目录中。⚠️ 复现提示IRN 下采样含随机采样 z论文报告的是 5 次采样的均值单次运行与论文数值可能有 0.02 dB 的微小波动属正常现象。六、基准数据集结果参考值IRN vs 其他方法下表为论文在 2x / 4x 下的核心结果PSNR / SSIM可作为你复现结果的对照基准2x 下采样 上采样方法Set5Set14BSD100Urban100DIV2KBicubic Bicubic33.66 / 0.929930.24 / 0.868829.56 / 0.843126.88 / 0.840331.01 / 0.9393Bicubic EDSR38.20 / 0.960634.02 / 0.920432.37 / 0.901833.10 / 0.936335.12 / 0.9699IRN (ours)43.99 / 0.987140.79 / 0.977841.32 / 0.987639.92 / 0.986544.32 / 0.99084x 下采样 上采样方法Set5Set14BSD100Urban100DIV2KBicubic Bicubic28.42 / 0.810426.00 / 0.702725.96 / 0.667523.14 / 0.657726.66 / 0.8521Bicubic ESRGAN32.74 / 0.901229.00 / 0.791527.84 / 0.745527.03 / 0.815230.92 / 0.8486IRN (ours)36.19 / 0.945132.67 / 0.901531.64 / 0.882631.41 / 0.915735.07 / 0.9318可以看出 IRN 仅用 1.66M2x/ 4.35M4x参数就全面超越动辄 15M 参数的专用下采样 专用超分组合在 Set5 4x 上甚至把 PSNR 拉高到 36.19 dB优势非常明显。完整对比表可参考 README.md 与上文插图。七、常见问题与复现清单结果和论文差一点确认三件事①crop_border取 4或等于 scale② 对比 PSNR 时明确是 RGB 还是 Y 通道③ 多次运行取平均。只想快速验证流程先用最小的 Set5 test_IRN_x2.yml几分钟即可跑通。生成图像存哪里results_root下按数据集名分文件夹命名如001.png方便后续用 calculate_PSNR_SSIM.py 复核。想复现颜色化或压缩扩展实验分别使用 test_IRN-Color.py 与 test_IRN-Compression.py 及对应 options/test/ 配置。八、总结本文带你走完了 Invertible-Image-Rescaling 的完整评测链路用独立脚本 metrics/calculate_PSNR_SSIM.py 对任意结果目录算 PSNR/SSIM用 codes/test.py codes/options/test/ 中现成的 2x/4x/8x 配置文件一键复现基准成绩对照论文表格核对 Set5 / Set14 / BSD100 / Urban100 / DIV2K 的指标。跟随以上步骤你应当能得到与论文一致±0.02 dB 内的 PSNR/SSIM 结果完成对可逆图像重缩放模型的标准评测闭环。 【免费下载链接】Invertible-Image-Rescaling[ECCV 2020, IJCV 2022] Invertible Image Rescaling项目地址: https://gitcode.com/gh_mirrors/in/Invertible-Image-Rescaling创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考