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的数据标签格式
人脸关键点综述
感谢这些作者的知识分享。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
voc数据集coco数据集标注格式yolo数据集标注格式是有一些差异的。 VOC数据集标注格式是使用XML文件来描述每个物体的位置和类别。每个XML文件对应一张图像,其中包含了图像的宽度、高度和深度信息,以及物体的类别、边界框的坐标等。VOC数据集标注格式相对简单,适合较小规模的目标检测任务。 COCO数据集标注格式是使用JSON文件来描述每个物体的位置和类别。每个JSON文件对应一张图像,其中包含了图像的信息、物体的类别和边界框的坐标等。COCO数据集标注格式相对复杂,支持多种类型的目标检测任务,并且可以标注更详细的物体属性。 而YOLO数据集标注格式是使用TXT文件来描述每个物体的位置和类别。每个TXT文件对应一张图像,其中每一行表示一个物体的类别和边界框的坐标。YOLO数据集标注格式相对简洁,适合实时目标检测任务。 因此,对于不同的目标检测算法,需要根据其要求选择相应的数据集标注格式,以保证算法的正常运行。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [objectDetectionDatasets目标检测数据集制作:VOC,COCO,YOLO等常用数据集格式的制作和互相转换](https://download.csdn.net/download/weixin_42614745/85278721)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [YOLO目标检测+扑克牌数据集标注可以直接使用(3400张图像+对应已标注VOC、COCOYOLO格式文件).rar](https://download.csdn.net/download/m0_62143653/87774669)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [目标检测数据集VOC格式工程车辆数据集系列17渣土车数据集-3449张](https://download.csdn.net/download/FL1623863129/87454796)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值