视频动作识别调研(Action Recognition)

article/2025/10/16 6:15:04

视频动作识别调研(Action Recognition)


本文首发于微信公众号“ StrongerTang”,可打开微信搜一搜,或扫描文末二维码,关注查看更多文章。
原文链接:( https://mp.weixin.qq.com/s?__biz=Mzg3NDEzOTAzMw==&mid=2247483899&idx=1&sn=da9ad193c218c0321b4486d09eac1b70&chksm=ced41d0df9a3941be132629546e870a5bb1ba1860b5c7eadf60e2c1591411634e2c1ed3d7f5b&token=361221201&lang=zh_CN#rd)
1.视频动作识别概述
动作识别(Action Recognition)是视频理解方向很重要的一个问题,至今为止已经研究多年。深度学习出来后,该问题被逐步解决,现在在数据集上已经达到了比较满意的效果。动作识别问题简单的来说就是:对于给定的分割好的视频片段,按照其中的人类动作进行分类。比如打球、跑步、吃饭等。该任务不需要确定视频中行为的开始时间和结束时间。
2. 研究难点
动作识别虽然研究多年,但是至今还是处于实验室数据集测试阶段,没有实现真正的实用化和产业化。由此可见该任务目前还是没有非常鲁棒的解决方案。
2.1 任务特点
动作识别和图像分类其实很相似,图像分类是按照图像中的目标进行软分类,动作识别也类似。起初类似于UCF数据集,都是采用单标签,也就是一段视频只对应一个标签。现在CPVR举办的Activitynet(Kinetics数据集)每段视频中包含多个标签。相比于图像分类,视频多了一个时序维度,而这个问题恰恰是目前计算机领域令人头疼的问题。
2.2 任务难点
动作识别处理的是视频,所以相对于图像分类来说多了一个需要处理的时序维度动作识别还有一个痛点是视频段长度不一,而且开放环境下视频中存在多尺度、多目标、摄像机移动及不同视角等众多的问题。此外,动作的类内差异性和类间相似性也是难点之一。这些问题都是导致动作识别还未能实用化的重要原因。
3 数据集介绍
目前比较常用的数据库主要有3个,UCF101、HMDB51和Kinetics。

4 技术原理
在深度学习出现之前,表现最好的算法是iDT[1][2],之后的工作基本上都是在iDT方法上进行改进。深度学习出来后,陆续出来多种方式来尝试解决这个问题,具体包括:Two-Stream[3][4]、C3D(Convolution 3 Dimension)[6],还有RNN[7]方向等。
4.1 iDT方法
在深度学习之前,iDT(improved Dense Trajectories)方法是最经典的一种方法。虽然目前基于深度学习的方法已经超过iDT,但是iDT的思路依然值得学习,而且与iDT的结果做ensemble后总能获得一些提升。
iDT的思路主要是在《Dense Trajectories and Motion Boundary Descriptors for Action Recognition》和《Action Recognition with Improved Trajectories》两篇文章中体现。这两篇都是Wang H的文章,前者要更早一些,介绍了DT(Dense Trajectories)算法。后者则在前者的基础上进行了改进。DT算法的基本思路为利用光流场来获得视频序列中的一些轨迹,再沿着轨迹提取HOF,HOG,MBH,trajectory 4种特征,其中HOF基于灰度图计算,另外几个均基于dense optical flow计算。最后利用FV(Fisher Vector)方法对特征进行编码,再基于编码结果训练SVM分类器。而iDT改进的地方在于它利用前后两帧视频之间的光流以及SURF关键点进行匹配,从而消除、减弱相机运动带来的影响,改进后的光流图像被成为warp optical flow。
4.2 TWO STREAM方法
Two-Stream方法是深度学习在动作识别方向的一大主流方向。最早是VGG团队在NIPS上提出来的。其实在这之前也有人尝试用深度学习来处理动作识别,例如李飞飞团队通过叠加视频多帧输入到网络中进行学习,但不幸的是这种方法比手动提取特征更加糟糕。当Two-Stream CNN出来后才意味着深度学习在动作识别中迈出了重大的一步。
4.2.1 TWO-STREAM CNN
Two-Stream CNN网络顾名思义分为两个部分,一部分处理RGB图像,一部分处理光流图像。最终联合训练,并分类。这篇文章主要有以下三个贡献点。
1)论文提出了two-stream结构的CNN网络,由空间(RGB)和时间(光流)两个维度的网络组成;
2)作者提出了利用网络训练多帧密度光流,以此作为输入能在有限训练数据的情况下取得不错的结果;
3)采用多任务训练的方法将两个动作分类的数据集联合起来,增加训练数据,最终在两个数据集上都取得了更好的效果(作者提到,联合训练也可以去除过拟合的可能)。
网络结构:
因为视频可以分为空间和时间两个部分。空间部分,每一帧代表的是空间信息,比如目标、场景等等。而时间部分是指帧间的运动,包括摄像机的运动或者目标物体的运动信息。所以网络相应的由两个部分组成,分别处理时间和空间两个维度。每个网络都是由CNN和最后的softmax组成,最后的softmax的fusion主要考虑了两种方法:平均,在堆叠的softmax上训练一个SVM。网络的结构图如下所示。
在这里插入图片描述
光流栈(Optical flow Stacking):
光流栈,或者叫做光流的简单叠加。简单的来说就是计算每两帧之间的光流,然后简单的stacking。
考虑对一小段视频进行编码,假设起始帧为T,连续L帧(不包含T帧)。计算两帧之间的光流,最终可以得到L张光流场,每张光流场是2通道的(因为每个像素点有x和y方向的移动)。
在这里插入图片描述
最后将这些光流场输入,得到相应的特征图。
该方法在UCF-101和HMDB-51上取得了与iDT系列最好的一致效果。在UCF-101上准确度为88.0%,在HMDB上准确度为59.4%。
4.2.2 TSN
TSN(Temporal Segments Networks)[5]是在two-Stream CNN基础上改进的网络。目前基于two-stream的方法基本上是由TSN作为骨干网络。

