Macos部署openpose(M1系列-intel通用)

网友投稿 1349 2022-10-06

Macos部署openpose(M1系列-intel通用)

Macos部署openpose(M1系列-intel通用)

OpenPose人体姿态识别项目是美国卡耐基梅隆大学(CMU)基于卷积神经网络和监督学习并以caffe为框架开发的开源库。可以实现人体动作、面部表情、手指运动等姿态估计。适用于单人和多人,具有极好的鲁棒性。是世界上首个基于深度学习的实时多人二维姿态估计应用,基于它的实例如雨后春笋般涌现。人体姿态估计技术在体育健身、动作采集、3D试衣、舆情监测等领域具有广阔的应用前景,人们更加熟悉的应用就是抖音尬舞机。

1.首先-openpose开源软件包

git

2.进入openpose目录,并执行sh文件进行安装

cd openposebash

3.配置Cmake GUI

brew install

我这里已经安装好了,所以出现了一个error。

4.部署Caffe,OpenCV等组件

brew install

5.-Cmake,并安装,并在openpose文件夹下新建build目录。

Cmake的使用如下图所示:

6.替换caffe文件夹

git

替换目录:

/openpose/3rdparty

7.-对应的模型,放在/models文件夹中。

cd modelsbash

8.进入build目录,执行命令

make -j`sysctl -n hw.logicalcpu`

但是很可惜,会报错。因此,我们需要解决报错的问题。

报错信息1:

CMake Error at /Applications/CMake.app/Contents/share/cmake-3.23/Modules/FindPackageHandleStandardArgs.cmake:230 (message): Could NOT find vecLib (missing: vecLib_INCLUDE_DIR) Call Stack (most recent call first): /Applications/CMake.app/Contents/share/cmake-3.23/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE) cmake/Modules/FindvecLib.cmake:24 (find_package_handle_standard_args) cmake/Dependencies.cmake:135 (find_package) CMakeLists.txt:49 (include)

解决方案: 1.查找vecLib.h

命令:

find / -name vecLib.h |grep

我这里使用的文件是:

/Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/Headers/vecLib.h

解决方法:

打开build/caffe/src/openpose_lib-build/CMakeCache.txt文件,找到vecLib_INCLUDE_DIR:PATH=vecLib_INCLUDE_DIR-NOTFOUND一行,从本机搜索找到vecLib.h文件后将其路径覆盖掉vecLib_INCLUDE_DIR-NOTFOUND。

报错信息2:

too many arguments to function call, expected single argument ‘total_bytes_limit’, have 2 arguments coded_input->SetTotalBytesLimit(kProtoReadBytesLimit, 536870912); /opt/homebrew/include/google/protobuf/io/coded_stream.h:384:8: note: ‘SetTotalBytesLimit’ declared here void SetTotalBytesLimit(int total_bytes_limit);

很明显,参数多了,函数void SetTotalBytesLimit(int total_bytes_limit);多了一个参数,需要把第二个参数注释掉,进入出错代码

vim

找到对应的行,改掉函数

报错信息3:

#include ^~~~~~~~~ In file included from /Users/wanghaitao/Desktop/content/openpose/src/openpose/net/netCaffe.cpp:6: In file included from /Users/wanghaitao/Desktop/content/openpose/build/caffe/include/caffe/net.hpp:12: In file included from /Users/wanghaitao/Desktop/content/openpose/build/caffe/include/caffe/layer.hpp:12: In file included from /Users/wanghaitao/Desktop/content/openpose/build/caffe/include/caffe/util/math_functions.hpp:11: /Users/wanghaitao/Desktop/content/openpose/build/caffe/include/caffe/util/mkl_alternate.hpp:14:10: fatal error: ‘cblas.h’ file not found #include

找不到cblas.h的文件

操作方法也是和vecLib.h的一样,通过find / -name cblas.h来寻找我们的目标文件,

cp

我这里将我查找到的cblas.h的文件复制到了调用该文件的cpp目录下。

同时将报错文件中的cblas.h的中括号改为双引号。

修改后重新运行

make -j`sysctl -n hw.logicalcpu`

成功编译openpose。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:如何解决微信小程序中出现的错误:{"baseresponse":{"errcode":-80002,"errmsg":""}}
下一篇:关于微信小程序 location API接口的解析(关于微信小程序目录结构说法正确的是)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~