网站建设十胜石,网架公司的螺丝是不是公司安好,unity3d培训班多少钱,手机网站安全证书过期怎么处理参考了许多博文#xff0c;慢慢地也就把st-gcn跑出来了#xff0c;参考的文章一会附在文章里面#xff0c;实测有用。 1.安装st-gcn
复现STGCN CPU版 #xff08;ubuntu16.04pytorch0.4.0openposecaffe#xff09;_Significance的博客-程序员秘密复现旧版STG…参考了许多博文慢慢地也就把st-gcn跑出来了参考的文章一会附在文章里面实测有用。 1.安装st-gcn
复现STGCN CPU版 ubuntu16.04pytorch0.4.0openposecaffe_Significance的博客-程序员秘密复现旧版STGCN GPU版 win10openpose1.5.0_Significance的博客-程序员秘密2
2.准备训练数据集
官方使用的是Kinetics-skeleton和NTU RGBD两个数据集来训练网络如果是自制数据集我们需要将自己的训练集先转换为这两个数据集的格式然后再转化为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_estimationdata里是所有帧json文件snippets是单帧json文件。
2更改标签与标签序号
此时存在的问题是json文件末尾的labelunknowlabel_index -1。
因为你没有对它进行定义因次需要更改label与label_index即标签与标签序号。
3建议下载Kinetics-skeleton数据集数据集里的文件如下图更改后的标签与标签序号对应于kinetics_train与kinstics_val文件。此外按照模板更改文件中的两个json文件kinetics_train_label.json与kinetics_val_label.json。 {---QUuC4vJs: { #修改has_skeleton: true, label: testifying, #修改label_index: 354 #修改}, --3ouPhoy2A: { #修改has_skeleton: true, label: eating spaghetti, #修改label_index: 116 #修改}, --4-0ihtnBU: { #修改has_skeleton: true, label: dribbling basketball, #修改label_index: 99 #修改},...
}
此时自制数据集基本算改完了准备训练开始训练数据集。
3.训练数据集
1更改kinetics_gendata.py
if __name__ __main__:parser argparse.ArgumentParser(descriptionKinetics-skeleton Data Converter.)parser.add_argument(--data_path, defaultdata/Kinetics/kinetics-skeleton) #修改parser.add_argument(--out_folder, defaultdata/Kinetics/kinetics-skeleton) #修改arg parser.parse_args()part [train, val]for p in part:data_path {}/kinetics_{}.format(arg.data_path, p) #修改label_path {}/kinetics_{}_label.json.format(arg.data_path, p) #修改data_out_path {}/{}_data.npy.format(arg.out_folder, p) label_out_path {}/{}_label.pkl.format(arg.out_folder, p)if not os.path.exists(arg.out_folder):os.makedirs(arg.out_folder)gendata(data_path, label_path, data_out_path, label_out_path)
修改后最好另存为xx_gendata.py然后运行xx_gendata.py将数据集转化为st-gcn需要格式。
python tools/xxx_gendata.py --data_path
2修改label_name.txt原位置在resource/kinetics_skeleton建议新命名一个文件夹并保存label_name.txt。
3修改train.yaml。
work_dir: ./work_dir/recognition/jobsite# feeder
feeder: feeder.feeder.Feeder
train_feeder_args:random_choose: Truerandom_move: Truewindow_size: 150 data_path: ./data/jobsite/train_data.npy #修改label_path: ./data/jobsite/train_label.pkl #修改
test_feeder_args:data_path: ./data/jobsite/val_data.npy #修改label_path: ./data/jobsite/val_label.pkl #修改# model
model: net.st_gcn.Model
model_args:in_channels: 3num_class: 7 #修改edge_importance_weighting: Truegraph_args:layout: openposestrategy: spatial# training
device: [0] #视情况修改
batch_size: 128 #视情况修改
test_batch_size: 256 #视情况修改#optim
base_lr: 0.1
step: [20, 30, 40, 50] #视情况修改
num_epoch: 300 #视情况修改
4修改demo_old。
parser.set_defaults(config./config/st_gcn/jobsite/demo_old.yaml) #修改
parser.set_defaults(print_logFalse)
此时基本代码已修改完毕开始进行训练。训练过程出现问题时按照错误提示基本能够解决。
5训练
python main.py recognition -c config/st_gcn/数据集/train.yaml
运行st-gcn中所参考文章如下
HRNet提取骨架特征点 ST-GCN训练自己的数据集代码实践问题记录_Cheungleilei的博客-程序员秘密st-gcn训练自建行为识别数据集_星辰-程序员秘密
stgcn使用_Significance的博客-程序员秘密
ST-GCN 使用复现_Queen B的博客-程序员秘密_st-gcn 复现
ST-GCN使用_raymond的CSDN-程序员秘密
st-gcn配置环境的过程中可能会遇到的问题_XYKenny的博客-程序员秘密
ST-GCN源码运行完整版含OpenPose编译安装及常见问题_咬我呀_Gemini的博客-程序员秘密
任何程序错误以及技术疑问或需要解答的请扫码添加作者VX : 18565453898