由于做项目,精力限制,好久好久没有写博客,正好最近在关注动作识别方面,试了一下港科大的开源代码ST-GCN,分别在Ubuntu16.04和Win10下配完了环境,成功运行。其中Ubuntu是Cuda9+cudnn7.1,windows是CPU(学校给配的阉割电脑,慢的一批···)
Ubuntu16.04
首先是配置openpose,第一件事当然是编译caffe啦,Ubuntu下caffe的编译真的神烦,总结就是缺什么装什么,少什么补什么,注意是否有依赖包版本问题,多的就不说了,我也是借着前辈们填完的坑才过来的,出了问题一查基本都会找到。
在caffe编译成功的前提下,使用CMake-gui编译openpose,因为这里是先编译完的caffe,所以在GUI界面上就不需要再build caffe了,把勾去掉,然后在下边caffe路径选择自己编译完的caffe路径,其他不变。
opencv就不说了···
configure + generate 编译完成。
然后参照github说明,基本就能用了。
接下来是ST-GCN的安装,github下载源码以后,按其说明逐步安装pytorch,ffmpeg等,之后安装,这些都不会出没什么问题,下载模型时,如果使用的是百度云的模型而不是bash,记得把模型名改掉再放入models文件夹下。
百度云下载的模型名是kinetics-st_gcn.pt,应改为st_gcn.kinetics.pt。
同时把openpose中的caffe_440000模型放到models中的pose/coco文件夹中
然后就可以运行Demo了。
Win10
我的win10系统没有显卡,所以不得不用CPU,事实证明我的CPU版本只适合跑图片。
win10配置openpose
去github下载openpose windows版
使用Cmake-GUI
选择openpose路径和build路径
configure自动下载所需模型等
注意弹窗选择VS2015 win64(根据系统环境来,不是64的默认就可以)
因为默认是cuda版,所以一定会报错,configure失败后更改Cmake中的设置,cudnn勾掉,选CPU_ONLY
opencv,caffe等会自动下载并编译。所以不会出什么问题
生成完之后,在VS2015中打开并生成解决方案,注意运行时release+win64。
把生成的build/bin文件夹下的所有库复制到x64/release/下,
将models文件夹复制到build中
为ST-GCN使用准备
openpose这时候就可以了接下来
ST-GCN的配置
前边的操作和Ubuntu一样,除了bash用不了得下百度云(注意改名),同样把440000模型放到coco中。
安装完以后注意在windows命令行下,demo运行命令不同,
将demo.py中的
# openpose = '{}/examples/openpose/openpose.bin'.format(self.arg.openpose)此行改为
openpose = '{}/OpenPoseDemo.exe'.format(self.arg.openpose)
还有parser.add_argument('--openpose'改为下(此处该不该都可以,改了命令行就可以不输入路径直接默认值)
parser.add_argument('--openpose',
default='D:/openpose-master/build/x64/Release',
help='Path to openpose')
命令行启动demo例(注意斜杠):
python main.py demo --openpose D:/openpose-master/build/x64/Release --video D:/action-reco/st-gcn-master/resource/media/clean_and_jerk.mp4
ok了···