点击上方“计算机视觉工坊”,选择“星标”

干货第一时间送达

1简介

构建在深度卷积上的Inverted bottleneck layers已经成为移动设备上最先进目标检测模型的主要构建模块。在这项工作中,作者通过回顾常规卷积的实用性,研究了这种设计模式在广泛的移动加速器上的最优性。

作者研究发现,正则卷积是一个强有力的组件,以提高延迟-准确性权衡目标检测的加速器,只要他们被放置在网络通过神经结构搜索。通过在搜索空间中合并Regular CNN并直接优化目标检测的网络架构,作者获得了一系列目标检测模型,MobileDets,并在移动加速器中实现了最先进的结果。

在COCO检测任务上,在移动CPU上MobileDets比MobileNetV3+SSDLite提升了1.7 mAP。MobileDets比MobileNetV2+SSDLite提升了1.9mAP,

在不增加延迟的情况下,在谷歌EdgeTPU上提升了3.7 mAP,在Qualcomm Hexagon DSP上提升了3.4 mAP,在Nvidia Jetson GPU上提升了2.7 mAP。此外,MobileDets即使不使用金字塔也可以在移动cpu上媲美最先进的MnasFPN,并在EdgeTPUs和dsp上实现更好的mAP分数以及高达2倍的加速。

本文主要贡献

  • 不像许多现有的专门针对移动应用的IBN层的工作,本文提出了一种基于正则卷积构建块的增强搜索空间系列。证明了NAS方法可以从这种扩大的搜索空间中获得很大的收益,从而在各种移动设备上实现更好的延迟-准确性权衡。

  • 提供了MobileDets,一组在多个硬件平台(包括手机)上具有最先进的Mobile目标检测模型。

2前人工作

2.1 Mobile Object Detection

物体检测是一个经典的计算机视觉任务,其目标是学习识别图像中感兴趣的物体。现有的目标检测器可分为2类:

  • Two-Stage检测器

  • One-Stage检测器

对于Two-Stage检测器,包括Faster RCNN, R-FCN和ThunderNet,在检测器做出任何后续预测之前,必须首先生成区域建议。由于这种多阶段的特性,Two-Stage检测器在推理时间方面并不高效。

另一方面,One-Stage检测器,如SSD、SSDLite、YOLO、SqueezeDet和Pelee,只需要通过一次网络就可以预测所有的边界框,使其成为边缘设备高效推断的理想候选。因此,在这项工作中将重点放在One-Stage检测器上。

SSDLite是SSD的一个有效变体,它已经成为最流行的轻量级检测器之一。它非常适合移动设备上的应用。高效的backbone,如MobileNetV2、MobileNetV3,与SSDLite配对,以实现最先进的移动检测结果。这两个模型将被用作baseline,以证明所提出的搜索空间在不同移动加速器上的有效性。

2.2 Mobile Neural Architecture Search (NAS)

NetAdapt和AMC是第一批尝试利用延迟感知搜索来微调预训练模型的通道数量的公司。MnasNet和MobileNetV3扩展了这一想法,以便在NAS框架中找到资源效率高的架构。通过技术的组合,MobileNetV3在移动CPU上提供了最先进的架构。作为一个互补的方向,最近有许多致力于提高NAS的搜索效率的工作。

2.3 NAS for Mobile Object Detection

大部分NAS文献主要集中于分类,只将学习到的特征提取器作为目标检测的backbone,而没有进一步的搜索。最近,多篇论文表明,通过直接搜索目标检测模型可以获得更好的延迟-精度权衡。

MnasFPN是移动检测模型的一个强大的检测NAS Baseline,它使用对移动友好的搜索空间搜索特征金字塔,极大地利用了深度可分离卷积。但是一九八存在几个因素限制了它在移动加速器上的推广:

  1. 到目前为止,深度卷积和特征金字塔在这些平台上都没有得到很好的优化,

  2. MnasFPN不搜索backbone,这是延迟的瓶颈。

相比之下,本文的工作依赖于SSD Heads,并提出了基于全卷积Backbone的搜索空间,更易于接受移动加速。

3重新回顾全卷积移动搜索空间

Are IBNs all we need ?

Inverted Bottleneck(IBN)的布局如图2所示。IBN的设计目的是减少参数和FLOPS的数量,并利用depthwise和pointwise(1x1)卷积在移动cpu上实现高效率。

然而,并非所有的FLOPS都是一样的,特别是对于EdgeTPU和dsp这样的现代移动加速器来说。例如,一个常规的卷积在EdgeTPUs上的运行速度可能比它的深度变化快3倍,即使它有7倍的FLOPS。

观察结果表明,目前广泛使用的IBN-only搜索空间对于现代移动加速器来说可能是次优的。这促使本文通过重新访问规则(完全)卷积来提出新的构建块,以丰富移动加速器的IBN-only搜索空间。具体来说,提出了2个灵活的层分别进行通道扩展和压缩,具体如下。

3.1 融合IBN层(扩展)

深度可分离卷积是IBN的关键(图2)。深度可分离卷积背后的想法是将深度卷积(用于空间维度)和点卷积(用于通道维度)的组合代替复杂的全卷积。

