基本上是下面几种
- (单人)single person
- 直接关键点回归
- heatmap,感觉其实就是把一个点的标签弄成一个高斯分布
- (多人)multi person
- 自顶向下:先把人圈出来,再针对单个人做检测
- 自底向上:把所有关键点弄出来,再聚合适配到个人
这个不是本文重点,笔者也还没吃透,可以看这篇综述:Deep Learning-Based Human Pose Estimation: A Survey
作者试过几个模型:openpose
,alpahpose
,mediapipe
,使用体验如下:
- openpose流行度很高,效果也不错,就是有点慢,fps比较低
- alphapose效果和速度都很满意,比较重量级
- mediapipe效果速度都很好,使用体验超级棒,封装太好了
作者打算从头到尾完整地训练一个自己地数据集合,并且要求速度为第一位,精度达到要求即可,经过简单调研,上面几个虽然很不错,但是系统学习下来成本可能比较高,所以后面再弄,打算从2018年的这篇lightweight openpose
开始学习,看一下这个introduction就知道为啥先弄这个了:
速度和精度都不错,关键是论文才5页,下面是论文和代码链接,体量都不大,正好适合练手:
环境配置
requirement.txt内容如下:
代码语言:javascript复制torch>=0.4.1
torchvision>=0.2.1
pycocotools==2.0.0
opencv-python>=3.4.0.14
numpy>=1.14.0
首先配置pytorch环境,按照pytorch官网即可,然后安装opencv-python
:
pip install opencv-python
有一个包pycocotools==2.0.0
,死活装不上,
参考了两个博客:
- Microsoft Visual C 14.0 is required解决方法
- 目标检测之pycocotools安装
解决方案如第一篇博客的第一种方法,直接下载对应版本的.whl文件,下载链接在第二篇博客里面,从清华镜像搜索下载也行,然后运行
代码语言:javascript复制pip install pycocotools_windows-2.0-cp37-cp37m-win_amd64.whl
注:如果采用第一篇博客所述第二种方法,直接安装一个visual studio,应该也是可以的,只是比较麻烦;如果采用所述第三种方法,这时候bug就来了,采用Microsoft Visual C Build Tools来解决貌似是不错的解决方式,但是每次安装到一般就提示安装包错误什么的,换了几个博客推荐的下载都不行,放弃此方法,采用第一种或第二种即可。
测试python的demo
下载作者训练好的checkpoint
:
- 配置好环境之后,运行如下命令应该就会打开一个摄像头,实时检测:
python demo.py --checkpoint-path checkpoint_iter_370000.pth --video 0
成功运行!有问题的小伙伴可以关注留言交流哈~