读书笔记21:MiCT: Mixed 3D/2D Convolutional Tube for Human Action Recognition(CVPR2018)

本文主要是介绍读书笔记21:MiCT: Mixed 3D/2D Convolutional Tube for Human Action Recognition(CVPR2018),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

http://openaccess.thecvf.com/content_cvpr_2018/papers/Zhou_MiCT_Mixed_3D2D_CVPR_2018_paper.pdf

本文考虑到在识别人体动作的时候,3D CNN的水平不及2D CNN在识别静态图片时的水平,认为这是由于3D CNN消耗的计算资源和存储资源过大导致不能很好的训练,因此在本文中提出了一个2D和3D CNN结合的模型进行动作识别。

摘要:首先介绍背景,即目前有人探索使用3D CNN进行动作识别。接着就指出当前方法的不足,就是说3D CNN在处理视频的时候,达到的水准并不及CNN在处理2D静态图片时达到的水准。接着进行了简要的分析分析原因以便引出自己的模型。原因的分析是3D卷积所需要的spatio-temporal fusion带来的训练复杂度以及所需的存储消耗限制了3D CNN的表现。接着引出本文的模型,将2D和3D CNN混合得到的mixed convolutional tube(MiCT),这个模型将2D3D CNN结合起来,以便生成更深的且更加informative的feature map,并同时减少每一轮spatio-temporal fusion的训练复杂度。这种模块堆叠在一起还能形成新的端到端的深度网络MiCT-Net,用来探索人体动作中的spatio-temporal信息。最后作者介绍了一下实验结果,在一些数据集上取得了state-of-the-art的结果。

技术部分,本文提出了两种混合2D和3D卷积的方式,concatenating connections和cross-domain residual connections。首先,下图是使用了2D3D concatenated connection的模型的示意图:

        

用数学语言来描述的话,在t时刻的feature map表示为,那么将可以表述为

                                                                                      

其中是从t时刻到时刻的sliced tensor,上式不是最终版本,M其实只是spatio-temporal feature map的linear fused操作,最终版本是另外提出了一个函数,这个,而这里的H其实就是2D卷积,也就是说这个数学描述描述的就是上图所示的过程,先进行3D卷积,接着对feature map进行2D卷积。这个过程可以理解为:3D卷积聚合了时空两个维度的信息,之后如果像是3D CNN那样继续叠加3D卷积层的话,会极大增加计算复杂度,因此退而求其次,使用2D卷积继续提升feature map的abstract level,同时又不会增加太大的计算负担。

cross-domain residual connection的模型示意图如下所示:

这里的cross-domain residual指的是添加的residual不是普通意义上的直接将输入加到卷积后的结果上,而是将输入先用2D卷积处理一下,再添加到3D卷积的输出上,称之为cross-domain residual,数学描述如下

                                                                      

 

这里o指的就是3D卷积的输出结果,而H和之前一样指的是2D卷积,是输入tensor在t0时刻的slice,并且,这个2D卷积不是在所有的帧上都进行,而是经过采样的某些帧上进行。作者指出,引入这种residual的原因是考虑到视频信息中,相邻的几帧经常是差不多的,造成了冗余信息,而模型中2D卷积只在采样的某几帧进行,抓取了稳定而且更加抽象的feature,3Dconvolution就只需要在这些经过2D卷积处理的,冗余大大减少的数据上进行卷积了。

最终作者还将这两种connection合起来形成一个MiCT模型,如下图所示

这个模型前面用了residual的,后面又加了一层2D卷积,像concatenate connection的。

进行实验的时候,作者用四个这种MiCT模块搭建了深度网络,网络用端到端的方式训练,整个网络就只有4层3D卷积,大大减少了训练的复杂度。具体来讲整个网络如下图所示

具体每一层的参数如下表

这里面2D网络用的是别人提出来的inception block,如下图所示

采取不同的卷积,然后将结果合并在一起。模型中的2D卷积层可以使用在大的image dataset上训练好的参数,作为一个很好的初始化,这也增加了模型的能力。

本文的实验部分做的并不是很复杂,但是也算丰富,首先是对比了MiCT网络和基础的3D CNN的表现,然后是和其他state-of-the-art的方法的对比,这个对比进行了两项,一个是直接的对比,另一个是和一些two-stream的模型对比(MiCT也设置成2stream的),最后,文章对模型进行了一下可视化,指出模型能够适应不同速度的action,具有不错的能力。

