SkelAct:基于骨骼的动作识别模型教程

SkelAct:基于骨骼的动作识别模型教程

skelact skelact 项目地址: https://gitcode.com/gh_mirrors/sk/skelact

1、项目介绍

SkelAct 是一个开源项目,由 Hikvision 研究院提供,旨在提供最先进的基于骨骼的动作识别模型。该项目包含了多个在 PyTorch 中实现的模型,例如 Two-Stream CNN、HCN、HCN-Baseline、Ta-CNN 和 Dynamic GCN。这些模型在多个动作识别数据集上取得了优异的性能,并被广泛应用于视频监控、人机交互、运动分析等领域。

2、项目快速启动

环境配置

  • Linux (CUDA)
conda create -n skelact python=3.9 -y
conda activate skelact
conda install pytorch=1.11.0 torchvision=0.12.0 cudatoolkit=11.3 -c pytorch -y
pip install 'mmcv-full==1.5.0' -f https://download.openmmlab.com/mmcv/dist/cu113/torch1.11.0/index.html
pip install mmaction2
  • macOS (CPU only)
conda create -n skelact python=3.9 -y
conda activate skelact
conda install pytorch=1.12.0 torchvision=0.13.0 -c pytorch -y
pip install 'mmcv-full==1.5.0'
git clone --depth 1 --branch v0.24.0 https://github.com/open-mmlab/mmaction2.git
cd mmaction2
sed -i '' '/decord/d' requirements/build.txt # remove decord from requirements
CC=clang CXX=clang++ CFLAGS='-stdlib=libc++' pip install 

数据准备

使用 gen_ntu_rgbd_raw.py 脚本预处理 NTU RGB+D 数据集,并将其放置在 data/ 目录下,结构如下:

data/
└── ntu
    └── nturgb+d_skeletons_60_3d
        ├── xsub
        │   ├── train.pkl
        │   └── val.pkl
        └── xview
            ├── train.pkl
            └── val.pkl

训练模型

使用以下命令训练模型:

/tools/run.sh $[CONFIG_FILE] $[GPU_IDS] $[SEED]

例如,使用 2 个 GPU 训练 HCN 模型:

/tools/run.sh configs/hcn/hcn_ntu60_xsub_joint.py 0 1 0

测试模型

使用以下命令测试模型:

python tools/test.py $[CONFIG_FILE] $[CHECKPOINT_FILE] [optional arguments]

例如,测试 HCN 模型:

python tools/test.py configs/hcn/hcn_ntu60_xsub_joint.py work_dirs/hcn_ntu60_xsub_joint/best_top1_acc_epoch_475.pth --eval top_k_accuracy --cfg-options "gpu_ids=[0]"

3、应用案例和最佳实践

SkelAct 可以应用于各种基于骨骼的动作识别任务,例如:

  • 人机交互:识别用户手势,控制智能家居设备或游戏。
  • 运动分析:分析运动员的动作,提高训练效率。
  • 视频监控:识别异常行为,提高安全防范能力。

最佳实践:

  • 数据预处理:确保数据集格式正确,并进行必要的预处理,例如归一化、裁剪等。
  • 模型选择:根据任务需求选择合适的模型,并进行参数调整。
  • 数据增强:使用数据增强技术提高模型的泛化能力。
  • 模型评估:使用合适的评估指标评估模型性能,并进行优化。

4、典型生态项目

SkelAct 与其他开源项目有着良好的生态关系,例如:

  • MMAction2:一个用于动作识别的开源框架,提供了丰富的工具和模块。
  • OpenPose:一个用于人体姿态估计的开源项目,可以生成骨骼数据。
  • AlphaPose:一个基于 OpenPose 的轻量级人体姿态估计模型。

skelact skelact 项目地址: https://gitcode.com/gh_mirrors/sk/skelact

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

石乾银

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值