Title Towards Universal Object Detection by Domain Attention
标题 通过域注意力实现通用目标检测
pdf https://arxiv.org/pdf/1904.04402.pdf

摘要

尽管在用于视觉识别的通用表示上付出了更多的努力,但是很少有人解决物体检测问题。在本文中,我们开发了一种有效且高效的通用对象检测系统,该系统能够处理从人脸和交通标志到医学CT图像的各种图像领域。与多域模型不同,此通用模型不需要先了解感兴趣的域。这是通过基于挤压和激励原理引入新的适应层系列以及新的域注意力机制来实现的。在所提出的通用检测器中,所有参数和计算在域之间共享,并且单个网络一直在处理所有域。在11个不同数据集的新建立的通用对象检测基准上进行的实验表明,所提出的检测器性能优于单个检测器,一个多域检测器和一个基线通用检测器,其参数比单域基线探测器增加了1.3倍。该代码和基准将在http://www.svcl.ucsd.edu/projects/universal-detection/中发布。

1. 简介

近年来,在具有挑战性和多样化的物体检测数据集(例如图2)的支持下,物体检测取得了重大进展[11、44、2、26、13、3]。 PASCAL VOC [6],COCO [27],KITTI [9],WiderFace [58]等。但是,现有的检测器通常是特定于单个域的,例如, 在单个数据集上进行训练和测试。 部分原因是由于对象检测数据集多种多样,并且它们之间存在非一般的域偏移。 如图1所示,检测任务可以在类别(人脸,马,医疗病变等),相机视点(从飞机,自动驾驶汽车等拍摄的图像),图像样式(漫画,剪贴画,水彩)方面变化 通常,高检测性能需要专门针对目标数据集的检测器。
Towards Universal Object Detection by Domain Attention 论文阅读

