PVANET: Deep but Lightweight Neural Networks for Real-time Object Detection

PVANET: Deep but Lightweight Neural Networks for Real-time Object Detection

论文地址
github源码

Introduction

这篇论文是发表在2016nips上的一篇关于目标检测的论文,在这个论文之前,目标检测我个人看到效果最好的是Faster R-CNN+++(R-FCN的对比试验,+++代表添加了迭代边框回归,上下文信息和多尺度),但是Faster R-CNN+++还有一个缺点就是速度比较慢,在泰坦X上速度为3.36s一张图片。R-FCN在性能上稍微逊色,但是时间能降低到0.17s。实验结果可以看下图1。


PVANET: Deep but Lightweight Neural Networks for Real-time Object Detection_第1张图片
图 1 摘选自R-FCN table4

从图中可以看出R-FCN虽然在时间和性能上都做到很好,但是缺点还是无法做到实时的目标检测。16年ECCV的SSD和16年CVPR的YOLO虽然速度有很大的提升,但是性能又下降不少。
目标检测的baseline基本上都是沿袭一下思路: CNN featue extract + region proposal + RoI classification 。本文中,作者从CNN feature extract这个角度入手,改进了CNN提取特征的网络结构,最终达到了很好的实验效果。

  • 83.8% mAP VOC2007
  • 82.5% mAP VOC2012
  • 750ms/image i7-6700K CPU
  • 46ms/image Titan X GPU
  • 12.3 % computational cost compared to ResNet-101

个人认为,之前的工作都是fine-tuning的其他的网络结构,比如VGG, ResNet。VGG和ResNet都是在imagenet基于分类任务训练出来的,分类任务是平移不变性的,目标检测时平移变换的,用这种分类任务得到的网络结构和目标检测存在一定的矛盾,直接fine-tuning上面的网络,在目标检测任务上,效果可能会受到影响。作者的动机就是融合现有网络模型的优点,训练一个专门应用于目标检测的网络结构。

Network design

本文网络的设计原则就是: “less channels with more layers”,并且网络借鉴了其他网络的优点,主要有以下三个部分:

  • CReLU: 在低层中使用CReLU,在不损失精度的同时,将计算的时间复杂度降低一半。
  • Inception: 借鉴GoogleNet的思想,采用Inception模块,不同的卷积核代表了不同大小的感受野,提高了当前层的鲁棒性。
  • Multi-scale representation: 借鉴了HyperNet论文中多尺度的思想,融合不同层的信息。

CReLU

CReLU [14]是Wenling Shang 发表在 ICML 2016的工作,本篇同样提出了一种激活策略:


这里写图片描述

其中,[] 表示 ReLU(其他亦可)。
作者在观察第一层滤波器(filter)时发现,滤波器相位具有成对现象(pair-grouping phenomenon)。这一发现揭示了网络的底层学到了一些冗余滤波器来提取输入的正负相位信息的可能性。因此可以考虑采用适当的操作移除这些冗余滤波器。对此,作者提出了CReLU,将激活函数的输入额外做一次取反,等价于将输入相位旋转180°。这种策略可以看作在网络中加入相位的先验。实验在cifar10上观察到能以更少的参数获得性能提升。


PVANET: Deep but Lightweight Neural Networks for Real-time Object Detection_第2张图片

Inception

Inception结构使用不同大小的卷积核进行卷积运算,既可以捕捉到小目标的信息也可以捕捉到大目标的信息。这在GoogleNet还有其他相关的工作已经证实很有效。除此之外,还可以使用小的卷积核来进行代替大的卷积核,在保证感受野不变的同时,降低参数。例如图2,5*5的卷积核可以由两个3*3的卷积核代替,但是参数却又25降低到18。


PVANET: Deep but Lightweight Neural Networks for Real-time Object Detection_第3张图片
图2

本文用到的Inception结构如图3所示,在图3右图,stride变为2,feature map变为原来大小的一半。


PVANET: Deep but Lightweight Neural Networks for Real-time Object Detection_第4张图片
图 3

HyperNet

HyperNet的网络结构如图4所示:


PVANET: Deep but Lightweight Neural Networks for Real-time Object Detection_第5张图片
图4

HyperNet融合了多层的信息。但是融合多层的过程中会带来信息的冗余,导致计算量的增加。比如低层的网络中,代表了图片的一些局部特征,比如角点,小区域之类的,这些特征在图像之间并不存在很大的可区分性。如果融合较低层信息,提高了计算复杂性,性能却没有提高很多。

Training Stage

网络的结构图如表1所示:


PVANET: Deep but Lightweight Neural Networks for Real-time Object Detection_第6张图片
表1

如果网络层数过深,会存在梯度消食的问题,作者采用了残差网络的结构,添加了高速通路。激活函数使用了ReLU,但是ReLU存在均值平移的现象,所以作者在ReLU层前,添加了Batch Normalization。

Experimental result

作者在VOC2007 和VOC2012的实验结果如表2,表3所示:


PVANET: Deep but Lightweight Neural Networks for Real-time Object Detection_第7张图片
表2

PVANET: Deep but Lightweight Neural Networks for Real-time Object Detection_第8张图片
表 3

从实验结果来看,PVANET时间比R-FCN提高了3 × ,性能还略有提高。

Conclusion

作者训练了一种新的网络模型来做目标检测,利用了Inception,CReLU, hypernet, resnet的思想,不仅提高了精度,在时间上又提高了运行效率。

Reference

PVANET: Deep but Lightweight Neural Networks for Real-time Object Detection Kye-Hyeon Kim∗ , Sanghoon Hong∗ , Byungseok Roh∗ , Yeongjae Cheon, and Minje Park NIPS 2016

R-FCN: Object Detection via Region-based Fully Convolutional Networks Jifeng Dai Yi Li Kaiming He Jian Sun CVPR 2016

HyperNet: Towards Accurate Region Proposal Generation
and Joint Object Detection Tao Kong∗ Anbang Yao Yurong Chen Fuchun Sun CVPR 2016

SSD: Single Shot MultiBox Detector Wei Liu1, Dragomir Anguelov2, Dumitru Erhan3, Christian Szegedy3, Scott Reed4, Cheng-Yang Fu1, Alexander C. Berg1 ECCV 2016

你可能感兴趣的:(论文总结,目标检测)