COCO2017标注文件格式和YOLO标注文件格式的解析

声明:本篇博客内容是作者在制作数据集时的一些记录,引用了一些博客的内容,并结合个人理解进行了归纳,引用出处在“参考内容”章节,若有侵权,请联系作者删除。若有纰漏和错误,敬请指正!

1、COCO2017数据集的标注格式及含义

COCO的全称是Common Objects in COntext,是微软团队提供的一个可以用来进行图像识别的数据集。MS COCO数据集中的图像分为训练、验证和测试集。
总共有80个类别。
COCO数据集现在有3种标注类型:object instances(目标实例),object keypoints(目标上的关键点)和image captions(看图说话),使用json文件存储。
如下:
在这里插入图片描述

打开person_keypoints_val2017.json文件。
从头至尾按照顺序分为以下段落,看起来和目标检测差不多。
json文件主要包含以下几个字段:

{
    "info": info, # dict
    "licenses": [license], # list ,内部是dict
    "images": [image], # list ,内部是dict
    "annotations": [annotation], # list ,内部是dict
    "categories": # list ,内部是dict
}

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:包含多个license的数组,可以看成是一种版权许可证。

"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、images:记录了一些关键信息,如图像的文件名、宽、高,图像id等信息。height代表是图片的高度,weight代表图像的宽度,id代表的是图片的id,每一张图片具有唯一id

 "images": [
        {
            "license": 4,
            "file_name": "000000397133.jpg",
            "coco_url": "http://images.cocodataset.org/val2017/000000397133.jpg",
            "height": 427,
            "width": 640,
            "date_captured": "2013-11-14 17:02:52",
            "flickr_url": "http://farm7.staticflickr.com/6116/6255196340_da26cf2c9e_z.jpg",
            "id": 397133
        },]

4、annotations:包含了目标检测中annotation所有字段,另外额外增加了2个字段。
新增的keypoints是一个长度为3 ∗k的数组,其中k是category中keypoints的总数量。每一个keypoint是一个长度为3的数组,第一和第二个元素分别是x和y坐标值,第三个元素是个标志位vv为0时表示这个关键点没有标注(这种情况下 x = y = v = 0),v为 1 时表示这个关键点标注了但是不可见(被遮挡了),v为2时表示这个关键点标注了的同时也可见。
num_keypoints表示这个目标上被标注的关键点的数量(v > 0),比较小的目标上可能就无法标注关键点。
在这里插入图片描述
id字段:指的是这个annotation的一个id
image_id:等同于前面image字段里面的id。
category_id:类别id
segmentation:
area:标注区域面积
bbox:标注框,x,y为标注框的左上角坐标。
iscrowd:决定是RLE格式还是polygon格式。
从person_keypoints_val2017.json文件中摘出一个annotation的实例如下:

{
	"segmentation": [[125.12,539.69,140.94,522.43,100.67,496.54,84.85,469.21,73.35,450.52,104.99,342.65,168.27,290.88,179.78,288,189.84,286.56,191.28,260.67,202.79,240.54,221.48,237.66,248.81,243.42,257.44,256.36,253.12,262.11,253.12,275.06,299.15,233.35,329.35,207.46,355.24,206.02,363.87,206.02,365.3,210.34,373.93,221.84,363.87,226.16,363.87,237.66,350.92,237.66,332.22,234.79,314.97,249.17,271.82,313.89,253.12,326.83,227.24,352.72,214.29,357.03,212.85,372.85,208.54,395.87,228.67,414.56,245.93,421.75,266.07,424.63,276.13,437.57,266.07,450.52,284.76,464.9,286.2,479.28,291.96,489.35,310.65,512.36,284.76,549.75,244.49,522.43,215.73,546.88,199.91,558.38,204.22,565.57,189.84,568.45,184.09,575.64,172.58,578.52,145.26,567.01,117.93,551.19,133.75,532.49]],
	"num_keypoints": 10,
	"area": 47803.27955,
	"iscrowd": 0,
	"keypoints": [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,142,309,1,177,320,2,191,398,2,237,317,2,233,426,2,306,233,2,92,452,2,123,468,2,0,0,0,251,469,2,0,0,0,162,551,2],
	"image_id": 425226,
"bbox": [73.35,206.02,300.58,372.5],
"category_id": 1,
	"id": 183126
},

5、categories字段:对于每一个category结构体,相比目标检测中的中的category新增了2个额外的字段,keypoints 是一个长度为k的数组,包含了每个关键点的名字;skeleton 定义了各个关键点之间的连接性(比如人的左手腕和左肘就是连接的,但是左手腕和右手腕就不是)。目前,COCO的keypoints只标注了person category(分类为人)。
在这里插入图片描述

2、人脸关键点综述内容

2.1 人脸关键点检测基本概念

