不用灾前影像、还能告诉你哪里不确定?DeepSARFlood论文通俗解读
- 不用灾前影像、还能告诉你哪里不确定?DeepSARFlood论文通俗解读
- 一、为什么SAR能穿云,却仍没有被充分用起来?
- 二、整篇论文是一条"造标签---训模型---挑队员---报不确定性"的流水线
- 三、模型输入不只有SAR,还加入了地形与水文先验
- 四、最关键的一步:用光学影像给SAR自动"出答案"
- 五、弱标签减少人工成本,也把光学影像的偏差带进了模型
-
- [1. 光学看不到的洪水不会成为正样本](#1. 光学看不到的洪水不会成为正样本)
- [2. 一天时差对快速洪水仍可能很长](#2. 一天时差对快速洪水仍可能很长)
- [3. MNDWI阈值不是全球绝对标准](#3. MNDWI阈值不是全球绝对标准)
- [4. 论文中的MNDWI公式需要重点核对](#4. 论文中的MNDWI公式需要重点核对)
- 六、训练、验证和测试为什么要分成三套不同来源?
- 七、为什么视觉Transformer比传统CNN更适合大范围洪水形态?
- 八、多任务学习:不仅预测洪水,还要求模型复原MNDWI
- [九、Model Soups:把多个模型的"脑回路"平均,但不增加推理成本](#九、Model Soups:把多个模型的“脑回路”平均,但不增加推理成本)
- 十、Gain算法:不是挑三个最高分模型,而是挑"互相补短板"的队员
- 十一、不确定性图到底表示什么?
- 十二、基准测试:最好的单模型IoU为0.7226,集成反而略低
- 十三、40秒完成1°×1°,能否称为"实时"?
- 十四、巴基斯坦2022年洪水案例:集成在真实场景中超过单模型
- 十五、布拉马普特拉河案例:Recall接近0.95,但论文年份存在不一致
- 十六、这篇论文真正的创新与贡献是什么?
-
- [1. 将弱标签生产做成可扩展的GEE流程](#1. 将弱标签生产做成可扩展的GEE流程)
- [2. 系统比较CNN、ViT和混合架构](#2. 系统比较CNN、ViT和混合架构)
- [3. 将连续MNDWI作为辅助监督](#3. 将连续MNDWI作为辅助监督)
- [4. Model Soups与异构集成分工明确](#4. Model Soups与异构集成分工明确)
- [5. Gain算法关注模型互补性](#5. Gain算法关注模型互补性)
- [6. 将论文算法封装成开源工具](#6. 将论文算法封装成开源工具)
- 十七、必须冷静看待的局限
-
- [1. 只适合河流洪水,不适合直接用于城市内涝](#1. 只适合河流洪水,不适合直接用于城市内涝)
- [2. 坡度大于5%一律判为非洪水过于绝对](#2. 坡度大于5%一律判为非洪水过于绝对)
- [3. 固定永久水体图可能过时](#3. 固定永久水体图可能过时)
- [4. "光学弱标签"仍可能把错误教给SAR](#4. “光学弱标签”仍可能把错误教给SAR)
- [5. 不确定性尚未经过系统校准](#5. 不确定性尚未经过系统校准)
- [6. 集成在标准测试集上不是最高精度](#6. 集成在标准测试集上不是最高精度)
- [7. "全自动"仍依赖外部条件](#7. “全自动”仍依赖外部条件)
- [8. 跨SAR任务需要域适配](#8. 跨SAR任务需要域适配)
- 总结
- 论文信息
不用灾前影像、还能告诉你哪里不确定?DeepSARFlood论文通俗解读
一句话读懂这篇论文:
DeepSARFlood先利用时间接近的Sentinel-2光学影像自动生成"弱标签",再让多种CNN和视觉Transformer从Sentinel-1 SAR、地形和永久水体数据中学习洪水特征;通过多任务学习、模型权重平均和异构深度集成,提高洪水分割能力,并同步输出洪水范围、永久水体和不确定性图。
传统SAR洪水制图经常依赖:
- 人工寻找阈值;
- 灾前与灾中影像变化检测;
- 专家反复调整参数;
- 人工检查城市、山地和阴影误差。
这些方法能够工作,却很难在大范围洪灾发生后迅速、稳定地批量运行。
这篇论文提出的 DeepSARFlood,想把整个流程变成一条自动生产线:
#mermaid-svg-nIHLq9XQHpzIgxa6{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-nIHLq9XQHpzIgxa6 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-nIHLq9XQHpzIgxa6 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-nIHLq9XQHpzIgxa6 .error-icon{fill:#552222;}#mermaid-svg-nIHLq9XQHpzIgxa6 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-nIHLq9XQHpzIgxa6 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-nIHLq9XQHpzIgxa6 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-nIHLq9XQHpzIgxa6 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-nIHLq9XQHpzIgxa6 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-nIHLq9XQHpzIgxa6 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-nIHLq9XQHpzIgxa6 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-nIHLq9XQHpzIgxa6 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-nIHLq9XQHpzIgxa6 .marker.cross{stroke:#333333;}#mermaid-svg-nIHLq9XQHpzIgxa6 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-nIHLq9XQHpzIgxa6 p{margin:0;}#mermaid-svg-nIHLq9XQHpzIgxa6 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-nIHLq9XQHpzIgxa6 .cluster-label text{fill:#333;}#mermaid-svg-nIHLq9XQHpzIgxa6 .cluster-label span{color:#333;}#mermaid-svg-nIHLq9XQHpzIgxa6 .cluster-label span p{background-color:transparent;}#mermaid-svg-nIHLq9XQHpzIgxa6 .label text,#mermaid-svg-nIHLq9XQHpzIgxa6 span{fill:#333;color:#333;}#mermaid-svg-nIHLq9XQHpzIgxa6 .node rect,#mermaid-svg-nIHLq9XQHpzIgxa6 .node circle,#mermaid-svg-nIHLq9XQHpzIgxa6 .node ellipse,#mermaid-svg-nIHLq9XQHpzIgxa6 .node polygon,#mermaid-svg-nIHLq9XQHpzIgxa6 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-nIHLq9XQHpzIgxa6 .rough-node .label text,#mermaid-svg-nIHLq9XQHpzIgxa6 .node .label text,#mermaid-svg-nIHLq9XQHpzIgxa6 .image-shape .label,#mermaid-svg-nIHLq9XQHpzIgxa6 .icon-shape .label{text-anchor:middle;}#mermaid-svg-nIHLq9XQHpzIgxa6 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-nIHLq9XQHpzIgxa6 .rough-node .label,#mermaid-svg-nIHLq9XQHpzIgxa6 .node .label,#mermaid-svg-nIHLq9XQHpzIgxa6 .image-shape .label,#mermaid-svg-nIHLq9XQHpzIgxa6 .icon-shape .label{text-align:center;}#mermaid-svg-nIHLq9XQHpzIgxa6 .node.clickable{cursor:pointer;}#mermaid-svg-nIHLq9XQHpzIgxa6 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-nIHLq9XQHpzIgxa6 .arrowheadPath{fill:#333333;}#mermaid-svg-nIHLq9XQHpzIgxa6 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-nIHLq9XQHpzIgxa6 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-nIHLq9XQHpzIgxa6 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-nIHLq9XQHpzIgxa6 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-nIHLq9XQHpzIgxa6 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-nIHLq9XQHpzIgxa6 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-nIHLq9XQHpzIgxa6 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-nIHLq9XQHpzIgxa6 .cluster text{fill:#333;}#mermaid-svg-nIHLq9XQHpzIgxa6 .cluster span{color:#333;}#mermaid-svg-nIHLq9XQHpzIgxa6 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-nIHLq9XQHpzIgxa6 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-nIHLq9XQHpzIgxa6 rect.text{fill:none;stroke-width:0;}#mermaid-svg-nIHLq9XQHpzIgxa6 .icon-shape,#mermaid-svg-nIHLq9XQHpzIgxa6 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-nIHLq9XQHpzIgxa6 .icon-shape p,#mermaid-svg-nIHLq9XQHpzIgxa6 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-nIHLq9XQHpzIgxa6 .icon-shape .label rect,#mermaid-svg-nIHLq9XQHpzIgxa6 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-nIHLq9XQHpzIgxa6 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-nIHLq9XQHpzIgxa6 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-nIHLq9XQHpzIgxa6 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 输入洪水日期和研究区
GEE自动获取Sentinel-1与辅助数据
切成512×512图块
多种CNN/ViT模型预测
深度集成
洪水概率图
不确定性图
区分永久水体与新增洪水
论文最值得关注的并不只是IoU达到约0.72,而是它同时处理了三个长期难题:
- SAR洪水训练标签太少;
- 单个模型换一个地区就可能失灵;
- 业务地图通常只给结论,却不告诉使用者哪里不可靠。
不过,论文中的"全自动""实时"和"不确定性"也都有明确边界,不能只看标题下结论。
一、为什么SAR能穿云,却仍没有被充分用起来?
光学影像直观,水体在可见光、近红外和短波红外中容易识别,但洪水往往伴随厚云,灾害最严重时反而看不到地面。
Sentinel-1 SAR具有:
- 昼夜成像;
- 穿透云层;
- 大范围覆盖;
- 约10米空间分辨率;
- 双极化信息。
平静开阔水面会产生镜面反射,回到雷达的能量较少,因此通常表现为低后向散射的暗区。
但"暗"并不是洪水专属特征。SAR中的暗区还可能来自:
- 雷达阴影;
- 光滑裸地;
- 道路;
- 湿土;
- 低风速水面;
- 不同入射角与轨道条件。
城市洪水甚至可能因为建筑物与水面形成双程散射而变亮。
因此,SAR洪水制图的困难不是"看不到水",而是:
人眼很难直接判断一个暗斑究竟是洪水、永久水体,还是SAR成像造成的假象。
二、整篇论文是一条"造标签---训模型---挑队员---报不确定性"的流水线
论文图1将方法分成训练与部署两部分。

训练阶段
#mermaid-svg-SIVO5tNWXYnaS715{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-SIVO5tNWXYnaS715 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-SIVO5tNWXYnaS715 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-SIVO5tNWXYnaS715 .error-icon{fill:#552222;}#mermaid-svg-SIVO5tNWXYnaS715 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-SIVO5tNWXYnaS715 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-SIVO5tNWXYnaS715 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-SIVO5tNWXYnaS715 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-SIVO5tNWXYnaS715 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-SIVO5tNWXYnaS715 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-SIVO5tNWXYnaS715 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-SIVO5tNWXYnaS715 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-SIVO5tNWXYnaS715 .marker.cross{stroke:#333333;}#mermaid-svg-SIVO5tNWXYnaS715 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-SIVO5tNWXYnaS715 p{margin:0;}#mermaid-svg-SIVO5tNWXYnaS715 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-SIVO5tNWXYnaS715 .cluster-label text{fill:#333;}#mermaid-svg-SIVO5tNWXYnaS715 .cluster-label span{color:#333;}#mermaid-svg-SIVO5tNWXYnaS715 .cluster-label span p{background-color:transparent;}#mermaid-svg-SIVO5tNWXYnaS715 .label text,#mermaid-svg-SIVO5tNWXYnaS715 span{fill:#333;color:#333;}#mermaid-svg-SIVO5tNWXYnaS715 .node rect,#mermaid-svg-SIVO5tNWXYnaS715 .node circle,#mermaid-svg-SIVO5tNWXYnaS715 .node ellipse,#mermaid-svg-SIVO5tNWXYnaS715 .node polygon,#mermaid-svg-SIVO5tNWXYnaS715 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-SIVO5tNWXYnaS715 .rough-node .label text,#mermaid-svg-SIVO5tNWXYnaS715 .node .label text,#mermaid-svg-SIVO5tNWXYnaS715 .image-shape .label,#mermaid-svg-SIVO5tNWXYnaS715 .icon-shape .label{text-anchor:middle;}#mermaid-svg-SIVO5tNWXYnaS715 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-SIVO5tNWXYnaS715 .rough-node .label,#mermaid-svg-SIVO5tNWXYnaS715 .node .label,#mermaid-svg-SIVO5tNWXYnaS715 .image-shape .label,#mermaid-svg-SIVO5tNWXYnaS715 .icon-shape .label{text-align:center;}#mermaid-svg-SIVO5tNWXYnaS715 .node.clickable{cursor:pointer;}#mermaid-svg-SIVO5tNWXYnaS715 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-SIVO5tNWXYnaS715 .arrowheadPath{fill:#333333;}#mermaid-svg-SIVO5tNWXYnaS715 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-SIVO5tNWXYnaS715 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-SIVO5tNWXYnaS715 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-SIVO5tNWXYnaS715 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-SIVO5tNWXYnaS715 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-SIVO5tNWXYnaS715 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-SIVO5tNWXYnaS715 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-SIVO5tNWXYnaS715 .cluster text{fill:#333;}#mermaid-svg-SIVO5tNWXYnaS715 .cluster span{color:#333;}#mermaid-svg-SIVO5tNWXYnaS715 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-SIVO5tNWXYnaS715 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-SIVO5tNWXYnaS715 rect.text{fill:none;stroke-width:0;}#mermaid-svg-SIVO5tNWXYnaS715 .icon-shape,#mermaid-svg-SIVO5tNWXYnaS715 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-SIVO5tNWXYnaS715 .icon-shape p,#mermaid-svg-SIVO5tNWXYnaS715 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-SIVO5tNWXYnaS715 .icon-shape .label rect,#mermaid-svg-SIVO5tNWXYnaS715 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-SIVO5tNWXYnaS715 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-SIVO5tNWXYnaS715 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-SIVO5tNWXYnaS715 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 洪水日期和位置数据库
匹配Sentinel-1与Sentinel-2
光学影像生成弱洪水标签
训练CNN、ViT和混合模型
多任务学习
Model Soups权重平均
Gain算法选择互补模型
深度集成与不确定性
部署阶段
用户只需输入:
- 洪水日期;
- 研究区坐标。
工具会自动完成:
- GEE数据获取;
- 波段归一化;
- 滑动窗口切片;
- GPU批量推理;
- 图块重叠区融合;
- 坡度后处理;
- 永久水体分离;
- GeoTIFF与不确定性输出。
这种设计将学术模型推向了一个可运行工具,而不是停留在网络结构对比上。
三、模型输入不只有SAR,还加入了地形与水文先验
DeepSARFlood的主要输入包括:
| 数据 | 作用 |
|---|---|
| Sentinel-1 VV | 表征同极化后向散射 |
| Sentinel-1 VH | 表征交叉极化与地表结构差异 |
| NASA DEM | 提供地形高程背景 |
| 坡度 | 限制不合理山坡积水 |
| HAND | 表示相对最近排水通道的高度 |
| JRC永久水体 | 区分长期水体与新增洪水 |
HAND是:
Height Above Nearest Drainage,距最近排水通道的相对高度。
同样海拔的两个像元,一个只比邻近河道高1米,另一个高50米,其洪水可能性显然不同。HAND比绝对高程更接近洪泛平原的水文位置。
因此,这个方法虽然是深度学习模型,却不是纯粹依靠SAR纹理"猜水",而是在输入和后处理中嵌入了地形知识。
四、最关键的一步:用光学影像给SAR自动"出答案"
直接人工标注SAR非常困难。作者采用一种弱监督思路:
在Sentinel-1与Sentinel-2成像时间接近时,先用更容易解释的Sentinel-2提取水体,再把结果作为Sentinel-1的训练标签。
具体流程为:
- 输入洪水日期和区域;
- 搜索云量低于30%的Sentinel-2;
- 匹配同日或相差不超过1天的Sentinel-1;
- 计算两者重叠范围;
- 将影像切成512×512的非重叠图块;
- 使用Google Cloud Score Plus去除云和云影;
- 根据MNDWI生成水体标签;
- 只保留遮挡比例低于40%、水体比例高于1%的图块;
- 获取对应SAR和辅助数据。
最终训练数据共有:
| 来源 | 进入训练的图块数 |
|---|---|
| Sen1Floods11弱标签元数据重新制图 | 1120 |
| 全球洪水事件候选图块 | 3321 |
| 合计 | 4441 |
其中全球事件的3321个图块经过了目视检查。
所以,"弱标签生成程序"本身高度自动化,但最终训练集并不是完全没有人工质量控制。
五、弱标签减少人工成本,也把光学影像的偏差带进了模型
弱标签的逻辑是:
用光学影像中比较可靠的水体结果,教SAR模型识别洪水。
它的优点是:
- 标签生产速度快;
- 可以扩展到全球事件;
- 避免逐像元解释复杂SAR;
- 一天以内的时差比常见两天时差更小;
- 云影掩膜比简单质量波段更精细。
但它也有四个限制。

1. 光学看不到的洪水不会成为正样本
云下洪水、密集植被下洪水和复杂城市积水可能被掩膜或漏标。模型学到的主要仍是:
光学影像能够确认的洪水在SAR中长什么样。
2. 一天时差对快速洪水仍可能很长
对于涨水或退水很快的事件,24小时内洪水边界可能移动数千米。
3. MNDWI阈值不是全球绝对标准
论文采用0.3阈值,但浑浊水、阴影、湿土和城市地物会改变最佳阈值。
4. 论文中的MNDWI公式需要重点核对
论文写为:
M N D W I = B 11 − B 3 B 11 + B 3 MNDWI=\frac{B11-B3}{B11+B3} MNDWI=B11+B3B11−B3
而常用MNDWI通常是:
M N D W I = B 3 − B 11 B 3 + B 11 MNDWI=\frac{B3-B11}{B3+B11} MNDWI=B3+B11B3−B11
二者符号相反。如果实际代码使用常规公式,那么论文公式可能是排版错误;如果代码确实使用论文公式,阈值方向就需要重新解释。复现时不能直接照抄正文。
六、训练、验证和测试为什么要分成三套不同来源?
论文没有直接从4441个弱标签图块随机切分训练和测试。
它采用:
| 数据集 | 数量 | 标签类型 | 用途 |
|---|---|---|---|
| 训练集 | 4441 | 自动弱标签 | 学习模型参数 |
| 验证集 | 341 | Sen1Floods11人工标签 | 选择模型和防止过拟合 |
| 测试集 | 90 | Sen1Floods11人工标签 | 与已有研究公平比较 |
这是一个合理设计。
如果验证集也来自同一种Sentinel-2弱标签,模型可能只是学会复现光学阈值和标签伪影。使用人工标签验证,可以降低这种风险。
但仍要注意:
- 训练弱标签与Sen1Floods11事件来源可能存在一定关联;
- Gain算法依赖逐图像IoU选择模型,若选择过程主要依据训练分布,仍可能偏向已有事件;
- 真正跨国家、跨气候和跨SAR传感器的盲测仍然不足。
七、为什么视觉Transformer比传统CNN更适合大范围洪水形态?
论文比较了大量编码器:
- ResNet18、ResNet50、ResNeXt50;
- EfficientNet B0/B3/B7;
- InceptionV3;
- ViT;
- Swin-V2;
- MaxViT;
- CoAtNet。
同时比较了:
- U-Net;
- U-Net++;
- DeepLabV3+。
CNN擅长识别局部纹理,但洪水常具有长距离连续性:
- 沿河谷延伸;
- 跨越多个农田地块;
- 围绕堤防和高地展开;
- 在大范围低地形成连片积水。
视觉Transformer能够在更大范围内建立像元或图块之间的联系。
Swin Transformer又将注意力限制在移动窗口中,使计算量随影像尺寸近似线性增长,更适合大图分割。
论文最终的核心模型包括:
- U-Net + Swin-V2;
- U-Net++ + ResNet50;
- U-Net + MaxViT。
它们分别代表Transformer、传统CNN和CNN---Transformer混合路线。
八、多任务学习:不仅预测洪水,还要求模型复原MNDWI
论文没有只让模型输出洪水/非洪水二值图,还增加了一个辅助任务:
根据SAR和辅助数据预测Sentinel-2的MNDWI。
总损失近似为:
L = 0.9 L f l o o d + 0.1 L M N D W I L=0.9L_{flood}+0.1L_{MNDWI} L=0.9Lflood+0.1LMNDWI
其中:
- 洪水分割是主任务;
- MNDWI回归是辅助任务。
这样做的逻辑是:
弱标签本来就是由MNDWI阈值得到的,与其只让模型死记0和1,不如同时学习阈值背后的连续光学水体信息。
结果显示,Swin-V2 + U-Net的IoU从:
0.682 0.682 0.682
提高到:
0.712 0.712 0.712
说明辅助任务确实带来了明显增益。
但它也意味着模型可能更强地继承光学MNDWI的系统偏差。它学到的是光学水体表征的连续代理,不是独立的物理水深或真实洪水状态。
九、Model Soups:把多个模型的"脑回路"平均,但不增加推理成本
作者使用不同损失函数训练同一架构,包括:
- Dice;
- Jaccard;
- Tversky;
- Focal Tversky。
这些模型结构相同,但参数落在不同位置。
Model Soups的做法不是同时运行多个模型,而是对模型权重进行平均:
θ s o u p = 1 K ∑ k = 1 K θ k \theta_{soup}=\frac{1}{K}\sum_{k=1}^{K}\theta_k θsoup=K1k=1∑Kθk
作者采用贪心方式:
- 选择验证表现最好的模型作为基础;
- 依次加入其他模型权重;
- 只有验证精度提高才保留;
- 最终仍得到一个单模型。
因此,Model Soups的主要优势是:
获得类似集成的泛化增益,却不增加部署时的模型数量。
结果从多任务学习后的0.712进一步提高到:
0.722 0.722 0.722
值得注意的是,普通数据增强反而使IoU从0.682降到0.679,因此作者后续放弃了这组增强方案。数据增强不是越多越好,旋转、裁剪和翻转可能改变SAR纹理与地形关系。
十、Gain算法:不是挑三个最高分模型,而是挑"互相补短板"的队员

如果三个模型都擅长同一类场景,把它们放进集成并不会增加多少信息。
Gain算法的核心是逐影像分析:
- 对每个训练图块,找出表现最好的模型;
- 找出所有模型都做不好的"困难图块";
- 单独训练一个Weak Model处理困难样本;
- 仍然无人能处理的图块被视为噪声并剔除;
- 选择在最多图块上占优的模型作为基准;
- 计算其他模型相对基准模型能带来多少额外IoU;
- 每轮选择增益最大的模型;
- 当新增信息低于用户阈值时停止。
#mermaid-svg-4ywkcc01sXOUJOwW{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-4ywkcc01sXOUJOwW .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-4ywkcc01sXOUJOwW .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-4ywkcc01sXOUJOwW .error-icon{fill:#552222;}#mermaid-svg-4ywkcc01sXOUJOwW .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-4ywkcc01sXOUJOwW .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-4ywkcc01sXOUJOwW .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-4ywkcc01sXOUJOwW .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-4ywkcc01sXOUJOwW .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-4ywkcc01sXOUJOwW .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-4ywkcc01sXOUJOwW .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-4ywkcc01sXOUJOwW .marker{fill:#333333;stroke:#333333;}#mermaid-svg-4ywkcc01sXOUJOwW .marker.cross{stroke:#333333;}#mermaid-svg-4ywkcc01sXOUJOwW svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-4ywkcc01sXOUJOwW p{margin:0;}#mermaid-svg-4ywkcc01sXOUJOwW .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-4ywkcc01sXOUJOwW .cluster-label text{fill:#333;}#mermaid-svg-4ywkcc01sXOUJOwW .cluster-label span{color:#333;}#mermaid-svg-4ywkcc01sXOUJOwW .cluster-label span p{background-color:transparent;}#mermaid-svg-4ywkcc01sXOUJOwW .label text,#mermaid-svg-4ywkcc01sXOUJOwW span{fill:#333;color:#333;}#mermaid-svg-4ywkcc01sXOUJOwW .node rect,#mermaid-svg-4ywkcc01sXOUJOwW .node circle,#mermaid-svg-4ywkcc01sXOUJOwW .node ellipse,#mermaid-svg-4ywkcc01sXOUJOwW .node polygon,#mermaid-svg-4ywkcc01sXOUJOwW .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-4ywkcc01sXOUJOwW .rough-node .label text,#mermaid-svg-4ywkcc01sXOUJOwW .node .label text,#mermaid-svg-4ywkcc01sXOUJOwW .image-shape .label,#mermaid-svg-4ywkcc01sXOUJOwW .icon-shape .label{text-anchor:middle;}#mermaid-svg-4ywkcc01sXOUJOwW .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-4ywkcc01sXOUJOwW .rough-node .label,#mermaid-svg-4ywkcc01sXOUJOwW .node .label,#mermaid-svg-4ywkcc01sXOUJOwW .image-shape .label,#mermaid-svg-4ywkcc01sXOUJOwW .icon-shape .label{text-align:center;}#mermaid-svg-4ywkcc01sXOUJOwW .node.clickable{cursor:pointer;}#mermaid-svg-4ywkcc01sXOUJOwW .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-4ywkcc01sXOUJOwW .arrowheadPath{fill:#333333;}#mermaid-svg-4ywkcc01sXOUJOwW .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-4ywkcc01sXOUJOwW .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-4ywkcc01sXOUJOwW .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-4ywkcc01sXOUJOwW .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-4ywkcc01sXOUJOwW .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-4ywkcc01sXOUJOwW .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-4ywkcc01sXOUJOwW .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-4ywkcc01sXOUJOwW .cluster text{fill:#333;}#mermaid-svg-4ywkcc01sXOUJOwW .cluster span{color:#333;}#mermaid-svg-4ywkcc01sXOUJOwW div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-4ywkcc01sXOUJOwW .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-4ywkcc01sXOUJOwW rect.text{fill:none;stroke-width:0;}#mermaid-svg-4ywkcc01sXOUJOwW .icon-shape,#mermaid-svg-4ywkcc01sXOUJOwW .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-4ywkcc01sXOUJOwW .icon-shape p,#mermaid-svg-4ywkcc01sXOUJOwW .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-4ywkcc01sXOUJOwW .icon-shape .label rect,#mermaid-svg-4ywkcc01sXOUJOwW .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-4ywkcc01sXOUJOwW .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-4ywkcc01sXOUJOwW .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-4ywkcc01sXOUJOwW :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 是
否
多个候选模型
逐图块计算IoU
确定基础模型
计算其他模型相对基础模型的剩余增益
选择增益最大的互补模型
新增信息是否足够
形成最终异构集成
最终集成包含:
- U-Net + Swin-V2;
- U-Net++ + ResNet50;
- U-Net + MaxViT。
一个偏精确,一个偏召回,另一个在不同场景中发挥优势。
十一、不确定性图到底表示什么?
设多个模型对某像元给出的平均洪水概率为:
P ˉ = 1 n ∑ i = 1 n P i \bar P=\frac{1}{n}\sum_{i=1}^{n}P_i Pˉ=n1i=1∑nPi
论文定义的不确定性可以简化为:
δ = 2 min ( P ˉ , 1 − P ˉ ) \delta=2\min(\bar P,1-\bar P) δ=2min(Pˉ,1−Pˉ)
因此:
| 平均洪水概率 | 不确定性 |
|---|---|
| 0或1 | 0 |
| 0.1或0.9 | 0.2 |
| 0.25或0.75 | 0.5 |
| 0.5 | 1 |
它表达的是:
集成平均概率越接近0.5,分类越犹豫;越接近0或1,分类越确定。
论文案例图显示,高不确定性主要集中在:
- 洪水边缘;
- 零碎斑块;
- 复杂地表;
- 模型结论不稳定区域。
但需要严谨地区分:
这个公式主要衡量"平均概率的模糊程度",并没有直接计算模型成员之间的方差。
例如:
- 三个模型都输出0.5;
- 一个输出0、一个输出1、另一个输出0.5;
二者平均值都可能是0.5,论文公式会给出同样高的不确定性,却无法区分"大家都犹豫"和"模型之间严重分歧"。
更完整的深度集成不确定性还应输出:
- 模型间概率方差;
- 预测熵;
- 互信息;
- 可靠性曲线;
- Brier Score或ECE校准误差。
十二、基准测试:最好的单模型IoU为0.7226,集成反而略低
Sen1Floods11的90景人工标注测试集结果为:
| 模型 | IoU | F1 | Precision | Recall |
|---|---|---|---|---|
| U-Net + Swin-V2 | 0.7226 | 0.7891 | 0.7934 | 0.8669 |
| U-Net++ + ResNet50 | 0.6940 | 0.7682 | 0.7896 | 0.8346 |
| U-Net + MaxViT | 0.6910 | 0.7572 | 0.7591 | 0.8590 |
| 深度集成 | 0.7153 | 0.7816 | 0.7930 | 0.8541 |
这里有一个非常重要的事实:
在标准测试集上,深度集成并没有超过最佳Swin-V2单模型。
论文的"集成优势"主要表现在:
- 真实案例中的稳健性;
- 互补的Precision与Recall;
- 能够生成不确定性;
- 降低对单一网络的依赖。
论文表2还列出Cross-model Distillation方法IoU为0.727,高于本文0.722。因此,将本文称为严格意义上"最高SOTA"并不稳妥,更准确的说法是:
达到与当时领先方法相近的水平,并优于多种CNN基线。
十三、40秒完成1°×1°,能否称为"实时"?
在RTX 4090上,论文报告的推理时间为:
| 区域大小 | 运行时间 |
|---|---|
| 0.1°×0.1° | 1.2秒 |
| 0.5°×0.5° | 12.1秒 |
| 1°×1° | 40.8秒 |
| 2°×2° | 158.3秒 |
工具使用512×512窗口和400像元步长,相邻窗口重叠。重叠像元的多次概率取平均,以减弱图块边缘接缝。
速度确实很快,但"实时"需要加三个限定:
- 表中不包含GEE数据检索、下载和网络传输时间;
- 洪水是否能及时被观测,仍受Sentinel-1重访周期限制;
- 1°×1°等于12100平方千米只是在赤道附近的近似,面积会随纬度变化。
因此,DeepSARFlood更准确的定位是:
卫星影像到达后能够快速自动处理,而不是洪水发生后40秒就一定得到地图。
十四、巴基斯坦2022年洪水案例:集成在真实场景中超过单模型
作者选取2022年8月6日的巴基斯坦洪水,并用少量同期无云Sentinel-2区域作为参考。


| 模型 | IoU | F1 | Precision | Recall |
|---|---|---|---|---|
| Swin-V2单模型 | 0.7305 | 0.8442 | 0.7818 | 0.9175 |
| ResNet50单模型 | 0.7086 | 0.8294 | 0.8012 | 0.8598 |
| MaxViT单模型 | 0.7229 | 0.8392 | 0.7666 | 0.9270 |
| 深度集成 | 0.7410 | 0.8513 | 0.7917 | 0.9205 |
三个模型的差异很典型:
- ResNet50更保守,Precision高、漏检更多;
- MaxViT更积极,Recall高、误报更多;
- 集成在二者之间取得更好的整体重叠。
作者认为自然灾害制图中,漏掉真实洪水通常比适度高估更危险。因此,DeepSARFlood倾向较高Recall。
论文第11页图4还显示,Sentinel-2参考图中有大片黑色云掩膜,而SAR模型仍可在这些区域连续制图。这正是SAR用于季风洪灾的核心价值。
不过,评价只发生在少量无云重叠区域。云下部分虽然能够生成结果,却没有同期光学真值直接验证。
十五、布拉马普特拉河案例:Recall接近0.95,但论文年份存在不一致
作者在印度阿萨姆布拉马普特拉河区域选择2022年8月10日影像。


| 模型 | IoU | F1 | Precision | Recall |
|---|---|---|---|---|
| Swin-V2单模型 | 0.7364 | 0.8482 | 0.7688 | 0.9459 |
| ResNet50单模型 | 0.7356 | 0.8476 | 0.7755 | 0.9346 |
| MaxViT单模型 | 0.7434 | 0.8528 | 0.7743 | 0.9489 |
| 深度集成 | 0.7478 | 0.8557 | 0.7795 | 0.9482 |
集成再次取得最高IoU和F1。
论文第12页图6显示,Sentinel-2影像有大量云和云影被掩膜,而DeepSARFlood仍形成连续河网和洪水分布;第13页图7显示不确定性主要分布在细碎边界和复杂斑块。
但论文存在一个需要引用时注意的矛盾:
- 摘要称演示了"Assam floods of 2020";
- 正文案例明确写的是2022年洪水和2022年8月10日。
从正文日期和表格看,案例应以2022年为准,摘要中的2020很可能是编辑错误。
十六、这篇论文真正的创新与贡献是什么?
1. 将弱标签生产做成可扩展的GEE流程
不再依赖逐景人工勾画SAR洪水,而是自动匹配S1与S2、去云、计算水体并筛选高质量图块。
2. 系统比较CNN、ViT和混合架构
结果表明,Swin-V2和MaxViT等具有全局建模能力的架构,在SAR洪水分割中具有明显潜力。
3. 将连续MNDWI作为辅助监督
多任务学习不是简单增加一个无关任务,而是利用弱标签生成机制中的连续光谱信息改善二值分割。
4. Model Soups与异构集成分工明确
- Model Soups提高单模型能力且不增加推理成本;
- 深度集成提高跨场景稳健性并支持不确定性输出。
5. Gain算法关注模型互补性
不是单纯选排行榜前三,而是选择能在不同图块上补充基础模型的成员。
6. 将论文算法封装成开源工具
输入日期和研究区后,可自动输出:
- 洪水概率;
- 洪水范围;
- 永久水体;
- 不确定性;
- GeoTIFF结果。
这是从"模型论文"走向"业务流程"的重要一步。
十七、必须冷静看待的局限
1. 只适合河流洪水,不适合直接用于城市内涝
作者明确承认,模型训练和测试主要是河流洪水。城市建筑产生双程散射,GRD强度影像难以直接分辨积水。未来计划加入InSAR相干性。
2. 坡度大于5%一律判为非洪水过于绝对
山谷、坡面汇流、堤坝附近、DEM误差和快速山洪都可能在局部坡地出现积水或水流。硬阈值可能删除真实洪水。
3. 固定永久水体图可能过时
JRC季节性大于5个月的水体被视为永久水体,但河道迁移、季节湿地、水库调度和多年干旱都会改变水体基线。
4. "光学弱标签"仍可能把错误教给SAR
云影残留、MNDWI阈值、浑浊水和一天时差都会形成标签噪声。
5. 不确定性尚未经过系统校准
论文没有充分报告:
- 高不确定性是否真的对应高错误率;
- 可靠性曲线;
- ECE或Brier Score;
- 模型间方差与数据噪声的分离。
6. 集成在标准测试集上不是最高精度
它的价值主要是稳健性和不确定性,而不是每个数据集都超过最佳单模型。
7. "全自动"仍依赖外部条件
包括:
- GEE权限与网络;
- GPU环境;
- Sentinel-1影像是否及时覆盖;
- 数据下载速度;
- 训练图块的目视质量控制。
8. 跨SAR任务需要域适配
S1训练的模型不能直接无损迁移到不同频段、分辨率和成像模式的NISAR或其他SAR。
总结
DeepSARFlood最重要的贡献,不是简单把U-Net换成Transformer,而是形成了一条完整链路:
用光学影像低成本生产弱标签,用ViT和CNN学习SAR洪水特征,用多任务与权重平均优化单模型,用异构集成降低单模型风险,再把不确定性一起交给使用者。
论文取得:
- Sen1Floods11最佳单模型IoU 0.7226;
- 巴基斯坦案例集成IoU 0.7410;
- 布拉马普特拉案例集成IoU 0.7478;
- 1°×1°区域纯推理约40.8秒。
但严谨解读应同时看到:
- 集成在标准测试集上低于最佳单模型;
- 表中已有方法IoU为0.727,不能简单宣称绝对最高;
- MNDWI公式疑似符号反向;
- 阿萨姆案例年份在摘要与正文中不一致;
- 不确定性主要是平均概率的模糊度,尚未充分校准;
- 城市洪水、固定永久水体、硬坡度阈值和卫星重访仍限制业务能力。
所以,这篇论文最准确的定位是:
一个面向河流洪水、能够快速生成SAR洪水概率与可信度提示的自动化工具框架,也是将SAR观测接入KDFIMv2和水动力数据同化的一种有价值前端。
论文信息
论文题目: DeepSARFlood: Rapid and automated SAR-based flood inundation mapping using vision transformer-based deep ensembles with uncertainty estimates
作者: Nirdesh Kumar Sharma、Manabendra Saharia
单位: Indian Institute of Technology Delhi
期刊: Science of Remote Sensing
卷与文章号: 11,100203
发表年份: 2025
DOI: 10.1016/j.srs.2025.100203
Download: https://www.sciencedirect.com/science/article/pii/S2666017225000094