【TPAMI 2024】摩羯台风来了都别想干预俺们目标检测的先进性能!

Multiple Adverse Weather Conditions Adaptation for Object Detection via Causal Intervention

题目:通过因果干预适应多种不利天气条件的对象检测

作者:Hua Zhang; Liqiang Xiao; Xiaochun Cao; Hassan Foroosh


摘要

大多数最先进的目标检测方法在几个公共基准测试上取得了令人印象深刻的性能,这些方法都是用高清晰度图像训练的。然而,现有的检测器通常对视觉变化和分布外数据很敏感,这是由各种混杂因素引起的域差距,例如不利的天气条件。为了弥合这一差距,先前的方法主要是探索域对齐,这需要收集一定数量的特定域训练样本。在本文中,我们引入了一种新颖的域自适应模型,以发现一种在不同天气条件下不变的特征表示。具体来说,我们首先使用记忆网络来开发一个混杂因素字典,该字典存储了在不同场景下对象特征的原型。为了保证字典中每个原型的代表性,我们采用了动态项目提取策略来更新记忆字典。之后,我们引入了一个因果干预推理模块,以探索特定对象在不同天气条件下的不变表示。最后,使用分类一致性正则化来约束不同类别之间的相似性,以便自动搜索不同域中的对齐实例。我们在几个公共基准测试(RTTS、Foggy-Cityscapes、RID 和 BDD 100K)上进行了实验,并在多种天气条件下取得了最先进的性能。

关键词

  • 域自适应模型
  • 野外目标检测
  • 因果干预表示学习

1 引言

现有的目标检测模型[1][2][3][4][5][6]通过深度视觉卷积神经网络取得了显著的成功,这些网络是基于高清晰度图像和高质量的标注标签进行训练的,例如 Pascal VOC [7]、ImageNet [8] 和 COCO [9]。然而,当我们在现实场景中部署这些检测器时,由于多种类型的混杂因素(例如不利的天气条件[10][11][12])引起的域差距,它们的泛化能力较差。为了解决这些问题,一系列域自适应目标检测(DAOD)方法[13][14][15][16]已经被开发出来,以发现域不变特征表示。连接域差距的一般指导原则是收集一定数量的额外图像,以格式化目标域,从而学习更好的区分特征表示。

在传统的 DAOD 范式中,目标检测器[17][18][19][20][21]首先用源域中的样本进行初始化,然后引入多种跨域对齐模块来学习域不变特征表示。不同的天气条件可以被视为不同的目标域,将需要训练相应的域分类器。因此,检测器的性能取决于目标集的多样性,这在很大程度上忽视了不同天气条件下的内在属性。另一方面,如图 1 所示,由于干扰因素的变异性,根据不同的新场景构建目标域集可能非常耗时和劳动密集。此外,还存在由不同干扰因素引起的多种视觉退化类型。例如,常见的视觉退化是由于雨天或雾天天气条件导致的不清晰和遮挡。

除了构建目标域集外,在开发天气条件适应模型时还涉及几个挑战。首先,在源域和目标域的对齐步骤中,现有方法[18][22][23][24][25]通常假设给定图像中的所有像素都受到同等的破坏。然而,在实践中,天气条件造成的视觉退化通常是空间变化的,并取决于物体的大小或与相机的距离等因素。例如,在图 1 中,在雾天天气条件下,卡车和公共汽车很难区分,因为它们只能部分可见且外观相似。这种扰动是不可预测的,无法通过增加训练样本来解决。其次,物体与杂乱背景之间的边界变得模糊,这进一步影响了对象的定位。由于我们需要通过 NMS [1][4][5] 来抑制检测到的边界框,模糊的边界会导致边界框估计不正确。最后但并非最不重要的是,由于照明或遮挡,物体的显著纹理会发生变化。在不同的天气条件下,低级和中级特征也会发生变化,这使得视觉上相似的类别难以区分。

直观的处理视觉退化的方法是使用预训练的图像恢复方法[11][26][27][28]来提高输入图像的质量。这类模型的架构首先包括一个恢复网络,从人类感知的角度产生干净的图像,然后是基于处理过的图像训练的识别头。然而,并不存在一个通用的图像恢复模型来处理所有可能的天气条件下的视觉退化。因此,将需要为每个特定的退化场景开发特定的增强模型。此外,图像恢复网络通常在计算上很重,使得它们在现实场景中不切实际。最后,图像增强模型往往会增加域差异[29],这会隐藏目标识别。

在实践中,存在各种各样的混杂因素,这些因素是由全局和局部干扰因素引起的。具体来说,全局干扰因素是外部因素,例如相机视点、天气条件和背景。例如,如果训练时天气条件“晴朗”比“雾天”出现得更频繁,而测试时情况正好相反,那么源域和目标域之间将存在巨大的差异。另一方面,我们进一步观察到,对象的共现也会对目标检测器产生偏见。例如,这可能发生在数据集中共现对象的数量不平衡时,例如数据集中的人数远远多于自行车的数量。当训练数据中的大量图像包含“骑自行车的人”时,自行车检测器将不可避免地与人物的特征耦合。因此,如果在测试中存在“骑摩托车的人”的图像,则摩托车将被错误地分类为自行车。此外,这两种类型的偏差不能仅通过扩大数据集的大小来减轻,因为大多数偏差遵循数据的自然属性。

现有的 DAOD 方法大多依赖于训练样本(源和目标)的分布,而没有显式考虑干扰因素。结果,它们的性能受到数据集偏差[30][31][32]的显著影响。例如,人物和自行车之间的视觉共现关系将使自行车的特征表示与人物的特征相关联。为了减轻这种抽样偏差,一些工作[33][34][35][36][37][38]已被提出,以探索每个对象类别的不变特征表示。其中一项代表性的工作是 VC R-CNN [37],它引入了视觉常识来探索目标对象与其周围环境之间的关系。简而言之,它们首先构建混杂因素字典,然后使用因果干预 do-表达式[39]来发现对象之间的因果关系。然而,VC R-CNN 只考虑共现对象作为混杂因素,这需要图像中对象的位置。

