(ECCV-2018)用于视频识别的多光纤网络

用于视频识别的多光纤网络

paper题目:Multi-Fiber Networks for Video Recognition

paper是新加坡国立大学发表在ECCV 2018的工作

paper地址:链接

Abstract.

本文旨在降低时空深度神经网络的计算成本,使其运行速度与 2D 对应物一样快,同时在视频识别基准上保持最先进的准确性。为此,提出了新颖的多光纤架构,它将复杂的神经网络分割成轻量级网络或贯穿网络的光纤的集合。为了促进光纤之间的信息流,进一步合并了多路复用器模块,最终得到了一种架构,该架构将 3D 网络的计算成本降低了一个数量级,同时提高了识别性能。广泛的实验结果表明,多光纤架构显著提高了现有卷积网络在图像和视频识别任务中的效率,在 UCF-101、HMDB-51 和 Kinetics 数据集上实现了最先进的性能。提出的模型需要的计算量分别比I3D和R(2+1)D模型少9倍和13倍,但获得了更高的精度。

关键词:深度学习,神经网络,视频,分类,动作识别

1 Introduction

在深度卷积神经网络的帮助下,图像理解在过去几年中取得了显著的成功。值得注意的例子包括用于图像分类的残差网络、用于目标检测的FastRCNN和用于语义分割的Deeplab等等。然而,用于视频分析的深度神经网络的进展仍然落后于它们的图像对应物,这主要是由于额外的计算成本和时空输入的复杂性。

视频的时间维度包含有价值的运动信息,这些信息需要被纳入视频识别任务。一种流行且有效的时空推理方法是在深度神经网络架构中使用时空或 3D 卷积来学习视频表示。 3D 卷积是 2D(空间)卷积的扩展,它具有也沿时间维度进行卷积的三维内核。通过简单地替换 2D 空间卷积核,3D 卷积核可用于构建 3D CNN(卷积神经网络)。这使模型保持端到端的可训练性。最先进的视频理解模型,例如Res3D和I3D以这种简单的方式构建他们的CNN模型。他们使用多层 3D 卷积来学习强大的视频表示并在多个数据集上实现最高准确度,但计算开销很高。尽管最近的方法使用分解的3D卷积或组卷积来降低计算成本,但时空模型的使用对于实际的大规模应用来说仍然令人望而却步。例如,常规 2D CNN 需要大约 10 秒 GFLOP 来处理单个帧,而 3D CNN 目前需要超过100 GFLOP来处理单个剪辑。作者认为基于剪辑的模型应该能够在相同的计算成本下在视频识别任务中优于基于帧的模型,因为它具有时空推理的附加能力。

在这项工作中,本文的目标是大幅提高 3D CNN 的效率,同时保持其在视频识别任务中的最新精度。没有分解 3D 卷积滤波器,而是关注 3D CNN 的另一个计算开销来源,即大输入张量。本文提出了一种稀疏连接的架构,即多光纤网络,其中架构中的每个单元本质上由多个光纤组成,即相互独立的轻量级 3D 卷积网络,如图 1© 所示。因此,整个网络是稀疏连接的,计算成本降低了大约 N N N倍,其中 N N N是使用的光纤数量。为了改善跨光纤的信息流,进一步提出了一个轻量级多路复用器模块,如果需要,它可以在并行光纤之间重定向信息,并附加在每个残差块的头部。这样,以最小的计算开销,可以在多个光纤之间共享表示,并增加模型的整体容量。

本文的主要贡献可以总结如下:

  1. 提出了一种高效的多光纤架构,通过评估其用于图像识别的 2D 卷积神经网络来验证其有效性,并表明它在嵌入常见的紧凑模型时可以提高性能。

  2. 将提出的架构扩展到时空卷积网络,并提出了多光纤网络(MF-Net),用于学习具有显著降低计算成本的鲁棒视频表示,即比当前状态低大约一个数量级。sota 3D 模型。

  3. 在多个视频识别基准上评估多光纤网络,并在 Kinetics、UCF-101 和 HMDB51 数据集上以数倍降低的计算成本优于最近的相关方法。

2 Related Work

在视频模型方面,最成功的方法利用深度学习,可以分为两大类:基于空间或 2D 卷积的模型和包含时空或 3D 卷积的模型。

