В этом примере показано, как визуализировать глубину, и данные о семантической сегментации получили от датчика камеры в Automated Driving Toolbox™ 3D среду симуляции. Эта 3D среда использует Нереальный Engine® от Epic Games®.
Можно использовать визуализацию глубины, чтобы подтвердить алгоритмы оценки глубины для датчиков. Можно использовать визуализацию семантической сегментации, чтобы анализировать систему классификации, используемую в генерации синтетических данных о семантической сегментации из 3D среды.
Прежде, чем начать этот пример, добавьте папку в качестве примера в путь поиска файлов MATLAB®.
addpath(genpath(fullfile(matlabroot,'examples','driving')))
Модель, используемая в этом примере, симулирует управление транспортного средства в городской сцене.
Симуляция 3D Блок Configuration Сцены настраивает симуляцию со сценой Городского квартала США.
Симуляция 3D Транспортное средство с блоком Ground Following задает ведущий маршрут транспортного средства. Положения waypoint, которые составляют этот маршрут, были получены с помощью метода, описанного в Выбрать Waypoints для 3D примера Симуляции.
Блок Simulation 3D Camera, смонтированный к зеркалу заднего обзора транспортного средства, собирает данные от ведущего маршрута. Этот блок выводит камеру, глубину и отображения семантической сегментации при помощи С блоками Видеодисплея.
Загрузите 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
соответствует созданиям и 2
соответствует заборам. Метка 0
относится к объектам неизвестного класса и появляется как черный. Для полного списка метки IDs и их соответствующих описаний объекта, см. описание порта Меток на странице с описанием блока Simulation 3D Camera.
Блок MATLAB function использует
функционируйте, чтобы преобразовать метки в матрицу триплетов RGB для визуализации. Палитра основана на цветах, используемых в наборе данных CamVid, как показано в Семантической Сегментации в качестве примера Используя Глубокое обучение (Computer Vision Toolbox). Цвета сопоставлены с предопределенной меткой IDs, что 3D симуляция блокирует использование. Функция помощника label2rgb
sim3dColormap
задает палитру. Смотрите эти значения палитры.
open sim3dColormap.m
Запустите модель.
sim('DepthSemanticSegmentation.slx');
Когда симуляция начинается, может потребоваться несколько секунд для механизма визуализации, чтобы инициализировать, особенно когда вы запускаете его впервые. AutoVrtlEnv
окно отображает сцену из-за автомобиля, оборудованного датчиком.
Отображение Камеры, Отображение Глубины и блоки Отображения Семантической Сегментации отображают выводы от датчика камеры.
Чтобы изменить область значений визуализации выходных данных о глубине, попытайтесь обновить значения в блоках Насыщения и Усиления.
Чтобы изменить цвета семантической сегментации, попытайтесь изменить значения цвета, заданные в sim3dColormap
функция. В качестве альтернативы в sim3dlabel2rgb
Блок MATLAB function, попытайтесь заменить входную палитру на свою собственную палитру или предопределенную палитру. Смотрите
.colormap
Удалите папку в качестве примера из пути поиска файлов MATLAB.
rmpath(genpath(fullfile(matlabroot,'examples','driving')))
Simulation 3D Camera | Simulation 3D Scene Configuration | Simulation 3D Vehicle with Ground Following