导出和探索多个信号的地真值标签
标记信号后,按照为多个信号标记地真值过程中,导出标签并探索它们的存储方式。
设置
打开地面真相标签包含标记信号的应用程序会话。您可以从MATLAB®命令行打开会话。例如,如果您将会话保存到一个名为groundTruthLabelingSession
,输入该命令。
groundTruthLabelergroundTruthLabelingSession.mat
在应用程序工具条上,选择导出>到工作区.在导出到工作区窗口中,使用默认的导出变量名,gTruth
,并单击好吧.应用程序导出一个
对象,groundTruthMultisignal
gTruth
,到MATLAB®工作空间。该对象包含从应用程序会话中捕获的ground truth标签。
如果你没有导出groundTruthMultisignal
对象添加到工作空间,从该变量加载预定义对象gTruth
.用于加载此对象的函数作为支持文件附加到本示例中。金宝app如果您正在使用自己的对象,则标签位置等数据可能与本例中显示的数据不同。
如果(~ (“gTruth”,“var”)) gTruth = helperLoadGTruthGetStarted;结束
属性的属性groundTruthMultisignal
对象,gTruth
.对象包含信号数据源、标签定义、ROI和场景标签等信息。此信息存储在对象的单独属性中。
gTruth
gTruth = groundTruthMultisignal with properties: DataSource: [1x2 vision.label .loading.]MultiSignalSource] LabelDefinitions: [3x7 table] ROILabelData: [1x1 vision.labeler.labeldata.ROILabelData] SceneLabelData: [1x1 vision.labeler.labeldata.SceneLabelData]
在本例中,您将检查每个属性的内容,以了解对象如何存储基本真值标签。
数据源
的数据源
属性包含有关数据源的信息。此属性包含两个MultiSignalSource
对象:一个视频源,一个点云序列源。控件的内容数据源
财产。
gTruth。数据源
ans = 1x2异构MultiSignalSource (VideoSource, PointCloudSequenceSource)数组,属性为:SourceName SourceParams SignalName SignalType Timestamp NumSignals
存储在这些对象中的信息包括数据源的路径、它们所包含的信号的名称以及这些信号的时间戳。显示数据源的信号名称。
gTruth.DataSource.SignalName
ans = "video_01_city_c2s_fcw_10s" ans = "lidarSequence"
标签定义
的LabelDefinitions
属性包含关于标签定义的信息表。显示标签定义表。每行包含关于ROI或场景标签定义的信息。的车
标签定义有两行:一行用于在标签上绘制矩形图像
信号和一个用于当标签被绘制为长方体时PointCloud
信号。
gTruth。LabelDefinitions
ans = 3 x7表名SignalType LabelType LabelColor组描述层次结构 ___________ __________ _________ ____________ ___________ ________________________ ____________ {' 汽车的}形象矩形{‘汽车’}{0 x0 char} {[0.5862 0.8276 0.3103]} {1 x1 struct}{‘汽车’}PointCloud长方体{‘汽车’}{0 x0 char} {[0.5862 0.8276 0.3103]} {1 x1 struct}{“白天”}时间场景{‘没有’}{0 x0 char} {[0.0588 - 1 1]} {0 x0双}
的层次结构
列存储关于父ROI标签的子标签和属性定义的信息。属性的子标签和属性信息车
当它被绘制为矩形时进行标记。该标签包含一个子标签,brakeLight
,没有属性。
gTruth.LabelDefinitions.Hierarchy {1}
ans = struct with fields: brakeLight: [1x1 struct]类型:矩形
显示有关brakeLight
父元素的子标签车
标签。子标签包含一个属性,关
.子标签不能有自己的子标签。
gTruth.LabelDefinitions.Hierarchy {1} .brakeLight
ans = struct with fields:类型:矩形描述:" LabelColor: [0.5862 0.8276 0.3103] isOn: [1x1 struct]
显示有关关
属性的brakeLight
sublabel。此属性没有默认值,因此DefaultValue
字段为空。
gTruth.LabelDefinitions.Hierarchy {1} .brakeLight.isOn
ans = struct with fields: DefaultValue: []
ROI标签数据
的ROILlabelData
属性包含
对象,其属性包含每个信号的ROI标签数据。属性的名称与信号的名称相匹配。显示对象属性名。ROILabelData
gTruth。ROILabelData
ans = ROILabelData属性:video_01_city_c2s_fcw_10s: [204x1时间表]lidarSequence: [34x1时间表]
每个属性包含在每个信号时间戳上绘制的ROI标签时间表,每个标签有一列。查看部分视频和激光雷达点云序列时间表。设置时间间隔为8 ~ 8.5秒。属性中标记的时间间隔的开始为多个信号标记地真值过程。视频时间表比点云序列时间表包含更多行,因为视频包含更多标签帧。
timeInterval = timerange(秒(8),秒(8.5));videoLabels = gTruth.ROILabelData.video_01_city_c2s_fcw_10s(timeInterval,:) lidarLabels = gTruth.ROILabelData.lidarSequence(timeInterval,:)
videollabels = 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}
位置:[296 203 203 144]brakeLight: [1x2 struct]
的位置
属性的位置车
标签。这个框架只包含一个车
标签,在这种情况下,位置
只包含一个矩形包围框。边界框的位置为窗体[x y w h]
,地点:
x
而且y
指定矩形的左上角。w
指定矩形的宽度,即矩形沿x设在。h
指定矩形的高度,即矩形沿y设在。
的车
标签还包含两个brakeLight
这个坐标系的子标签。查看brakeLight
sublabels。子标签存储在一个结构数组中,每个子标签在框架上绘制一个结构。
videoLabels.car {1} .brakeLight
ans =带有字段的1x2结构数组:位置isOn
查看子标签的包围框位置。
videoLabels.car {1} .brakeLight.Position
Ans = 304 245 50 46 Ans = 435 243 54 51
属性的值关
属性。对于两个子标签,此属性都设置为logical1
(真正的
).
videoLabels.car {1} .brakeLight.isOn
Ans = logical 1 Ans = logical 1
现在来看长方体车
时间间隔内第一个点云序列帧的标签。点云序列不支持子标签或属性。金宝app而不是存储长方体标签位置
字段的结构,长方体包围框的位置存储在米
-by-9矩阵,其中米
是长方体标签的个数。在这种情况下,因为这个帧只包含一个长方体标签米
是1。
lidarLabels.car {1}
ans = struct with fields: Position: [-1.1559 -0.7944 1.2012 12.6196 5.9278 3.0010 00 00] 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分别设在。当观察它们对应轴的正向时,这些角是顺时针正的。
该图显示了这些值如何指定长方体的位置。
场景标签数据
的SceneLabelData
属性包含
对象,其属性包含跨所有信号的场景标签数据。属性的名称与场景标签的名称相匹配。显示对象属性名。SceneLabelData
gTruth。SceneLabelData
ans = SceneLabelData属性:日间:[0秒10.15秒]
的白天
标签适用于整个时间间隔,大约为10秒。
使用Ground Truth标签
本例中显示的标签仅用于说明目的。对于您自己的标签,导出标签后,您可以将它们用作对象检测器的训练数据。来收集标签数据groundTruthMultisignal
对象用于训练,使用
函数。gatherLabelData
要共享标记的地面真实值数据,请共享包含groundTruthMultisignal
对象,而不是包含应用程序会话的mat文件。详情请参见共享和存储标记地面真相数据.
另请参阅
groundTruthMultisignal
|gatherLabelData
|SceneLabelData
|ROILabelData