采用基于 2D CNN 的方法的主要优点是它们的计算效率。此类别中最成功的方法之一是双流网络架构。它由两个 2D CNN 组成,一个处理帧,另一个处理光流。两种模态的特征在最后阶段融合,实现了高视频识别准确率。多种方法已经扩展或合并了双流模型,并且由于它们建立在 2D CNN 上非常有效,通常每帧需要不到10 GFLOPS。在最近一种非常有趣的方法中,CoViAR通过直接使用压缩帧中的运动信息并跨帧共享运动特征,进一步将计算量平均减少到每帧 4.2 GFLOP。然而,由于这些方法依赖于预先计算的运动特征来捕获时间依赖性,它们的性能通常比 3D 卷积网络差,特别是当大型视频数据集可用于预训练时,例如 Sports-1M和Kinetics。

相反,3D 卷积神经网络自然能够以端到端的方式从原始视频帧中学习运动特征。由于他们使用对空间和时间信息进行建模的 3D 卷积核,而不是仅对空间信息进行建模的 2D 核,因此可以学习和捕获运动和外观之间更复杂的关系。 C3D是成功应用于学习鲁棒视频特征的早期方法之一。它构建了一个类似VGG的结构,但使用 3 × 3 × 3 3 \times 3 \times 3 3×3×3内核来捕获运动信息。 Res3D通过利用残差连接来简化学习过程,更进一步。同样,I3D提出使用Inception Network作为骨干网络而不是残差网络来学习视频表示。然而,由于新添加的时间维度,与常规 2D CNN 相比,所有方法的计算成本都很高。最近,S3D和R(2+1)D提出使用一个 1 × 3 × 3 1 \times 3 \times 3 1×3×3卷积层,然后是另一个 3 × 1 × 1 3 \times 1 \times 1 3×1×1卷积层来逼近一个全秩 3D 内核来减少全秩 3 × 3 × 3 3 \times 3 \times 3 3×3×3卷积层的计算,同时实现更好的精度。然而,这些方法的计算成本仍然比它们的 2D 竞争对手高出一个数量级,这使得在实际应用中训练和部署它们变得困难。

利用spare连接来降低计算成本的想法与为移动设备构建的低功耗网络以及其他最近的方法类似,这些方法试图通过分组卷积或通过学习连接来疏散网络的一部分。然而,本文提出的网络是为解决视频识别任务而建立的,并提出了不同的策略,这些策略也可以使现有的低功耗模型受益,例如MobileNet-v2。在第3节和第4节中进一步讨论了本文架构的不同之处,并与最相关和最先进的方法进行了比较。

3 Multi-Fiber Networks

利用时空卷积模型的成功表明,拥有跨越空间和时间维度的内核至关重要。然而,时空推理是有代价的:卷积核和输入输出张量都大了好几倍。

本节首先描述提出的模型的基本模块,即多光纤单元。该单元可以有效减少网络内的连接数,提高模型效率。它是通用的并且与 2D 和 3D CNN 兼容。为了更清楚地说明,首先通过将其嵌入到 2D 卷积架构中并评估其对图像识别任务的效率优势来证明其有效性。然后,介绍了它的时空 3D 对应物,并讨论了视频识别任务的具体设计选择。

3.1 The Multi-fiber Unit


所提出的多光纤单元基于高度模块化的残差单元,易于训练和部署。如图 1(a) 所示,传统的残差单元使用两个卷积层来学习特征,这很简单,但计算量很大。为了看到这一点,让 M i n M_{i n} Min表示输入通道的数量, M mid  M_{\text {mid }} Mmid 表示中间通道的数量, M out  M_{\text {out }} Mout 表示输出通道的数量。那么这两层之间的连接总数可以计算为
#  Connections  = M i n × M mid  + M mid  × M o u t ( 1 ) \# \text { Connections }=M_{i n} \times M_{\text {mid }}+M_{\text {mid }} \times M_{o u t} \quad(1) # Connections =Min×Mmid +Mmid ×Mout(1)

为简单起见,忽略了输入特征图和卷积核的维数,它们是恒定的。公式 (1) 表示连接数与网络宽度成二次方,因此将单元宽度增加 k k k倍会导致 k 2 k^{2} k2倍的计算成本。

图1

