首先展示效果(此为官方图):
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++调用