ROILabelData
描述
的ROILabelData
对象存储地面实况数据感兴趣的区域(ROI)为每个信号在一个标签定义groundTruthMultisignal
对象。
创建
当你出口groundTruthMultisignal
对象从一个地面实况贴标签机应用程序会话,ROILabelData
出口对象的属性存储ROI是一个标签ROILabelData
对象。创建一个ROILabelData
对象编程,使用vision.labeler.labeldata.ROILabelData
函数(这里描述)。
描述
创建一个对象包含ROI标签数据的多个信号。创建的对象,roiLabelData
= vision.labeler.labeldata.ROILabelData (signalNames
,labelData
)roiLabelData
,包含属性中列出的信号名称signalNames
。这些属性指定的存储相应的ROI标签数据labelData
。
输入参数
signalNames
- - - - - -信号的名字
字符串数组
信号名称指定为一个字符串数组。指定的名称出现在所有信号groundTruthMultisignal
您正在创建的对象。你可以从现有的信号名称groundTruthMultisignal
对象通过访问数据源
该对象的属性。使用此命令和替换gTruth
与你的名字groundTruthMultisignal
对象变量。
gTruth.DataSource.SignalName
在一个出口groundTruthMultisignal
对象,ROILabelData
对象包含一个标签为每个信号数据属性,即使一些信号没有ROI标签数据。
创建的属性ROILabelData
对象指定的名称signalNames
。
例子:[" video_01_city_c2s_fcw_10s”“lidarSequence”)
labelData
- - - - - -ROI每个信号标签数据
单元阵列的时间表
ROI每个信号,标签数据指定为一个单元阵列的时间表。每个单元阵列中的时间表包含数据的信号在相应的位置signalNames
输入。的ROILabelData
对象存储每个时间表的属性名称相同的信号。
时间表取决于数据格式为每个信号groundTruthMultisignal
对象,导出或创建。
每个时间表包含一列定义存储在每个标签LabelDefinitions
财产的groundTruthMultisignal
对象。标签定义信号类型不支持被排除在外。万博1manbetx例如,假设您定义一个行
ROI标签命名“车道”
。激光雷达点云的时间表不包括一个信号车道
列,因为这些信号不支持万博1manbetx行
ROI标签。在数据源
财产的groundTruthMultisignal
对象,SignalType
每个数据源的属性列表有效信号类型。
时间表的高度是定义的数字时间戳的信号。在数据源
财产的groundTruthMultisignal
对象,时间戳
每个数据源的属性列表信号时间戳。
为每个标签定义,所有ROI标签标记在那个表中时间戳被组合到一个细胞。考虑到ROI标签为视频信号存储在一个数据groundTruthMultisignal
对象,gTruth
。在每个时间戳,车
包含三个标签,卡车
包含一个标签,车道
包含两个标签。
gTruth.ROILabelData.video_01_city_c2s_fcw_10s
ans = 5×4时间表时间汽车卡车巷_____ _______ _______ _______ 0秒{3×4双}{1×4双}}{2×1细胞0.05秒{3×4双}{1×4双}}{2×1细胞0.1秒{3×4双}{1×4双}}{2×1细胞0.15秒{3×4双}{1×4双}}{2×1细胞0.2秒{3×4双}{1×4双}{2×1细胞}
ROI标签数据的存储格式取决于类型的标签。
标签类型 | 存储格式的标签在每一个时间戳 |
---|---|
labelType.Rectangle |
|
|
图中显示这些值如何确定一个长方体的位置。 |
|
图中显示这些值如何确定一个长方体的位置。
|
labelType.Line |
|
labelType.PixelLabel |
标签数据的所有像素标签定义存储在一个单一的米1 |
labelType.Polygon |
|
labelType.Custom |
标签中指定的存储完全按照他们的时间表。如果你导入一个 |
如果数据包括sublabels ROI标签或属性,那么必须指定为标签在每个时间戳结构。结构包括这些字段。
标签结构字段 | 描述 | ||||||
---|---|---|---|---|---|---|---|
位置 |
父标签的位置在给定的时间戳 的格式 |
||||||
AttributeName1,…, AttributeNameN |
父标签的属性 每个sublabel定义有自己的字段,字段的名称对应于属性名称。的属性值是一个特征向量 |
||||||
SublabelName1,…, SublabelNameN |
Sublabels父标签 每个sublabel定义有自己的字段,字段的名称对应于sublabel名字。每个sublabel字段的值是一个结构,它包含所有的数据标记sublabels这个名字在给定的时间戳。 此表描述了这个sublabel结构的格式。
|
属性
SignalName1,…, SignalNameN
- - - - - -每个信号ROI标签数据(作为单独的属性)
时间表
ROI标签数据,指定为时间表。的ROILabelData
每个信号对象包含一个属性,每个属性包含一个时间表的ROI标签数据对应的信号。
当出口ROILabelData
对象从一个地面实况贴标签机应用程序会话属性名对应的信号名称存储在数据源
导出的属性groundTruthMultisignal
对象。
当创建一个ROILabelData
对象编程,signalNames
和labelData
输入参数定义创建对象的属性的名称和值。
假设您希望创建一个groundTruthMultisignal
对象包含一个视频信号和激光雷达点云序列信号。在一个字符串数组,指定的信号signalNames
。
signalNames = [“video_01_city_c2s_fcw_10s”“lidarSequence”];
存储视频ROI标签,可视数据
激光雷达点云序列ROI的标签,lidarData
在一系列细胞的时间表,labelData
。每个时间表包含的数据对应的信号signalNames
。
labelData ={可视数据,lidarData}
1×2单元阵列{204×2时间表}}{34×1时间表
的ROILabelData
对象,roiData
,将这些数据存储在属性名称与相应的信号。您可以指定roiData
在ROILabelData
财产的groundTruthMultisignal
对象。
roiData = vision.labeler.labeldata.ROILabelData (signalNames labelData)
roiData = ROILabelData属性:video_01_city_c2s_fcw_10s:[204×2时间表]lidarSequence:[34×1时间表)
例子
创建从多个信号地面实况
创建地面实况视频信号和激光雷达点云数据序列的信号捕获相同的驾驶场景。指定的信号来源,标签定义和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。时间戳s = 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 = 7 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双}{“车道”}PointCloud行{‘没有’}{‘}{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。米ultiSignalSource] LabelDefinitions: [7x7 table] ROILabelData: [1x1 vision.labeler.labeldata.ROILabelData] SceneLabelData: [1x1 vision.labeler.labeldata.SceneLabelData]
版本历史
介绍了R2020a
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。万博1manbetx
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。