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/8 | 87.4 | 82.32 | 约 98% | 严格 |
| Cityscapes | 接近持平 | — | 高 | 严格 |
| ADE20K | 49.1 | 50.6 | 89.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 的代码做对比。门本身的验证用的是验证集而非校准块,所以是对判据的验证,不是对部署系统的测量。