通过遵循标记信号后标记多重信号的地面真相过程,导出标签并探索它们的存储方式。
打开地面实况贴标签机包含标记信号的应用程序会话。您可以从MATLAB®命令行打开会话。例如,如果您将会话保存到一个名为地下标记
,输入此命令。
groundTruthLabelergroundTruthLabelingSession.mat
在应用工具条上,选择导出>到工作区.在“导出到”工作区“窗口中,使用默认导出变量名称,gTruth
,然后点击好的.该应用程序导出一个
目的,groundTruthMultisignal
gTruth
,到Matlab®工作区。此对象包含从App会话捕获的地面真理标签。
如果没有导出groundTruthMultisignal
对象到工作区,从变量加载预定义的对象gTruth
.用于加载此对象的函数作为支持文件附加到本例中。金宝app如果使用自己的对象,标签位置等数据可能与本例中显示的数据不同。
如果(~ (“gTruth”那“var”))gtruth = helperloadgtruthgetstarted;结束
控件的属性groundTruthMultisignal
目的,gTruth
.该对象包含有关信号数据源,标签定义和ROI和场景标签的信息。此信息存储在对象的单独属性中。
gTruth
gtruth = tourttruth multIsignal
在本例中,您将检查每个属性的内容,以了解对象如何存储ground truth标签。
这数据源
属性包含有关数据源的信息。此属性包含两个MultiSignalSource
对象:一个用于视频源,一个用于点云序列源。控件的内容数据源
财产。
gtruth.datasource.
ans = 1x2异构MultiSignalSource (VideoSource, PointCloudSequenceSource)数组的属性:SourceName SourceParams SignalName SignalType Timestamp NumSignals
存储在这些对象中的信息包括到数据源的路径、它们包含的信号的名称以及这些信号的时间戳。显示数据源的信号名称。
gtruth.datasource.signalname.
ans =“video_01_city_c2s_fcw_10s”ans =“lidarsequence”
这标签
属性包含有关标签定义的信息表。显示标签定义表。每行包含有关ROI或场景标签定义的信息。这车
标签定义有两行:一个用于当标签被绘制为矩形时图像
信号和一个当标签被画成长方体上pointcloud.
信号。
gTruth。标签
ans = 3x7表名称signaltype labeltype组描述labelcolor层次结构____________________ _______________________________________0crux} {0x0 char} {0x0 char} {0x0 char} {0x0} {}pointcloud cuboid {'车辆'} {0x0 char} {0x0 char} {[0.5862 0.8276 0.3103] {'timtime'}时间场景{'none'} {0x0 char} {[0.0588 1]} {0x0 double}
这层次结构
列存储关于父ROI标签的子标签和属性定义的信息。控件的子标签和属性信息车
标签绘制为矩形时。此标签包含一个sublabel,brakeLight
,没有属性。
gTruth.LabelDefinitions.Hierarchy {1}
an = struct with fields: brakeLight: [1x1 struct] Type:矩形描述:"
显示有关brakeLight
父元素的子标签车
标签。sublabel包含一个属性,ISON.
.子标签不能有自己的子标签。
gtruth.labeldefinitions.hierarchy {1} .Brakelight
ans = struct with字段:类型:矩形描述:''lableColor:[0.5862 0.8276 0.3103] ISON:[1x1 struct]
显示有关ISON.
属性为brakeLight
sublabel。此属性没有默认值,因此DefaultValue
字段是空的。
gtruth.labeldefinitions.hierarchy {1} .Brakelight.Ison
ans = struct with字段:defaultValue:[]描述:''
这roillabeldata.
属性包含一个
具有包含每个信号的ROI标签数据的属性的对象。属性的名称与信号的名称匹配。显示对象属性名称。ROILabelData
gTruth。ROILabelData
ans =带有属性的roilabeldata:video_01_city_c2s_fcw_10s:[204x1时间表] lidarsequence:[34x1时间表]
每个属性都包含在每个信号时间戳绘制的ROI标签的时间表,每个标签为一列。查看视频和LIDAR点云序列时间表的部分。将时间间隔设置为8到8.5秒。此时间间隔对应于标记为的时间间隔的开始标记多重信号的地面真相过程。视频时间表比点云序列时间表包含更多的行,因为视频包含更多的标签帧。
timeInterval = timerange(秒(8),秒(8.5));videolabels = gtruth.roilabeldata.video_01_city_c2s_fcw_10s(timinterval,:) lidarlabels = gtruth.roilabeldata.lidarsequence(timingInterval,:)
Videolabels = 10x1时间表时间汽车________ ____________ 8秒{1x1 struct} 8.05秒{1x1 struct} 8.1秒{1x1 struct} 8.15秒{1x1 struct} 8.2秒{1x1 struct} 8.25秒{1x1 struct} 8.3秒{1x1 struct}8.35秒{1x1 struct} 8.4秒{1x1 struct} 8.45秒{1x1 struct} lidarlabels = 2x1时间表时间汽车__________ ____________ 8.0495秒{1x1 struct} 8.3497秒{1x1 struct}
查看矩形车
在时间间隔中的第一个视频帧的标签。标签数据存储在结构中。
videoLabels.car {1}
an = struct with fields: Position:[296 203 203 144]制动器:[1x2 struct]
这位置
控件的位置车
标签。这个框架只包含一个车
标签,在这种情况下,位置
仅包含一个矩形边界框。边界框位置是表格[x y w h]
,地点:
X
和y
指定矩形的左上角。
W.
指定矩形的宽度,这是矩形的长度X设在。
H
指定矩形的高度,这是矩形的长度y设在。
这车
标签还包含两个brakeLight
这帧的子标签。观看brakeLight
sublabels。子标签存储在一个结构数组中,每个子标签绘制在框架上一个结构。
Videolabels.car {1} .Brakelight
ans = 1x2 struct数组与字段:位置isOn
查看子标签的边框位置。
Videolabels.car {1} .Brakelight.Position
ANS = 304 245 50 46 ANS = 435 243 54 51
控件的值ISON.
属性在每个子标签中。对于这两个子标签,此属性都设置为logical1
(真的
).
videoLabels.car {1} .brakeLight.isOn
Ans = logical 1
现在看长方体车
在时间间隔中的第一点云序列帧的标签。点云序列不支持子标签或属性。金宝app而不是将长方体标签存储在位置
结构的字段,长方体边界框位置存储在m
-My-9矩阵,在哪里m
是长方体标签的数量。因为这个框架只包含一个长方体标签,在这种情况下m
是1。
lidarLabels.car {1}
ANS =带字段的结构:位置:[-1.1559 -0.7944 1.2012 12.6196 5.9278 3.0010 0 0 0] Brakelight:[]
1 × 9的边界框位置就是这种形式[xctr, yctr, zctr, xlen, ylen, zlen, xrot, yrot, zrot]
,地点:
XCTR.
那yctr
,zctr
指定长方体的中心。
xlen.
那ylen
,zlen
指定长方体的长度沿着X-,y-, 和Z.旋转之前,分别在旋转之前分别进行速度。
Xrot.
那yrot.
,zrot
指定沿着长方体的旋转角度X-,y-, 和Z.分别设在。这些角度是顺时针正方向时,看其相应的轴。
该图显示了这些值如何指定长方体的位置。
这场景
属性包含一个
对象,其属性包含所有信号中的场景标签数据。属性的名称与场景标签的名称匹配。显示对象属性名称。场景
gTruth。场景
ans = SceneLabelData with properties: daytime: [0 sec 10.15 sec]
这白天
Label适用于整个时间间隔,大约为10秒。
该示例中所示的标签仅用于说明目的。对于您自己的标签,导出标签后,您可以将它们用作对象探测器的培训数据。收集来自的标签数据groundTruthMultisignal
培训对象,使用
函数。gatherLabelData
要分享标记的地面真实数据,分享包含该的地面真实垫文件groundTruthMultisignal
对象,而不是包含应用程序会话的MAT文件。有关更多详细信息,请参阅分享和存储标记的地面真理数据.
gatherLabelData
|groundTruthMultisignal
|ROILabelData
|场景