В этом примере показано, как визуализировать данные глубины и семантической сегментации, полученные от датчика камеры в среде моделирования. Эта среда визуализируется с помощью Unreal Engine ® от Epic Games ®.
Можно использовать визуализации глубины для проверки алгоритмов оценки глубины для датчиков. Можно использовать визуализацию семантической сегментации для анализа схемы классификации, используемой для генерации синтетических данных семантической сегментации из среды Unreal Engine.
Модель, используемая в этом примере, имитирует движение транспортного средства в городской сцене.
Блок Simulation 3D Scene Configuration настраивает моделирование со сценой US City Block.
Блок имитационного 3D транспортного средства со следом за землей определяет маршрут движения транспортного средства. Позиции ППМ, составляющие этот маршрут, были получены с использованием метода, описанного в примере «Выбор ППМ для моделирования нереального двигателя».
Блок Simulation 3D Camera, установленный на зеркале заднего вида транспортного средства, фиксирует данные от маршрута движения. Этот блок выводит изображения камеры, глубины и семантической сегментации с помощью блоков To Video Display.
Загрузите MAT-файл, содержащий позиции ППМ. Добавьте метки времени к позициям, а затем откройте модель.
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 до 1000 метров. В этой модели для лучшей видимости блок «Насыщенность» насыщает выходную глубину максимум 150 метров. Затем блок усиления масштабирует карту глубины до диапазона [0, 1], так что блок To Video Display может визуализировать карту глубины в градациях серого.
Семантическая сегментация описывает процесс связывания каждого пикселя изображения с меткой класса, такой как дорога, здание или дорожный знак. В среде моделирования 3D создаются синтетические данные семантической сегментации в соответствии со схемой классификации меток. Эти метки можно использовать для обучения нейронной сети автоматическому вождению, например сегментации дорог. Визуализируя семантические данные сегментации, можно проверить схему классификации.
Порт Labels блока Simulation 3D Camera выводит набор меток для каждого пикселя на выходном изображении камеры. Каждая метка соответствует классу объекта. Например, в схеме классификации по умолчанию, используемой блоком, 1 соответствует зданиям. Метка 0 относится к объектам неизвестного класса и отображается как черный. Полный список идентификаторов меток и соответствующих им описаний объектов см. в описании порта Labels на странице Simulation 3D Camera block reference.
Функциональный блок MATLAB использует функция для преобразования меток в матрицу RGB-триплетов для визуализации. Карта цветов основана на цветах, используемых в наборе данных CamVid, как показано в примере Семантическая сегментация с использованием глубокого обучения. Цвета сопоставляются с предварительно определенными идентификаторами меток, используемыми в сценах моделирования 3D по умолчанию. Вспомогательная функция label2rgbsim3dColormap определяет карту цветов. Проверьте эти значения карты цветов.
open sim3dColormap.m

Запустите модель.
sim('DepthSemanticSegmentation.slx');
После начала моделирования инициализация модуля визуализации может занять несколько секунд, особенно при первом запуске. AutoVrtlEnv отображает сцену из-за транспортного средства ego. В этой сцене транспортные средства проезжают несколько кварталов по городу. Поскольку этот пример предназначен главным образом для иллюстративных целей, транспортное средство не всегда следует направлению движения или схеме изменения светофоров.

В блоках «Отображение камеры», «Отображение глубины» и «Отображение семантической сегментации» отображаются выходные сигналы от датчика камеры.



Чтобы изменить диапазон визуализации выходных данных глубины, попробуйте обновить значения в блоках «Насыщенность» и «Коэффициент усиления».
Чтобы изменить цвета семантической сегментации, попробуйте изменить значения цвета, определенные в sim3dColormap функция. В качестве альтернативы, в sim3dlabel2rgb Функциональный блок MATLAB, попробуйте заменить входную карту цветов собственной картой цветов или предопределенной картой цветов. Посмотрите .colormap
Моделирование 3D камеры | Моделирование 3D конфигурация сцены | Имитация 3D транспортного средства со следующим грунтом