【我的电脑配置】

操作系统:Windows 10 
CUDA版本:cuda_8.0.61_win10 
cuDNN版本:cudnn-8.0-windows10-x64-v5.1 
GPU model:Nvidia GeForce 950M (2GB) 
OpenPose版本:Jul 2017 (已Fork到个人Github) 
Caffe版本:OpenPose默认 
OpenCV版本:OpenPose默认

来一波地址:

【OpenPose下载】

官方Github:https://github.com/CMU-Perceptual-Computing-Lab/openpose 
我的Github:https://github.com/luckynote/openpose

【CUDA下载】

官网:https://developer.nvidia.com/cuda-downloads 
我的网盘:链接:http://pan.baidu.com/s/1hr8urXy 密码:f4n5

【cuDNN下载】

官网:https://developer.nvidia.com/cudnn 
我的网盘:链接:http://pan.baidu.com/s/1o7TgLsu 密码:tzgy

看看官网的安装介绍:

链接:https://github.com/luckynote/openpose/blob/master/doc/installation.md 
【OpenPose-Windows】OpenPose+VS2015+Windows+CUDA8+cuDNN5.1 官方配置教程(转载)-LMLPHP

官网安装分析:

步骤1:安装VS2015和CUDA8&cuDNN5.1

阅读本文的笔者推荐从我的云盘下载CUDA8&cuDNN5.1,当然按照官方Github安装的官方有提供CUDA8&cuDNN5.1的下载链接。 
a.安装VS2015。 
【OpenPose-Windows】OpenPose+VS2015+Windows+CUDA8+cuDNN5.1 官方配置教程(转载)-LMLPHP 
这个必须首先安装,安装过程和VS2013一样选择默认安装路径,安装的时候注意一定要选择C++开发语言包。记住必须是VS2015,有VS2013的请务必要把VS2015安装上,否则会出现【OpenPose-Windows】error1 OpenPose项目加载失败 这个问题。 
b.安装CUDA8。 
【OpenPose-Windows】OpenPose+VS2015+Windows+CUDA8+cuDNN5.1 官方配置教程(转载)-LMLPHP 
在安装VS2015之后,安装CUDA8,安装时选择默认安装路径,安装过程和平时安装qq一样,只要一直下一步就行。笔者默认安装路径:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0。注意在安装CUDA8之前,一定要确保VS2015已经安装,否则的话,需要在安装VS2015之后,再重新安装CUDA8,不然同样会出现【OpenPose-Windows】error1 OpenPose 这个问题。 
c.安装cuDNN5.1。在完成a.b.之后,下载cuDNN5.1 
【OpenPose-Windows】OpenPose+VS2015+Windows+CUDA8+cuDNN5.1 官方配置教程(转载)-LMLPHP 
解压后的内容如下 
【OpenPose-Windows】OpenPose+VS2015+Windows+CUDA8+cuDNN5.1 官方配置教程(转载)-LMLPHP
请把压缩包内的bin、include、lib三个文件夹Copy到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\文件夹下,覆盖原有的bin、include、lib。

步骤2:下载model

这个比较简单,在../openpose-master/models/文件下 
【OpenPose-Windows】OpenPose+VS2015+Windows+CUDA8+cuDNN5.1 官方配置教程(转载)-LMLPHP
存在getModels.bat和getModels.sh两个脚本文件,两个文件作用相同,都是下载face/hand/pose文件夹下的model,运行其一即可。下载后的三个文件夹内容如下: 
../face/ 
【OpenPose-Windows】OpenPose+VS2015+Windows+CUDA8+cuDNN5.1 官方配置教程(转载)-LMLPHP
../hand/ 
【OpenPose-Windows】OpenPose+VS2015+Windows+CUDA8+cuDNN5.1 官方配置教程(转载)-LMLPHP
../pose/coco/ 
【OpenPose-Windows】OpenPose+VS2015+Windows+CUDA8+cuDNN5.1 官方配置教程(转载)-LMLPHP
../pose/mpi/ 
【OpenPose-Windows】OpenPose+VS2015+Windows+CUDA8+cuDNN5.1 官方配置教程(转载)-LMLPHP
除了运行上述getModels.bat和getModels.sh两个脚本文件下载model模型外,还可以通过../openpose-moster/windows/download_3rdparty_and_models.bat脚本命令下载上述四个model文件。 
【OpenPose-Windows】OpenPose+VS2015+Windows+CUDA8+cuDNN5.1 官方配置教程(转载)-LMLPHP
d.下载运行OpenPose.sln所需的三方库。在完成a.b.c.之后,必须运行../openpose-moster/windows/download_3rdparty_and_models.bat脚本文件,如果在c过程运行了getModels.bat或getModels.sh,download_3rdparty_and_models.bat只会下载OpenPose.sln所需的三方库 
【OpenPose-Windows】OpenPose+VS2015+Windows+CUDA8+cuDNN5.1 官方配置教程(转载)-LMLPHP
当然也可以跳过c过程,直接运行download_3rdparty_and_models.bat,会把OpenPose.sln运行所需的model和三方库全部下载好。

