【我的电脑配置】
操作系统: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
官网安装分析:
步骤1:安装VS2015和CUDA8&cuDNN5.1
阅读本文的笔者推荐从我的云盘下载CUDA8&cuDNN5.1,当然按照官方Github安装的官方有提供CUDA8&cuDNN5.1的下载链接。
a.安装VS2015。
这个必须首先安装,安装过程和VS2013一样选择默认安装路径,安装的时候注意一定要选择C++开发语言包。记住必须是VS2015,有VS2013的请务必要把VS2015安装上,否则会出现【OpenPose-Windows】error1 OpenPose项目加载失败 这个问题。
b.安装CUDA8。
在安装VS2015之后,安装CUDA8,安装时选择默认安装路径,安装过程和平时安装qq一样,只要一直下一步就行。笔者默认安装路径:C:Program FilesNVIDIA GPU Computing ToolkitCUDAv8.0。注意在安装CUDA8之前,一定要确保VS2015已经安装,否则的话,需要在安装VS2015之后,再重新安装CUDA8,不然同样会出现【OpenPose-Windows】error1 OpenPose 这个问题。
c.安装cuDNN5.1。在完成a.b.之后,下载cuDNN5.1
解压后的内容如下
请把压缩包内的bin、include、lib三个文件夹Copy到C:Program FilesNVIDIA GPU Computing ToolkitCUDAv8.0文件夹下,覆盖原有的bin、include、lib。
步骤2:下载model
这个比较简单,在../openpose-master/models/文件下
存在getModels.bat和getModels.sh两个脚本文件,两个文件作用相同,都是下载face/hand/pose文件夹下的model,运行其一即可。下载后的三个文件夹内容如下:
../face/
../hand/
../pose/coco/
../pose/mpi/
除了运行上述getModels.bat和getModels.sh两个脚本文件下载model模型外,还可以通过../openpose-moster/windows/download_3rdparty_and_models.bat脚本命令下载上述四个model文件。
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所需的三方库
当然也可以跳过c过程,直接运行download_3rdparty_and_models.bat,会把OpenPose.sln运行所需的model和三方库全部下载好。
步骤3:启动OpenPose.sln
完成步骤2之后,进入../openpose-master/windows/路径下,打开OpenPose.sln即可。
打开OpenPose.sln之后,资源管理器显示如下
依次打开Examples/OpenPoseDemo/openpose.cpp文件,并且设置OpenPoseDemo为启动项目。
步骤4:编译运行OpenPoseDemo
a.推荐使用Release编译运行模式,然后直接运行其程序即可。
b.默认运行后会直接调用电脑的摄像头,如果你的电脑没有可用摄像头,相信应该会报出错误。具体的错误由于笔者还没遇到,暂时不粘贴了,有朋友遇到可以帮我留图。
c.运行.jpg图片检测识别pose。
按照下图所示,修改image_dir的值为“example/media/”
【PS】此处的example/media/路径为../openpose-master/examples/media/路径,其路径下内容如下。笔者在一开始的时候以为是../Release路径下的,这里的PS也是提示大家别有一样的想法。另外大家测试自己的图像,也可以放到这个路径下进行测试。
给一个运行结果给大家看看
d.运行.avi视频检测识别pose。
按照下图所示,修改image_dir的值为“example/media/”
以自带的video.avi为例,给一个运行结果给大家看看,也可以运行一个自己的视频,支持.avi和.mp4格式的视频文件。
步骤5:编译运行pose+hand/face
a.pose
在默认条件下,即是识别pose,并且按照骨骼姿态还原出当前人体的pose,图像案例在步骤4已经给出来了,这里不在另外给出。
b.pose+hand
修改配置,设置hand变量的值为true,就设置为pose+hand模式
给一个运行结果给大家看看,
c.pose+face
修改配置,设置face变量的值为true,就设置为pose+face模式
给一个运行结果给大家看看,
d.pose+hand+face
修改配置,设置hand变量的值为true,设置face变量的值为true,就设置为pose+hand+face模式的识别检测。
然而,笔者的笔记本GPU配置较差,无法运行pose+hand+face模式下的程序,程序报错如下,这是一个内存溢出问题,笔者一开始调试还以为是程序bug,后来经过一番周折才弄明白是怎么回事。
【PS】pose+hand/face如果不修改其网络处理的分辨率,也同样会出现下列问题。
【PS】这个问题的出现及详细分析和具体实验,笔者在上一篇博文【OpenPose-Windows】error2 win10-OpenPose-pose+hand/face中断问题 有具体给出。
【2017/8/6】关于如何在运行之后保存运行结果,笔者已经写了一篇新的博客 【OpenPose-Windows】运行OpenposeDemo.exe 如何保存图像运行结果及关节点信息 欢迎大家前来讨论研究。
最后感谢Github官方gineshidalgo99给予的帮助,感谢CSDN博主 风翼冰舟 引导笔者OpenPose入门。