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

发布时间:2026/10/23 11:18:13

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),仅供参考
延伸阅读

更多相关文章

2026/10/23 22:22:00

macOS上Python环境管理:Homebrew与pyenv多版本切换实践

简介:这份资源是一份面向macOS用户的Python安装方法图文指南,覆盖三种主流方式:通过Homebrew安装、官网下载.pkg安装包,以及使用pyenv进行多版本管理。适用人群从刚接触Python的初学者到需要维护多个开发环境的进阶开发者&#xf…

2026/10/23 22:22:00

MQL4编程入门:从基础语法到EA与自定义指标实战

简介:面向外汇交易者与编程初学者的MT4 MQL4编程入门资料,系统梳理MetaTrader 4平台内置编程语言的基础用法,帮助读者从零开始建立编写自定义指标与Expert Advisor(EA)的能力。内容以文档形式呈现,围绕自定…

2026/10/23 22:22:00

JavaWeb+MySQL图书馆管理系统源码部署与借阅事务实践

简介:这份 JavaWeb 图书馆管理系统源码面向高校课程设计、毕业设计与 JavaWeb 入门实践者,基于 Servlet、JSP、JavaBean 与 MVC 分层,配合 MySQL 实现图书信息、读者账户、借阅归还及管理员权限等核心业务,可帮助读者理解请求处理…

2026/10/23 22:22:00

50M Qume Linux虚拟机部署与启动排错实战

简介:Qume 是一款体量仅约50MB的轻量级 Linux 虚拟机软件包,面向想在 Windows 环境下快速尝鲜 Linux、又不想进行复杂安装或重启的用户,也适合作为虚拟机工具的入门体验。压缩包共14个文件,以4个bin、3个txt、3个exe、1个dll、1个…

2026/10/23 22:22:00

C语言基础学习路线:编译器、指针、内存与常见陷阱一次打通

简介:《C语言基础(全)》是一份面向C语言初学者与需要巩固基础的程序员的PDF教程,系统梳理从程序设计与C语言入门、变量与输入、表达式与运算符到程序设计的完整知识链。内容涵盖欧几里德算法求最大公约数、编译与解释两种执行方式…

2026/10/23 22:16:57

韩国电子烟技术创新与监管挑战分析

1. 韩国电子烟市场现状与核心矛盾韩国作为全球电子烟渗透率最高的市场之一,其发展轨迹呈现出典型的"技术驱动-监管跟进-用户适应"三角关系。2023年数据显示,韩国成年吸烟者中电子烟使用率已达32.5%,远超全球15%的平均水平。这种爆发…

2026/10/22 11:29:28

金融AI落地指南:从调研报告到技术选型与工程实践

简介:这份PDF报告聚焦2025年金融服务业中国AI现状与趋势,面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者,帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件,大小约1…

2026/10/23 0:02:26

Verilog实现FPGA密码锁:矩阵键盘与状态机设计实战

说实话,这几年接触了不少想入门FPGA的朋友,如果你问哪个项目能一口气把Verilog的核心基本功串起来,我通常会推荐电子密码锁。这个项目看着不起眼,却把矩阵键盘扫描、按键消抖、状态机设计、动态显示刷新、外设控制这些数字逻辑里的…

2026/10/23 0:02:26

数据服务监控运维实战:从指标体系到告警治理与故障排查

周末凌晨两点,手机震了。第一反应是“数据服务挂了”。打开电脑看了下,果然,某张核心报表的数据产出时间已经超过SLA两小时,下游三个业务方连着发来问询。这种场景,做过大数据运维的人都不会陌生。数据服务的监控与运维…

2026/10/23 0:02:26

FreeRTOS任务通知实战详解:内核原理、API与避坑指南

裸机编程切到RTOS之后,任务之间的通信和同步永远是躲不开的坎。前面聊过队列、信号量、互斥锁、事件组,这次把FreeRTOS任务通知(Task Notification)单独拎出来讲透。原因很简单:任务通知是FreeRTOS里最容易用错、也最容…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