主要内容

TroundtruthmultiSignal.

地面真理标记多个信号的数据

描述

TroundtruthmultiSignal.对象包含有关地面真实数据源,标签定义和标记为多个信号标记标记注释的信息。信号的来源可以是视频,图像序列,LIDAR点云或包含多个信号的任何其他自定义格式。您可以导出或导入TroundtruthmultiSignal.对象来自地面真理贴标机应用程序。

从阵列创建深度学习应用程序的培训数据TroundtruthmultiSignal.对象,使用Gatherlabeldata.功能。

创建

出口A.TroundtruthmultiSignal.对象来自地面真理贴标机应用程序,在App ToolStrip上,选择出口标签>到工作区。该应用程序将对象导出到MATLAB®工作区。创建一个TroundtruthmultiSignal.以编程方式对象,使用TroundtruthmultiSignal.功能(这里描述)。

描述

例子

GTRUTH.= tounttruthmultIsignal(数据源Labeldefs.Roidata.Scenedata.返回包含可以导入到的地面真理标签的对象地面真理贴标机应用程序。

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

  • Labeldefs.指定地面真实数据的标签,sublabel和属性定义,并设置标签财产。

  • Roidata.指定标记的感兴趣区域(ROI)标签的识别信息,位置和时间戳并设置roilabeldata.财产。

  • Scenedata.指定标记场景标签的识别信息和时间戳,并设置场景财产。

特性

展开全部

地面真理数据来源,指定为矢量MultiSignalSource.对象。这些对象包含描述从中标记的地面真理数据的源的信息。此表描述了类型的类型MultiSignalSource.您可以在此向量中指定的对象。

MultiSignalSource.对象类型 数据源 类参考
videosource. 视频文件 Vision.Labeler.Loading.videoSource.
Imageesequencesource. 图像序列文件夹 Vision.Labeler.Loading.imageSquencesource.
Velodynelidarsource. 威达尔®数据包捕获(PCAP)文件 Vision.Labeler.Loading.velodynelidarsource.
rosbagsource. 罗斯巴格文件 Vision.Labeler.Loading.rosbagsource.
pointcloudseequencesource. 点云序列文件夹 Vision.Labeler.loading.PointCloudSequenceSource.
customimagesource. 自定义图像格式 Vision.Labeler.Loading.CustomimageSource.

要指定其他数据源,请创建新类型MultiSignalSource.通过使用的对象Vision.Labeler.Loading.MultiSignAlSource.班级。

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

  • 在里面地面真理贴标机应用程序,创建标签定义,然后将它们导出为a的一部分TroundtruthmultiSignal.目的。

  • 用一个LANENDEFINITIONCREATIONISISINING.对象生成标签定义表。如果将此表保存到Mat文件,则可以将标签定义加载到一个地面真理贴标机通过选择应用程序会话打开>标签定义从App ToolStrip。

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

此表介绍了所指定的表所需和可选列标签财产。

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

必需的

SignalType.

SignalType.指定每个标签定义支持的信号类型的枚举。万博1manbetx有效值是图像用于图像信号,如视频或图像序列,pointcloud.对于LIDAR信号,或时间用于场景标签定义。

如果标签定义支持多个信号类型,则标签定义具有万博1manbetx每个信号类型的单独行。例如,考虑一个名为的标签定义。在里面地面真理贴标机应用程序,您将此标签绘制为图像信号中的矩形和LIDAR点云信号中的长方体。在里面标签桌子,出现两次并有这些名称SignalType., 和LabelType.价值观。

名称 SignalType. LabelType.
'车' 图像 矩形
'车' pointcloud. 长方体

必需的

LabelType.

LabelType.指定每个标签定义类型的枚举。

用于带有的ROI标签定义SignalType.图像, 有效的LabelType.枚举是:

  • labeltype.rectangle.

  • labeltype.line.line.

  • labeltype.pixellabel.

  • labeltype.polygon.

  • labeltype.projectedcuboid.

用于带有的ROI标签定义SignalType.pointcloud.,唯一有效LabelType.枚举是labeltype.cuboid.

对于场景标签定义,唯一有效LabelType.枚举是labeltype.scene.

您还可以添加非ROI或场景标签的地面真理数据TroundtruthmultiSignal.目的。在标签定义表中,指定标签定义LabelType.风俗

必需的

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

可选的

如果在MATLAB命令行创建标签定义,则无需包含一个团体柱子。

如果从中导出标签定义地面真理贴标机应用程序或使用a创建它们LANENDEFINITIONCREATIONISISINING.对象,标签定义表包含此列,即使您未指定组。该应用程序分配每个标签定义a团体的价值'没有任何'

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

可选的

如果在MATLAB命令行创建标签定义,则无需包含一个描述柱子。

如果从中导出标签定义地面真理贴标机应用程序或使用a创建它们LANENDEFINITIONCREATIONISISINING.对象,标签定义表包含此列,即使您没有指定描述。这描述对于这些标签定义是一个空字符向量。

LabelColor. RGB三元组的1×3行向量,可指定标签定义的颜色。值在范围内[0,1]。颜色黄色(RGB三态[1 1 0])保留用于所选标签的颜色地面真理贴标机应用程序。

可选的

当您定义标签时地面真理贴标机应用程序,您必须指定颜色。因此,导出的标签定义表始终包含此列。

使用使用该标签定义时LANENDEFINITIONCREATIONISISINING.对象而无需指定颜色,返回的标签定义表包含此列,但所有列值都是空的。

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

可选的

在定义像素标签时地面真理贴标机应用程序或者LANENDEFINITIONCREATIONISISINING.对象,生成的标签定义表包含此列。

在MATLAB命令行创建标签定义表时,如果您设置LabelType.labeltype.pixellabel.对于任何标签,则需要此列。

等级制度 包含每个标签定义的Sublabel和属性数据的结构。为了一个例子等级制度格式,参见出口和探索多个信号的地面真理标签

可选的

当您定义子标签或属性时地面真理贴标机应用程序或者LANENDEFINITIONCREATIONISISINING.对象,生成的标签定义表包含此列。

跨所有信号的ROI标记数据,指定为一个roilabeldata.目的。

为了矩形长方体projectedcuboid.多边形, 和线标签类型,非浮点数组的地面真理数据具有数据类型单身的

所有信号的场景标签数据,指定为a场景目的。

对象功能

selectlabelsbylabelname. 按标签名称选择MultiSignal地面真理
SelectLabelsbylabeltype. 按标签类型选择MultiSignal地面真理
SelectLabelsByGroupName. 按标签组名称选择MultiSignal地面真理
SelectLabelsBysignalName. 通过信号名称选择MultiSignal地面真理
SelectLabelsBysignalType. 通过信号类型选择MultiSignal地面真理标签
Gatherlabeldata. 从地面真理收集同步标签数据
withframes. 将地面真理数据写入磁盘的信号帧
换行员 更改多功能地面真实性数据中的文件路径

例子

全部收缩

为视频信号创建地面真实数据和捕获相同驾驶场景的激光雷云序列信号。指定信号源,标签定义和ROI和场景标签数据。

从MP4文件创建视频数据源。

Sourcename =.'01_city_c2s_fcw_10s.mp4';sourceparams = [];Vidsource = Vision.Labeler.Loading.videoSource;vidsource.loadSource(SourceName,SourceParams);

从点云数据(PCD)文件的文件夹中创建点云序列源。

pcseqfolder = fullfile(toolboxdir('驾驶'),'divertdata''lidarsequence');AddPath(PCSeqfolder)加载时间戳.mat.RMPath(PCSeqfolder)LidarSourceData = Load(FullFile(PCSeqfolder,'timestamps.mat'));sourcename = pcseqfolder;sourceparams = struct;sourceparams.timestamps =时间戳;pcseqsource = Vision.Labeler.Loading.PointCloudseequenceSource;pcseqsource.loadSource(SourceName,SourceParams);

将信号源组合到数组中。

DataSource = [Vidsource PCSeqsource]
DataSource = 1x2异构MultiSignalSource(VideoSource,PointCloudSequenceSource)数组,具有属性:SourceName SourceParams信号名称信号TypePe时间戳NumSignals

使用a创建地面真实数据的标签定义表LANENDEFINITIONCREATIONISISINING.目的。

  • 标签定义出现两次。虽然被定义为矩形,您只能为图像信号(如视频)绘制矩形。这LANENDEFINITIONCREATIONISISINING.对象为LIDAR点云信号创建额外的行。在这些信号类型中,您可以画出只标签为立方体。

  • 标签定义没有描述且没有分配的颜色,因此描述LabelColor.列是空的。

  • 标签定义没有分配的组,因此对于所有标签定义,相应的单元格团体列设置为'没有任何'

  • 是一个像素标签定义,所以表包括一个Pixellabelid.柱子。

  • 没有标签定义具有子标签或属性,因此该表不包括一个等级制度存储此类信息的列。

LDC = LabeldefinitionCreativ等人;addlabel(LDC,'车''矩形');addlabel(LDC,'卡车''projectedcuboid');addlabel(LDC,'车道''线');addlabel(LDC,'路''pixellabel');addlabel(LDC,'晴朗''场景');labeldefs = create(LDC)
labeldefs = 6x7表名称signalype labeltype组描述labelcolor pixellabelid ______________________________________________________________0 dource} {'none'} {0x0 double} {'car'} pointcloud cumoid {'none'} {''} {0x0 char} {0x0 char} {0x0 double} {'truck'}图像projectedcuboid {'none'} {'''} {0x0 char} {0x0 double} {'line'} {'line'}图片线{'没有'} {''} {0x0 char} {0x0 char} {0x0 double} {'道路'} image pixellabel {'none'} {''} {0x0 char} {[1]} {'sunny'}时间场景{'none'} {''} {0x0 char} {0x0 double}

为视频的第一帧创建ROI标签数据。

numvideoframe = numel(vidsource.timestamp {1});cardata = cell(numvideoframes,1);lanedata = cell(numvideoframes,1);TruckData = Cell(NumVideoframes,1);Cardata {1} = [304 212 37 33];Lanedata {1} = [70 458;311 261];Truckdata {1} = [309,215,33,24,330,211,33,24];videodata =时间表(Vidsource.Timestamp {1},Cardata,Lanedata,......'variablenames',{'车''车道'});

在序列中为第一个点云创建ROI标记数据。

numpcframes = numel(pcseqsource.timestamp {1});cardata = cell(numpcframes,1);Cardata {1} = [27.35 18.32 -0.11 4.25 4.75 3.45 0 0 0];Lidardata =时间表(PCSeqsource.Timestamp {1},Cardata,'variablenames',{'车'});

将ROI标签数据组合到两个来源。

signalnames = [datasource.signalname];Roidata = Vision.Labeler.Labeldata.Roilabeldata(信号名称,{videodata,lidardata})
Roidata =带有属性的roilabeldata:Video_01_city_c2s_fcw_10s:[204x2时间表] lidarsequence:[34x1时间表]

为驾驶场景的前10秒创建场景标签数据。

sunnydata =秒([010]);labelnames = [“晴朗”];scenedata = vision.labeler.labeldata.scenelabeldata(labelnames,{sunnydata})
scenedata =具有属性的场景:sunny:[0 sec 10 sec]

从信号源,标签定义和ROI和场景标签数据创建一个地面真理对象。您可以将此对象导入其中地面真理贴标机用于手动标记的应用程序或在其上运行标签自动化算法。您还可以通过使用的深度学习模型从此对象中提取培训数据Gatherlabeldata.功能。

gtruth = tourttruthmultiSignal(DataSource,Labeldefs,Roidata,Scenedata)
gtruth = groudtruth multiSignal

提示

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

  • 创建一个TroundtruthmultiSignal.包含ROI标签数据但没有场景标签数据的对象,指定场景属性作为空数组。要在MATLAB命令提示符处创建此数组,请输入此代码。

    scenedata = vision.labeler.labeldata.scenelabeldata.empty.

在R2020A中介​​绍