这对实际应用提出了一个重大挑战。不管在哪个域中收集图像。一种简单的解决方案是为每个感兴趣的领域(例如,使用经过D数据集训练的D检测器,并在每个时间点加载专门针对感兴趣领域的检测器。然而,由于两个原因,这可能是不切实际的。首先,在涉及自治系统的大多数应用中,感兴趣的领域可能会经常变化,并且不一定是先验的。其次,总体模型的大小随域D的增加而线性增加。一种称为通用AI的最新趋势是要求一个通用模型解决多个任务[21、25、62]或跨多个域的相同任务[40,1]。然而,在该领域中的现有努力主要针对图像分类,很少针对对象检测的问题。现代目标检测器是由骨干网,建议框生成器,边界框回归器,分类器等组成的复杂系统,这一事实使通用目标检测器的设计比通用图像分类器更具挑战性。

在这项工作中,我们考虑了能够在多个域上运行的对象检测器的设计。 我们首先建立一个新的通用对象检测基准,称为UODB,它由11个不同的对象检测数据集组成(见图1)。 这比十项全能[40]用于多域识别的基准更具挑战性。 据我们所知,我们是第一个使用深度学习进行通用目标检测的。 我们希望这个新的基准将鼓励该领域的更多努力。 然后,我们提出了许多架构,如图2所示,以解决通用/多域检测问题。
Towards Universal Object Detection by Domain Attention 论文阅读

图2左侧的两个架构是多域检测器,它们需要先了解感兴趣的域。右侧的两个体系结构是通用检测器,不需要此类知识。当在未知域上操作时,多域检测器必须使用不同的域特定参数重复推理过程,而通用检测器仅执行一次推理。图2(a)的检测器是一组领域特定的检测器,没有参数/计算的共享。多域学习(MDL)[20、35、24、59、19、5]通过在各个域之间共享参数并添加特定于域的小层来对此进行改进。在[40,1]中,昂贵的卷积层被共享,并由轻量级特定域适配层补充。受这些启发,我们基于[15]的挤压和激发(SE)机制,提出了一种用于检测的新型轻量级适配器,并称为SE适配器。这导致了图2(b)的多域检测器,其中在整个网络中引入了特定于域的SE适配器以补偿域偏移。在UODB上,此检测器的参数要少5倍,胜过图2(a)。

相反,图2(c)的通用检测器在域之间共享所有参数/计算(输出层除外)。它包含一个始终处于活动状态的网络。就参数共享而言,这是最有效的解决方案,但是单个模型很难覆盖具有非一般域偏倚的多个域。因此,该解决方案的性能不及图2(b)的多域检测器。为了克服这个问题,我们提出了图2(d)的域注意力的通用检测器。这利用了一个新颖的域注意力(DA)模块,其中首先添加了一组新的通用SE适配器(始终处于活动状态),然后引入了基于特征的注意力机制来实现域敏感性。该模块学习通过通用SE适配器将网络**分配给不同的域,并通过域注意力机制软路由它们的响应。这使适配器可以专用于单个域。由于该过程是由数据驱动的,因此域的数量不必与数据集的数量匹配,并且数据集可以跨越多个域。这使网络可以利用跨域的共享知识,这在普通的单域检测器中是不可用的。我们在新近建立的UODB上的实验表明,与图2的其余体系结构相比,这种数据驱动形式的参数/计算共享形式可实现更好的多域检测性能。

2.相关工作

2.1 对象检测

近年来,R-CNN [12],Fast R-CNN [11]和Faster R-CNN [44]检测器的两阶段检测框架取得了巨大的成功。许多作品扩展了这种基础架构。例如,MS-CNN [2]和FPN [26]建立了一个特征金字塔,可以有效地检测各种比例的物体。 R-FCN [4]提出了位置敏感池,以实现进一步的加速。 Cascade R-CNN [3]引入了用于高质量目标检测的多级级联。同时,单级目标检测器,例如YOLO [42]和SSD [29],因其相当好的性能和高速而变得流行。但是,如果不进行微调,这些检测器都无法在一个以上的数据集/域上达到较高的检测性能。在深度学习之前的时代,[23]通过向DPM添加数据集特定偏差,提出了一种通用DPM [8]检测器。但是由于DPM无法与深度学习检测器相提并论,因此该解决方案受到限制。

2.2 多任务学习

多任务学习(MTL)研究如何在假设一个输入域的情况下同时联合学习多个任务。已经提出了各种多任务网络[25、62、13、28、50、63]用于任务的联合解决方案,例如对象识别,对象检测,分割,边缘检测,人体姿势,深度,动作识别等,通过跨任务共享信息。但是,共享并不总是有益的,有时会损害性能[7,22]。为了解决这个问题,[32]提出了一种cross-stitch单元,该单元组合了不同类型的任务,从而消除了在每个任务的基础上搜索多种架构的需求。 [62]研究了几种不同任务的共同结构和关系。

2.3 多领域学习/适应

多域学习(MDL)解决了先验[20,36]已知的多个域表示的学习。它使用跨域共享的参数和特定于域的参数的组合。后者是自适应参数,受域自适应[38、30、46、31]启发,其中从源域学习的模型适用于目标域。 [1]表明,只需将特定于域的BN层添加到其他共享网络中,多域学习是可行的。 [40]通过残差适配器学习了多个视觉域,而[41]则通过经验研究了有效的参数化。但是,由于检测器训练的批次限制,它们建立在BN层上并且不适合检测。取而代之的是,我们提出了另一种SE适配器,该适配器受“挤压和激励” [15]的启发而得以解决。

注意力模块:

[49]提出了一种用于机器翻译的自注意力模块,同样,[51]提出了基于时空依赖/注意机制的用于视频分类的非局部网络。文献[15]关注通道关系,引入了SE模块来自适应地重新校准通道特征响应,从而在ImageNet识别上取得了良好的效果。在这项工作中,我们引入了一个受SE启发的域注意模块,用于对网络**进行数据驱动的域分配,以解决更具挑战性的通用对象检测问题。

3. 多域目标检测

多域目标检测的问题是检测各种域上的目标。

3.1 通用目标检测基准

为了训练和评估通用/多域目标检测系统,我们建立了11个数据集的新通用对象检测基准(UODB):Pascal VOC [6],WiderFace [58],KITTI [9],LISA [33],DOTA [53],COCO[27], Watercolor [17], Clipart [17], Comic [17], Kitchen[10] and DeepLesions [55]。UODB总共涵盖了类别,相机视图,图像样式等方面的广泛变化,因此为通用/多域目标检测的评估建立一个良好的数据集。

3.2 单域检测器

Faster R-CNN [44]被用作这项工作中提出的所有检测器的Baseline。作为单域对象检测器,Faster R-CNN分两个阶段实施。首先,区域提议网络(RPN)产生了与类别无关的初步检测假设。第二阶段使用关注区域检测网络处理这些检测结果,以输出最终检测结果。

如图2(a)所示,多域检测的最简单解决方案是每个数据集使用独立的检测器。我们将此检测器用作多域检测baseline。该解决方案是最昂贵的,因为它意味着复制所有检测器的所有参数。图3显示了相应数据集上11个检测器的卷积**的统计数据(均值和方差)。可以进行一些观察。首先,这些统计数据在数据集中的变化不大。尽管VOC和COCO的**分布相似,但DOTA,DeepLesion和CrossDomain的分布相对不同。其次,统计信息在网络层之间有所不同。较早的层(负责校正域偏移)比较晚的层具有更明显的差异。这倾向于保持输出层。这些负责将图像分配给不同的类别,并且自然会有所不同。有趣的是,即使RPN层与类别无关,该行为也适用于RPN层。第三,许多层的数据集统计相似。对于中间层尤其如此,这表明它们可以被至少某些域共享。
Towards Universal Object Detection by Domain Attention 论文阅读

3.3 自适应多域检测器

受图3的启发,我们提出了一种自适应多域检测器,如图2(b)所示。在此模型中,输出和RPN层是特定于域的。网络的其余部分,例如所有卷积层都是共享的。但是,为了适应新的域,我们引入了一些其他特定于域的层,如MDL [40,1]中通常所做的那样。这些额外的层应为:1)足够强大以补偿域偏移; 2)尽可能轻量,以最小化参数/计算。 [40,1]的适应层广泛依赖于BN。这对于必须冻结BN层的检测是不可行的,因为允许进行检测器训练的批次小。

