Domain Adaptive Faster R-CNN for Object Detection in the Wild

2022-09-02 22:20:14 浏览数 (1)

摘要

典型的目标检测假定训练和测试数据来自同一个理想分布,但是在实际中这通常是不满足的。这种分布的错误匹配将会导致一个明显的性能下降。这篇工作我们旨在提升目标检测的跨域鲁棒性。我们在两个层级上解决域偏移问题:(1)、图像级偏移,例如图像的风格、亮度等。(2)、实例级偏移,例如目标的外观、尺寸等。基于最近的最先进的目标检测器Faster R-CNN来构建我们的方法,我们设计了两个域适配组件,图像级和实例级,来减少域矛盾。这两个域适配组件基于H散度理论,并且用对抗训练方式训练的域分类器来实现。不同级别的域分类器用连续正则化进一步加强,目的是在Faster R-CNN模型上学习一个域不变RPN。使用多个数据集包括Cityscapes,KITTI,SIM10K等来评估我们新提出的方法。结果证明对各种域迁移场景的鲁邦目标检测,我们提出的方法很有效。

1、简介

在计算机视觉中目标检测是一个基本的问题,目的是在一幅图像中识别和定位确定类别的所有目标实例。受CNN大潮的驱动,许多基于CNN的目标检测方法开始出现,很大程度上提升了,目标检测的性能。尽管在基准数据集上取得了非常好的性能,但是真实世界的目标检测依然面临着很多方面的变化,目标外观、背景、亮度、图像质量等,在训练和测试集上面临着相当大的域迁移。以自动驾驶为例,在一个特定汽车上使用的相机类型和设置也许和收集到的训练数据不同,汽车也许在一个不同的城市,目标的外观也是不同的。更重要的是自动驾驶期望在不同天气条件下可靠的工作(例如,在雨或雾中),但是训练数据通常在能见度比较高的干燥天气中获得。最近的趋势使用合成数据来训练CNN模型,面临一个类似的挑战,原因是和真实视觉不匹配。若干个聚焦自动驾驶的数据集如图1所示,我们能观察到一个相当大的域漂移。

这些域漂移,据观察能导致明显的性能下降。尽管收集更多数据可能缓解域漂移的影响,由于标注bbox很昂贵并且很耗时,因此这条路是非平凡的。因此开发算法适配目标检测模型到一个新的域非常重要了,这个域和训练数据集视觉上有很大区别。这篇文章中,我们强调跨域目标检测问题。我们考虑无监督域适配场景,源域中具有全监督信息,目标域中无任何监督信息。因此在目标域中目标检测性能的提升,应该在无任何额外标注代价的情况下得到。

我们基于Faster R-CNN模型构建一个端对端的深度学习模型,也就是域迁移Fast R-CNN。基于协变量偏移假设,域迁移应该在图像级实现(图像尺寸、图像类型、亮度等)和实例级(目标外观和尺寸等),这激励我们在两个级别上最小化域的不符。为了解决域漂移,我们在图像级和实例级上合并两个域适配组件到Faster R-CNN,来最小化两个域H散度差别。在每个组件上我们训练一个域分类器,并且采用对抗策略来学习域不变鲁棒特征。在不同层级上,我们进一步合并域分类器之间的一致性正则化,来学习一个域不变RPN,使用Faster R-CNN模型。

本文的贡献如下:(1)、从概率的角度,我们提供了对跨域目标检测的域迁移理论分析。(2)、我们设计了两个域漂移组件来缓解图像级和实例级的步幅。(3)、我们进一步提出了一致性正则化来使得RPN是域不变的。(4)、我们将提出的组件集成到Faster R-CNN模型中,结果系统能够端对端训练。

我们在多个数据集包括Cityscapes、KITTI 、SIM 10k等上进行了大量的实验来评估我们的模型。实验结果明确证明了我们提出方法的有效性,解决域不符的多场景下目标检测的域漂移问题。

2、相关工作

