paper:ThunderNet: Towards Real-time Generic Object Detection

论文链接:https://arxiv.org/abs/1903.11752?context=cs.CV

开源代码:https://github.com/qixuxiang/Pytorch_Lightweight_Network 1

不得不说,ThunderNet 做的速度非常快。文章也有很多insight的东西。

官方的定义是这样的:第一个实现了在ARM平台上的实时检测器和最快的单线程速度。

个人觉得,输入分辨率和网络骨干能力的耦合度这一点是值得思考的。目前已经开源了,非常值得学习。


摘要:

移动平台上的实时通用对象检测是一项至关重要但具有挑战性的计算机视觉任务。然而,先前基于CNN的检测器遭受巨大的计算成本,这阻碍了它们在计算受限的场景中的实时推断。在本文中,我们研究了两级探测器在实时通用检测中的有效性,并提出了一种名为ThunderNet的轻量级两阶段目标检测器。在骨干部分,我们分析了先前轻量级骨架的缺点,并提出了一种用于物体检测的轻量级骨架。在检测部分,我们利用极其高效的RPN和检测头设计。为了生成更具辨别力的特征表示,我们设计了两个高效的架构块,上下文增强模块和空间注意模块。最后,我们研究了输入分辨率,主干和检测头之间的平衡。与轻型一级探测器相比,ThunderNet在PASCAL VOC和COCO基准测试中仅占计算成本的40%,性能卓越。没有花里胡哨,我们的模型在基于ARM的设备上以24.1 fps运行。据我们所知,这是第一个在ARM平台上报告的实时检测器。


Model

基本架构:

1、ThunderNet使用320×320像素作为网络的输入分辨率。

2、整体的网络结构分为两部分:Backbone部分和Detection部分。网络的骨干部分为SNet

3、SNet是基于ShuffleNetV2进行修改得到的。 网络的检测部分,利用了压缩的RPN网络,修改自Light-Head R-CNN网络用以提高效率。 并提出Context Enhancement Module整合局部和全局特征增强网络特征表达能力。 并提出Spatial Attention Module空间注意模块,引入来自RPN的前后景信息用以优化特征分布。


Backbone

SNet49用于更快的推理;
SNet535用于更好的精度;
SNet146用于更好的速度/精度权衡。

1、在实践中,观察到输入分辨率应该与骨干网络的能力相匹配。 具有大输入的小骨干和具有小输入的大骨干都不是最佳的选择,作者使用320*320大小的输入图像。

2、骨干网络需要具有两大特点,第一:大的感受野很重要。第二:浅层特征位置信息丰富,深层特征区分度更大,因此需要兼顾这两种特征。而作者认为主流的轻量级网络违法了上述原则,于是结合上述特性对ShuffleNetV2进行修改并命名为SNet。


Detection

Detection部分改进1:

  • 检测部分沿用了Light-Head R-CNN网络的结构,虽然该网络使用轻量级的检测器,但当与上述的SNet这个更轻量级的骨干网络耦合时它仍然太重,并且会引起骨干网络和检测器之间的不平衡。 这种不平衡不仅导致冗余计算,而且增加了过拟合的风险。
  • 为了解决这个问题,作者使用一个5×5的深度可分离卷积(mobilenetv1中)和1×1卷积,替换原始RPN网络中的3×3的卷积。并且在RPN网络中使用的尺度大小为{32×32,64×64,128×128,256×256,512×512},anchor的长宽比为{1:2,3:4,1:1,4:3,2:1}。其余参数和Light-Head R-CNN中的一致。

Detection部分改进2(Context Enhancement Module):

  • Light-Head R-CNN网络中在骨干网络之后利用GCN:Global Convolutional Network产生更小的特征图,这虽然增加了感受野但却提升了计算复杂度,因此ThunderNet没有使用GCN。
  • 然而,感受野小且在没有GCN的情况下网络很难提取到足够的可分辨的特征信息。 为了解决这个问题,作者使用了特征金字塔网络FPN。 然而,原始的FPN结构涉及许多额外的卷积和多个检测分支,这增加了计算成本并且引起了巨大的运行时间延迟。因此,基于FPN,作者提出了Context Enhancement Module (CEM)。

关键思想:聚合多尺度局部信息和全局信息,以生成区分性更强的特征。

  • 尺度一:C4特征图上应用1×1卷积以将通道数量压缩为α×p×p = 245
  • 尺度二:C5进行上采样 + C5特征图上应用1×1卷积以将通道数量压缩为α×p×p = 245
  • 尺度三:Cglb进行Broadcast + Cglb特征图上应用1×1卷积以将通道数量压缩为α×p×p = 245 。
  • 通过利用局部和全局信息,CEM有效地扩大了感受野,并细化了薄特征图的表示能力。与先前的FPN结构相比,CEM仅涉及两个1×1卷积和fc层,这更加计算友好。

Detection部分改进3(Spatial Attention Module):

  • 关键思想:使用来自RPN学习到的知识来细化特征图的特征分布,在RoI扭曲空间维度之前显式地重新加权特征图,使得目标的特征被强烈关注。
  • 计算公式:
  • 这里θ是个尺寸变换,以匹配两组特征图中的通道数。 sigmoid函数用于约束[0,1]内的值。 最后,通过生成的特征映射对,使得CEM进行重新加权,以获得更好的特征分布。