然而,复杂的概念在很大程度上是基于FLOPS或参数的数量来定义的,这与现代移动加速器的推理效率不一定相关。为了整合卷积,作者提出对IBN层进行修改,将其前卷积和随后的深度卷积融合为单个正则卷积(图3)。融合IBN的初始卷积使Kernel的数量增加了一个因子;这一层的扩展比例由NAS算法决定。

3.2 Tucker卷积层(压缩)

在ResNet中引入瓶颈层,降低了在高维特征图上进行大卷积的消耗。压缩比s<1的瓶颈层有:

  • 输入通道为输出通道为的1×1卷积;

  • 输入通道为输出通道为的K×K卷积;

  • 输入通道为输出通道为的1×1卷积;

作者概括了这些瓶颈(图4)通过允许初始1×1卷积比K×K卷积有不同数量的输出卷积核,并让NAS算法决定最终的最佳配置。

作者将这些新的构建块称为Tucker卷积层,因为它们与Tucker分解有关。

4架构搜索方法

本文提出的搜索空间是互补的任何神经结构搜索算法。

在实验中使用了TuNAS,因为它的可伸缩性和相对于随机baseline的可靠改进。TuNAS构建了一个one-shot模型,该模型包含给定搜索空间中的所有架构选择,以及一个控制器,其目标是选择优化平台感知的奖励功能的架构。

在搜索过程中,one-shot模型和控制器一起训练。在每一步中,控制器从跨越选择的多项分布中抽样一个随机体系结构,然后更新与抽样体系结构相关的one-shot模型权值的部分,最后计算抽样体系结构的奖励,用于更新控制器。更新内容是通过对以下奖励功能应用强化算法来实现的:

Cost Models

作者训练了一个Cost Model,——一个线性回归模型,它的特征是,对于每一层,输入/输出通道规模和层类型之间的交叉乘积的指标。该模型跨平台高保真度。线性代价模型与之前提出的基于查找表的方法有关,但只要求在搜索空间内对随机选取的模型的延迟进行基准测试,而不要求度量卷积等单个网络操作的cost。

因为R(M)是在每次更新步骤时计算的,所以效率是关键。在搜索过程中,本文基于一个小型的小批处理估计了mAP(M)的效率,并使用回归模型作为设备上延迟c(M)的替代。为了收集成本模型的训练数据,本文从搜索空间随机抽取数千个网络架构,并在设备上对每个架构进行基准测试。这在每个硬件和搜索之前只执行一次,消除了服务器类ML硬件和移动设备之间直接通信的需要。对于最终的评估,所找到的体系结构将基于实际硬件测试而不是成本模型进行基准测试。

5实验

5.1 不同硬件的实验

CPU

图5显示了pixel-1 cpu的NAS结果。正如预期的那样,MobileNetV3+SSDLite是一个强大的baseline,因为它的backbone的效率已经在相同的硬件平台上对ImageNet上的分类任务进行了大量优化。作者还注意到,在这种特殊情况下,常规卷积并没有提供明显的优势,因为IBN-only在FLOPS/CPU延迟下已经很强大了。然而,w.r.t.进行特定领域的体系结构搜索,目标检测任务在COCO上提供了不小的收益(150-200ms范围内的+1mAP)。

EdgeTPU

图6显示了以Pixel-4 EdgeTPUs为目标时的NAS结果。使用这3种搜索空间中的任何一种进行硬件感知的体系结构搜索,都能显著提高整体质量。这很大程度上是由于baseline架构(MobileNetV2)1对CPU延迟进行了大量优化,这与FLOPS/MAdds密切相关,但与EdgeTPU延迟没有很好地校准。值得注意的是,虽然IBN-only仍然提供了最好的准确性-madds权衡(中间图),但在搜索空间中使用常规卷积(IBN+Fused或IBN+Fused+Tucker)在准确性-延迟权衡方面提供了明显的进一步优势。实验结果证明了完全卷积在EdgeTPUs上的有效性。

DSP

图7显示了Pixel-4 DSP的搜索结果。与EdgeTPUs类似,很明显,在搜索空间中包含规则卷积可以在相当的推断延迟下显著改善mAP。

5.2 SOTA对比结果

6参考

[1].MobileDets: Searching for Object Detection Architectures for Mobile Accelerators

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「计算机视觉工坊」公众号后台回复:深度学习,即可下载深度学习算法、3D深度学习、深度学习框架、目标检测、GAN等相关内容近30本pdf书籍。

下载2

在「计算机视觉工坊」公众号后台回复:计算机视觉,即可下载计算机视觉相关17本pdf书籍,包含计算机视觉算法、Python视觉实战、Opencv3.0学习等。

下载3

在「计算机视觉工坊」公众号后台回复:SLAM,即可下载独家SLAM相关视频课程,包含视觉SLAM、激光SLAM精品课程。

重磅!计算机视觉工坊-学习交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有ORB-SLAM系列源码学习、3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、深度估计、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、orb-slam3等视频课程)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

