COCO Keypoints数据集格式

COCO数据集是一个广泛使用的多模态数据集,支持目标检测、关键点检测等多种任务。其注释以JSON格式存储,包括信息描述、图像元数据、注释等。关键点检测中,注释包含对象坐标、关键点坐标和可见性信息,适用于人体姿态估计。
摘要由CSDN通过智能技术生成

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]      #各个关键点之间的连接性
}]
要制作COCO128数据集,您可以按照以下步骤进行操作: 1. 数据收集:根据您的需求,收集包含128个图像的数据集。这些图像可以来自于您自己的图像库或者从互联网上搜索并下载。确保图像具有多样性,涵盖不同的场景、对象和角度。 2. 标注数据:对每个图像进行标注,以提供与图像相关的详细信息。常见的标注类型包括边界框(bounding box)、分割掩码(segmentation mask)和关键点(keypoints)等。您可以使用标注工具(如LabelImg)手动标注图像,或者使用现有的自动化标注工具。 3. 数据整理:将标注数据与对应的图像进行关联,并将它们整理成COCO数据集格式COCO数据集使用JSON文件存储图像的元数据和标注信息。您可以使用COCO API提供的工具和函数来处理数据并生成COCO格式数据集。 4. 数据分割:根据您的需求,将整个数据集划分为训练集、验证集和测试集。通常,训练集用于模型的训练,验证集用于调整模型的超参数和评估模型的性能,测试集用于最终评估模型的泛化能力。 5. 数据预处理:在使用数据集训练模型之前,可能需要对图像进行预处理。预处理操作可以包括图像大小调整、数据增强(如随机裁剪、旋转、翻转等)和标准化等。这些操作有助于提高模型的训练效果和泛化能力。 6. 数据集使用:将制作好的COCO128数据集用于您的目标任务,如目标检测、图像分割等。您可以使用深度学习框架(如TensorFlow、PyTorch)加载数据集并训练相应的模型。 请注意,以上步骤只是一个基本的指南,具体的实现方式可能因您的需求和工作环境而有所不同。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值