论文地址:https://ieeexplore.ieee.org/document/8578450
源码地址:https://github.com/yuhuayc/da-faster-rcnn
1 解决方法
Image-level + Instance-level两个DA模块基于H-divergence理论,并通过对抗性训练的方式学一个域分类器来实现,最小化两个层次的domain discrepancy。域分类器可以进一步用一致性正则项来强化,以学习一个domain-invariant的RPN。
2 Distribution Alignment with Hdivergence
H-divergence用来衡量不同分布的两堆samples的divergence,假设一个域分类器为,其中源sample的预测为0,目标sample的预测为1,因此H-divergence定义为:
Err_s和err_t是h(x)关于源域样本和目标域样本的预测损失,由此可见域间距离与域分类器h的损失率成反比例,换句话说,如果最好的域分类器的损失高的话,这两个域的间隔很小,变得难以分辨,反之亦然。令f为产生x的网络函数,为了对齐两个域,强制网络f输出一些最小化的feat vecs,也即:
上述式子可以用对抗训练方式进行优化,使用GRL(在之后会频繁用到)放到CNN里面。
3 Domain Adaptation for Object Detection
3.1 Probabilistic Perspective
记用来目标检测的训练样本的联合分布为,用来分析域漂移(使得P_s≠P_t)问题:
3.1.1 Image-Level Adaptation
贝叶斯公式:
由目标检测的共变变量漂移的假设(covariate shift assumption),条件概率对于两个域是相等的,然后域分布漂移是由引起的,换句话说,两个域的检测器应该是一样的:已知一张图像,检测结果应该是一致的,无论这张图像是属于哪个域的。I实际上是Faster RCNN的feat map输出。因此为了解决域漂移,要强制两个域图像的表征相等,即,即Image-Level Adaptation。
3.1.2 Instance-Level Adaptation
同样另一种方式的贝叶斯:
由共变变量漂移假设得,对于两个域应该是相等的,因此要强制两个域的实例表征相等,即,此处的指的是每一个实例的gt bbox中从img region中提取到的特征。尽管bbox对于target domain是unavailable的,但进一步,是一个bbox预测器,即FasterRCNN的RPN。当只有是domain invariant时,上述adaptation才能成立(?)。
3.1.3 Joint Adaptation
考虑到以及(假设)对于两个域是相同且非零的,故有:
换句话说,如果图像级的表征对于两个域是相等的,那么实例级的表征也是相等的,反之亦然。但很好地估计条件分布不太能实现,原因有两个:
- 实际上难以很好地对齐边缘分布,意味着估计的输入在某种程度上是有误差的;
- Bbox的标注只在source domain中,而target domain是没有的,故会有误差;
因此提出在image-level和instance-level同时实现domain distribution alignment,并同应用consistency regularization来缓解估计时的误差。设D为域标签,image-level的域分类器可以看成估计,而instance-level的域分类器是估计,通过贝叶斯理论,有:
是一个domain-invariant的bbox预测器,且是一个domain-dependent的bbox预测器(有D和无D的区别)。在此之前,我们只能学会,因为target domain没有标注,所以通过强制两个域分类器的consistency,即,就可以通过来得到
4 Domain Adaptation Components
4.1 Image-Level Adaptation
训练一个域分类器在feat map的每一个activation上。因为每一个activation的感受野对应输入图像的一个img patch,域分类器实际上预测的是每一个img patch的域标签。
- 对齐image-level标注可以降低由全局图像不同导致的域漂移。一个相似的patch-based损失在关于“风格转换”的paper里效果不错,“风格转换”也解决了全局转换的问题。
- Batch size很小,是因为用了高分辨率的输入。而这种patch-based的设计有助于增加训练样本的数量
令为第i张训练图像的域标签,等于0即是源域,等于1即是目标域,令第i张图像在base conv层后的在(u,v)的激活值为,记为域分类器的输出,故Image-Level Adaptation的损失采用CE loss:
同时优化域分类器的参数以最小化上述loss,同时最大化上述loss来与优化base network的参数。
4.2 Instance-Level Adaptation
对于第i张图像的第j个region proposal,记为,因此Instance-Level Adaptation的损失为:
4.3 Consistency Regularization
由于image-level域分类器输出的是image-level表征的激活值的输出,所以取平均值作为图像级概率: