SwinIR-Denoise-UNet:红树林分割最佳实验全过程

最近我完整复现了一套用于红树林分割的深度学习实验流程,并最终得到了当前实验条件下的最佳结果。整个过程从数据整理、模型训练、checkpoint 筛选,到后处理与 TTA(Test Time Augmentation)优化,基本走完了一次完整的遥感语义分割实验闭环。

这篇文章会尽量以"从 0 到 1"的方式,把整个实验过程梳理清楚,适合刚接触遥感分割、UNet、SwinIR 或 AutoDL 训练的新手参考。


一、项目整体结构

虽然项目目录名叫:

复制代码
Pytorch-UNet-master

但最终真正使用的模型,其实并不是原始 U-Net。

本次实验的核心模型是:

复制代码
SwinIR-Denoise-UNet

整体思路可以概括为:

复制代码
部分输入通道
        ↓
SwinIR 风格模块进行去噪增强
        ↓
与原始输入 concat 融合
        ↓
送入 U-Net 完成二分类分割

也就是说:

  • SwinIR 模块负责特征增强与去噪
  • U-Net 负责最终的语义分割
  • 中间通过 concat 融合增强特征与原始输入

这套结构本质上属于:

复制代码
Transformer + CNN 混合分割框架

相比原始 U-Net,对噪声和复杂纹理区域会更友好。


二、实验数据集

本实验使用的是:

复制代码
Sentinel-1 + Sentinel-2 融合数据

总输入通道数为:

复制代码
6 通道

数据目录结构如下:

训练集

复制代码
data/imgs/train/6
data/masks/train

其中:

  • imgs/train/6:6 通道遥感图像
  • masks/train:红树林标签 mask

测试集

测试集被划分为了三个区间:

复制代码
data/imgs/test/6/20-30
data/imgs/test/6/50-60
data/imgs/test/6/80-90

分别用于评估不同场景下模型泛化能力。


三、训练配置

训练过程中,模型权重保存在:

复制代码
checkpoints/6_swinirdenoise2_concat_unet_w8_lr5e5_b4

这个目录名其实已经包含了整个实验的核心配置。


目录名含义解析

1. 6

表示:

复制代码
输入为 6 通道数据

即 Sentinel-1 与 Sentinel-2 融合。


2. swinirdenoise2

表示:

复制代码
使用 SwinIR 风格去噪增强模块

用于提高输入特征质量。


3. concat

表示:

复制代码
增强特征与原始输入进行 concat 融合

而不是直接替换原输入。


4. unet

表示:

复制代码
分割头使用 U-Net

5. w8

表示:

复制代码
window size = 8

即 Swin Transformer 中窗口注意力大小为 8。


6. lr5e5

表示:

复制代码
learning rate = 5e-5

7. b4

表示:

复制代码
batch size = 4

四、Checkpoint 筛选

很多新手训练完模型后,会默认使用:

复制代码
最后一个 epoch

但实际上:

复制代码
最后一个 epoch ≠ 最优 epoch

因此本实验并没有直接使用最终权重,而是对多个 checkpoint 进行了独立评估。


测试的 checkpoint

实验共测试了以下权重:

复制代码
epoch 120
epoch 124
epoch 128
epoch 132
epoch 136
epoch 140
epoch 144
epoch 148
epoch 152

平均 Dice 对比

Epoch Average Dice
120 0.6227
124 0.6321
128 0.6391
132 0.6289
136 0.6284
140 0.6336
144 0.6293
148 0.6308
152 0.6096

可以看到:

复制代码
epoch 128 的平均 Dice 最高

因此最终基础权重选择:

复制代码
checkpoint_epoch128.pth

五、后处理实验

在得到基础最佳权重后,我进一步尝试了传统图像后处理方法。

包括:

  • 去除小连通域
  • Morphological Closing
  • 不同 min-area 阈值

测试方案

实验测试了:

复制代码
min-area = 128
min-area = 64
min-area = 32(不做 closing)

实验现象

后处理确实能:

复制代码
提高部分区域 Precision

因为它会过滤掉一些噪声小块。

但问题是:

复制代码
真实的小型红树林区域也会被一起删除

导致:

  • Recall 下降
  • 小目标漏检增加

最终结果表现为:

复制代码
平均 Dice 并没有超过原始预测

最终结论

传统形态学后处理:

复制代码
没有带来稳定收益

