一文openpose姿态估计
目录
- 1.什么是姿态估计
- 2.姿态估计的两种方法
- 2.1 Top-down方法
- 2.2 openpose方法
- 3.框架
- 4.网络结构
- 4.1 CPM(一代)
- 4.2 openpose
- 5.姿势识别
- 5.1 得到监督txt
- 5.2 特征整合
- 5.3 机器学习算法分类
- 5.4 深度学习算法分类
1.什么是姿态估计
如下是coco数据集的各个点,不同数据集有不同
举例:
2.姿态估计的两种方法
2.1 Top-down方法
第一步得到框以后,对单个框做一个回归任务,例如:将单人图裁剪出来,输入17个关键点的网络模型,得到头,肩等位置,注意这里的位置如果要想准确,得是相对位置。
什么是相对位置:相对位置就是头的位置,针对裁处的图的宽高的距离,假设图左上角为原点,那么偷得位置就是距离原点w=1,距离原点h=2.
第二步拼接点,拼接点的规则是我们提前配置好的。
这种方法的优点:
1.点的拼接不会错(准)
这种方法的问题:
这种方法适用于:
1.不要求速度
2.要求准
多人,实时的问题举例:
openpose的改进就是剥离出目标检测,直接对图像进行关键点检测,然后拼接,怎么拼接呢?
2.2 openpose方法
关键点获取:
输出18个特征图(每个特征图对应一个关键点),上图输出的是右肩膀的热度图 。那么标签定义的时候,也就需要定义为高斯类型,哪些点离得近概率就高,离得远,概率就低。
拼接:(PAF part affinity fields 部分亲和场)
目的:找到当前最合适的拼接方式(拼接方向)
引入向量概念
18个点有19种连接方式,2个点(x1,y1)(x2,y2)会有一个向量
方向有两种,x的方向,y的方向,所以这种预测的特征图的数量为:19*2=38个,38个特征图代表19种方向。
方向有了怎么连接?
分数肯定需要网络学习,那么学习就涉及到标签制作:
标签制作中,需要向量信息,向量有大小,有方向,现在只需要方向,所以单位向量最适合
方向实例1:
标签中的方向明白的话,接下来看:预测中的方向
引入积分思想:
积分就是求近似面积,例如估计一个无数个间隔无限接近的长方形图形对于x轴的面积
上门投影做积分的思想就是如下的公式体现:
回到方向有了,怎么连接?=》分数(权值)权值就是这么算出来的
得分值知道以后怎么匹配呢?
一个点,例如脖子的点,可以匹配左肩膀,右肩膀,左腿,右腿,一个点匹配很多个点,这样的匹配就很难了(图下情况b),上面得到的积分,只能说哪个方向好,哪个方向坏。
常见的匹配就是二分匹配,直接套用匈牙利算法。
在姿势匹配中,就是规定的脖子只连右肩膀,右肩膀只连右胳膊肘,右胳膊肘只连右手(图下情况c),每一个特征点的匹配都是二分的(图下情况d),二分的做的好。
如果还看不懂,先往下看,到下面第三张图就明白了!!!
3.框架
输入图像(如上图情况a),走两个分支(b,c)
估计关键点实际位置(如上图情况b),得到18个特征图。
估计关键点之间的向量(如上图情况c),得到38个特征图。
根据上门的二分匹配,左边绿点为左肩膀,绿线连接左边蓝点(左胳膊肘),红线连接右边蓝点(左胳膊肘),做二分匹配,匹配到对的。
(如上图情况d),得到19张特征图。
最后基于19张特征图得到骨架结果(如上图情况e)
4.网络结构
4.1 CPM(一代)
只有关键点的定位
引入级联思想
上图表示的是,当感受野越大,即x坐标轴,看到的像素越多,准确率越高。如下图举例。
上图表示的是,就算视野小,也加入损失函数,增加小视野找的准确性,那么为后面更大的视野也奠定了基础。(一个学习的过程)
4.2 openpose
5.姿势识别
5.1 得到监督txt
- 设定站立、行走、奔跑、跳动、坐下、下蹲、踢腿、出拳、挥手等行为标签,每类行为通过摄像头采集相关视频,并将视频分帧成多张图片
- 将其中的姿态特征利用openpose提取作为完整动作的基本识别特征,并将其中的信息整合到txt文件中。
5.2 特征整合
将提取的特征信息和对应的图片,行为标签一一对应起来整合在一个TXT文件中。整合出的TXT信息分别作为输入(图片和骨骼特征点)和输出标签(行为标签)csv文件。
其中输入的特征可以是关键点的特征,也可以是不同骨骼点连接的线特征,以及不同线之间组合形成的面特征。
这些特征将通过分类算法进行学习。
5.3 机器学习算法分类
5.4 深度学习算法分类
利用keras搭建RNN网络模型,并加入了二次检测,以防止对坐下、摔倒误判。二次检测主要对人体高度和宽度的比例进行对比以判断是否为跌倒动作。
一文openpose姿态估计相关推荐
- 姿态估计 | OpenPose Plus值得期待
点击我爱计算机视觉标星,更快获取CVML新技术 卡内基梅隆大学开源的OpenPose姿态估计库,出自论文"Realtime Multi-Person 2D Pose Estimation u ...
- [多图/秒懂]白话OpenPose,最受欢迎的姿态估计网络
前言: 最近在开发运动计数APP,需要用到姿态估计相关的算法.于是对这一领域的算法进行了总结.如下图所示为姿态估计的一些经典论文.这其中OpenPose的影响力可以说是非常大的了,由于其开源做的好,论 ...
- OpenPose 升级,CMU提出首个单网络全人体姿态估计网络,速度大幅提高
点击我爱计算机视觉标星,更快获取CVML新技术 昨天,曾经开源OpenPose的卡内基梅隆大学(CMU)公布了ICCV 2019 论文 Single-Network Whole-Body Pose E ...
- 一文概览2D人体姿态估计
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 来自 | 知乎 作者 | 谢一宾 链接 | https:// ...
- Python+OpenCV+OpenPose实现人体姿态估计(人体关键点检测)
目录 1.人体姿态估计简介 2.人体姿态估计数据集 3.OpenPose库 4.实现原理 5.实现神经网络 6.实现代码 1.人体姿态估计简介 人体姿态估计(Human Posture Estimat ...
- Openpose+Tensorflow 这样实现人体姿态估计 | 代码干货
作者 | 李秋键 出品 | AI科技大本营(ID:rgznai100) 人体姿态估计指从单个 RGB 图像中精确地估计出人体的位置以及检测骨骼关键点的位置.人体姿态估计是计算机视觉领域的研究热点,是诸 ...
- CV之PoseEstimation:Pose Estimation人体姿态估计(AI识人,OpenPose+DeepCut+RMPE+Mask RCNN)的简介、案例应用之详细攻略
CV之PoseEstimation:Pose Estimation人体姿态估计(AI识人,OpenPose+DeepCut+RMPE+Mask RCNN)的简介.案例应用之详细攻略 目录 Pose E ...
- 用OpenPose进行单个或多个人体姿态估计
在计算机视觉中,人体姿态估计(关键点检测)是一个很常见的问题,在体育健身.动作采集.3D试衣.舆情监测等领域具有广阔的应用前景,本文要使用的检测方法就是基于OpenPose的人体姿态估计方法. 一.O ...
- 人体姿态估计openpose学习与应用
前言 2021年时,就有做人体姿态估计的想法,具体应用场景是想去把这个姿态估计与工厂操作工的动作结合起来,搭建一套能够监控和规范产线操作工装配动作的基于视觉的人体姿态估计系统.因为一系列的各种原因就搁 ...
最新文章
- 使用Zabbix官方模板监控MySQL
- Java虚拟机:性能监控与故障处理工具
- LAMP环境安装1之php编译报错
- 【HihoCoder - 1850】字母去重 (字符串,思维)
- iATKOS v7硬盘安装教程(硬盘助手+变色龙安装版)
- 病历管理系统V 1.0源码分享
- 录音文件怎么转换成文字呢?
- mysql显示1146_MySQL查询报错:ERROR 1146 (42S02): Table 'craw.sitePageConfig' doesn't exist
- 【hihoCoder】#1615 : 矩阵游戏II
- gfsdgfsragf
- 软件复用及构件、C/S与B/S混合模型及实战项目技术简述
- 云服务器核和g的区别,云服务器几核几g什么意思?
- [MySQL]初始JDBC编程
- Linux下GL850G调试总结
- 使用Python的turtle模块绘制爱心图案
- 计算机编程飞船,当光速飞船遇上“神奇魔法”……
- I/O无线控制器(综科)-4G通讯直接上云平台(阿里云)
- 一不小心搞到了某大学的一堆校园上网帐号。
- [转]数据库巡检报告模板
- vs登陆界面空白_20190806 退戈、临渊鱼儿、月照溪等作者新文完结|千金VS痞子|女扮男装...
热门文章
- SoFiA2用户手册自翻译
- android自定义彩虹,Android彩虹菜单
- uiautomator测试中scrollForward方法使用失灵
- GitHub 上一款全能高速下载工具!堪比某度的会员
- 下载微信视频号视频的憨批方法
- BI神器Power Query(15)-- PQ制作时间维度表(4)
- auth认证相关 --token 深入了解
- 使用vscode remote ssh功能远程连接服务器或树莓派时,报错Setting up SSH tunnel的终极解决办法,全网仅此一份
- 数学建模用python分析gdp_数学建模·中国GDP趋势分析与预测
- GPU运算能力对比(详细)