two-stream方法很大的一个弊端就是不能对长时间的视频进行建模,只能对连续的几帧视频提取temporal context。为了解决这个问题,TSN网络提出了一个很有用的方法,先将视频分成K个部分,然后从每个部分中随机的选出一个短的片段,然后对这个片段应用上述的two-stream方法,最后对于多个片段上提取到的特征做一个融合。下图是网络的结构图。
在这里插入图片描述
4.3 C3D方法
C3D(3-Dimensional Convolution)[6]是Two-Stream之外的另一大主流方法,但是目前来看C3D的方法得到的效果普遍比Two-Stream方法低好几个百分点。但是C3D仍然是目前研究的热点,因为该方法比Two-Stream方法快很多,而且基本上都是端到端的训练,网络结构更加简洁。该方法思想非常简单,图像是二维,所以使用二维的卷积核。视频是三维信息,那么可以使用三维的卷积核。所以C3D的意思是:用三维的卷积核处理视频。
网络结构:
C3D共有8次卷积操作,5次池化操作。其中卷积核的大小均为333,步长为111。池化核为222,但是为了不过早的缩减在时序上的长度,第一层的池化大小和步长为122。最后网络再经过两次全连接层和softmax层后得到最终的输出结果。网络的输入为316112112,其中3为RGB三通道,16为输入图像的帧数,112112是图像的输入尺寸。
在这里插入图片描述
4.4 RNN方法
因为视频除了空间维度外,最大的痛点是时间序列问题。而众所周知,RNN网络在NLP方向取得了傲人的成绩,非常适合处理序列。所以除了上述两大类方法以外,另外还有一大批的研究学者希望使用RNN网络思想来解决动作识别问题。

