fcnLayers

Создайте полностью сверточные слои сети для семантической сегментации

Описание

пример

lgraph = fcnLayers(imageSize,numClasses) возвращает полностью сверточную сеть (FCN), сконфигурированную как FCN 8s, для семантической сегментации. FCN предварительно инициализируется с использованием слоев и весов от VGG-16 сети.

fcnLayers включает в себя pixelClassificationLayer чтобы предсказать категориальную метку для каждого пикселя в вход изображении. Слой классификации пикселей поддерживает только изображения RGB.

Эта функция требует пакета Deep Learning Toolbox™ Model for VGG-16 Network поддержки. Если этот пакет поддержки не установлен, vgg16 Функция (Deep Learning Toolbox) предоставляет ссылку для загрузки.

lgraph = fcnLayers(imageSize,numClasses,'Type',type) возвращает FCN, сконфигурированный как тип, заданный type.

Примеры

свернуть все

Определите размер изображения и количество классов, а затем создайте сеть.

imageSize = [480 640];
numClasses = 5;
lgraph = fcnLayers(imageSize,numClasses)

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

plot(lgraph)

Создайте FCN 16.

imageSize = [480 640];
numClasses = 5;
lgraph = fcnLayers(imageSize,numClasses,'Type','16s')

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

plot(lgraph)

Входные параметры

свернуть все

Размер входного изображения сети, заданный как вектор с 2 элементами в формате [height, width]. Минимальный размер изображения [224 224], потому что FCN основан на VGG-16 сети.

Количество классов в семантической сегментации, заданное как целое число, больше 1.

Тип модели FCN, заданный как один из следующих:

Модель FCNОписание
'32s'

Корректирует конечную карту функций в 32 раза. Эта опция обеспечивает грубую сегментацию с более низкими вычислительными затратами.

'16s'

Корректирует окончательную карту функций в 16 раз после слияния карты функций с четвертого слоя объединения. Эта дополнительная информация из более ранних слоев обеспечивает сегментацию среднего зерна за счет дополнительных расчетов.

'8s'

Корректирует окончательную карту функций в 8 раз после слияния карт функций из третьего и четвертого максимальных слоев объединения. Эта дополнительная информация из более ранних слоев обеспечивает сегментацию мелкого зерна за счет дополнительных расчетов.

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

свернуть все

Слои, которые представляют сетевую архитектуру FCN, возвращаются как layerGraph (Deep Learning Toolbox) объект.

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

Совет

  • Сети, созданные fcnLayers поддержка генерации кода GPU для глубокого обучения после их обучения с trainNetwork (Deep Learning Toolbox). Для получения дополнительной информации и примеров смотрите Глубокое обучение Генерации кода (Deep Learning Toolbox).

Ссылки

[1] Лонг, Дж., Э. Шелхамер и Т. Даррелл. «Полностью сверточные сети для семантической сегментации». Материалы Конференции IEEE по компьютерному зрению и распознаванию шаблонов, 2015, стр. 3431-3440.

Введенный в R2017b