主要内容

groundTruthMultisignal

地面实况标签数据的多个信号

描述

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

为深度学习应用程序创建训练数据的数组groundTruthMultisignal对象,使用gatherLabelData函数。

创建

一个出口groundTruthMultisignal对象的地面实况贴标签机应用程序,应用程序将来发布,选择出口标签>到工作空间。应用MATLAB出口对象®工作区。创建一个groundTruthMultisignal对象编程,使用groundTruthMultisignal函数(这里描述)。

描述

例子

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

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

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

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

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

属性

全部展开

地面实况数据来源,指定为一个向量的MultiSignalSource对象。这些对象包含描述信息的来源地面实况数据标记。此表描述的类型MultiSignalSource对象,您可以指定在这个向量。

MultiSignalSource对象类型 数据源 类引用
VideoSource 视频文件 vision.labeler.loading.VideoSource
ImageSequenceSource 图像序列的文件夹 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

指定额外的数据来源,创建一个新类型的MultiSignalSource通过使用对象vision.labeler.loading.MultiSignalSource类。

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

  • 地面实况贴标签机应用程序,创建标签定义,然后出口的一部分groundTruthMultisignal对象。

  • 使用一个labelDefinitionCreatorMultisignal对象生成一个标签定义表。MAT-file如果保存此表,您可以加载标签定义成一个地面实况贴标签机应用程序会话通过选择开放>标签定义从应用程序将来发布。

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

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

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

要求

SignalType

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

如果一个标签定义支持多种信号类型,然后每个信金宝app号的标签定义一个单独的行类型。例如,考虑一个标签定义命名。在地面实况贴标签机应用程序,你画这个标签作为一个矩形图像信号和激光雷达点云的长方体的信号。在LabelDefinitions表,出现两次,这些的名字,SignalType,LabelType值。

的名字 SignalType LabelType
“汽车” 图像 矩形
“汽车” PointCloud 长方体

要求

LabelType

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

对ROI标签定义的SignalType图像有效的LabelType枚举:

  • labelType.Rectangle

  • labelType.Line

  • labelType.PixelLabel

  • labelType.Polygon

  • labelType.ProjectedCuboid

对ROI标签定义的SignalTypePointCloud唯一有效的LabelType枚举是labelType.Cuboid

标签定义,唯一有效的LabelType枚举是labelType.Scene

还可以添加地面实况数据不是一个ROI或现场标签groundTruthMultisignal对象。标签定义表中,指定一个标签定义的labelType自定义

要求

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

可选

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

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

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

可选

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

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

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

可选

当你定义的标签地面实况贴标签机应用程序,您必须指定一个颜色。因此,出口总是包括这列标签定义表。

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

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

可选

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

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

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

可选

当你定义sublabels或属性地面实况贴标签机应用程序或labelDefinitionCreatorMultisignal对象,包括这列生成的标签定义表。

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

矩形,长方体,ProjectedCuboid,多边形,标签类型,地面实况数据不是一个浮点数组的数据类型

现场所有信号,标签数据指定为一个SceneLabelData对象。

对象的功能

selectLabelsByLabelName 选择multisignal地面实况的标签名称
selectLabelsByLabelType 按照标签类型选择multisignal地面实况
selectLabelsByGroupName 选择multisignal地面实况的标签组名称
selectLabelsBySignalName 而选择multisignal地面真实信号的名字
selectLabelsBySignalType 根据信号类型选择multisignal地面实况标签
gatherLabelData 收集同步标签数据从地面真理
writeFrames 地面实况信号帧数据写入到磁盘
changeFilePaths 改变文件路径multisignal地面实况数据

例子

全部折叠

创建地面实况视频信号和激光雷达点云数据序列的信号捕获相同的驾驶场景。指定的信号来源,标签定义和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 =负载(fullfile (pcSeqFolder,“timestamps.mat”));sourceName = pcSeqFolder;sourceParams =结构;sourceParams。时间stamps = timestamps; pcseqSource = vision.labeler.loading.PointCloudSequenceSource; pcseqSource.loadSource(sourceName,sourceParams);

结合信号来源到一个数组中。

数据源= [vidSource pcseqSource]
数据源异构MultiSignalSource = 1 x2 (VideoSource PointCloudSequenceSource)数组属性:SourceName SourceParams SignalName NumSignals SignalType时间戳

创建一个表的标签定义地面实况数据通过使用labelDefinitionCreatorMultisignal对象。

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

  • 标签定义没有描述和指定颜色,所以描述LabelColor列是空的。

  • 标签定义没有分配组,对于所有标签定义相应的细胞集团列被设置为“没有”

  • 是一个像素标签定义,那么表包括一个PixelLabelID列。

  • 没有标签定义sublabels或属性,所以表不包括层次结构列来存储这些信息。

ldc = labelDefinitionCreatorMultisignal;addLabel (ldc,“汽车”,“矩形”);addLabel (ldc,“卡车”,“ProjectedCuboid”);addLabel (ldc,“车道”,“行”);addLabel (ldc,“路”,“PixelLabel”);addLabel (ldc,“阳光”,“现场”);labelDefs =创建(ldc)
labelDefs = 6 x7表名SignalType LabelType组描述LabelColor PixelLabelID _____ __________售予________ ___________ __________ _______{‘汽车’}图像矩形{‘没有’}{‘}{0 x0 char} {0 x0双}{‘汽车’}PointCloud长方体{‘没有’}{‘}{0 x0 char} {0 x0双}{“卡车”}形象ProjectedCuboid{‘没有’}{‘}{0 x0 char} {0 x0双}{“车道”}图像行{‘没有’}{‘}{0 x0 char} {0 x0双}{‘路’}形象PixelLabel{‘没有’}{‘}{0 x0 char}{[1]}{‘阳光’}时间场景{‘没有’}{‘}{0 x0 char} {0 x0双}

创建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.Timestamp {1}, carData, laneData,“VariableNames”,{“汽车”,“车道”});

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

numPCFrames =元素个数(pcseqSource.Timestamp {1});carData =细胞(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 (signalNames{可视数据,lidarData})
roiData = ROILabelData属性:video_01_city_c2s_fcw_10s: [204 x2时间表]lidarSequence: [34 x1时间表)

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

sunnyData =秒(10 [0]);labelNames = [“阳光”];sceneData = vision.labeler.labeldata.SceneLabelData (labelNames {sunnyData})
sceneData = SceneLabelData属性:阳光:[0秒10秒)

创建一个地面实况对象的信号来源,标签定义和ROI和现场标签数据。你可以将这个对象导入地面实况贴标签机应用手动标记或标签自动化运行算法。您还可以从这个对象中提取训练数据的深度学习模型通过使用gatherLabelData函数。

gTruth = groundTruthMultisignal(数据源、labelDefs roiData, sceneData)
gTruth = groundTruthMultisignal属性:数据源:[1 x2 vision.labeler.loading。MultiSignalSource] LabelDefinitions: [6x7 table] ROILabelData: [1x1 vision.labeler.labeldata.ROILabelData] SceneLabelData: [1x1 vision.labeler.labeldata.SceneLabelData]

提示

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

  • 创建一个groundTruthMultisignal对象包含ROI标签数据但没有现场标签数据,指定SceneLabelData属性是一个空数组。要创建这个数组,在MATLAB命令提示符,输入此代码。

    sceneData = vision.labeler.labeldata.SceneLabelData.empty

介绍了R2020a