В этом примере показано, как визуализировать глубину и данные о семантической сегментации, собранные от датчика камеры в среде симуляции. Эта среда представляется с помощью Нереального Engine® от Epic Games®.
Можно использовать визуализацию глубины, чтобы подтвердить алгоритмы оценки глубины для датчиков. Можно использовать визуализацию семантической сегментации, чтобы анализировать систему классификации, используемую для генерации синтетических данных о семантической сегментации из Нереальной среды Engine.
Модель, используемая в этом примере, симулирует управление транспортного средства в городской сцене.
Симуляция 3D Блок Configuration Сцены настраивает симуляцию со сценой Городского квартала США.
Симуляция 3D Транспортное средство с блоком Ground Following задает ведущий маршрут транспортного средства. Положения waypoint, которые составляют этот маршрут, были получены с помощью метода, описанного в Выбрать примере Waypoints for Unreal Engine Simulation.
Блок Simulation 3D Camera, смонтированный к зеркалу заднего обзора транспортного средства, собирает данные от ведущего маршрута. Этот блок выводит камеру, глубину и отображения семантической сегментации при помощи На Видеодисплей (Computer Vision Toolbox) блоки.
Загрузите MAT-файл, содержащий положения waypoint. Добавьте метки времени в положения и затем откройте модель.
load smoothedPoses.mat; refPosesX = [linspace(0,20,1000)', smoothedPoses(:,1)]; refPosesY = [linspace(0,20,1000)', smoothedPoses(:,2)]; refPosesYaw = [linspace(0,20,1000)', smoothedPoses(:,3)]; open_system('DepthSemanticSegmentation.slx')
Карта глубины является полутоновым представлением датчика камеры выход. Эти карты визуализируют изображения камеры в шкале полутонов с более яркими пикселями, указывающими на объекты, которые более далеки от датчика. Можно использовать карты глубины, чтобы подтвердить алгоритмы оценки глубины для датчиков.
Порт Depth блока Simulation 3D Camera выводит карту глубины значений в области значений от 0 до 1 000 метров. В этой модели, для лучшей видимости, блок Saturation насыщает глубину выход максимум к 150 метров. Затем блок Gain масштабирует карту глубины к области значений [0, 1] так, чтобы блок To Video Display мог визуализировать карту глубины в шкале полутонов.
Семантическая сегментация описывает процесс соединения каждого пикселя изображения с меткой класса, такой как дорога, создание или дорожный знак. В 3D среде симуляции вы генерируете синтетические данные о семантической сегментации согласно системе классификации метки. Вы можете их использовать эти метки, чтобы обучить нейронную сеть для автоматизированных ведущих приложений, таких как сегментация дорог. Путем визуализации данных о семантической сегментации можно проверить систему классификации.
Порт Labels блока Simulation 3D Camera выводит набор меток для каждого пикселя в выходном изображении камеры. Каждая метка соответствует классу объекта. Например, в системе классификации по умолчанию, используемой блоком, 1
соответствует созданиям. Метка 0
относится к объектам неизвестного класса и появляется как черный. Для полного списка метки IDs и их соответствующих описаний объекта, см. описание порта Меток на странице с описанием блока Simulation 3D Camera.
Блок MATLAB function использует
функционируйте, чтобы преобразовать метки в матрицу триплетов RGB для визуализации. Палитра основана на цветах, используемых в наборе данных CamVid, как показано в Семантической Сегментации в качестве примера Используя Глубокое обучение (Computer Vision Toolbox). Цвета сопоставлены с предопределенной меткой IDs, используемой в 3D сценах симуляции по умолчанию. Функция помощника label2rgb
(Image Processing Toolbox)sim3dColormap
задает палитру. Смотрите эти значения палитры.
open sim3dColormap.m
Запустите модель.
sim('DepthSemanticSegmentation.slx');
Когда симуляция начинается, может потребоваться несколько секунд для механизма визуализации, чтобы инициализировать, особенно когда вы запускаете его впервые. AutoVrtlEnv
окно отображает сцену из-за автомобиля, оборудованного датчиком. В этой сцене транспортные средства управляют несколькими блоками вокруг города. Поскольку этот пример в основном в иллюстративных целях, транспортное средство не всегда следует за направлением трафика или шаблоном изменяющегося светофора.
Отображение Камеры, Отображение Глубины и блоки Отображения Семантической Сегментации отображают выводы от датчика камеры.
Чтобы изменить область значений визуализации выходных данных о глубине, попытайтесь обновить значения в блоках Насыщения и Усиления.
Чтобы изменить цвета семантической сегментации, попытайтесь изменить значения цвета, заданные в sim3dColormap
функция. В качестве альтернативы в sim3dlabel2rgb
Блок MATLAB function, попытайтесь заменить входную палитру на свою собственную палитру или предопределенную палитру. Смотрите
.colormap
Simulation 3D Camera | Simulation 3D Scene Configuration | Simulation 3D Vehicle with Ground Following