人脸关键点检测也称为人脸关键点检测、定位或者人脸对齐,是指给定人脸图像,定位出人脸面部的关键区域位置,包括眉毛、眼睛、鼻子、嘴巴、脸部轮廓等和人脸检测类似,由于受到姿态和遮挡等因素的影响,人脸关键点检测也是一个富有挑战性的任务。
把关键点的集合称作形状(shape),形状包含了关键点的位置信息,而这个位置信息一般可以用两种形式表示,第一种是关键点的位置相对于整张图像,第二种是关键点的位置相对于人脸框(标识出人脸在整个图像中的位置)。把第一种形状称作绝对形状,它的取值范围是[0,img_width]或者[0,img_height];第二种形状称作相对形状,它的取值范围是0到1。这两种形状可以通过人脸框来相互转换。
人脸关键点的检测有许多重要的应用场景。
人脸姿态对齐:人脸识别等算法都需要对人脸的姿态进行对齐从而提高模型的精度。
人脸美颜与编辑:基于关键点可以精确分析脸型、眼睛形状、鼻子形状等,从而对人脸的特定位置进行修饰加工,实现人脸特效美颜,贴片等娱乐功能。
人脸表情分析与嘴型识别:基于关键点可以对人的面部表情进行分析,从而用于互动娱乐,行为预测等场景。
人脸关键点检测方法分类:
基于ASM(Active Shape Model)和AAM (Active Appearnce Model)的传统方法
基于级联形状回归的方法
基于深度学习的方法
人脸关键点的里程碑算法如下。
1995年,Cootes的ASM(Active Shape Model)。
1998年,Cootes 的AAM(Active Appearance Model) 算法。
2006年,Ristinacce的CLM(Constrained Local Model)算法。
2010年,Rollar 的cascaded Regression 算法。
2013年,Sun 开创深度学习人脸关键点检测的先河,首次将 CNN 应用到人脸关键点定位上。
目前,应用最广泛且效果精度最高的是基于深度学习的方法。
2.2 人脸关键点标注点数发展
因为实验需要的数据集的格式要求,这里主要介绍5点标注和68点标注两种。
2.2.1、5点标注
标注人脸面部最关键的有5个点,分别为左右两个嘴角,两个眼的中心,鼻子,这5个关键点属于人脸内部关键点,根据它们就可以计算出人脸的姿态。
2014年发布的MTFL/MAFL数据集中标注了双眼、鼻子和2个嘴角共5个关键点。
在这里插入图片描述

2.2.2、68点标注
68点标注是现今最通用的一种标注方案,早期在1999年的Xm2vtsdb数据集中就被提出,300W数据集和XM2VTS等数据集也都采用了68个关键点的方案,被OpenCV中的Dlib算法中所采用。
68个关键点的标注也有一些不同的版本,这里介绍最通用的Dlib中的版本,它将人脸关键点分为内部关键点和轮廓关键点,内部关键点包含眉毛、眼睛、鼻子、嘴巴共计51个关键点,轮廓关键点包含17个关键点。
在这里插入图片描述

3、YOLO的数据标签格式

将COCO-WholeBody数据集的JSON标签转换为YOLO格式,并使用一个*.txt文件(如果图像中没有人脸,则不需要*.txt文件)。*.txt文件规格如下:

  • 每个对象一行

  • 每行的格式是:class x_center y_center width height

  • 方框的坐标必须要归一化到(0-1),如果方框以像素为单位,请将x_center和width除以图像宽度,将y_center和height除以图像高度。

  • 类别必须从0开始。

对应于下面图像的标签文件包含2个类别,分别是人体(person,类别0)和人脸(face,类别1):
在这里插入图片描述

然后将YOLO的标签数据可视化,如下所示:
|在这里插入图片描述
2
3
4

4 参考内容

COCO数据集标注格式及意义
理解COCO数据集中的关键点标注
[yolov5] yolo的数据标签格式
人脸关键点综述
感谢这些作者的知识分享。

### COCO 2017 关键点数据集下载信息 对于希望获取并使用 COCO 2017 关键点数据集的研究人员来说,官方提供了详细的资源支持。该版本的数据集不仅包含了丰富的图像集合,还附带了精确的人体姿态关键点标注。 #### 数据集访问路径 为了方便用户获取所需资料,官方网站已经整理好了不同用途的数据包供下载。针对人体关键点识别任务,建议前往指定页面查找对应的压缩文件[^1]。通常情况下,这些资源会被打包成ZIP或TAR.GZ格式,并按照训练集、验证集以及测试集分类提供给使用者。 #### 官方网站指引 具体到COCO 2017的关键点数据集,可以通过访问[COCO官网](http://cocodataset.org/)找到相应的链接入口。进入站点后,在首页导航栏中选择“Download”,接着向下滚动至“Keypoints”部分即可看到清晰列出的各种选项及其描述说明[^3]。 #### 使用注意事项 当准备利用此数据集开展研究工作前,请务必仔细阅读相关协议条款,确保遵循正确的版权规定许可范围。此外,考虑到数据量较大,推荐提前确认好存储空间是否充足,并考虑网络条件以保障顺利下载完成整个过程[^2]。 ```bash wget http://images.cocodataset.org/zips/val2017.zip wget http://images.cocodataset.org/annotations/annotations_trainval2017.zip ``` 上述命令可以帮助快速拉取必要的图片与注解文档,为后续处理打下良好基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值