百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

谷歌大脑用架构搜索发现更好的特征金字塔结构,超越Mask-RCNN等

ccwgpt 2025-07-07 15:02 3 浏览 0 评论

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

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

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

论文地址:

https://arxiv.org/pdf/1904.07392.pdf

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

这个被发现的架构被命名为 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在许多主干架构上产生了显著的改进。

论文地址:

https://arxiv.org/pdf/1904.07392.pdf

相关推荐

滨州维修服务部“一区一策”强服务

今年以来,胜利油田地面工程维修中心滨州维修服务部探索实施“一区一策”服务模式,持续拓展新技术应用场景,以优质的服务、先进的技术,助力解决管理区各类维修难题。服务部坚持问题导向,常态化对服务范围内的13...

谷歌A2A协议和MCP协议有什么区别?A2A和MCP的差异是什么?

在人工智能的快速发展中,如何实现AI模型与外部系统的高效协作成为关键问题。谷歌主导的A2A协议(Agent-to-AgentProtocol)和Anthropic公司提出的MCP协议(ModelC...

谷歌大脑用架构搜索发现更好的特征金字塔结构,超越Mask-RCNN等

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

一文彻底搞懂谷歌的Agent2Agent(A2A)协议

前段时间,相信大家都被谷歌发布的Agent2Agent开源协议刷屏了,简称A2A。谷歌官方也表示,A2A是在MCP之后的补充,也就是MCP可以强化大模型/Agent的能力,但每个大模型/Agent互为...

谷歌提出创新神经记忆架构,突破Transformer长上下文限制

让AI模型拥有人类的记忆能力一直是学界关注的重要课题。传统的深度学习模型虽然在许多任务上取得了显著成效,但在处理需要长期记忆的任务时往往力不从心。就像人类可以轻松记住数天前看过的文章重点,但目前的...

不懂设计?AI助力,人人都能成为UI设计师!

最近公司UI资源十分紧张,急需要通过AI来解决UI人员不足问题,我在网上发现了几款AI应用非常适合用来进行UI设计。以下是一些目前非常流行且功能强大的工具,它们能够提高UI设计效率,并帮助设计师创造出...

速来!手把手教你用AI完成UI界面设计

晨星技术说晨星技术小课堂第二季谭同学-联想晨星用户体验设计师-【晨星小课堂】讲师通过简单、清晰的语言描述就能够用几十秒自动生成一组可编辑的UI界面,AIGC对于UI设计师而言已经逐步发展成了帮助我们...

「分享」一端录制,多端使用的便捷 UI 自动化测试工具,开源

一、项目介绍Recorder是一款UI录制和回归测试工具,用于录制浏览器页面UI的操作。通过UIRecorder的录制功能,可以在自测的同时,完成测试过程的录制,生成JavaScr...

APP自动化测试系列之Appium介绍及运行原理

在面试APP自动化时,有的面试官可能会问Appium的运行原理,以下介绍Appium运行原理。Appium介绍Appium概念Appium是一个开源测试自动化框架,可用于原生,混合和移动Web应用程序...

【推荐】一个基于 SpringBoot 框架开发的 OA 办公自动化系统

如果您对源码&技术感兴趣,请点赞+收藏+转发+关注,大家的支持是我分享最大的动力!!!项目介绍oasys是一个基于springboot框架开发的OA办公自动化系统,旨在提高组织的日常运作和管理...

自动化实践之:从UI到接口,Playwright给你全包了!

作者:京东保险宋阳1背景在车险系统中,对接保司的数量众多。每当系统有新功能迭代后,基本上各个保司的报价流程都需要进行回归测试。由于保司数量多,回归测试的场景也会变得重复而繁琐,给测试团队带来了巨大的...

销帮帮CRM移动端UI自动化测试实践:Playwright的落地与应用

实施背景销帮帮自2015年成立以来,移动端UI自动化测试的落地举步维艰,移动端的UI自动化测试一直以来都未取得良好的落地。然而移动互联网时代,怎样落地移动端的UI自动化测试以快速稳定进行移动端的端到端...

编写自动化框架不知道该如何记录日志吗?3个方法打包呈现给你。

目录结构1.loguru介绍1.1什么是日志?程序运行过程中,难免会遇到各种报错。如果这种报错是在本地发现的,你还可以进行debug。但是如果程序已经上线了,你就不能使用debug方式了...

聊聊Python自动化脚本部署服务器全流程(详细)

来源:AirPython作者:星安果1.前言大家好,我是安果!日常编写的Python自动化程序,如果在本地运行稳定后,就可以考虑将它部署到服务器,结合定时任务完全解放双手但是,由于自动化程序与平...

「干货分享」推荐5个可以让你事半功倍的Python自动化脚本

作者:俊欣来源:关于数据分析与可视化相信大家都听说自动化流水线、自动化办公等专业术语,在尽量少的人工干预的情况下,机器就可以根据固定的程序指令来完成任务,大大提高了工作效率。今天小编来为大家介绍几个P...

取消回复欢迎 发表评论: