DINOv2 当教师把 98% 像素置信度顶满,为弱模型设计的伪标签筛选反而帮倒忙

CW-BASS v2: Saturation-Aware Pseudo-Label Selection for Semi-Supervised Segmentation under Foundation-Model Teachers

Ebenezer Tarubinga

cs.CV, cs.LG, eess.IV

2026-08-13

用 DINOv2 当教师时 98% 像素置信度顶满,旧的动态阈值会让伪标签全保留、训练退化。CW-BASS v2 用留出校准判断何时该严格筛、何时该放松。

这篇在解决什么

半监督语义分割(semi-supervised semantic segmentation):标注数据很少,用大量无标注图像。做法是让模型先给无标注图打伪标签,再拿去自训练。关键问题一直是:伪标签信哪些、不信哪些。

过去十多年的回答是一套筛选规则:动态阈值、按类别设课程、软置信度加权。这些规则是为 ResNet 那种噪声大、不够自信的教师设计的。教师越弱,噪声越主导,筛掉低置信度像素就能压住噪声。

但这套假设在基础模型(foundation model)时代塌了。用 DINOv2 当教师,98% 的像素置信度挤到 0.95 以上,ResNet-50 只有 53%。置信度饱和、动态范围塌缩,原本能区分像素的阈值失效,变成接近常数,结果伪标签几乎全保留,残留噪声灌进训练,自训练退化成确认偏差(confirmation bias)。一句话:帮弱教师的筛选,会反过来害强教师。

方法

CW-BASS v2 不押注单一规则,而是先读教师处于哪种置信度状态,再决定用哪种。三个部件:

留出校准(held-out calibration)。把标注集切一小块(占 5%)出来,只在这块没参与训练的数据上估每个类的噪声率。关键在于批内估计有偏:学生正是用这些像素训练出来的,在它们上面量误差会偏乐观。论文证明留出估计无偏。实测 ADE20K 教师的自信集可靠度,批内读 98.4%、留出读 89.3%,差出 9 个点的乐观偏差。

自适应当置信下限(self-adaptive confidence floor)。按类设一个随教师平均置信度缩放的下限,最终阈值取动态阈值和下限的较大者。定理 1 保证保留率被钉在一个固定分位,不会随置信度漂到 1。

一次性饱和门(one-pass saturation gate)。在阈值 0.95 处量自信集的可靠度,πkept 等于置信度高于阈值时预测正确的概率。πkept 够高就严格筛,不够就走下限。边界用的是系统已有的工作阈值,不是为刷 mIoU 调出来的。

结果

六个 DINOv2 教师上,门都能盲选对。

数据集严格筛 mIoU下限 mIoUπkept门的选择
Pascal VOC 1/887.482.32约 98%严格
Cityscapes接近持平严格
ADE20K49.150.689.3%下限

在 Pascal VOC 1/8 上,严格筛拿到 87.4,复现了 UniMatch V2 报告的 87.9 的工作点(UniMatch V2 是当前 SOTA)。无条件走下限是最差的变体(82.32 对严格的 87.40),正好说明门为什么必要。在 ADE20K 上,自信集不可靠(πkept 约 89%),下限反而领先 1.5 个 mIoU。

为什么重要

这是个测量学洞察,不是刷榜方法。论文明确不声称新的最高精度,在饱和基准上严格筛复现 UniMatch V2 就够了。真正的贡献是把教师变强时筛选规则要换这件事讲清楚,并给了一个能判断该用哪条规则的诊断器。对用基础模型做半监督分割的人,这是个该知道的坑:别把 ResNet 时代那套阈值直接搬过来。

局限与存疑

作者自己列了一长串,相当诚实:留出校准块在 Pascal 1/8 上只有约 9 张图,样本太少,没给置信区间;ADE20K 是单种子结果;严格臂用的是 UniMatch V2 的损失,自适应臂用的是自己的脚手架,不是单因素对照;scale-family 假设是理想化的,真实置信分布在训练中连形状都会变;没有重跑 CAFS、ENCORE 的代码做对比。门本身的验证用的是验证集而非校准块,所以是对判据的验证,不是对部署系统的测量。

术语

原文与代码

相关论文

全部论文解读