ssdLayers

Сеть обнаружения мультиобъекта поля SSD

Описание

пример

lgraph = ssdLayers(imageSize,numClasses,baseNetwork) создает сеть обнаружения мультиобъекта поля одного детектора выстрела (SSD) на основе baseNetwork, введите размер изображения и количество классов, которые сеть должна быть сконфигурирована, чтобы классифицировать. Сеть возвращена как LayerGraph объект.

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

lgraph = ssdLayers(___,anchorBoxes,predictorLayerNames) возвращает SSD, который содержит пользовательские поля привязки, заданные anchorBoxes это соединяется со слоями сети в местоположениях, заданных predictorLayerNames. Задайте эти аргументы в дополнение к входному параметру от предыдущего синтаксиса.

Примеры

свернуть все

Задайте основную сеть.

baseNetwork = 'vgg16';

Задайте размер изображения.

imageSize = [300 300 3];

Задайте классы, чтобы обнаружить.

numClasses = 2;

Создайте сеть обнаружения объектов SSD.

lgraph = ssdLayers(imageSize,numClasses,baseNetwork);

Визуализируйте сеть с помощью сетевого анализатора.

analyzeNetwork(lgraph)

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

свернуть все

Размер входа отображает в виде одного из этих значений.

  • Двухэлементный вектор формы [H W] для полутонового изображения размера H-by-W

  • Трехэлементный вектор формы [H W 3] для цветного изображения RGB размера H-by-W

Когда вы устанавливаете baseNetwork введите к 'vgg16', 'resnet50', или 'resnet101', imageSize введите должен иметь форму [H W 3].

Количество классов для сети, чтобы классифицировать в виде положительной скалярной величины.

Предварительно обученная сверточная нейронная сеть в виде LayerGraph, DAGNetwork, или SeriesNetwork obect или как одно из этих сетевых имен. Чтобы задать одно из этих имен, необходимо загрузить и установить пакеты сетевой поддержки для соответствующих допустимых сетевых имен.

Предварительно обученная сверточная нейронная сеть используется в качестве основы для сети обнаружения мультиобъекта поля SSD. Для получения дополнительной информации на предварительно обученных сетях в MATLAB®, смотрите Предварительно обученные Глубокие нейронные сети (Deep Learning Toolbox).

Поля привязки в виде 1 M массивом ячеек для количества M слоев предиктора в сети SSD. Каждый слой предиктора содержит K-by-2 матрица, которая задает поля привязки K формы [height width]. Количество привязки окружает каждый элемент, может варьироваться.

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

Имена слоев во входе в виде M - вектор элемента строк или 1 M массивом ячеек из символьных векторов. Подсети обнаружения SSD присоединены к слоям предиктора, заданным этим входом.

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

свернуть все

Сеть обнаружения мультиобъекта поля SSD, возвращенная как LayerGraph объект.

Примечание

Значение по умолчанию для Normalization свойство изображения ввело слой в возвращенном lgraph объект установлен в Normalization свойство основной сети задано в baseNetwork.

Алгоритмы

ssdLayers функция создает сеть SSD и возвращает lgraph, объект, который представляет сетевую архитектуру для детектора объектов SSD.

trainSSDObjectDetector функция обучает и возвращает детектор объектов SSD, ssdObjectDetector. Используйте detect возразите функции для ssdObjectDetector объект обнаружить объекты с помощью детектора, обученного с архитектурой сети SSD.

bbox = detect(detector,I)

ssdLayers функционируйте использует предварительно обученную нейронную сеть в качестве основной сети, в которую она добавляет подсеть обнаружения, требуемую для создания сети обнаружения объектов SSD. Учитывая основную сеть, ssdLayers удаляет все слои, следующие за слоем функции в основной сети, и добавляет подсеть обнаружения. Подсеть обнаружения состоит из групп последовательно связанной свертки, исправил линейный модуль (ReLU) и слои нормализации партии. Слой слияния SSD, слой регрессии поля и фокальный слой классификации потерь добавляются к подсети обнаружения.

Ссылки

[1] Лю, Вэй, Драгомир Ангуелов, Думитру Эрхэн, Кристиан Сзеджеди, Скотт Рид, Чэнян Фу и Александр К. Берг. "SSD: Один Выстрел Детектор MultiBox". В Компьютерном зрении – ECCV 2016, отредактированный Бастианом Лайбе, Иржи Матасом, Nicu Sebe и Максом Веллингом, 9905:21-37. Хан: Springer International Publishing, 2016. https://doi.org/10.1007/978-3-319-46448-0_2.

[2] Хуан, Джонатан, Vivek Rathod, Чен Сун, Мэньглун Чжу, Anoop Korattikara, Алиреза Фэти, Иэн Фишер, и др. "Компромиссы Скорости/Точности для современных Сверточных Детекторов объектов". На 2 017 Конференциях по IEEE по Компьютерному зрению и Распознаванию образов (CVPR), 3296-97. Гонолулу, HI:IEEE, 2017. https//doi.org/10.1109/CVPR.2017.351.

Введенный в R2020a