图 1. 从 ResNet 到多光纤。 (a) 具有两个 3 × 3 3 \times 3 3×3卷积层的残差单元。 (b) 传统的多路径设计,例如ResNeXt。 © 多光纤设计由多个分离的轻质残差单元组成,称为光纤。 (d) 所提出的多光纤架构,带有一个多路复用器,用于在分离的光纤之间传输信息。 (e) 多路复用器的架构细节。它由两个线性投影层组成,一个用于降维,另一个用于升维。

为了减少对整体计算成本至关重要的连接数量,将复杂的残差单元分割成 N N N个平行且分离的路径(称为光纤),每个路径都与其他路径隔离,如图 1(c)。这样,单元的整体宽度保持不变,但连接数减少了 N N N倍:
#  Connections  = N × ( M i n / N × M m i d / N + M m i d / N × M out  / N ) = ( M i n × M m i d + M m i d × M out  ) / N . \begin{aligned} \# \text { Connections } &=N \times\left(M_{i n} / N \times M_{m i d} / N+M_{m i d} / N \times M_{\text {out }} / N\right) \\ &=\left(M_{i n} \times M_{m i d}+M_{m i d} \times M_{\text {out }}\right) / N . \end{aligned} # Connections =N×(Min/N×Mmid/N+Mmid/N×Mout /N)=(Min×Mmid+Mmid×Mout )/N.
除非另有说明,所有的实验都设N = 16。正如在下面的实验中所展示的,这样的切片策略直观上简单而有效。然而,与此同时,切片将每条路径与其他路径隔离开来,并阻止任何信息流通过它们。这可能导致数据表示的学习能力有限,因为一条路径不能访问和利用从其他路径学习的特征。为了恢复部分学习能力,最近的部分使用切片的方法,如ResNeXt、Xception和MobileNet选择切片层的一小部分,并且仍然使用全连接的部分。大多数层(> 60%)仍未分层,并主导计算成本,成为效率瓶颈。例如,ResNeXt在每个单元的开头和结尾使用全连接的卷积层,并且只对第二层进行切片,如图1(b)所示。然而,这些未分离的层控制了计算成本并成为瓶颈。不同于仅切片层的一小部分,本文切片整个残差单元,产生多个光纤。为了促进信息流,我还附加了一个轻量级的瓶颈组件,称之为多路复用器,它以残差的方式跨光纤工作。

多路复用器充当路由器,重定向和放大所有光纤的特性。如图 1(e) 所示,多路复用器首先使用 1 × 1 1 \times 1 1×1卷积层从所有光纤中收集特征,然后使用以下 1 × 1 1 \times 1 1×1卷积层将它们重定向到特定光纤。使用两个 1 × 1 1 \times 1 1×1层而不是一个层的原因是为了降低计算开销:将第一层输出通道的数量设置为比其输入通道小 k k k倍,这样总成本将减少与使用单个 1 × 1 1 \times 1 1×1层相比,因子为 k / 2 k / 2 k/2。多路复用器内的参数是随机初始化的,并通过端到端的反向传播自动调整,以最大限度地提高给定任务的性能增益。在每一层之前使用批量归一化和 ReLU 非线性。图 1(d) 显示了完整的多光纤网络,其中所提出的多路复用器连接在多光纤单元的开头,用于从其他并行光纤中提取的路由特征。

注意到,尽管提出的多光纤架构旨在减少 3D CNN 的连接数量以减轻高计算成本,但它也适用于 2D CNN,以进一步提高现有 2D 架构的效率。为了证明这一点并验证所提出架构的有效性,首先对 2D 图像分类任务进行了多项研究。

3.2 Justification of the Multi-fiber Architecture


通过将所提出的多光纤架构应用在用于图像分类的 2D CNN 和 ImageNet-1k 数据集上,研究了所提出的多光纤架构的有效性。在以下研究中,使用最流行的 2D CNN 模型之一、残差网络 (ResNet-18)和计算效率最高的ModelNet-v2作为主干 CNN。

实现基于在 32 个 GPU 的集群上使用 MXNet发布的代码。初始学习率设置为 0.5 并呈指数下降。使用 1,024 的批量大小并训练网络进行 360,000 次迭代。正如先前的工作所建议的,使用较少的数据增强来获得更好的结果。由于上述训练策略与基线方法中使用的不同,在他们的论文中报告了复制结果和报告的结果,以进行公平比较。