目标检测:目标检测数据可以追溯到很久以前,产生了大量的方法。经典工作通常将目标检测问题描述为一个滑动窗口分类问题。在计算机视觉中,随着卷积神经网络的使用,它的成功带来了思维模式的迅速转变。提出了大量的方法,基于区域的卷积神经网络(R-CNN)获得了显著的关注,由于他们的作用。这项工作是由R-CNN开创的,该方法从图像中提取区域建议,训练网络对感兴趣区域(ROI)进行独立分类。这个想法通过Fast R-CNN和Faster R-CNN进一步延伸,在所有ROI上共享卷积层。Faster R-NN利用RPN来产生目标建议。取得了最先进的成果,为后续的许多工作奠定了基础。更快的R-CNN也是高度灵活的,可以扩展到其他任务,例如实例分割。然而,这些工作集中在传统的设置,没有考虑领域适配问题的目标检测在野外。本文选择Faster R-CNN作为基检测器,提高其在新目标域的目标检测泛化能力。

域适配:在计算机视觉中的图像分类上,域适配进行了广泛的研究。传统方法,包括域迁移多核学习、对称度量学习、子空间插值、流形核、子空间对齐、协方差矩阵对齐等。最近的工作旨在提升卷积神经网络的域适配。不同于这些问题,我们聚焦目标检测问题,这更具挑战性,因为目标定位和类别都需要预测。最近的一些研究也提出在两组数据之间进行不配对的图像转换,可以看作是像素级的域适应。然而,它仍然是一个具有挑战性的问题,生产逼真的图像在高分辨率的要求,如现实世界的应用,自动驾驶。

分类之外的域适配:与分类领域适应的研究相比,其他计算机视觉任务领域适应的研究较少。近年来,有一些关于语义分割的研究和细粒度识别。对检测任务,DPM的域迁移提出通过引入适配DPM来缓解DPM的域迁移问题。最近的工作,[47]使用R-CNN模型作为一个特征提取器,然后采用子空间对齐的方法对特征进行对齐。也存在从其他来源学习检测器的工作,例如从图像到视频,从3D模型,或从合成模型。以前的工作要么不能以端到端方式进行训练,要么关注于特定的案例。在这项工作中,我们建立了一个端到端可训练的目标检测模型,据我们所知,这是第一个此类模型。

3、预热

3.1、Faster R-CNN

我们简要的回顾Faster R-CNN模型,这个工作中使用的baseline模型。Faster R-CNN是一个两阶段的检测器,主要由三个组件构成,共享的此层卷积层、区域建议网络和基于分类器的ROI池化。结构如图2所示。

首先把输入图像表示成底层卷积层产生的卷积特征图。基于这个特征图,RPN产生候选目标建议,随后ROI分类器预测类别标签,这些标签来自ROI池化得到的特征向量。训练损失由RPN和ROI分类器损失的和得到:

L_{d e t}=L_{r p n} L_{r o i}

ROI和RPN分类的损失都有两种形式:一个用于分类,即预测概率的准确性。另一个是在方框坐标上的回归损失,以便更好地定位。

3.2、用H散度分布排列

H散度设计用来衡量两个不同服从不同分布的两个样本集之间的差异。用x表示一个特征向量,源域样本可以表示为x_{S} ,目标域样本可以表示为x_{T} ,我们用h rightarrow{0,1} 表示一个域分类器,旨在将源域的样本x_{S} 预测为0,将目标域的样本x_{T} 预测为1。假定H是可能的域分类器的集合,H散度定义的两个域如下:

d_{mathcal{H}}(mathcal{S}, mathcal{T})=2left(1-min _{h in mathcal{H}}left(operatorname{err}_{mathcal{S}}(h(mathbf{x})) operatorname{err}_{mathcal{T}}(h(mathbf{x}))right)right)

其中errS和errT分别是在源域和目标域样本上预测的h(x)的误差。上面的定义意味着域距离d_H(S,T) 和域分类器的错误率成反比。换句话说,如果最好的域分类器的误差很大,那么这两个域很难区分,所以它们很接近,反之亦然。

在深度神经网络中,特征向量x通常由某一层后的激活组成。让我们用f表示产生x的网络。为了使两个域对齐,我们需要强制网络f输出特征向量,使域距离d_H(S,T) 最小化,从而导致:

min _{f} d_{mathcal{H}}(mathcal{S}, mathcal{T}) Leftrightarrow max _{f} min _{h in mathcal{H}}left{operatorname{err}_{mathcal{S}}(h(mathbf{x})) operatorname{err}_{mathcal{T}}(h(mathbf{x}))right}

这个可以以对抗训练的方式优化。Ganin and Lempitsky实现了梯度倒转层(GRL),并且在无监督域适配场景将它集成到CNN来进行图像分类。

0 人点赞