步骤3:启动OpenPose.sln

完成步骤2之后,进入../openpose-master/windows/路径下,打开OpenPose.sln即可。 
【OpenPose-Windows】OpenPose+VS2015+Windows+CUDA8+cuDNN5.1 官方配置教程(转载)-LMLPHP
打开OpenPose.sln之后,资源管理器显示如下 
【OpenPose-Windows】OpenPose+VS2015+Windows+CUDA8+cuDNN5.1 官方配置教程(转载)-LMLPHP 
依次打开Examples/OpenPoseDemo/openpose.cpp文件,并且设置OpenPoseDemo为启动项目。

步骤4:编译运行OpenPoseDemo

a.推荐使用Release编译运行模式,然后直接运行其程序即可。 
b.默认运行后会直接调用电脑的摄像头,如果你的电脑没有可用摄像头,相信应该会报出错误。具体的错误由于笔者还没遇到,暂时不粘贴了,有朋友遇到可以帮我留图。 
c.运行.jpg图片检测识别pose。 
按照下图所示,修改image_dir的值为“example/media/” 
【OpenPose-Windows】OpenPose+VS2015+Windows+CUDA8+cuDNN5.1 官方配置教程(转载)-LMLPHP
【PS】此处的example/media/路径为../openpose-master/examples/media/路径,其路径下内容如下。笔者在一开始的时候以为是../Release路径下的,这里的PS也是提示大家别有一样的想法。另外大家测试自己的图像,也可以放到这个路径下进行测试。 
【OpenPose-Windows】OpenPose+VS2015+Windows+CUDA8+cuDNN5.1 官方配置教程(转载)-LMLPHP 
给一个运行结果给大家看看 
【OpenPose-Windows】OpenPose+VS2015+Windows+CUDA8+cuDNN5.1 官方配置教程(转载)-LMLPHP
d.运行.avi视频检测识别pose。 
按照下图所示,修改image_dir的值为“example/media/” 
【OpenPose-Windows】OpenPose+VS2015+Windows+CUDA8+cuDNN5.1 官方配置教程(转载)-LMLPHP
以自带的video.avi为例,给一个运行结果给大家看看,也可以运行一个自己的视频,支持.avi和.mp4格式的视频文件。 
【OpenPose-Windows】OpenPose+VS2015+Windows+CUDA8+cuDNN5.1 官方配置教程(转载)-LMLPHP

步骤5:编译运行pose+hand/face

a.pose 
在默认条件下,即是识别pose,并且按照骨骼姿态还原出当前人体的pose,图像案例在步骤4已经给出来了,这里不在另外给出。 
b.pose+hand 
修改配置,设置hand变量的值为true,就设置为pose+hand模式 
【OpenPose-Windows】OpenPose+VS2015+Windows+CUDA8+cuDNN5.1 官方配置教程(转载)-LMLPHP
给一个运行结果给大家看看, 
【OpenPose-Windows】OpenPose+VS2015+Windows+CUDA8+cuDNN5.1 官方配置教程(转载)-LMLPHP
c.pose+face 
修改配置,设置face变量的值为true,就设置为pose+face模式 
【OpenPose-Windows】OpenPose+VS2015+Windows+CUDA8+cuDNN5.1 官方配置教程(转载)-LMLPHP
给一个运行结果给大家看看, 
【OpenPose-Windows】OpenPose+VS2015+Windows+CUDA8+cuDNN5.1 官方配置教程(转载)-LMLPHP
d.pose+hand+face 
修改配置,设置hand变量的值为true,设置face变量的值为true,就设置为pose+hand+face模式的识别检测。 
【OpenPose-Windows】OpenPose+VS2015+Windows+CUDA8+cuDNN5.1 官方配置教程(转载)-LMLPHP
【OpenPose-Windows】OpenPose+VS2015+Windows+CUDA8+cuDNN5.1 官方配置教程(转载)-LMLPHP
然而,笔者的笔记本GPU配置较差,无法运行pose+hand+face模式下的程序,程序报错如下,这是一个内存溢出问题,笔者一开始调试还以为是程序bug,后来经过一番周折才弄明白是怎么回事。 
【OpenPose-Windows】OpenPose+VS2015+Windows+CUDA8+cuDNN5.1 官方配置教程(转载)-LMLPHP
【PS】pose+hand/face如果不修改其网络处理的分辨率,也同样会出现下列问题。 
【PS】这个问题的出现及详细分析和具体实验,笔者在上一篇博文【OpenPose-Windows】error2 win10-OpenPose-pose+hand/face中断问题 有具体给出。

【2017/8/6】关于如何在运行之后保存运行结果,笔者已经写了一篇新的博客 【OpenPose-Windows】运行OpenposeDemo.exe 如何保存图像运行结果及关节点信息 欢迎大家前来讨论研究。

最后感谢Github官方gineshidalgo99给予的帮助,感谢CSDN博主 风翼冰舟 引导笔者OpenPose入门。

05-11 19:38