相反,我们已经试验了图4(a)的挤压和激励(SE)模块[15]。有几个原因。首先,众所周知,基于特征的注意力在哺乳动物视觉中被用作使知觉适应不同任务和环境的机制[61、37、52、18、60]。因此,考虑基于特征的注意力机制进行领域适应似乎是自然的。其次,SE是一个模块,负责解决通道之间的相互依赖性以调节通道响应。这可以看作是基于特征的注意力机制。第三,SE模块使SENet能够在ImageNet上实现最新分类。最后,它是一个轻量级的模块。即使将其添加到ResNet的每个残差块[14]中,它也仅会使总参数计数增加大约10%。这接近[40]提出的基于BN的适配器。由于所有这些原因,我们采用SE模块作为基本适应单元,用于构建本工作中提出的所有域自适应检测器,并由SE adapter表示。

Towards Universal Object Detection by Domain Attention 论文阅读

3.4 SE Adapters

类似[15],SE Adapters由图4(a)的操作序列组成:全局池化层,全连接(FC)层,ReLU层和第二FC层,实现了计算:
Towards Universal Object Detection by Domain Attention 论文阅读
其中FavgF_{avg}是全局平均池化运算符,FSEF_{SE}FC+ReLU+FCFC + ReLU + FC层的组合。在我们的实验中,将图4中的通道尺寸减小因子r设置为16。为了实现多域对象检测,将SE Adapters通用化为图4(b)的结构,该结构表示为SE Adapters bank。这包括为每个域添加SE适配器分支和域开关,这允许选择与感兴趣域关联的SE适配器。注意,该结构假定该域是先验的。它导致了图2(b)的多域检测器。与图2(a)相比,该模型小5倍,同时在11个数据集中实现了更好的整体性能。

4. 通用目标检测

上一部分的检测器需要先了解感兴趣的域。对于诸如机器人或自动驾驶汽车之类的自主系统而言,这是不可取的,在这些系统中,确定域是要解决的问题的一部分。在本节中,我们将考虑消除这种问题的通用检测器的设计。

