English | 简体中文
- 📄 目录
- 🥳 🚀 最新进展
- 📖 简介
- 🎁 主要功能
- 🛠️ 安装
- 👀 模型库
- 👨🏫 新手入门
- 🎫 许可证
- 🖊️ 引用
- 🙌 参与贡献
- 🤝 致谢
- 🏗️ OpenMMLab 的其他项目
- ❤️ 欢迎加入 OpenMMLab 社区
🥳 🚀 最新进展 🔝
默认分支已经从 master
(当前的0.x
) 切换到 main
(之前的 1.x
),我们建议用户更新至最新版本,其支持更多模型,更强的预训练权重,以及更简洁的代码实现。详情请参阅迁移指南
Release (2023.07.04): v1.1.0 支持以下新功能:
- 支持基于 CLIP 的多模态模型: ActionCLIP(Arxiv'2021) 和 CLIP4clip(ArXiv'2022)
- 支持丰富的 project: 手势识别, 时空行为检测 tutorial, 以及基于 MMRazor 的知识蒸馏
- 支持 HACS-segments 数据集(ICCV'2019), MultiSports 数据集(ICCV'2021), Kinetics-710 数据集(Arxiv'2022)
- 支持 VideoMAE V2(CVPR'2023), VideoMAE(NeurIPS'2022) 支持时空行为检测任务
- 支持 TCANet(CVPR'2021)
- 支持 纯 Python 风格的配置文件 和使用 MIM 一键下载数据集
📖 简介 🔝
MMAction2 是一款基于 PyTorch 开发的行为识别开源工具包,是 open-mmlab 项目的一个子项目。
🎁 主要功能 🔝
-
模块化设计: 我们将视频理解框架拆分成了不同模块,用户可以很方便地通过组合不同的模块来构建出自定义的视频理解框架。
-
支持五种主要的视频理解任务: MMAction2 为视频理解任务实现了多种多样的算法,包括行为识别,时序动作定位,时空动作检测,基于骨骼点的行为识别,以及视频检索。
-
详尽的单元测试和文档:我们提供了详尽的文档和 API 参考手册,以及单元测试。
🛠️ 安装 🔝
MMAction2依赖于 PyTorch,MMCV,MMEngine,MMDetection (可选)和 MMPose (可选)
具体步骤请参考 安装文档。
快速安装
conda create --name openmmlab python=3.8 -y
conda activate open-mmlab
conda install pytorch torchvision -c pytorch # 该命令将自动安装最新版的 PyTorch 和 cudatoolkit,请确认此是否匹配你的当前环境。
pip install -U openmim
mim install mmengine
mim install mmcv
mim install mmdet # 可选
mim install mmpose # 可选
git clone https://github.com/open-mmlab/mmaction2.git
cd mmaction2
pip install -v -e .
👀 模型库 🔝
结果及模型位于模型库
模型支持
行为识别 | ||||
C3D (CVPR'2014) | TSN (ECCV'2016) | I3D (CVPR'2017) | C2D (CVPR'2018) | 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) |
MultiModality: Audio (ArXiv'2020) | TANet (ArXiv'2020) | TimeSformer (ICML'2021) | ActionCLIP (ArXiv'2021) | VideoSwin (CVPR'2022) |
VideoMAE (NeurIPS'2022) | MViT V2 (CVPR'2022) | UniFormer V1 (ICLR'2022) | UniFormer V2 (Arxiv'2022) | VideoMAE V2 (CVPR'2023) |
时序动作定位 | ||||
BSN (ECCV'2018) | BMN (ICCV'2019) | TCANet (CVPR'2021) | ||
时空行为检测 | ||||
ACRN (ECCV'2018) | SlowOnly+Fast R-CNN (ICCV'2019) | SlowFast+Fast R-CNN (ICCV'2019) | LFB (CVPR'2019) | VideoMAE (NeurIPS'2022) |
基于骨骼点的行为识别 | ||||
ST-GCN (AAAI'2018) | 2s-AGCN (CVPR'2019) | PoseC3D (CVPR'2022) | STGCN++ (ArXiv'2022) | CTRGCN (CVPR'2021) |
MSG3D (CVPR'2020) | ||||
视频检索 | ||||
CLIP4Clip (ArXiv'2022) |
数据集支持
行为识别 | |||
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) | Kinetics-710 (官网) (Arxiv'2022) | ||
时序动作定位 | |||
THUMOS14 (官网) (THUMOS Challenge 2014) | ActivityNet (官网) (CVPR'2015) | HACS (官网) (ICCV'2019) | |
时空行为检测 | |||
UCF101-24* (官网) (CRCV-IR-12-01) | JHMDB* (官网) (ICCV'2015) | AVA (官网) (CVPR'2018) | AVA-Kinetics (官网) (Arxiv'2020) |
基于骨架的行为识别 | |||
PoseC3D-FineGYM (官网) (ArXiv'2021) | PoseC3D-NTURGB+D (官网) (ArXiv'2021) | PoseC3D-UCF101 (官网) (ArXiv'2021) | PoseC3D-HMDB51 (官网) (ArXiv'2021) |
视频检索 | |||
MSRVTT (官网) (CVPR'2016) |
👨🏫 新手入门 🔝
我们提供了一系列简明的教程,帮助新用户轻松上手使用:
基于 MMAction2 的社区工作
🎫 许可证 🔝
本项目基于 Apache 2.0 license 发布。
🖊️ 引用 🔝
如你发现本项目对你的研究有帮助,请参考如下 bibtex 引用 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 是一款由来自不同高校和企业的研发人员共同参与贡献的开源项目。我们感谢所有为项目提供算法复现和新功能支持的贡献者,以及提供宝贵反馈的用户。 我们希望此工具箱可以帮助大家来复现已有的方法和开发新的方法,从而为研究社区贡献力量。
🏗️ OpenMMLab 的其他项目 🔝
- MMEngine: OpenMMLab 深度学习模型训练基础库
- MMCV: OpenMMLab 计算机视觉基础库
- MIM: MIM 是 OpenMMlab 项目、算法、模型的统一入口
- MMEval: 统一开放的跨框架算法评测库
- MMPreTrain: OpenMMLab 深度学习预训练工具箱
- MMDetection: OpenMMLab 目标检测工具箱
- MMDetection3D: OpenMMLab 新一代通用 3D 目标检测平台
- MMRotate: OpenMMLab 旋转框检测工具箱与测试基准
- MMYOLO: OpenMMLab YOLO 系列工具箱与测试基准
- MMSegmentation: OpenMMLab 语义分割工具箱
- MMOCR: OpenMMLab 全流程文字检测识别理解工具包
- MMPose: OpenMMLab 姿态估计工具箱
- MMHuman3D: OpenMMLab 人体参数化模型工具箱与测试基准
- MMSelfSup: OpenMMLab 自监督学习工具箱与测试基准
- MMRazor: OpenMMLab 模型压缩工具箱与测试基准
- MMFewShot: OpenMMLab 少样本学习工具箱与测试基准
- MMAction2: OpenMMLab 新一代视频理解工具箱
- MMTracking: OpenMMLab 一体化视频目标感知平台
- MMFlow: OpenMMLab 光流估计工具箱与测试基准
- MMagic: OpenMMLab 新一代人工智能内容生成(AIGC)工具箱
- MMGeneration: OpenMMLab 图片视频生成模型工具箱
- MMDeploy: OpenMMLab 模型部署框架
- Playground: 收集和展示 OpenMMLab 相关的前沿、有趣的社区项目
❤️ 欢迎加入 OpenMMLab 社区 🔝
扫描下方的二维码可关注 OpenMMLab 团队的 知乎官方账号,扫描下方微信二维码添加喵喵好友,进入 MMAction2 微信交流社群。【加好友申请格式:研究方向+地区+学校/公司+姓名】
我们会在 OpenMMLab 社区为大家
- 📢 分享 AI 框架的前沿核心技术
- 💻 解读 PyTorch 常用模块源码
- 📰 发布 OpenMMLab 的相关新闻
- 🚀 介绍 OpenMMLab 开发的前沿算法
- 🏃 获取更高效的问题答疑和意见反馈
- 🔥 提供与各行各业开发者充分交流的平台
干货满满 📘,等你来撩 💗,OpenMMLab 社区期待您的加入 👬