参考链接:https://blog.csdn.net/huang_nansen/article/details/87207312
提到轻量级神经网络,大家都会提到MobileNet V1 V2 和 ShuffleNet V1 V2,似乎较少看到大家提到PeleeNet,网上搜到的结果也不多,这篇博客会简单介绍一下PeleeNet以及以它为backbone的检测网络Pelee,还有它的前身DenseNet。

1. DenseNet
这里推荐一篇博文,讲解DenseNet很详细:

https://blog.csdn.net/u014380165/article/details/75142664/

DenseNet发表于2017年的一篇论文Densely Connected Convolutional Networks ,该网络的创新点在于对特征的充分利用,与ResNet相比,DenseNet对特征的利用更加充分,并且通过bottleneck和transition layers降低了计算量。

网络结构图:

图中为一个包含5个层的Dense block我们可以看出,在一个Dense block中,上一层不止会连接下一层,还会连接之后的所有层,并且在Dense block最后,会添加Transition layer来缩小计算量。

跳跃连接是一种解决梯度消失的好方法,ResNet中就使用了这种方法来解决梯度消失。

ResNet中的跳跃连接可以用下面的公式表示,其中H表示非线性变换。

与ResNet不同的是,Dense的非线性变换包含了之前的所有层。

DenseNet的具体网络结构如下:

可以看到,在Dense Block之间,作者使用了Transition layer,一个Transition layer包含一个BN层,一个1x1卷积核的卷积层(卷积核个数为输入个数的一半)和一个2x2的平均池化层。由于网络中后一层与前面所有层相连,到深层网络时,通道数非常大,会导致计算量非常大,作者使用1x1卷积缩小通道数的同时结合了通道间的信息,使用平均池化缩小特征图,降低了计算量。以DenseNet-169为例,Dense Block(3)中第32层需要输入为1248通道,其中一个分支连接另一个分支的输出,另一个分支首先使用bottleneck(1x1卷积)将1248通道缩小为128通道,再进行32通道的3x3卷积,输出的结果与另一个分支相连,得到1248+32=1280通道的特征图,为了进一步缩小计算量,在输入Dense Block(4)之前,作者使用Transition layer,将Dense Block(3)的输出用1x1的卷积缩小为640通道的特征图,并使用2x2,步长为2的平均池化层缩小特征图为原来的一半大小。

2.PeleeNet
PeleeNet是以DenseNet为基础的变型,目的是为了将网络轻量化,应用于移动设备。

网络的主要思想有以下五点:

(1) Two-Way Dense Layer

作者借鉴GoogleNet中多尺度的方法,与Dense Block中的层结合,设计出两路稠密层,一条通道使用1个1x1的卷积核升维,然后接1个3x3的卷积层降维,另一个通道使用1x1卷积升维后,使用2个3x3卷积降维,目的是与另一个通道具有不同感受野。

(2) Stem layer

作者在网络开头使用Stem layer,在增加少量计算量的同时,极大的提升了网络的表达能力。

(3) Dynamic Number of Channels of Bottleneck Layer

在DenseNet中,每一个Dense Block的层中的bottleneck层的通道数都为固定值,作者发现这会导致网络开头一些层中的bottleneck的通道数远超过输入通道数,导致计算量增大。在PeleeNet中,作者动态的设置bottleneck层的通道数。

(4) Transition Layer without Compression

作者发现Transition Layer使用一半输入通道数,会降低网络的表达能力,PeleeNet中Transition Layer的通道数与输入通道数一致。

(5) Composite Function

使用后激活方法代替前激活方式,将relu放在最后,方便后期bn层与conv层结合,提升计算速度。(不知是否理解错误,在官方DenseNet caffe中,relu是放在bn层之后的,也就是后激活方式)

peleeNet模型结构如下:

3. Pelee
PeleeNet作者还提出了以PeleeNet为基础的轻量级检测网络Pelee,与以VGG为基础网络的SSD相比,为了降低计算量,作者使用19x19大小特征图的层作为SSD的第一层预测层。

预测层大小分别为:19 x 19, 10 x 10, 5 x 5, 3 x 3, 1 x 1

MobileNet 同样未使用38 x 38的特征图作为预测层,但添加了2 x 2的预测层来保持6尺度SSD检测。

在我的应用场景中,Pelee的表现远超出了ShuffleNet V2-SSD的表现,也有可能是调参之前没烧香,继续调试中。
————————————————
版权声明:本文为CSDN博主「huang_nansen」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/huang_nansen/article/details/87207312