总结一下本文的模型,我认为本文的模型主要的贡献是cross-domain residual connection的这个操作,通过sample一些frames进行2D卷积,结合3D卷积,大大减少了模型的复杂度,并且使得很多冗余数据不需要再去学习。

这篇关于读书笔记21:MiCT: Mixed 3D/2D Convolutional Tube for Human Action Recognition(CVPR2018)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/240248

相关文章

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

【LabVIEW学习篇 - 21】:DLL与API的调用

文章目录 DLL与API调用DLLAPIDLL的调用 DLL与API调用 LabVIEW虽然已经足够强大,但不同的语言在不同领域都有着自己的优势,为了强强联合,LabVIEW提供了强大的外部程序接口能力,包括DLL、CIN(C语言接口)、ActiveX、.NET、MATLAB等等。通过DLL可以使用户很方便地调用C、C++、C#、VB等编程语言写的程序以及windows自带的大

SAM2POINT:以zero-shot且快速的方式将任何 3D 视频分割为视频

摘要 我们介绍 SAM2POINT,这是一种采用 Segment Anything Model 2 (SAM 2) 进行零样本和快速 3D 分割的初步探索。 SAM2POINT 将任何 3D 数据解释为一系列多向视频,并利用 SAM 2 进行 3D 空间分割,无需进一步训练或 2D-3D 投影。 我们的框架支持各种提示类型,包括 3D 点、框和掩模,并且可以泛化到不同的场景,例如 3D 对象、室

【JavaScript】LeetCode:21-25

文章目录 21 最大子数组和22 合并区间23 轮转数组24 除自身以外数组的乘积25 缺失的第一个正数 21 最大子数组和 贪心 / 动态规划贪心:连续和(count)< 0时,放弃当前起点的连续和,将下一个数作为新起点,这里提供使用贪心算法解决本题的代码。动态规划:dp[i]:以nums[i]为结尾的最长连续子序列(子数组)和。 dp[i] = max(dp[i - 1]

Unable to instantiate Action, goodsTypeAction, defined for 'goodsType_findAdvanced' in namespace '/

报错: Unable to instantiate Action, goodsTypeAction,  defined for 'goodsType_findAdvanced' in namespace '/'goodsTypeAction......... Caused by: java.lang.ClassNotFoundException: goodsTypeAction.......

《C++标准库》读书笔记/第一天(C++新特性(1))

C++11新特性(1) 以auto完成类型自动推导 auto i=42; //以auto声明的变量,其类型会根据其初值被自动推倒出来,因此一定需要一个初始化操作; static auto a=0.19;//可以用额外限定符修饰 vector<string> v;  auto pos=v.begin();//如果类型很长或类型表达式复杂 auto很有用; auto l=[] (int

react笔记 8-21 约束性 表单

1、约束性组件和非约束性组件 非约束性组件<input type="text" name="" defaultValue={this.state.msg}></input>这里他的value是用户输入的值 并没有执行操作 只是获取到了msg的值 用户输入不会改变数据非约束性组件需要使用defaultValue获取数据 否则会报错约束性组件<input type="text

MonoHuman: Animatable Human Neural Field from Monocular Video 翻译

MonoHuman:来自单目视频的可动画人类神经场 摘要。利用自由视图控制来动画化虚拟化身对于诸如虚拟现实和数字娱乐之类的各种应用来说是至关重要的。已有的研究试图利用神经辐射场(NeRF)的表征能力从单目视频中重建人体。最近的工作提出将变形网络移植到NeRF中,以进一步模拟人类神经场的动力学,从而动画化逼真的人类运动。然而,这种流水线要么依赖于姿态相关的表示,要么由于帧无关的优化而缺乏运动一致性

Matter.js:Web开发者的2D物理引擎

Matter.js:Web开发者的2D物理引擎 前言 在现代网页开发中,交互性和动态效果是提升用户体验的关键因素。 Matter.js,一个专为网页设计的2D物理引擎,为开发者提供了一种简单而强大的方式,来实现复杂的物理交互效果。 无论是模拟重力、碰撞还是复杂的物体运动,Matter.js 都能轻松应对。 本文将带你深入了解 Matter.js ,并提供实际的代码示例,让你一窥其强大功能