华为EI研究分享【IJCV2022】深入研究有效感受野:学习尺度可迁移的可部署目标检测架构

举报
yd_287941940 发表于 2022/10/08 21:04:24 2022/10/08
【摘要】 随着卷积神经网络(CNNs)的蓬勃发展,目标检测领域取得了很大的进展。许多基于深度卷积网络的目标检测器被提出,它们被广泛应用于现实世界的如自动驾驶、增强现实中的人脸检测、行人和车辆检测等工业任务中。在上述实际场景中,检测框架往往在移动端或嵌入式设备上工作,因此对精度和速度同时具有严格的要求。虽然许多复杂的网络和框架可以实现很高的精度,但这些方法引入了大量额外参数,需要更大的内存开销和更多的推理时间


abs.JPG

1. 问题提出

随着卷积神经网络(CNNs)的蓬勃发展,目标检测领域取得了很大的进展。许多基于深度卷积网络的目标检测器被提出,它们被广泛应用于现实世界的如自动驾驶、增强现实中的人脸检测、行人和车辆检测等工业任务中。在上述实际场景中,检测框架往往在移动端或嵌入式设备上工作,因此对精度和速度同时具有严格的要求。虽然许多复杂的网络和框架可以实现很高的精度,但这些方法引入了大量额外参数,需要更大的内存开销和更多的推理时间,使这些方法在真实应用场景下的实用性大大降低。理想的目标检测算法应当可以做到既显著提高检测框架的准确性,同时不引入额外的参数、内存和时间开销。

2. 算法背景和动机


1.png


图1 ResNet-50网络中最后一层相对于输入特征图的膨胀系数分布。

 

尺度变化是目标检测中最具挑战性的问题之一。一些方法 [1] 采取预定义不同大小的锚定框各自处理不同大小的目标,另一些方法 [2, 3] 采用空洞卷积来扩大感受野,以便在更大的范围内捕捉信息。还有一些相关工作显式地将大尺度的动态采样插入到卷积操作之中,例如 Dai 等人 [4] 设计了一个可变形卷积来预测下个卷积的每个采样点的位移。然而,这些方法包含两个限制: (1)一些方法是基于启发式的预定义规则,因此对于各种场合的鲁棒性和通用性受到了限制。(2)算法对硬件不友好,并且在推理过程中速度缓慢。许多目标检测方法在实际部署中受到这些约束的阻碍,推理速度缓慢,特别是在移动或嵌入式设备上。DetNet [2] 和RFBNet [3] 等方法在很大程度上是启发式引导的,因此仅能部分处理尺度变化。虽然在可变形卷积 [4] 中可以有效地动态预测卷积的采样偏移量以应对各种尺度目标的检测,但是由于在可形变卷积中引入了每个位置的双线性操作,造成了不少额外的推理耗时。

此外,这些方法中卷积的网格采样位置是动态的、局部的,这导致在实时应用中数据访存和计算优化的难度极高,因为预先可知的位置及全局的网格采样规律对于硬件优化至关重要。例如,通过TensorRT优化后,一个具有固定网格采样位置的普通卷积网络可以加速至少4倍,而 DCN [4] 或SAC [5] 等卷积由于其动态和局部采样机制,不被包括 TVM、TensorRT 在内的任何底层库支持,给这些方法的工业推广带来了巨大的限制。

如图1所示,在本文中,我们发现卷积层的膨胀系数影响了不同神经元区域内不同