典型工作有中科院深圳先进院乔宇老师的工作:《RPAN:An End-to-End Recurrent Pose-Attention Network for Action Recognition in Videos》[7]。这篇文章是ICCV2017年的oral文章。但是与传统的Video-level category训练RNN不同,这篇文章还提出了Pose-attention的机制。
在这里插入图片描述
这篇文章主要有以下几个贡献点:
1)不同于之前的pose-related action recognition,这篇文章是端到端的RNN,而且是人体姿态的时空演变;
2)不同于独立的学习关节点特征(human-joint features),这篇文章引入的pose-attention机制通过不同语义相关的关节点(semantically-related human joints)分享attention参数,然后将这些通过human-part pooling层联合起来;
3)视频姿态估计,通过文章的方法可以给视频进行粗糙的姿态标记。

此外,RNN方向比较新的研究包括如下:

1)2018 Zhenxing ZHENG等人的《Multi-Level Recurrent Residual Networks for Action Recognition》,提出了一种新的多层次循环残差网络(MRRN),它结合了三种识别流。每个流由一个剩余网络(resnet)和一个循环模型组成。该模型通过使用两个可选的网格从静态帧中学习空间表示,并使用叠加简单循环单元(SRU)来建模时间动态,从而捕获时空信息。通过计算SoftMax分数的加权平均值来融合三个独立学习的低、中、高级别表示的不同级别流,以获得视频的互补表示。与以前以时间复杂度和空间复杂度为代价提高性能的模型不同,该模型通过使用快捷连接降低了复杂度,并以更高的效率进行端到端培训。与CNN-RNN框架基线相比,MRRN显示出显著的性能改进,并获得了与最新技术相当的性能,在HMDB-51数据集上达到51.3%,在UCF-101数据集上达到81.9%,尽管没有额外的数据。
在这里插入图片描述
2)2019年Lin Sun等人的《Coupled Recurrent Network (CRN)》,提出了一种新的循环结构,称为耦合循环网络(CRN),用于处理多个输入源。在CRN中,RNN的并行流耦合在一起。CRN的关键设计是一个循环解释块(RIB),它支持以循环方式从多个信号中学习互易特征表示。与在每个时间步或最后一个时间步叠加训练损失的RNN不同,也提出了一种有效的CRN训练策略。实验证明了该方法的有效性。特别是,在人类动作识别和多人姿态估计的基准数据集上取得了新的进展。

5 小结
视频动作识别是视频理解的重要内容,也是计算机视觉领域的重要组成部分,在视频信息检索、日常生活安全、公共视频监控、人机交互、科学认知等领域都有广泛的应用前景和社会价值,是值得长期投入的课题。

但动作识别和检测的关系就类似于图像识别和图像检测,可以说识别是检测的一部分或者说是前期准备,因而目前的研究热点主要集中于难度更大的动作检测部分。动作检测将在下一篇文章中予以介绍。

