基于骨架的动作识别的时空图卷积网络-学习

基于骨架的动作识别的时空图卷积网络-学习

目录

基于骨架的动作识别的时空图卷积网络-学习

一、项目介绍

1.1相关论文

1.2项目代码

1.3数据集

二、环境搭建

2.1.conda虚拟环境

2.导入库

3.配置PyCharm

三,运行项目

总结



一、项目介绍

1.1相关论文

        论文标题:Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition

        论文主要内容:提出了一种新的动态骨架模型,称为时空图卷积网络(ST-GCN),它通过自动从数据中学习空间和时间模式,超越了以前方法的限制。这种提法不仅具有更强的表达能力,而且具有更强的泛化能力。在两个大型数据集,Kinetics和NTU-RGBD上,它比主流方法取得了实质性的改进。

        论文链接:https://arxiv.org/abs/1801.07455

1.2项目代码

        项目标题:Human Action Recognition

        项目内容:对ST -GCN进行复现

        项目链接:https://github.com/yongqyu/st-gcn-pytorch

1.3数据集

        数据集名:Florence 3D actions dataset

        数据集内容:215 个视频, 10 表演者,8个用于训练 1个用于验证 1个用于测试,每个视频大约有1s的时间,有9个动作:挥手,喝水,接电话,鼓掌,系紧鞋带,坐下,站起来,看表,鞠躬。分为15个 部位: 头部、颈部、脊柱、左肩、左肘、左腕、右肩、右肘、右腕、左髋、左膝、左踝、右髋、右膝、右踝。现在的数据集人体的点位更多比如说mediapipe就有32个点位。

        数据集链接:https://www.micc.unifi.it/resources/datasets/florence-3d-actions-dataset/

二、环境搭建

2.1.conda虚拟环境

安装任意本版的miniconda并启动

输入以下命令创建conda虚拟环境,基础命令如下,conda create -n name python=version,name可以任意取

conda create -n pytorch1.0 python=3.6

输入以下命令进入pytorch1.0的环境

 activate pytorch1.0

2.导入库

代码如下:

conda install pytorch-cpu==1.0.0 torchvision-cpu==0.2.1 cpuonly -c pytorch
pip install numpy
pip install scikit-learn

如果下载太慢可以通过以下方式换源:

pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple/

3.配置PyCharm

按如下方式配置PyCharm,使用conda虚拟环境

PyCharm 中点击 设置->项目->Python 解释器->添加解释器->conda 环境->解释器选择 pytorch1.0

三,运行项目

由于前面配置环境的时候采用的CUDA一直报错,故采用的CPU版本的pytorch

如遇代码报错:

报错位置main.py里的这部分

target = test_label[i]
test_loss += criterion(logit, target.view(1)).item()

请将代码改为这种形式

target_view1 = target.view(1)
target_view1 = target_view1.to(torch.int64)
test_loss += criterion(logit, target_view1).item()

基于骨架的动作识别的时空图卷积网络-学习_第1张图片

基于骨架的动作识别的时空图卷积网络-学习_第2张图片

参数数量:69667

模型大小: 3.21 MB

训练时间: 19.649268 s for 30 epochs

Test acc为测试集精确度


总结

第一次尝试写博客,这个项目仅支持Florence 3D actions dataset这一个数据集,并且不是论文中给出的代码,学起来感觉收获不大,可以看看项目中给出的ppt:gcn_ar.pptx,这个ppt里英文韩文都有,需要翻译一下。后面学习的项目找了一个21年的论文给的项目,尝试复现一下。

你可能感兴趣的:(行为识别项目学习,python,pandas)