基于3D卷积神经网络的行为识别:3D Convolutional Neural Networks for Human Action Recognition

 


 

简介:算法

这是一片发表在TPAMI上的文章,能够看见做者有余凯(是百度的那个余凯吗?)网络

本文提出了一种3D神经网络:经过在神经网络的输入中增长时间这个维度(连续帧),赋予神经网络行为识别的功能。函数

相应提出了一种3D卷积,对三幅连续帧用一个3D卷积核进行卷积(能够理解为用三个二维卷积核卷积三张图)。学习


 

3D神经网络结构图:spa

input—>H1设计

      神经网络的输入为7张大小为60*40的连续帧,7张帧经过事先设定硬核(hardwired kernels)得到5种不一样特征:灰度、x方向梯度、y方向梯度、x方向光流、y方向光流,5个channels一共33个maps。对于这个作法,原文这么解释“相比于随机初始化,经过先验知识对图像的特征提取使得反向传播训练有更好的表现”。对此个人理解是,梯度表征了图像的边沿的分布,而光流则表征物体运动的趋势,3DCNN经过提取这两种信息来进行行为识别。3d

H1—>C2blog

     用两个7*7*3的3D卷积核对5个channels分别进行卷积,得到两个系列,每一个系列5个channels共23个maps。而后为卷积结果加上偏置套一个tanh函数进行输出。(典型神经网。)图片

    卷积后map大小为54*34.资源

C2—>S3

    2x2池化,下采样

S3—>C4

    为了提取更多的图像特征,用三个7*6*3的3D卷积核分别对各个系列各个channels进行卷积,得到6个系列,每一个系列依旧5个channels的大量maps。而后加偏置套tanh。

C4—>S5

3X3池化,下采样。

S5—>C6

      进行了两次3D卷积以后,时间上的维数已经被压缩得没法再次进行3D卷积(两个光流channels只有两个maps)。此时对各个maps用7*42D卷积核进行卷积,加偏置套tanh(烦死了!),得到C6层。C6层维度已经至关小,flatten为一列有128个节点的神经网络层。

C6—>output

      经典神经网络模型两层之间全连接,output的节点数目随标签而定。


 

相关概念——3D卷积:

老师说:“看图说话”,上图:

     3D卷积能够理解为为想领的3幅图用3个不一样卷积核进行卷积,并把卷积结果相加。能够这么说,经过这种3幅图之间的卷积,网络提取了时间之间某种的相关性。

 


训练:

      同CNN,本网络使用典型的随机初始化——反向传播算法进行训练。反向传播的算法在NN中的实现之前已经说过,请翻博文。不知到CNN中会不会有改进,具体方法之后贴一CNN论文出来。


 

效果:

     使用3DCNN对3个标签的veido(CellToEar, ObjectPut, Pointing)进行行为识别,效果与其余三种行为识别方法进行对比。发如今前两中标签下效果怒好与其余方法,Pointing则略逊。

 


MORE:在与其余方法进行对比的时候做者积极歪歪了各类特征我不知道他在说什么。另外,做者之后可能回访出DBN版本的行为识别,或非监督版本的3DCNN。

 

 


      我学完UFLDL以后就成天想3帧放在一块儿学习能不能行为识别啊有木有!可是多帧大图片使用普通NN的话参数过多不实用,CNN则用局部连接+池化很好的解决了参数过多这个问题。本文做者对CNN在时间维度上进行扩充,实现了一个行为识别的功能,实乃快人一步。实际效果还得见同行评议(不知到老师的实验室搞不搞)。

  从这篇论文看出,目前的DL研究方法仍然十分Tricky,网络的搭建和参数的选择很大程度上依赖直觉与实验,这个就比较考研研究人员的天赋 与……………………资源了。不知到何时才能有系统的NN设计方法出来。(仍是已经有了我不知道?)

相关文章
相关标签/搜索