PVANET:深层轻量级神经网络在实时目标检测的中的应用

摘  要

这篇文章展示了本文在多类目标检测工作中,通过适应性的结合近来的新型技术使得计算成本最小化,从而得到最高标准的精度。按照一般的算法“CNN特征提取+候选目标+ROI分类”,本文重点是重新设计特征提取部分,因为候选区域部分没有昂贵的计算并且分类部分可以通过一般的技术进行计算压缩,比如删节版SVD。本文的设计原则是“更多层更少的通道”并且采用一些建设模块包括串联的ReLU,Inception和HyperNet。设计的网络是深层且薄的并且利用batch归一化、剩余连接以及基于平稳检测的学习率方案进行训练网络。本文在有名的目标检测标准数据库中得到稳固的结果:VOC2012 82.5%mAP(第二名),并且在单核英特尔i7-6700KCPU的机器中速度为750ms/图像,在NVIDIA Titan X GPU上为46ms/图像。理论上,相比VOC2012的赢家——ResNet-101,本文的网络需要的仅是其12.3%的计算消耗。

引 言

尽管网络压缩和量化方面的工作给出的结果前途无量,但是在网络设计阶段减少计算成本依然是个重要的问题。这篇文章给出了用于目标检测的轻量级的特征提取网络架构,即PVANET,这种网络相比其他最高水平的系统,在不降低精确率的情况下依然能进行实时目标检测:

设计的原则是“更多的层更少的通道”。另外,本文的网络采用最近建立的block并且其中一些在目标检测工作中的有效性还未得到验证:

  • 串联改正的线性单元(C.ReLU)[2]在本文的CNN早期阶段(例如网络输入的最开始的一些层)得到应用,从而在精度没有损失的情况下将计算的数目降低一半。
  • Inception[3]是在其余的子网络特征生成中用到。一个Inception模块输出不同大小的感受野的激活,从而在先前层增加多种感受野尺寸。本文观察到累积的Inception模块能捕捉更广的尺寸不同的目标,比一个卷积链更有效。
  • 本文采用的多尺度表征的思想比如HyperNet[4],即结合一些中间输出使得可以同时考虑多级细节以及非线性。

本文将给出我们薄而深的网络可以利用batch归一化、剩余连接以及基于平稳检测的学习率方案有效训练网络。

网路设计细节

2.1  C.ReLU: 特征提取中早期的建设块

C.ReLU是受到对于CNN中间激活模式的有趣观察启发而来。早期阶段,输出节点是“成对”的比如一个节点的激活是另一个点的对立面。基于此项结论,C.ReLU可以将输出通道的数目减少一半,并且可以利用对立面简化同样输出的串接从而加倍减少,在精度不损失的情况下早期阶段得到2倍的加速。

图1说明了本文的C.ReLU实现方法。相比未做改动的C.ReLU,本文在串联之后加入伸缩和平移使得每个通道的斜率和激活阈值能够区别于它对立的通道。

PVANET:深层轻量级神经网络在实时目标检测的中的应用_第1张图片

2.2  Inception: 特征提取中的剩余建设块

图2清楚地显示Inception可以轻松实现这两种需求。1x1卷积是关键因素,保留上一层层的感受野。仅仅是增加输入模式的非线性,就能够降低一些输入特征的感受野的增长从而可以轻松捕捉小型的目标。图3说明了本文的Inception实现方法。5x5的卷积替换两个3x3卷积的序列。

PVANET:深层轻量级神经网络在实时目标检测的中的应用_第2张图片

2.3 HyperNet: 多尺度中间输出的串接

在特征提取中结合精准的细节和高度抽样的信息有助于候选区域网络和分类网络,从而检测不同尺寸的目标。然而,对所有抽取的层直接串联可能会带来冗余信息并且需要的计算要求更高,因此本文需要谨慎设计不同抽取层的数目以及抽取的层数目。

本文设计的选择不同于ION [6]和HyperNet [4],他们结合了1)最后层2)两个中间层,尺寸是最后层的2倍和4倍。本文选择中等大小的层作为参考尺寸(=2倍),并且串联4倍尺寸的层以及最后一层进行缩小(池化)和放大(线性插入)。

2.4  深层网络训练

众所周知,网络越深训练越麻烦。本文采用residual结构[1]解决此问题。不同于原始的residual训练思想,本文将剩余连接加进最初的层从而稳定本文深层网络结构的后期部分。

本文在所有ReLU激活层之前另外增加了Batch归一化[5]。Min-batch采样统计应用于预训练阶段,并且而后使用移动平均统计作为固定伸缩-平移的参数。

学习率策略对于成功训练网络十分重要。本文对于动态控制学习率的策略是基于平稳期检测[1]。本文度量损失的移动平均,如果在某个迭代阶段其改善的值能够低于一个阈值,那么将其视为“处于平稳期”。无论平稳期何时检测到,学习率按一个连续因子下降的。在实验中,本文的学习率策略使得精度得到显著提升。

结合本文的特征提取网络的Faster R-CNN

  表1显示了PVANET的整体结构。在早期阶段(conv1_1,…,conv3_4), C.ReLU能使自己适应卷积网络从而将KxK conv计算消耗降低一半。在KxK conv之前或之后加入1x1卷积层,目的是为了减少输入尺寸然后增大表示能力。

PVANET:深层轻量级神经网络在实时目标检测的中的应用_第3张图片

三种来自conv3_4(降维)、conv4_4和conv5_4(升维)的中间输出结合成512-通道的多尺度输出特征(convf),作为Faster R-CNN模块的输入。

实验结果

4.1  VOC2007

  表2展示了本文模型不同配置的精度。本文另外测量了边界框投票的性能[10],并且没有使用迭代回归算法。

PVANET:深层轻量级神经网络在实时目标检测的中的应用_第4张图片

Faster R-CNN由全连接层组成,也就是可以轻松地进行无损压缩[11]。本文将“4096 - 4096”的全连接层通过truncated singular value decomposition (SVD)压缩成“512- 4096 - 512 - 4096”,一些微调的工作其后进行。压缩网络达到81.2% mAP并且在31.3 FPS (+9.6 FPS)中运行。

4.2  VOC2012

    表3总结了PVANET+与一些来自PASCAL VOC2012排行榜中最高水平网络的[1,8,12]的对比。

PVANET:深层轻量级神经网络在实时目标检测的中的应用_第5张图片

将精度和计算按成本综合考虑,本文的PVANET+是排行榜中最有效的网络。

结论

这篇文章中,本文证明了当前的网络冗余较高因此本文设计一种薄而轻的网络,能足够的能力应对复杂是觉得工作。对于最近深度学习领域新的技术取其精华以及联合使用使得而本文能够重新设计Faster R-CNN架构的特征提取模块从而使得计算效率的最大化。即使提出的proposal网络是设计用于目标检测的工作,但本文相信本文的设计原则可以广泛应用与其他任务比如人脸识别和语义分析。

本文的网络设计完全独立于网络压缩和量化技术之外。近来所有的压缩和量化技术都是用于本文的网络并且能进一步在实际应用中增加性能。作为一个例子,本文证实一种简单的技术比如truncated SVD基于本文的网络都能够提升运行速度。

你可能感兴趣的:(PVANET:深层轻量级神经网络在实时目标检测的中的应用)