主要内容

groundTruth

地面实况标签数据

描述

groundTruth对象包含关于数据源的信息,标签定义和标记标签注释一组地面实况的标签。您可以导出或导入groundTruth对象的图片标志贴标签机视频应用程序。

创建

一个出口groundTruth对象从一个标签应用程序,在应用程序将来发布,选择出口标签>到工作空间。应用MATLAB出口对象®工作区。创建一个groundTruth对象编程,使用groundTruth函数(这里描述)。

描述

例子

gTruth= groundTruth (数据源,labelDefs,labelData)返回一个对象包含标签,可以导入到地面真理图片标志贴标签机视频应用程序。

  • 数据源指定的源地面实况数据和设置数据源财产。

  • labelDefs指定标签,sublabel和属性定义的地面实况数据和设置LabelDefinitions财产。

  • labelData指定识别信息、位置和时间戳标记标签和设置LabelData财产。

属性

全部展开

地面实况数据的来源,指定为一个groundTruthDataSource对象。对象包含的信息描述视频图像序列,或自定义数据源从地面实况数据标记。

访问图像从原始数据源,使用VideoReaderimageDatastore。您还可以使用一个定制的阅读功能。更多细节,请参阅使用自定义图像源阅读器标签

这个属性是只读的。

标签定义,指定为一个表。要创建这个表,使用其中的一个选项。

  • 标签的应用程序,创建标签定义,然后出口的一部分groundTruth对象。

  • 使用一个labelDefinitionCreator对象生成一个标签定义表。MAT-file如果保存此表,您可以加载标签定义为通过选择标签应用程序会话负载>标签定义从应用程序将来发布。

  • 在MATLAB命令行创建标签定义表。

此表描述了必需和可选表列中指定LabelDefinitions财产。

描述 必需的或可选的
的名字 字符串或字符向量指定每个标签的名称定义。

要求

类型 labelType枚举指定每个标签定义的类型,如矩形场景

要求

LabelColor 1×3行向量指定的颜色的RGB三胞胎标签定义。值在[0,1]。黄颜色(RGB值[1 1 0])是预留给选中的标签的颜色标签的应用。

可选

定义标签标识应用程序时,您必须指定一个颜色。因此,出口总是包括这列标签定义表。

当您创建标签定义使用labelDefinitionCreator对象不指定颜色,返回标签定义表包括本专栏,但所有列值是空的。

PixelLabelID 标量、列向量3矩阵的整数值标签id。PixelLabelID指定像素标签值用于表示一个标签定义。像素标签ID值必须在0到255之间。

可选

当你定义一个标签应用或像素标签labelDefinitionCreator对象,包括这列生成的标签定义表。

当创建一个标签在MATLAB命令行定义表,如果你设置类型labelType.PixelLabel对于任何标签,那么这一列是必需的。

集团 字符串或字符向量指定每个标签定义所属的组。

可选

如果你创建标签定义表MATLAB命令行,您不需要包含一个集团列。

如果你出口标签定义一个标签应用或使用创建它们labelDefinitionCreator标签定义表对象,包括这一列,即使你没有指定组。每个标签定义应用程序分配集团的价值“没有”

描述 字符串或字符描述每个标签定义向量。

可选

如果你创建标签定义表MATLAB命令行,您不需要包含一个描述列。

如果你出口标签定义一个标签应用或使用创建它们labelDefinitionCreator标签定义表对象,包括这一列,即使你没有说明描述。的描述这些标签定义向量是一个空字符。

层次结构 结构包含sublabel每个标签和属性数据的定义。的一个例子层次结构格式,请参阅开始使用图像贴标签机贴标签机开始使用视频

可选

标签应用程序,定义sublabels或属性时,出口groundTruth对象包括本专栏。

例如,考虑一个表标签定义命名天空,植被,车道,StopSign,车辆,这是出口的贴标签机视频应用程序。

  • 标签定义包括像素标签,所以表包括一个PixelLabelID列。

  • 两个标签包含的属性,所以应用程序创建了一个层次结构列适用于所有标签定义。

  • 标签定义没有分配组,所以集团列是“没有”对所有标签定义。

请注意

贴标签机应用程序只能加载像素数据1和255之间的像素id。

这个属性是只读的。

每个投资回报率和现场标签,标签数据指定为一个图像或集合时间表为视频或图像序列。每一列的LabelData持有标签定义和对应于一个标签的名字值为每一行LabelDefinitions。这些LabelData描述表的元素。被指定为标签类别labelType枚举。

或者,对ROI标签数据分组的标签类型,一个列标签ROILabelData可以使用,指定为一个包含至少一个标签的结构类型,RectangleData,PolygonData,LineData,或ProjCuboidData

每个标签类型的存储格式中所描述的表。

标签类型 存储格式的标签在每一个时间戳
labelType.Rectangle

