简介:

这是一片发表在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. 类中的迭代器__iter__

    什么是迭代器 有iter()函数返回,可以通过next(it)函数取值的对象就是迭代器 迭代器协议 迭代器协议是指对象能够使用next函数获取下一项数据,在没有下一项数据时触发一个StopIterat ...

  2. JSON简介[转]

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于JavaScript Programming Lan ...

  3. 快速排序的partition版本实现

    int partition(int arr[], int low, int high) { int pivot = arr[high]; int i = low-1; for (int j = low ...

  4. js生成guid(唯一标识码)

    在使用postman对接口进行测试的时候,有时候接口日志会要求写入随机标识码,这里我们可以使用js来生成. // Generate four random hex digits. function S ...

  5. hiho1613 墨水滴

    对不起,太弱了.................想了一下午

  6. BZOJ1801 Ahoi2009 chess 中国象棋 【DP+组合计数】*

    BZOJ1801 Ahoi2009 chess 中国象棋 Description 在N行M列的棋盘上,放若干个炮可以是0个,使得没有任何一个炮可以攻击另一个炮. 请问有多少种放置方法,中国像棋中炮的行 ...

  7. CDQ分治--用时间降维的美丽算法

    CDQ分治–用时间降维的美丽算法 CDQ分治,网上的阐述很多,太专业性的文字我就不赘述,这里指谈谈自己的感受 还是%一下CDQ大神的论文 CDQ分治的主要想法就是降维(比如三维问题降维到二维问题),并 ...

  8. Hexo+GitHub+Netlify一站式搭建属于自己的博客网站

    喜欢的话请关注我的个人博客我在马路边https://hhongwen.cn/,此文为博主原创,转载请标明出处. 更好的阅读体验请点击查看:Hexo+GitHub+Netlify一站式搭建属于自己的博客 ...

  9. simulink使用system test测试 (matlab2014a)

    simulink中有个工具system test,tools->systemtest->launch system test 打开.打开之后界面是这样的 选择insert->test ...

  10. @Autowired & @Resource 区别 & 解读@Bean

    一样     Autowired & @Resource 都可以用来Bean的注入,可以写在属性(字段)上.也可以写在setter方法上 不一样 1.来源不一样 @Autowired 由Spr ...