简介:

这是一片发表在TPAMI上的文章,可以看见作者有余凯(是百度的那个余凯吗?)

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

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


3D神经网络结构图:

input—>H1

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

H1—>C2

用两个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设计方法出来。(还是已经有了我不知道?)

基于3D卷积神经网络的行为识别:3D Convolutional Neural Networks for Human Action Recognition的更多相关文章

  1. 一目了然卷积神经网络 - An Intuitive Explanation of Convolutional Neural Networks

    An Intuitive Explanation of Convolutional Neural Networks 原文地址:https://ujjwalkarn.me/2016/08/11/intu ...

  2. 硕毕论文_基于 3D 卷积神经网络的行为识别算法研究

    论文标题:基于 3D 卷积神经网络的行为识别算法研究 来源/作者机构情况: 中  国  地  质  大  学(北京),计算机学院,图像处理方向 解决问题/主要思想贡献: 1. 使用张量CP分解的原理, ...

  3. 基于3D卷积神经网络的人体行为理解(论文笔记)(转)

    基于3D卷积神经网络的人体行为理解(论文笔记) zouxy09@qq.com http://blog.csdn.net/zouxy09 最近看Deep Learning的论文,看到这篇论文:3D Co ...

  4. Local Binary Convolutional Neural Networks ---卷积深度网络移植到嵌入式设备上?

    前言:今天他给大家带来一篇发表在CVPR 2017上的文章. 原文:LBCNN 原文代码:https://github.com/juefeix/lbcnn.torch 本文主要内容:把局部二值与卷积神 ...

  5. 基于卷积神经网络的人脸识别项目_使用Tensorflow-gpu+dilib+sklearn

    https://www.cnblogs.com/31415926535x/p/11001669.html 基于卷积神经网络的人脸识别项目_使用Tensorflow-gpu+dilib+sklearn ...

  6. Pytorch实现基于卷积神经网络的面部表情识别(详细步骤)

    文章目录 一.项目背景 二.数据处理 1.标签与特征分离 2.数据可视化 3.训练集和测试集 三.模型搭建 四.模型训练 五.完整代码 一.项目背景数据集cnn_train.csv包含人类面部表情的图 ...

  7. 论文翻译:LP-3DCNN: Unveiling Local Phase in 3D Convolutional Neural Networks

    引言 传统的3D卷积神经网络(CNN)计算成本高,内存密集,容易过度拟合,最重要的是,需要改进其特征学习能力.为了解决这些问题,我们提出了整流局部相位体积(ReLPV)模块,它是标准3D卷积层的有效替 ...

  8. (转载)Convolutional Neural Networks卷积神经网络

    Convolutional Neural Networks卷积神经网络 Contents 一:前导 Back Propagation反向传播算法 网络结构 学习算法 二:Convolutional N ...

  9. Convolutional Neural Networks卷积神经网络

    转自:http://blog.csdn.net/zouxy09/article/details/8781543 9.5.Convolutional Neural Networks卷积神经网络 卷积神经 ...

随机推荐

  1. [置顶] Isolation Forest算法实现详解

    本文算法完整实现源码已开源至本人的GitHub(如果对你有帮助,请给一个 star ),参看其中的 iforest 包下的 IForest 和 ITree 两个类: https://github.co ...

  2. RankNet

    RankNet 论文的笔记:Learning to rank using gradient descent. 模型 特征 \(\mathbf x_i \in \mathbb R^d\) 模型函数:\( ...

  3. 学校项目过程中知识点 Java 2015/9/15 晚

    ##命令行运行Java程序1.文件Java的源代码存放在扩展名为“.java”的文件中:Java源文件编译后,得到“.class”的文件2.方法命令行下编译java源代码的方法:javac  文件名. ...

  4. vim简单的文本编辑命令

    <blockquote>:e! enter</blockquote>消除所有这次编辑的,回到原来文件的样子.不过此文件还是打开状态.<blockquote>:q! ...

  5. stm32寄存器版学习笔记02 串口通信

    stm32F103RCT6提供5路串口.串口的使用,只要开启串口时钟,设置相应的I/O口的模式,然后配置下波特率.数据位长度.奇偶校验等信息,即可使用. 1.串口的配置步骤 ①串口时钟使能 APB2外 ...

  6. 揭示同步块索引(中):如何获得对象的HashCode

    转自:http://www.cnblogs.com/yuyijq/archive/2009/08/13/1545617.html 题外话:为了尝鲜,也兴冲冲的安装了Win7,不过兴奋之余却郁闷不已,由 ...

  7. [BZOJ5338][TJOI2018]xor

    bzoj luogu descirption 现在有一棵以 \(1\) 为根节点的由 \(n\) 个节点组成的树,树上每个节点上都有一个权值 \(v_i\) .现在有 \(Q\) 次操作,操作如下: ...

  8. python之wheel 包命名规则、abi 兼容和安装

    一.windows安装python包,遇见的问题 1.python3以后的版本,安装python包,可以直接使用pip安装,但是安装时偶尔报错 2.安装python源码包,如何确定自己该安装哪个版本, ...

  9. 使用C#和Java发送邮件(转载)

    using System.Net.Mail; using System.Net; public class EmailEntity { private MailMessage mm; /// < ...

  10. functool.wraps and functools.partial

    functools.partial 通过包装手法,允许我们 "重新定义" 函数签名.  通常是将函数的部分参数给固定下来, 从而形成一个输入参数更少的新函数. functool.w ...