Openpose算法源码分析

数据及代码见最后 

1.数据集与路径配置

        首先,我们需要下载coco数据集,并指定数据集的路径,数据集下载地址见文末。

2.数据的处理和标签的制作

        首先,需要读取数据和标签文件。由于网络输出的是关键点的热度图和PAF亲和度图,因此,需要为此制作标签。

 读取数据和标签文件

        数据使用的是coco数据集,首先使用pycocotools库读取图片及标签。标注数据由x,y坐标值和k组成,k值取0表示点不存在,取1表示点被遮挡,取2表示点既标注了也没被遮挡。因此,需要筛选掉k值为0的情况。

标签的制作

        标签的制作需要制作各个关键点的热度图和PAF标签。关键点热图的个数等于关键点的个数+背景。而对于PAF向量,为了简化关键点的匹配,使完全图问题简化为二分图问题。作者预先定义了19种不同的肢体,每种肢体有x方向和y方向。需要注意的是,网络输出的是特征图,下采样了8倍。因此,制作标签时基于特征图的维度。

关键点的热度图标签        

        关键点的热度图的标签的制作步骤如下:

  • 首先,得到各种关键点的位置,比如眼部、手臂等
  • 对关键点进行筛选,去除越界的关键点
  • 为每一个关键点构建一个热度图,即在一定范围内,以关键点为中心,构建高斯分布,超出

猜你喜欢

转载自blog.csdn.net/qq_52053775/article/details/128672859