论文地址:https://arxiv.org/abs/1812.04798
源码地址:https://github.com/VisionLearningGroup/DA_Detection
1 Motivation
对于目标检测来説,在全局水平上完全地匹配完整的源域和目标域的数据分布,表现可能会不好,因为各域有多种的景观布局以及不同的目标组合。换句话说,局部特征上的强匹配,例如纹理、颜色等,可能会起作用,因为它不会改变概念层次的语义。这激发了作者基于强局部对齐及弱全局对齐提出新的方法。Key Contribution:弱对齐模型,多关注全局相似的图像上的对抗对齐损失,少一点全局不相似的。另外,强域对齐模型只关注特征图谱的局部感受野。
2 Method
2.1 Weak Global Feature Alignment
容易分类的目标域样本距离源域样本很远,同时难以分类的目标域样本距离源域样本很近。因此,对于难分类的样本,要实现域间的弱对齐。作者提出训练一个域分类器,以忽略容易分类的样本,同时专注于难分类的样本。
我们对于提取全局特征向量的F的优化目的是使得提取出来的特征,对于目标检测任务有很好的判别力,缺乏提供给域分类任务的信息。设d是域标签,1代表源域、0代表目标域。检测损失的目标函数是,其中L_det包括了检测的所有损失,即分类损失以及bbox回归损失:
过往的方法:域分类器的目标函数是一个CE loss,如图2所示,容易分类的样本,有很高的置信度,即prob很大时,它的CE loss不能忽略(右下角)。这表明Dg和F把训练过程的所有样本都考虑到了,此时F想要匹配完整的特征分布,但这正正和本文的原意相反,出现这问题的原因是CE loss的表达式,p较高时,-logp值还比较大,因此作者提出增加一个调制系数,即
P_t定义为:
在这里选择一个p_t的减函数,其中一个例子就是Focal Loss,,其中γ控制难分类样本的权重。FL设计的目的是给难分类的样本更高的权重。特征提取器想要欺骗域分类器,试图提高分类器的损失。但是,特征提取器不能将好分类的目标域样本和源域对齐,因为那些样本的梯度太小了(loss太小了)。记weak global-level域分类器的损失:
source
target
2.2 Strong Local Feature Alignment
局部域分类器是一个1×1的fully-convolutional network,将特征提取器分解为
,其中F1的输出是Dl的输入,采用最小均方损失来训练Dl,这种损失函数有助于对齐局部级的特征。
代表域分类器在每个坐标上的输出。
2.3 Context Vector based Regularization(后面很多paper都用到了类似的办法)
以前的方法:用分割损失来正则化域分类器,可以很好地使域自适应分割任务的对抗训练过程稳定下来;
这里的方法:通过在源域样本上计算的检测损失来稳定域分类器的训练。从两个域分类器的中间层提取v_1和v_2,这些向量包括了整一张输入图像的信息,称之为“上下文context”,然后将这些context和所有的region-wise特征做concatenate,训练域分类器使得在源域样本上的检测损失最小化,同时最小化域分类的损失。