news 2026/5/1 3:56:43

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/4/23 10:15:32

鸿蒙 Flutter 安全组件开发:加密输入框与脱敏展示组件

一、引言 在鸿蒙(HarmonyOS)应用开发中,用户敏感信息(如密码、手机号、身份证号)的安全防护是核心需求之一。基于 Flutter 跨平台框架开发鸿蒙应用时,原生组件往往无法直接满足 “输入加密” 和 “展示脱敏…

作者头像 李华
网站建设 2026/4/29 4:00:38

Cameralink采集软件-Espeedgrab软件应用【2.存储图片和视频】

应对苛刻环境,-40~75度,10kv静电防护,工业级品质,便携式,嵌入式cameralink采集卡,操作软件Espeedgrab使用方法。类比iport cl-u3的软件ebus player,ESpeedGrab软件,更有…

作者头像 李华
网站建设 2026/4/19 5:52:44

JUCE音频开发框架:终极跨平台音频应用构建指南

JUCE音频开发框架:终极跨平台音频应用构建指南 【免费下载链接】JUCE 项目地址: https://gitcode.com/gh_mirrors/juce/JUCE JUCE音频开发框架是一个功能强大的跨平台音频应用开发工具,专为音乐制作人、音频工程师和开发者设计。这个开源项目提供…

作者头像 李华
网站建设 2026/4/27 13:56:45

冥想第一千七百二十九天(1729)

1.周三了,天气很好,补日记,右胳膊可能因为拉单杠的原因,做推拉门动作的时候会疼,下班后带着溪溪游泳也疼,但是刚好可以左侧换气,左侧换气也进步了。就是泳池的水稍微有点冷。 2.感谢父母&#x…

作者头像 李华
网站建设 2026/4/22 13:23:27

日语教程资源合集

【日语教程】安宁老师的日语课 文件大小: 40.7GB内容特色: 安宁老师系统精讲,40GB视频讲义,零到N1全覆盖适用人群: 日语零基础、考级冲刺、留学/职场需求者核心价值: 标准发音真题解析高频词汇,高效通关JLPT下载链接: https://pan.quark.cn/…

作者头像 李华
网站建设 2026/4/29 13:25:03

LangGraph--聊天机器人构建(3)

在人工智能快速发展的今天,智能聊天机器人已经不仅仅是问答工具,它们正在向多轮对话、知识库检索和工具调用的方向升级。本篇文章将系统讲解如何搭建一个完整的智能聊天机器人,涵盖多轮上下文记忆、RAG检索、以及计算器工具调用,并…

作者头像 李华