EfficientDet

文章阅读

Google的网络结构不错,总是会考虑计算性能的问题,从mobilenet v1到mobile net v2.这篇文章主要对近来的FPN结构进行了改进,实现了一种效果和性能兼顾的BiFPN,同时提供了D0-D7不同的配置,计算量和精度都逐级增大.相比maskrcnn,retinanet,更低的计算量还能达到更好的效果.

BiFPN

主要有亮点:高效的双向不同尺度的特征融合,带权重的特征融合

多尺度特征的融合

​ 首先是各种FPN结构的演进和比较,(a)普通的FPN只有自顶向下的连接 (b)PANet还加了自底向上的连接,(c)NAS-FPN通过搜索找到一种不规则的连接结构.(d-f)是本文探讨的结构,(d)所有的尺度使用最全的连接,计算也最复杂,(e)PANet简化,去除只有一个输入的结点,(f)本文最终的BiFPN结构

  • PANet效果好于FPN和NAS-FPN,计算代价也更高
  • 如果一个结点本身没有融合的特征,那么对以特征融合为目标的结构贡献就不大(why?).所以(e)中移除了P3,P7的中间结点
  • 同一尺度的输入和输出又加了一个连接,因为计算量不大.得到(f)
  • (f)中虚线框内作为一层,会重复多次,以得到high-level feature fusion.

加权融合

从Pyramid attention networks得到启发,不同尺度的特征的贡献是不一样的,所以连接时需要加上权重,而权重通过网络学到的.

文章比较了三种加权的方法,Fast normalized fusion相比Softmax-based fusion方法,效果一致,但速度更快.

网络结构

backbone取自ImageNet-pretrained EfficientNet.P3-P7接本文的BiFPN Layer,重复多次.class and box分支共享权重.

为了适应不同的精度和性能,文章提出了Compound Scaling方法,只需一个参数控制input size, backbone, BiFPN layers和channels, Box/class depth.得到了D0-D7不同计算量的模型.

实验和试验结果

  • D0与YOLOv3同样精度下,FLOPs少28x
  • D1与RetinaNet , Mask-RCNN比较,参数少8x,FLOP少25x,精度类似.
  • D7达到51mAP,同时更快参数更少.

Ablation Study

  • 相比Resnet50,EfficientNet B3 backbone提升3mAP.BiFPN比FPN提升4mAP
  • 加权比不加权连接,提升0.45mAP.
  • Fast Normalized Fusion对比Softmax,表现接近,速度快30%

[阅读笔记]EfficientDet的更多相关文章

  1. 阅读笔记 1 火球 UML大战需求分析

    伴随着七天国庆的结束,紧张的学习生活也开始了,首先声明,阅读笔记随着我不断地阅读进度会慢慢更新,而不是一次性的写完,所以会重复的编辑.对于我选的这本   <火球 UML大战需求分析>,首先 ...

  2. [阅读笔记]Software optimization resources

    http://www.agner.org/optimize/#manuals 阅读笔记Optimizing software in C++   7. The efficiency of differe ...

  3. 《uml大战需求分析》阅读笔记05

    <uml大战需求分析>阅读笔记05 这次我主要阅读了这本书的第九十章,通过看这章的知识了解了不少的知识开发某系统的重要前提是:这个系统有谁在用?这些人通过这个系统能做什么事? 一般搞清楚这 ...

  4. <<UML大战需求分析>>阅读笔记(2)

    <<UML大战需求分析>>阅读笔记(2)> 此次读了uml大战需求分析的第三四章,我发现这本书讲的特别的好,由于这学期正在学习设计模式这本书,这本书就讲究对uml图的利用 ...

  5. uml大战需求分析阅读笔记01

    <<UML大战需求分析>>阅读笔记(1) 刚读了uml大战需求分析的第一二章,读了这些内容之后,令我深有感触.以前学习uml这门课的时候,并没有好好学,那时我认为这门课并没有什 ...

  6. Hadoop阅读笔记(七)——代理模式

    关于Hadoop已经小记了六篇,<Hadoop实战>也已经翻完7章.仔细想想,这么好的一个框架,不能只是流于应用层面,跑跑数据排序.单表链接等,想得其精髓,还需深入内部. 按照<Ha ...

  7. Hadoop阅读笔记(六)——洞悉Hadoop序列化机制Writable

    酒,是个好东西,前提要适量.今天参加了公司的年会,主题就是吃.喝.吹,除了那些天生话唠外,大部分人需要加点酒来作催化剂,让一个平时沉默寡言的码农也能成为一个喷子!在大家推杯换盏之际,难免一些画面浮现脑 ...

  8. Hadoop阅读笔记(五)——重返Hadoop目录结构

    常言道:男人是视觉动物.我觉得不完全对,我的理解是范围再扩大点,不管男人女人都是视觉动物.某些场合(比如面试.初次见面等),别人没有那么多的闲暇时间听你诉说过往以塑立一个关于你的完整模型.所以,第一眼 ...

  9. Hadoop阅读笔记(四)——一幅图看透MapReduce机制

    时至今日,已然看到第十章,似乎越是焦躁什么时候能翻完这本圣经的时候也让自己变得更加浮躁,想想后面还有一半的行程没走,我觉得这样“有口无心”的学习方式是不奏效的,或者是收效甚微的.如果有幸能有大牛路过, ...

