![64e7b113696f9886e9b3839c1202db90.png](https://img-blog.csdnimg.cn/img_convert/64e7b113696f9886e9b3839c1202db90.png)
将视频和激光雷达点云序列信号加载到 "地面真相 "应用中后, 请参考"将地面真相信号加载到标签 "程序中的描述,,具体参考:
小明师兄:MATLAB开发自动驾驶第三课-使用地面真相标签(Ground Truth Labeler)zhuanlan.zhihu.com![408584ee446f4e9970c5a111c0a9d721.png](https://img-blog.csdnimg.cn/img_convert/408584ee446f4e9970c5a111c0a9d721.png)
创建标签,定义,并对信号帧进行标注,在本课例子中,只对部分信号进行标签,以达到说明的目的。
创建标签定义
标签定义包含在信号上标记的标签信息。 可以在应用程序中交互式创建标签定义,也可以通过使用labelDefinitionCreatorMultisignal对象以编程方式创建标签定义。在这个例子中,可以在应用程序中创建标签定义。
创建ROI标签
ROI 标签是与信号帧中的兴趣区域 (ROI) 对应的标签。可以定义这些 ROI 标签类型。
- 矩形/立方体--在物体(如车辆)周围绘制边界框标签。 在图像信号中,可以将这种类型的标签绘制为二维矩形边界框。在点云信号中,可以将此类型的标签绘制为三维立方体边界框。
- 三维立方体--在图像中的物体(如车辆)周围绘制 3-D 界线框标签。
- 线条 - 绘制线性 ROI 来标记线条,例如车道边界。
- 像素标签 - 绘制像素来标记各种类别,如道路或天空,以进行语义分割。
有关这些 ROI 标签定义的详细信息,请参见 "ROI 标签、子标签和属性"。创建一个ROI标签定义,用于标记信号帧中的汽车。
1 在左侧窗格的 ROI 标签窗格中,单击 "标签"。
2 创建一个名为 "车 "的矩形/三维立方体标签。
3 从 "组 "列表中,选择 "新建组 "并将组命名为 "车辆"。向组添加标签是可选的。
4 单击 "确定"。车辆组名称出现在 ROI 标签选项卡上,其下有标签 car。
![1db565f98596904b18628487a5e1fb1d.png](https://img-blog.csdnimg.cn/img_convert/1db565f98596904b18628487a5e1fb1d.png)
在每个信号上,汽车标签的绘制方式不同。在视频上,汽车被画成一个二维矩形边界框,类型为矩形。在点云序列上,汽车被画成一个立方体类型的三维立体边界框。
创建ROI子标签
子标签是与父 ROI 标签相对应的 ROI 标签的一种类型。每个子标签必须属于ROI标签标签定义,或者是ROI标签标签定义的子标签。例如,在驾驶场景中,车辆标签可以有前灯、车牌或车轮的子标签。更多关于 子标签,请参见 "ROI标签、子标签和属性"。
创建一个ROI子标签定义,用于标注被标注汽车的刹车灯。
1 选择子标签的父标签。在左窗格中的 "ROI标签 "选项卡上,单击汽车标签将其选中。
2 单击子标签。
3 创建一个名为brakeLight的矩形子标签。不支持立方体子标签,因此该子标签仅适用于视频信号。单击 "确定"。brakeLight子标签出现在汽车标签下的ROI Labels标签中。子标签和父标签具有相同的颜色。
![b9cbeda5a98cae3dceec6b72b5143fcb.png](https://img-blog.csdnimg.cn/img_convert/b9cbeda5a98cae3dceec6b72b5143fcb.png)
创建ROI属性
ROI属性指定了关于ROI标签或子标签的附加信息。例如,在驾驶场景中,属性可以包括车辆的类型或颜色。可以定义这些类型的 ROI 属性。
- Numeric Value(数值)--指定一个数值标量属性,例如标签车辆的车门数量。
- 字符串 - 指定一个字符串标量属性,例如车辆的颜色。
- Logical - 指定一个逻辑的真或假属性,例如车辆是否在行驶中。
- 列表 - 指定预定义字符串的下拉列表属性,如车辆的品牌或型号。
有关这些属性类型的详细信息,请参见 "ROI 标签、子标签和属性"。创建一个属性来描述标记的刹车灯是亮还是灭。
1 在左侧窗格中的 ROI 标签上,选择制动灯子标签并单击 "属性"。
2 在 "属性名称 "框中,键入 "isOn"。将属性类型设置为 "逻辑"。保留默认值
设置为 "空",然后单击 "确定"。
3 在ROI标签中,展开brakeLight子标签的定义,现在这个子标签的属性框中包含了isOn属性。现在这个子标签的属性框中包含了isOn属性。
![8bedc2f15f27f3416019ed8c87a93c4f.png](https://img-blog.csdnimg.cn/img_convert/8bedc2f15f27f3416019ed8c87a93c4f.png)
创建场景标签
场景标签定义了场景中所有信号的附加信息。使用场景标签来描述条件,如照明和天气,或事件,如车道变化。
创建一个场景标签以应用于信号帧。
1 在应用程序的左侧窗格中,选择 "场景标签 "选项卡。
2 单击定义新的场景标签,然后在 "标签名称 "框中,输入名为daytime。
3 将标签定义的颜色改为浅蓝色,以体现场景标签的性质。在 "颜色 "参数下,单击 "颜色预览",选择标准的淡蓝色。然后,单击 "确定 "关闭颜色选择窗口。
![02fd17ad3327b81372750415d883018e.png](https://img-blog.csdnimg.cn/img_convert/02fd17ad3327b81372750415d883018e.png)
4 将 "组 "参数设置为默认的 "无",然后单击 "确定"。场景标签窗格显示场景标签定义。
![48f8a37d9f25c0ae8cbd74d096423077.png](https://img-blog.csdnimg.cn/img_convert/48f8a37d9f25c0ae8cbd74d096423077.png)
验证标签定义
验证标签定义是否有这样的设置。
1 ROI 标签标签包含一个车辆组,其汽车标签类型为矩形/立方体。
2 汽车标签包含一个名为刹车灯的子标签。
3 brakeLight子标签包含一个名为isOn的属性。
4 "场景标签 "选项卡包含一个名为daytime的淡蓝色场景标签。
要编辑或删除一个标签定义,右键单击该标签定义并选择相应的编辑或删除选项。要将这些标签定义保存到MAT文件中,以便在未来的标签会话中使用,请在 "场景标签 "选项卡上点击 "编辑"。
应用工具条的标签选项卡,选择 "保存">"标签定义"。
在未来的标签会话中,如果需要对标签定义重新排序或将其移动到不同的组,可以在标签定义窗格中拖放它们。
使用自动化给视频贴标签
使用汽车标签为视频中的部分汽车贴上标签。要协助标签过程,请使用内置的标签自动化算法之一。
1 选择要标记的时间间隔。指定一个8到10秒的时间间隔,在这个时间间隔内,前面的车与本车车辆接近。在视频下方的文本框中,按此次序输入这些时间。
a 在 "当前 "框中,输入8,然后按Enter键。
b在 "开始时间 "框中,键入8,使滑块处于时间间隔的开始。
c 在 "结束时间 "框中,键入 10。
范围滑块和文本框被设置为8-10秒的时间间隔。红色标志表示时间间隔的开始和结束。
![fd55ab316f70ad746859a03223a80407.png](https://img-blog.csdnimg.cn/img_convert/fd55ab316f70ad746859a03223a80407.png)
应用程序仅显示该时间间隔的信号帧,自动化算法仅适用于该时间间隔。若要扩大时间间隔以填满整个播放部分,请单击 "放大时间间隔"。
2 在标签窗口中,单击视频信号以选择它。一次只能自动选择一个信号,因此必须选择要自动选择的信号。
3 选择要自动化的标签。在 "ROI 标签 "选项卡中,单击汽车标签。
4 从应用程序工具条中,选择选择算法 > 时空插值器。该算法通过在图像帧之间插补 ROI 位置来估计矩形 ROI 时间间隔。
5 单击自动。应用程序会提示确认您只想标记视频的一部分。单击 "是"。视频的自动化会话将打开。自动化会话的右侧窗格显示算法说明。
![6f28424c6a19ef5b512f2822ee254e3e.png](https://img-blog.csdnimg.cn/img_convert/6f28424c6a19ef5b512f2822ee254e3e.png)
6 在时间间隔开始时,点击并拖动,在帧中心的汽车周围绘制一个汽车标签。对于这种算法,每帧只能画一个标签。给其他汽车贴标签需要单独的自动化环节。
![e2467250199c111e132239cc9b9affe9.png](https://img-blog.csdnimg.cn/img_convert/e2467250199c111e132239cc9b9affe9.png)
默认情况下,只有当将指针移动到汽车标签上时,汽车标签才会出现。可选地,要始终显示标签,在应用程序工具条上,将 "显示ROI标签 "设置为始终。
7 将滑块拖动到最后一帧,并在这一帧中的同一辆车周围绘制汽车标签。可选地,为了提高自动化效果,在中间帧中标注汽车。
8 单击 "运行"。自动化算法将汽车标签应用到中间帧中。拖动滑块以查看结果。如有必要,可手动调整标签以提高其准确性。
9 当对结果感到满意时,单击 "接受 "关闭会话,并将标签应用到这部分视频中。
使用自动化进行标签点云序列
使用上一步骤中相同的汽车标签定义来标记点云序列中的汽车。为了协助标记过程,请使用为以下内容设计的内置标签自动化算法。
点云标注。在这个例子中,标注的是本车车辆,在激光雷达点云序列中比前车更容易看到。
1 在应用的底部,确认时间范围仍然设置为8到10秒。
2 在标签窗口中,点击点云序列进行选择。
3 在 ROI 标签选项卡中,单击汽车标签定义。
4 在应用程序工具条的标签选项卡上,选择选择算法 > 点云时空插值器。该算法通过在时间间隔内插值ROI位置来估计点云帧之间的立方体ROI。
5 单击自动。应用程序会提示您确认您要只标记部分点云序列。单击 "是"。打开点云序列的自动化会话。自动化会话的右侧窗格显示算法说明。
![b1f29c48aa00fd25f0dda97215a323c8.png](https://img-blog.csdnimg.cn/img_convert/b1f29c48aa00fd25f0dda97215a323c8.png)
6 在时间间隔的开端,在本车车辆四周画一个汽车标签。
a 使用滚动轮或框架右上角的 "放大 "按钮,放大汽车。也可以使用 "平移 "按钮将汽车置于框架的中心。
![1293735f60aa68c888eba48dc9b0d34d.png](https://img-blog.csdnimg.cn/img_convert/1293735f60aa68c888eba48dc9b0d34d.png)
b在左侧窗格的ROI标签上,单击汽车标签。拖动灰色预览立方体,直到它突出显示本车车辆。
![9e46962927953e983974d7e1ef49d239.png](https://img-blog.csdnimg.cn/img_convert/9e46962927953e983974d7e1ef49d239.png)
c 单击信号框以创建标签。标签会卡在点云的高亮部分。
![f01614bec48d3a02e5c512f108c9ff8c.png](https://img-blog.csdnimg.cn/img_convert/f01614bec48d3a02e5c512f108c9ff8c.png)
d 调整立方体标签,直到它完全包围汽车。 要调整立方体的大小,请单击并拖动其中一个立方体面。要移动立方体,请按住Shift键并单击并拖动其中一个三维立方体面。
![2b59235a77cd358a37201864a0c44c13.png](https://img-blog.csdnimg.cn/img_convert/2b59235a77cd358a37201864a0c44c13.png)
有关标记点云的其他提示和技术,请参见 "标记激光雷达点云用于物体探测"。
7 单击立方体,按Ctrl+C复制它。然后,拖动滑块到最后一帧,并将立方体粘贴(Ctrl+V)到同一位置的新帧中。可选地,为了提高自动化效果,可手动调整复制标签的位置。
8单击 "运行"。自动化算法将汽车标签应用到中间帧。拖动滑块查看结果。如有必要,手动调整标签以提高其准确性。
9 当对结果感到满意时,单击 "接受 "关闭会话,并将标签应用到这部分点云序列中。
用子标签和属性手动标记。
手动为视频中的一帧标注刹车灯子标签及其isOn属性。激光雷达点云信号不支持子标签和属性,所以无法对点云序列进行标注。
1 在应用程序的底部,验证时间范围是否仍设置为8至10秒。如果有必要,请将滑块拖动到时间范围的第一帧。
2 在 "ROI标签 "选项卡中,单击 "brakeLight "子标签定义将其选中。
3隐藏点云序列。在应用程序工具条的标签选项卡上,在 "显示/隐藏信号 "下,清除激光雷达点云序列的复选标记。隐藏信号只是隐藏显示。
应用程序会维护隐藏信号的标签,仍然可以导出它们。
4 展开视频信号以填充整个标签窗口。
5 在视频帧中,选择绘制的汽车标签。标签会变成黄色。必须选择汽车标签(父ROI),然后才能为其添加子标签。
6为汽车绘制brakeLight子标签。可以选择将 "显示 ROI 标签 "设置为 "始终",这样就可以确认汽车标签与其子标签之间的关联。
![bef540ecb4e4444d2d7bb3067b964c76.png](https://img-blog.csdnimg.cn/img_convert/bef540ecb4e4444d2d7bb3067b964c76.png)
7 在视频帧上,选择其中一个刹车灯子标签。然后,在右侧窗格中的 "属性和子标签 "窗格中,将isOn属性设置为True。对另一个子标签重复此步骤。
![6b9163f1652d23a7e26dd3662132a703.png](https://img-blog.csdnimg.cn/img_convert/6b9163f1652d23a7e26dd3662132a703.png)
手动标注场景
将白天的场景标签应用到整个场景中。
1 将时间间隔回扩到所有信号的整个持续时间。如果放大了时间间隔,请先单击 "放大时间间隔"。然后,将红色标志拖到范围滑块的开始和结束处。
2 在应用程序的左侧窗格中,选择 "场景标签 "选项卡。
3 选择日间场景标签定义。
4 在标签定义上方,单击 "时间间隔"。然后,单击添加标签。日间场景标签会出现一个复选标记,表明该标签现在适用于时间间隔内的所有帧。
![c6a6d2b71b8e4ef00616ee3623339505.png](https://img-blog.csdnimg.cn/img_convert/c6a6d2b71b8e4ef00616ee3623339505.png)
查看标签摘要
随着所有标签、子标签和属性被应用到信号的至少一帧,现在可以选择查看地面真相标签的可视化摘要。在应用程序工具条上,单击 "查看标签摘要"。
保存应用程序会话
在应用程序工具条上,选择保存并保存应用程序会话的 MAT 文件。保存的会话包括数据源、标签定义和标签的地面真相。它还包括您的会话首选项,例如应用程序的布局。
现在,可以关闭应用程序会话或继续进入 "导出和探索多个信号的地真标签 "步骤,在该步骤中导出标签。
未经允许,禁止转发