Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields 是CVPR2017的一篇论文,作者称是世界上第一个基于深度学习的实时多人二维姿态估计。
优酷演示地址:链接
前几天作者公布了windows下的代码,下面来说说如何配置:
英文配置地址可以参考作者的github:https://github.com/CMU-Perceptual-Computing-Lab/openpose/blob/master/doc/installation.md#windows
首先你得装好CUDA8,cudnn5.1,vs2015. 其他版本都不行,只有vs2015可以装
作者说要下载Python 2.4.13 64 bits,其实我的anaconda2也可以(2.7的那个版本)
cmake,ninja(我下载了,但是貌似没用到)
下载windows版的 openpose https://github.com/CMU-Perceptual-Computing-Lab/openpose/tree/windows
并解压,我放在D盘。下载model ,作者给了2个,
http://posefs1.perception.cs.cmu.edu/Users/tsimon/Projects/coco/data/models/coco/pose_iter_440000.caffemodel (精度高,速度较慢)下载后放到 D:\openpose-windows\models\pose\coco下
http://posefs1.perception.cs.cmu.edu/Users/tsimon/Projects/coco/data/models/mpi/pose_iter_160000.caffemodel(速度快,但是精度低)
下载后放到D:\openpose-windows\models\pose\mpi\下
打开D:\openpose-windows\3rdparty\caffe\caffe-windows\scripts 下的build_win.cmd,开始编译。
提示出错hash 什么不匹配的,原因是网的问题,https://github-production-release-asset-2e65be.s3.amazonaws.com/39632178/8053cdd0-0068-11e7-8b60-c46f580c47e0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20170531%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20170531T072412Z&X-Amz-Expires=300&X-Amz-Signature=1860d1ab5ee6598f6a93e6230d1b74a09200e95e22d72021043f5176b9d73de3&X-Amz-SignedHeaders=host&actor_id=28419338&response-content-disposition=attachment%3B%20filename%3Dlibraries_v140_x64_py27_1.1.0.tar.bz2&response-content-type=application%2Foctet-stream 下载后复制到D:\openpose-windows\3rdparty\caffe\dependencies\download下。再编译,等待半个小时,就会编译完毕。(若出现no c compiler could be found 请参考我另一篇博文)
接着 打开 D:\openpose-windows\windows_project\OpenPose.sln 右键点击OpenPoseDemo 生成,此时会报错。提示 找不到D:\openpose-windows\3rdparty\lib\Release caffe.lib 。其实它在 D:\openpose-windows\3rdparty\caffe\lib\Release下,路径的问题。
把release下的的两个文件 放到D:\openpose-windows\3rdparty\lib\Release下 就OK 了。 再编译 又提示错误,说找不到pythoh27(其实也可以在build_win.cmd下 把python的路径改成你自己的python路径,这样这里就不会报错。)右键OpenPoseDemo,属性,连接器,常规,附加库目录,把你的python路径加进去,我为了防止出错,把2个路径都加了。
再生成,就成功了。顺便再生成一下openpose(貌似没什么东西生成)
此时你会在D:\openpose-windows\windows_project\x64\Release下找到OpenPoseDemo.exe。但是你双击它会提示你缺少各种东西。
作者说把{openpose_folder}\3rdparty\caffe\caffe-windows\build\install\bin\
下的所有DLL文件复制到{openpose_folder}\windows_project\x64\Release
.下
但是我没有找到这个路径。我把D:\openpose-windows\3rdparty\caffe\caffe-windows\scripts\build\tools\Release下的所有DLL文件复制过去。
再把{}openpose_folder}\3rdparty\caffe\dependencies\libraries_v140_x64_py27_1.1.0\libraries\x64\vc14\bin\下的
opencv_ffmpeg310_64.dll
, opencv_video310.dll
和opencv_videoio310.复制到{openpose_folder}\windows_project\x64\Release下。
此时打开OpenPoseDemo.exe,发现还是缺少一些东西,我在D:\openpose-windows 下搜索缺少的文件,并复制到{openpose_folder}\windows_project\x64\Release下。
此时,发现oppenpose可以打开了,但是提示找不到model,其实是路径的问题,打开OpenPose.sln ,双击OpenPoseDemo下的openpose.cpp.
在第66行,手动设定models的绝对路径,比如我的是这个:
保存,并再次编译。发现oppenpose终于可以打开了!
有些同学可能会提示报错 out of memory (比如说我),其实就是显存不够,爆显存了(1G GT650M伤不起啊)
打开OpenPose.sln ,双击OpenPoseDemo下的openpose.cpp.
在第67行、68行 修改网络的大小,我设定成如上的大小,1G显存也可以跑了。
大功告成!
如果想在视频下跑,可以在cmd下使用如下命令:windows_project\x64\Release\OpenPoseDemo.exe --video examples/media/video.avi
如果是图片的话bin\OpenPoseDemo.exe --image_dir examples/media/