最近读了Learning Spatiotemporal Features with 3D Convolutional Networks这篇文章,下面对文章内容进行简要概括。

摘要

摘要主要介绍在大规模有监督的视频数据集下训练出了一种简单且高效的三维卷积神经网络的方法来学习时空特征。且此发现具有三重的效果:

1)相比较于二维,三维卷积神经网络更适合于时空特征

2)在三维卷积神经网络中,3*3*3卷积内核是效果最好的

3)使用线性分类器学习到的特征,即C3D,在4个不同的基准测试中优于最先进的方法,并且与其它两个基准上的当前最先进的方法相当。

除此之外,特征很紧凑:仅仅使用10维就可在UCF101数据集上达到52.8%的精度,且由于ConvNets的快速推理能力,其也有很高的计算效率。最后,它也很简单且易于训练和使用。

Introduction

在视频高速、大量分享的时代,多媒体快速发展,取得了很多进步,由此,通用的视频描述符仍存在很高的需求。有效的视频描述符必须具备4个属性:通用、紧凑、高效的计算、易于实现。在本文中,提出了深度3D卷积神经网络来获取特征,然后通过简单的线性分类器进行分类,得出结果。3D ConvNets的特征将与视频中的对象、场景和动作相关的信息封装起来,使其对各种任务有用,而无需为每个任务分配模型。我们提出的C3D拥有一个好的视频描述符的性能,它通用、紧凑、简单且高效。在这篇文章中,我们的主要贡献有三点:

1)通过实验表明,C3D是很好的特征提取器,不管是在外观或者运动信息上

2)实验表明,3*3*3的卷积内核是最好的架构

3)提出的具有简单线性模型的特征优于或接近4个不同任务和6个不同基准的最佳方法(见表1)。 它们也是紧凑和高效的计算

Related Work

这部分主要介绍了其他研究人员在视频处理方面取得的成果、卷积网络和3D卷积在图像以及视频方面的应用、对比之前的方法,介绍一下我们的方法的优点。C3D卷积网络将完整的视频帧作为输入,并不依赖于任何处理,可以轻松地扩展到大数据集。

Learning Features with 3D ConvNets

1. 3D convolution and pooling

3D ConvNets 更适合学习时空特征,通过3D卷积和3D池化,可以对时间信息建模,而2D卷积只能在空间上学习特征。3D和2D的区别如下:

2D卷积网络输入图像会产生图像,输入视频输出的也是图像,3D卷积网络输入视频会输出另外一个视频,保留输入的时间信息。

我们在UCF101上进行实验,寻找最好的网络架构,在大数据库上进行验证。根据2D网络确定卷积核长*宽是3*3的,然后变化temporal depth 寻找最好的卷积核。

Notations: 

video clips size: c*l*h*w  其中,c是通道数量,l是帧长度,h是帧高,w是帧宽

3D kernel size: d*k*k  d是核时域深度,k是核空间尺寸

Common network settings:

输入:UCF101的视频片段  视频帧调整大小为128*171 为原始视频分辨率的一半,视频分割为不重叠的16帧视频片段,作为网络输入,输入维度为3*16*128*171,训练时通过抖动,维度调整为3*16*112*112。

通用的网络包括5个卷积层和5个池化层(一个卷积层后面跟着一个池化层),2个全连接层,1个softmax分类层来预测行为标签,卷积层的滤波器数量依次为:64、128、256、256、256。所有的卷积核的时域深度都是d,改变d来寻找最好的3D架构。池化核尺寸为2*2*2(除第一层),第一层为1*2*2,步长为1。两个全连接层有2048个输出,使用30个剪辑的迷你批次训练网络,初始的学习率为0.003,每4个epochs学习率除以10,训练16个epochs后停止。

Varying network architectures:

仅仅变化卷积核时域深度 di 来寻取好的3D卷积网络,采取了两种方案:1)所有卷积核时域深度相同,4个测试深度 1、3、5、7;2)卷积核深度发生变化,两种网络,一种是卷积核深度增加3-3-5-5-7,另一种是卷积核深度降低7-5-5-3-3。通过实验表明,所有网络在最后池化层的输出信号尺寸相同,也就是全连接层上有相同数量的参数。卷积核时域深度不同,卷积层参数的数量也不同,而对于全连接层百万参数,卷积层的差异很微小,网络学习能力相当,参数的微小差异不会影响网络结果。

2. Exploring kernel temporal depth

通过实验得出depth-3是最好的,卷积核最好的尺寸是3*3*3

3. Spatiotemporal feature learning

Network architecture:

3D ConvNets 有8个卷积层,内核尺寸为3*3*3;5个池化层,第一个池化核尺寸为1*2*2,后面池化核尺寸为2*2*2;2个全连接层,每层有4096个输出单元;1个softmax输出层。

