针对数据集cocoval2017,解析其annotations文件夹下person_keypoints_val2017.json文件构成以及可视化。
目录
一、person_keypoints_val2017.json的结构分析
4. "images": list of dictionary
5. ”annotations": list o dictionary
二、将整个json文件进行拆分,分出单个图像以及其对应的标注文件以进行后续的可视化
一、person_keypoints_val2017.json的结构分析
根据coco官网给出的data format信息(https://cocodataset.org/#format-data),总体结构如下图所示:
对于任务object detection:若检测到的是单个物体,iscrowd=0,segmentation mask为[polygon]的格式,即多边形顶点的坐标,但由于单个物体可能会被遮挡,有时候需要多个polygon来表示;若检测到是多个物体的集合体(例如一群人),iscrowd=1,则采用RLE编码的格式。categories部分存储了categories_id到categories的mapping。
对于任务keypoints detection,在object detection的基础上增加了keypoints和num_keypoints,每个关键点都有一个可见性标志 v,v=0:未标记(在这种情况下 x=y=0),v=1:标记但不可见,v=2:标记并且可见。skeleton定义了各个关键点之间的连接性。
1. “info”
"info": {
"description": "COCO 2017 Dataset",
"url": "http://cocodataset.org",
"version": "1.0",
"year": 2017,
"contributor": "COCO Consortium",
"date_created": "2017/09/01"
},
2. "licenses"
"licenses": [
{
"url": "http://creativecommons.org/licenses/by-nc-sa/2.0/",
"id": 1,
"name": "Attribution-NonCommercial-ShareAlike License"
},
{
"url": "http://creativecommons.org/licenses/by-nc/2.0/",
"id": 2,
"name": "Attribution-NonCommercial License"
},
# 这里仅列举两个
]
3. "categories"
"categories": [
{
"supercategory": "person",
"id": 1,
"name": "person",
"keypoints": [
"nose",
"left_eye",
"right_eye",
"left_ear",
"right_ear",
"left_shoulder",