exponenta event banner

squeezesegv2Layers

Создание сети сегментации SqueezeSegV2 для организованного облака точек lidar

Описание

пример

lgraph = squeezesegv2Layers(inputSize,numClasses) возвращает график SqueezeSegV2 слоя lgraph для организованных точечных облаков размера inputSize и количество классов numClasses.

SqueezeSegV2 - сверточная нейронная сеть, которая предсказывает точечные метки для организованного облака точек лидара.

Используйте squeezesegv2Layers создание сетевой архитектуры для SqueezeSegV2. Для выполнения этой функции требуется Toolbox™ глубокого обучения.

пример

lgraph = squeezesegv2Layers(___,Name,Value) указывает параметры, использующие один или несколько аргументов пары имя-значение в дополнение к входным аргументам в предыдущем синтаксисе. Например, 'NumEncoderModules',4 устанавливает количество кодеров, используемых для создания сети, равным четырем.

Примеры

свернуть все

Установите параметры сетевого ввода.

inputSize = [64 512 5];
numClasses = 4;

Создайте график слоев SqueezeSegV2.

lgraph = squeezesegv2Layers(inputSize,numClasses)
lgraph = 
  LayerGraph with properties:

         Layers: [168x1 nnet.cnn.layer.Layer]
    Connections: [186x2 table]
     InputNames: {'input'}
    OutputNames: {'focalloss'}

Отображение сети.

analyzeNetwork(lgraph)

Установите параметры сетевого ввода.

inputSize = [64 512 6];
numClasses = 2;

Создайте пользовательский график слоев SqueezeSegV2.

lgraph = squeezesegv2Layers(inputSize,numClasses, ...
'NumEncoderModules',4,'NumContextAggregationModules',2)
lgraph = 
  LayerGraph with properties:

         Layers: [232x1 nnet.cnn.layer.Layer]
    Connections: [257x2 table]
     InputNames: {'input'}
    OutputNames: {'focalloss'}

Отображение сети.

analyzeNetwork(lgraph)

Входные аргументы

свернуть все

Размер сетевого входа, указанный как один из следующих параметров:

  • Двухэлементный вектор вида [ширина высоты ].

  • Трехэлементный вектор вида [каналы ширины высоты], где каналы определяют количество входных каналов. Установить каналы в 3 для изображений RGB, для 1 для изображений в градациях серого или к числу каналов для мультиспектральных и гиперспектральных изображений.

Число классов семантической сегментации, указанное как целое число больше 1. Это указывает количество классов объектов, которые должны быть сегментированы в данных облака точек.

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'NumEncoderModules',4 устанавливает количество кодеров, используемых для создания сети, равным четырем.

Количество модулей кодировщика, используемых для создания сети, указанных как разделенная запятыми пара, состоящая из 'NumEncoderModules' и неотрицательное целое число. Каждый модуль кодировщика состоит из двух пожарных модулей и одного уровня максимального объединения, соединенных последовательно. При указании 0, то функция возвращает сеть с кодером по умолчанию, который состоит из уровней свертки и максимального объединения без пожарных модулей. Эта пара имя-значение используется для настройки количества пожарных модулей в сети.

Количество модулей агрегации контекста (CAM), указанных как пара, разделенная запятыми, состоящая из 'NumContextAggregationModules' и целое число в диапазоне [0,3]. При указании 0, то функция создает сеть без CAM.

Выходные аргументы

свернуть все

Уровни, представляющие архитектуру сети SqueezeSegV2, возвращаемые как layerGraph(Панель инструментов глубокого обучения).

Подробнее

свернуть все

SqueezeSegV2 Сеть

  • Сеть SqueezeSegV2 состоит из модулей кодера, CAM, промежуточных стационарных пожарных модулей [1] для извлечения признаков и модулей декодера. Функция автоматически конфигурирует количество модулей декодера на основе указанного количества модулей кодера.

  • Функция использует метод инициализации узко-нормального веса для инициализации весов каждого уровня свертки в подсетях кодера и декодера.

  • Функция инициализирует все члены смещения до нуля.

  • Функция добавляет заполнение для всех уровней свертки и максимального объединения так, что выходной сигнал имеет тот же размер, что и входной (если шаг равен 1).

  • Высота входного тензора значительно ниже ширины в организованных данных облака точек лидара. Для решения этой проблемы сеть понижает размер ширины входных данных на уровнях свертки и максимального объединения. Ширина входных данных должна быть кратна 2(D + 2), где D - количество модулей кодера, используемых для создания сети.

  • Эта функция не обеспечивает повторяющийся уровень условного случайного поля (CRF).

Ссылки

[1] У, Бичэнь, Сюанью Чжоу, Сичэн Чжао, Сянъу Юэ и Курт Кэйцзер. «SqueezeSegV2: Улучшенная структура модели и незарегистрированная адаптация домена для сегментации дорожных объектов из облака точек LiDAR». В 2019 году Международная конференция по робототехнике и автоматизации (ICRA), 4376-82. Монреаль, КК, Канада: IEEE, 2019.https://doi.org/10.1109/ICRA.2019.8793495.

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.

Создание кода графического процессора
Создание кода CUDA ® для графических процессоров NVIDIA ® с помощью Coder™ графических процессоров

.

См. также

Функции

Объекты

Представлен в R2020b