位置之间的连接强度,从而进一步影响了神经元的感受野,因此通过改变膨胀系数的分布,可以得到理想的有效感受野。我们证明了这种难以优化的局部密集型动态采样并不是完全必须的,给定数据分布,可以通过在每层学习出理想的全局尺度,多层一起相互协作,也可以使网络获得多尺度感知的能力。因此,我们首先训练一个全局尺度学习网络 (GSL) 来学习检测器每层网络的全局膨胀系数的分布。根据 GSL 学习到的系数分布我们可以确定给定数据集下理想的网络架构雏形。由于 GSL 学到的膨胀系数往往不是整数,将导致卷积不可避免地涉及到双线性插值,引入额外耗时。为了解决这一问题,我们提出了一种尺度分解方法将卷积操作的空间上的插值转化为通道数上的插值。一旦完成尺度分解,我们就可以设计出一个可部署的且对尺度敏感的网络结构(FD),同时我们还发现 FD 网络以 GSL 网络的权重当作预训练进行微调能取得更好的效果。

我们的整个网络可以很好地处理大尺度的物体,同时对硬件优化保持友好,保持快速的推理过程。因此,我们还利用TensorRT优化了所提出的FD模型,以证明我们网络的低延迟。实验结果表明,我们的方法可以提高模型在移动设备或嵌入式设备的运行速度。此外,我们修改了特征金字塔网络的结构,以缓解我们在使用特征金字塔结构的检测器时的大尺度目标检测的问题。最后,我们在学习到的膨胀系数分布的指导下,证明了我们的GSL方法对不同采样策略的正交性作用。

 

3. 方法框架

图2中展示了我们方法的整体流程。我们的方法主要有三个步骤: (1) 我们设计了一个全局尺度学习(GSL)模块附属在原本要优化的网络结构上,该模块可以学习每个3×3 卷积在高宽两个方向的全局膨胀系数;(2) 利用尺度分解算法,我们将学习到的非整数膨胀系数转换为整数的膨胀系数的线性组合,并从空间上的插值映射到通道维度上的插值;(3) 最后,我们利用分解后的膨胀系数构建出快速部署(FD)网络的结构,并可以迁移GSL 模型的权重以加速训练。通过这种方法,我们可以获得一个只有固定和整数膨胀系数的高性能卷积结构,不仅有利于硬件加速,推理速度快,精度也很高。

同时,考虑到我们的方法的小缺陷,我们为大尺度目标检测改进了特征金字塔(FPN)结构,我们还分析了我们的GSL模块对采样策略的正交性作用。

2.png

图2 流程示意图

3.1 全局尺度系数学习网络

本节设计的 GSL 全局尺度学习模块如图2左侧所示。该模块中可分为两个部分,一个是全局尺度预测器,另一个是带有双线性插值采样能力的卷积。全局尺度预测器将宽度为W、高度为H、通道数为C的输入特征图输入到全局池化层中得到一个通道为C的一维张量,之后一个线性层负责接收通道C的全局特征预测出该层在高宽两个方向上的全局膨胀系数(d_h, d_w)。

基于预测的尺度(d_h, d_w),我们对输入进行采样,并将它们传递给卷积。例如,d定义了在3x3卷积中输入相对于输出神经元的相对位置,为了简单起见,输入和输出通道设置为1,则有:

eq1.png

给定卷积核权重ω和宽度为W、高度为H的输入特征图x,其位置(h_0, w_0)的输出特征为:

eq2.png

由于x在位置的坐标(h, w) = (h_0 + id_h, w_0 + jd_w)可能是分数的,我们通过双线性插值对输入特征x(h,w), 的值进行采样,得到:

eq3.png

其中h*\in{\floor{h}, \ceil{h}}, w*\in{\floor{w}, \ceil{w}},并且\lambda(p,q) = max(0, 1 - |p - q|).

以深度残差网络 ResNet 为例,我们将 GSL 模块分阶段应用于各个 3 × 3 卷积层包括第 3、4、5 个阶段。我们也尝试将其应用到第 1 和第 2 个阶段上,但是在此两个阶段中学习的膨胀系数非常接近于 1,因此学习全局尺度的意义不大,故去掉。

3.2 尺度稀疏分解算法

