在Jetson Xavier NX上运行openpose


毕设需要在Jetson nx上跑openpose。花了前后一周时间,爬尽所有坑,吐血整理
1、试过像在服务器一样配置openpose,结果一运行就killed。
2、试过重装cuda和cudnn,以为是版本的问题,结果把板子搞崩了
感谢 小乖的晴天的文章,才踏入正轨。

准备阶段

https://blog.csdn.net/zbb297918657/article/details/106403331
NX配有cuda10、Cudnn8和opencv4。这些版本是可以运行openpose的,不需要必须适配官方的版本

下载源码

https://github.com/CMU-Perceptual-Computing-Lab/caffe/tree/b5ede488952e40861e84e51a9f9fd8fe2395cc8a
下完发现有个问题,里面3rdparty的caffe和pybind11是空的,我也不知道是什么问题。但直接在终端git clone是可以的

cd openpose-master
cd 3rdparty
rm -r caffe 			#把空的caffe删了
git clone https://github.com/CMU-Perceptual-Computing-Lab/caffe.git
rm -r pybind11
git clone https://github.com/pybind/pybind11.git				#需要python API 的要下这个

下不动的,可以到我分享这下,里面还有cmake和models的文件,都是后续要用到的
链接:https://pan.baidu.com/s/16w2hSPBUsrbBMIjFW5vhYA
提取码:7777
复制这段内容后打开百度网盘手机App,操作更方便哦–来自百度网盘超级会员V4的分享

配置环境

直接用openpose自带的caffe,不要自己配caffe

安装protobuf 2.6

先把这个下了,后面编译需要
https://github.com/google/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.gz
下完之后传到板子上

tar -zxvf protobuf-2.6.1.tar.gz #解压
sudo apt-get install build-essential
cd protobuf -2.6.1
./configure
make
make check
sudo make install
#装完之后查看版本号
protoc --version  

一般会有下面问题

protoc: error while loading shared libraries: libprotocbuf.so.9: cannot open shared

在 /etc/ld.so.conf.d/目录下创建 bprotobuf.conf文件

sudo vi bprotobuf.conf  #用vim编辑器,我也是第一次使用,上网查查怎么写入和保存即可。写入/usr/local/lib

#保存后
sudo chmod 777 -R ld.so.conf.d
sudo ldconfig

安装其他依赖

sudo apt-get install libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev 
 
sudo apt-get install --no-install-recommends libboost-all-dev
 
sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
 
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
 
sudo apt-get install git build-essential

编译openpose

安装cmake和cmake gui
在我分享的文件中有cmake3.14是可用的。

安装cmake

tar -zxvf cmake-3.14.tar.gz#解压
#cd 进解压后的目录
./bootstrap && make && make install     #要点时间的,等待
cmake -version#查看版本

安装cmake-gui

sudo apt-get install qtbase5-dev
sudo apt-get install qt4-default
sudo apt-get install cmake-qt-gui

在这里插入图片描述

编译openpose

在openpose根目录中新建build文件夹
打开cmake,照抄下图
在这里插入图片描述
在这里插入图片描述
Configure
点击“Configure”按钮,如果成功,会提示“Configuring done”。我在这一步进度条卡住了,把网盘了的model都放进根目录的models文件夹就可以了。可能是没检测到models

这时,会出现一些选项。勾上图中的前5个,下了我分享的model,download model那几个可以不勾了,慢的一比。再勾上USE_CUDNN最后一个不勾
在这里插入图片描述

再点击generate。这时你的openpose的build中就生成了很多文件
进入openpose——build,然后make

cd openpose-master/build/
sudo make -j8

运行openpose

实时摄像

我用的USB摄像头
先检查摄像头能否工作

ls /dev/video*#会显示出端口,一般是0
sudo apt-get install camorama
camorama 
cd openpose-master
 ./build/examples/openpose/openpose.bin -camera_resolution 320x160 -net_resolution 64x32 --camera 0
#两个数值可以调整,但需要是16的倍数
#其他示例也需要设置网络大小,否则很难板子上跑起来

我运行时出现了Prototxt file not found: models/pose/body_25/pose_deploy.prototxt
是我一开始github下的openpose就莫名其妙少了pose_deploy.prototxt这个文件,我分享的链接中加上了

处理视频

./build/examples/openpose/openpose.bin --video examples/media/video.avi --net_resolution 64x32

处理图片

./build/examples/openpose/openpose.bin --image_dir examples/media/ --net_resolution 64x32

他是整个文件夹批量处理的,不是传具体的图片,如果想要快速检测,可以只留一张图片在此文件夹中

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 16
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值