lightweight openpose 入门实操笔记(pytorch环境)

时间:2021-12-12 20:40:32

最近有个小项目要搞姿态识别,简单调研了一下2D的识别:

基本上是下面几种

  • (单人)single person
    • 直接关键点回归
    • heatmap,感觉其实就是把一个点的标签弄成一个高斯分布
  • (多人)multi person
    • 自顶向下:先把人圈出来,再针对单个人做检测
    • 自底向上:把所有关键点弄出来,再聚合适配到个人

这个不是本文重点,笔者也还没吃透,可以看这篇综述:Deep Learning-Based Human Pose Estimation: A Survey

作者试过几个模型:openpose,alpahposemediapipe,使用体验如下:

  • openpose流行度很高,效果也不错,就是有点慢,fps比较低
  • alphapose效果和速度都很满意,比较重量级
  • mediapipe效果速度都很好,使用体验超级棒,封装太好了

作者打算从头到尾完整地训练一个自己地数据集合,并且要求速度为第一位,精度达到要求即可,经过简单调研,上面几个虽然很不错,但是系统学习下来成本可能比较高,所以后面再弄,打算从2018年的这篇lightweight openpose开始学习,看一下这个introduction就知道为啥先弄这个了:

lightweight openpose 入门实操笔记(pytorch环境)

速度和精度都不错,关键是论文才5页,下面是论文和代码链接,体量都不大,正好适合练手:

环境配置

requirement.txt内容如下:


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,死活装不上,

参考了两个博客:

解决方案如第一篇博客的第一种方法,直接下载对应版本的.whl文件,下载链接在第二篇博客里面,从清华镜像搜索下载也行,然后运行

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

成功运行!有问题的小伙伴可以关注留言交流哈~