最近看了李沐讲论文系列朱毅老师讲的I3D论文精读(视频笔记),这里记录一下。

1.针对的问题

  1.之前的视频数据集都太小,导致大多数流行的动作识别基准都很小,且即使不同模型效果有好有坏也难以区分。

  2.在I3D提出之前,视频一直没有明确的前端运行架构,之前捕获时序信息的方法主要有三种。1.向模型中添加一个循环层,例如LSTM,但这种方法在之前这些数据集上,表现并不是非常好。2.3D卷积神经网络,输入是视频段,卷积核是三维的,再二维信息的基础上还要额外处理时间维度,这导致参数量变得很大,另外也没能使用到ImageNet预训练的好处。3.双流网络,时间信息通过计算出来的光流表示。还有一种结合了3D卷积和双流的方法,这种方法同样使用双流,不过在最后输出的时候不像3D卷积网络一样加权平均,而是使用了一个3D卷积。

2.主要贡献

  这篇论文主要有两个贡献:1.一个inflated 3D network(I3D),把2D模型扩张到3D模型,这样就不用专门设计一个视频理解的网络了,可以使用2D里已经设计好的网络,比如VGG、ResNet直接把它扩张到3D就可以了,甚至利用一些巧妙的方式把预训练模型利用起来,这样不仅设计简单,而且可以省掉很多预训练的麻烦;2.提出了一个新的数据集——Kinetics数据集,刚开始提出的时候只有400类,后面又推出了kinetic 600/700,分别对应600类和700类,视频的数量也从最开始的30万涨到了50多万,最后60多万,类比均衡,难度适中,不算特别大。

3.方法

  e为I3D模型,结构与3D卷积网络类似,不过结合了光流,最后进行加权平均,这里主要介绍一些细节部分。inflate和bootstrap操作是精华部分。

  1.Inflate,其实就是把一个2D网络直接变成一个3D网络,对于一个2D网络,只要遇到一个2D的卷积kernel, 就把它变成一个3D的kernel,遇到一个2D的pooling层,就变成一个3D的pooling层,其他结构都不变,这样就不需要重新设计网络。

  2.bootstrap,如果输入是一张图片x,2D网络是w,则输出是wx,将图片反复复制粘贴,变成一个视频则为nx,将所有的2Dfilter在时间维度也复制粘贴n次,变成nw,则输出变成nwx,所以需要做一些rescaling,也就是在所有的filter上除以n,则最终输出变成wx,也就与2D网络对应起来了(感兴趣的同学可以看一下老师实现的代码,具体实现在539行init_weights函数,先将2D网络的参数下载下来,然后通过collect_params这个函数就可以得到所有2D网络的参数,都存在weights2d这个变量里,然后将3D网络的所有参数也保存到weights3d变量,566行是一个assert操作,因为2D网络和3D网络的结构一样,也就是层数应该一样,从581行开始的for循环就是将2D网络的参数转移给3D网络,585行的就是bootstrap操作)

  3.如何控制池化层,从而使得感受野处于一个合适的范围,在inflate inception-V1时,conv层直接从7×7变为7×7×7,在maxpooling操作时并不是简单的将3×3变为3×3×3,因为作者发现时间维度最好不要做下采样,因为本来时间维度可能就不是长,所以这里是把3×3变为1×3×3,stride从2×2变为1×2×2,不过只是对于前面两个maxpooling,后面的依旧做了下采样。inception module直接inflate。

