主要内容

groundTruthMultisignal

多信号地面真值标签数据

描述

这个groundTruthMultisignal对象包含关于地面真值数据源、标签定义和多个信号的标记标签注释的信息。信号的来源可以是视频、图像序列、激光雷达点云或任何其他包含多个信号的自定义格式。您可以导出或导入groundTruthMultisignal对象的地面实况贴标签机应用程序。

为深度学习应用程序创建训练数据从数组groundTruthMultisignal对象,使用合欢功能。

创建

一个出口groundTruthMultisignal对象的地面实况贴标签机App,在App工具条上,选择出口标签>工作空间。应用程序将对象导出到MATLAB®工作区。创建一个groundTruthMultisignal对象,使用groundTruthMultisignal函数(此处描述)。

描述

例子

gTruth= groundTruthMultisignal (数据源,labelDefs,roiData,sceneData)返回一个对象,该对象包含可导入的基础真值标签地面实况贴标签机应用程序。

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

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

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

  • sceneData为已标记的场景标签指定标识信息和时间戳,并设置SceneLabelData财产。

属性

全部展开

地面真实数据的来源,指定为向量多信号源对象。这些对象包含描述地面真实数据标记来源的信息。此表描述了多信号源可以在此向量中指定的对象。

多信号源对象类型 数据源 课堂参考
视频源 视频文件 vision.labeler.loading.VideoSource
图像序列源 图像序列文件夹 vision.labeler.loading.ImageSequenceSource
VelodyneLidarSource 威力登®PCAP文件 vision.labeler.loading.VelodyneLidarSource
RosbagSource Rosbag文件 vision.labeler.loading.RosbagSource
PointCloudSequenceSource 点云序列文件夹 vision.labeler.loading.PointCloudSequenceSource
CustomImageSource 自定义图像格式 vision.labeler.loading.CustomImageSource

要指定其他数据源,请创建新的类型多信号源对象的vision.labeler.loading.MultiSignalSource类。

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

  • 地面实况贴标签机应用程序,创建标签定义,然后导出它们作为groundTruthMultisignal对象。

  • 使用一个labelDefinitionCreatorMultisignal对象生成标签定义表。如果将此表保存到MAT文件,则可以将标签定义加载到地面实况贴标签机通过选择应用程序会话开放>标签定义从应用程序工具条。

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

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

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

要求

信号类型

信号类型指定每个标签定义支持的信号类型的枚举。金宝app有效的值形象对于视频或图像序列等图像信号,PointCloud对于激光雷达信号,或者时间用于场景标签定义。

如果标签定义支持多种信号类型,那么标签定义对金宝app每种信号类型都有单独的行。例如,考虑一个名为.在地面实况贴标签机在应用程序中,您将此标签绘制为图像信号中的矩形和激光雷达点云信号中的长方体。在LabelDefinitions表格出现了两次,有这些的名字,信号类型,LabelType值。

的名字 信号类型 LabelType
“汽车” 形象 矩形
“汽车” PointCloud 长方体

要求

LabelType

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

用于ROI标签定义信号类型形象有效的LabelType枚举:

  • 标签类型。矩形

  • labelType。线

  • labelType。PixelLabel

  • labelType。多边形

  • labelType。投影长方体

用于ROI标签定义信号类型PointCloud,唯一有效的LabelType枚举是唇形长方体

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

您还可以添加地面真实数据,不是ROI或场景标签groundTruthMultisignal对象。在“标签定义”表中,指定其labelType自定义

要求

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

可选的

如果在MATLAB命令行中创建标签定义,则不需要包含集团列。

属性导出标签定义地面实况贴标签机应用程序或使用labelDefinitionCreatorMultisignal对象时,标签定义表包括此列,即使您没有指定组。应用程序分配每个标签定义a集团价值“没有”

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

可选的

如果在MATLAB命令行中创建标签定义,则不需要包含描述列。

属性导出标签定义地面实况贴标签机应用程序或使用labelDefinitionCreatorMultisignal对象时,标签定义表包括此列,即使您没有指定描述。这个描述对于这些标签定义是一个空字符向量。

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

可选的

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

属性创建标签定义时labelDefinitionCreatorMultisignal对象时,返回的标签定义表包括该列,但所有列值均为空。

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

可选的

在中定义像素标签时地面实况贴标签机应用程序或labelDefinitionCreatorMultisignal对象,生成的标签定义表包括此列。

当在MATLAB命令行创建标签定义表时,如果您设置LabelTypelabelType。PixelLabel对于任何标签,则此列是必需的。

层次结构 包含每个标签定义的子标签和属性数据的结构。例如层次结构格式,请参阅导出和探索多个信号的地面真实值标签

可选的

中定义子标签或属性时地面实况贴标签机应用程序或labelDefinitionCreatorMultisignal对象,生成的标签定义表包括此列。

所有信号的ROI标签数据,指定为ROILabelData对象。

为了矩形,长方体,投影长方体,多边形,线标签类型,非浮点数组的地面真值数据的数据类型为

场景标签数据跨越所有信号,指定为SceneLabelData对象。

目标函数

