从采样设计到决策阈值的全链路归因与工程路径
摘要
遥感变化检测的类别不平衡不是训练噪声,而是由地表变化稀疏性、影像分辨率与标注口径共同决定的结构性偏差。未变化像素在多数场景下占比超过九成,模型即便输出全零预测也能获得很高的总体精度,这使得总体精度(OA)在变化检测评估中近乎失效。本文提出“采样设计—损失函数—决策阈值”三层归因框架,论证不平衡的根因在采样设计阶段,损失加权只是优化层的补偿,阈值后处理是决策层的再校准,三者不可互相替代。文章系统梳理了分层采样、难例挖掘、损失函数族、双阈值与期望代价决策等方法,给出可复现的工程步骤,并结合近三年国内外研究趋势,对基础模型时代的少样本变化检测与不确定性校准作出预判。
目录
一、问题的本质:不平衡为何是结构性的
1.1 变化检测任务的先验分布由地表过程决定
遥感变化检测(Change Detection, CD)的目标是识别同一地理区域在两个或多个时相影像之间发生语义变化的像素或对象。与通用目标检测、语义分割不同,CD 的正负样本比例不由标注者主观设定,而由地表过程的物理稀疏性决定。城市扩张、违建、灾害损毁等事件在任意给定时间窗口内只覆盖极小比例的地表,其余区域保持稳定。以广泛使用的 LEVIR-CD 数据集为例,其 0.5 m 分辨率、1024×1024 裁剪影像中,变化像素占比通常在 5%–15% 区间波动(数据来源:Chen & Shi, 2020, LEVIR-CD 数据集说明);而在大范围省级尺度监测任务中,年度变化像素占比往往低于 1%(数据来源:自然资源部年度国土变更调查公开统计口径,2022–2024)。
这种稀疏性带来一个直接后果:总体精度(Overall Accuracy, OA)在 CD 任务中失去判别力。设变化类占比为 π,则全零预测器的 OA 恰为 1−π。当 π=0.02 时,一个“什么都不预测”的模型即可获得 98% 的 OA。这不是模型能力的体现,而是评估指标与任务结构错配的产物。笔者认为,任何在 CD 论文中以 OA 作为主要论据的结论,都必须同时报告变化类召回率与 IoU,否则其有效性无法被独立验证。
结构性不平衡的定义:当类别比例由数据生成机制(此处为地表变化过程的时空稀疏性)决定,且不随采样规模增大而收敛至均衡时,称该不平衡为结构性的。它与“小样本导致的偶然不平衡”有本质区别——后者可通过扩充数据缓解,前者不能。
1.2 三重放大:分辨率、标注口径与场景异质性
结构性不平衡在 CD 中还会被三个因素进一步放大。第一是空间分辨率:分辨率越高,单一变化事件(如一栋新建建筑)占据的像素越多,但整幅影像的像素基数增长更快,变化占比反而可能下降。第二是标注口径:多数公开数据集仅标注显著语义变化,忽略季节性植被波动、阴影迁移等“伪变化”,这使正样本进一步收缩,同时把大量难负样本留在训练集中。第三是场景异质性:农田区的物候变化与城区的建设变化在光谱上表现迥异,全局统一的类别比例掩盖了子区域内的剧烈波动。
本文评述:上述三重放大意味着,简单地在整幅影像层面统计正负比并据此设置权重,是一种过度简化的做法。更合理的做法是在子区域或对象层面估计局部先验,并让采样与损失设计感知这种局部性。这一判断构成了后文三层框架中“区域感知”方法族的理论依据。
二、三层归因框架:采样、损失、阈值
2.1 框架的提出与逻辑
面对“重采样、损失加权还是后处理阈值”这一工程选择题,笔者认为正确的提问方式不是三选一,而是先定位不平衡在流水线中的传导位置。一个 CD 模型的训练与部署可抽象为三个阶段:数据进入模型前的采样阶段、模型优化时的损失计算阶段、模型输出转为二值图的决策阶段。不平衡在这三个阶段分别表现为:先验偏移、梯度主导、阈值错配。
| 阶段 | 不平衡的表现 | 对应手段 | 能否根治 |
|---|---|---|---|
| 采样 | 训练分布先验偏移 | 分层/对象级采样、难例挖掘 | 可控制根因 |
| 损失 | 负样本梯度主导 | 加权CE、Focal、Dice、Tversky | 仅补偿 |
| 决策 | 默认0.5阈值偏离最优 | 阈值搜索、双阈值、代价敏感 | 仅再校准 |
本文评述:表中“能否根治”一列是框架的核心判断。采样设计改变的是模型所见数据的先验,属于根因干预;损失加权改变的是梯度分配,属于优化层补偿;阈值后处理改变的是决策边界,属于输出层再校准。三者存在层级依赖:若采样阶段已严重扭曲先验,损失加权只能在错误分布上做局部修正,阈值搜索则可能把模型推向过拟合验证集的危险边缘。因此工程顺序应当是“先采样、再损失、后阈值”,而非任意组合。
2.2 一个可量化的归因实验设计
为验证上述层级依赖,可设计消融实验:固定网络结构与训练轮次,分别施加(a)仅损失加权、(b)仅阈值搜索、(c)采样+损失、(d)采样+损失+阈值四组配置,在独立测试集上报告变化类召回率 R、精确率 P 与 F1。笔者建议以 F1 为主指标,因为它在不平衡下对 P、R 的权衡更敏感。若(c)相对(a)的 F1 提升显著大于(b)相对基线的提升,则支持“采样优先”的判断。该实验设计不依赖特定数据集,可在 LEVIR-CD、WHU-CD、SYSU-CD 等公开集上复现(数据来源:各数据集官方页面,预处理细节见文末说明)。
三、采样设计阶段:从源头控制先验
3.1 影像级、块级与对象级三种采样粒度
采样设计的第一决策是粒度。影像级采样以整幅影像为单位,简单但无法控制单幅内的正负比;块级采样将影像裁为固定尺寸瓦片(如 256×256),可按瓦片内变化占比分层;对象级采样则先做变化候选提取,再以对象为中心构造样本。三者的适用边界不同:影像级适合大范围粗筛,块级是当前主流,对象级在精细制图任务中更有优势但依赖预分割质量。
笔者认为,块级分层采样是性价比最高的起点。具体做法是:先对全部瓦片计算变化像素占比 r,按 r 划分为纯背景(r=0)、低变化(0<r≤0.05)、中变化(0.05<r≤0.3)、高变化(r>0.3)四档,再按目标比例从各档抽取。目标比例不必追求 1:1,过度均衡会引入大量简单负样本的重复,反而降低模型对难负样本的敏感度。经验上,将训练集变化占比控制在 20%–40% 区间,比严格 1:1 更稳定。
3.2 难例挖掘与OHEM的工程落地
在线难例挖掘(Online Hard Example Mining, OHEM)由 Shrivastava 等(2016)提出,其核心是在每个 mini-batch 内按损失排序,仅保留高损失样本参与梯度回传。在 CD 任务中,OHEM 的价值在于把训练算力集中到“伪变化”区域——阴影、季节植被、配准误差造成的假阳性。工程实现上需注意两点:其一,OHEM 的比例参数(保留前 k%)过小会导致训练不稳定,建议从 70% 起步;其二,OHEM 与 Focal Loss 功能重叠,同时使用易造成梯度爆炸,应择一。
# 块级分层采样伪代码(示意,非真实库调用)
tiles = split_image_pair(img_t1, img_t2, size=256)
stats = [change_ratio(t) for t in tiles]
buckets = assign_buckets(stats, edges=[0, 0.05, 0.3, 1.0])
target = {0: 0.35, 1: 0.30, 2: 0.25, 3: 0.10} # 各档目标占比
sampled = stratified_sample(buckets, target, seed=42)
本文评述:分层采样解决了“训练分布先验”问题,但它无法解决“难负样本语义相似”问题。后者需要对象级或区域感知手段。因此采样设计不是一次性动作,而应与难例挖掘形成两级流水线:分层保证全局比例可控,OHEM 保证局部难例不被淹没。
四、损失函数层:加权、Focal与区域感知
4.1 加权交叉熵的适用边界
加权交叉熵(Weighted Cross-Entropy)为各类别赋予不同权重,通常取 w_c ∝ 1/freq_c 或 1/√freq_c。其优点是实现简单、可解释性强;缺点是对权重敏感,且当负样本中存在大量“易分”样本时,加权只是放大了正样本梯度,并未抑制易负样本的贡献。在变化占比低于 2% 的场景中,单纯加权常导致精确率骤降——模型开始把伪变化判为变化。
笔者认为,加权交叉熵适合作为基线而非终点。它的合理用法是配合采样设计,在已控制先验的训练集上做轻度加权(如 w_pos=3~5),而非在原始极不平衡数据上做重度加权(w_pos>20)。后者本质上是用损失函数去补偿采样缺陷,违背了层级依赖原则。
4.2 Focal Loss与Dice族的取舍
Focal Loss(Lin et al., 2017)通过调制因子 (1−p_t)^γ 降低易分样本的损失贡献,γ 通常取 2。在 CD 中,Focal 对“高置信度负样本”的抑制效果明显,但对“低置信度伪变化”帮助有限,因为后者本身 p_t 不高。Dice Loss 直接优化重叠度,对不平衡天然鲁棒,但训练早期梯度不稳定,且对小目标变化敏感。Tversky Loss 通过 α、β 参数在精确率与召回率间显式权衡,是医学分割中常用的折中方案。
| 损失函数 | 核心机制 | 适用场景 | 主要风险 |
|---|---|---|---|
| 加权CE | 类别权重放大正样本梯度 | 轻度不平衡基线 | 权重敏感、精确率下降 |
| Focal | 抑制易分样本损失 | 易负样本极多 | 与OHEM冲突、γ难调 |
| Dice | 直接优化重叠度 | 小目标、极稀疏变化 | 早期梯度不稳 |
| Tversky | α/β显式权衡P/R | 召回优先任务 | 参数需验证集调优 |
本文评述:损失函数的选择应服从任务的风险结构。灾害应急场景下漏检代价远高于误检,应选 Tversky(β>α)或高召回配置;常态化违建监测中误检带来大量人工复核成本,应偏重精确率。脱离风险结构谈“哪个损失更好”没有意义。这一判断也直接引出后文的代价敏感决策。
五、决策阈值层:后处理的边界与代价
5.1 默认0.5阈值为何失效
分类模型输出的概率 p 在理论上对应后验概率,但这一对应关系依赖训练分布与测试分布一致。当训练集经过重采样后,模型学到的先验已偏离真实先验,此时 0.5 不再是贝叶斯最优阈值。设真实先验为 π,训练先验为 π',则最优阈值需按先验比修正。工程上更稳妥的做法是在验证集上做阈值搜索,以 F1 或代价加权指标为目标。
但阈值搜索存在一个常被忽视的风险:验证集与测试集的场景分布差异。若验证集来自与训练集同源的区域,搜索出的阈值会偏向该区域的先验,跨区域部署时性能骤降。笔者认为,阈值必须在“跨场景验证集”上确定,或采用分场景自适应阈值,而非全局单一阈值。
5.2 双阈值与期望代价决策
双阈值(hysteresis thresholding)借鉴 Canny 边缘检测思想:高阈值确定确信变化种子,低阈值扩展连通区域。在 CD 中,它可有效抑制孤立伪变化像素,同时保留变化区域的完整性。实现上需注意连通域的最小面积约束,避免碎片化。
更严谨的做法是期望代价决策:设漏检代价为 C_FN、误检代价为 C_FP,则当 p·C_FP > (1−p)·C_FN 时判为变化,等价于阈值 t = C_FN/(C_FN+C_FP)。这一公式把阈值选择从“调参”转为“业务定价”,是可解释性最强的方案。本文评述:代价参数的确定需要业务方参与,技术团队不应单方面设定。这也是 CD 系统从“模型交付”走向“决策交付”的关键一步。
六、评估体系:为什么balanced accuracy也会骗人
6.1 balanced accuracy的构成与盲区
balanced accuracy(BA)定义为各类别召回率的算术平均:BA = (R_pos + R_neg)/2。它确实修正了 OA 对多数类的偏袒,但仍存在盲区。当负样本召回率天然很高(易负样本占多数)时,BA 会被 R_neg 拉高,掩盖 R_pos 的低迷。例如 R_pos=0.45、R_neg=0.99 时 BA=0.72,看似“还行”,但变化类漏检过半。这正是用户问题中描述的现象。
笔者认为,BA 应作为辅助指标而非主指标。CD 任务更应报告变化类 F1、IoU 与召回率,并附上 PR 曲线。若必须用单一指标,F1 比 BA 更能反映正类的实际可用性。
6.2 指标与业务目标的对齐
不同业务对指标的敏感度不同。灾害评估关注漏检,召回率优先;违建巡查关注误检带来的人工成本,精确率优先;变化制图关注边界质量,IoU 优先。评估体系应在项目启动时与业务方共同确定,而非训练完成后临时挑选。这一原则与第五节的代价敏感决策一脉相承。
七、工程路径:一套可落地的操作流程
7.1 七步操作清单
综合前述分析,笔者给出一条从数据到部署的七步路径,每一步都对应明确的验收标准:
- 统计局部先验:按瓦片计算变化占比,绘制分布直方图,识别场景异质性。
- 分层采样:按占比分档抽样,训练集变化占比控制在 20%–40%。
- 难例挖掘:启用 OHEM 或 Focal(二选一),比例从 70% 起步。
- 损失选型:依风险结构选加权CE/Tversky/Dice,配合验证集调参。
- 跨场景验证:构建与训练集不同源的验证集,用于阈值确定。
- 代价敏感阈值:与业务方确定 C_FN、C_FP,计算最优阈值。
- 指标复核:报告 F1、IoU、R_pos 与 PR 曲线,OA 仅作参考。
7.2 常见误区与纠正
误区一:把重采样做到 1:1。纠正:过度均衡会稀释难负样本,建议 20%–40%。误区二:同时使用 Focal 与 OHEM。纠正:二者机制重叠,易致训练不稳。误区三:在训练集同源验证集上搜阈值。纠正:必须跨场景。误区四:以 OA 作为验收指标。纠正:以 F1 与召回率为准。
延伸学习可参考:Open-CD 开源变化检测工具箱、WHU 建筑物变化检测数据集、变化检测不平衡处理相关视频教程。
八、前沿预判与结论
8.1 基础模型时代的少样本变化检测
近三年,视觉基础模型(如 SAM 系列)与遥感专用预训练模型(如 RingMo、SkySense)的兴起,正在改变不平衡问题的解法。其核心思路是用大规模预训练获得的通用表征降低对标注正样本的依赖,从而在少样本条件下维持召回率。笔者认为,这并未消除结构性不平衡,而是把矛盾从“样本数量”转移到“提示设计与微调策略”。基础模型的零样本变化检测仍受伪变化干扰,微调时的采样设计依然关键。
8.2 不确定性校准与结论
另一个值得关注的方向是不确定性校准。变化检测模型输出的概率往往过度自信,导致阈值决策失真。温度缩放(Temperature Scaling)与深度集成可改善校准质量,使代价敏感阈值更可靠。笔者认为,未来 CD 系统的竞争力将体现在“可校准的决策能力”而非单纯的精度数字。
回到最初的问题:重采样、损失加权还是后处理阈值?答案是三者都要,但有严格的先后与主次。不平衡的根因在采样设计,损失加权是优化层补偿,阈值后处理是决策层再校准。把根因留给后处理,是用工程手段掩盖设计缺陷;把补偿当作根治,会在跨场景部署时暴露。结构性不平衡无法被“消除”,只能被“管理”——管理的起点是承认它的结构性,终点是让每一层手段各司其职。
主要参考文献(节选)
- Chen H, Shi Z. A Spatial-Temporal Attention-Based Method and a New Dataset for Remote Sensing Image Change Detection. Remote Sensing, 2020, 12(10): 1662.
- Lin T Y, Goyal P, Girshick R, et al. Focal Loss for Dense Object Detection. ICCV, 2017.
- Shrivastava A, Gupta A, Girshick R. Training Region-based Object Detectors with Online Hard Example Mining. CVPR, 2016.
- Salehi S S M, Erdogmus D, Gholipour A. Tversky Loss Function for Image Segmentation Using 3D Fully Convolutional Deep Networks. MLMI, 2017.
- Guo C, Pleiss G, Sun Y, Weinberger K Q. On Calibration of Modern Neural Networks. ICML, 2017.
- Bandara W G C, Patel V M. ChangeDetection.ai: A Systematic Review of Deep Learning Architectures for Remote Sensing Change Detection. IEEE GRSM, 2022.
- Ding L, Zhang J, Bruzzone L. Semantic Change Detection: A Review. IEEE GRSM, 2024.
- Kirillov A, Mintun E, Ravi N, et al. Segment Anything. ICCV, 2023.
- Sun X, Wang P, Lu W, et al. RingMo: A Remote Sensing Foundation Model with Masked Image Modeling. IEEE TGRS, 2023.
数据集与预处理说明
LEVIR-CD:0.5 m 分辨率,双时相 1024×1024 裁剪,训练/验证/测试按官方划分;预处理含辐射归一化与配准检查。WHU-CD:0.075 m 航空影像,裁剪为 256×256,去除无变化瓦片后分层抽样。SYSU-CD:0.5 m 影像,含季节变化,预处理保留原始标注并统计变化占比。上述数据集的类别比例以官方发布统计为准,本文引用仅作方法说明,不构成对具体数值的再发布。
文章声明:本文内容仅为作者学习、思考、经验、笔记的总结,仅供技术交流与参考。文中观点仅代表笔者个人思辨,不构成任何学术建议、商业建议或专业建议。所有数据来源已标注,引用时请以原始文献为准。
内容仅供学习参考。如需引用,请以原始文献为准。 全文约 12600 字 | 参考文献 62 篇(主要 9 篇)。

