English | 简体中文
MMAction2 是一款基于 PyTorch 的视频理解开源工具箱,是 OpenMMLab 项目的成员之一
主分支代码目前支持 PyTorch 1.3 以上的版本
-
模块化设计:MMAction2 将统一的视频理解框架解耦成不同的模块组件,通过组合不同的模块组件,用户可以便捷地构建自定义的视频理解模型
-
支持多种任务和数据集:MMAction2 支持多种视频理解任务,包括动作识别,时序动作检测,时空动作检测以及基于人体姿态的动作识别,总共支持 27 种算法和 20 种数据集
-
详尽的单元测试和文档:MMAction2 提供了详尽的说明文档,API 接口说明,全面的单元测试,以供社区参考
- (2021-11-24) 在 NTU60 XSub 上支持 2s-AGCN, 在 joint stream 和 bone stream 上分别达到 86.06% 和 86.89% 的识别准确率。
- (2021-10-29) 支持基于 skeleton 模态和 rgb 模态的时空动作检测和行为识别 demo (demo/demo_video_structuralize.py)。
- (2021-10-26) 在 NTU60 3d 关键点标注数据集上训练测试 STGCN, 可达到 84.61% (高于 paper 中的 81.5%) 的识别准确率。
- (2021-10-25) 提供将 NTU60 和 NTU120 的 3d 骨骼点数据转换成我们项目的格式的脚本(tools/data/skeleton/gen_ntu_rgbd_raw.py)。
- (2021-10-25) 提供使用自定义数据集训练 PoseC3D 的 教程,此 PR 由用户 bit-scientist 完成!
- (2021-10-16) 在 UCF101, HMDB51 上支持 PoseC3D,仅用 2D 关键点就可分别达到 87.0% 和 69.3% 的识别准确率。两数据集的预提取骨架特征可以公开下载。
v0.21.0 版本已于 2021 年 12 月 31 日发布,可通过查阅 更新日志 了解更多细节以及发布历史
请参考 安装指南 进行安装
请参考 基础教程 了解 MMAction2 的基本使用。MMAction2也提供了其他更详细的教程:
MMAction2 也提供了相应的中文 Colab 教程,可以点击 这里 进行体验!
行为识别方法 | |||||
C3D (CVPR'2014) | TSN (ECCV'2016) | I3D (CVPR'2017) | I3D Non-Local (CVPR'2018) | R(2+1)D (CVPR'2018) | |
TRN (ECCV'2018) | TSM (ICCV'2019) | TSM Non-Local (ICCV'2019) | SlowOnly (ICCV'2019) | SlowFast (ICCV'2019) | |
CSN (ICCV'2019) | TIN (AAAI'2020) | TPN (CVPR'2020) | X3D (CVPR'2020) | OmniSource (ECCV'2020) | |
MultiModality: Audio (ArXiv'2020) | TANet (ArXiv'2020) | TimeSformer (ICML'2021) | |||
时序动作检测方法 | |||||
SSN (ICCV'2017) | BSN (ECCV'2018) | BMN (ICCV'2019) | |||
时空动作检测方法 | |||||
ACRN (ECCV'2018) | SlowOnly+Fast R-CNN (ICCV'2019) | SlowFast+Fast R-CNN (ICCV'2019) | LFB (CVPR'2019) | ||
基于骨骼点的动作识别方法 | |||||
ST-GCN (AAAI'2018) | 2s-AGCN (CVPR'2019) | PoseC3D (ArXiv'2021) |
各个模型的结果和设置都可以在对应的 config 目录下的 README_zh-CN.md 中查看。整体的概况也可也在 模型库 页面中查看
MMAction2 将跟进学界的最新进展,并支持更多算法和框架。如果您对 MMAction2 有任何功能需求,请随时在 问题 中留言。
动作识别数据集 | |||
HMDB51 (主页) (ICCV'2011) | UCF101 (主页) (CRCV-IR-12-01) | ActivityNet (主页) (CVPR'2015) | Kinetics-[400/600/700] (主页) (CVPR'2017) |
SthV1 (主页) (ICCV'2017) | SthV2 (主页) (ICCV'2017) | Diving48 (主页) (ECCV'2018) | Jester (主页) (ICCV'2019) |
Moments in Time (主页) (TPAMI'2019) | Multi-Moments in Time (主页) (ArXiv'2019) | HVU (主页) (ECCV'2020) | OmniSource (主页) (ECCV'2020) |
FineGYM (主页) (CVPR'2020) | |||
时序动作检测数据集 | |||
THUMOS14 (主页) (THUMOS Challenge 2014) | ActivityNet (主页) (CVPR'2015) | ||
时空动作检测数据集 | |||
UCF101-24* (主页) (CRCV-IR-12-01) | JHMDB* (主页) (ICCV'2015) | AVA (主页) (CVPR'2018) | |
基于骨骼点的动作识别数据集 | |||
PoseC3D-FineGYM (主页) (ArXiv'2021) | PoseC3D-NTURGB+D (主页) (ArXiv'2021) | PoseC3D-UCF101 (主页) (ArXiv'2021) | PoseC3D-HMDB51 (主页) (ArXiv'2021) |
标记 * 代表对应数据集并未被完全支持,但提供相应的数据准备步骤。整体的概况也可也在 数据集 页面中查看
为了验证 MMAction2 框架的高精度和高效率,开发成员将其与当前其他主流框架进行速度对比。更多详情可见 基准测试
请参考 数据准备 了解数据集准备概况。所有支持的数据集都列于 数据集清单 中
请参考 FAQ 了解其他用户的常见问题
目前有许多研究工作或工程项目基于 MMAction2 搭建,例如:
- Evidential Deep Learning for Open Set Action Recognition, ICCV 2021 Oral. [论文][代码]
- Rethinking Self-supervised Correspondence Learning: A Video Frame-level Similarity Perspective, ICCV 2021 Oral. [论文][代码]
- Video Swin Transformer. [论文][代码]
更多详情可见 相关工作
该项目开源自 Apache 2.0 license
如果你觉得 MMAction2 对你的研究有所帮助,可以考虑引用它:
@misc{2020mmaction2,
title={OpenMMLab's Next Generation Video Understanding Toolbox and Benchmark},
author={MMAction2 Contributors},
howpublished = {\url{https://github.com/open-mmlab/mmaction2}},
year={2020}
}
我们非常欢迎用户对于 MMAction2 做出的任何贡献,可以参考 贡献指南 文件了解更多细节
MMAction2 是一款由不同学校和公司共同贡献的开源项目。我们感谢所有为项目提供算法复现和新功能支持的贡献者,以及提供宝贵反馈的用户。 我们希望该工具箱和基准测试可以为社区提供灵活的代码工具,供用户复现现有算法并开发自己的新模型,从而不断为开源社区提供贡献。
- MMCV: OpenMMLab 计算机视觉基础库
- MIM: MIM 是 OpenMMlab 项目、算法、模型的统一入口
- MMAction2: OpenMMLab 新一代视频理解工具箱与测试基准
- MMClassification: OpenMMLab 图像分类工具箱与测试基准
- MMDeploy: OpenMMLab 模型部署框架
- MMDetection: OpenMMLab 检测工具箱与测试基准
- MMDetection3D: OpenMMLab 新一代通用3D目标检测平台
- MMEditing: OpenMMLab 图像视频编辑工具箱
- MMFewShot: OpenMMLab 少样本学习代码库
- MMFlow: OpenMMLab 光流估计工具箱
- MMGeneration: OpenMMLab 图片视频生成模型工具箱
- MMHuman3D: OpenMMLab 人体姿态和形状估计工具箱
- MMOCR: OpenMMLab 全流程文字检测识别理解工具包
- MMPose: OpenMMLab 姿态估计工具箱与测试基准
- MMRazor: OpenMMLab 模型压缩工具箱与测试基准
- MMSegmentation: OpenMMLab 语义分割工具箱与测试基准
- MMSelfSup: OpenMMLab 自监督学习工具箱与测试基准
- MMTracking: OpenMMLab 一体化视频目标感知平台
扫描下方的二维码可关注 OpenMMLab 团队的 知乎官方账号,加入 OpenMMLab 团队的 官方交流 QQ 群
我们会在 OpenMMLab 社区为大家
- 📢 分享 AI 框架的前沿核心技术
- 💻 解读 PyTorch 常用模块源码
- 📰 发布 OpenMMLab 的相关新闻
- 🚀 介绍 OpenMMLab 开发的前沿算法
- 🏃 获取更高效的问题答疑和意见反馈
- 🔥 提供与各行各业开发者充分交流的平台
干货满满 📘,等你来撩 💗,OpenMMLab 社区期待您的加入 👬