4数值矩阵的形式[x, y, w h],地点:

  • 是标签的帧数。

  • xy指定矩形的左上角。

  • w指定矩形的宽度,也就是沿其长度x设在。

  • h指定矩形的高,这是它的长度沿y设在。

labelType.Cuboid

9数字矩阵的形式[xctr, yctr zctr、xlen ylen, zlen, xrot, yrot, zrot],地点:

  • 是标签的帧数。

  • xctr,yctr,zctr指定长方体的中心。

  • xlen,ylen,zlen指定的长方体的长度x设在,y设在,z分别设在前旋转被应用。

  • xrot,yrot,zrot为长方体沿着指定的旋转角度x设在,y设在,z分别设在。这些角时clockwise-positive在相应的轴的前进方向。

图中显示这些值如何确定一个长方体的位置。

labelType.ProjectedCuboid

8向量的形式(x1, y1, w1, h1, x2, y2, w2, h2),地点:

  • 是标签的帧数。

  • (x1, y1)指定了x,y正面的左上角位置的坐标投影长方体

  • w1指定宽度的正面投影长方体。

  • h1指定高度的正面投影长方体。

  • x2, y2指定了x,y左上角的坐标位置的背面投影长方体。

  • w2指定宽度的背面投影长方体。

  • h2指定高度的背面投影长方体。

图中显示这些值如何确定一个长方体的位置。

标签预计长方体

labelType.Line

