openpose姿态估计【学习笔记】

文章目录

      • 1、人体需要检测的关键点
      • 2、Top-down方法
      • 3、Openpose
        • 3.1 姿态估计的步骤
        • 3.2 PAF(Part Affinity Fields)部分亲和场
        • 3.3 制作PAF标签
        • 3.4 PAF权值计算
        • 3.5 匹配方法
      • 4、CPM(Convolutional Pose Machines)模型
      • 5、Openpose
        • 5.1 序列的作用
        • 5.2 整体框架

1、人体需要检测的关键点

在本项目中,需要检测人体18个关键点,除了下图所标注的17个关键点外,还有1个脖子关键点

openpose姿态估计【学习笔记】_第1张图片

2、Top-down方法

1、检测得到所有人的框;
2、对每一个框进行姿态估计输出结果

Top-down方法的问题
1、姿态估计做成啥样主要由人体检测所决定,能检测到效果估计也没问题
2、但是如果俩人出现重叠,只检测到一个人,那肯定会丢失一个目标
3、计算效率有点低,如果一张图像中存在很多人,那姿态估计得相当慢了

能不能设计一种方法不依赖于人体框而是直接进行预测呢?有的,接下来请看下面的方法

3、Openpose

3.1 姿态估计的步骤

姿态估计的2个步骤
1、识别出图片中所有关键点,
2、按顺序拼接同属一个人的所有关键点

如下面左图所示,我们识别人体18个关键点中的右肩关键点,就在图片中建立热度图(高斯),识别18个关键点就需要建立18个特征图
openpose姿态估计【学习笔记】_第2张图片

3.2 PAF(Part Affinity Fields)部分亲和场

PAF作用:将属于同一个人的不同关键点按顺序拼接

整体框架如下,1张图片经过CNN网络后分成2个网络,Parts Detection网络是预测关键点,Parts Association网络是预测方向,人体18个关键点总共需要19个不同的方向,而确定方向至少需要1个平面,即 x x x y y y 坐标,所以Parts Association需要预测19x2=38个特征图

openpose姿态估计【学习笔记】_第3张图片

3.3 制作PAF标签

Parts Association输出38张特征图,其中19张特征图预测 x x x 坐标,19张特征图预测 y y y 坐标,每一张特征图的像素点都需要输出坐标值。在PAF标签处理中,把2个关键点所包围的矩形当中的所有像素值的方向与2个关键点的方向都一致。
openpose姿态估计【学习笔记】_第4张图片
蓝色和红色分别是两个关键点, V V V 是其向量,

在这里插入图片描述
openpose姿态估计【学习笔记】_第5张图片

对于其中某个PAF特征图(19种连接方式种的1种),这就相当于得到PAF标签值了,包括所有人在该连接处的向量,
openpose姿态估计【学习笔记】_第6张图片

3.4 PAF权值计算

两个关键点j1与j2之间的权值计算方法
openpose姿态估计【学习笔记】_第7张图片
d j 1 d_{j1} dj1 d j 2 d_{j2} dj2分别表示j1与j2两点的坐标,求j1和j2间各点的PAF在线段j1j2上投影的积分,其实就是线段上各点的PAF方向如果与线段的方向越接近权值就越大

3.5 匹配方法

openpose姿态估计【学习笔记】_第8张图片

4、CPM(Convolutional Pose Machines)模型

为OpenPose后面的工作奠定了基础,也可以当作基础框架,通过多个stage来不断优化关键点位置(stage1预测完全错误,2和3在纠正)

openpose姿态估计【学习笔记】_第9张图片

stage越多相当于层数越深,模型感受野越大,姿态估计需要更大的感受野,因为进行关键点检测需要更多关于人体的信息,所以感受野越大则人体的信息越多,关键点检测越能检测准确

openpose姿态估计【学习笔记】_第10张图片

使用多个stage级联的思想,每个stage都加损失函数,也就是中间过程也得做的好才行

openpose姿态估计【学习笔记】_第11张图片

5、Openpose

两个网络结构分别搞定:1、关键点预测;2、姿势的‘亲和力’向量
使用多个stage级联的思想,2个网络结构输出之后再进行特征融合,因为方向的预测离不开关键点的位置信息,关键点的位置信息也与方向有关

openpose姿态估计【学习笔记】_第12张图片

5.1 序列的作用

多个stage,相当于纠正的过程,不断调整预测结果

openpose姿态估计【学习笔记】_第13张图片

5.2 整体框架

两个分支都要经过多个阶段,注意每个阶段后要把特征拼接一起

openpose姿态估计【学习笔记】_第14张图片

你可能感兴趣的:(姿态估计,深度学习,图像算法,深度学习,pytorch)