COCO数据集官网
COCO官网:https://cocodataset.org/#home
Keypoint Detection关键点检测
COCO官方关于数据格式的说明:https://cocodataset.org/#format-data
数据格式
COCO 具有多种注释类型:用于目标检测、关键点检测、素材分割、全景分割、密集姿态和图像字幕。注释使用 JSON 存储。请注意,下载页面上描述的 COCO API 可用于访问和操作所有注释。所有注释共享相同的基本数据结构如下:
{
"info": info, # dict
"licenses": [license], # list ,内部是dict
"images": [image], # list ,内部是dict
"annotations": [annotation], # list ,内部是dict
"categories": # list ,内部是dict
}
info: {
"description": str, # 数据集描述
"url": str,# 下载地址
"version": str,# 版本
"year": int,# 年份
"contributor": str,# 提供者
"date_created": datetime
}
image{
"license": int, #license的ID编号
"file_name": str,# 图片名
"coco_url": str,# 网路地址路径
"width": int,#宽
"height": int,#高
"date_captured": datetime # 数据获取日期
"flickr_url": str,# flickr网路地址
"id": int,# 图片的ID编号(每张图片ID是唯一的)
}
license{
"url": str,
"id": int,
"name": str,
}
关键点检测
关键点注释包含对象注释的所有数据(包括id、bbox等)和两个额外的字段。
首先,“keypoints”是一个长度为3k的数组,其中k是为类别定义的关键点总数。
每个关键点坐标为[x,y],关键点可见性v.
v=0时,定义为未标记(在这种情况下,x=y=0);
v=1时,定义为有标记但被遮挡(在这种情况下,x,y有坐标);
v=2时,有标记且可见。如果关键点位于物体部分内,则该关键点被视为可见。
“num_keypoints”表示给定对象的标记关键点数量(v>0)(许多对象,例如群组和小对象,将具有num_keypoints=0)。
最后,对于每个类别,categories结构都有两个额外的字段:“keypoints”,这是一个长度为k的关键点名称数组,以及“skeleton”,它通过关键点边缘对列表定义连接,并用于可视化。目前,关键点仅针对人员类别进行标记(针对大多数中型/大型非人群人员实例)。另请参见关键点任务。
annotation{
"segmentation": RLE or [polygon], # 分割信息
"num_keypoints": int, # 标注的关节点数
"area": float, # 标注区域面积
"iscrowd": 0 or 1, # 是否是单人
"keypoints": [x1,y1,v1,...], # 关节点信息,按照(x,y,v)的顺序排列,即坐标为(x,y),可见性为v; v=0,没有标注;v=1,有标注不可见(被遮挡);v=2,有标注可见
"image_id": int, # 图片id
"bbox": [x,y,width,height], # 图片中人的边框,这里x,y为边框的左上角的坐标
"category_id": int, # 类别id,等于1表示人这一类
"id": int, #对象id(每个对象id都是唯一的,即不能出现重复)
}
categories[{
"supercategory": str, #主类别名 这里仅为person这一类别
"id": int, #类对应的id (0 默认为背景)这里仅为1,person类别
"name": str, # 子类别
"keypoints": [str], #每个关键点的名字
"skeleton": [edge] #各个关键点之间的连接性
}]