Certernet实现人体姿态估计(包括人体检测)的步骤记录

首先展示效果(此为官方图):

github链接:https://github.com/xingyizhou/CenterNet

1. 编译nms

Note:
若未编译nms,则运行demo时会报错ModuleNotFoundError: No module named ‘external.nms’

git clone https://github.com/xingyizhou/CenterNet.git
pip install -r requirements.txt  # 安装必要模块,可使用conda创建一个新的环境,需要torch 
cd $Centernet_HOME # (即centernet根目录)
cd src/lib/external
make

2. 编译DCNv2

Note:
源代码里给的是pytorch0.4版本的,如果用的是torch<=0.4版本可直接使用,若是pytorch1.x版本则需要下载DCNv2源码(链接地址)替换掉src/lib/model/networks里的DCNv2目录后再进行编译
使用torch1.x版本又使用此项目里自带的DCNv2,编译DCNv2后运行demo会报错ImportError: torch.utils.ffi is deprecated. Please use cpp extensions instead.
我用的是pytorch1.1版本的

cd src/lib/model/networks
rm -rf DCNv2 # 移除旧版本DCNv2
git clone https://github.com/CharlesShang/DCNv2.git # 下载新版本DCNv2
cd DCNv2
./make.sh

Note:
以上编译在Linux上建议使用gcc4.9以上版本进行编译(尝试使用gcc4.8.5编译后运行demo检测视频时报错Segmentations fault (core dumped)

3. 模型

下载人体姿态估计模型multi_pose_dla_3x.pth 79M(链接:https://pan.baidu.com/s/1VUcK0CKZYANFnjn70WkTSw 密码:h1ls)
运行demo时所需要的预训练模型dla34-ba72cf86.pth 60M(链接:https://pan.baidu.com/s/1A_zfUeQItuuCdNkzlpzZwg 密码:p4ye)
,根据提示拷贝到.torch下的指定目录里

4. 运行demo

python demo.py multi_pose --demo 3.mp4 --load_model multi_pose_dla_3x.pth

5. c++调用(使用tensortRT加速)

后续更新转换模型供c++调用

你可能感兴趣的:(Certernet实现人体姿态估计(包括人体检测)的步骤记录)