AI进阶实战营——骨骼点动作识别

Posted AI浩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AI进阶实战营——骨骼点动作识别相关的知识,希望对你有一定的参考价值。

第一天

第一步:创建Notebook模型任务

**step1:**进入BML主页,点击立即使用

🔗:https://ai.baidu.com/bml/

**step2:**点击Notebook,创建“通用任务”

**step3:**填写任务信息。注意这里的信息要填写您所在的企业信息,即归属要选择公司,并输入您自身所在的公司全称。如果您还在上学,请输入学校全称。既不是企业员工也不是学生,归属才能选择个人。


第二步:下载数据集

下载链接:https://aistudio.baidu.com/aistudio/datasetdetail/128506

四个文件都需要下载

第三步:下载任务操作模板

**下载链接:**https://aistudio.baidu.com/aistudio/datasetdetail/128507

第二天

第一步:配置Notebook

1.找到昨天创建的Notebook任务,点击配置

2.配置选择

  • 开发语言:Python3.7
  • AI框架:PaddlePaddle2.0.0
  • 资源规格:GPU V100(限时免费,注意时间)

3.打开Notebook

4.上传本次Notebook操作模型、数据集、测试集,共5个文件

第一步:环境准备

1.下载PaddleVideo、

2.安装PaddleVideo的相关依赖

5.修改配置文件(数据路径),找到对应文件,打开,修改训练集和测试集路径

改成这样(必须英文输入)

6.保存yaml文件和Notebook文件

记得截图最后一步完成打卡

打卡截图示例:

第三天

文档指导:

1.重新启动打开Notebook任务

2.重新进入PaddleVideo目录,然后重新配置代码环境,安装依赖

3.进行模型训练,约需要半小时训练完成。

  • 训练结果保存在PaddleVideo/output文件夹下

如果你想调整训练参数,可以在configs/recognition/stgcn/stgcn_fsd.yaml文件中找到网络结构与数据路径。

表示我们使用的是ST-GCN算法,framework为RecognizerGCN,backbone是时空图卷积网络STGCN,head使用对应的STGCNHead,数据集分类采用30分类 (用若用户使用10分类数据集,请在此更改为num_classes:10)

若修改为10分类训练,除了修改数据集路径之外,在上一步网络结构中需要修改num_classes。(可以通过降低batch_size来提升实验效果,但是会加长训练时长)

4.进行模型测试

  • 本案例中自带训练权重
  • 通过-c参数指定配置文件,通过-w指定权重存放路径进行模型测试。

ST-GCN模型实验精度

本案例仅选用优化后单模型ST-GCN进行试验,分别在FSD30分类与10分类的测试集下计算模型精度。模型优化策略选用了数据平均抽帧(降维),随机可学习骨骼点子图划分、通过矩阵拼接替换爱因斯坦求和约定操作。下表展示了ST-GCN模型在不同测试集下实验精度结果(单卡NVIDIA GeForce RTX 3070 Ti)

数据集类别Test DataTop-1精度
FSD30分类Test_A60.5%
FSD30分类Test_B58.5%
FSD10分类Test data91.0%

在FSD10分类下需要修改 configs/recognition/stgcn/stgcn_fsd.yaml 文件中num_classesbatch_size等参数。通过修改参数(eg. batch_size:8,16),可以达到91%左右的测试集精度。

记得截图模型测试结果进行打卡哦~

打卡截图示例:

第四天

文档指导:

1.重新启动打开Notebook任务

2.重新进入PaddleVideo目录,然后重新配置代码环境,安装依赖

3.在安装环境依赖后新增一行代码并运行(在安装环境依赖前也可以),升级一下paddlepaddle

代码:!python -m pip install paddlepaddle-gpu==2.1.3.post101 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html

4.进行模型导出,代码有更新,需要替换

更新后的代码:!python3.7 /home/work/PaddleVideo/tools/export_model.py -c /home/work/PaddleVideo/configs/recognition/stgcn/stgcn_fsd.yaml -p /home/work/PaddleVideo/output/STGCN/STGCN_epoch_00090.pdparams -o /home/work/PaddleVideo/output/inference

上述命令将生成预测所需的模型结构文件STGCN.pdmodel和模型权重文件STGCN.pdparams

代码中的参数含义可参考↓:https://github.com/PaddlePaddle/PaddleVideo/blob/release/2.0.0/docs/zh-CN/start.md#2-模型推理

导出后的模型就在 /home/work/PaddleVideo/output/inference里

导出成功界面如下

5.进行模型预测,代码有更新,需要替换

更新后的代码:

!python3.7 /home/work/PaddleVideo/tools/predict.py \\

​ --input_file /home/work/PaddleVideo/data/fsd10/example_skeleton.npy \\

​ --config /home/work/PaddleVideo/configs/recognition/stgcn/stgcn_fsd.yaml \\

​ --model_file /home/work/PaddleVideo/output/inference/STGCN.pdmodel \\

​ --params_file /home/work/PaddleVideo/output/inference/STGCN.pdiparams \\

​ --use_gpu=True \\

​ --use_tensorrt=False

按照上图中的代码注释,确认一下文件名

模型推理成功的截图:

记得截图模型推理成功界面进行打卡

打卡截图示例:

以上是关于AI进阶实战营——骨骼点动作识别的主要内容,如果未能解决你的问题,请参考以下文章

记录:百度3天AI进阶实战营——车牌识别

3天AI进阶实战营——多目标跟踪

3天AI进阶实战营——多目标跟踪

3天AI进阶实战营——多目标跟踪

用华为HMS ML kit人体骨骼识别技术,Android快速实现人体姿势动作抓拍

百度AI进阶实战营第九期:机械手抓取