学界 | ECCV 2018 行为识别论文笔记之多纤维网络

AI 科技评论按:本文为上海交通大学林天威为 AI 科技评论撰写的独家稿件,未经许可不得转载。

行为识别/视频分类是视频理解领域的重要方向。之前该方向的深度学习方法大致可以分为两个大类:一类是双流网络,即以 RGB 图像和光流图像作为 2D 网络两个分支的输入,再在网络的某处进行融合,典型的如 TSN;另一类则是将多帧 RGB 图像看做是 3D 输入,然后使用 3D 卷积网络进行处理,典型的如 C3D,I3D,ARTNet 等(当然也可以将光流作为 3D 网络的输入从而进一步提高效果)。

双流类方法的问题主要在于要提取光流,耗时比较多,在实际的场景中很难应用起来。所以近两年的论文更多集中在 3D 网络的研究上,3D 类方法此前的问题主要有两方面,一是 3D 卷积核的计算开销比较大,二是在效果上还是距离双流类方法有一定的距离。

ECCV2018 上,新加坡国立大学,FAIR 和 360AI 实验室合作发表了「Multi-Fiber Networks for Video Recognition」[1],代码见 PyTorch-MFNet (https://github.com/cypw/PyTorch-MFNet)。这篇论文主要针对 3D 网络的第一个问题进行了研究,具体而言,这篇论文的目的是要在保持网络效果的同时(主要对标 I3D-RGBmodel),大幅度降低网络的 FLOPs,从而提高网络的效率,使 3D 网络能够获得更多的应用场景。这篇文章提出的网络结构有点像不带 channel shuffle 模块的 ShuffleNet,其核心思想还是利用 Group Conv 来降低网络的计算开销。之前似乎没怎么参考 mobile 类模型思路来做 video classification 的工作,而计算量对于 3D 类网络又是比较重要的核心的瓶颈,所以这篇工作还是很有参考价值的。

下面开始介绍文章内容,如有不足烦请指正。

Motivation

这篇文章的核心 motivation 就是认为目前的 sota 的 3D 网络(比如 I3D 以及 R(2+1)D-34 网络)的计算量 FLOPs 都太高了。常用的 2D 卷积网络如 resnet-152 或是 vgg-16 网络大概是 10+ 的 GFLOPs,而刚刚提到的两种 3D 卷积网络则达到了 100+ GFLOPs。作者认为,当计算量相近的时候,由于 3D 网络模型能额外的学习到时空信息,clip-based 的模型(即指 3D 网络)应该要能比 frame-based 的模型(即指 2D 网络)有更好的效果。所以,这篇文章的目标就是在保持现有 sota 的 3D 模型的效果的同时,大大提高其网络效率。

多纤维网络

在方法部分,作者首先介绍了多纤维模块(Multi-Fiber Unit)的原理,然后在 2D 网络上实验了多纤维结构的有效性,最后将其推广到了 3D 网络上去。

多纤维模块

这张图介绍了从 resnet 到多纤维模块的变化过程。

(a)中的结构即是一个简单的残差模块;(b)中的则为 Multi-Path 类型的 bottleneck 模块,比如 ResNeXt 就采用了该结构。在该结构中,前后均为一个 1x1 的卷积进行降维和升维,中间则将通道进行分组,分别用几个 3x3 卷积核进行处理。这样的处理可以大大降低中间层的计算量,但是 1x1 卷积层依旧有很大的计算量。所以这篇文章提出进行更加彻底的分组,即将整个残差模块按照通道切片成多个平行且独立的分支(称为 fiber,纤维),如(c)所示。(c)中的结构在输入和输出通道数量一致的情况下,可以将理论计算量降低到 N 分之一,此处 N 为分支或者说是纤维的数量。这种更加彻底分组的加速思路和去年的 ShuffleNet 其实也有些像,区别在于 ShuffleNet 中还提出了 channel shuffle 的模块,且在中间层采用了 depth-wise conv。

如(c)所示的结构虽然效率提高了很多,但通道间缺乏信息交换,可能会损害效果。所以该文进一步提出了一个 Multiplexer 模块用来以残差连接的形式结合纤维之间的信息。该模块实际上是一个两层的 1x1 卷积,第一个卷积会将通道数量降低到 k 分之一,第二个卷积再升维,因此该模块的计算量是一层 1x1 卷积的 k/2 分之一。不过,在文章中没看到作者具体设置的 k 值。

多纤维结构有效性的验证

接下来,作者通过在 ImageNet-1k 数据集上的图片分类实验来验证所提出的多纤维结构的有效性。这里主要有两种形式,一是基于 ResNet-18 和 MobileNet-v2 的 baseline,将其中的模块替换为多纤维模块(这里具体的实现细节不是很确定);二是重新设计了一个 2D MF-Net,具体网络结构可以见论文。实验结果如下所示。

通过这个表格里面的实验结果可以看出。多纤维结构在 MobileNet-v2 和 ResNet-18 上可以在少量降低计算量和参数量的情况下,提高一定的效果,表明了多纤维模块的有效性。而 MF-Net 也在参数和计算量较低的情况下达到了不错的效果。最后一栏实验则表明了 Multiplexer 模块大概会占据 30% 的计算量,但对效果的提升也是比较明显的。

3D-多纤维网络

在确认了提出的多纤维模块的有效性后,本文就将多纤维结构推广到了 3D 网络上,并提出了 3D MF-Net。3D MF-Net 的模块结构和网络结构如下图所示:

可以看出,3D 和 2D 的多纤维模块结构基本一致,只是将卷积的维度升到了三维。为了降低计算量,两层卷积只有一层进行了时序上的卷积。

实验内容

在实验部分,本文主要做了 trained from scratch 以及 fine tuned 两类实验,分别对应 Kinetics 以及 UCF101,HMDB51 数据集。

视频分类-Trained from Scratch

在 Kinetics 数据集上,MF-Net 以比之前 3D 模型低非常多的 FLOPs 达到了更好的效果。

视频分类-Fine-tuned Models

在这部分实验中,先将模型在大数据集(Kinetics)上训练,再在小数据集(UCF-101, HMDB51)上进行 finetune。从实验结果可以看出,MF-Net 以较小的计算量达到或超过了目前 sota 的效果。本文首图可视化地展现了计算量和效果的关系,可以看出 MF-Net 较好地占据了左上角的位置,即以较小的计算量达到 sota 的效果。

论文小结

这篇文章主要是进一步优化了 Multi-Path 模块的结构,并将其用于了 3D 卷积网络,从而大大提高 3D 卷积网络的效率。在效率大大提高后,其实也更有利于我们继续将网络做的更复杂更有效,像之前的 I3D 的效率实在太差了,很难进一步增加复杂度(当然另外一方面也给大家提供了很多优化空间和写论文空间...)。一方面通过引入网络加速技巧对模型速度进行优化,一方面通过增加网络对时序建模的能力来对模型效果进行提高,应该是未来 3D 网络研究更平衡的一种发展道路吧。

参考文献

[1]Chen Y, Kalantidis Y, Li J, et al. Multi-Fiber Networks for Video Recognition[C]//Proceedings of the European Conference on Computer Vision (ECCV). 2018: 352-367.

[2] Xie S, Girshick R, Dollár P, et al. Aggregated residual transformations for deep neural networks[C]//Computer Vision and Pattern Recognition (CVPR), 2017 IEEE Conference on. IEEE, 2017: 5987-5995.

[3] Carreira J, Zisserman A. Quo vadis, action recognition? a new model and the kinetics dataset[C]//Computer Vision and Pattern Recognition (CVPR), 2017 IEEE Conference on. IEEE, 2017: 4724-4733.

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2018-10-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器之心

ECCV 2018 | 旷视科技提出GridFace:通过学习局部单应变换实现人脸校正

论文名称:《GridFace: Face Rectification via Learning Local Homography Transformations...

2194
来自专栏大数据挖掘DT机器学习

初识机器学习算法有哪些?

机器学习无疑是现在数据分析领域的一个重要内容,凡事从事IT工作领域的人都在平时的工作中或多或少的会用到机器学习的算法。 机器学习有很多算法,不过大的方面可分为两...

2933
来自专栏数据派THU

一文读懂最近流行的CNN架构(附学习资料)

来源: 机器学习算法全栈工程师 本文长度为4259字,建议阅读6分钟 本文为你介绍CNN架构,包括ResNet, AlexNet, VGG, Inception...

1K5
来自专栏深度学习入门与实践

【深度学习系列】用PaddlePaddle和Tensorflow实现GoogLeNet InceptionV2/V3/V4

上一篇文章我们引出了GoogLeNet InceptionV1的网络结构,这篇文章中我们会详细讲到Inception V2/V3/V4的发展历程以及它们的网络结...

20910
来自专栏专知

【AAAI 2018】多种注意力机制互补完成VQA(视觉问答),清华大学、香港中文大学等团队最新工作

【导读】近日,针对VQA领域中不同注意力机制(如基于自由区域的注意力和基于检测的注意力)各有利弊的现状,来自清华大学、香港中文大学和华东师范大学的学者发表论文提...

4474
来自专栏机器学习算法工程师

ResNet, AlexNet, VGG, Inception: 理解各种各样的CNN架构

作者:叶 虎 编辑:王抒伟 本文翻译自ResNet, AlexNet, VGG, Inception: Understanding various ar...

1.3K6
来自专栏人工智能LeadAI

TensorFlow从1到2 | 第一章 消失的梯度

上一主题 《TensorFlow从0到1》介绍了人工神经网络的基本概念与其TensorFlow实现,主要基于浅层网络架构,即只包含一个隐藏层的全连接(FC,Fu...

3695
来自专栏智能算法

常见面试之机器学习算法思想简单梳理

来源: tornadomeet 的博客(@tornadomeet) 链接: www.cnblogs.com/tornadomeet/p/3395593.htm...

37910
来自专栏人工智能的秘密

4种普遍的机器学习分类算法

本文主要介绍了 4 种应用比较普遍的的机器学习算法,但是机器学习算法还有其他很多不同的算法,大家感兴趣的可以自己去了解。

2510
来自专栏大数据挖掘DT机器学习

手把手教你理解EM算法原理

作者:Rachel Zhang 百度深度学习实验室RD,关注计算机视觉,机器学习,算法研究,人工智能, 移动互联网等学科和产业. 在聚类中我们经...

4039

扫码关注云+社区

领取腾讯云代金券