目录
写在前面:
OpenPose人体姿态识别项目是美国卡耐基梅隆大学(CMU)开发的开源库。代码开源已经有相当一段时间了,各位博主博客的经验也很丰富,但由于版本关系,新版本的部署方式和之前有些不同。
本文仅记录win7 下编译配置过程。
参考:【OpenPose-Windows】OpenPose+VS2015+Windows+CUDA8+cuDNN5.1 官方配置教程
1、准备工作:
环境准备:
- VS2015 with update3
- cuda10.0, 下载地址
- cudnn7。下载地址 注意下载对应cuda的版本,下载后解压,把解压后的三个文件夹直接拷贝<cuda安装目录>Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\里,覆盖即可。
- cmake 下载地址
源码下载:
openpose项目github主页: https://github.com/CMU-Perceptual-Computing-Lab/openpose
各发布版本:https://github.com/CMU-Perceptual-Computing-Lab/openpose/releases
我们从发布版本中下载,当前最新为V1.5.1,
目录里还有openpose-1.5.1-binaries-win64... zip等,是已经编译好的,如果不想自己编译,(边缘还是比较简单的), 可以直接下载使用。
本文下载源码ZIP压缩包,下载后解压,解压目录 “E:\code2019\new_alg\OpenPose\”。
2、编译
打开cmake-gui,设置
源路径:“E:/code2019/new_alg/OpenPose/openpose-1.5.1”
生成路径:“E:/code2019/new_alg/OpenPose/openpose-1.5.1/windows”
点击config,编译器本文选了了" visual Studio 14 2015 win64"
这个过程时间有点长,会下载依赖的文件和检测需要的模型,之前的版本是手动使用脚本下载。
config完成后,跳出一个喜庆的大红的界面,重点看一下里面CUDA_开头的项。
我电脑上装了多个cuda版本,所以CUDA_ARCH修改为了手动,CUDA_TOOLKIT_ROOT_DIR指定路径为“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0”。
再次点击config,完成后点击 Generate。
生成完毕后,打开生成的文件夹,里面bin目录里有运行环境所依赖的动态库,包括boost,caffe,cuda,cudnn等,通过文件名可以看出,默认cuda版本为10.0,cudnn版本为7。
用vs2015打开工程,生成ALL_BUILD。
编译完成后,先将<工程目录>\x64\Release文件夹内的所有文件拷贝到<工程目录>bin文件夹内。
然后将<工程目录>bin目录整个拷贝到外层文件夹,本文为“E:\code2019\new_alg\OpenPose\openpose-1.5.1”目录。测试用到了这个目录的“models”和“examples”文件夹内容。
注意一共拷贝了两次。
3、测试:
打开cmd.exe命令行,目录切换至“E:\code2019\new_alg\OpenPose\openpose-1.5.1”
测试视频:
bin\OpenPoseDemo.exe --video examples\media\video.avi
bin\OpenPoseDemo.exe --video examples\media\video.avi --face --hand
我的显卡是:Geforce gtx 745, 只检测关键点,帧率1.4
换个比较好GPU的服务器运行,速度提升还是很明显的,帧率达到了12帧
测试图片:
bin\OpenPoseDemo.exe --image_dir examples\media\
bin\OpenPoseDemo.exe --image_dir examples\media\ --face --hand