共约5900字,阅读时间:15min
本文目录:
– 前言 – 准备工作 -openpose的编译安装 -ST_GCN部分 -最后总结
咚咚咚~好久不见,上次写了一篇文章介绍了骨骼关节点相关的行为识别(行为识别–与骨骼信息相关的论文笔记(一)),那么这次就来介绍一下最近很多人都在使用的提取骨骼关节点的openpose的安装啦~我真的是一直在报错和解决错误的过程中~
由于环境问题就是一个很玄学的问题,不同的人总能碰到各种各样的不同的问题。前人种树,后人乘凉,安装过程中在网上看了很多安装的博客,我也遇到了许多别人没遇到的问题,所以决定写一篇文章来记录一下,帮助后面的人更快速的解决问题,也为自己记录一下,万一以后还要再次安装呢
(快别乌鸦嘴哈哈哈
)。嗯嗯嗯谢谢同门课余时间一直在忙服务器的问题,将实验室服务器大更新,环境顿时干净太多啦~我也终于开始在上面“大展拳脚”啦哈哈哈哈
首先说一下我的环境配置,大家可以参考一下,能避免一些不必要的错误:
由于现有的openpose里面是有caffe的,所以我们可以不用先单独编译caffe啦~但如果你是之前就已经编译好勒caffe,那也没事,在下文中省去caffe的相关步骤就好~
好,那我们就开始吧
一、准备工作
(以下步骤没太大的顺序关系,如果你已经安装了一些东西,就把剩下的安装好就好)
1、下载st—gcn源码:
gitclonehttps://github.com/yysijie/st-gcn.git
2、下载openpose源码:(官方安装文档:https://github.com/CMU-Perceptual-Computing-Lab/openpose/blob/master/doc/installation.md#python-api)
git clone https://github.com/CMU-Perceptual-Computing-Lab/openpose
3、下载caffe源码(我是用的openpose版的caffe,如果你已经提前编译了caffe,就可以忽略这一步了):【下载到上面openpose-3rdparty-caffe文件夹里面】
git clone https://github.com/CMU-Perceptual-Computing-Lab/caffe温馨提示 复制文件的命令(请更换为你自己的路径):sudo cp -r /home/xyl/caffe/caffe/. /home/xyl/openpose/openpose/3rdparty/caffe/
4、安装cmake-gui (网上一搜教程,就会说用sudo apt-get install cmake-gui这个命令来安装,如果你是Ubuntu18,请不要这样操作,因为会自动下载cmake 3.10版本,在最后运行demo的时候,会报‘openpose the following variables are used in this project but they are set to not found’ 这个错误。所以需要自己去cmake官网下载>=3.12的版本才可以正常运行。)错误具体参考链接:https://github.com/CMU-Perceptual-Computing-Lab/openpose/issues/1114
叮叮叮~来介绍以下正确步骤:
cmake-gui依赖于3.x版本或者4.x版本的Qt,所以如果原先没有安装QT的需要先安装。sudo apt-get install qt4-defaultwget https://cmake.org/files/v3.15/cmake-3.15.5.tar.Ztar -xzvf cmake-3.15.5.tar.Zcd cmake-3.15.5./bootstrap –qt-gui –qt-qmake=/usr/bin/qmakemake -j4sudo make install创建软链接:mvcmake-3.15.5/usr/cmake-3.15.5ln-sf/usr/cmake-3.15.5/bin/*/usr/bin/cmake–version显示版本信息即安装成功啦~你也可以使用命令sudocmake-gui 来测试是否会出现图形化界面
上述步骤是我参考的以下链接总结出来的:
https://my.oschina.net/u/2338162/blog/901831
https://blog.csdn.net/huigougou/article/details/84326907
https://blog.csdn.net/weixin_43421058/article/details/88868870
https://ywnz.com/linuxrj/3089.html
5、安装opencv (加了清华源之后下载会很快的~提升你pip下载速度~嗯…没错…是飞一般的感觉哈哈哈
)
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python
6、下载安装ffmpeg 以及测试是否安装好了【
或者也可以尝试使用该命令sudo apt-get install ffmpeg,我是使用的这个命令,所以安装的版本是比较旧的 ffmpeg 3.4.6 哈哈哈,当然你可以通过以下步骤安装最新版的啦
】
下载安装包:wget https://www.ffmpeg.org/download.html解压:tar -xvf ffmpeg.4.2.1.tar.bz2./configure make && make install检查是否安装好:ffmpeg -version
二、编译安装openpose
cd models
./getModels.sh 显示下载结束后,你可以再次执行这条命令,检查是否都已下载好了,以免后续报错找不到模型。
cd ..
会下载模型,速度只有十几k,很慢的,大概需要接近10小时~这个时候只要保持连接就好,你可以去做点其他的事。
下载完成后,在openpose的目录下创建build文件
sudomkdir buildsudocmake-gui//注意需要使用sudo,不使用会报请求被拒绝的错误
sudo apt-get install libopencv-dev
我使用命令查看了一下自己当前opencv的版本是 3.2.0.
pkg-config –modversion opencv
还有一个很重要的点!!!就是再下面Name-Value那里,需要勾选build_python,要不然等之后运行demo就会报“can not found Openpose Python API”的错误啦!!!真的全是我自己踩的坑!我将此记录下来,你们就别犯同样的错啦
~哈哈
噔噔噔,又来了一个错误:“Could NOT find Protobuf (missing: Protobuf_LIBRARIES Protobuf_INCLUDE_DIR)”
真有点头疼
因为装这个有一点点小麻烦啦~呜呜呜,可是没办法,咱们还得继续呀
~具体操作可见:https://blog.csdn.net/sunshine__0411/article/details/84251773
~(中途等待编译的时候稍微需要等一等)
装好之后再点gennerate,就可以出现generate done的标志啦~
终于可以开始编译啦~
cdbuildsudo make -j8
在编译过程中真的有超多问题,快变成“问题少女”啦,不,应该是“解决问题的少女”哈哈哈
在输入命令进行编译以后,末尾会出现“CMake error ‘make: *** [all] Error 2’when building OpenPose ,recipe for target ‘all’ failed” ,不要以为这是具体错误哦~往上翻报错信息,会发现下图的错误”unable to find the Boost header files”,”could not find HDF5(missing: HDF5….)”
又有错?别慌别慌,我们来一起解决啦~【遇到一个问题就去搜解决方案~现在都直接给大家放出我找到的解决方案以及链接啦~】
1、解决Boost错误:
sudoapt-getinstalllibboost-all-dev
参考:https://github.com/andrewssobral/bgslibrary/issues/84
2、解决HDF5错误:
sudoapt-getinstall libhdf5-dev
参考链接:https://github.com/jcjohnson/torch-rnn/issues/121
3、解决Atlas错误:
sudoapt-getinstall libatlas-base-dev
参考链接:https://github.com/CMU-Perceptual-Computing-Lab/openpose/issues/305
4、解决找不到caffe/proto/caffe.pb.h文件:在openpose/3rdparty/caffe/目录下,执行:
caffe$ protoc src/caffe/proto/caffe.proto –cpp_out=.caffe$ mkdir include/caffe/protocaffe$ mv src/caffe/proto/caffe.pb.h include/caffe/proto/
5、如果你的cmake没有按照我上面那样安装>=3.12版本的话,会出现“openpose the following variables are used in this project but they are set to not found” 的错误。有这个错误不要紧,坑我已经帮你提前踩过啦哈哈哈~ 当然如果你版本正确,则可以编译成功啦。
cmake–version查看一下自己的cmake版本apt-get autoremove cmake 卸载旧的cmake接下来安装的具体步骤请往上查看哦~
以上就完成openpose的编译安装啦~
6、编译完成后,可能还会有这个问题:F0704 14:27:12.379647 5860 upgrade_proto.cpp:97] Check failed: ReadProtoFromBinaryFile(param_file, param) Failed to parse NetParameter file: models/pose/body_25/pose_iter_584000.caffemodel
(我没有遇到哦~只是看有网友遇到,所以也放在这里给大家参考。还记得我上面让大家执行两次./getModels.sh吗
?就可以避免这个错误啦。)
出现这个错误,不是你项目编译有问题,也不是caffe编译有问题,仅仅是caffe模型没有下载完全,所以你需要执行以下命令来重新下载~
cd models 记得是openpose下的models哦~别进错了文件啦
./getModels.sh
cd ..
好,接下来我们来测试一下效果~(注意:要在openpose根目录下运行以下命令)
./build/examples/openpose/openpose.bin –video examples/media/video.avi
终于让我看到一步小小的成功啦嘻嘻嘻~超开心
~
三、ST-GCN部分
先按照上面的准备工作将仓库内容clone下来~
接着就按照官方文档这个步骤做就好啦:
https://github.com/yysijie/st-gcn/blob/master/OLD_README.md
过程中我遇到的报错以及相应的解决方案记录:
1、“caffe trained model file not found:models/pose/coco/pose_iter_440000.caffemodel”,
错误原因:没有下载对应的模型文件
解决方案:在st-gcn文件下执行:
bashtools/get_models.sh
2、”can not found Openpose Python API”
错误原因:编译openpose的时候没有勾选build_python
解决方案:重新编译
3、”cannot import name ‘Graph’ ”
错误原因:net.utils.graph.py 文件是空的,所以找不到Graph函数
解决办法:在官网找到对应文件,将代码复制进去即可
好啦,可以测试啦~(注意:路径最好选择绝对路径)
pythonmain.pydemo–openpose’/home/xyl/openpose/openpose/build’–video’/home/xyl/openpose/ta_chi.mp4′
其实在运行测试视频是还报了一个错误,已经生成了骨骼json文件,可是报了“list out of range” 的错误。通过查阅资料有可能是因为pytorch版本问题,但还未完全确定,准备今天卸载pytorch重新下载1.2版本。所以如果你知道解决办法,可以给后台发送信息哦~
欢迎来相互交流学习
~
测试成功之后,可以在data文件中找到保存的视频文件以及骨骼数据的json文件进行查看:
最后的最后
辛苦码字六个多小时,总结记录了自己做的详细过程,对自己来说也是一种回顾啦,当然同时也希望对你有帮助啦~也谢谢在这个过程中帮助我的师兄和网友们啦哈哈哈哈哈
如果你在过程中遇到其他的问题无法解决,可以给后台发送消息,我看到会回复的~或者之后我会发布博客版,可以在博客中进行评论~我们下次见~
团队介绍
数据智实验室是依托学校大数据应用研究中心建立的子实验室,致力于基于数据驱动利用人工智能相关技术在医疗健康,智慧城市,知识问答社交网络分析,教育数据分析等方面的智能应用研究。是一个有爱,对新东东充满好奇和兴趣的小团队。
团队学者网链接??:http://www.scholat.com/team/dilab.cn
团队github链接??:https://github.com/scnu-dil
欢迎给我们小星星????哦~