lightweight openpose 入门实操笔记(pytorch环境)
最近有个小项目要搞姿态识别,简单调研了一下2D的识别:
基本上是下面几种
- (单人)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页,下面是论文和代码链接,体量都不大,正好适合练手:
- 论文地址:https://arxiv.org/pdf/1811.12004.pdf
- Pytorch实现github主页:https://github.com/Daniil-Osokin/lightweight-human-pose-estimation.pytorch
环境配置
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
成功运行!有问题的小伙伴可以关注留言交流哈~
lightweight openpose 入门实操笔记(pytorch环境)的更多相关文章
- harbor安装实操笔记
纸上得来终觉浅,实操一遍吧! 把所有开发的后端服务先在打成镜像,传到私有镜像仓库: 然后在任意的远程机器拉取镜像,然后可采用docker或者docker-compose的方式运行,本节先按照docke ...
- TensorFlow入门实操课程第一章练习笔记
在本练习中,您将尝试构建一个神经网络,让它根据一个简单的公式来预测房屋的价格. 想象一下,如果房子的定价很简单,带一间卧室的房子价格是5万+5万,那么一间卧室的房子要花10万元:两间卧室的房子就要花1 ...
- TensorFlow入门实操课程第一章教程笔记
神经元网络深度学习的起步程序 Hello World 第一个应用程序总是应该从超级简单的东西开始,这样可以看到代码如何产生和运作的整体框架. 就创建神经网络而言,我喜欢使用的例子是一个能够学习两组数字 ...
- GitLab-CI/CD入门实操
以Spring boot项目为例.传统方式是本地生成jar包,FTP上传服务器,重启服务:如果是内网测试服,也可以在服务器上安装git,在服务器上编译打包.但这都需要人为干预,于是CI/CD就出现了. ...
- 【实操笔记】MySQL主从同步功能实现
写在前边: 这两天来了个需求,配置部署两台服务器的MySQL数据同步,折腾了两天查了很多相关资料,一直连不上,后来发现其实是数据库授权的ip有问题,我们用的服务器是机房中的虚拟机加上反向代理出来的,坑 ...
- Hadoop1.2.1 全然分布式集群搭建实操笔记
前期准备工作: 1.改动Linux主机名:/etc/hostname ubuntu系统:vi /etc/hostname ...
- linux实操_shell设置环境变量
1.定义环境变量 在/etc/profile文件中定义一个环境变量 2.查看环境变量 echo $WDC_HOME 3.在shell程序中实用WDC_HOME
- 实操笔记:为 NSQ 配置监控服务的心路历程
在 Go 语言实现的实时消息队列中, NSQ 的热度可以排第一. NSQ 这款消息中间件简单易用,其设计目标是为在分布式环境下运行,为去中心化服务提供一个强大的基础架构.它具有分布式.去中心化的拓扑结 ...
- mysql数据库实操笔记20170418
一.建立商品分类表和价格表: 1.分类表`sankeq``sankeq`CREATE TABLE cs_mysql11(id INT(11) NOT NULL AUTO_INCREMENT,categ ...
随机推荐
- 012 基于FPGA的网口通信实例设计【转载】
一.网口通信设计分类 通过上面其他章节的介绍,网口千兆通信,可以使用TCP或者UDP协议,可以外挂PHY片或者不挂PHY片,总结下来就有下面几种方式完成通信: 图8‑17基于FPGA的网口通信实例设计 ...
- 基于Vue2和Node.js的反欺诈系统设计与实现
最近包工头喊农民工小郑搬砖,小郑搬完砖后沉思片刻,决定写篇小作文分享下,作为一个初学者的全栈项目,去学习它的搭建,到落地,再到部署维护,是非常好的. ------题记 写在前面 通过本文的学习,你 ...
- NOIP 模拟 $14\; \text{队长快跑}$
题解 \(by\;zj\varphi\) 一道很妙的 \(dp\) 题,方程状态不好设置,细节也不少 看到数据范围,直接想离散化 设 \(f_{i,j}\) 表示处理完前 \(i\) 个水晶,其中摧毁 ...
- Zabbix邮箱告警
一.安装邮箱 yum install mailx 二.配置邮箱 vim /etc/mail.rc set from=875667601@qq.com set smtp=smtp.qq.com set ...
- 7、二进制安装K8s之部署kube-proxy
二进制安装K8s之部署kube-proxy 1.创建配置文件 cat > /data/k8s/config/kube-proxy.conf << EOF KUBE_PROXY_OPT ...
- .Net 之进制转换 余位补全
十进制转二进制 Convert.ToString(n, 2) 其中 n -- 源类型 可以是shrot Byte Int Uint Long 2 -- 目标位 可以是2,8,10,16 同理十进制转1 ...
- prism 中的 自定义region
参考网址: https://blog.csdn.net/weixin_30872499/article/details/98673059 并不是所有控件都可以被用作Region了吗?我们将Gird块的 ...
- MVVMLight学习笔记(六)---DispatchHelper更新UI
一.概述 在应用程序中,线程可以被看做是应用程序的一个较小的执行单位.每个应用程序都至少拥有一个线程,我们称为主线程.当调用和操作主线程的时候,该操作将动作添加到一个队列中,每个操作均按照将它们添加到 ...
- udphdr结构
udphdr结构包含在/usr/src/linux/include/linux/udp.h 1 struct udphdr { 2 __u16 source; 3 __u16 dest; 4 __u1 ...
- docker安装与配置nginx详细过程
注:大鸟飞过,此方式只用于快速搭建使用 第一步 pull nginx 命令:docker pull nginx 第二步 启动nginx 命令:docker run --name nginx -p 80 ...