【OpenPose-Windows】OpenPose+VS2015+Windows+CUDA8+cuDNN5.1 官方配置教程(转载)
【我的电脑配置】
操作系统: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 Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0。注意在安装CUDA8之前,一定要确保VS2015已经安装,否则的话,需要在安装VS2015之后,再重新安装CUDA8,不然同样会出现【OpenPose-Windows】error1 OpenPose 这个问题。
c.安装cuDNN5.1。在完成a.b.之后,下载cuDNN5.1
解压后的内容如下
请把压缩包内的bin、include、lib三个文件夹Copy到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.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入门。
【OpenPose-Windows】OpenPose+VS2015+Windows+CUDA8+cuDNN5.1 官方配置教程(转载)的更多相关文章
- VS2013创建Windows服务 || VS2015+Windows服务简易教程
转自:https://www.cnblogs.com/no27/p/4849123.htmlhttps://blog.csdn.net/ly416/article/details/78860522 V ...
- 2013最新版Subversion 1.7.10 for Windows x86 + Apache 2.4.4 x64 安装配置教程+错误解决方案
一 .工作环境 操作系统:Windows Server 2008 R2 SP1 x64 Apache版本:2.4.4 Subversion版本: Setup-Subversion-1.7.10.msi ...
- windows下MySQL 5.7+ 解压缩版安装配置方法--转载
方法来自伟大的互联网. 1.去官网下载https://dev.mysql.com/downloads/mysql/.zip格式的MySQL Server的压缩包,根据需要选择x86或x64版.注意:下 ...
- Caffe on Windows (Visual Studio 2015+CUDA8.0+cuDNNv5)
Title : Caffe (Visual Studio15+CUDA8+cuDNN5+python3.5) Author : SURFZJY Logo : True [TITLE] Requirem ...
- Python3.7源码在windows(VS2015)下的编译和安装
Python3.7源码在windows(VS2015)下的编译和安装 下载官方源码,使用vs2015(WIN10SDK),最python3.7.0的源码进行编译,编译出不同的版本(release,de ...
- Windows中使用TortoiseGit提交项目到GitLab配置
下文来给各位介绍Windows中使用TortoiseGit提交项目到GitLab配置过程,下在全部图片希望对各位带来方便面. Gitlab默认的配置推荐使用shell命令行与server端进行交互,作 ...
- 玩转Windows服务系列——Windows服务小技巧
伴随着研究Windows服务,逐渐掌握了一些小技巧,现在与大家分享一下. 将Windows服务转变为控制台程序 由于默认的Windows服务程序,编译后为Win32的窗口程序.我们在程序启动或运行过程 ...
- 玩转Windows服务系列——Windows服务启动超时时间
最近有客户反映,机房出现断电情况,服务器的系统重新启动后,数据库服务自启动失败.第一次遇到这种情况,为了查看是不是断电情况导致数据库文件损坏,从客户的服务器拿到数据库的日志,进行分析. 数据库工作机制 ...
- 渗透杂记-2013-07-13 Windows XP SP2-SP3 / Windows Vista SP0 / IE 7
Welcome to the Metasploit Web Console! | | _) | __ `__ \ _ \ __| _` | __| __ \ | _ \ | __| | | | __/ ...
随机推荐
- 如何生成SPFILE文件
1.spfile是Oracle9i之后引入的,目的是提高系统安全性.在Oracle8i下初始化参数文件为文本文件,可以使用文本编辑器进行编辑,当需要修改初始化参数时,需要在init.ora文件中修改, ...
- drbd脑裂问题处理
http://blog.csdn.net/heianemo/article/details/8439813 split brain实际上是指在某种情况下,造成drbd的两个节点断开了连接,都以prim ...
- 两种获取MySql数据库中所有表的主键和外键约束信息的Sql语句
最近在写Rafy底层的一些东西,在数据库方面把MySql数据库集成到里面去,里面有一个需求,需要获取非系统数据库,也就是我们自己建立的数据库中所有表的主键和外键元数据列表. 第一种方法:是网上的方法, ...
- ASP.NET网站权限设计实现(二)——角色权限绑定
1.关于使用的几张表的说明 (1)Module:模块表,记录模块名称.编码等模块基本数据. (2)Permissions:权限表,记录所有模块权限distinct之后的数据. (3)Modu ...
- 如何判断事务是否完成,SqlTransaction
SqlConnection sconn = null; SqlCommand scmd = null; SqlTransaction strans = null; try { string sqlIn ...
- Linux操作系统中/sbin/init程序的执行过程
当init启动后,它通过执行各种启动事务来继续引导进程(检查并监视文件系统,启动后台程序daemons,等等),直至完成用户所有操作环境的设置工作.这里主要涉及4个程序:init.getty(aget ...
- java web程序 登陆验证页面 4个页面人性化设置
到这里,快期末考试了,老师不讲课,我心里有苦不想说,也许没有考虑到老师的感受,让老师难堪了 但是我的行为已不再是我可以做的了.不可能了,我只是职业性的机械的做事了. 思路: 1.第一个是form表单, ...
- java学习——类之YuanZhu
package hello; import java.util.Scanner; public class YuanZhu { public static void main(String[] arg ...
- python unittest单元测试框架-1
Test Case.Test Suite.Test Runner.Test Fixture Test Case:单个测试用例 Test Suite:测试组合.可以把多个测试用例集合在一起执行. Tes ...
- 使用xmlHttprequest有感
原文地址:http://my.oschina.net/LinBandit/blog/33160 之前一片日志说使用xmlhttprequest获取服务数据时,在IE下能通过而在chrome不能通过的问 ...