I3D论文总结的更多相关文章

  1. Inflated 3D ConvNet 【I3D】

    Two-Stream Inflated 3D ConvNet (I3D) HMDB-51: 80.9% and UCF-101: 98.0% 在Inception-v1 Kinetics上预训练 Co ...

  2. 论文笔记 | A Closer Look at Spatiotemporal Convolutions for Action Recognition

    ( 这篇博文为原创,如需转载本文请email我: leizhao.mail@qq.com, 并注明来源链接,THX!) 本文主要分享了一篇来自CVPR 2018的论文,A Closer Look at ...

  3. CVPR2020论文解析:视频语义检索

    CVPR2020论文解析:视频语义检索 Fine-grained Video-Text Retrieval with Hierarchical Graph Reasoning 论文链接:https:/ ...

  4. 视频动作定位的分层自关注网络:ICCV2019论文解析

    视频动作定位的分层自关注网络:ICCV2019论文解析 Hierarchical Self-Attention Network for Action Localization in Videos 论文 ...

  5. Action4D:人群和杂物中的在线动作识别:CVPR209论文阅读

    Action4D:人群和杂物中的在线动作识别:CVPR209论文阅读 Action4D: Online Action Recognition in the Crowd and Clutter 论文链接 ...

  6. PayPal高级工程总监:读完这100篇论文 就能成大数据高手(附论文下载)

    100 open source Big Data architecture papers for data professionals. 读完这100篇论文 就能成大数据高手 作者 白宁超 2016年 ...

  7. [Erlang 0126] 我们读过的Erlang论文

    我在Erlang Resources 豆瓣小站上发起了一个征集活动 [链接] ,"[征集] 我们读过的Erlang论文",希望大家来参加.发起这样一个活动的目的是因为Erlang相 ...

  8. [个人论文]一种基于GPU并行计算的MD5密码解密方法

    求轻喷... [顺便get一份LaTeX论文模板....还是XeLaTex好用.珍爱生命远离CJK http://files.cnblogs.com/files/pdev/paper.zip

  9. Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍

    Windows下LATEX排版论文攻略—CTeX.JabRef使用介绍 一.工具介绍 TeX是一个很好排版工具,在学术界十分流行,特别是数学.物理学和计算机科学界. CTeX是TeX中的一个版本,指的 ...

  10. TeXstudio 编写Latex论文的若干问题

    TeXstudio 编写Latex论文的若干问题解决方案总结       问题1: 如何安装TeXstudio 以及 Texstudio当中的中文字体使用问题.   一.如何安装TeXstudio 很 ...

随机推荐

  1. Android图表控件MPAndroidChart——BarChart实现多列柱状图和LineChart多曲线 (完结)

    首先才接触Android,目前自学一个月,花了一星期,做出了柱状图和曲线图,踩过坑也不少,上代码(主要提供思路,大部分代码可直接用). 参考代码地址:①曲线:https://blog.csdn.net ...

  2. Nacos服务管理

    注:基于SpringBoot项目 一.服务注册 1. 依赖引入 # 首先父工程中引入 SpringCloudAlibaba 版本管理依赖,其中会包含 nacos 的版本 <!-- SpringC ...

  3. Docker 容器基本操作(基础)

    拉钩教育App版权问题,如果转载请附带拉钩教育等信息 一,什么是容器 容器是基于镜像创建的可运行实例,并且单独存在,一个镜像可以创建出多个容器 二.容器生命周期,五个状态 stopped : 停止状态 ...

  4. TM1621断码液晶驱动IC的原理、驱动代码

    TM1621是一个多功能的LCD驱动器,带有蜂鸣器驱动功能.通讯采用四线串行接口 TM1621的难点在于字节序和显存跟屏幕的映射关系上,下面是写寄存器的代码 void Delay_us(uint8_t ...

  5. Android 切换wifi小记

    我手机是Android 7.1的魅族.相关网络权限注册之后,还有一个特别的权限就是<uses-permission android:name="android.permission.A ...

  6. kafka删除topic清空数据

    一般情况下,是不会删除数据的.到达一定时间后,kafka会自动删除.如果一定要删除可以删除topic在重建topic了 No. 1: 如果需要被删除topic 此时正在被程序 produce和cons ...

  7. JS 代码片段 / 预编译/预解析 /执行上下文/ECG/EC/ECS/GO/VO/AO

    代码段概念 一个 script 就是一个代码段 在一个页面中可以有多个代码段 每一个代码段, 彼此独立的, 如果上面的代码段报错了, 不会影响下一个代码段 referenceError 引用错误 下面 ...

  8. springcloud(三) - 负载均衡Ribbon

    功能介绍 基本保证每个服务不同的ip接收到的请求数量是一样的,确保在微服务下没有没有那个服务器负载过多而另外一个闲置. IRule:根据规则获取制定的服务 规则列表 RoundRobinRule:轮询 ...

  9. 查看oracle死锁

    select A.sid, b.serial#, decode(A.type, 'MR', 'Media Recovery', 'RT','Redo Thread', 'UN','User Name' ...

  10. vi中将小写转换成大写字母

    VI阅读模式下连续按gUW可以将小写转换成大写