为了解决这些挑战,在本文中,我们提出了一种新颖的域自适应模型,以发现一种天气条件不变的特征表示。为此,我们采用了记忆网络来存储混杂因素字典,其中包含了在多种场景下对象的原型表示。为了构建代表性字典,我们采用了传统的目标检测器,例如 Mask RCNN [1] 来提取对象候选,然后使用动态项目提取策略来更新记忆字典。之后,我们引入了因果干预推理模块来探索特定对象的不变特征。最后,使用多任务损失函数训练分类器头以预测类别信息。此外,使用分类一致性正则化来约束类别之间的相似性,这可以自动用于在不同域之间对齐实例。我们在几个公共基准测试 RTTS [40]、Foggy-Cityscapes [41]、RID [42] 和 BDD 100K [43] 上进行了实验,在多种天气条件下取得了最先进的性能,证明了我们模型的有效性。

我们方法的贡献总结如下:
i) 我们开发了一种新颖的目标检测框架,通过因果干预探索天气条件不变的特征表示,从而提高了野外目标检测的性能。
ii) 设计了一种新颖的外部记忆网络,具有分类一致性正则化功能,可以动态存储代表性特征,并通过注意力图准确传播这些特征,以学习区分表示。
iii) 在几个公共基准测试上进行的广泛实验表明,我们的模型可以在不受限制的目标检测任务上实现最先进的性能,证明了我们模型的有效性。

3 问题陈述

在本节中,我们提供了背景定义,并正式定义了通过因果干预学习区分性特征表示的任务。

3.1 预备知识

X ∈ R N × d X \in \mathbb{R}^{N \times d} XRN×d是一组对象特征表示,其中 N N N是对象的数量, d d d是特征表示的维度。相应的标签为 Y ∈ R N × L Y \in \mathbb{R}^{N \times L} YRN×L,其中 L L L是类别的数量。在传统的贝叶斯框架中,输入的类别通过计算可能性 P ( Y ∣ X ) P(Y|X) P(YX)来预测,其中性能会受到由于对象特征和其类别之间的偶然关联导致训练样本分布的影响。当存在混杂因素时,可能性可以通过以下方式计算:

P ( Y ∣ X ) = ∑ c P ( Y ∣ X , c ) P ( c ∣ X ) P(Y|X) = \sum_c P(Y|X, c)P(c|X) P(YX)=cP(YX,c)P(cX)

其中 P ( c ∣ X ) P(c|X) P(cX)表示由于训练样本不平衡引起的偏差。例如,在我们的任务中, c c c可以被视为不同的天气条件,如雾天和晴天,如果图像在晴天下比雾天下更多,那么 P ( c = 晴天 ∣ X ) P(c = \text{晴天}|X) P(c=晴天X)将会比 P ( c = 雾天 ∣ X ) P(c = \text{雾天}|X) P(c=雾天X)大,然后 P ( Y ∣ X , c = 晴天 ) P(Y|X, c = \text{晴天}) P(YX,c=晴天)对预测类别标签 Y Y Y的贡献更大。因此,对象的表示将主要受晴天下图像的支配,而不是雾天,这会导致分类器的偏差。

为了减轻特征偏差,使用因果干预 P ( Y ∣ d o ( X ) ) P(Y|do(X)) P(Ydo(X))来切断 X X X c c c之间的相关性:

P ( Y ∣ d o ( X ) ) = ∑ c P ( Y ∣ X , c ) P ( c ) P(Y|do(X)) = \sum_c P(Y|X, c)P(c) P(Ydo(X))=cP(YX,c)P(c)

其中 P ( c ) P(c) P(c)是混杂因素的先验。因此, Y Y Y的预测应该包含所有混杂因素的先验 P ( c ) P(c) P(c),以实现一个鲁棒的对象分类器。与上述第一个公式相比,混杂因素 c c c与训练样本 X X X不相关,这使得类别预测包含了所有混杂因素的上下文。例如,当我们考虑混杂因素 c c c作为天气条件时,类别分类器 P ( Y ∣ X , c ) P(Y|X, c) P(YX,c)需要捕捉在不同天气条件下对象的普遍区分特征。因此,由于训练样本分布不平衡引起的分类器偏差可以被减轻。

3.2 任务定义

给定对象候选 x i x_i xi和混杂因素字典 C C C,我们的目标是基于因果干预学习一个鲁棒的视觉分类器。具体来说,我们想要训练视觉对象分类器,这些分类器能够适应不同的天气条件。引入因果干预的关键步骤是开发混杂因素字典。考虑到我们的任务,我们将特定条件下的对象视为典型的混杂因素表示[58]。受示例SVM[59]的启发,我们通过利用对象候选和混杂因素之间的特征相似性来计算不同混杂因素下的对象预测。

为了系统地理解混杂因素如何损害对象探测器,我们提出使用因果图来解释分类器和特征表示之间的隐藏相关性。图2显示了我们的对象探测器的因果图。我们用 C C C表示各种混杂因素, Y Y Y表示类别标签。 C C C在图像中产生干扰特征 X z X_z Xz,与核心对象特征 X o X_o Xo一起构成了自然图像的特征表示 X X X。干扰特征是指由外部噪声生成的与对象无关的特征,这些特征导致对象探测器失效。 X → Y X \rightarrow Y XY。对象因素在 X X X中直接导致 Y Y Y,这意味着对象标签是由核心对象特征决定的,如纹理、形状等,而不是天气条件、相机视角、背景。 C → X C \rightarrow X CX C → Y C \rightarrow Y CY:由于存在各种混杂因素,这些因素是由图1中显示的全局和局部干扰因素引起的。所有这些混杂因素都会影响对象特征和类别标签。例如,天气条件会导致域间差距。 C → Y C \rightarrow Y CY表示混杂因素 C C C Y Y Y的影响。


我们的目标是实现 X X X Y Y Y之间的真实因果关系,以开发不变的特征表示,这可以减少源集和目标集之间的差距。然而,传统的对象检测模型专注于计算给定 X X X Y Y Y的可能性,未能捕捉到真正的因果关系。为了减轻通过 C → Y C \rightarrow Y CY的偶然关联引起的偏差,我们需要使用因果干预 P ( Y ∣ d o ( X ) ) P(Y|do(X)) P(Ydo(X))而不是可能性 P ( Y ∣ X ) P(Y|X) P(YX)来学习特征表示。

4 我们的方法

