主要内容

利用虚幻发动机仿真的深度和语义分割可视化

此示例显示如何在仿真环境中可视化从摄像机传感器捕获的深度和语义分段数据。此环境使用EpicGames®的UnrealEngine®呈现。

您可以使用深度可视化来为传感器验证深度估计算法。您可以使用语义分段可视化来分析用于从虚幻引擎环境生成合成语义分段数据的分类方案。

模型设置

该示例中使用的模型模拟了在城市场景中驾驶的车辆。

深度可视化

深度图是相机传感器输出的灰度表示。这些映射在灰度下可视化相机图像,具有更明亮的像素,指示离传感器越远离传感器的物体。您可以使用深度映射来为传感器验证深度估计算法。

深度仿真3D摄像机块的端口输出0到1000米范围内的值的深度图。在该模型中,为了更好的可视性,饱和度块使深度输出达到最多150米。然后,增益块将深度映射缩放到范围[0,1],以便到视频显示块可以在灰度中可视化深度图。

语义分割可视化

语义细分描述将图像的每个像素与类标签相关联的过程,例如建造, 要么交通标志。在3D仿真环境中,根据标签分类方案生成合成语义分段数据。然后,您可以使用这些标签培训用于UAV飞行应用的神经网络,例如着陆区识别。通过可视化语义分段数据,您可以验证您的分类方案。

标签模拟3D摄像机块的端口为输出摄像机图像中的每个像素输出一组标签。每个标签对应于对象类。例如,在块使用的默认分类方案中,1对应于建筑物。一个标签0.是指未知类的对象,并显示为黑色。有关标签ID的完整列表及其相应的对象描述,请参阅标签端口描述仿真3D相机块参考页面。

MATLAB®功能块使用label2RGB.(图像处理工具箱)将标签转换为RGB三元组矩阵以进行可视化的功能。ColorMAP基于Camvid数据集中使用的颜色,如图所示利用深度学习的语义分割(电脑视觉工具箱)例子。颜色映射到默认虚幻引擎仿真场景中使用的预定义标签ID。辅助功能sim3dcolormap.定义ColorMap。检查这些Colormap值。

打开sim3dcolormap.m.

模型仿真

运行模型。

SIM('uav_ue4_depth_imaging.slx');

仿真开始时,可​​视化引擎可能需要几秒钟才能初始化,尤其是当您第一次运行时。这mathworks_aerospace.窗口从场景起源显示场景。在这个场景中,四轮车UAV飞过一个城市街区的短距离。

相机显示,深度显示和语义分割显示块从相机传感器显示输出。

要更改输出深度数据的可视化范围,请尝试更新饱和度和增益块中的值。

要更改语义分段颜色,请尝试修改在中定义的颜色值sim3dcolormap.功能。或者,在UAV中label2RGB.MATLAB功能块,尝试用自己的Colormap或预定义的Colormap替换输入ColorMap。看COLOROMAP.

也可以看看

||