主要内容

将地面真相对象出口到Custom和Coco JSON文件

这个示例向您展示了如何将ground truth对象导出为自定义数据格式JavaScript object Notation (JSON)文件,以及COCO[1]数据格式JSON文件。

您可以解析JSON文件,以用于机器学习框架中的训练和推理。自定义数据格式JSON文件的格式类似于COCO数据格式。不同之处在于,表示JSON文件的标签注释的格式被修改为包括ground truth对象支持的各种标签类型。金宝app

这个例子使用了一个ground truth对象,它包含先前使用Video Labeler应用程序生成的标签。

要从Labeler应用程序导出一个ground truth对象到JSON文件,遵循以下步骤:

  1. 使用“图像标签”或“视频标签”应用程序分别对图像或视频进行标签。

  2. 将标签导出到文件或工作区以生成一个地面真理对象。

  3. 按照此示例中的步骤操作。

负载地面真实对象

装载一个地面实值对象

加载(“VehicleImageSequenceGroundTruth.mat”

显示标签定义

LearsimageSequenceGroundtruth.Labledefinitions.
ans =3×6表名称类型LabelColor组描述层次结构  _________ _______ _____________________________ ___________ ___________ ____________ {' 汽车的}多边形0.5862 0.8276 0.3103{‘汽车’}{0 x0 char} {1 x1 struct}{“车道”}行0.49412 0.18431 0.55686{‘路’}{0 x0 char} {0 x0双}{‘阳光’}场景1 0.41176 - 0.16078{‘没有’}{0 x0 char} {0 x0双}

添加信息和License信息(可选)

通过指定信息和许可证名称 - 值对将元数据添加到注释

info = struct(......'年',2020年,......“版本”'1'......'描述''车辆数据集'......'创建日期',日期时间......);许可证= struct(......“url”, {“www.tatmou.com”“www.tatmou.com”},......“名字”, {'许可证1''许可证2'}......);

将地面真理对象导出到自定义数据格式JSON文件

使用Exportgroundtruthtojson.函数要将地面真相对象导出到JSON文件。

Exportgroundtruthtojson.函数解析地面真相对象中的数据,以描述的自定义数据格式对其进行编码下面,然后生成JSON文件。

annotationsFileName ='车辆_ annotations.json';Exportgroundtruthtojson(LefortimageSequenceGroundtruth,Annotationsfilename,“信息”,信息,“许可证”许可证)

将对象检测地面真实对象导出为COCO数据格式的JSON文件

使用Exportgroundtruthtojson.“可可”名称-值设置为真正的将用多边形标记的对象检测数据导出到COCO对象检测数据格式的JSON文件。

要创建可以导出到Coco数据格式JSON文件的对象检测的地面真相对象,请按照下列步骤操作:

  1. 使用Polygon标签类型来标记对象实例。

  2. 使用像素标签类型来标记对象的人群区域。它的标签名称应如下:polygonlabelname_crowd(其中polygonlabelname是相应多边形标签的标签名称)。

例如:

要注释包含个人实例和人群区域的图像,

  1. 创建具有名称的类型多边形的标签“人”用于注释人员实例。

  2. 创建一个名称的相应像素标签“person_crowd”注释人群区域。

'_人群'后缀用于将两个标签绑定在一起。因此,确保对于每个人群像素标签,存在相应的多边形标签。

注意:虽然导出到COCO对象检测数据格式,但抛出预期的警告,指定忽略的标签类型。在这种情况下,由于地面真相对象具有线标签,因此它们将被忽略。

annotationsFileName =“vehicles_annotations_coco.json”;Exportgroundtruthtojson(LefortimageSequenceGroundtruth,Annotationsfilename,......“信息”,信息,“许可证”许可证,“可可”,真正的)
警告:不支持标签类型,线,场景,在导出到COCO数据格式JSON文件时被忽略金宝app

自定义JSON数据格式

导出的JSON文件包含这五个字段:

  1. 信息

  2. 许可证

  3. 类别

  4. 图像/视频

  5. 注释

信息

信息字段使用“Info”名称值对参数指定数据集和注释信息。该值必须是标量结构。

默认值:

{“一年”:当前年份,“版本”:“1”,“描述”:“使用MATLAB创建”,“date_created”:当前DateTime}

许可证

许可证字段通过使用许可证名称-值对参数指定有关许可证的信息。该值必须是结构数组。

默认值:[]

类别

Categories字段包含基础真值标签定义表的内容。表中的变量名用作字段,并被修改为类似于COCO数据格式。另一个字段Id标识每个标签定义。

每个category对象包含以下两个额外的字段,如果存在,它们将替换'Hierarchy'变量:

  1. 属性:包含标签的属性定义。

  2. 子标签:包含子标签的标签定义。

图像/视频

图像/视频字段包含图像(或视频)对象和相关信息的列表。

数据格式:

{“ID”:唯一图像ID,“time_stamp”:图像帧的时间戳(仅适用于带时间戳的数据源),“宽度”:图像/视频的宽度,“高度”:图像/视频的高度,“file_name”:文件的名称,“file_path”:绝对文件路径,“date_capture”:图像/当前DateTime的最后修改日期}

注释

Annotations字段包含注释对象列表。注释对象的数据格式取决于标签类型,如下:

矩形ROI

{“ID”:唯一的注释ID,“image_id”:image ID,“category_id”:类别ID,“位置”:[x,y,宽度,高度]边界框位置,“属性”:包含属性数据,“子标签”“:包含子制造数据}
  • Xy指定矩形的左上角,并为0索引。

  • W.指定矩形的宽度,即矩形沿边框的长度X设在。

  • H指定矩形的高度,即矩形沿边框的长度y设在。

多边形ROI

{"id":唯一标注id, "image_id":图像id, "category_id":类别id, "position": [[x1 y1 x2 y2…]对于多边形中的N个点,"attributes":包含属性数据," subblabels ":包含子标签数据}

多段线ROI

{"id":唯一标注id, "image_id":图像id, "category_id":类别id, "position": [x1 y1 x2 y2…对于折线上的N个点。那"attributes": Contains attributes data, "sublabels": Contains sublabels data }
  • x1,y1,...指定点位置,并为0索引。

ProjectedCuboid ROI.

{“ID”:唯一的注释ID,“image_id”:image id,“category_id”:类别ID,“位置”:表单列表[xctr,yctr,zctr,xlen,ylen,zlen,xrot,yrot,zrot],“属性”:包含属性数据,“sublabels”:包含子字Blabels数据}
  • XCTR.yctr,zctr指定投影长方体的中心,并为0索引。

  • xlen.ylen.,zlen指定投影长方体的长度沿着X-轴,y设在,Z.旋转之前,分别在旋转之前分别进行速度。

  • Xrot.yrot.,zrot指定沿着投影长方体的旋转角度X-轴,y设在,Z.分别设在。这些角度是顺时针正的,当看在他们相应的轴向前的方向。

Pixellabel Roi.

{“image_id”:image id,“file_name”:像素标签映像文件的名称,“file_path”:像素标签映像文件的路径,“segments_info”:段对象列表}

段对象格式:像素标签图像中的每个段都表示为一个段对象

{“ID”:如果PixelabelID是阵列,“Categor_ID”:类别ID,“区域”:像素所覆盖的区域,则标签或R + G * 256 + B * 256 ^ 2的Pixellabelid

场景

{"id":唯一标注id, "image_id":图像id, "category_id":场景标签适用于图像的Category id}

限制

  1. 自定义标签类型不能导出到JSON文件。

  2. 您无法将数据从自定义读取器地面真实性数据源导出为JSON文件格式。

  3. 只有Polygon和crowd Pixel Label ROIs可以导出为COCO对象检测数据格式。

  4. “exportGroundTruthToJSON”helper函数生成的JSON文件不能作为ground truth对象导入到MATLAB中。

参考文献

[1] Lin TY. et al. (2014) Microsoft COCO: Context中的公共对象。见:Fleet D., Pajdla T., Schiele B., Tuytelaars T.(编)Computer Vision - ECCV 2014。2014年大会。《计算机科学课堂讲稿》,第8693卷。施普林格,可汗。https://doi.org/10.1007/978-3-319-10602-1_48