我们提出的模型由三个主要模块构成:前端模块用于提取候选对象,干扰因素字典集用于存储干扰因素,以及因果干预推理模块用于目标检测,如图3所示。给定训练数据,在第4.1节中,我们首先使用区域提议网络[2]提取对象区域候选,然后通过最后一层卷积层的特征对RoI对齐操作[1]获得它们的表示。接着,在第4.2节中,我们详细说明了如何构建干扰因素集C。在现实世界中,我们难以收集所有可能的干扰因素,因此我们使用干扰因素字典来近似表示它们。为此,我们使用场景布局感知特征采样函数从对象候选中选择代表性特征表示。接下来,使用动态干扰因素更新机制来保持存储特征的多样性。然后,在第4.3节中,我们引入因果干预来发现用于推理对象类别的判别特征表示。最后,在第4.4节中,增强的和原始特征被融合以发展最终表示。

4.1 候选对象提取

我们采用两阶段目标检测范式Mask R-CNN[1]来提取区域候选。给定输入图像I,使用深度卷积主干网络提取全分辨率卷积特征 F c o n v ∈ R h × w × d F_{conv} \in \mathbb{R}^{h \times w \times d} FconvRh×w×d。主干网络在ImageNet数据集[8]上进行预训练。根据区域提议网络[2],我们在最后的卷积特征图上应用RPN以获得一组稀疏的区域提议。然后,使用RoI池化层[1]、[60]为每个对象候选开发固定分辨率的区域特征(例如,7×7)。随后,使用头部网络预测提取的提议包含对象的概率(通常称为对象性),并通过回归细化提议的边界框。

为了提高检测多尺度对象的能力,我们使用特征金字塔网络[61]在不同尺度下获取对象表示。具体来说,我们添加了自顶向下和横向连接,以在金字塔的不同尺度上构建特征金字塔。然后,我们从金字塔的所有尺度中提取对象候选的特征表示。由于存在大量重复的对象候选,我们使用名为非极大值抑制(NMS)的启发式后处理步骤来移除同一对象上的重复候选。

前端模块的训练目标函数由两部分组成: L r p n _ c l s L_{rpn\_cls} Lrpn_cls L r p n _ r e g L_{rpn\_reg} Lrpn_reg。具体来说, L r p n _ c l s L_{rpn\_cls} Lrpn_cls旨在区分对象性和杂乱背景,定义为交叉熵损失函数[2],而 L r p n _ r e g L_{rpn\_reg} Lrpn_reg用于回归对象性的边界框,定义为平滑L1损失函数。

L r p n _ c l s = ∑ i y i log ⁡ ( p i ) L r p n _ r e g = ∑ i smoothL1 ( l o , i − l g , i ) L_{rpn\_cls} = \sum_{i} y_i \log(p_i) \\ L_{rpn\_reg} = \sum_{i} \text{smoothL1}(l_{o,i} - l_{g,i}) Lrpn_cls=iyilog(pi)Lrpn_reg=ismoothL1(lo,ilg,i)