4.1 通用检测器

如图2(c)所示,通用检测的最简单解决方案是由所有任务共享一个检测器。注意,即使对于该检测器,根据检测问题的定义,输出层也必须是特定于任务的。这不是问题,因为任务是已知的,即系统试图检测的类。通用性是指检测器处理的输入图像的域,在图2(c)的情况下不必知道。除了通用性之外,完全共享的检测器是这项工作中考虑的所有检测器中效率最高的,因为它没有特定于域的参数。另一方面,通过在所有域上强制使用相同的表示集,它几乎没有灵活性来处理图3的统计变化。在我们的实验中,该检测器通常不如图2(a)和图2(b)所示的多域检测器好。

4.2 域注意力通用检测器

理想情况下,通用检测器应具有一定的域灵敏度,并能够适应不同的域。我们还发现,由于图3的观察,使用特定于任务的RPN层也有好处。尽管这与多域检测有很多共同之处,但有两个主要区别。首先,必须自动推断域。其次,无需绑定域和任务。例如,图1的交通任务在公共可视域(交通场景)上运行,该交通场景可以具有许多子域,例如由于天气条件(晴天与阴雨),环境(城市与农村)等,根据特定的操作条件,任何域的任务都必须解决。实际上,这些域甚至可能没有明确的语义,即它们可以由数据驱动。在这种情况下,无需要求每个检测器都在单个域上运行,并且 soft 域分配更为合理。考虑到所有这些,尽管仍然可以使用图4(a)的SE适配器来实现域自适应,但强制网络完全参与单个域的图4(b)的硬性关注机制可能不是最佳的。为了解决此限制,我们提出了图5的域自适应(DA)模块。它具有两个组件,通用SE适配器库和域注意力机制,下面将进行讨论。

4.3 通用SE Adapter Bank

Towards Universal Object Detection by Domain Attention 论文阅读
如图5所示,通用SE(USE)适配器组是与图4(b)相似的SE适配器组。主要区别在于没有域切换,即适配器组是通用的。这是通过串联各个域适配器的输出以形成通用表示空间来实现的:
Towards Universal Object Detection by Domain Attention 论文阅读
其中N是适配器的数量,XSEiX_{SE}^i是每个适配器的输出,由(1)给出。注意,N不一定等于检测任务的数量。 USE适配器组可以看作是信号处理中常用滤波器组的非线性概括[48]。每个分支(非线性)沿着与特定域的统计信息匹配的子空间投影输入。然后,注意力组件将生成一组域敏感的权重,这些权重用于以数据驱动的方式组合这些预测。在这种情况下,无需事先知道操作域。实际上,甚至可能没有单个域,因为输入图像可以激励多个SE适配器分支。

4.4 域注意力

图5中的注意力组件产生了一组域敏感的权重,用于组合SE预测。受SE模块的激励,域注意力组件首先对输入要素图应用全局池化,以去除空间尺寸,然后应用softmax层(线性层加softmax函数)
Towards Universal Object Detection by Domain Attention 论文阅读
其中WDARN×CW_{DA} \in R^{N \times C}是softmax层权重的矩阵。然后使用向量SDAS_{DA}加权USE组的输出XUSEX_{USE},以产生域自适应响应向量:
Towards Universal Object Detection by Domain Attention 论文阅读
像[15]的SE模块中一样,XDAX_{DA}最终用于对**的XRC×H×WX \in R^{C \times H \times W}进行逐通道重新缩放,
Towards Universal Object Detection by Domain Attention 论文阅读
其中Fscale()F_{scale}(·)实现了按通道的乘法,而σσ是S型函数。

通过这种方式,USE组捕获了所有数据集所跨越的域的特征子空间,并且DA机制对USE映射进行了软路由。两种操作都是数据驱动的,并且在没有域的先验知识的情况下进行操作。与图4(b)的注意力集中机制不同,此DA模块可实现跨域的信息共享,从而实现更有效的表示。在我们的实验中,域注意力的通用检测器性能优于图2的其他检测器。

5. 实验

相关文章: