前言
COCO 有几种标注类型: 目标检测、关键点检测、物体分割、全景分割、密集分析和图像标题。
标注信息是使用 JSON 存储的,为此,在使用COCO数据集前,需要了解原始数据集的JSON格式
并且还需要知道将自己模型输出结果(结果文件)转换为哪种JSON格式
目标检测/分割
COCO提供的JSON格式(包含检测和分割)
annotation{
"id": int,
"image_id": int,
"category_id": int,
"segmentation": RLE or [polygon],
"area": float,
"bbox": [x,y,width,height],
"iscrowd": 0 or 1,
}
categories[{
"id": int,
"name": str,
"supercategory": str,
}]
结果文件需提供的JSON格式(目标检测任务)
[{
"image_id": int,
"category_id": int,
"bbox": [x,y,width,height],
"score": float,
}]
结果文件需提供的JSON格式(目标分割任务)
[{
"image_id": int,
"category_id": int,
"segmentation": RLE,
"score": float,
}]
关键点检测
COCO提供的JSON格式
annotation{
"keypoints": [x1,y1,v1,...],
"num_keypoints": int,
"[cloned]": ...,
}
categories[{
"keypoints": [str],
"skeleton": [edge],
"[cloned]": ...,
}]
结果文件需提供的JSON格式
[{
"image_id": int,
"category_id": int,
"keypoints": [x1,y1,v1,...,xk,yk,vk],
"score": float,
}]
全景分割
COCO提供的JSON格式
annotation{
"image_id": int,
"file_name": str,
"segments_info": [segment_info],
}
segment_info{
"id": int,
"category_id": int,
"area": int,
"bbox": [x,y,width,height],
"iscrowd": 0 or 1,
}
categories[{
"id": int,
"name": str,
"supercategory": str,
"isthing": 0 or 1,
"color": [R,G,B],
}]
结果文件需提供的JSON格式
annotation{
"image_id": int,
"file_name": str,
"segments_info": [segment_info],
}
segment_info{
"id": int,
"category_id": int,
}
图片说明
COCO提供的JSON格式
annotation{
"id": int,
"image_id": int,
"caption": str,
}
结果文件需提供的JSON格式
[{
"image_id": int,
"caption": str,
}]
DensePose
COCO提供的JSON格式
annotation{
"id": int,
"image_id": int,
"category_id": int,
"is_crowd": 0 or 1,
"area": int,
"bbox": [x,y,width,height],
"dp_I": [float],
"dp_U": [float],
"dp_V": [float],
"dp_x": [float],
"dp_y": [float],
"dp_masks": [RLE],
}
结果文件需提供的JSON格式
[{
"image_id": int,
"category_id": int,
"bbox": [x,y,width,height],
"score": float,
"uv_shape": [channels, height, width],
"uv_data": str,
}]