图 2 中的训练曲线绘制了 ImageNet-1k 在最后几次迭代期间的训练和验证准确度。可以观察到,使用提出的多纤维 (MF) 单元的网络在迭代次数相同的情况下,可以始终如一地实现比基线模型更高的训练和验证精度。此外,所得模型的参数数量更少,效率更高(见表 1)。这表明嵌入所提出的 MF 单元确实有助于减少模型冗余,加速学习过程并提高整体模型泛化能力。考虑到“MF嵌入”网络的最终训练精度明显高于基线网络,并且所有网络模型采用相同的正则化设置,MF单元也被证明能够提高基线网络的学习能力。

图 2.分别针对 (a) ResNet-18 和 (b) MobileNet-v2 主干的 ImagaNet-1k 数据集上的训练和验证准确度。红线代表提出的多光纤单元模型的性能。黑线显示了使用与本文的方法完全相同的训练设置复制的基线模型的性能。线条粗细表示验证集或训练集(较细的)上的结果。

图2

表 1 显示了 Imagenet-1k 验证集的结果。通过简单地用提出的多纤维残差单元替换原始残差单元,在模型尺寸更小(9.6M 对 11.7M)和更低的 ResNet-18 上将 Top-1/Top-5 精度提高了 2.9%/1.9% FLOP(1.6G 对 1.8G)。性能提升也代表了更高效的低复杂度 MobileNet-v2:引入多光纤单元还将其 Top-1/Top-5 精度提高了 0.8%/0.3%,模型尺寸更小(6.0M vs. 6.9M ) 和更低的 FLOPs (578M vs. 585M),清楚地证明了它的有效性。注意到,由于批量大小、学习率和更新策略的不同,复制的 MobileNet-v2 的准确度略低于报告的准确度。但是在相同的训练策略下,复制的 ResNet-18 比报告的高 1.8%。

表 1. ImageNet-1k 验证集的效率比较。 “MF”代表“多光纤单元”,Top-1/Top-5 精度在 224 × 224 224 \times 224 224×224单中心裁剪上进行评估。 “MF-Net”是我们提出的网络,其架构如图 2 所示。ResNeXt 行显示了设计的 ResNeXt-26 模型的结果,该模型的 FLOPS 数量与 MF-Net 大致相同。

表1

表 1 的两个底部部分进一步显示了MF-Net的消融研究,关于光纤数量 N N N和使用/不使用多路复用器。正如我们所看到的,增加光纤的数量会提高性能,而在移除多路复用器单元时性能会显著下降,这表明了在光纤之间共享信息的重要性。总体而言,看到2D多光纤网络的性能与更大的 ResNet-50一样好,它具有 25.5M 参数并需要 4.1 GFLOPS。

3.3 Spatio-temporal Multi-fiber Networks


在本小节中,将多光纤架构扩展到时空输入,并提出一种用于 3D 卷积网络和视频识别任务的新架构。时空多光纤网络的设计遵循“ResNet-34”模型,通道数量略有不同,以降低处理视频的 GPU 内存成本。特别是,减少了第一个卷积层的通道数,即“Conv1”,并增加了后续层的通道数,即“Conv2-5”,如表 2 所示。这是因为特征图前几层具有高分辨率,并且在训练和测试中消耗的 GPU 内存比后面的层成倍增加。

表 2. 多光纤网络架构。 “2D MF-Net”将图像作为输入,而“3D MF-Net”将帧(即视频剪辑)作为输入。注意,复杂性是用 FLOP 评估的,即浮点乘法加法。 “3D MFNet”的步幅用“(temporal stride, height stride, width stride)”表示,“2D MF-Net”的步长用“(height stride, width stride)”表示。

表2

详细的网络设计如表 2 所示,首先设计了一个 2D MF-Net,然后将其 2D 卷积核“膨胀”为 3D 卷积核以构建 3D MF-Net。 2D MF-Net 用作初始化 3D MF-Net 的预训练模型。最近的几项工作提倡可分离卷积,它使用两个单独的层来代替一个 3 × 3 3 \times 3 3×3层。尽管它可能会进一步降低计算成本并提高准确性,但考虑到视频识别应用,由于 GPU 内存消耗高,不使用可分离卷积。

图 3 显示了从 2D 到 3D 的“膨胀”后每个 3D 多纤维单元的内部结构。注意到所有的卷积层都使用 3D 卷积,因此输入和输出特征包含一个额外的时间维度来保存运动信息。

猜你喜欢

转载自blog.csdn.net/wl1780852311/article/details/124567346
今日推荐