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

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

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

Setup модели

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

  • Блок Simulation 3D Scene Configuration настраивает симуляцию со сценой US City Block.

  • Блок Simulation 3D Vehicle with Ground Following задает маршрут движения транспортного средства. Положения путевой точки, которые составляют этот маршрут, были получены с помощью метода, описанного в примере Select Waypoints for Unreal Engine 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')

Визуализация глубины

Карта глубины является полутоновым представлением выхода датчика камеры. Эти карты визуализируют изображения камеры в полутоновом цвете с более яркими пикселями, указывающими на объекты, которые находятся дальше от датчика. Можно использовать карты глубины, чтобы подтвердить алгоритмы оценки глубины для датчиков.

Порт глубины блока Simulation 3D Camera выводит карту глубин значений в области значений от 0 до 1000 метров. В этой модели для лучшей видимости блок Saturation насыщает выход максимум до 150 метров. Затем блок Gain масштабирует карту глубины до области значений [0, 1], чтобы блок To Video Display мог визуализировать карту глубины в полутоновом цвете.

Семантическая сегментация Визуализация

Семантическая сегментация описывает процесс связи каждого пикселя изображения с меткой класса, такой как дорога, создание или дорожный знак. В 3D среде симуляции вы генерируете синтетические семантические данные сегментации согласно схеме классификации меток. Можно использовать эти метки для обучения нейронной сети для беспилотных ведущих приложений, таких как сегментация дорог. Визуализируя данные семантической сегментации, можно проверить схему классификации.

Порт Labels блока Simulation 3D Camera выводит набор меток для каждого пикселя в выходе камеры. Каждая метка соответствует классу объектов. Например, в схеме классификации по умолчанию, используемой блоком, 1 соответствует созданиям. Метка 0 ссылается на объекты неизвестного класса и появляется как черный. Полный список идентификаторов меток и их соответствующих описаний объектов см. в описании порта Labels на странице Simulation 3D Camera block reference.

Блок MATLAB Function использует label2rgb функция для преобразования меток в матрицу триплетов RGB для визуализации. Палитра основана на цветах, используемых в наборе данных CamVid, как показано в примере Семантическая сегментация с использованием глубокого обучения. Цвета сопоставляются с предопределенными идентификаторами меток, используемыми в 3D сценах симуляции по умолчанию. Функция помощника sim3dColormap задает палитру. Проверьте эти значения палитры.

open sim3dColormap.m

Симуляция модели

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

sim('DepthSemanticSegmentation.slx');

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

Блоки Отображение, Depth Display и Семантическая Сегментация Display отображают выходы датчика камеры.

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

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

См. также

| |

Похожие темы