Press "Enter" to skip to content

SpineNet:通过神经架构搜索发现的用于对象检测的新型架构

卷积神经网络通常将输入图像编码为一系列中间特征,这些特征捕获图像的语义(从局部到全局),其中每个后续层都有一个较低的空间维度。然而,对于识别和定位都很重要的多尺度视觉识别任务(例如,对象检测和分割),这种缩小比例的模型可能无法提供强大的特征。包括FPN和DeepLabv3+在内的多个作品提出多尺度编码器-解码器架构来解决这个问题,其中将尺度减小的网络(例如ResNet)作为编码器(通常称为骨干模型)。然后将解码器网络应用于主干以恢复空间信息。虽然这种架构在图像识别和定位任务方面取得了更大的成功,但它仍然依赖于规模减小的主干,该主干通过下采样丢弃空间信息,然后解码器必须尝试恢复。如果要设计一种替代的主干模型来避免这种空间信息的丢失,从而天生就非常适合同时进行图像识别和定位,那会怎样?在我们最近的CVPR 2020论文中“SpineNet: Learning Scale-Permuted Backbone for Recognition and Localization ”,我们提出了一种称为比例置换模型的元架构,它可以对骨干架构设计进行两项重大改进。首先,中间特征图的空间分辨率应该能够随时增加或减少,以便模型可以随着它变得更深而保留空间信息。其次,特征图之间的连接应该能够跨越特征尺度以促进多尺度特征融合。然后我们使用神经架构搜索(NAS) 具有新颖的搜索空间设计,其中包括这些功能以发现有效的尺度排列模型。我们证明该模型在多尺度视觉识别任务中是成功的,其性能优于具有标准、减少尺度的主干网络。为了促进该领域的持续工作,我们已将 SpineNet 代码开源到 Tensorflow 1 中的Tensorflow TPU GitHub 存储库和Tensorflow 2 中的TensorFlow Model Garden GitHub 存储库。

 

 

SpineNet 架构的

 

设计为了有效地设计 SpineNet 的架构,并避免耗时的手动搜索最佳架构,我们利用 NAS 来确定最佳架构。使用COCO 数据集在物体检测任务上学习主干模型,这需要同时识别和定位。在架构搜索过程中,我们学到了三件事:

 

*比例排列*:网络构建块的排序很重要,因为每个块只能从那些已经存在的块中构建(即,具有“较低的排序”)。我们分别通过重新排列中间块和输出块来定义尺度排列的搜索空间。

 

*跨尺度连接*:我们为搜索空间中的每个块定义两个输入连接。父块可以是任何具有较低排序的块或来自主干网络的块。

 

*块调整(可选)*:我们允许块调整其比例级别和类型。

 

 

以ResNet-50主干作为 NAS 搜索的种子,我们首先学习尺度排列和跨尺度连接。搜索空间中的所有候选模型的计算量与 ResNet-50 大致相同,因为我们只是排列特征块的顺序以获得候选模型。学习到的尺度置换模型在对象检测任务中以 +2.9% 的平均精度(AP)优于ResNet-50-FPN。通过添加搜索选项来调整每个候选特征块的规模和类型(例如,ResNet模型系列中使用的残差块或瓶颈块),可以进一步提高效率(-10% FLOPs)。

 

我们将学习到的 49 层尺度置换骨干架构命名为 SpineNet-49。SpineNet-49 可以通过重复块 2、3 或 4 次并增加特征维度来进一步扩展到 SpineNet-96/143/190。ResNet-50-FPN 和最终的 SpineNet-49 之间的架构比较如下所示。

 

 

性能

 

我们通过与 ResNet-FPN 的比较来展示 SpineNet 模型的性能。使用类似的构建块,SpineNet 模型在各种规模上比其 ResNet-FPN 模型的 AP 高出约 3%,同时使用的 FLOP 减少了 10-20%。特别是,我们最大的模型 SpineNet-190在推理过程中无需多尺度测试的单个模型在COCO上实现了 52.1% 的 AP ,显着优于先前的检测器。SpineNet 还转移到分类任务,在具有挑战性的iNaturalist细粒度数据集上实现了 5% 的 top-1 精度提升。(编辑 2020-12-12: COCO 的实验结果可以在TensorBoard.dev上查看和下载. 度量定义和命名约定直接对应于COCO定义的那些。由于 TF1 到 TF2 的转换,以及管道中一系列随机变量的结果,TensorBoard 上的终端值可能会超过下表中的值。)

 

 

 

结论

 

在这项工作中,我们发现传统的缩减模型,即使有解码器网络,对于同时识别和定位也不是有效的。我们提出了尺度置换模型,一种新的元架构,来解决这个问题。为了证明尺度置换模型的有效性,我们通过神经架构搜索在对象检测中学习 SpineNet,并证明它可以直接用于图像分类。未来,我们希望尺度置换模型将成为跨越检测和分类之外的许多视觉任务的主干元架构设计。

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注