Dataset:

  Sports-1M 数据集,共有1.1million视频,包括487个种类

Training:

每个视频中提取5个2秒的剪辑,调整大小为128*171,训练中通过对剪辑进行时间和空间上的抖动,随机剪裁到16*112*112大小,并以50%的概率水平翻转。最小的batch size为30,初始学习率为0.003,每迭代150k除以2,迭代1.9M停止优化。

Sports-1M classification results:

从scratch开始训练的C3D网络产生84.4%的精度,在I380K预训练模型上进行微调的C3D网络精度为85.5%,两种网络模型精度均超过DeepVideo,但C3D仍比[29]中的方法精度低5.6%。然而,这种方法在120帧的长片段上使用深度图像特征的卷积池化,因此它不能直接与在更短的片段上操作的C3D和DeepVideo相比较。

C3D video descriptor:

video--16帧长的片段,每两个连续片段8帧重叠--C3D网络提取fc6激活--对fc6激活进行平均形成4096维的视频描述符--L2标准化

What does C3D learn?

C3D首先关注前几帧的外观,并跟踪后续帧中的显著运动。

Action recognition

Dataset:
  UCF101:13, 320 videos of 101 human action categories.
Classification model:
  我们提取C3D特征,并将其输入到一个多类别线性支持向量机中,用于训练模型。实验中采取三种不同的网络:C3D trained on I380K,C3D trained on Sports-1M, and C3D trained on I380K and fine-tuned on Sports-1M.
Baselines:
  目前最好的hand-crafted features, namely improved dense trajectories (iDT)等等......
Results:
 

简单总结:单项测试结果中等;作者认为有部分网络采取了long clip,因此不具备可比性;联合Imagenet仅有很小的提升;联合iDT结果最佳,C3D相比其他网络有简单的优点
C3D is compact:
  为了估计C3D特征的紧凑度,使用PCA将特征映射到低维空间,记录在UCF101数据集上映射特征的分类精度,实验得到了最佳效果,由此认为C3D特征是紧凑的并且容易区分。

使用t-SNE将特征映射到2维空间,定性的观察得出C3D特征具备较好的泛化能力,C3D语义可分离,每个视频片段可以视为一个点,属于同一个动作的片段有相同的颜色。

Action Similarity Labeling

Dataset:
  ASLAN:3, 631 videos,432 action classes.任务是验证给定的视频对是否相同
Features:
  将一个视频划分为16帧剪辑且其中8帧是重叠的,提取每个片段C3D特征(pro3,fc7,fc6,pool5),平均每种类型特征得到视频特征,L2标准化
Classification model:
  给定一个视频对,我们计算[21]中的12个不同距离。加上4个特征类别,获取48维特征向量
  由于48个方向并非一一比较,我们分别将其标准化,得到零均值和单位方差
  最终,训练一个线性SVM在48维特征向量上分出视频对相同与否
Results:
取得了最佳表现

Scene and Object Recognition

Datasets:
  YUPENN:420 videos of 14 scene categories

Maryland:130 videos of 13 scene categories
Classification model:
  对于这两个数据集,我们使用相同的特性提取和线性支持向量机进行分类。
  我们在所有视频中滑动16帧的窗口来提取C3D特征,选择clip中出现频率最高的label作为clip的ground truth label
  如果最高频率的label出现次数少于8帧,则认为是negative label,在训练和测试期间均丢弃
  用线性SVM来训练和测试C3D特征并记录物体识别率
Results:
取得了最佳表现,说明C3D泛化能力强


Runtime Analysis

对比了C3D 和iDT [44] 以及 Temporal stream network[36] 在UCF101数据集上的运行时间,结论是 超快!!!313帧/秒

 Conclusions

实验得到卷积核时域深度;相比在各类视频分析任务中表现优异,C3D能同时对外观和运动信息建模
  C3D和线性分类器就能在不同的视频分析基准集上取得最优或接近最优的效果
  在使用中C3D特征高效、简单、紧凑、

Appendix A: Effects of Input Resolution
随着输入分辨率的提高网络参数以及训练时间都会明显增加

Appendix B: Visualization of C3D Learned Features
通过逆卷积可视化卷积过程,随机选择来自UCF101的20K clips
结果表明:前面的卷积层学习一些“低级”运动模式,如移动的边缘,斑点,短的变化,边缘方向变化,或颜色变化
更深的卷积层学习一些更大的运动模式,如转角,纹理,身体部位和轨迹
最深的卷积层学习更复杂的运动模式,如移动的圆形物体,像自行车一样的运动

