欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

谷歌大脑:神经结构搜索发现全新特征金字塔架构NAS-FPN,实现更快更好的目标检测

最编程 2024-07-29 18:56:41
...

【新智元导读】 谷歌大脑的研究人员发表最新成果,他们采用神经结构搜索发现了一种新的特征金字塔结构 NAS-FPN,可实现比 Mask R-CNN、FPN、SSD 更快更好的目标检测。

目前用于目标检测的最先进的卷积架构都是人工设计的。

近日,谷歌大脑的研究人员发表最新成果,他们采用神经结构搜索发现了一种新的特征金字塔结构 NAS-FPN,可以更好地用于目标检测。论文已被 CVPR 2019 接收。

论文地址:

arxiv.org/pdf/1904.07…

研究人员采用神经结构搜索,在一个新的可扩展搜索空间中发现了一种新的特征金字塔架构。

这个被发现的架构被命名为 NAS-FPN,可实现比 Mask R-CNN、FPN、SSD 更快更好的目标检测。

与目前最先进的目标检测模型相比,NAS-FPN 与 RetinaNet 框架中各种主干模型相结合,可以实现更好的精度和延迟权衡

与 MobileNetV2 中最先进的 SSDLite 相比,NAS-FPN 在移动检测精度方面提高了 2 AP,达到 48.3 AP,超过了 Mask R-CNN 的检测精度,并且计算时间更少

设计搜索空间,生成特征表示

学习视觉特征表示是计算机视觉中的一个基本问题。近年来,针对图像分类和目标检测的深度卷积网络 (ConvNets) 模型架构的设计取得了很大进展。与预测图像类别概率的图像分类任务不同,目标检测有其自身的挑战,即在多种尺度和位置上检测和定位多个对象。为了解决这一问题,许多先进的目标检测器通常使用金字塔特征表示,它以多尺度特征层来表示图像。

特征金字塔网络 (FPN) 是产生用于目标检测的金字塔特征表示的典型模型架构之一。该方法采用通常用于图像分类的主干模型,通过自顶向下的连接和横向连接,将主干模型特征层中的相邻两层按顺序组合,从而构建特征金字塔。

设计特征金字塔结构的挑战在于其巨大的设计空间。组合来自不同尺度的特征的可能连接的数量随层数呈指数增长。

最近的研究表明,神经结构搜索算法在巨大搜索空间中可以有效发现性能最佳的图像分类架构。受此启发,我们提出可扩展架构的搜索空间,用以生成金字塔表示。

本研究的主要贡献是设计了涵盖所有可能的跨尺度连接的搜索空间,以生成多尺度特征表示

在搜索过程中,我们的目标是发现一个原子架构 (atomic architecture),它具有相同的输入和输出特性级别,并且可以重复应用。

模块化搜索空间使搜索金字塔架构易于管理。模块化金字塔结构的另一个好处是能够随时检测目标 (或 “提前退出”)。

所发现的架构名为 NAS-FPN,为构建对象检测架构提供了很大的灵活性。NAS-FPN 适用于各种主干模型,如 MobileNet、ResNet 和 AmoebaNet。它为快速移动模型和精确模型提供了更好的速度和精度的权衡。在相同的推理时间下,结合 RetinaNet 框架中的 MobileNetV2 主干网络,其性能优于目前最先进的基于 MobileNetV2 的 SSDLite 移动检测模型,精度提高了 2 AP。

凭借强大的 AmoebaNet-D 主干模型,NAS-FPN 在单次测试中达到 48.3 AP 单模型精度

NAS-FPN 的检测精度也超过了 Mask R-CNN,且所需推理时间更短。

我们的结果摘要如图 1 所示。

图 1:移动设备上精确模型 (上) 和快速模型 (下) 的平均精度 vs 每张图像的推理时间。绿色曲线突出了 NAS-FPN 与 RetinaNet 组合的结果。

方法:基于 RetinaNet 框架,搜索最佳架构

我们的方法基于 RetinaNet 框架,因为它简单有效。RetinaNet 框架有两个主要组件:主干网络(通常是最先进的图像分类网络) 和特征金字塔网络 (FPN)。该算法的目标是为 RetinaNet 找到一个更好的 FPN 架构。图 2 显示了 RetinaNet 架构。

图 2:具有 NAS-FPN 的 RetinaNet。在我们的方法中,特征金字塔网络将由一个神经结构搜索算法来搜索。主干模型和用于类和边界框预测的子网络遵循了 RetinaNet 的原始设计。FPN 的架构可以堆叠 N 次,以获得更高的精度。

为了找到一个更好的 FPN,我们利用了 B. Zoph 等人提出的神经结构搜索框架 [44]。神经结构搜索利用强化学习训练一个控制器 (controller),在给定的搜索空间中选择最优的模型结构。controller 利用搜索空间中子模型的精度作为奖励信号来更新其参数。因此,通过反复试验,controller 学会了随着时间的推移生成更好的架构。正如之前的研究所指出的,搜索空间对于架构搜索的成功起着至关重要的作用。

接下来,我们将为 FPN 设计一个搜索空间来生成特征金字塔表示。为 FPN 的可伸缩性 (即,这样一个 FPN 架构就可以在 RetinaNet 中重复堆叠),在搜索过程中,我们还强制 FPN 自身重复 N 次,然后连接成一个大型架构。我们将这个特征金字塔结构称为 NAS-FPN。

