I3D与T3D读后笔记
I3D
论文:《Quo Vadis ,Action Recognition? A New Model and the Kinetics Dataset》
这篇论文的主要内容分为3个部分:
1、介绍了Kinetics数据集。
2、提出了一种用imageNet数据集预训练3D卷积模型的方法,避免了3D卷积模型从0开始训练。
3、构建了3D卷积的双流结构。在UCF-101上测试出准确率高达98%的好效果。
Kinetics数据集
这个数据集有400个人物动作类,每个类有400个视频剪辑。它比UCF-101和HMDB-51高出了两个数量级。这个数据集在当时被提出来时挺新鲜的,但现在用它做实验的也挺多的了。作者在论文中像用它做之前各种流行模型做预训练,然后再用UCF-101和HMDB-51上做训练和测试,比较精确度的提高。
imageNet数据集预训练
用imageNet数据集做预训练在2D卷积模型(视频中人物动作识别)经常用到,它可以有效的减小了了视频数据集数量小而产生过拟合的缺点。但imageNet数据集毕竟都是图片,3D卷积模型附加了内核维度,所以这给获取imageNet训练来的参数造成了困难。但作者想到了一个很奇特的方法:用把多个相同的图片当视频的帧堆叠在一起,构成一个无聊的视频。这样就可以把imageNet数据集变成一个由无聊视频组成的数据集。用无聊视频做预训练可以获得我们想要从学习图片中得到的参数。
模型构建
作者在很多模型上做了实验,这些模型分别学习了imageNet数据集上的二维参数,在Kinetics数据集上进行了预训练,用UCF-101和HMDB-51进行训练和测试,不出意外,有好的预训练比没有好的预训练能得到更高的准确值。(下图中K表示视频的总帧数,而N表示视频相邻帧的子集)
以上各类模型在有imageNet和没有imageNet上做预训练,在Kinetics训练测试的效果比较,()里的是Top-5精度。从下表可以发现一个细节,光流的准确值比RGB的要低,这和在UCF-101和HMDB-51上实验结果是不同的。这种情况可能是因为Kinetics数据集动作比较复杂,运动时间更长:
在以上5种模型中,表现最突出的即是双流I3D模型。双流I3D模型的输入端同时放入连续的RGB帧和连续的光流图。可以说,两个输入流都包含了视频中运动信息,这样便于该模型充分的学习它们。
除了C3D,所有模型都使用ImageNet预训练的Inception-V1[13]作为基础网络(这也就是它为什么叫I3D)。除了最后一个卷积层生成每个网络的类分数外,每个卷积层之后都有一个批量标准化的层和ReLU激活函数。论文的2.5部分是实验的细节,大致看了一点,目前不复现代码,就不细细总结了。
下面是5个模型在UCF-101或HMDB-51上训练(Original),和前面在Kinetics上训练,最后一层在UCF-101或HMDB-51上训练(Fixed),和用Kinetics端到端预训练,最后在UCF-101或HMDB-51微调(Full-FT)三种结果的比较。/分割的是使用ImageNet预先训练好的权重和不使用。
T3D
论文《Temporal 3D ConvNets: New Architecture and Transfer Learning for Video Classification》
这篇文章主要贡献有两点:1、作者构建了一种新的时间层在3DCNN中,这个时间层名为Temporal Transition Layer,即TTL。这个时间层可以综合性捕捉视频中短期、中期和长期的时间信息。2、提出了一种新的迁移学习的方法,便于把模型在imageNet上学到的权重迁移到3DCNN模型里。
图的上部分是T3D模型,它的输入是视频剪辑,输出是视频级的预测。该网络由DenseNet网络结构改造,用3D内核替换了原来的2D内核。
TTL的优势是在不同的时间深度上运行,因此允许模型从短期、中期和长期捕获外观和时间信息。TTL由几个可变深度的3D卷积核和一个平均池化层构成。将前一层的输出的特征图作为TTL的输入,分别经过K个不同深度的3D卷积核卷积后得到K个特征图{S1,…,Sk}。这k个特征图的(h,w)大小是一样的,但t不一样。最后把k个特征图简单的合并成一个张量[S1,…,Sk],再喂给池化层。这个过程很简单,但却很好的整合了多个时间段的特征信息。
上图是迁移学习2D网络中训练imageNet后模型参数的过程。图由一个2D卷积网络,一个3D卷积网络组成和一个二进制(0/1)匹配分类器构成。迁移学习的步骤分两步,首先是用imageNet训练好一个2D卷积网络,固定住2D卷积网络中的所有参数。然后是训练3D卷积网络,取500k个没有标签的视频剪辑作为迁移学习的输入。在训练3D卷积网络的过程中,喂给2D卷积网络的是一个时间段内x个帧,喂给3D卷积网络是一段视频,若视频与帧匹配则记为正,否则记为负。反向传播中只修改3D卷积网络中的参数,等训练反馈的结果趋近于正时,就代表3D卷积学习到了2D卷积的参数。
以上两种方法适用于各种基础模型,并且比原始模型有更好的效果,下表是作者在多个模型上运用迁移学习方法后的在UCF101上训练测试得到的效果,其中第二列是首先在Kinetics数据集上训练,然后在UCF-101上训练。
作者实验了各种模型在Kinetics数据集上预训练,在用UCF-101和HMDB51微调,比较了下准确值。
表中的T3D+TSN很有意思,作者在实验的时候并没有用到光流图作为输入,只是运用了TSN的方法。使用来自每个视频的5个非重叠剪辑,用TSN聚合的方式得到最后的预测值,最后效果也很好。虽然T3D最后的结果达不到I3D那么高,但T3D的实验里没有用到光流,这点算是比I3D要进步的地方。
I3D与T3D读后笔记相关推荐
- 行为识别论文笔记|I3D S3D R(2+1)D P3D CSN
行为识别论文笔记-I3D T3D S3D R(2+1)D P3D CSN I3D Carreira, Joao, and Andrew Zisserman. "Quo vadis, acti ...
- T3D基于DenseNet可变时序的3D视频行为识别网络
Temporal 3D ConvNets: New Architecture and Transfer Learning for Video Classification 论文地址:https://a ...
- 【总结记录】《MySQL必知必会》读后笔记,结合 leetcode 例题理解
文章目录 一. <MySQL知会>读后笔记 1. 零散的前文知识 2. 连接数据库 3. 检索数据(重点开始了) 4. 排序.过滤数据 5. 通配符.正则表达式 6. 汇总数据 7. 分组 ...
- 复现I3D遇到的问题
1.Download模型 从deepmind的github中download I3D模型,它是由checkpoints保存的tensorflow session. https://github.com ...
- Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset I3D论文精读
Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset I3D论文精读 论文地址:https://openaccess. ...
- I3D泛读【Que Vadis,Action Recognition?A New Model and the Kinetics Dataset】
目录 0.前沿 1.标题 2.摘要 3.结论 4.重要图表 5.解决了什么问题 6.采用了什么方法 7.达到了什么效果 0.前沿 泛读我们主要读文章标题,摘要.结论和图表数据四个部分.需要回答用什么方 ...
- 《Java并发编程的艺术》读后笔记-Java中的并发工具类(第八章)
文章目录 <Java并发编程的艺术>读后笔记-Java中的并发工具类(第八章) 1.等待多线程完成的CountDownLatch 2.同步屏障CyclicBarrier 2.1 Cycli ...
- 录用率48%到68%! I3D/ICDAR/CogSci/ICIP2023即将截稿
点击文末公众号卡片,不错过计算机会议投稿信息 会议简称 截稿时间 通知时间 录用率 官网 I3D2023 22.12.21 23.2.21 22年47.0% https://i3dsymposium. ...
- I3D (inflated 3D)是什么?
目录 0.简介 1.视频理解数据集的对比 2.视频领域里3种方式的对比 0.简介 I3D是除了双流网络视频领域里的另一力作,本文主要的工作有2个方面,一方面就是这个标题名称,inflated,本文提供 ...
最新文章
- 【LeetCode】687. 最长同值路径
- CVPR 2022|MLP才是无监督学习比监督学习迁移性能好的关键因素
- 用python写linux中的ls,Python实现Linux环境下的ls命令
- 微软开放Holographic平台,意在统一VR的操作系统?
- openvswitch常用命令之ovs-ofctl、ovs-appctl
- 深入理解JVM(6)——JVM性能调优实战
- 阿里巴巴最新面试经验
- python对数据进行分类_按Python对数据进行分类
- SpringCloud之熔断器Hystrix
- java instrument_JDK instrument 踩坑记录
- MSTAR 数据转格式
- MyEclipse8.5开发环境配置,SVN插件安装问题(转载)
- 12306崩了,90%的人都用过这三款抢票工具
- 基因数据分析主流软件与基因预测方法步骤-搬运工
- 来自灵魂的拷问——知道什么是SQL执行计划吗?
- 项目菜鸟成长为老鸟之路
- 面试怎么调整心态克服紧张情绪呢
- AWS-Lambda 从传入的 S3 Event 里获取信息
- python列表对应元素相乘_关于python:如何对两个列表进行元素明智的相乘?
- 如何找到/etc/sysconfig/network-scripts/ifcfg-ens33.swp文件