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

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

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

Setup модели

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

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

  • Блок Simulation 3D BAV Vehicle задает маршрут движения транспортного средства.

  • Блок Simulation 3D Camera, установленный на квадроторе, захватывает данные о рейсе. Этот блок выводит камеру, глубину и отображения семантической сегментации с помощью блоков To Video Display (Computer Vision Toolbox) (Computer Vision Toolbox).

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

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

Порт глубины блока 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 (Image Processing Toolbox) для преобразования меток в матрицу триплетов RGB для визуализации. Палитра основана на цветах, используемых в наборе данных CamVid, как показано в примере Семантическая Сегментация Using Deep Learning (Computer Vision Toolbox). Цвета сопоставляются с предопределенными идентификаторами меток, используемыми в сценах симуляции Unreal Engine по умолчанию. Функция помощника sim3dColormap задает палитру. Проверьте эти значения палитры.

open sim3dColormap.m

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

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

sim('uav_ue4_depth_imaging.slx');

Когда симуляция начинается, для инициализации механизма визуализации может потребоваться несколько секунд, особенно когда вы запускаете его впервые. The MathWorks_Aerospace отображение сцены из источника сцены. В этой сцене квадроторный БПЛА пролетает на небольшое расстояние вниз по одному городскому блоку.

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

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

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

См. также

| |