详细解读 | CVPR 2021轻量化目标检测模型MobileDets(附论文下载)相关推荐

  1. 无人机下的目标检测研究(附论文下载)

    关注并星标 从此不迷路 计算机视觉研究院 公众号ID|ComputerVisionGzq 学习群|扫码在主页获取加入方式 论文信息:冷佳旭,莫梦竟成,周应华,叶永明,高陈强,高新波*. 无人机视角下的 ...

  2. 一文读懂目标检测模型(附论文资源)

    来源: 大数据文摘 本文共1443字,建议阅读5分钟. 本文为你详细介绍目标检测,并分享资源大礼包,为你的目标检测入门打下基础. 这是一份详细介绍了目标检测的相关经典论文.学习笔记.和代码示例的清单, ...

  3. ICCV2021最佳检测之一:主动学习框架较大提升目标检测精度(附论文下载)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨Edison_G 来源丨计算机视觉研究院 新框架优于基于单模型的方法,并且以一小部分计算成本与基 ...

  4. 52 个深度学习目标检测模型汇总,论文、源码一应俱全!(附链接)

    来源:AI有道 本文约2000字,建议阅读5分钟 本文给你总结52个深度学习检测模型. 标签:计算机视觉 目标检测作为计算机视觉中的一个重要分支,近些年来随着神经网络理论研究的深入和硬件 GPU 算力 ...

  5. 52 个深度学习目标检测模型汇总,论文、源码一应俱全

    本文约2000字,建议阅读5分钟 本文给你总结52个深度学习检测模型. 标签:计算机视觉 目标检测作为计算机视觉中的一个重要分支,近些年来随着神经网络理论研究的深入和硬件 GPU 算力的大幅度提升,一 ...

  6. 目前最全:52 个深度学习目标检测模型汇总,论文、源码一应俱全!

    文章来源:https://zhuanlan.zhihu.com/p/115035951 作者:红色石头 目标检测作为计算机视觉中的一个重要分支,近些年来随着神经网络理论研究的深入和硬件 GPU 算力的 ...

  7. faster rcnn论文_52 个深度学习目标检测模型汇总,论文、源码一应俱全!(附链接)...

    来源:AI有道 本文约2000字,建议阅读5分钟 本文给你总结52个深度学习检测模型. 标签:计算机视觉目标检测作为计算机视觉中的一个重要分支,近些年来随着神经网络理论研究的深入和硬件 GPU 算力的 ...

  8. 盘点热门的目标检测开源方案(附论文+代码下载)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 在2020年中,目标检测领域出现了许多优秀的工作,今天我们来聊一聊在当前热门的五大目标检测开源方案. ...

  9. OpenCV推断onnx格式目标检测模型(SSD)(附完整代码)

    OpenCV推断onnx格式目标检测模型的实例 OpenCV推断onnx格式目标检测模型的实例 OpenCV推断onnx格式目标检测模型的实例 #include <algorithm> # ...

  10. 【CVPR 2021】解决目标检测长尾分布:Adaptive Class Suppression Loss for Long-Tail Object Detection

    Adaptive Class Suppression Loss for Long-Tail Object Detection 论文简介: 具体实现: 基于类群的方法的局限性 ACSL 的实现 相比以前 ...

最新文章

  1. 用原生PHP做Blog系统-Day01
  2. VS2017专业版使用最新版Qt5.9.2教程(转载)
  3. leetcode同样的代码 网上结果和本地结果不一样_Leetcode #263
  4. python十大重点_你见过的最全面的 Python 重点
  5. FE File Explorer Pro for mac(文件管理器)3.1.1
  6. 《JAVA并发编程的艺术》之 Java并发编程实战
  7. 谷歌浏览器无法登陆百度贴吧
  8. 在word中如何设置稿纸和字帖?学会帮你省下字帖钱哟!
  9. 电商支付-使用Restful api接口集成Paypal支付方式(一)
  10. python正则匹配中文或数字_Python匹配中文的正则表达式
  11. [c#]删除PDF权限密码
  12. 为kubernetes(k8s)单独配置kubectl工具
  13. 维基百科中文语料建模
  14. 分节符的插入与删除word
  15. Ardunio——ULN2003驱动板和直流电机风扇——控制风扇转速
  16. 树莓派运行yolo fastest启用bf16加速
  17. 关于阿里巴巴icon矢量图显示空白问题
  18. java 字符补位_JavaScript 字符串数字左补位,右补位,取固定长度,截位扩展函数代码...
  19. linux乌班图做服务器,使用 Ubuntu 16.04 搭建全能服务器
  20. 医美整形机构业务流程讲解

热门文章

  1. Java输出字符串格式问题 .UnknownFormatConversionException
  2. 未能加载文件或程序集“System.Data.SQLite.DLL”或它的某一个依赖项
  3. Java 实现发送Http请求
  4. JQuery中使用cookie记住背景颜色
  5. IDEA集成Git使用教程
  6. SpringCloudAlibaba-Nacos 介绍、单机模式下搭建及基本使用
  7. ssh-key生成密钥及SSH无密码登录的配置(转载)
  8. Boost Asio run() run_one() poll() poll_one()的区别
  9. IO多路复用之select、poll、epoll介绍
  10. docker数据卷之dockerfile