参考文献
[1] Wang H, Schmid C. Action recognition with improved trajectories[C]//Computer Vision (ICCV), 2013 IEEE International Conference on. IEEE, 2013: 3551-3558.
[2] Wang H, Kläser A, Schmid C, et al. Dense trajectories and motion boundary descriptors for action recognition[J]. International journal of computer vision, 2013, 103(1): 60-79.
[3] Simonyan K, Zisserman A. Two-stream convolutional networks for action recognition in videos[C]//Advances in neural information processing systems. 2014: 568-576.
[4] Feichtenhofer C, Pinz A, Zisserman A P. Convolutional two-stream network fusion for video action recognition[J]. 2016.
[5] Wang L, Xiong Y, Wang Z, et al. Temporal segment networks: Towards good practices for deep action recognition[C]//European Conference on Computer Vision. Springer, Cham, 2016: 20-36.
[6] Tran D, Bourdev L, Fergus R, et al. Learning spatiotemporal features with 3d convolutional networks[C]//Computer Vision (ICCV), 2015 IEEE International Conference on. IEEE, 2015: 4489-4497.
[7] Du W, Wang Y, Qiao Y. Rpan: An end-to-end recurrent pose-attention network for action recognition in videos[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017: 3725-3734.
[8] Karpathy A, Toderici G, Shetty S, et al. Large-scale video classification with convolutional neural networks[C]//Proceedings of the IEEE conference on Computer Vision and Pattern Recognition. 2014: 1725-1732.

本文参考了众多网络资料及论文原文,在此表示感谢!!
在这里插入图片描述 (关注微信公众号“StrongerTang”,看更多文章,和小汤一起学习,一同进步!)


http://chatgpt.dhexx.cn/article/p5hJUva8.shtml

相关文章

动作识别概况

文章目录 一、动作识别二、动作识别的难点三、动作识别现在常用的方法四、行为识别的两个方向五、常用数据集六、常用框架介绍 一、动作识别 主要目标是判断一段视频中人的行为的类别,所以也可以叫做 Human Action Recognition。 二、动作识别的难点 1.类内和类之…

动作/行为识别调研

动作识别调研 1. 简介1.1 基本概念1.2 难点 2. 人体动作识别系统2.1 传统方法2.1.1 iDT框架 2.2 深度学习方法2.2.1 Two-Stream双流架构2.2.2 3D卷积架构2.2.3 CNNLSTM架构2.2.4 GCN架构 相关文献 1. 简介 动作识别(Action Recognition),就是从视频片段&#xff08…

2022广州大学计算机网络实验--使用网络协议分析器捕捉和分析协议数据包

广州大学学生实验报告 开课学院及实验室:计算机科学与工程实验室 2022年**月**日 学院 计算机科学与教育软件 年级、专业、班 ****** 姓名 **** 学号 *******39 实验课程名称 计算机网络实验 成绩 实验项目名称 使用网络协议分析器…

五个好用的网络协议分析工具(附下载地址)

Network Packet Analyzer,是一种网络分析程序,可以帮助网络管理员捕获、交互式浏览网络中传输的数据包和分析数据包信息等。这里给出了5个最好的网络数据包分析工具,具体如下: 1. Wireshark 相信大家都很熟悉,就不多…

网络协议安全分析

网络安全层次结构 物理层 在通信线路上保障不被搭线,不被偷听,尽可能检测出来。 数据链路层 a.点对点的链路上可以采用通信保密机进行加解密。 b.由第层硬件完成,对上层透明。 c.缺陷:无法适应多个路由器的网络,尤其I…

各网络协议分析

IP ip头 ![Image][IPstr] Wireshark ![Image][IPstr2] 名称值含义可选值占位IP版本0100IPV40110:IPV64bit头部长度010120bytes(5)可表示的最大值为1111(60bytes(15))4bit服务类型0x00默认转发(DF)8bit总长度52首部和数据之和最大为2^16-165535字节16bit标识0x239d它是一个…

网络协议分析(结合版)

初识协议 1.什么是协议? 数据从源地点传输到目的地点,网络上所有设备需要“讲”相同的“语言”。 描述网络通信中如何规范使用“语言” 的一组规则就是协议。 2.数据通信协议: 决定数据的格式和数据的传输的一组规则或者一组惯例 协议分层 ARP协议 …

计算机网络--使用网络协议分析器捕捉和分析协议数据包

实验目的 (1)、 熟悉ethereal的使用 (2)、 验证各种协议数据包格式 (3)、 学会捕捉并分析各种数据包。 实验环境 Window 10,ethereal,winpcap 实验内容 (1&#xff…

网络协议分析-TCP协议分析

目录 一 . TCP协议的应用二 . TCP包结构三 . 实例化 一 . TCP协议的应用 二 . TCP包结构 源端口号( 16 位):它(连同源主机 IP 地址)标识源主机的一个应用进程。 目的端口号( 16 位)&#xff1a…

计算机网络 实验三 使用网络协议分析器捕捉和分析协议数据包

学院 计算机学院 年级、专业、班 软件工程 姓名 涂山 学号 170****** 实验课程名称 计算机网络实验 成绩 实验项目名称 使用网络协议分析器捕捉和分析协议数据包 指导老师 (1)实验目的…

实例:使用网络分析仪进行电缆测试

本应用测试针对非标称50Ω的线缆,包括同轴、双绞线、差分高速数据线的测试,包括阻抗参数、S参数(插损、驻波、Smith图等等),也可以绘制眼图。 根据电缆的性能,如频率范围、长度、是否差分,设置…

协议数据分析

实验目的 了解协议分析仪的使用方法和基本特点。 增强对网络协议的理解。 实验要求 要求在进行协议数据分析后,能够将网络数据与具体的网络操作相互映证,如实的记录实验结果,完成实验 实验环境 1.一台运行Windows 2000的计…

五个好用的网络协议分析工具

Network Packet Analyzer,是一种网络分析程序,可以帮助网络管理员捕获、交互式浏览网络中传输的数据包和分析数据包信息等。这里给出了5个最好的网络数据包分析工具,具体如下: 1. Wireshark 相信大家都很熟悉,就不多介…

【计算机网络】IP协议分析

实验目的 应用所学知识: ①熟悉IP报文格式以及关键字段含义。 ②掌握IP地址的分配方法。 ③理解路由器转发IP数据报的流程。 实验步骤与结果 1.任务一:观察路由表 打开Router0命令行输入指令查看路由表: Router0存在三条直接路由&#xf…

网络协议分析总结

网络协议分析 ARP协议协议格式工作原理 TCP/IP协议簇的层次及OSI/RM模型的网络层次及各层的主要作用及各层的主要协议TCP/IP协议簇的层次物理层:数据链路层网络层传输层应用层 OSI七层参考模型ISO/OSI参考模型与TCP/IP协议模型中各层的对应关系 面向连接、无连接的最…

计算机网络实验三:使用网络协议分析器捕捉和分析协议数据包

一、实验目的 (1) 熟悉 ethereal 的使用 (2) 验证各种协议数据包格式 (3) 学会捕捉并分析各种数据包。 二、使用仪器、器材 Wireshark软件,window10系统计算机 三、实验内容及原理 (1) 安装 ethereal 软件 (2) 捕捉…

计算机网络-实验三:使用网络协议分析器捕捉和分析协议数据包

一、实验目的 (1) 熟悉ethereal的使用 (2) 验证各种协议数据包格式 (3) 学会捕捉并分析各种数据包。 二、实验环境 安装了TCP/IP协议的Windows系统,包含实用的网络工具。 三、实验内容 (1) 安装ethereal软件 (2) 捕捉数…

ZVL3网络分析仪

ZVL3 Rohde&Schwarz ZVL3 3G矢量网络分析仪|罗德与施瓦茨 9KHz至3GHz 罗德与施瓦茨Rohde&Schwarz 性能特点&#xff1a; 频率范围 9kHz至3GHz/6 GHz(典型值为5kHz) 测量时间(201个测量点&#xff0c;以校准的双端口) <75ms 数据传输(201个测量点) 在100Mbit/sLAN…

实验01 使用网络协议分析仪Wireshark分析数据链路层帧结构实验报告

这个格式可能有点问题&#xff0c;文档下载地址&#xff1a;https://download.csdn.net/download/mariodf/20203129?spm1001.2014.3001.5503 一、实验名称 分析数据链路层帧结构 二、实验目的 1.安装并学会使用Wireshark的一些基本功能&#xff1b; 2.学会分析、理解俘获的…

网络协议分析(最全)

网络协议分析 1.基于Fiddler的HTTP/HTTPS协议分析 关于Fiddler&#xff1a; Fiddler是一款由C#开发的免费http调试代理软件&#xff0c;有.net 2和.net 4两种版本。Fiddler能够记录所有的电脑和互联网之间的http通讯&#xff0c;Fiddler 可以也可以检查所有的http通讯&…