Motivation:减少时空网络的计算量,保持视频分类精度的基础上,使速度尽可能接近对应网络的2D版本。

为此提出 Multi-Fiber 网络,将复杂网络拆分成轻量网络的集成,利用 fibers 间的信息流引入多路器模块。

Result:比I3D和R(2+1)D分别少9倍,13倍的计算量,但精度更高,UCF-101, HMDB-51 and Kinetics 上的 state of the art。

2D网络需要10s GFLOP来处理单帧,3D网络需要100s GFLOP处理一个clip,作者认为3D网络有能力进一步提高因为融入了时空信息。

3D卷积开销很大,与Du tran和Xie Saining提出的R(2+1)D和S3D用1x3x3, 3x1x1时空分解卷积替代3x3x3这种做法不同,因为相对其2D版本仍有数量级的复杂度,以上两种方法很难在实际应用,受low-power MobileNet-v2网络的启发以及通过分组卷积稀疏化做法的启发,作者提出稀疏连接结构,并在2D CNN图片分类上实验确认结构的有效性,后扩展为时空CNN。

(a) resnet block (b) resNeXt block (c) fibers(author) (d) 加入multiplexer 传递不同fiber间信息 (e) 两个线性层降维和升维

resNeXt的中间模块对通道分组后分别用3x3卷积,bottleneck结构+分组卷积会很大程度降低计算量。d中可以看出去除了对整个通道的1x1卷积(全连接),引入了multiplexer层弥补信息损失,将主干feature的channel全部分组后,平行的残差计算,其中每一个分支称为(fiber)

resnet两个conv的简化连接数计算,其中Min表示输入channel,Mmid,Mout等同:

如果这个运算单元channel的维数增加k倍,那么运算量将增加K的平方倍。反之,减小也是2次的减小。

对channel切分为N个并行且独立的模块后,总的简化连接的数量,可见是直接resnet模块的1/N倍,实验中N=16。

Multi-Fiber Networks 

2D图片域的验证:

1. 基于ResNet-18和MobileNet-v2的baseline,将其中的模块替换为多纤维模块

2. 重新设计了一个2D MF-Net

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

3D版本

为了降低计算量,两层卷积只有一层进行了时序上的卷积

UCF101和HMDB51上的结果

Kinetics分类结果分析

在400类中有190类准确率超过80%,349类超过50%。只有17类低于30%效果糟糕。

特别的是那些准确率高的类,其特点:

1. 相对别的类有特殊的物体/背景

2. 跨越较长时间所发生的特殊动作

识别不好的类,其特点:

通常没有可区分的物体或在长视频中目标动作持续很短

部分参考自:

知乎林天威

Multi-Fiber Networks for Video Recognition (MFNet)的更多相关文章

  1. 【ML】Two-Stream Convolutional Networks for Action Recognition in Videos

    Two-Stream Convolutional Networks for Action Recognition in Videos & Towards Good Practices for ...

  2. Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition

    Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition Kaiming He, Xiangyu Zh ...

  3. 目标检测--Spatial pyramid pooling in deep convolutional networks for visual recognition(PAMI, 2015)

    Spatial pyramid pooling in deep convolutional networks for visual recognition 作者: Kaiming He, Xiangy ...

  4. PredNet --- Deep Predictive coding networks for video prediction and unsupervised learning --- 论文笔记

    PredNet --- Deep Predictive coding networks for video prediction and unsupervised learning   ICLR 20 ...

  5. SPPNet论文翻译-空间金字塔池化Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition

    http://www.dengfanxin.cn/?p=403 原文地址 我对物体检测的一篇重要著作SPPNet的论文的主要部分进行了翻译工作.SPPNet的初衷非常明晰,就是希望网络对输入的尺寸更加 ...

  6. Multi-Agent Reinforcement Learning Based Frame Sampling for Effective Untrimmed Video Recognition

    Multi-Agent Reinforcement Learning Based Frame Sampling for Effective Untrimmed Video Recognition IC ...

  7. 深度学习论文翻译解析(九):Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition

    论文标题:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition 标题翻译:用于视觉识别的深度卷积神 ...

  8. Local Relation Networks for Image Recognition

    目录 概 主要内容 Hu H., Zhang Z., Xie Z., Lin S. Local relation networks for image recognition. In Internat ...

  9. 论文阅读笔记二十五:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition(SPPNet CVPR2014)

    论文源址:https://arxiv.org/abs/1406.4729 tensorflow相关代码:https://github.com/peace195/sppnet 摘要 深度卷积网络需要输入 ...

随机推荐

  1. python3+selenium入门01-环境搭建

    作为一个测试,在最近两年应该有明显的感觉.那就是工作变的难找,要求变的高了,自动化测试,性能测试等.没有自动化测试能力,只会点点点工作难找不说,工资也不高.所以还是要学习一些技术.首先要学习一门编程语 ...

  2. [debug]记一次竞态更新bug的解决

    公司的django项目,有一个旧接口,使用POST方法更新用户的一种记录型数据. 这个接口的历史有点长,最早的时候没有那么多需求,只会更新两个布尔字段.后来,加入一个需要高频次记录的字段.这些字段都属 ...

  3. strstr()函数的使用

    strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串.如果是,则该函数返回str2在str1中首次出现的地址:否则,返回NULL. 实例: /** *Descriptio ...

  4. Unity3D游戏开发框架-资源管理类ResourceManage

    新建文件夹:ResMgr.接着新建三个C#脚本.代码如下: IResLoadListener.cs AssetInfo.cs ResMgr.cs using UnityEngine; using Sy ...

  5. centos系统初始化配置

    .改主机名: sed -i 's#HOSTNAME=.*#HOSTNAME=u05mix06.yaya.corp#g' /etc/sysconfig/network && hostna ...

  6. 利用表格分页显示数据的js组件bootstrap datatable的使用

    前面展示了datatable的简单使用,还可以通过bootstrap结合datatable来使用,这样可以进一步美化datatable插件 <!DOCTYPE html> <html ...

  7. mgo mode说明

    mgo 是 MongoDB 的 Golang 驱动. 连接池 我们通过 Dial 函数创建一个新的 session: session, err := mgo.Dial(url) 创建的 session ...

  8. HNU 2015暑期新队员训练赛2 H Blanket

    把每个 bi *x + ri ( 0 <= ri <= ai)标记, 输出被标记 0 – N 次的个数 #include<iostream> #include<cstdi ...

  9. 【原创】大数据基础之Flume(2)Sink代码解析

    flume sink核心类结构 1 核心接口Sink org.apache.flume.Sink /** * <p>Requests the sink to attempt to cons ...

  10. [PHP]curl上传多文件

    码一下curl上传多文件的行 5.5之前版本的写法 $file = array( 'pic[0]'=>"@E:\\wwwroot\\10003\\temp_56.ini;type=te ...