Introduction
深度卷积网络模型的性能非常依赖数据集。如果数据集的数据分布与现实生活的数据分布一致,深度模型能够表现出优异的性能。但是,现有的基础数据集只覆盖了有限范围内的场景。在现实世界的模型部署中,环境条件的变化,比如成像传感器、天气和光照的变化,会产生明显的域偏移,数据分布和数据集的数据分布不一致,导致了模型的表现性能下降。
如下图所示,用城市风景数据集训练的检测模型在城市风景图像上能够准确地检测出车和行人,但是在雾天的城市风景图像上却漏检了3辆车。
针对分类模型,已经研究了许多域自适应的网络模型,避免了图像域偏移导致模型分类性能下降。令模型的训练数据集为原域,域偏移的数据集为目标域。常用的方法是把原域转换成目标域,或者把目标域和原域对齐,使得分类模型适应目标域和原域。这些方法不适用于目标检测模型,因为分类模型的关注点是整个图片,而目标检测模型关注的是图像的局部对象。
作者考虑的问题包括两个域,标注好的训练数据集可用的原域和只有图像的目标域。作者的目标是利用两个域的数据训练一个在目标域泛化性能好的检测器。具体地,作者希望得到一个域不变的特征表征,在两个域都工作地很好。
作者提出了一个基于区域的选择自适应性框架。基本思路是引入一个额外的模型去从特征中重构出图像块,接着在原域和目标域中对齐重构的图像块。该框架包括两个组件,区域挖掘组件(region mining)和区域级别对齐组件(region-level alignment)。区域挖掘组件针对的问题是看哪里,通过对object proposals分组来选择重要的区域。区域级别对齐组件针对的问题是怎么对齐,通过对抗训练对齐从选择的区域的特征中重构的图像块。
Method
作者提出的选择自适应性框架如下图所示
Region Mining
区域挖掘组件首先通过分组来识别覆盖感兴趣物体对象的重要区域,接着通过重新分配RoI特征来导出这些区域的表征。
Grouping
作者希望得到大小固定的区域,以便后续操作,但是RPN的proposals有任意大小。而且RPN的proposals有噪声。因为这些问题,作者是这样做的。RPN输出了 N r e g N_{reg} Nreg个region proposals,格式是 { c x , c y , w , h } \{c_x, c_y, w, h\} { cx,cy,w,h},其中 c x c_x cx和 c y c_y cy是中心点。作者利用k-Means聚类方法对这些中心点进行聚类,把这些proposals分成K组,每组的中心作为选择的区域的中心。因为预先设定好区域大小,所以选择的区域已经固定了。分组过程的示意图如下
Feature Reassignment
确定好重要的区域后,计算每个区域的特征。在第k个region proposals的分组中,有 m k m_k mk个区域,每个区域的RoI特征的维度是 d d d,因此我们有特征矩阵 Θ k ∈ R m k × d \Theta_k \in \mathbb{R}^{m_k \times d} Θk∈Rmk×d。因为每个分组的区域个数不固定,而我们需要固定数量的特征,因为作者预先定义好数字m,当 m k m_k mk大于m时,保留前m个特征,当 m k m_k mk小于m时,复制已有的特征。这样,重要区域的特征为 Θ ^ k ∈ R m × d \hat{\Theta}_k \in \mathbb{R}^{m \times d} Θ^k∈Rm×d。
Adjusted Region-level Alignment
区域级别对齐组件包括两部分,分别是区域级别对抗对齐,通过对抗训练对齐从选择的区域的特征中重构的图像块;权重评估器,实现鲁棒性的自适应。