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读后笔记相关推荐

  1. 行为识别论文笔记|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 ...

  2. T3D基于DenseNet可变时序的3D视频行为识别网络

    Temporal 3D ConvNets: New Architecture and Transfer Learning for Video Classification 论文地址:https://a ...

  3. 【总结记录】《MySQL必知必会》读后笔记,结合 leetcode 例题理解

    文章目录 一. <MySQL知会>读后笔记 1. 零散的前文知识 2. 连接数据库 3. 检索数据(重点开始了) 4. 排序.过滤数据 5. 通配符.正则表达式 6. 汇总数据 7. 分组 ...

  4. 复现I3D遇到的问题

    1.Download模型 从deepmind的github中download I3D模型,它是由checkpoints保存的tensorflow session. https://github.com ...

  5. 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. ...

  6. I3D泛读【Que Vadis,Action Recognition?A New Model and the Kinetics Dataset】

    目录 0.前沿 1.标题 2.摘要 3.结论 4.重要图表 5.解决了什么问题 6.采用了什么方法 7.达到了什么效果 0.前沿 泛读我们主要读文章标题,摘要.结论和图表数据四个部分.需要回答用什么方 ...

  7. 《Java并发编程的艺术》读后笔记-Java中的并发工具类(第八章)

    文章目录 <Java并发编程的艺术>读后笔记-Java中的并发工具类(第八章) 1.等待多线程完成的CountDownLatch 2.同步屏障CyclicBarrier 2.1 Cycli ...

  8. 录用率48%到68%! I3D/ICDAR/CogSci/ICIP2023即将截稿

    点击文末公众号卡片,不错过计算机会议投稿信息 会议简称 截稿时间 通知时间 录用率 官网 I3D2023 22.12.21 23.2.21 22年47.0% https://i3dsymposium. ...

  9. I3D (inflated 3D)是什么?

    目录 0.简介 1.视频理解数据集的对比 2.视频领域里3种方式的对比 0.简介 I3D是除了双流网络视频领域里的另一力作,本文主要的工作有2个方面,一方面就是这个标题名称,inflated,本文提供 ...

最新文章

  1. 【LeetCode】687. 最长同值路径
  2. CVPR 2022|MLP才是无监督学习比监督学习迁移性能好的关键因素
  3. 用python写linux中的ls,Python实现Linux环境下的ls命令
  4. 微软开放Holographic平台,意在统一VR的操作系统?
  5. openvswitch常用命令之ovs-ofctl、ovs-appctl
  6. 深入理解JVM(6)——JVM性能调优实战
  7. 阿里巴巴最新面试经验
  8. python对数据进行分类_按Python对数据进行分类
  9. SpringCloud之熔断器Hystrix
  10. java instrument_JDK instrument 踩坑记录
  11. MSTAR 数据转格式
  12. MyEclipse8.5开发环境配置,SVN插件安装问题(转载)
  13. 12306崩了,90%的人都用过这三款抢票工具
  14. 基因数据分析主流软件与基因预测方法步骤-搬运工
  15. 来自灵魂的拷问——知道什么是SQL执行计划吗?
  16. 项目菜鸟成长为老鸟之路
  17. 面试怎么调整心态克服紧张情绪呢
  18. AWS-Lambda 从传入的 S3 Event 里获取信息
  19. python列表对应元素相乘_关于python:如何对两个列表进行元素明智的相乘?
  20. 如何找到/etc/sysconfig/network-scripts/ifcfg-ens33.swp文件

热门文章

  1. kubernetes addons之node-problem-detector
  2. 世界小姐中国区总决赛出结果 海归美女夺冠(图)
  3. 末位淘汰制解雇员工是否合法?
  4. VFW-MFC视频采集
  5. 数据分析指标名词解释
  6. JS 删除字符串中的空格和回车
  7. 软件测试的完整案例分析,清华大学出版社-图书详情-《软件测试基础与测试案例分析》...
  8. python fixture_python pytest进阶之fixture详解
  9. Ajax跨域问题分析
  10. 文献阅读---优化RNA-seq研究设计以挖掘除草剂耐药性(综述)