s m o o t h L 1 ( Δ l o c ) = { 0.5 Δ l o c 2 , if  ∣ Δ l o c ∣ < 1 ∣ Δ l o c ∣ − 0.5 , otherwise smoothL1(\Delta loc) = \begin{cases} 0.5 \Delta loc^2, & \text{if } |\Delta loc| < 1 \\ |\Delta loc| - 0.5, & \text{otherwise} \end{cases} smoothL1(Δloc)={0.5Δloc2,∣Δloc0.5,if ∣Δloc<1otherwise

其中 y i y_i yi表示第i个对象候选区域的真实标签, p i p_i pi是候选成为对象的预测概率。 l o , i l_{o,i} lo,i表示特定类别的预测边界框, l g , i l_{g,i} lg,i是相应的真实边界框, Δ l \Delta l Δl表示差异距离。平滑L1损失是一种对异常值不太敏感的鲁棒L1损失,用于计算预测边界框 l o , i l_{o,i} lo,i和真实边界框 l g , i l_{g,i} lg,i之间的差异。我们的前端网络可以通过梯度反向传播和SGD端到端训练。

4.2 混杂因素字典构建

我们构建了混杂因素字典 C = { c 1 , c 2 , . . . , c N s } ∈ R N s × d C = \{c_1, c_2, ..., c_{N_s}\} \in \mathbb{R}^{N_s \times d} C={c1,c2,...,cNs}RNs×d,用以表示干扰因素,其中 N s N_s Ns表示混杂因素槽的总数,而 d d d是特征维度。特别地,我们采用不同天气条件下的对象表示作为字典项。对于每个类别,我们提取一组多样化的特征来表示相应的对象。第 i i i个混杂因素 c i c_i ci表示为 c i = ( V i , L i ) c_i = (V_i, L_i) ci=(Vi,Li),其中 V i ∈ R d V_i \in \mathbb{R}^d ViRd是编码的对象表示,而 L i ∈ R L L_i \in \mathbb{R}^L LiRL表示相应的类别标签。为了节省计算内存,我们采用记忆网络[62][63]来存储混杂因素。

混杂因素写入。我们引入了项目写入操作符来动态更新混杂因素表示。与简单地将新特征附加到内存列表的现有方法不同,我们使用动态更新机制来捕获特定条件下的代表性混杂因素特征。具体来说,我们通过连接操作将编码特征更新 v i v_i vi和相应的标签更新 l i l_i li写入内存:

V i = Concat ( V i , v i ) ; L i = Concat ( L i , l i ) ; V_i = \text{Concat}(V_i, v_i); \quad L_i = \text{Concat}(L_i, l_i); Vi=Concat(Vi,vi);Li=Concat(Li,li);

为了计算效率,记忆库的容量应限制在最大长度。因此,我们需要通过计算新输入与存储特征之间的视觉相似性来删除内存中的重复特征向量。候选记忆项应与现有项的相似性较小。此外,我们要求每个类别的项目数量相同。当记忆的最大容量达到时,我们提出更新相应特征。为此,我们检索同一类别中相似度最高的项,然后其特征通过以下方式更新:

v t + 1 i = g ⋅ v t i + ( 1 − g ) ⋅ v n i ; v_{t+1}^i = g \cdot v_t^i + (1 - g) \cdot v_n^i; vt+1i=gvti+(1g)vni;

其中 v t i v_t^i vti表示原始记忆项, v n i v_n^i vni是将要存储的新输入特征。 v t + 1 i v_{t+1}^i vt+1i表示更新后的新记忆项,而 g g g是权衡权重参数。

混杂因素检索。检索模块用于从记忆库中选择相关项。具体来说,给定区域提议的特征,我们首先计算查询提议与记忆库中每个项之间的余弦相似性。然后,基于相似性,我们可以选择具有较高相似性的项来计算注意力并发展区分性特征表示。引入检索模块的优势在于,它可以加快推理速度,特别是对于具有大记忆库大小的任务。

4.3 因果干预推理

为了探索 X X X Y Y Y之间的因果关系,我们提出因果干预来发现用于推理对象类别的区分性特征表示。具体来说,给定对象候选 x i x_i xi的特征表示及其相应的类别标签 l i l_i li,我们可以将方程(2)重新表述为:

P ( l i ∣ d o ( x i ) ) = ∑ c i P ( l i ∣ x i , c i ) p ( c i ) = E c [ softmax ( f l ( x , c ) ) ] T ; P(l_i | do(x_i)) = \sum_{c_i} P(l_i | x_i, c_i) p(c_i) = \mathbb{E}_{c}[\text{softmax}(f_l(x, c))]^T; P(lido(xi))=ciP(lixi,ci)p(ci)=Ec[softmax(fl(x,c))]T;

其中 c i c_i ci是混杂因素字典中的项,而 P ( l i ∣ x i , c i ) = f l ( x , z ) P(l_i | x_i, c_i) = f_l(x, z) P(lixi,ci)=fl(x,z)根据特征提取器 f l f_l fl基于预定义的 L L L个类别计算对数几率。

鉴于混杂因素字典 C C C,我们使用归一化加权几何平均值[37][64]来近似 E c [ softmax ( f l ( x , c ) ) ] T \mathbb{E}_{c}[\text{softmax}(f_l(x, c))]^T Ec[softmax(fl(x,c))]T

E c [ softmax ( f l ( x , c ) ) ] T = ∑ c exp ⁡ ( f l ( x , c ) ) p ( z ) ∑ j exp ⁡ ( f l ( x , c ) ) p ( z ) = exp ( E c [ f l ( x , c ) ] ) ∑ j exp ⁡ ( E c [ f l ( x , c ) ] ) ∑ j exp ⁡ ( f l ( x , c ) ) = softmax ( ( E c [ f l ( x , c ) ] ) T ) ; \mathbb{E}_{c}[\text{softmax}(f_l(x, c))]^T = \frac{\sum_{c} \exp(f_l(x, c)) p(z)}{\sum_{j} \exp(f_l(x, c)) p(z)} = \text{exp}(\mathbb{E}_{c}[f_l(x, c)]) \frac{\sum_{j} \exp(\mathbb{E}_{c}[f_l(x, c)])}{\sum_{j} \exp(f_l(x, c))} = \text{softmax}((\mathbb{E}_{c}[f_l(x, c)])^T); Ec[softmax(fl(x,c))]T=jexp(fl(x,c))p(z)cexp(fl(x,c))p(z)=exp(Ec[fl(x,c)])jexp(fl(x,c))jexp(Ec[fl(x,c)])=softmax((Ec[fl(x,c)])T);

其中 f l ( x , c ) f_l(x, c) fl(x,c)定义为在混杂因素 C C C下对象候选的预测。借助NWGM,我们可以将因果干预重新表述为:

P ( l i ∣ d o ( x i ) ) ≈ softmax ( ( E c [ f l ( x , c ) ] ) T ) ; P(l_i | do(x_i)) \approx \text{softmax}((\mathbb{E}_{c}[f_l(x, c)])^T); P(lido(xi))softmax((Ec[fl(x,c)])T);

因此,因果干预已经转变为计算在不同混杂因素 c i c_i ci下对象的概率分布。我们把对象候选的特征表示视为 X X X,通过线性变换将其转换为 X query X_{\text{query}} Xquery。然后,混杂因素字典 C C C被转换为两个不同的特征表达 C key C_{\text{key}} Ckey C value C_{\text{value}} Cvalue,分别通过两个不同的线性变换:

X query = LN ( W q ⋅ X + b query ) ; C key = LN ( W k ⋅ C + b key ) ; C value = LN ( W v ⋅ C + b value ) ; X_{\text{query}} = \text{LN}(W_q \cdot X + b_{\text{query}}); \quad C_{\text{key}} = \text{LN}(W_k \cdot C + b_{\text{key}}); \quad C_{\text{value}} = \text{LN}(W_v \cdot C + b_{\text{value}}); Xquery=LN(WqX+bquery);Ckey=LN(WkC+bkey);Cvalue=LN(WvC+bvalue);

其中 W q , W k , W v W_q, W_k, W_v Wq,Wk,Wv是线性变换的权重,而 b query , b key , b value b_{\text{query}}, b_{\text{key}}, b_{\text{value}} bquery,bkey,bvalue是偏置值。基于线性变换,我们可以将对象表示映射到共享空间。此外,我们引入了层归一化(LN)来加速我们模型的收敛。最后,我们通过变换编码器计算空间注意力 W a W_a Wa

W a = softmax ( X query ⋅ C key T d p ) ; P = f p ( W a ⋅ C value + C query ) ; W_a = \text{softmax}\left(\frac{X_{\text{query}} \cdot C_{\text{key}}^T}{\sqrt{d_p}}\right); \quad P = f_p(W_a \cdot C_{\text{value}} + C_{\text{query}}); Wa=softmax(dp XqueryCkeyT);P=fp(WaCvalue+Cquery);

其中 W a ∈ R N × N s W_a \in \mathbb{R}^{N \times N_s} WaRN×Ns是一个仿射相似性矩阵,它识别对象特征 X query X_{\text{query}} Xquery和混杂因素字典 C C C之间的相似性。 f p f_p fp表示用于校准对象特征的线性函数。我们使用加权求和来校准输入对象特征,然后添加原始特征以保持其语义特征。最后,我们通过连接原始特征获得最终特征 F enhance ∈ R N × 2 d F_{\text{enhance}} \in \mathbb{R}^{N \times 2d} FenhanceRN×2d

为了确保类内语义相似性以及类间差异性,我们引入了一种类别感知的结构正则化定义为对仿射相似性矩阵的块约束。我们使用L2范数:

L struct = ∥ ( L e − L e T − F enhance − F enhance T ) ∥ 2 2 ; L_{\text{struct}} = \|(L_e - L_e^T - F_{\text{enhance}} - F_{\text{enhance}}^T)\|_2^2; Lstruct=(LeLeTFenhanceFenhanceT)22;

其中 L e L_e Le是具有独热编码的候选标签, ∥ ⋅ ∥ \| \cdot \| 是L2范数。

4.4 训练目标和推理

为了训练我们的模型,我们使用类别标签来监督区域提议网络。类别分类器和对象定位也用于训练回归网络。此外,我们增加了辅助监督结构损失以进行区分性特征表示学习。因此,我们的总损失函数 L total L_{\text{total}} Ltotal计算为:

L total = − λ 1 L rpn_cls − λ 2 L rpn_reg − λ 3 L cls − λ 4 L reg − λ L struct ; L_{\text{total}} = -\lambda_1 L_{\text{rpn\_cls}} - \lambda_2 L_{\text{rpn\_reg}} - \lambda_3 L_{\text{cls}} - \lambda_4 L_{\text{reg}} - \lambda L_{\text{struct}}; Ltotal=λ1Lrpn_clsλ2Lrpn_regλ3Lclsλ4LregλLstruct;

其中 L rpn_cls L_{\text{rpn\_cls}} Lrpn_cls L rpn_reg L_{\text{rpn\_reg}} Lrpn_reg分别表示对象候选提取阶段的分类和回归损失。 L cls L_{\text{cls}} Lcls L reg L_{\text{reg}} Lreg分别表示细粒度阶段的分类和回归损失函数。而 λ 1 , λ 2 , λ 3 , λ 4 \lambda_1, \lambda_2, \lambda_3, \lambda_4 λ1,λ2,λ3,λ4是四个超参数,用于确定不同阶段的损失。

推理细节。我们模型的推理过程如图3所示。给定一个测试图像和混杂因素字典,我们的模型首先提取与它们的初始定位相关联的对象候选,这表明候选区域是对象的概率。然后,将前 k k k个对象候选送入第二阶段进行特定类别标签预测和细粒度定位回归。为了效率,我们直接使用这些前 k k k个对象区域候选,无需任何后处理。

5 实验

我们提出的因果干预推理模型可以应用于任何对象检测框架,以探索恶劣天气条件下的不变特征表示。在本节中,我们对模型进行了全面评估,并与其他最先进的模型进行了比较,以证明我们模型的有效性。

5.1 数据集

为了评估我们提出的模型,我们在四个具有挑战性的基准测试中进行了实验,这些基准测试与雾天、雾天、雨天和夜间天气条件有关。我们简要概述了每个任务的实验设置,然后展示了结果,以验证我们模型在不同天气条件下的鲁棒性。

Real-World Task-Driven Testing Set (RTTS) [40] 是一个来自交通监控的真实世界雾天图像数据集,所有图像都标记有对象边界框和类别(汽车、公共汽车、自行车、摩托车、行人)。每个类别的对象数量严重不平衡,例如,有25,317辆汽车和698张自行车图像。此数据集中的所有图像都用作测试数据。

Foggy-Cityscapes [65] 是通过对数据集模拟不同程度雾气的原始城市景观 [66] 派生而来的。我们使用 Foggy-cityscapes 中的 b=[0.05, 0.1, 0.2] 部分,其中 b 表示雾的密度。为了评估我们的模型,我们采用对象检测中使用的八个类别的一个子集(人、骑手、汽车、卡车、公共汽车、火车、自行车和摩托车)。按照传统的训练和验证数据集分割,训练集共有8,895张图像,测试集共有1,476张图像。

BDD100K [43] 是一个大规模的自动驾驶数据集,包含多样化的驾驶场景,例如白天和夜晚以及不同类型的场景,如城市街道、住宅区和高速公路。数据集中的九个类别(公共汽车、交通灯、交通标志、人、自行车、卡车、摩托车、汽车、骑手)用于评估我们的模型。训练集有70,000张图像,不重叠的验证集共有10,000张图像,用作测试集。

Rain in Driving (RID) Set [42] 包括2,495张高分辨率图像(大多数图像的分辨率为1920×990,少数例外为4023×3024),在雨天天气条件下,镜头上的雨滴效果与实际相近。所有图像都在多样化的真实交通地点和场景中捕获。有5个类别(汽车、人、公共汽车、自行车和摩托车),所有图像都用作测试集。

5.2 评估协议

为了全面评估我们的模型,我们采用了三个标准指标,包括平均精度(AP)、平均召回率(AR)和平均平均精度(MAP)。MAP是通常用于判断方法整体检测性能的主要指标。考虑到 Pascal VOC [7] 和 COCO [9] 评估之间的差异,我们报告了所有结果,以便与现有模型进行公平比较。

5.3 实现细节

我们使用开源框架实现并评估了我们的模型。具体来说,我们的模型是使用随机梯度下降(SGD)作为优化器进行训练的,批量大小为1,动量为0.9,权重衰减为 5 × 1 0 − 4 5 \times 10^{-4} 5×104,初始学习率为 0.0001 0.0001 0.0001。按照通常的做法,在训练过程中采用学习率策略,通过乘以0.1来衰减初始值。还采用了数据增强,包括随机水平翻转、随机调整大小的比例范围为 [ 0.5 , 2.0 ] [0.5, 2.0] [0.5,2.0],以及随机裁剪大小为1333。此外,我们对不同的数据集使用不同的主干网络。对于 RTTS 和 RID 数据集,我们使用 ResNeXt101-32×8d [67] 作为主干网络,学习率在12K和16K次迭代时降低。而对于 Foggy-Cityscapes 数据集,我们使用 ResNet50 [68] 作为主干网络,学习率在6K和8K次迭代时降低。同样,对于 BDD100k 数据集,我们也使用 ResNet50 作为主干网络,批量大小设置为2,学习率设置为0.005,学习率在20K和30K次迭代时降低。我们模型的超参数是通过验证集确定的。我们重新实现了 Mask R-CNN [1] 作为基线检测器进行比较。我们还希望在 MindSpore1 上使用我们提出的模型,这是一个新的深度学习计算框架。这些问题留作未来的工作。

5.4 消融研究

为了评估我们模型的有效性,我们验证了模型的关键组成部分。具体来说,我们主要研究了混杂因素字典的有效性,包括每个类别的混杂因素数量和混杂因素表示的类型。此外,我们还验证了因果干预推理模块中不同特征融合方法的有效性。最后,我们验证了目标函数中的超参数。

混杂因素字典的影响。 我们首先在 RTTS 数据集上进行实验,以验证每个类别的混杂因素数量的影响。为此,我们首先使用传统的区域提议网络提取对象候选,其中主干是 ResNet50 [68]。然后,我们将每个类别的混杂因素中心大小设置为 [1,5,10,50,100],如表1所示。我们注意到,较大的混杂因素字典倾向于表现更好,但当混杂因素字典大小为100时,性能也会下降。原因是较大的混杂因素字典可以捕获目标对象的更多变化。然而,过多的字典项目会导致模型更多地关注对象的特定变化,例如照明和纹理,这可能会扩大不同天气条件下特征之间的差距。

因果干预的效果。 我们首先调查了通过注意力模型引入混杂因素字典对野外对象检测的必要性。我们开发了一个基线模型,即 w/o attention,通过直接将特征表示输入到全连接网络进行类别预测。实验结果如表2所示。我们发现,w/o attention 在 RTTS 上的性能明显低于我们完整的模型。这证明了在这个问题中引入因果干预的好处。接下来,我们研究了将因果干预应用于不同卷积层的效果。具体来说,我们使用类似于在 FPN [69] 中定义的策略,从相应层提取混杂因素表示,分别表示为 P3、P4 和 P5。由于 P2 层的大小太大,需要大量的 GPU 内存来计算注意力。因此,我们只增强了 P3、P4 和 P5 层。从表2的实验结果中,当我们在所有层应用注意力时,性能提高了1%。这是因为,在检测流程中,无关的对象候选可以在每个级联层被因果推理模块移除,从而可以获得更具区分性的特征图,并且可以提升对象定位和识别。此外,我们引入了 VC R-CNN [37] 作为使用因果干预的基线。我们按照 VC R-CNN 的基本设置进行操作,然后训练对象检测器在 RTTS 数据集上检测对象。我们通过实验发现 VC R-CNN 的性能较差。这可以解释为 VC R-CNN 不能直接用于领域适应,它只捕获了训练数据中存在的因素。

混杂因素更新的效果。 为了了解超参数 g 如何影响性能,我们手动为超参数设置不同的值,并在 RTTS 数据集上进行实验。表3报告了结果。我们发现最佳组合是 g = 0.3。我们观察到增加 g = 0.5 会导致性能下降,这与我们的假设一致,即 g 在更新记忆库的项目中扮演更重要的角色。我们还发现,较小的 g = 0.001 也会降低性能。这意味着我们的模型可以学习潜在的因果关系,以发展区分性特征表示。

注意力机制的效果。 在相同的实验设置下,我们对 Foggy Cityscapes 进行了消融研究,以评估我们引入的基于记忆字典的注意力机制的有效性,如表4所示。我们首先使用 Mask R-CNN with VGG 作为基线模型。接下来,我们添加了自注意力模块,遵循非局部神经网络,然后引入记忆库来增强特征。我们发现,通过添加我们的注意力模块、记忆库和类别结构正则化,评估性能得到了提升,这证明了这些模块的有效性。

与 ResNet50 相比,我们模型使用 VGG 作为主干时性能有所下降。然而,我们的方法仍然实现了最佳性能,与现有模型相比。主要原因是记忆库和注意力机制有助于学习区分性表示,可以提高检测器的泛化能力。为了与其它基于注意力的对象检测器进行比较,我们引入了经典的检测器 DETR [70] 作为基线。我们的模型优于基于注意力的检测器。

损失函数中参数的效果。 为了验证损失权重如何影响性能,我们手动为这些超参数设置了不同的值。表5报告了实验结果。目标损失函数可以分为三部分,其中 λ 1 , λ 2 \lambda_1, \lambda_2 λ1,λ2 用于优化区域提议神经网络, λ 3 , λ 4 \lambda_3, \lambda_4 λ3,λ4 用于优化识别和定位分支,而 α \alpha α 是语义结构正则化的权衡参数。考虑到每组的不同功能,我们进行了三种不同的实验来验证这些参数的有效性。我们将超参数初始化为1以实现高效计算。具体来说,对于区域提议分支,我们手动将这些超参数设置为不同的值,如表1所示,并将其他参数固定为 λ 3 = 1 ; λ 4 = 1 ; α = 1 \lambda_3 = 1; \lambda_4 = 1; \alpha = 1 λ3=1;λ4=1;α=1。我们观察到最佳组合是 λ 1 = 0.1 , λ 2 = 0.5 \lambda_1 = 0.1, \lambda_2 = 0.5 λ1=0.1,λ2=0.5。这些权重表明了每个损失在我们多任务学习范式中的重要性,用于学习区域提议。此外,我们网络的这个分支与区域候选的质量有关。然后,对于识别,我们使用与 RPN 分支相似的实验设置,并观察到最佳组合是 λ 3 = 1 , λ 4 = 1.5 \lambda_3 = 1, \lambda_4 = 1.5 λ3=1,λ4=1.5。最后,我们进行实验以验证我们引入的语义正则化的有效性,其他参数设置为最佳组合 λ 1 = 0.1 ; λ 2 = 0.5 ; λ 3 = 1 ; λ 4 = 1.5 \lambda_1 = 0.1; \lambda_2 = 0.5; \lambda_3 = 1; \lambda_4 = 1.5 λ1=0.1;λ2=0.5;λ3=1;λ4=1.5。如表5所示,我们比较了公式 (12) 中 α \alpha α 的不同值。默认情况下,我们使用 α = 1.5 \alpha = 1.5 α=1.5,这使得公式 (12) 中的项在归一化后大致等权重。此外,表5 显示,当我们在大约两个数量级(1 到 10)的范围内变化 α \alpha α 时,结果仅受到约2%的影响。这表明结果在一定范围内对 α \alpha α 不敏感。我们还观察到,组合 λ 1 = 1 ; λ 2 = 1 ; λ 3 = 1 ; λ 4 = 1 ; α = 1 \lambda_1 = 1; \lambda_2 = 1; \lambda_3 = 1; \lambda_4 = 1; \alpha = 1 λ1=1;λ2=1;λ3=1;λ4=1;α=1 甚至会降低性能2%。这意味着直接将无监督表示学习与我们的模型集成可能不会产生良好的性能。

5.5 在 RTTS 上的实验结果

按照推荐的协议 [1],我们在以下设置下进行了实验。主干设置:我们选择了三种类型的神经网络,即 VGG-16 [77] 和 ResNeXt101 [67],作为主干来评估性能。这种设置可以充分评估我们提出的模型的鲁棒性。训练数据设置:由于此数据集中的所有图像都用作测试集,因此对于每个类别,我们从 Cityscapes [66]、Foggy-Cityscapes [41] 和 COCO2014 训练集 [78] 中收集了相同类别的训练样本。这种设置特别具有挑战性,因为我们的模型需要有能力在不同天气条件下捕获目标对象的共同结构。实验结果在表6中展示。从结果中,我们可以验证,我们的完整模型在所有类别中都实现了最佳性能,与基线模型相比提高了约3%。性能随着不同主干的改进而持续提高,这表明我们的模型能够捕获目标对象的更好区分特征。

与最先进的方法的比较。为此,我们选择了四种最先进的框架 AOD [26]、DAFaster [71]、SWDA [72] 和 PBDA [73] 作为强基线来说明我们模型的有效性。此外,我们引入了图像增强模型来提高测试图像的视觉质量,然后将图像输入到源检测器以检测对象。我们采用了 GCANet [74]、MSCNN [75] 和 FFANet [76] 作为图像增强模型。然后,我们使用这些模型增强了训练和测试样本。符号 y 表示我们在训练和测试数据上都应用了图像增强模型。从表6中,我们发现当测试集的图像被增强时,性能会下降。当所有图像都通过相同的去雾算法增强时,我们可以取得更好的性能。这是因为为视觉质量提升而设计的模型在增强图像后也会引入领域差距。具体来说,我们的模型在MAP上比目前最先进的模型[73]表现得要好1:62%,考虑到这项任务的挑战,这是一个显著的改进。此外,我们的模型也取得了很大的收益,特别是在某些类别中,如公共汽车、人和摩托车。所得主要来自混杂字典和因果干预推理,有助于区分表征学习。此外,我们的模型的预测结果与基本真相注释之间的定性比较如图4所示。我们可以观察到,我们的模型可以获得更好的检测结果。

5.6 在 Foggy-Cityscapes 上的实验结果

雾天城市景观数据集是通过模拟不同程度的雾从城市景观派生而来的。因此,我们通过设置雾的级别参数 (b=[0.005, 0.01, 0.02]) 来收集训练样本,然后使用相同的操作在验证集上开发测试样本。之后,我们使用 ResNet-50 和 VGG-16 作为主干来训练源检测器。为了与现有的最先进模型进行比较,我们使用了 DAFaster [22]、SCDA [79]、SWDA [72]、DM [80]、MTOR [81]、NL [82]、PBDA [73],它们都是基于 VGG-16 作为主干,并在 b=0.01 的验证集上进行了测试。实验结果如表7所示。

从实验结果中,我们发现我们的模型与现有的最先进模型相比具有优越的性能。我们的模型比 SWDA [72] 高出5.1%,比 PBDA [73] 高出6.9%。此外,当我们使用 Resnet50 作为主干时,性能进一步提高了约4.2%,这表明学习到的表示优于传统的表示。随着雾的浓度增加,我们的模型仍然保持更好的性能。主要原因是通过引入混杂因素字典和因果干预模块,我们可以巧妙地从不同天气条件下的对象中提取区分性表示。当我们的模型训练中引入合成图像时,与基线方法相比,MAP 提高了10%。由于目标 Foggy Cityscapes 数据集包含与原始 Cityscapes 数据集相同的图像,但有合成的雾。这将桥接不同领域之间的领域差距。与源检测器相比,我们在结果中表明,我们的模型仍然可以协助适应过程,在泛化到不同类别时提高性能。总之,我们证明了所提出的模型有能力在不同天气条件下捕获目标对象的区分性结构。

此外,图5展示了在不同雾度级别图像上的检测结果。我们的方法在检测大型和小型对象方面表现出色。它能够自适应地识别几何和非几何变化,并能够在遮挡条件下识别许多部分对象。

5.7 在 BDD100K 上的实验结果

为了进一步验证我们模型在现实世界场景下的性能,我们在不同的夜间成像条件下测试了我们的模型。为了进行实验,我们从原始数据集中收集了夜间图像的子集以开发测试样本(3,929个验证夜间图像)。然后,我们根据 [85] 中的两种类型的训练图像构建了对象检测器:第一种是在没有夜间图像的情况下训练模型。在这种情况下,我们只使用白天的图像作为训练集,并在夜间测试集上评估模型。第二种实验设置是,我们同时使用夜间和白天的图像作为训练集。实验结果如表8所示。与源检测器相比,我们观察到我们的模型可以在夜间图像上提高检测性能。这表明我们的模型可以学习目标对象的区分性结构特征。这可以解释为,我们引入的混杂因素字典可以保存并编码夜间图像中的夜间特定特征。

此外,我们与最先进的对象检测模型 ToDayGAN [84] 和 ForkGAN [85] 进行了比较,这些模型使用数据增强来桥接领域差距。具体来说,它们首先使用生成网络将白天的图像翻译成夜间图像,然后保留相应的边界框作为注释。之后,它们的的对象检测器基于真实和合成样本进行训练。我们的实验结果如表8所示。我们观察到,我们的模型优于这些基线 [84] 和 [85]。尽管通过数据增强提高了性能,但训练图像的不同类别分布不平衡仍然存在。这将限制对象检测的性能。相反,我们的方法旨在通过使用混杂因素字典来捕获目标对象的区分性结构。这进一步证明了我们的模型在学习区分性表示方面的有效性。我们在图6中展示了 BDD100K 上检测结果的可视化比较。定性结果也证明了我们的方法在许多具有挑战性的条件下进行检测的有效性,特别是对于小型对象,例如交通标志和远处的行人。从实验中,我们可以观察到,当使用夜间图像作为训练数据时,性能有了显著的提高。这可以解释为在夜间图像中有特定于夜间的特征,我们引入的混杂因素字典可以将其保存并编码到特征表示中。

5.8 在 RID 上的实验结果

我们进一步在雨天天气条件下进行实验,以验证我们方法的鲁棒性。为此,我们首先从 Cityscapes [66]、Foggy-Cityscapes [41] 和 COCO2014 训练集 [78] 中收集了相同类别的训练样本。这种设置更具挑战性,因为我们的模型需要有能力在不同天气条件下捕获目标对象的共同结构。实验结果如表9所示。我们可以发现,我们的完整模型在所有类别中实现了最佳性能,与基线模型相比提高了约3%。性能随着不同主干的改进而持续提高,这表明我们的模型能够捕获目标对象的区分特征。尽管测试图像中存在许多小型对象,这是由于它们与相机的距离相对较远,我们的模型仍然实现了与基线相比的最佳性能。这是因为我们的方法有能力从训练样本中捕获区分性结构,并且因果干预模块可以通过将这些现有结构转移到输入中来增强对象候选的区分性表示。我们在图7中展示了 RID 上检测结果的可视化比较。定性结果也证明了我们的方法在许多具有挑战性的条件下进行检测的有效性,特别是对于小型对象,例如交通标志和远处的行人。


5.9 讨论

来自 RTTS、Foggy-Cityscapes、BDD100K 和 RID 的一些具有挑战性的图像在图8中显示。此外,我们可视化了我们模型的检测结果与源检测器的比较,并报告了我们模型在各个数据集上的召回率,如表10所示。从实验结果中,我们观察到,我们的模型有能力检测小型对象,并在不同天气条件下为特定对象获得更准确的边界框。这表明我们的方法具有优越的自我校正能力,并能在嘈杂数据和复杂背景下进行训练。此外,图8中的可视化结果展示了我们提出的模型如何减轻对象之间的偶然相关性。仅基于原始数据集训练的传统检测器往往会错误地定位对象。我们观察到,我们的模型在几种天气条件下产生了更准确和鲁棒的结果,因为它能够更好地学习目标的区分性特征表示。我们认为这种改进主要来自于所提出的因果模型。


决定野外对象检测器性能的主要因素是什么?为了发现训练检测器的重要因素,我们直接用不同的训练样本训练模型。与使用增强样本训练的检测器相比,我们的模型在 RTTS 数据集上达到了69.1%的 AP,在性能上提高了10%。这个结果直接验证了引入特征表示学习中的视觉结构的重要性。我们考虑的原因如下:首先,记忆网络的模型聚合过程作为特征校准,从而带来更好的性能和泛化。其次,因果干预过程有助于学习区分性特征表示。此外,我们收集了来自 RTTS、RID、Foggy-Cityscapes 和 BDD100K 的所有训练样本,以开发一个新的数据集,该数据集用于训练一个通用的对象检测器。为了评估这样一个通用检测器的有效性,我们使用相应的验证集作为测试图像。对于 Foggy-Cityscapes,我们设置 b = 0.005 来构建验证集。实验结果如表11所示。

从实验结果中,我们可以观察到与原始结果相比,每个测试集的性能都有所下降。这可以由两个主要原因来解释:首先,存在多种类型的场景,样本显著不平衡。尽管我们的模型可以减轻对象的不平衡问题,但训练一个涵盖所有现实世界场景的通用模型仍然是一个挑战。其次,不同的天气条件具有其特定的噪声,例如夜间黑暗条件和雾天条件。混杂因素字典容易被没有人为干预的对象的高频率出现所主导。

6 结论

在这项工作中,我们研究了视觉对象结构作为野外训练对象检测器的先验。我们引入了一个简单而强大的框架,包括记忆网络,用于发现与特征表示增强相关的语义上下文。为此,我们构建了一个区分性记忆库,用于存储每个类别的代表性特征,然后使用特征融合模块将原始特征表示与记忆特征对齐,以发展伪图像表示。我们提出的模型可以简单地集成到现有的对象检测器中,以提高它们的性能。在 RTTS、Foggy-Cityscapes、RID 和 BDD100K 上进行的实验表明,我们的方法在恶劣天气条件下是有效的。在未来,我们将专注于设计更好的重新采样策略,并发现因果特征,以提高我们框架的鲁棒性。

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IEEE TPAMI(IEEE Transactions on Pattern Analysis and Machine Intelligence)是一个涵盖模式识别、计算机视觉、图像处理和机器学习等领域的高质量期刊,其中也包括用于缺陷检测的研究。 以下是一些在IEEE TPAMI期刊上发表的用于缺陷检测的论文: 1. "Automatic Defect Detection in X-Ray Images Using Convolutional Neural Networks"(使用卷积神经网络自动检测X射线图像中的缺陷)-- 该论文提出了一种基于卷积神经网络(CNN)的自动缺陷检测方法,该方法可以应用于各种类型的X射线图像中的缺陷检测。 2. "Unsupervised Defect Detection in Textured Materials Using Convolutional Autoencoders"(使用卷积自动编码器在纹理材料中进行无监督缺陷检测)-- 该论文提出了一种基于卷积自动编码器(CAE)的无监督缺陷检测方法,该方法可以有效地检测纹理材料中的缺陷。 3. "A Hierarchical Approach to Defect Detection in Semiconductor Wafer Images"(半导体晶圆图像缺陷检测的分层方法)-- 该论文提出了一种基于分层方法的缺陷检测方法,可以应用于半导体晶圆图像中的缺陷检测。 4. "Deep Learning-Based Defect Detection in Semiconductor Manufacturing"(基于深度学习的半导体制造中的缺陷检测)-- 该论文提出了一种基于深度学习的缺陷检测方法,可以应用于半导体制造中的缺陷检测,并且在实验中取得了良好的结果。 这些论文都展示了IEEE TPAMI作为一个重要的期刊,提供了广泛的研究和应用领域,包括缺陷检测。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值