标注格式

图片数据集的标注文件为单个 label.json ,格式为 ImageLabel

/
└── annotation
    └── v1
        ├── label.json
        └── labelmaps
            └── 1.png

视频数据集的标注文件目录结构为:

/
└── annotation
    └── v1
        ├── dataset.json
        ├── dir
        │   └── video2.mp4.json
        └── video1.mp4.json

其中 dataset.json 格式为 VideoDatasetInfo ,每个视频对应的标注文件 <video_name>.json 格式为 VideoLabel

音频数据集的标注文件为单个 label.json ,格式为 AudioLabel

/
└── annotation
    └── v1
        └── label.json

JSON Schema

ImageLabel

图像类型样本集导出的标注文件格式,文件名为 label.json

type

object

properties

  • dataset_info

样本集的信息

ImageDatasetInfo

  • rule_dict

标注规则集包含的规则列表

type

array

items

RuleDict

  • image_info

图像列表

type

array

items

ImageInfo

  • instance_info

标注实例列表

type

array

items

InstanceInfo

AudioLabel

音频类型标注数据集导出的标注文件格式,文件名为 label.json

type

object

properties

  • dataset_info

标注数据集的信息

AudioDatasetInfo

  • rule_dict

标注规则集包含的规则列表

type

array

items

RuleDict

  • audio_data_info

音频列表

type

array

items

AudioDataInfo

  • instance_info

标注实例列表

type

array

items

AudioInstanceInfo

VideoDatasetInfo

视频类型样本集导出的信息文件格式,文件名为 dataset.json

type

object

properties

  • global_task_id

任务编号

type

string

  • creation_time

样本集的创建时间

type

string

  • creator

创建样本集的用户

type

string

  • split_type

样本集用途

type

string

  • video_num

样本集中视频个数

type

integer

  • ruleset_code

标注规则集的唯一 Code 值

type

string

  • rule_num

标注规则集包含的规则个数

type

integer

  • rule_dict

标注规则集包含的规则列表

type

array

items

RuleDict

VideoLabel

视频类型样本集中单个视频导出的标注文件格式,文件名为 <video_name>.json

type

object

properties

  • video_info

视频信息

VideoInfo

  • frame_info

视频抽取的帧列表

type

array

items

FrameInfo

  • instance_info

标注实例列表

type

array

items

InstanceInfo

ImageDatasetInfo

图像类型样本集的信息

type

object

properties

  • global_task_id

任务编号

type

string

  • creation_time

样本集的创建时间

type

string

  • creator

创建样本集的用户

type

string

  • split_type

样本集用途

type

string

  • image_num

样本集中图像张数

type

integer

  • ruleset_code

标注规则集的唯一 Code 值

type

string

  • rule_num

标注规则集包含的规则个数

type

integer

  • instance_num

样本集中实例个数

type

integer

ImageInfo

图像类型样本集中单张图像的信息

type

object

properties

  • image_id

图像的唯一编号。从 0 开始。

type

integer

  • image_name

图像路径

type

string

  • image_width

图像宽度

type

integer

  • image_height

图像高度

type

integer

  • instance_num

图像所含实例的个数

type

integer

  • image_rule_id

图像类别 ID。null 或者 rule.id

type

integer

  • property_info

图像属性

type

array

items

InstanceProperty

AudioDatasetInfo

音频类型标注数据集的信息

type

object

properties

  • global_task_id

任务编号

type

string

  • creation_time

标注数据集的创建时间

type

string

  • creator

创建标注数据集的用户

type

string

  • split_type

标注数据集用途

type

string

  • audio_num

标注数据集中音频个数

type

integer

  • ruleset_code

标注规则集的唯一 Code 值

type

string

  • rule_num

标注规则集包含的规则个数

type

integer

  • instance_num

标注数据集中实例个数

type

integer

AudioDataInfo

音频类型标注数据集中单个音频的信息

type

object

properties

  • audio_id

音频的唯一编号。从 0 开始。

type

integer

  • audio_name

音频路径

type

string

  • instance_num

音频所含实例的个数

type

integer

VideoInfo

视频类型样本集中每个视频的信息

type

object

properties

  • video_name

视频路径

type

string

  • video_height

视频高度

type

integer

  • video_width

视频宽度

type

integer

  • frame_num

视频抽取的帧数

type

integer

  • video_rule_id

视频类别 ID。null 或者 rule.id

type

integer

  • property_info

视频属性

type

array

items

InstanceProperty

FrameInfo

视频抽取的每一帧的信息

type

object

properties

  • frame_id

