动作识别
本目录包含用于构建基于视频的动作识别系统的资源。我们的目标是让用户能够轻松快速地在他们自己的自定义数据集上训练出高精度和快速的模型。
动作识别(也称为活动识别)包括从一系列帧中对各种动作进行分类,例如“阅读”或“饮酒”
Notebook
提供了以下示例笔记本
笔记本 | 描述 |
---|---|
00_webcam | 在网络摄像头输入上进行实时推理的示例。 |
01_training_introduction | 动作识别简介:训练、评估、预测 |
01_training_introduction | 在HMDB-51数据集上进行微调。 |
02_video_transformation | 视频转换示例。 |
此外,数据标注工具位于video_annotation子文件夹中。
技术
动作识别是一个活跃的研究领域,每年都有大量的研究方法发表。其中一种突出的方法是R(2+1)D模型,该模型在2019年的论文“用于视频动作识别的大规模弱监督预训练”中进行了描述。
R(2+1)D精度高,同时比其他方法快得多
- 其准确性主要来自于一个额外的预训练步骤,该步骤使用了6500万个自动标注的视频片段。
- 其速度来自于简单地使用视频帧作为输入。许多其他最先进的方法需要预先计算光流场,这在计算上是昂贵的(请参阅下面的“推理速度”部分)。
我们的实现和预训练权重基于这个github存储库,并添加了功能,使自定义模型的训练和评估更加用户友好。我们使用IG-Kinetics数据集进行预训练,然而目前仅在HMDB-51数据集上发布的结果使用了更小(且噪声更少)的Kinetics数据集。尽管如此,下面的结果表明我们的实现能够达到并超越HMDB-51上的最先进准确性
模型 | 预训练数据集 | 论文中报告 | 我们的结果 |
---|---|---|---|
R(2+1)D | Kinetics | 74.5% | |
R(2+1)D | IG-Kinetics | 79.8% |
最先进
下面列出了该领域流行的基准数据集以及最先进的出版物。请注意,这些信息相当详尽,应该涵盖了截至2018年的许多主要出版物。然而,请预料到一定程度的不完整和轻微不准确(例如,出版年份可能上下浮动一年)。
我们建议阅读以下内容以熟悉该领域
- 作为动作识别的介绍,博客视频深度学习:2018年动作识别指南。
- ActionRecognition.net,获取流行研究基准数据集上的最新最先进准确性。
- 下面出版物表中的三篇带有链接的论文。
流行数据集
名称 | 年份 | 类别数量 | #片段 |
---|---|---|---|
KTH | 2004 | 6 | 600 |
Weizmann | 2005 | 9 | 81 |
HMDB-51 | 2011 | 51 | 6.8k |
UCF-101 | 2012 | 101 | 13.3k |
Sports-1M | 2014 | 487 | 1M |
ActivityNet | 2015 | 200 | 28.1k |
Charades | 2016 | 157 | 来自9848个视频的66.5k |
Kinetics-400 | 2017 | 400 | 306k |
Something-Something | 2017 | 174 | 110k |
Kinetics-600 | 2018 | 600 | 496k |
AVA | 2018 | 80 | 来自430个视频的1.6M |
Youtube-8M片段 | 2019 | 1000 | 237k |
IG-Kinetics | 2019 | 359 | 65M |
热门出版物
年份 | UCF101准确性 | HMDB51准确性 | Kinetics准确性 | 预训练于 | |
---|---|---|---|---|---|
从电影中学习真实人类动作 | 2008 | - | |||
改进轨迹的动作识别 | 2013 | 57% | - | ||
用于动作识别的3D卷积神经网络 | 2013 | - | |||
用于视频动作识别的双流卷积网络 | 2014 | 86% | 58% | 结合UCF101和HMDB51 | |
使用CNN进行大规模视频分类 | 2014 | 65% | Sports-1M | ||
超越短片段:用于视频分类的深度网络 | 2015 | 88% | Sports-1M | ||
使用3D卷积网络学习时空特征 | 2015 | 85% | Sports-1M | ||
时空CNN的初始化策略 | 2015 | 78% | ImageNet | ||
时间分割网络:深度动作识别的良好实践 | 2016 | 94% | 69% | ImageNet | |
用于视频动作识别的卷积双流网络融合 | 2016 | 91% | 58% | - | |
何去何从,动作识别?新模型和Kinetics数据集 I3D模型 | 2017 | 98% | 81% | 74% | Kinetics (+ImageNet) |
用于动作识别的隐藏双流卷积网络 | 2017 | 97% | 79% | ||
时间3D ConvNets:用于视频分类的新架构和迁移学习 | 2017 | 93% | 64% | 62% | Kinetics (+ImageNet) |
用于视频理解的运动表示端到端学习 (TVNet) | 2018 | 95% | 71% | ImageNet | |
ActionFlowNet:学习动作识别的运动表示 | 2018 | 84% | 56% | 光流数据集 | |
更仔细地审视用于动作识别的时空卷积 R(2+1)D模型 | 2018 | 97% | 79% | 74% | Kinetics |
重新思考视频理解的时空特征学习, | 2018 | 97% | 76% | 77% | |
时空3D CNN能否追溯2D CNN和ImageNet的历史? | 2018 | ||||
用于视频动作识别的大规模弱监督预训练 R(2+1)D模型 | 2019 | 81% | 6500万个自动标注的网络视频(不公开) | ||
用于动作识别的表示流 | 2019 | 81% | 78% | Kinetics | |
与流共舞:二合一流动作识别 | 2019 | 92% | ImageNet |
推理速度
大多数出版物侧重于准确性而非推理速度。下面来自论文“用于动作识别的表示流”的图是一个值得注意的例外。请注意R(2+1)D的速度有多快,仅需471毫秒,特别是与需要光流场作为DNN输入的其他方法(“流”或“双流”)相比。
编码指南
请参阅根目录中的编码指南