Windows10编译CPU版OpenPose
一 OpenPose介绍
OpenPose人体姿态识别项目是美国卡耐基梅隆大学(CMU)基于卷积神经网络(CNN)和监督学习(Supervised Learning)并以caffe为框架开发的开源库。可以实现人体动作、面部表情、手指运动等姿态估计。适用于单人和多人,具有极好的鲁棒性。项目地址:
CMU-Perceptual-Computing-Lab/openpose: OpenPose: Real-time multi-person keypoint detection library for body, face, hands, and foot estimation (github.com)github.com/CMU-Perceptual-Computing-Lab/openpose
由于笔者电脑为核显CPU,本文介绍OpenPose的CPU版本编译与使用。
OpenPose需进行64位编译。尝试使用mingw进行编译,却发现cmake无法创建64位MinGW工程文件,看来win下必须使用使用vs。
二 相关软件安装
1.Visual Studio 2017
vs2015以上版本都可以,用于编译整个项目,可以在 官网 免费下载安装社区版。本文中使用的为vs2017版本。
2.Cmake
可以在 这里 下载旧版本的Cmake,推荐下载cmake12或13的版本,较新的版本win64选项与旧版本不同,可能会导致最后生成的工程文件编译出错。
3.python
推荐使用3.6版本的python,其他版本可能会出现兼容性上的问题。
三 下载OpenPose源码和模型
1 下载源码
进入OpenPose项目中,下载源码压缩包,也可使用git命令将会整个项目拉到本地。
CMU-Perceptual-Computing-Lab/openpose: OpenPose: Real-time multi-person keypoint detection library for body, face, hands, and foot estimation (github.com)github.com/CMU-Perceptual-Computing-Lab/openpose
整个压缩包有90M左右,下载很慢的话可以通过gitee克隆整个项目再下载。
下载完成后解压。
2.下载依赖
进入OpenPose的github项目中,点击3rdparty。
点击pybind11,进入该项目并将该项目下载下来。pybind11用于OpenPose编译后可以通过python调用。
将pybind11压缩包解压,将其中的内容复制到之前解压好的OpenPose目录中的3rdparty/pybind11中。
进入3rdparty/windows目录中,双击执行其中的几个以bat为后缀名的批处理文件。它们会下载OpenPose项目所需要的caffe,opencv等框架。
若是觉得下载速度太慢,也可以打开bat文件,自行构造下载链接并通过其他下载工具下载。
这一步也可以略过,之后使用Cmake进行配置的过程中会自动下载这些模型。
3 下载模型
这一步用于下载已经训练好的模型。进入models目录,运行getModels.bat文件,下载整个项目需要的模型。由于整个模型很大,下载会花费很长时间,也可以安装上述方法自行构造下载链接下载。
四 编译OpenPose源代码
打开Cmake-gui,第一行选中OpenPose的目录,第二行指定生成项目的路径,可以自行设置。
点击configure,由于我们需要编译64位的,这里选择win64。vs版本要与已安装的一致。点击finish就会自动进行配置,若前面没有下载模型和依赖,这一步会自动下载,需要耐心等待。
待cmake配置完成(出现CUDA错误不用管)后,找到BUILD_PYTHON,并打上勾,这样编译后才会生成可供python调用的包。
找到GPU_MODE,改成CPU_ONLY,表明我们指定用CPU运行。
将USE_CUDNN取消选中。
再次点击configure,cmake会自动下载cpu版本的caffe。注意下载完成的压缩包应该是32M左右,若只有21M则说明没有下载全,需删除caffe_cpu文件夹后再次进行configure。
上面的操作执行完成后,点击generate进行生成。出现Generating Done后,点击Open Project便可自动打开vs2017.
未能从cmake打开vs时,也可通过OpenPose.sln工程文件手动打开vs。
进入VS后,先将Debug模式改成Release,平台为x64(会生成64位可执行文件)。若平台是x86,则说明cmake第一步错了(cmake默认32位),需要换个目录重新运行一遍cmake。
找到OpenPoseDemo,右键-设为启动项目。
找到OpenPoseDemo,右键-生成,即可编译OpenPose源代码,生成可执行文件。右侧还有数十个Demo可以编译。也可以通过上方的生成-生成解决方案进行整个项目的编译。
编译生成的可执行文件会放在x64/Release文件夹下。
五 运行OpenPoseDemo
将x64/Release目录和OpenPose主文件夹内model目录中全部内容复制到bin文件夹下。
点击右键+shift,打开powershell。
输入./OpenPoseDemo命令, 若能打开摄像头并识别图像则说明编译大功告成啦。
Windows10编译CPU版OpenPose相关推荐
- 复现STGCN CPU版 (ubuntu16.04+pytorch0.4.0+openpose+caffe)
前提:ubuntu下将python3.5.2设为默认(百度) 一.下载stgcn (gitbub上fork后导入到gitee快些): st-gcn: Spatial Temporal Graph C ...
- Windows10 RS2正式版终于来了!升级有惊喜
Windows10 RS2正式版终于来了!升级有惊喜 经过几个月的开发,微软将于本周开始Windows 10 Creators Update(创作者更新/RS2)的签署流程,编译RTM正式版的候选版本 ...
- windows Tensorflow cpu版 指令集加速
问题原因 在macOS通过pip3 install 安装tensorflow(CPU版)后,运行示例代码 import tensorflow as tf hello = tf.constant('He ...
- Ubuntu 16.04 LTS下编译GPU版tensorflow
Ubuntu 16.04 LTS下编译GPU版tensorflow 机器学习与数学 · 2016-06-10 13:51 作者: 比特小组 机器学习与数学出品 机器学习必然涉及到代码,本小组选择sci ...
- W ndows 10模拟器,手机windows10模拟器下载_手机windows10模拟器安卓版下载中文 v0.20.0.3b-66街机网...
手机windows10模拟器安卓版中文是一款以为主题的游戏,卡通风格的华丽精美.图形和音乐,游戏选取模式玩法,这里不是让你的手机真正的变成win10操作系统,而是以模拟的方式让你来在win10的界面中 ...
- Ubuntu16.04下caffe CPU版的详细安装步骤
一.caffe简介 Caffe,是一个兼具表达性.速度和思维模块化的深度学习框架. 由伯克利人工智能研究小组和伯克利视觉和学习中心开发. 虽然其内核是用C++编写的,但Caffe有Python和Mat ...
- win7下编译android版ffmpeg
参考: http://www.roman10.net/how-to-build-ffmpeg-with-ndk-r9/ ffmpeg用的是2.3.2版本. 困扰了很久,终于使用参考链接里的脚本成功编译 ...
- 【已解决】cpu版mxnet安装
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 [已解决]cpu版mxnet安装 mxnet前言 步骤 mxnet前言 需要机子已经安装anaconda,读者要会新建环境和切换环境. ...
- 【C#】C#中使用GDAL3(一):Windows下超详细编译C#版GDAL3.3.0(VS2015+.NET 4+32位/64位)
转载请注明原文地址:https://www.cnblogs.com/litou/p/15004877.html 总目录 (一)Windows下超详细编译C#版GDAL3.3.0(VS2015+.NET ...
最新文章
- WSL 使用者仍应该使用杀毒软件
- BurpSuite实例教程讲解
- 6-11数据库mysql初始
- boost::contract模块实现条件是否的测试程序
- Vue项目中公用footer组件底部位置的适配问题
- c语言中strcmp作用,C语言中strcmp的实现原型
- 事件图谱是什么?它能预测未来吗?
- python生成sql文件_Python 数据库Insert语句脚本生成工具(SQL Server)
- Windows 安装kafka-python库
- matlab pcm仿真,基于MATLAB的PCM调制系统的仿真与分析
- 利用RTFtemplate生成rtf报表
- 系统集成项目管理工程师14真题解析
- POI Word表格复制行2种方式(copy()、手动复制行)
- 假短信截图在线生成器_一个工具箱:汇集200多款实用又好玩的在线工具的神奇百宝箱...
- RabbitMQ使用手册中文
- 如何攥写一篇合格的开题报告
- vue使用脚手架的单文件组件环境搭建
- SLAM导航机器人零基础实战系列:(五)树莓派3开发环境搭建——2.安装ros-kinetic
- 如何把网页保存成html文档,怎么把网页存成word
- Http之libcurl库实现
热门文章
- 清华大学新闻学考研专业课真题经验分享
- 使用内存池的原因,内存池的应用
- java 银行支付接口_cbcPayment 建设银行Java支付接口详细说明文档dsdsdds - 下载 - 搜珍网...
- MUI 支付案例(支付宝/微信)
- 今天才发现,手机外放声音小,这样设置一下,轻松增大手机音量
- c语言编写程序出错怎么改,这个C语言程序怎么改才对?
- 元宇宙:未来or骗局?
- 【读论文-笔记】——1.沐神读Alexnet
- idm一个网站不能下载两次?这几个办法彻底解决
- 在vue中实现picker样式_vue中van-picker的多列联动数据格式如何设置以及调用