视频抽取的所有帧中的编号。从 1 开始。

type

integer

  • frame_name

帧的路径

type

string

RuleDict

标注规则的信息

type

object

properties

  • rule_id

规则集下的类别 ID。从 1 开始。

type

integer

  • rule_code

规则集下的分类的 Code

type

string

  • rule_type

Box, Classification, Keypoint, Polygon, Semantic, OCR, AudioSegmentation, Line

type

string

  • property_dict

属性字典

type

array

items

RuleProperty

RuleProperty

标注规则的属性信息

type

object

properties

  • property_code

所属类别下的属性的唯一 Code 值

type

string

  • property_type

SingleSelect, MultiSelect, FillBank

type

string

  • value_type

Int, Float, String

type

string

  • value_options

属性值选项(单选、多选,填空为空数组)

type

array

items

type

string

AudioInstanceInfo

音频标注实例的信息

type

object

properties

  • rule_type

实例类型。当前支持:

  • audioSegmentation(音频分段)

type

string

  • rule_id

该标注数据集中,该实例所属类别的唯一编号。从 1 开始。

type

integer

  • audio_id

该标注数据集中,该实例所属音频的唯一编号。从 0 开始。

type

integer

  • instance_id

该标注数据集中,该实例的唯一编号。从 0 开始。

type

integer

  • property_info

实例属性

type

array

items

InstanceProperty

  • audio_info

音频分段实例属性

type

object

properties

  • end

实例分段标注的结束时间

type

number

format

float

  • start

实例分段标注的起始时间

type

number

format

float

  • content

实例分段标注的文本内容

type

string

InstanceInfo

标注实例的信息

type

object

properties

  • rule_type

实例类型。当前支持:

  • Box(正框)

  • Keypoint(关键点)

  • Polygon(多边形)

  • Semantic(语义分割)

  • Line(线)

  • OCR(文本)

type

string

  • rule_id

该样本集中,该实例所属类别的唯一编号。从 1 开始。

type

integer

  • image_id

该样本集中,该实例所属图像的唯一编号。从 0 开始。

type

integer

  • frame_id

该样本集中,该实例所属视频帧的唯一编号。从 1 开始。

type

integer

  • instance_id

该样本集中,该实例的唯一编号。从 0 开始。

type

integer

  • text

实例文本的文本内容

type

string

  • box

实例正框

格式为 [[左上角x, 左上角y, 宽, 高], [左上角x, 左上角y, 宽, 高]]

X 轴方向为从左至后,Y 轴方向为从上至下。

type

array

items

type

array

items

type

integer

  • polygon

实例多边形顶点坐标,或关键点坐标。

格式为 [[x1, y1, x2, y2], [x1, y1, x2, y2]]

type

array

items

type

array

items

type

integer

  • line

实例线坐标

格式为 [[x1, y1, x2, y2], [x1, y1, x2, y2]]

type

array

items

type

array

items

type

integer

  • label_map

label map 的图像名

type

string

  • property_info

实例属性

type

array

items

InstanceProperty

  • parent_id

父级实例的编号。不存在时为 null

type

integer

  • z_index

语义分割所属图层。从 1 开始。值越大表示图层越高。

type

integer

  • mode

实例模式(仅视频类型的标注)。当前支持:

  • Shape(图形)

  • Track(追踪)

追踪标注在不同帧上的实例,在实例列表中为单独的元素。

它们具有相同的实例编号(instance_id)和不同的帧编号(frame_id)。

type

string

  • track_info

追踪实例属性(仅视频类型的标注,且实例模式为追踪)

type

object

properties

  • endframe

是否为追踪实例的结束帧

type

boolean

  • keyframe

是否为追踪实例的关键帧

type

boolean

InstanceProperty

标注实例的属性信息

type

object

properties

  • property_type

SingleSelect, MultiSelect, FillBank

type

string

  • value_type

Int, Float, String

type

string

  • property_code

属性名称,如 weather

type

string

  • value

属性值,如 sunny

type

array

items

type

string

