Two-Stream Inflated 3D ConvNet (I3D)
HMDB-51: 80.9% and UCF-101: 98.0% 在Inception-v1 Kinetics上预训练
ConvNet+LSTM:每一帧都提feature后整视频pooling,或者每一帧提feature+LSTM。缺点,忽略了时间信息,open和close door会分错。
改进C3D:比二维卷积网络有更多的参数,缺点参数量大,不能imagenet pretrain,从头训难训。input 16帧 输入112*112,本文实现了C3D的一个变种,在最顶层有8个卷积层,5个pooling层和2个全联接层。模型的输入是16帧每帧112x112的片段。不同于论文中的实现是,作者在所有的卷积层和全联接层后面加入了BN层,同时将第一个pooling层的temporal stride由1变为2,来减小内存使用,增加batch的大小,这对batch normalization很重要。
双流网络:LSTM只抓住高层的卷积后的信息,底层的信息在某些例子上也非常重要,LSTM train 消耗很大。RGB帧和10个堆叠的光流帧,光流输入是2倍的光流帧(x,y水平垂直的channel),可以有效train
新双流:后面的融合部分改为3D卷积,3D pooling
双流 inflated 3D卷积:扩展2D卷积basemodel为3D basemodel卷积,卷积核和pooling增加时间维,尽管3D卷积可以直接学习时间特征,但是将光流加进来后会提高性能。
如果2D的滤波器为N*N的,那么3D的则为N*N*N的。具体做法是沿着时间维度重复2D滤波器权重N次,并且通过除以N进行归一化。可以类比TSN光流网络的第一个卷积层的初始化方式。
对于3D来说,时间维度不能缩减地过快或过慢。如果时间维度的感受野尺寸比空间维度的大,将会合并不同物体的边缘信息。反之,将捕捉不到动态场景。因此改进了BN-Inception的网络结构。在前两个池化层上将时间维度的步长设为了1,空间还是2*2。最后的池化层是2*7*7。训练的时候将每一条视频采样64帧作为一个样本,测试时将全部的视频帧放进去最后average_score。除最后一个卷积层之外,在每一个卷积后面都加上BN和relu。一块K40 GPU上,一个batch内跑15个视频片段
I3D双流网络:rgb和光流是分开训练的,测试时将它们预测的结果进行平均
在训练期间,spatial上是先将原始帧resize成256*256的,然后随机剪裁成224*224的。在temporal上,尽量选择前面的帧以保证足够光流帧的数目足够多。短的视频循环输入以保证符合网络的input_size。在训练中还用到了随机的左右翻转。
测试的时候选用中心剪裁224*224,将整条视频的所有帧输入进去,之后average_score
实验测试256x256的视频并没有提高,测试时左右翻转video,训练时增加额外的augmentation,如phonemetric,可能有更好的效果。
Kinectics:人类动作
1. Person Actions(singular): (画画,喝东西,笑,击打)
2. Person-Person Actions: (拥抱,亲吻,握手)
3. Persion-Object Actions: (打开礼物,修剪草坪,洗碟子)
4. 细粒度需要时间推理来区分: 游泳的不同泳姿。有的需要着重于物体来区分,玩不同的乐器。
400类共计24万个视频,视频时长约为10s,trimmed 视频,测试集每类100个clip
Kinetics 数据集介绍
分类结果:
参考自:知乎
Inflated 3D ConvNet 【I3D】的更多相关文章
-
NYOJ353 3D dungeon 【BFS】
3D dungeon 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描写叙述 You are trapped in a 3D dungeon and need to find ...
-
自制裸眼3D图【推荐】
Welcome to the World of Hidden 3D Stereograms.欢迎进入隐身3D图的世界! 网址:http://hidden-3d.com 裸眼立体图是什么? 立体图是立体 ...
-
在程序中使用NV 3D Vision 【转】
http://www.cnblogs.com/gongminmin/archive/2010/11/21/1883392.html 多年前NVIDIA就发布了3D Vision技术,能提供多种立体渲染 ...
-
立体3D方式 【转】
目前为止,至少有四种普遍使用的立体3D传输格式,分别称为frame sequential(帧连续),frame packing(帧封装),side-by-side(并排),以及checkerboard ...
-
那些一目了然的3D地质模型 【转】
http://www.360doc.com/content/16/0830/09/14719766_586950902.shtml
-
NYOJ 353 3D dungeon 【bfs】
题意:给你一个高L长R宽C的图形.每个坐标都能够视为一个方格.你一次能够向上.下.左,右,前,后任一方向移动一个方格, 可是不能向有#标记的方格移动. 问:从S出发能不能到达E,假设能请输出最少的移动 ...
-
Three.js制作一个基本的飞行3D场景【源代码】
原文链接:https://tympanus.net/codrops/2016/04/26/the-aviator-animating-basic-3d-scene-threejs/ 源代码下载链接:h ...
-
【LeetCode】数学(共106题)
[2]Add Two Numbers (2018年12月23日,review) 链表的高精度加法. 题解:链表专题:https://www.cnblogs.com/zhangwanying/p/979 ...
-
【图说】Eclipse与Unity 3D协同工作
原地址:http://blog.csdn.net/h570768995/article/details/9355313 Eclipse开发过程中总会碰到很多的难题,如何利用好工具帮助我们更快捷的开发也 ...
随机推荐
-
iOS解决NSData转NSString后字符为空
iOS中,将NSData转NSString的一般方法为[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];但是当dat ...
-
excel解析二维数组结构的excel
public void fileImport(Ufile ufile) throws Exception { String filePath = ufile.getFilePath(); List&l ...
-
Scalaz(8)- typeclass:Monoid and Foldable
Monoid是种最简单的typeclass类型.我们先看看scalaz的Monoid typeclass定义:scalaz/Monoid.scala trait Monoid[F] extends S ...
-
selenium如何操作cookies实现免登录
执行接口测试或者某些自动化测试时,为了避免每次访问接口都需要登录操作,可以用访问接口时,把cookies信息传过去. 思路是先登录一次页面,获取到cookies信息,把cookies信息保存到本地文件 ...
-
eclipse adt 项目依赖,使用git上的项目
从git下载的android工程不能直接导入eclipse,有的项目要依赖这个项目,怎么办呢 好像只能新建一个android项目,然后把libs,res,src,AndroidManifest.xml ...
-
git merge的recursive策略和merge-base
git的合并策略总共有3种,一种是resovle,一种是recursive,一种是octopus.其中resolve和recursive适用于合并2个branch,octopus适用于合并3个或者3个 ...
-
eclipse如何以指定JDK启动
eclipse如何以指定JDK启动 2018年01月11日 14:30:23 buerc 阅读数:11179 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csd ...
-
CentOS7 下源代码安装php7
安装PHP7: php-7.1.2.tar.gz:下载:wget http://cn2.php.net/get/php-7.1.2.tar.gz/from/this/mirror 安装php: # t ...
-
Tomcat权威指南-读书摘要系列10
Tomcat集群 一些集群技术 DNS请求分配 TCP网络地址转换请求分配 Mod_proxy_balance负载均衡与故障复原 JDBC请求分布与故障复原
-
(转)kafka发布消息报错LEADER_NOT_AVAILABLE
今天居然碰到这个错误,参考以下解决方案: $ bin/kafka-console-producer.sh --broker-list="192.168.1.100:32785" - ...