Contrastive Model Adaptation for Cross-Condition Robustness in Semantic Segmentation
摘要
- 标准的无监督邻域自适应方法使用标记源数据和未标记目标数据联合将模型从源域适应到目标域
- 在模型自适应中,禁止访问已标记的源数据,即只有经过源训练的模型和未标记的目标数据可用
- 本文研究了语义分割的正常到不利条件模型自适应,其中图像级对应在目标域中是可用的
- 目标集由在GPS匹配位置拍摄的不利和正常条件街道图像的未标记对组成。
- 利用这些图像对通过对比学习来学习条件不变特征
- 鼓励嵌入空间中的特征根据其条件不变语义内容进行分组,而不是根据捕获各自输入的条件进行分组。
- 为了获得准确的跨域语义对应,将正常图像扭曲为不利图像的观点,并利用扭曲置信分数来创建健壮的聚合特征。
- 代码地址
引言
模型自适应:
- 在源图像上预训练的模型和
- 未标记的目标图像可用
本文方法:
- 通过统一的嵌入空间利用参考物预测
- 参考图像和目标图像充分对齐,两者之间的共定位特征应该相似(忽略动态对象和静态内容的轻微变化(例如,树上的叶子缺失))
- 对于给定的目标特征,在相同空间位置的参考特征在嵌入空间中应该比大多数其他目标特征更接近
- 通过对比学习来创建这样一个嵌入空间,目标图像密集的空间嵌入作为锚点
利用图像级别来进行对比学习,使得黑色块尽可能接近绿色块
方法
模型整体结构如下所示
- UAWarp为每个位移像素提供了一个置信度分数
- 在训练CMA时,UAWarp被冻结并扭曲参考图像特征
- 正负例通过指数移动平均模型
- 使用队列来累积负例
- 对正例进行空间扭曲,使其与锚点对齐
- 对patch平均池化空间得到embedding
- 使用加权平均池来创建patch embedding
z为proj,c为置信分数
a为anchor,p为正例
使用InfoNCE损失:
对基于patch的损失进行求和
平均池化置信度(patch)
patch-level分组和置信度调制的效果如图所示:
实验结果
使用Cityscapes作为源数据集,以及各种目标数据集:
- ACDC(train/val/test: 1600/406/2000图像)
- Dark Zurich [34] (train/val/test: 2416/50/151图像)
- RobotCar Correspondence(train/val/test: 6511/27/27图像)
- CMU Correspondence (train/val/test: 28766/25/33图像)
消融实验:
第一行表示无CDC损失的CMA,仅依靠熵最小化和自训练进行适应
第2行中增加了对比损失,但嵌入是通过对整个图像进行全局平均池化获得的
第3行在7×7网格上添加补丁级分组
第4行中结合参考图像扭曲
第5行中置信度调制添加
第6行是完整的模型