数据集总览
数据集下载连接
链接: 官网下载.
数据集介绍
MPII人体姿势数据集是用于评估关节人体姿势估计的最先进的基准。该数据集包括大约25K张图像,其中包含超过40K个带有注释的身体关节的人。这些图像是使用建立的每天人类活动的分类法系统地收集的。总体而言,该数据集涵盖410个人类活动,并且每个图像都提供了一个活动标签。每一张图片都是从YouTube视频中提取的,并提供了前后未加注释的帧。此外,对于测试集,我们获得了更丰富的注释,包括身体部分闭塞和3D躯干和头部方向。
官网中对数据集的标注的最后生成形式是用MATLAB打开的.mat格式·
后续因为实验需要,也有专家和学者将MPII数据集整合成了json形式以及h5格式。
本文主要将对.mat形式的MPII数据集做一个详解
用MATLAB打开标注文件后,发现本文件由六部分解释,在MPII官方网站也对这六部分做出了介绍
注:idx是英文index的缩写表示索引的意思 类似于数组的下标
1.annolist: 大小:24987 里面共涵盖了可以用作姿态估计的24987张图片的标注信息,这里先做粗略介绍,下文将重点介绍这个结构,以及所包含的信息
2.img_train(imgidx):0/1分别表示测试集/训练集
3.version:是数据集的版本号
4.single_person:如果图片中有1个分离的人,会给出1个标注人的矩形框 ,这里存放的是标注框的索引,如果存在两个人会给出数组大小是二的结构,并存放其索引;如下图所示
可以清晰的看到索引5的照片对应有两个矩形框 应该有两个分离的人。
在annolist中有关于图片名字的一列(下文将详细解释annolist中的各个字段)
import cv2
image=cv2.imread("D:\\015601864.jpg")
cv2.imshow('origin',image)
cv2.waitKey(0)
图中心处有两个分离的冰壶运动员
5.act:图片对应的活动种类和具体动作
注第一列给出的是活动种类第二列是具体活动 后面是相对应的id可以与官网给出的下图一一对应
6.video_list:指定YouTube提供的视频ID。要在YouTube上观看视频,请访问https://www.youtube.com/watch?v=video_list(videoidx) 具体内容如下:
对annolist中的标注信息做一个详解以015601864.jpg为例
1.image:打开后是对应图片的名字
2.annorect:
由六部分组成
(x1,y1)表示head的左上坐标 (x2.y2)是head的右下坐标 根据这两个坐标可以获得一个head框
我用python对其相关像素做了改变效果如下
annopoints:
包括16个身体关节的标注
0-右踝
1-右膝
2-右臀
3-左髋关节
4-左膝
5-左踝
6-骨盆
7-胸
8-上颈
9-头顶
10-右腕
11-右肘
12-右肩
13-左肩
14-左肘
15-左腕
标注后效果如下(这里为了方便观看,我将每个像素点放大了4倍 11放大到44):
scale和objpos:原作者表示scale=人体框高度/200 以objpos为粗略的人体中心点可以做出一个正方形的大致人体框,在我的计算和实验下仍不能准确的框出人体,若有小伙伴对这个有相关的了解可以私信探讨一下,我对这两个信息处理并使用后得到的效果如下。
这里的人体框会露出脚的部分。
3.frame_sec
4.vididx
第三部分是当前图片在视频的那一秒出现
第四部分是当前图片在哪个视频出现
第三和第四以及video_list综合使用可以找到这张图片的出处。
以上是我对这个数据集做出的详细解释,若出现错误请及时留言指正