openpose人体姿态cpu,Ubuntu下环境配置运行演示

本文详细介绍了在Ubuntu系统中配置和运行OpenPose CPU版本的步骤,包括下载项目、获取模型、配置Caffe、使用CMake、编译OpenPose以及运行Demo。在配置Caffe时,需注意下载特定版本并修改Makefile.config,确保CPU_ONLY模式。编译成功后,运行Demo可能会因无GPU而较慢,可调整参数提高速度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

openpose人体姿态cpu版,Ubuntu环境下配置运行演示

本文参考了以下两个链接:

  1. https://blog.youkuaiyun.com/Aaron121314/article/details/94573634
  2. 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"
### OpenPose人体姿态识别常见错误解决方案 在使用OpenPose进行人体姿态识别的过程中,可能会遇到各种错误。以下是针对一些常见的错误及其可能的解决方案。 #### 1. 缺少pthread相关库 如果系统提示缺少`pthread`相关的库文件,则可以通过安装POSIX线程支持来解决问题。具体命令如下: ```bash sudo apt-get install manpages-posix manpages-posix-dev ``` 此操作会安装必要的文档和支持文件[^3]。 #### 2. Caffe代码无法下载或构建失败 当尝试通过CMake配置OpenPose时,可能出现关于Caffe的相关错误,例如路径匹配问题或版本冲突。以下是一些解决方法: - **重新克隆Caffe仓库** 如果出现类似于`pathspec 'c95002f' did not match any file(s)`的错误,可能是Git分支或标签不存在或者被删除。可以手动指定正确的Caffe版本并重新构建: ```bash git clone https://github.com/BVLC/caffe.git cd caffe && git checkout c95002f ``` - **检查依赖项** 确保已正确安装所有必需的依赖项,包括但不限于Glog、Protobuf和OpenCV。如果没有找到这些组件,需单独安装它们。例如: ```bash sudo apt-get install libgoogle-glog-dev libprotobuf-dev protobuf-compiler sudo apt-get install libopencv-dev python-opencv ``` - **强制从源码构建Caffe** 若自动下载过程出现问题,可以选择手动完成Caffe的编译工作,并将其链接到OpenPose项目中[^3]。 #### 3. ROS环境下的OpenPose运行异常 对于Ubuntu平台上的ROS集成版OpenPose,在执行`catkin_make`过程中可能发生多种类型的错误。下面列举几个典型情况以及对应的处理办法: - **话题名称不一致** 输入图像的话题默认设置为`/camera/image`,但实际使用的节点发布者可能采用不同的命名方式。此时应编辑启动脚本文件调整参数值: ```xml <!-- 修改openpose_ros.launch --> <arg name="image_topic" default="/new_image_topic"/> ``` 替换为目标数据流的实际主题名[^2]。 - **动态重映射功能失效** 当前版本可能存在某些情况下未能正常加载订阅器的情况,请确认插件初始化逻辑无误后再试。 #### 4. 性能优化建议 为了提高程序稳定性与效率,还可以考虑以下几个方面改进措施: - 减少不必要的计算开销; - 使用GPU加速模式代替CPU运算; - 调整模型精度等级(如选用轻量化网络结构)以适应不同硬件条件需求。 以上即为部分典型的OpenPose错误排查指南及相关改进建议内容概述。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值