mmaction2简介
mmaction2是OpenMMLab开发的新一代视频理解工具箱和基准测试平台,基于PyTorch实现。它支持多种视频理解任务,包括:
- 动作识别
- 基于骨骼的动作识别
- 时空动作检测
- 时序动作定位
- 视频检索
mmaction2具有以下特点:
-
模块化设计:将视频理解框架分解为不同组件,用户可以方便地组合各模块构建自定义的视频理解系统。
-
支持多种视频理解任务:实现了各种最新的视频理解算法,覆盖多个研究方向。
-
文档完善:提供详细的文档和API参考,以及单元测试。
-
OpenMMLab生态:遵循OpenMMLab项目的设计规范,可以方便地调用其他OpenMMLab项目(如MMClassification)中的模型。
快速入门
安装
mmaction2依赖PyTorch、MMCV、MMEngine等库,推荐的安装方式是:
conda create --name openmmlab python=3.8 -y
conda activate openmmlab
conda install pytorch torchvision -c pytorch
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 .
详细安装说明请参考安装文档。
使用预训练模型推理
mmaction2提供了丰富的预训练模型,可以直接用于推理:
from mmaction.apis import init_recognizer, inference_recognizer
config_file = 'configs/recognition/tsn/tsn_r50_1x1x3_100e_kinetics400_rgb.py'
checkpoint_file = 'https://download.openmmlab.com/mmaction/recognition/tsn/tsn_r50_1x1x3_100e_kinetics400_rgb/tsn_r50_1x1x3_100e_kinetics400_rgb_20200614-e508be42.pth'
# 初始化模型
model = init_recognizer(config_file, checkpoint_file, device='cuda:0')
# 推理视频
video = 'demo/demo.mp4'
result = inference_recognizer(model, video)
# 打印结果
print(result)
更多使用说明请参考推理文档。
训练自定义数据集
mmaction2支持在自定义数据集上训练模型。主要步骤包括:
- 准备数据集
- 编写数据集配置文件
- 编写模型配置文件
- 训练模型
- 测试模型
详细教程请参考训练和测试文档。
学习资源
- 20分钟上手mmaction2:快速了解mmaction2的整体框架
- 配置文件详解:学习如何配置实验
- 自定义模型:开发新的模型架构
- 自定义数据集:加载自定义数据
- 常见问题:FAQ
模型库
mmaction2实现了大量主流的视频理解算法,包括:
- 动作识别:TSN, TSM, TPN, SlowFast等
- 基于骨骼的动作识别:ST-GCN, ASGCN, MS-G3D等
- 时空动作检测:SlowOnly, SlowFast等
- 时序动作定位:BSN, BMN等
完整的模型列表请参考模型库。
贡献指南
我们欢迎各种形式的贡献,包括但不限于:
- 修复bug
- 新功能开发
- 文档改进
- 性能优化
详细的贡献指南请参考CONTRIBUTING.md。
mmaction2是一个强大而灵活的视频理解工具箱,欢迎更多研究者和开发者加入,共同推动视频AI技术的发展!