Learning Spatiotemporal Features with 3D Convolutional Networks 读书笔记相关推荐

  1. 时空特征--Learning Spatiotemporal Features with 3D Convolutional Networks

    Learning Spatiotemporal Features with 3D Convolutional Networks ICCV 2015 http://vlg.cs.dartmouth.ed ...

  2. 【论文阅读】Learning Spatiotemporal Features with 3D Convolutional Networks

    [论文阅读]Learning Spatiotemporal Features with 3D Convolutional Networks 这是一篇15年ICCV的论文,本篇论文提出的C3D卷积网络是 ...

  3. 视频分类论文阅读笔记——Learning Spatiotemporal Features With 3D Convolutional Networks

    论文:Learning Spatiotemporal Features With 3D Convolutional Networks 作者:FaceBook AI研究院 来源:ICCV2015 代码: ...

  4. 动作识别经典C3D论文Learning Spatiotemporal Features with 3D Convolutional Networks的介绍

    关于论文Learning Spatiotemporal Features with 3D Convolutional Networks的介绍 这篇论文提出了一个比较高效的C3D网络来提取视频的空间时间 ...

  5. 论文笔记之C3D(Learning Spatiotemporal Features with 3D Convolutional Networks)

    通过构造了对称的3×3×3卷积核来利用3D卷积学习时空特征,计算效率高. 论文地址:http://vlg.cs.dartmouth.edu/c3d/c3d_video.pdf 1. 摘要 本文提出了一 ...

  6. Tensorflow 2.0 视频分类(四) C3D 3D convolutional Networks

    目录 论文学习 摘要 介绍 相关研究 网络结构 超参设置 卷积核深度 C3D网络 sport-1M数据集上表现 网络可视化 动作识别分类 网络compactness(紧密度?) ASLAN动作识别数据 ...

  7. P3D——《Learning Spatio-Temporal Representation with Pseudo-3D Residual Networks》概述

    <Learning Spatio-Temporal Representation with Pseudo-3D Residual Networks>概述 引言: 最近阅读了本篇发表在ICC ...

  8. 【论文阅读】Learning Spatio-Temporal Representation with Pseudo-3D Residual Networks

    [论文阅读]Learning Spatio-Temporal Representation with Pseudo-3D Residual Networks 虽然这是一篇17年ICCV的论文,但是这篇 ...

  9. 3D游戏设计读书笔记二

    3D游戏设计读书笔记二 一.简答题 • 解释 游戏对象(GameObjects) 和 资源(Assets)的区别与联系.   GameObjects是一个具体的实例,Assets是包括诸多游戏素材的资 ...

最新文章

  1. 初窥runtime的作用
  2. 技术安全与伦理的较量:论道AI的能与不能 | AI Time
  3. 捡垃圾、跳大绳、种花、写字,波士顿动力机器狗迎来重大升级
  4. 【Android 逆向】x86 CPU 架构体系 ( 堆内存 | 栈内存 | 函数调用 )
  5. c++对象长度之空类(1)
  6. debian10树莓派4安装mysql_树莓派4上如何安装 Raspbian Buster
  7. 一台微型计算机性能的主要参数及其意义,微型计算机的主要性能指标.ppt
  8. 华为fusionsphere整体架构及其各组件功能_华为数据之道:面向业务的信息架构建设...
  9. 40XXX队技术员交接事项(1):基本资料交接
  10. python模型预测结果 取整_一日一技:Python里面的//并不是做了除法以后取整
  11. WPF中自定义MarkupExtension
  12. mysql 注入攻击与防御_防御SQL注入和XSS攻击
  13. ocr 识别 github 源码
  14. Lu 微分方程参数优化(拟合)
  15. 基于Thinkphp开发的网页点餐收银系统SAAS模式
  16. 解决redhat vmware安装后鼠标不能使用问题
  17. 株洲c语言培训机构,株洲好就业的学c语言程序设计,计算机专业地址
  18. Eclipse解决SVN版本冲突
  19. web前端面试(一)
  20. 万兴PDF程序安装及注意事项

热门文章

  1. 数理统计与统计软件测试卷,数理统计试题及答案
  2. 家居家具行业如何做好舆情风险防范?
  3. 抖音素材哪里收集_抖音短视频的内容素材从哪里来,抖音内容素材哪里收集
  4. 什么是 MIME ?
  5. 最优化算法的简单基础介绍(主要侧重于二次规划(QP)的问题优化)
  6. 【渝粤题库】陕西师范大学201331 民事诉讼法学作业
  7. 等保测评--网络安全等级保护测评过程指南
  8. python 英语翻译_python中英文翻译模块
  9. scum无法启动此程序以为计算机丢失,人渣SCUM电脑卡顿怎么办?人渣SCUM低配电脑设置方法介绍...
  10. linux 删除gpt,删除GPT-默认返回MBR