003-2.processData
文章目录
前言
这篇文章里的案例使用的是Human3.6M数据集中S1人物的Sitting 1.55011271.mp4视频中的第13帧作为图片,分别将此帧在Human3.6M中的2D关节点标注和在COCO上训练过的Openpose检测出的Heatmap在这帧图片上进行可视化,并一一对照标出了Huamn3.6M中32个关键点和COCO数据集中19个关键点对应的身体部位,找出了在两个数据集中共同的身体部位及其关键点。
提示:以下是本篇文章正文内容,下面案例可供参考
一、最终结果展示
1. Human3.6M数据集中32个人体关键点可视化及含义
Human3.6M中的2D keypoints ground-truth可视化:
对比找到H36M中各关键点所对应的身体部位如下,黄色高光的部位表示H36M和COCO中共有的关键点:
其中右上图的骨架图来自于博文CSDN:human3.6m数据集格式解析中给出的部分关键点(keypoints),但这里的关键点并不完整。右下图和左表我整理出了完整的各关键点含义(注意有的身体部位被多个关键点重复标注了)。
2. COCO数据集中19个人体关键点可视化及含义
检测出的COCO keypoints heatmap可视化,取heatmap中置信度最高的点作为关节点标红:
对比找到COCO中各关键点所对应的身体部位如下,黄色高光的部位表示H36M和COCO中共有的关键点:
3. Human3.6M和COCO两个数据集中共同的身体部位及其关键点
二、代码展示
以下代码均在Jupyter notebook中运行
1.Human 3.6M部分
1) 引入库
- 在Jupyter中安装本地没有的package: (参考)直接在在Jupyter中安装Python第三方包
!pip install cdflib
输出如下:
import cdflib
import numpy as np
from matplotlib import pyplot as plt
import cv2 as cv
2)读入数据
代码如下(示例):
- Human3.6M数据集中cdf文件的构成+用cdflib库处理cdf文件 (参考)2D人体姿态识别-对Human3.6M数据集预处理(1):用python读取并处理cdf文件,cdflib包中各函数介绍,Human3.6M数据集2d关节点格式解读
#load a cdf file
cdf= cdflib.CDF('Sitting 1.55011271.cdf')
#Get the variables in the cdf file
x = cdf.varget("Pose")
#Get the keypoints and images at frame 13
x13 = x[:,14,:]
x13 = x13.reshape