架构的搜索空间

在搜索空间中,特征金字塔网络由许多 “合并单元” 组成,这些单元将许多输入层组合成 RetinaNet 的表示。

特征金字塔网络

特征金字塔网络以多尺度特征层为输入,在相同尺度下生成输出特征层,如图 2 所示。

合并单元 (Merging cell)

在以往的目标检测工作中,一个重要的发现是,需要在不同尺度上 “合并” 特征。跨尺度连接允许模型将具有强语义的高级特性和具有高分辨率的低级特性结合。

我们提议 merging cell,这是 FPN 的一个基本构建块,将任意两个输入特性层合并到一个输出特性层中。

在我们的实现中,每个 merging cell 接受两个输入特性层 (可能来自不同 scale),应用处理操作,然后将它们组合起来,生成一个所需规模的输出特性层。

构建 merging cell 的过程如图 3 所示。

图 3:merging cell 中需要四个预测步骤。

每个 merging cell 有 4 个预测步骤:

  • 步骤 1:从候选项中选择一个特征层;
  • 步骤 2:从候选项中选择另一个特性层,无需替换;
  • 步骤 3:选择输出特性分辨率
  • 步骤 4:选择一个二进 op,将步骤 1 和步骤 2 中选择的 hi 和 hj 组合起来,生成具有步骤 3 中选择的分辨率的特征层。

在步骤 4 中,我们在搜索空间中设计了两个二进操作,sum 和 global pooling,如图 4 所示:

图 4:Binary operations

实验和结果

我们在实验中使用了 RetinaNet 的开源实现。实验设置细节请参考原论文。

模型在 COCO train2017 上进行训练,大部分实验采用 COCO val2017 进行评估。在表 1 中,我们报告了 test-dev 的准确度,以便与现有方法进行比较。

表 1:使用 NAS-FPN 和其他最先进的检测器的 RetinaNet 在 COCO 的 test-dev set 上的性能比较

架构搜索找到的特征金字塔结构

什么是好的特性金字塔结构?我们希望通过可视化所发现的架构来阐明这个问题。

在图 7 (b-f) 中,我们绘制了在 RL 训练过程中奖励逐渐提高的 NAS-FPN 架构。

图 7:NAS-FPN 架构图。

图 7 中,每个点代表一个特征层。同一行的特征层具有相同的分辨率。分辨率在自底向上下降。箭头表示内部层之间的连接。图中左侧是输入层。金字塔网络的输入用绿色圆圈标记,输出用红色圆圈标记。(a) 基线 FPN 架构。(b-f) 通过对 RNN 控制器的训练进行神经结构搜索发现的 7-cell NAS-FPN 结构。(f) 我们在实验中使用的 NAS-FPN。

可扩展的特征金字塔结构

在本节中,我们展示了如何通过调整 (1) 主干模型、(2) 重复金字塔网络的数量和 (3) 金字塔网络的维数来控制模型容量。我们将讨论这些调整如何权衡计算时间和速度。

叠加金字塔网络。

我们的金字塔网络有一个很好的特性,它可以通过叠加多个重复的架构来扩展成更大的架构。

在图 8a 中,我们显示了普通 FPN 架构的叠加并不总是提高性能,而 NAS-FPN 的叠加显著提高了精度。

这个结果突出了我们的搜索算法可以找到可扩展的架构,这可能很难手工设计。

图 8:通过 (a) 叠加金字塔网络,(b) 改变主干结构,(c) 增加金字塔网络的特征维数,可以控制 NAS-FPN 的模型容量。

采用不同的主干架构。

在对象检测架构的准确性和速度之间进行权衡的一种常见方法是更改主干架构。

图 8b 显示了不同主干上的 NAS-FPN 的性能。在 MobilenetV2 上应用 NAS-FPN 时,我们在 160B FLOPs 时得到了 36.6 AP 的精度。

调整特征金字塔网络的特征维数。

另一种提高模型容量的方法是在 NAS-FPN 中增加特征层的特征维数。图 8c 显示了采用 ResNet-50 主干架构的 NAS-FPN 中 128、256 和 384 个特征维度的结果。毫无疑问,增加特征维可以提高检测性能。

高检测精度的架构

利用可扩展的 NAS-FPN 架构,我们讨论了如何在保持效率的同时构建准确的模型。

图 9 显示,与现有方法相比,NAS-FPN 与最先进的 Mask R-CNN 模型一样精确,且计算时间更短。

图 9:检测精度与推理时间 (左)、FLOPs (中) 和参数 (右) 的关系。

结论

本文提出利用神经结构搜索进一步优化用于目标检测的特征金字塔网络的设计过程。在 COCO 数据集上的实验表明,神经结构搜索发现的架构,名为 NAS-FPN,具有良好的灵活性和高性能,可用于构建精确的检测模型。在广泛的精度和速度权衡方面,NAS-FPN 在许多主干架构上产生了显著的改进。

论文地址:

arxiv.org/pdf/1904.07…


新智元 · AI_era

每日推送 AI 领域前沿学术解读、AI 产业最新资讯

戳右上角【+ 关注】↗↗

喜欢请分享、点赞吧