轻量级前端框架助力开发者提升项目效率与性能
1349
2022-10-06
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
找不到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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~