上文说到Paddle-Human开源了行为识别模型,但是只能识别摔倒行为,那么现在我们将让模型能够识别更多行为。
一、训练环境搭建
项目地址:
https://github.com/PaddlePaddle/PaddleVideohttps://github.com/PaddlePaddle/PaddleVideo训练STGCN是在PaddleVideo开发套件中完成的
环境可以直接沿用上一篇博客里面的环境,毕竟torch装一遍太慢了Paddle-Human 实时行人分析 | 安装测试指南_訢詡的博客-CSDN博客PP-Human是基于飞桨深度学习框架的业界首个开源的实时行人分析工具,具有功能丰富,应用广泛和部署高效三大优势。PP-Human 支持图片/单镜头视频/多镜头视频多种输入方式,功能覆盖多目标跟踪、属性识别和行为分析。能够广泛应用于智慧交通、智慧社区、工业巡检等领域。支持服务器端部署及TensorRT加速,T4服务器上可达到实时。https://blog.csdn.net/Andrwin/article/details/124248527
然后可以安装一下PaddleVideo里面带的requirements.txt
pip install -r requirements.txt -i https://pypi.douban.com/simple
二、FSD-10训练花样滑冰数据集(可跳过)
我将这个部分写在前面是因为这个数据集比较小,而且存在一个测试数据,对于整个STGCN的训练过程和测试过程有比较直观的感受,但这个部分并不重要,可以跳过。
要知道STGCN的输入一个关键点序列而非原始视频图像,那么对于NTU-RGB-D并没有任何测试数据可供推理,不能推理的模型一无是处。
数据集介绍:
基于飞桨实现花样滑冰选手骨骼点动作识别大赛数据集旨在通过花样滑冰研究人体的运动。在花样滑冰运动中,人体姿态和运动轨迹相较于其他运动呈现复杂性强、类别多的特点,有助于细粒度图深度学习新模型、新任务的研究。
在FSD-10 中,所有的视频素材从2017 到2018 年的花样滑冰锦标赛中采集。源视频素材中视频的帧率被统一标准化至每秒30 帧,并且图像大小是1080 * 720 来保证数据集的相对一致性。之后我们通过2D姿态估计算法Open Pose对视频进行逐帧骨骼点提取,最后以.npy格式保存数据集。
下载地址:
https://videotag.bj.bcebos.com/Data/FSD_train_data.npyhttps://videotag.bj.bcebos.com/Data/FSD_train_data.npyhttps://videotag.bj.bcebos.com/Data/FSD_train_label.npy
https://videotag.bj.bcebos.com/Data/FSD_train_label.npy 下载完成后直接把这两个npy放在PaddleVideo项目根目录就行了,然后将文件前面的“FSD_”这几个字删掉,其次就是:
/PaddleVideo/configs/recognition/stgcn/stgcn_fsd.yaml
这个配置文件里面把batch size改成32,不然8G显存不够用。
训练开始:
python main.py -c configs/recognition/stgcn/stgcn_fsd.yaml
如果环境正常的话这个就已经开始训练了,因为这个数据集没有开源测试数据,所以就不做验证了
<