news 2026/5/10 17:46:53

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/5/7 5:37:08

Wan2.2-T2V-A14B如何生成带有烟花绽放效果的节日庆典视频?

如何用 Wan2.2-T2V-A14B 一键生成“烟花绽放”的节日庆典视频?✨🎆 你有没有遇到过这种情况——马上要发春节宣传视频了,团队还在熬夜剪辑烟花特效、调色、加人声欢呼,结果客户一句“氛围不够喜庆”就得全部重来?&…

作者头像 李华
网站建设 2026/5/10 3:22:20

【MCP PL-600核心技术突破】:3步搞定复杂场景下的多模态感知与响应

第一章:MCP PL-600多模态Agent架构概览MCP PL-600是一种面向复杂任务协同的多模态智能体架构,专为融合文本、图像、语音与结构化数据处理而设计。其核心在于统一感知层与动态决策引擎之间的高效协作,支持跨模态语义对齐与实时响应。架构核心组…

作者头像 李华
网站建设 2026/5/10 11:02:22

山西临汾卤制品制作技艺的技术路径分析

产业技术背景概述山西临汾地区卤制品作为传统食品产业的重要组成部分,近年来在传统技艺保护与现代生产技术融合方面进行了多方面探索。本文将以地方代表性企业老关家为主要分析对象,探讨其技术发展路径及行业技术现状。传统工艺的数字化保护方案1. 工艺参…

作者头像 李华
网站建设 2026/5/10 12:15:31

自然语言数据分析革命:PandasAI让数据对话变得如此简单

自然语言数据分析革命:PandasAI让数据对话变得如此简单 【免费下载链接】pandas-ai 该项目扩展了Pandas库的功能,添加了一些面向机器学习和人工智能的数据处理方法,方便AI工程师利用Pandas进行更高效的数据准备和分析。 项目地址: https://…

作者头像 李华
网站建设 2026/5/10 12:15:31

传智杯零基础备战全攻略:从 “小白” 到 “参赛合格者” 的进阶指南

传智杯作为面向学生群体的编程赛事,主打 “零基础友好”,核心考察基础编程能力、逻辑思维和问题解决能力,并非高难度算法竞赛。对于零基础选手,只要规划清晰、方法得当,完全能在短期内完成备赛并实现有效输出。以下攻略…

作者头像 李华