跳到主要内容

数据格式:实例分割

介绍#

实例分割是在目标检测数据格式的基础上,对两点框增加了对检测框中掩膜(mask)的边界定位,使用 JSON 文件作为标注,001.jpg 是一张原图,001.json 则是该图中若干个实例分割的标注和对应标签。

样例#

train_meta.csv
json_Label,image_Sourcelabels/001.json,images/001.jpg

实例分割的 JSON 标注内容,是标注框和对应的内容和属性,标注框包括分为两点框和掩膜(mask)边界:

  • 两点框是左上角(x_min 和 y_min)和右下角(x_max 和 y_max)两个点
  • mask 是从区域左上点开始顺时针方向的若干个点坐标,闭合图案表示该物体的形状。

所有标注坐标使用的是点在图片上的相对位置,例如:图片大小(800, 600),点坐标(10,30),则标注框的表示为(10/800,30/600),即(0.125,0.05)。

字段说明#

  • image_width - 该图片的宽度
  • image_height - 该图片的高度
  • image_path - 该图片文件的相对路径
  • num_box - 该图片上的标注框数目
  • bboxes - 该图片上的标注框列表
    • attributions - 数据集自定义使用的属性值(训练不使用,但是有保留意义的标注)
    • label - 该框的标注标签
    • x_min / y_min - 两点框左上角坐标
    • x_max / y_max - 两点框右下角坐标
    • mask - 从左上点开始按顺序依次排列
      • all_points_x - 四点框四点依次 x 坐标
      • all_points_y - 四点框四点依次 y 坐标

实例分割标注样例#

{  "num_box": 1,  "bboxes": [    {      "id": 0,      "attributions": {        "group": 2      },      "label": "people",      "x_max": 0.08816,      "x_min": 0.00001,      "y_max": 0.20833,      "y_min": 0.00001,        "mask": {        "all_points_x": [0.0, 0.0, 0.0861, 0.0875, 0.2083, 0.2097, 0.3292, 0.3306, 0.4514, 0.4528, 0.57222, 0.5736, 0.6347, 0.6347],         "all_points_y": [0.0, 0.0652, 0.0652, 0.0707, 0.0706, 0.0761, 0.0761, 0.0815, 0.0815, 0.0869, 0.0869, 0.0924, 0.0924, 0.0]}      }  ],  "image_height": 2019,  "image_width": 2048,  "image_path": "images/1.jpg"}