Experiment

VOC 2007:

COCO:

【目标检测】ThunderNet: 超轻量型检测网络,旷视科技相关推荐

  1. 人脸检测江湖的那些事儿——从旷视说起

    点击我爱计算机视觉标星,更快获取CVML新技术 本文来自知乎Face++ Detection组专栏,52CV获作者王剑锋授权转载. https://zhuanlan.zhihu.com/c_10659 ...

  2. 旷视科技——身份验证、活体检测、人脸比对

    作者 | 彭建宏(旷视科技产品总监彭建宏) 人脸识别技术越来越多地应用在了各种身份验证场景,在这种看起来发生在电光火石之间的应用背后,又有哪些不易察觉的技术在做精准判别?算法又是通过何种方式来抵御各种 ...

  3. 空间金字塔池化_CVPR 2018 | 旷视科技人体姿态估计冠军论文——级联金字塔网络CPN...

    全球计算机视觉顶会 CVPR 2018 (Conference on Computer Vision and Pattern Recognition,即IEEE国际计算机视觉与模式识别会议)将于6月1 ...

  4. 旷视科技提出双向网络BiSeNet:实现实时语义分割

    转于:https://zhuanlan.zhihu.com/p/41475332 全球计算机视觉三大顶会之一 ECCV 2018 (European Conference on Computer Vi ...

  5. 亮点抢先看 | 旷视科技11篇 ICCV 2019 论文概览

    点击我爱计算机视觉标星,更快获取CVML新技术 本文转载自旷视研究院(megviir). ICCV 2019 论文如期发榜,旷视科技共有11篇论文被录取,涵盖通用物体检测及数据集.文字检测与识别.半监 ...

  6. 三名清华“天才少年”创业,旷视科技冲击IPO,阿里系持股位列第一

    人工智能独角兽旷视科技开始闯关科创板. 3月12日晚,上交所官网显示,旷视科技有限公司首次公开发行存托凭证并在科创板上市申请已获受理. 值得一提的是,旷视科技的三位联合创始人印奇.唐文斌.杨沐毕业于清 ...

  7. AI监测分析课堂背后的旷视科技:清华学霸创立,半年亏损52亿

    近日,一张在课堂中利用人工智能对学生行为进行监测分析的图片引发网友热议.图片上的两个学生正身处教室,而教室里的人工智能系统可以监测他们听讲.睡觉.举手.趴桌子.玩手机和阅读次数.开发这一监测系统的是A ...

  8. TensorFlow语义分割套件开源了ECCV18旷视科技BiSeNet实时分割算法

    (欢迎关注"我爱计算机视觉"公众号,一个有价值有深度的公众号~) Github上的开源工程Semantic Segmentation Suite(语义分割套件),由来自美国建筑智能 ...

  9. R Talk | 旷视科技孙剑博士:云、端、芯上的视觉计算

    「R Talk 」是一个深度学习专栏,将通过不定期的推送展示旷视科技的学术分享及阶段性技术成果.「R」是 Research 的缩写,也是旷视研究院的内部代号:而所有「Talk」都是来自旷视 Resea ...

最新文章

  1. 自定义request_python3下urllib.request库之Handle处理器和自定义Opener
  2. hadoop之MapReduce自定义二次排序流程实例详解
  3. 【Redis学习笔记】2018-07-11 Redis指令学习5
  4. Pytorch-使用Bert预训练模型微调中文文本分类
  5. yii2_getDb()自动切换数据库
  6. Class类---反射学习笔记(一)
  7. Currency Exchange (POJ 1860)
  8. 学python编程好就业吗_学好python编程就业真的没有压力吗?
  9. nyoj 56 阶乘中素数的个数
  10. 什么是事务ACID原则?(建议收藏)
  11. 2021-06-21>字体样式风格font
  12. 树莓派安装拼音输入法(此处为谷歌拼音输入法)
  13. 自然数简化到素数:黎曼猜想RiemannHypothesis及其解释(公号回复“黎曼猜想”下载PDF经典收藏版彩标资料)
  14. 松鼠快跑——安徽芜湖“三只松鼠”案例
  15. 千克和磅换算程序C语言,编写程序将磅转为千克。程序提示用户输入磅数,转换为千克并显示结果。一磅约等于0.454千克。...
  16. 力软下拉框多选_下拉框--可多选
  17. 怎样把PDF图片旋转90度
  18. Android View简易生成Pdf
  19. MVC用filter做权限过滤
  20. python中\t \r \s \n \f各种转移字符含义

热门文章

  1. JHOK-ZBG2漏电继电器
  2. CSDN产品周报第6期|CSDN问答新增打赏及@用户功能
  3. 3.27 网易春招第一题--击杀怪物
  4. 巧用360安全卫士卸载QQ_Simplelife_新浪博客
  5. 推荐10个超级实用的谷歌搜索技巧,让你的效率提高十倍!
  6. 培训总结系列三:洞察恋爱的心理
  7. app内图片灰色效果实现
  8. excel打开2个独立窗口_在716团队学习2个月了,我的感受:有成长,有震撼,为我打开了一扇门...
  9. php显示商品订货单,ECSHOP二次开发,在用户中心的订单详情页显示商品
  10. 【Python自动化Excel】Python与pandas字符串操作