exponenta event banner

Визуализация глубины и семантической сегментации с использованием моделирования нереального механизма

В этом примере показано, как визуализировать данные глубины и семантической сегментации, полученные от датчика камеры в среде моделирования. Эта среда визуализируется с помощью Unreal Engine ® от Epic Games ®.

Можно использовать визуализации глубины для проверки алгоритмов оценки глубины для датчиков. Можно использовать визуализацию семантической сегментации для анализа схемы классификации, используемой для генерации синтетических данных семантической сегментации из среды Unreal Engine.

Настройка модели

Модель, используемая в этом примере, имитирует движение транспортного средства в городской сцене.

Загрузите 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 использует label2rgb функция для преобразования меток в матрицу RGB-триплетов для визуализации. Карта цветов основана на цветах, используемых в наборе данных CamVid, как показано в примере Семантическая сегментация с использованием глубокого обучения. Цвета сопоставляются с предварительно определенными идентификаторами меток, используемыми в сценах моделирования 3D по умолчанию. Вспомогательная функция sim3dColormap определяет карту цветов. Проверьте эти значения карты цветов.

open sim3dColormap.m

Моделирование модели

Запустите модель.

sim('DepthSemanticSegmentation.slx');

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

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

Чтобы изменить диапазон визуализации выходных данных глубины, попробуйте обновить значения в блоках «Насыщенность» и «Коэффициент усиления».

Чтобы изменить цвета семантической сегментации, попробуйте изменить значения цвета, определенные в sim3dColormap функция. В качестве альтернативы, в sim3dlabel2rgb Функциональный блок MATLAB, попробуйте заменить входную карту цветов собственной картой цветов или предопределенной картой цветов. Посмотрите colormap.

См. также

| |

Связанные темы