news 2026/1/20 10:09:58

Restormer 去雨(Deraining)任务代码运行全流程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Restormer 去雨(Deraining)任务代码运行全流程

本文将系统梳理基于 Restormer 模型实现图像去雨(Deraining)任务的完整流程,涵盖代码执行逻辑、核心文件架构及关键操作步骤,为实验的理解与复现提供清晰指引。若需获取适配新版环境的 Restormer 配置教程(含避坑要点),可参考链接:https://blog.csdn.net/m0_73969619/article/details/155617054?spm=1001.2014.3001.5501

一、核心运行指令解析

执行去雨任务的核心启动指令如下:

cd Restormer ./train.sh Deraining/Options/Deraining_Restormer.yml

该指令的本质是调用训练主程序并传入配置参数,等价于直接运行:

python basicsr/train.py -opt Deraining/Options/Deraining_Restormer.yml

其中train.sh是封装好的启动脚本,仅用于简化指令执行;所有训练所需的参数(如数据集路径、模型超参数、训练轮次等)均定义在Deraining/Options/Deraining_Restormer.yml配置文件中,最终实际运行的是basicsr/train.py训练主程序。

二、核心文件夹结构说明

1. basicsr 文件夹(核心代码目录)

该文件夹包含模型训练、测试的核心逻辑及网络架构定义,关键文件 / 子文件夹如下:

  • train.py:模型训练主程序,负责加载配置、构建网络、执行训练流程,最终生成预训练的.pth模型文件。
  • test.py:模型测试主程序,训练完成后用于执行标准评估流程,加载预训练模型对测试集图像进行去雨处理。
  • models/archs/restormer_arch.py:Restormer 网络架构实现文件,严格复现论文中提出的 Restormer 网络结构,是模型的核心组成部分。

2. experiments 文件夹(训练结果存储目录)

该文件夹与basicsr文件夹同级,训练过程中自动生成,用于保存训练相关结果,以去雨任务为例:

  • Deraining_Restormer/models:存放不同迭代次数下生成的.pth模型文件(如每 1000 轮保存一次模型)。
  • Deraining_Restormer/training_states:保存训练状态信息(如当前迭代数、优化器参数、学习率等),用于中断后恢复训练,避免从头开始训练。

3. Deraining 文件夹(去雨任务专属目录)

该文件夹包含去雨任务的数据集、预训练模型、测试结果及评估脚本,具体如下:

  • Datasets:存放去雨任务的训练 / 测试数据集,目录结构:
    Datasets/ ├── train/ │ └── Rain13K/ # 训练数据集 │ ├── input/ # 带雨图像 │ └── target/ # 无雨标签图像 └── test/ # 测试数据集 ├── Rain100H ├── Rain100L ├── Test100 ├── Test1200 └── Test2800
  • download_data.py:数据集下载脚本,内置各数据集的下载链接,可通过该脚本自动下载上述训练 / 测试数据集。
  • pretrained_models:预训练模型存放目录,可存放官方提供的预训练模型(如deraining.pth)或自己训练得到的.pth模型。
  • results:测试结果存储目录,需手动创建,用于存放test.py运行后生成的去雨修复图像。
  • evaluate_PSNR_SSIM.m:MATLAB 评估脚本,用于计算去雨后的图像(Deraining/results/下)与原始无雨图像(Deraining/Datasets/test/下)的 PSNR 和 SSIM 指标(需根据实际路径调整脚本中的文件路径)。
  • test.py:去雨任务专属测试脚本,加载预训练模型,读取Deraining/Datasets/test下的带雨测试图像,执行去雨处理后,将修复图像保存至Deraining/results目录。

三、完整代码运行流程

1. 模型训练流程

# 1. 进入项目根目录 cd Restormer # 2. 激活conda环境(根据实际环境名称调整) conda activate pytorch118 # 3. 执行训练脚本,生成预训练模型 ./train.sh Deraining/Options/Deraining_Restormer.yml

核心目标:完成模型训练,在experiments/Deraining_Restormer/models下生成预训练.pth文件。

2. 模型测试与评估流程

# 1. 进入项目根目录 cd Restormer # 2. 激活conda环境 conda activate pytorch118 # 3. 执行测试脚本,生成去雨修复图像(保存至Deraining/results) python test.py # 4. 运行MATLAB脚本,计算PSNR/SSIM评估指标 matlab -nodisplay -batch "evaluate_PSNR_SSIM"

核心目标:第一步生成去雨修复图像,第二步计算修复图像与真实无雨图像的 PSNR/SSIM,完成模型性能评估。

注意:所有涉及文件路径的地方(如evaluate_PSNR_SSIM.m中的图像路径),需根据本地实际存储路径调整。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/20 9:15:04

以全栈AI能力重塑智能客服服务效能

在电商驱动全球商业的时代,企业服务正面临关键瓶颈:传统机器人虽能承接基础咨询,却陷入不能同时满足“效率、质量、成本”的困境—要么单点响应、要么应答机械、要么维护成本高。其核心在于传统机器人仅停留在“关键词匹配固定流程”的浅层应…

作者头像 李华
网站建设 2026/1/18 6:32:47

如何在PHP项目中嵌入Rust代码?5步实现毫秒级响应的高性能服务集成

第一章:PHP 与 Rust 的高性能扩展开发在现代 Web 开发中,PHP 作为长期活跃的服务器端语言,面临计算密集型任务时性能瓶颈日益明显。为突破这一限制,开发者开始探索将系统级语言 Rust 集成至 PHP 扩展中,以实现高性能逻…

作者头像 李华
网站建设 2026/1/18 3:51:22

英伟达推出云端算力集群监管工具,自证GPU无后门

英伟达近日发布称,正在开发用于可视化和监测英伟达GPU集群的软件解决方案,为云合作伙伴和企业提供洞察仪表板,帮助他们提高整个计算基础设施的GPU正常运行时间。据了解,该服务由客户选择、自行安装和控制,用于监测GPU使…

作者头像 李华
网站建设 2026/1/17 14:02:06

如何用智能配色工具3步打造品牌视觉一致性

如何用智能配色工具3步打造品牌视觉一致性 【免费下载链接】color-thief Grab the color palette from an image using just Javascript. Works in the browser and in Node. 项目地址: https://gitcode.com/gh_mirrors/co/color-thief 你是否曾经为社交媒体内容配色而烦…

作者头像 李华
网站建设 2026/1/18 3:43:46

【OD刷题笔记】- 分苹果

📌 华为OD机试真题精选 2025B卷合集 分苹果 问题描述 A、B两个人把苹果分为两堆,A希望按照他的计算规则等分苹果,他的计算规则是按照二进制加法计算,并且不计算进位 12+5=9(1100 + 0101 = 9),B的计算规则是十进制加法,包括正常进位,B希望在满足A的情况下获取苹果重…

作者头像 李华
网站建设 2026/1/17 6:54:45

MCP SC-400从入门到精通,构建抗量子攻击防线的关键路径

第一章:MCP SC-400量子安全配置概述 MCP SC-400 是新一代量子安全通信协议中的核心配置标准,专为抵御量子计算攻击而设计。该配置集成了抗量子密码算法(PQC)、密钥封装机制(KEM)以及动态身份验证流程&#…

作者头像 李华