因此没有作为最终方案采用。


六、TTA(测试时增强)

后处理中收益不明显后,我开始尝试:

复制代码
TTA(Test Time Augmentation)

TTA 的核心思想是:

复制代码
同一张图像
→ 多种翻转方式分别预测
→ 再将结果平均

它不需要重新训练模型,只改变推理阶段。


七、TTA 推理流程

本实验使用了四种输入:

复制代码
1. 原图
2. 水平翻转
3. 垂直翻转
4. 水平 + 垂直翻转

推理流程如下:

复制代码
输入图像
    ↓
四种增强方式分别预测
    ↓
预测结果翻转回原方向
    ↓
概率图求平均
    ↓
生成最终 mask

八、最终最佳结果

使用:

复制代码
checkpoint_epoch128.pth + TTA

后,最终测试结果如下。


20-30 区间

Metric Score
Precision 0.7534
Recall 0.7721
Dice / F1 0.7394
IoU 0.6462

50-60 区间

Metric Score
Precision 0.5964
Recall 0.6946
Dice / F1 0.6055
IoU 0.4935

80-90 区间

Metric Score
Precision 0.6228
Recall 0.6384
Dice / F1 0.5752
IoU 0.4634

九、最终平均性能

三个测试区间平均 Dice:

复制代码
0.6400

这是当前实验配置下取得的最佳结果。


十、最终采用方案

最终模型权重

复制代码
checkpoints/6_swinirdenoise2_concat_unet_w8_lr5e5_b4/checkpoint_epoch128.pth

推理脚本

复制代码
predict_tta.py

预测结果目录

复制代码
data/masks/predict_tta_epoch128/6

评估结果目录

复制代码
accuracy/6_tta_epoch128

十一、实验最终结论

这次实验最大的收获有三个。


1. Checkpoint 筛选非常重要

很多时候:

复制代码
最佳模型并不是最后一个 epoch

通过系统评估多个 checkpoint,最终找到了效果最好的:

复制代码
epoch128

这是最终性能提升的重要来源之一。


2. TTA 的收益明显高于传统后处理

相比:

  • closing
  • 连通域过滤
  • min-area 调参

TTA 的提升更加稳定。

而且:

复制代码
复制代码
不需要重新训练模型

实现成本非常低。


3. 传统形态学后处理不一定有效

在遥感小目标分割中:

复制代码
复制代码
小连通域未必是噪声

很多真实红树林区域本身面积就很小。

因此:

复制代码
过强的后处理容易误删真实目标

十二、总结

最终,本实验的最佳方案为:

复制代码
SwinIR-Denoise-UNet
+ checkpoint_epoch128
+ TTA 推理

在三个测试区间上取得:

复制代码
Average Dice = 0.6400

整个实验也验证了一个很重要的经验:

复制代码
合理的 checkpoint 筛选 + 推理优化,
往往比盲目加复杂后处理更有效。

对于遥感分割任务来说,这类"训练 + 推理联合优化"的思路,通常比单纯堆模型更稳定,也更容易复现。

相关推荐
扬帆破浪1 小时前
sidecar崩溃后前端怎么续命 重启策略与状态保留
前端·人工智能·架构·开源·知识图谱
Volunteer Technology1 小时前
SpringAI Tool Calling 工具调用(六)
人工智能·spring
笨拙的老猴子1 小时前
Spring AI 实战教程(七):Agent 智能体 —— 用电商购物助手学透自主规划与工具执行
java·人工智能·spring
我也曾把你举过头顶1 小时前
Skill/MCP/RAG/Agent/OpenClaw是什么
人工智能·ai agent·mcp
南宫萧幕1 小时前
基于 Simulink 与 Python 联合仿真的 eVTOL 强化学习全链路实战
开发语言·人工智能·python·算法·机器学习·控制
HDD9851 小时前
2026年录音转文字工具实测:免费且好用的选择有哪些?
人工智能·语音识别·效率工具·语音转文字
跨境卫士苏苏1 小时前
经营变量持续增加之下跨境团队如何减少月度计划偏差
大数据·人工智能·内容运营·亚马逊·跨境
m0_466525291 小时前
东软添翼医疗大模型领跑 医疗AI进入“可信时代”
人工智能
美团技术团队1 小时前
美团 LongCat 开源 General 365:树立推理评测新标尺
人工智能