openpose人体姿态cpu版,Ubuntu环境下配置运行演示
本文参考了以下两个链接:
- https://blog.youkuaiyun.com/Aaron121314/article/details/94573634
- https://blog.youkuaiyun.com/qq_35468937/article/details/81514198
总结和梳理了一下步骤。
一、准备工作
更新
sudo apt-get update
sudo apt-get upgrade
安装caffe项目可能用到的依赖项
sudo apt-get install liblmdb-dev
sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev
sudo apt-get install -y protobuf-compiler libatlas-base-dev libgflags-dev libgoogle-glog-dev libboost-all-dev
二、openpose项目下载
1.下载项目
可以从链接: https://github.com/CMU-Perceptual-Computing-Lab/openpose下载
也可以在终端命令行下载
# 下载源码
git clone https://github.com/CMU-Perceptual-Computing-Lab/openpose.git
2.下载模型
进入openpose目录中的models下,执行getModels.sh,就会自动下载模型。
三、caffe配置
1.caffe下载(此处非常重要,下载错误的caffe版本会在测试时报错)
非常重要的一点:不建议使用其它的外部caffe,比如可能从其他博客看到的https://github.com/BVLC/caffe.
由于openpose项目里的3rdparty里面的caffe下载下来是一个空的文件夹,所以进入Openpose那个网址,他们的caffe目录点进去是另一个github项目网址,可以去下载下来,或者从https://github.com/CMU-Perceptual-Computing-Lab/caffe/tree/b5ede488952e40861e84e51a9f9fd8fe2395cc8a.
下载好caffe,然后将其解压放入caffe目录里。
2.需要修改的地方
进入你下载好的caffe目录,生成Makefile.config文件,这里是将caffe目录下自带的Makefile.config.Ubuntu14_cuda8.example文件复制一份并更名为Makefile.config
cp Makefile.config.Ubuntu14_cuda8.example Makefile.config
修改Makefile.config
sudo gedit Makefile.config
在USE_CUDNN := 1前面加上#注释,去掉CPU_ONLY := 1前面的注释,如图:
需要注意的一点,如果你的版本是opencv3,同时去掉OPENCV_VERSION :=3 前面的注释。
配置引用文件路径
修改前
修改后
添加的内容为
/usr/include/hdf5/serial
/usr/lib/x86_64-linux-gnu/hdf5/serial
修改Makefile
...
将:
NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)
替换为:
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
...
...
将:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
改为:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
...
然后保存,这一步就算完成了。
3.caffe编译
sudo make all
sudo make test
sudo make runtest
运行完测试,出现如下界面说明编译成功。
四、配置cmake
1.安装并打开cmake界面
sudo apt-get install cmake-gui
cmake-gui
2.进行相关配置
填写路径,上面填的是你下载的openpose的根目录,下面是build出来的路径,我们这边放到了openpose根目录,然后点击configure。
点完后会出现下面的提示,点击yes。
然后出现下面的画面,点击finish
然后出现下面的画面,提示有错误。
将GPU_MODE选择CPU_ONLY,取消USE_CUDNN的勾选,再次点击configure
还是出错了,这里会把错误标出来。
继续配置,USE_MKL和BUILD_CAFFE都取消。
Caffe_INCLUDE_DIRS填你下载的caffe目录下的include目录
Caffe_LIBS填你caffe目录下的build/lib/libcaffe.so
然后点击configure。
现在配置全部正确了。会提示Configuring done,最后点击Generate。
五、编译openpose
进入到caffe根目录,执行下面语句,不然编译会提示缺少caffe.pb.h
protoc src/caffe/proto/caffe.proto --cpp_out=.
mkdir include/caffe/proto
mv src/caffe/proto/caffe.pb.h include/caffe/proto
然后进入刚才cmake生成的build目录下,编译open pose。
sudo make -j4
编译成功是下面的界面。
六、运行Demo
进入到open pose的根目录,执行命令
./build/examples/openpose/openpose.bin --image_dir examples/media/
因为没有GPU,会很卡,可以加上参数。
提高运行速度,但是精度会降低。要16的倍数,不然会出错。
./build/examples/openpose/openpose.bin --image_dir examples/media/ --net_resolution "80x80"