轻量级检测网络Pelee和DenseNet相关推荐

  1. ICCV2019 | 旷视提出轻量级目标检测网络ThunderNet

    ICCV2019 | 旷视提出轻量级目标检测网络ThunderNet 本文作者:Liyang 作者学校:复旦大学 论文地址:https://arxiv.org/pdf/1903.11752.pdf 源 ...

  2. 基于轻量级卷积网络的小目标检测--轻量级骨干网络部分

    基于thundernet框架+dlanet网络+shufflenetv2卷积模块的小目标检测--轻量级骨干网络 前言 1 骨干网络框架DSNet(dlanet网络+shufflenetv2) 1.1 ...

  3. RefineDetLite:腾讯提出轻量级高精度目标检测网络

    点击我爱计算机视觉标星,更快获取CVML新技术 前几天腾讯公布了一篇论文RefineDetLite: A Lightweight One-stage Object Detection Framewor ...

  4. 轻量级实时目标检测网络--ThunderNet:轻量级实时检测网络

    网络的整体结构 网络的整体结构包括,backbone部分和detection 部分,骨干网络是SNet,这个网络i是基于shuffleNetV2进行修改得到的.网络的检测部分,利用了压缩的RPN网络, ...

  5. 基于物联网流量指纹的安全威胁轻量级检测方法

    [摘  要]针对传统物联网深度包流量检测效率过低问题,提出一种基于物联网流量指纹的安全威胁轻量级检测方法.首先采用数据重构的方法获取流量时空数据,然后采用深度学习的方法提取流量数据时空特征(即流量数据 ...

  6. C++检测网络端口是否被占用

    C++检测网络端口是否被占用 最近在使用Nginx搭建Web服务器,Nginx(发音同 engine x)是一款轻量级的 Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在 ...

  7. 全网最最最轻量级检测网络 yolo-fastest 快速上手

    文章目录 0x01 Yolo-Fastest 0x02 Prepare step1 clone step2 make step3 run darknet 0x03 Train step1 获取权重文件 ...

  8. CMD——ping及用其检测网络故障

    Ping命令全称Packet Internet Grope,即因特网包探测器.通过调用ICMP(因特网控制报文协议),发送一份ICMP回显请求给目的主机,并等待返回ICMP回显应答.一般用来测试源主机 ...

  9. 一种投影法的点云目标检测网络

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 文章导读 本文来源于早期的一篇基于投影法的三维目标检测文章<An Euler-Region-Pr ...

最新文章

  1. 安卓系列七(广播机制)
  2. 【 Notes 】RFID Preliminary Introduction
  3. 新的html页面拼接类库(简易的模板引擎)
  4. MemoryStream的一些问题
  5. 记录git命令:本地创建项目后如何上传到github上
  6. 控制反转IOC与依赖注入DI
  7. Vue 开发中常见报错与处理
  8. 这种反爬虫手段有点意思,看我破了它!
  9. 20220228:力扣第282场周赛(下)
  10. 大牛总结的 Git 使用技巧,写得太好了!
  11. C#获取当前时区转换方法
  12. svn合并不同树_SVN分支与合并【超详细的图文教程】(转载)
  13. python—Django面试题汇总
  14. 基于虚拟仿真技术的数字化工厂管理系统
  15. 【一年总结】记我的大一生活
  16. Excel随机 除法 打印版下载
  17. 批量生成Code128- C条码
  18. 计算机音乐我还是曾经那个少年,我还是曾经的那个少年什么歌曲
  19. linux 校园网 自动认证,使用 Padavan 路由器实现校园网自动 Web 认证
  20. AU降噪 李兴兴

热门文章

  1. linux中wait与waitpid的差别
  2. Linux 文件系统的目录结构
  3. TCP/IP详解--第十一章
  4. 利用FreeNas创建WebDAV共享并实现ssl加密
  5. linux非lvm分区在线扩容,怎么给不是LVM的根分区扩容
  6. openstack neutron-fwaas 中的几个概念
  7. mysql 常用命令集_mysql 常用命令集锦[绝对精华]
  8. 反编译得到的java文件好多错误 val$query什么意思_这部分代码有错么?一直提示输入框$(#msg).val()得到的值未定义...
  9. MavenSelenium测试自动化教程
  10. java免费低代码开发平台,steedos-platform