例子

  • 图片数据集

    {
      "dataset_info": {
        "global_task_id": "98b5d47d-a5e2-4358-bc8e-1d13cdc5d108",
        "creation_time": "2000-01-01",
        "creator": "username",
        "split_type": "",
        "image_num": 1,
        "ruleset_code": "example",
        "rule_num": 2,
        "instance_num": 1
      },
      "rule_dict": [
        {
          "rule_id": 1,
          "rule_code": "example1",
          "rule_type": "Classification",
          "property_dict": []
        },
        {
          "rule_id": 2,
          "rule_code": "example2",
          "rule_type": "Box",
          "property_dict": []
        }
      ],
      "image_info": [
        {
          "image_id": 0,
          "image_name": "1.JPEG",
          "image_width": 500,
          "image_height": 333,
          "instance_num": 1,
          "image_rule_id": 0,
          "property_info": []
        }
      ],
      "instance_info": [
        {
          "rule_type": "Box",
          "rule_id": 1,
          "image_id": 0,
          "instance_id": 0,
          "box": [[183, 81, 222, 169]],
          "polygon": [],
          "label_map": "",
          "property_info": [],
          "parent_id": null
        }
      ]
    }
    
  • 视频数据集

    dataset.json 文件:

    {
      "global_task_id": "98b5d47d-a5e2-4358-bc8e-1d13cdc5d108",
      "creation_time": "2000-01-01",
      "creator": "username",
      "split_type": "",
      "video_num": 2,
      "ruleset_code": "example",
      "rule_num": 2,
      "rule_dict": [
        {
          "rule_id": 1,
          "rule_code": "apple",
          "rule_type": "Classification",
          "property_dict": []
        },
        {
          "rule_id": 2,
          "rule_code": "banana",
          "rule_type": "Box",
          "property_dict": []
        }
      ]
    }
    

    每个视频对应的标注文件:

    {
      "video_info": {
        "video_name": "dir/video1.mp4",
        "video_height": 1080,
        "video_width": 1920,
        "frame_num": 2,
        "video_rule_id": 1,
        "property_info": []
      },
      "frame_info": [
        {
          "frame_id": 1,
          "frame_name": "frame-0001.jpeg"
        },
        {
          "frame_id": 2,
          "frame_name": "frame-0002.jpeg"
        }
      ],
      "instance_info": [
        {
          "rule_type": "Box",
          "rule_id": 2,
          "frame_id": 1,
          "instance_id": 1,
          "box": [[500, 200, 400, 200]],
          "polygon": [],
          "label_map": "",
          "property_info": [],
          "parent_id": null,
          "mode": "Track",
          "track_info": { "keyframe": true, "endframe": false }
        },
        {
          "rule_type": "Box",
          "rule_id": 2,
          "frame_id": 3,
          "instance_id": 1,
          "box": [[600, 300, 500, 300]],
          "polygon": [],
          "label_map": "",
          "property_info": [],
          "parent_id": null,
          "mode": "Track",
          "track_info": { "keyframe": false, "endframe": false }
        },
        {
          "rule_type": "Box",
          "rule_id": 2,
          "frame_id": 4,
          "instance_id": 1,
          "box": [[700, 400, 600, 400]],
          "polygon": [],
          "label_map": "",
          "property_info": [],
          "parent_id": null,
          "mode": "Track",
          "track_info": { "keyframe": true, "endframe": true }
        }
      ]
    }
    
  • 音频数据集

    {
      "dataset_info": {
        "audio_num": 1,
        "global_task_id": "98b5d47d-a5e2-4358-bc8e-1d13cdc5d108",
        "creation_time": "2000-01-01",
        "creator": "username",
        "split_type": "",
        "ruleset_code": "example",
        "rule_num": 2,
        "instance_num": 2
      },
      "rule_dict": [
        {
          "rule_id": 1,
          "rule_code": "classification",
          "rule_type": "Classification",
          "property_dict": []
        },
        {
          "rule_id": 2,
          "rule_code": "segmentation",
          "rule_type": "AudioSegmentation",
          "property_dict": []
        }
      ],
      "audio_data_info": [
        {
          "audio_id": 0,
          "audio_name": "1.wav",
          "instance_num": 1
        },
        {
          "audio_id": 1,
          "audio_name": "2.mp3",
          "instance_num": 1
        }
      ],
      "instance_info": [
        {
          "audio_id": 0,
          "instance_id": 0,
          "property_info": [],
          "rule_id": 1,
          "rule_type": "Classification"
        },
        {
          "audio_id": 1,
          "audio_info": {
            "content": "这是第一段转写内容",
            "end": 10.96,
            "start": 0
          },
          "instance_id": 1,
          "property_info": [],
          "rule_id": 2,
          "rule_type": "AudioSegmentation"
        },
        {
          "audio_id": 1,
          "audio_info": {
            "content": "这是第二段转写内容",
            "end": 24.92,
            "start": 10.96
          },
          "instance_id": 2,
          "property_info": [],
          "rule_id": 2,
          "rule_type": "AudioSegmentation"
        }
      ]
    }