参考了许多博文,慢慢地也就把 st-gcn 跑出来了,参考的文章一会附在文章里面,实测有用。
1.安装st-gcn
复现STGCN CPU版 (ubuntu16.04+pytorch0.4.0+openpose+caffe)_Significance的博客-优快云博客复现旧版STGCN GPU版 (win10+openpose1.5.0)_Significance的博客-优快云博客2
2.准备训练数据集
官方使用的是 Kinetics-skeleton 和 NTU RGB+D 两个数据集来训练网络,如果是自制数据集,我们需要将自己的训练集先转换为这两个数据集的格式,然后再转化为st-gcn所需要的格式。
那么如何将自己的训练集转换成这两个数据集的格式呢?
1)直接在st-gcn的程序里跑自己的数据
运行st-gcn:
python main.py demo_old --video E:/st-gcn/resource/media/数据集名称/running.mp4 --openpose E:/openpose/build/bin
跑出来的json文件可以在st-gcn文件里获取到,单帧和一个视频所有帧都有。文件位置在data/openpose_estimation,data里是所有帧json文件, snippets 是单帧json文件。
2)更改标签与标签序号
此时,存在的问题是json文件末尾的"label":"unknow","label_index": -1。
因为你没有对它进行定义,因次需要 更改"label"与"label_index" ,即标签与标签序号。
3)建议下载 Kinetics-skeleton数据集 ,数据集里的文件如下图,更改后的标签与标签序号对应于kinetics_train与kinstics_val文件。此外