轻量级网络 - PVANet & SuffleNet

一. PVANet

       论文:PVANET: Deep but Lightweight Neural Networks for Real-time Object Detection    【点击下载

       Caffe代码:【Github

       设计了一种轻量级的网络,取名叫 PVANet,特点是 Channel少、Layer多,在 VOC2007 和 VOC2012  精确度分别达到了 84.9% 和 84.2%,但计算量不到采用 ResNet-101 网络的 10%。

       论文的核心要点:

1)改进的 C.ReLU

      前面几层 用到了 CReLU,Concatenated Rectified Linear Units。

      CReLU 来源于在 AlexNet 上的一个有趣的实验(参考论文【CReLU】):低层的卷积层中的一些滤波器核存在着负相关程度很高的滤波器核,而层次越高的卷积层,这一现象越不明显。作者把这一现象称为 pairing phenomenon。

      根据这种特性,通过 Negation 实现 Concatenation,在不损失精度的情况下可以减少一半计算量。

      作者基于 CReLU 进行了改进,添加了 Scale/Bias 层(见下图左),允许每个channel(通道)的斜率和激活阈值与其相反的 Channel 不同。

    

2)使用 Inception Net

      “Inception 没有广泛应用在现有网络中”,目前来看使用的确实也不少了,不纠结这个,Inception 的优点是通过不同尺度的卷积核 对应不同大小的感受野,从而适应不同大小的目标。

      上图右侧是 Inception 的网络结构,作者用两个 3*3 的 Conv 替代 5*5 的 Conv,其中 1*1 的 Conv保留特征尺度,直接连接定义 残差。

3)深度网络训练

      a)使用了 Residual Net 和 BN(Batch Norm),ResNet 与 Inception Layer 连接;

      b)通过自定义策略 “Plateu” 动态调整学习率,如果 moving average of loss 在迭代周期内低于一个预设值,触发 “on-plateau”,将学习率动态减少一个常量。

           从一般意义上来说,动态调整学习率 可以有效避免震荡,提高训练精度。

4)整体设计

      以表的形式给出各层的 Detail:

      

5)Hyper-feature concatenation

      多尺度的特征组合在很多文献中都有大量应用,文中用在目标检测上,能够对多尺度的目标进行有效检测。

      如下图所示,采用了三个不同 Scale 进行 Feature 联合。

      

       PVA 是个轻量级网络,基本能够达到实时(Titan X),对于实时系统应用的童鞋可以考虑。

【训练过程】

1)安装 Caffe 依赖库

      必要的 caffe 依赖库:

   sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
   sudo apt-get install --no-install-recommends libboost-all-dev
   sudo apt-get install libatlas-bas
  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值