主要内容

地面

地面真值标记数据

描述

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

创建

一个出口地面来自标签应用的对象,在App ToolStrip上,选择出口标签>到工作空间.应用程序将对象导出到MATLAB®工作区。创建一个地面对象编程时,使用地面函数(这里描述)。

描述

例子

GTRUTH.= groundTruth (数据源labelDefsLabeldata.返回包含可以导入的地面真理标签的对象图片标志贴标签机视频应用程序。

  • 数据源指定地面真值数据的来源并设置数据源财产。

  • labelDefs指定基础真值数据的标签、子标签和属性定义,并设置LabelDefinitions财产。

  • Labeldata.指定已标记标签的标识信息、位置和时间戳,并设置Labeldata.财产。

特性

展开全部

地面真理数据的来源,指定为a地下田地源对象。该对象包含描述标记地面真实数据的视频,图像序列或自定义数据源的信息。

要从原始数据源访问图像,请使用录像机ImageageAtastore..您还可以使用自定义读取功能。有关详细信息,请参见使用自定义图像源读写标记

此属性是只读的。

标签定义,指定为表。要创建此表,请使用以下选项之一。

  • 在一个标签应用程序中,创建标签定义,然后导出它们作为地面对象。

  • 用一个LANENDEFINITIONCREATOR对象以生成标签定义表。如果将该表保存到MAT-file中,则可以通过选择将标签定义加载到标签应用程序会话中负载>标签定义从应用程序工具条。

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

中指定的表的必选列和可选列LabelDefinitions财产。

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

必需的

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

必需的

LabelColor 指定标签定义颜色的RGB三联体的1乘3行向量。取值范围是[0,1]。黄色(RGB三元组[1 1 0])保留给标签应用中所选标签的颜色。

可选

在标签应用程序中定义标签时,必须指定颜色。因此,导出的标签定义表总是包含此列。

使用使用该标签定义时LANENDEFINITIONCREATOR对象而不指定颜色时,返回的标签定义表包括此列,但所有列值均为空。

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

可选

当您在标签应用程序或LANENDEFINITIONCREATOR对象时,生成的标签定义表包含此列。

当在MATLAB命令行创建标签定义表时,如果您设置类型labelType。PixelLabel对于任何标签,都需要这个列。

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

可选

如果您在MATLAB命令行上创建标签定义表,则不需要包含集团柱子。

如果您从标签应用程序导出标签定义或使用LANENDEFINITIONCREATOR对象,标签定义表包括此列,即使您未指定组。该应用程序分配每个标签定义a集团的价值'没有任何'

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

可选

如果您在MATLAB命令行上创建标签定义表,则不需要包含描述柱子。

如果您从标签应用程序导出标签定义或使用LANENDEFINITIONCREATOR对象,标签定义表包含此列,即使您未指定说明也是如此。的描述对于这些标签定义是一个空字符向量。

等级制度 包含每个标签定义的子标签和属性数据的结构。例如等级制度格式,参见开始使用图像标签开始使用视频标签

可选

在标签应用程序中,当您定义子印刷轴或属性时,导出的地面对象包含此列。

例如,考虑一个名为天空植被车道停止标志,车辆,这是从贴标签机视频应用程序。

  • 标签定义包括像素标签,因此表格包含PixelLabelID柱子。

  • 其中两个标签包含属性,因此应用程序创建了一个等级制度应用跨所有标签定义的列。

  • 标签定义没有指定的组,因此集团列是'没有任何'用于所有标签定义。

请注意

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

此属性是只读的。

为每个ROI和场景标签标记数据,指定为a表格用于图像收集或时间表用于视频或图像序列。每一列的Labeldata.为单个标签定义保存标签,并对应于姓名每行的价值LabelDefinitions.这些Labeldata.描述表的元素。标签类别指定为LabelType.枚举。

或者,对于由标签类型分组的ROI标签数据,标记为单列ROILabelData,可作为包含至少一种标签类型的结构使用和指定,RectangleDataPolygonDataleinata.,或ProjCuboidData

表中描述了每种标签类型的存储格式。

标签类型 标签在每个时间戳的存储格式
labelType。矩形

- × 4形式的数字矩阵[x, y, w, h], 在哪里:

  • 是帧中标签的数量。

  • xy指定矩形的左上角。

  • w指定矩形的宽度,即矩形沿边框的长度x-轴。

  • h指定矩形的高度,即矩形沿边框的长度y-轴。

labelType。长方体

-My-9数字矩阵,具有形式的行[xctr,yctr,zctr,xlen,ylen,zlen,xrot,yrot,zrot], 在哪里:

  • 是帧中标签的数量。

  • XCTR.yctr.,ZCTR.指定长方体的中心。

  • xlen.ylen.,Zlen.指定长方体的长度沿着x-轴,y- 和轴z-axis,在应用旋转之前。

  • xrotyrot.,Zrot.指定长方体的旋转角度x-轴,y- 和轴z分别设在。这些角度是顺时针正的,当看在他们相应的轴向前的方向。

该图显示了这些值如何确定长方体的位置。

labeltype.projectedcuboid.

这个形式的- × 8向量[X1,Y1,W1,H1,X2,Y2,W2,H2], 在哪里:

  • 是帧中标签的数量。

  • (x1, y1)指定了xy坐标,用于预计长方体前面的左上方位置

  • W1.指定投影长方体前面的宽度。

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

  • X2,Y2指定了xy投影长方体背面左上位置的坐标。

  • W2.指定投影多维模型背面的宽度。

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

该图显示了这些值如何确定长方体的位置。

标签预计长方体

labelType。行

单元格数组的-by-1向量是帧中标签的数量。每个单元格数组包含一个N-2形式的2个数字矩阵[x1 y1;x2 y2;......;xn yn]N折线上的点。

labelType。PixelLabel

所有像素标签定义的标签数据存储在单个中-By-1PixelLabelData图像或帧。每个元素都包含一个像素标签图像的文件名。像素标签图像描述包含在相应图像中的一个或多个标签。标签可以用1通道或3通道的标签矩阵来描述。使用PixelLabelData使用任何贴标程序应用程序,必须使用单声道标签矩阵,其中值为类型uint8..您可以以编程方式将3通道像素标记数据矩阵转换为单声道标签矩阵以与贴标程序应用程序一起使用。

labelType。多边形

单元格数组的-by-1向量为标签的数量。每个单元格数组包含一个N-2形式的2个数字矩阵[x1 y1;x2 y2;......;xn yn]N多边形中的点。

labelType。自定义 标签完全存储在时间表中指定的。如果您导入aTroundtruthmultiSignal.对象中包含自定义标签数据的地面真理贴标机app,此数据不导入app。在收集标签数据进行训练时,使用自定义数据,并将其与app中的标签数据相结合。

万博1manbetx支持GroundTruth对象

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

添加不属于ROI (矩形PixelLabel)或场景将类别标记为地面对象,使用LabelType.这是自定义.将自定义数据加载到标签应用程序时不可见。

对象的功能

selectLabelsByGroup 根据标签组选择基础真值标签
selectLabelsByType 通过标签类型选择地面真理标签
selectLabelsByName 根据标签名称选择地面真值标签
changeFilePaths 更改地面真实数据中的文件路径
gatherLabelData 从地面真理收集标签数据

例子

全部折叠

从图像集合创建数据源。

data =负载('stopsignsandcars.mat');imageFilenames = data.stopSignsAndCars.imageFilename (1:2)
imageFilenames =2x1细胞{'stopsignimages / image001.jpg'} {'stopsignimages / image002.jpg'}
imageFilenames = fullfile (toolboxdir (“愿景”),'VisionData',imagefilenames);dataSource = toundtruthDataSource(ImageFileNames);

定义用于指定基础实值的标签。使用LANENDEFINITIONCREATOR创建标签定义表。

ldc = labelDefinitionCreator ();addLabel (ldc,“stopSign”,labeltype.rectangle);addLabel (ldc,“carRear”,labeltype.rectangle);labelDefs =创建(ldc)
labelDefs =2×5表名称类型LabelColor组描述____________ _______________________________ {'stopsign'}矩形{0x0 char} {'none'} {'''none'} {'none char} {'none'} {''}

初始化矩形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”,标签名称)
labeldata =2×2表stopSign carRear  _________________ ___________________ {[ 856 318 39 41]} {[398 378 315 210]} {[445 523 52 54]} {[332 633 691 287]}

创建一个地面真相对象。

gtruth = toundtruth(DataSource,Labeldefs,Labeldata)
gtruth =带有属性的地面:DataSource:[1x1 TroundTruthDataSource] Labeldefinitions:[2x5表] Labeldata:[2x2表]

创建一个地面对象存储代表标记的公路车道的数据。

从图像创建数据源。

dataSource = ToundTruthDataSource({'stopsigntest.jpg'});

定义用于指定原始事实的标签。使用LANENDEFINITIONCREATOR要创建标签定义表。

ldc = labelDefinitionCreator ();addLabel (ldc,“车道”, labelType.Line);labeldefs = create(LDC);

在图像中分配两个车道标记。

laneMarkerTruth = {[257 254;311 180] [327 183;338 205;374 250]};

构造标签数据表。

labelNames = {“车道”};labelData =表(laneMarkerTruth,“VariableNames”,标签名称)
labeldata =表格____________________________ {2x2 double} {3x2 double}

创建一个groundTruth对象。

gtruth = toundtruth(DataSource,Labeldefs,Labeldata)
gtruth =带有属性的地面:DataSource:[1x1 TroundTruthDataSource] LabEledefinitions:[1x5表] Labeldata:[1x1表]

创建一个地面对象来存储表示场景各部分的数据。

创建一个数据源。

dataSource = ToundTruthDataSource({“visionteam.jpg”});

使用LANENDEFINITIONCREATOR创建标签定义表。定义标签,'人''背景'.将对应的标签类型赋值为PixelLabel

LDC = LabeldefinitionCreator();addLabel (ldc,'人', labelType.PixelLabel);addLabel (ldc,'背景', labelType.PixelLabel);labelDefs =创建(ldc)
labelDefs =2×6表名称类型LabelColor Pixelabelid组描述______________ __________ ___________________________________________________0 char} {[1]} {'none'} pixellabel {0x0 char} {[2]} {'没有任何'} {' '}

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

外部= {“visionteamPixelLabels.png”
datafile =1x1细胞阵列{' visionteamPixelLabels.png '}

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

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

创建一个地面对象。

gtruth = toundtruth(DataSource,Labeldefs,Labeldata)
GTRUTH =带有属性的地面:DataSource:[1x1 TroundTruthDataSource] LabEldefinitions:[2x6表] Labeldata:[1x1表]

从视频中创建数据源。

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

定义用于指定基础实值的标签。用一个LANENDEFINITIONCREATOR对象创建标签定义表。

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 31 22;404 191 53 34];laneMarkerTruth{1} = {[257 254;311 180] [327 183;338 205;374 250]};

创建标签数据表。

labelNames = {'汽车'“LaneMarkers”};Labeldata =表(Carstruth,LaneMarkertruth,“VariableNames”,标签名称);

创建一个地面对象。要将此对象导入到标签应用程序中,请从打开>导入标签菜单。

gtruth = toundtruth(DataSource,Labeldefs,Labeldata)
gTruth = groundTruth with properties: DataSource: [1x1 groundTruthDataSource] LabelDefinitions: [2x5 table] LabelData: [250x2时间表]

提示

  • 地面基于视频数据源的对象依赖于操作系统的视频读取功能。一种地面使用视频数据源创建的对象仅在用于创建它的平台上保持一致。创建平台独立地面对象,将视频转换为一系列图像,并包括具有图像序列的相关时间戳。

介绍了R2017a