1矢量的细胞阵列,是标签的帧数。每个单元包含一个数组N2数值矩阵的形式[(x1, y1;x2 y2;…;xN yN)N分多段线。

labelType.PixelLabel

标签数据的所有像素标签定义存储在一个单一的1PixelLabelData图像或帧。每个元素包含一个像素标签图像文件名。一个像素标签图像描述标签或标签中包含相应的形象。标签可以被描述为一个1 -或3 -频道标签矩阵。使用PixelLabelData贴标签机的任何应用程序,您必须使用一个单通道标签矩阵的值类型uint8。你可以三路像素标签数据矩阵转换为单通道标签矩阵与贴标签机应用程序以编程方式使用。

labelType.Polygon

1矢量的细胞阵列,是标签的数量。每个单元包含一个数组N2数值矩阵的形式[(x1, y1;x2 y2;…;xN yN)N点在多边形。

labelType.Custom 标签中指定的存储完全按照他们的时间表。如果你导入一个groundTruthMultisignal对象包含自定义标签数据地面实况贴标签机应用程序,这些数据不是导入到应用程序。培训时使用自定义数据收集标签数据,结合数据标签应用。

金宝app支持GroundTruth对象

视频贴标签机应用 图片标志应用程序
数据源 视频文件,图像序列文件夹,定制的读者 图像文件
标签定义 矩形,,PixelLabel,或场景标签类型 矩形,,PixelLabel,或场景标签类型
标签数据 时间表的矩形,,PixelLabel,或场景标签类型 表(没有时间表)矩形,,PixelLabel,或场景标签类型

增加地面实况数据不是一个ROI (矩形,,PixelLabel)或场景标签类别groundTruth对象,提供一个标签定义的labelType这是自定义。自定义数据是不可见的,当你将它加载到标签应用。

对象的功能

selectLabelsByGroup 选择地面实况标签标签群
selectLabelsByType 选择地面实况标签,标签类型
selectLabelsByName 选择地面实况标签,标签的名字
changeFilePaths 改变地面实况数据文件路径
gatherLabelData 收集标签数据从地面真理

例子

全部折叠

创建一个数据源从图像的集合。

data =负载(“stopSignsAndCars.mat”);imageFilenames = data.stopSignsAndCars.imageFilename (1:2)
imageFilenames =2 x1细胞{' stopSignImages / image001.jpg '} {' stopSignImages / image002.jpg '}
imageFilenames = fullfile (toolboxdir (“愿景”),“visiondata”,imageFilenames);数据源= groundTruthDataSource (imageFilenames);

定义标签用于指定地面真理。使用labelDefinitionCreator创建表的标签定义。

ldc = labelDefinitionCreator ();addLabel (ldc,“stopSign”,labelType.Rectangle);addLabel (ldc,“carRear”,labelType.Rectangle);labelDefs =创建(ldc)
labelDefs =2×5表名称类型LabelColor组描述_______ _____ __________ ________ ___________ {‘stopSign}矩形{0 x0 char}{‘没有’}{‘}{‘carRear}矩形{0 x0 char}{‘没有’}{' '}

初始化标签数据矩形roi。

stopSignTruth = {[856 318 39 41]; [445 523 52 54]};carRearTruth = {(398 378 315 210), (332 633 691 287)};

构造一个标签数据的表。

labelNames = {“stopSign”;“carRear”};labelData =表(stopSignTruth carRearTruth,“VariableNames”labelNames)
labelData =2×2表stopSign carRear _________________ ___________________ {[856 318 39 41]} {【398 378 315 210】} {[445 523 52 54]} {[332 633 691 287]}

创建一个地面实况对象。

gTruth = groundTruth(数据源、labelDefs labelData)
gTruth = groundTruth属性:数据源:[1 x1 groundTruthDataSource] LabelDefinitions: [2 x5表]LabelData: [2 x2表)

创建一个groundTruth对象存储数据代表道路车道。

创建一个数据源的形象。

数据源= groundTruthDataSource ({“stopSignTest.jpg”});

定义标签用于指定地面真理。使用labelDefinitionCreator创建标签定义表。

ldc = labelDefinitionCreator ();addLabel (ldc,“车道”,labelType.Line);labelDefs =创建(ldc);

分配两个车道标记的图像。

laneMarkerTruth = {(257 254; 311 180) (327 183; 338; 205 374 250)};

构造一个标签数据的表。

labelNames = {“车道”};labelData =表(laneMarkerTruth,“VariableNames”labelNames)
labelData =莱恩____________________________ {2 x2双}{3 x2双}

创建一个groundTruth对象。

gTruth = groundTruth(数据源、labelDefs labelData)
gTruth = groundTruth属性:数据源:[1 x1 groundTruthDataSource] LabelDefinitions: [1 x5表]LabelData: (1 x1表)

创建一个groundTruth对象存储数据代表的部分场景。

创建一个数据源。

数据源= groundTruthDataSource ({“visionteam.jpg”});

使用labelDefinitionCreator创建表的标签定义。定义标签,“人”“背景”。分配相应的标签类型PixelLabel

ldc = labelDefinitionCreator ();addLabel (ldc,“人”,labelType.PixelLabel);addLabel (ldc,“背景”,labelType.PixelLabel);labelDefs =创建(ldc)
labelDefs =2×6表名字类型LabelColor PixelLabelID __________ __________组描述* * * _______ ________ ___________{‘人’}PixelLabel {0 x0 char}{[1]}{'没有'}{' '}{‘背景’}PixelLabel {0 x0 char}{[2]}{‘没有’}{' '}

指定的位置为图像像素标签数据。

外部= {“visionteamPixelLabels.png”}
外部=1 x1单元阵列{' visionteamPixelLabels.png '}

构造一个标签数据像素标签数据的表。

labelData =表(数据文件,“VariableNames”,{“PixelLabelData”})
labelData =PixelLabelData _____________________________ {' visionteamPixelLabels.png '}

创建一个groundTruth对象。

gTruth = groundTruth(数据源、labelDefs labelData)
gTruth = groundTruth属性:数据源:[1 x1 groundTruthDataSource] LabelDefinitions: [2 x6表]LabelData: (1 x1表)

从一个视频创建一个数据源。

videoName =“caltech_cordova1.avi”;数据源= groundTruthDataSource (videoName);

定义标签用于指定地面真理。使用一个labelDefinitionCreator对象创建标签定义表。

ldc = labelDefinitionCreator ();addLabel (ldc,“汽车”,labelType.Rectangle);addLabel (ldc,“LaneMarkers”,labelType.Line);labelDefs =创建(ldc)
labelDefs =2×5表名称类型LabelColor组描述售予_____ __________ ________ ___________矩形{'汽车'}{0 x0 char}{‘没有’}{‘}{‘LaneMarkers}行{0 x0 char}{‘没有’}{' '}

为汽车和车道标记创建标签数据。

numRows =元素个数(dataSource.TimeStamps);carsTruth =细胞(numRows, 1);laneMarkerTruth =细胞(numRows, 1);

添加两个汽车标签和两个车道标记第一帧。

carsTruth{1} =[182 186 22日31日;404 191 53 34];laneMarkerTruth {1} = {(257 254; 311 180) (327 183; 338; 205 374 250)};

创建一个表的标签数据。

labelNames = {“汽车”,“LaneMarkers”};labelData =表(carsTruth laneMarkerTruth,“VariableNames”,labelNames);

创建一个groundTruth对象。这个对象导入到一个标签应用程序,选择的选项打开>进口标签菜单。

gTruth = groundTruth(数据源、labelDefs labelData)
gTruth = groundTruth属性:数据源:[1 x1 groundTruthDataSource] LabelDefinitions: [2 x5表]LabelData: [250 x2时间表)

提示

  • groundTruth对象视频数据源依赖视频阅读您的操作系统的能力。一个groundTruth对象使用一个视频创建数据源只保持一致为同一平台用于创建它。创建一个独立于平台的groundTruth对象,将视频转换成一个序列的图像,包括相关的图像序列的时间戳。

介绍了R2017a