如图3所示,我们提出了一种尺度分解方法可以做到在保持感受野强度分布几乎一致的情况下,将非整数的膨胀系数转化为整数的膨胀系数,以实现推断时的高效性。以膨胀系数为非整数d的一维卷积(卷积核大小为 3)为例,输入特征图有个C_{in}通道,输出特征图有C_{out}通道。对于输出特征图上的每个位置的每个通道{y_j}j\in{C_{out}}的神经元,我们可以计算出其输出值:

eq4.png

其中\lambda表示相对位置,取值为{-1, 0, 1}。

d为非整数时,双线性采样型卷积会选取目标点临近两个位置的元素作为输入,以插值系数进行双线性插值。插值表达式如下:

eq5.png

我们将通道数也考虑进去,于是输出特征图上的一个神经元与相对位置为和连接强度分布分别为(1-\alpha)C_{in}C_{out}和\alphaC_{in}C_{out}。

为了保持连接强度分布不变且避免空间上的插值,我们选择将空间插值投影到输出通道数上的插值。具体来讲,我们将膨胀系数为非整数的卷积进行拆分为两个子卷积,各自的膨胀系数为原来的非整数的膨胀系数的下界和上界,即\lambda\floor{d}和\lambda\ceil{d}。下界子卷积的膨胀系数为\lambda\floor{d},拥有个输出通道(1-\alpha)C_{out},上界子卷积的膨胀系数为\lambda\ceil{d}拥有个输出通道\alphaC_{out}。我们计算以此种结构存在的卷积的输出神经元关于输入的连接强度:

eq67.png

3.png

图3 尺度分解示意图

4.png

图4 权重迁移示意图

3.3 权重迁移

由于 FD 网络的感受野强度分布是与 GSL 网络十分一致,因此从原理上 FD网络的初始化中可以利用 GSL 网络中的模型预训练权值。由于结构上发生了异变,与传统的直接复制预训练模型的权值方法不同,本文中 FD 网络的权值迁移也需要进行分解。对于未被分解的卷积,FD 模型可以直接使用 GSL 网络预训练模型中使用对应层的权值进行初始化。对于被分解的卷积,我们将 GSL 网络中的权重在输出通道上按插值系数分为(1-\alpha)和\alpha份,前(1-\alpha)份额的权重复制给下界子卷积,后\alpha份额的权重复制给上界子卷积,如图4所示。在膨胀系数小于 1 的特殊情况下,FD 网络可能会生成 1 × 1、1 × 3 和 3 × 1 子卷积,3 × 3 的预训练卷积权重只复制对应位置的值进行初始化。

 

  1. 主要实验结果

我们提供了MS COCO数据集上的实验结果(Lin et al. 2014)。

t1.png

表1 利用GSL网络中学习到的全局尺度和GSL网络迁移的权重在COCO minival上的实验结果

t2.png

表2 在不同类型的检测器上或在不同的数据分割中,不同块的学习尺度的分布

5.png

图5 在不同的检测框架中,学习到的全局值的平均值

t3.png

表3 用TensorRT比较有无硬件加速的不同backbone的延迟和加速比

t4.png

表4 与过去的一阶段和两阶段检测器的比较

 

参考文献:

[1] S. Ren, K. He, R. Girshick, and J. Sun. Faster r-cnn: Towards real-time object detection with region proposal networks. In Advances in neural information processing systems(NIPS), 2015.

[2] LI Z, PENG C, YU G, et al. Detnet: Design backbone for object detection. Proceedings of the European Conference on Computer Vision(ECCV), 2018.

[3] LIU S, HUANG D, WANG Y. Receptive field block net for accurate and fast object detection. Proceedings of the European Conference on Computer Vision(ECCV), 2018.

[4] DAI J, QI H, XIONG Y, et al. Deformable convolutional networks. Proceedings of the IEEE International Conference on Computer Vision(ICCV), 2017.

[5] ZHANG R, TANG S, ZHANG Y, et al. Scale-adaptive convolutions for scene parsing[C]. Proceedings of the IEEE International Conference on Computer Vision(ICCV). 2017.

 

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。