随机推荐

  1. ARTS-S govendor

    govendor init govendor add +external

  2. Orleans 配置端口的一些坑

    Orleans的配置有点乱的 整理了下 .Configure<EndpointOptions>(options => { //这里的IP决定了是本机 还是内网 还是公网 option ...

  3. 每周一练 之 数据结构与算法(Queue)

    这是第二周的练习题,这里补充下咯,五一节马上就要到了,自己的计划先安排上了,开发一个有趣的玩意儿. 下面是之前分享的链接: 1.每周一练 之 数据结构与算法(Stack) 2.每周一练 之 数据结构与 ...

  4. 解决Vue报错:TypeError: Cannot read property 'scrollHeight' of undefined

    如图: 解决问题的根源: 这个DOM元素找不到,或者是初始化的时候没有初始化成功,总之就是这个DOM元素并没有创建成功就进行了操作.保证这个DOM元素创建成功了就不会存在这个问题了.判断当前DOM元素 ...

  5. eclipse右下角一直在loading jar文件,如何关闭?

    通常导入项目的时候,右下角会显示download一些jar包或者其它内容,速度非常慢,如果你长得很帅很美可能更拖网速,最后可能会超时报错. 大招来了!!!   首先,打开windows->pre ...

  6. 12个超好用的IntelliJ IDEA 插件!你用过几个?

    一.前言 IntelliJ IDEA 如果说IntelliJ IDEA是一款现代化智能开发工具的话,Eclipse则称得上是石器时代的东西了. 其实笔者也是一枚从Eclipse转IDEA的探索者,随着 ...

  7. 更新Preloader和uboot

    在SoCEDS环境下编译和更新preloader和uboot程序的方法   前面有介绍preloader在HPS boot过程中的的作用,接下来讲述下用户在SoCEDS环境下改如何编译preloade ...

  8. yum换源,rpm包下载,源码包安装

    一.yum更换源 yum自带源地址一般斗是国外的,可能下载速度略慢,我们可以自己换成国内的源,比如163等.比如配置163的yum源:1.先删除默认源文件dvd.repo # rm -f /etc/y ...

  9. 记录我的 python 学习历程-Day08 文件的操作

    文件操作的初识 用 python 代码对文件进行各种操作. 基本构成: 文件路径:path 打开方式:读.写.追加.读写.写读-- 编码方式:utf-8 / gbk / gb2312-- f = op ...

  10. SQL- SQL查询检索阶段一

    一 说明 如果是初学者,建议去网上寻找安装Mysql的文章安装,以及使用navicat连接数据库,以后的示例基本是使用mysql数据库管理系统: 二 准备前提 需要建立一张学生表,列分别是id,名称, ...