selectLabelsByLabelName 按标签名称选择多信号地面真相
选择标签类型 根据标签类型选择多信号地面真相
选择LabelsByGroupName 根据标签组名选择多信号接地真值
selectLabelsBySignalName 按信号名称选择多信号地面真相
按信号类型选择标签 根据信号类型选择多信号地面真值标签
合欢 从ground truth收集同步标签数据
写字谜 将地面真实数据的信号帧写入磁盘
changeFilePaths 更改多信号地面真实数据的文件路径

例子

全部崩溃

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

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

sourceName =“01 _city_c2s_fcw_10s.mp4”;sourceParams = [];vidSource = vision.labeler.loading.VideoSource;vidSource.loadSource (sourceName sourceParams);

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

pcSeqFolder=fullfile(toolboxdir(“驾驶”),“drivingdata”,“lidarSequence”);目录(pcSeqFolder)负载timestamps.matrmpath(pcSeqFolder) lidarSourceData = load(fullfile(pcSeqFolder),'时间戳.垫'));sourceName = pcSeqFolder;sourceParams =结构;sourceParams。时间stamps = timestamps; pcseqSource = vision.labeler.loading.PointCloudSequenceSource; pcseqSource.loadSource(sourceName,sourceParams);

将信号源组合成一个阵列。

dataSource = [vidSource pcseqSource]
dataSource=1x2异构多信号源(VideoSource,PointCloudSequenceSource)数组,其属性为:SourceName SourceParams SignalName SignalType时间戳NumSignals

通过使用labelDefinitionCreatorMultisignal对象。

  • 这个标签定义出现两次。尽管定义为矩形,则只能为图像信号(如视频)绘制矩形labelDefinitionCreatorMultisignal对象为激光雷达点云信号创建额外的行。在这些信号类型中,您可以绘制标签仅为长方体。

  • 标签定义没有描述,也没有指定的颜色,因此描述LabelColor列为空。

  • 标签定义没有指定的组,因此对于所有标签定义,集团列设置为“没有”

  • 是像素标签定义,因此该表包含像素标签列。

  • 没有标签定义有子标签或属性,因此表不包括层次结构用于存储此类信息的列。

ldc = labelDefinitionCreatorMultisignal;addLabel (ldc,“汽车”,“矩形”);addLabel (ldc,“卡车”,“投影长方体”);addLabel (ldc,“莱恩”,“线路”);addLabel (ldc,“路”,“PixelLabel”);addLabel (ldc,“阳光”,“现场”);labelDefs =创建(ldc)
词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇{'None'}{'''}{0x0 char}{0x0 double}{'Car'}点云长方体{'None'}{'''}{0x0 char}{0x0 double}{'Truck'}图像投影长方体{'None'}{'}{0x0 char}{0x0 double}{Lane'}图像线{None'}{0x0 char}{0x0 double}{Road'}图像像素标签{None'}{0x0 char}{[1]}{Sunny'}时间场景{None'}{{0x0 char 0x0 double}

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

numVideoFrames =元素个数(vidSource.Timestamp {1});carData =细胞(numVideoFrames, 1);laneData =细胞(numVideoFrames, 1);truckData =细胞(numVideoFrames, 1);carData{1} = [304 212 37 33];laneData{1} = [70 458;311 261);truckData{1} =[309215, 33岁,24330211年,33岁的24);可视数据= (vidSource时间表。时间戳{1},carData laneData,...“VariableNames”, {“汽车”,“莱恩”});

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

numPCFrames =元素个数(pcseqSource.Timestamp {1});carData = cell(numPCFrames, 1);carData{1} = [27.35 18.32 -0.11 4.25 4.75 3.45 0 0 0];(pcseqSource lidarData =时间表。时间戳{1},carData“VariableNames”, {“汽车”});

合并两个源的ROI标签数据。

signalNames = [dataSource.SignalName];roiData = vision.labeler.labeldata.ROILabelData (signalNames{可视数据,lidarData})
roiData=ROILabelData,属性:视频\u 01\u城市\u c2s\u fcw\u 10s:[204x2时间表]lidarSequence:[34x1时间表]

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

sunnyData=秒([0 10]);标签名称=[“阳光”];sceneData = vision.labeler.labeldata.SceneLabelData (labelNames {sunnyData})
sceneData = SceneLabelData with properties: Sunny: [0 sec 10 sec]

从信号源、标签定义、ROI和场景标签数据创建一个ground truth对象。可以将该对象导入地面实况贴标签机用于手动标记或在其上运行标记自动化算法的应用程序。您还可以使用合欢功能。

gTruth=地面多信号(数据源、LabeldFS、roiData、场景数据)
gTruth = groundTruthMultisignal with properties: DataSource: [1x2 vision.label .loading.]多信号源] LabelDefinitions: [6x7 table] ROILabelData: [1x1 vision.labeler.labeldata.ROILabelData] SceneLabelData: [1x1 vision.labeler.labeldata.SceneLabelData]

提示

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

  • 创建一个groundTruthMultisignal对象包含ROI标签数据但不包含场景标签数据,指定SceneLabelData属性为空数组。要创建这个数组,请在MATLAB命令提示符处输入以下代码。

    sceneData = vision.labeler.labeldata.SceneLabelData.empty

在R2020a中引入