Начало работы с обнаружением мультиполя SSD

Один детектор мультиполя выстрела (SSD) использует одноступенчатую сеть обнаружения объектов, которая объединяет обнаружения, предсказанные от многошкальных функций. SSD быстрее, чем детекторы 2D этапа, таков как детектор Faster R-CNN и может локализовать объекты более точно по сравнению с анализаторами одно шкалы, такими как детектор YOLO v2.

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

Предскажите объекты в изображении

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

  • Смещения поля привязки — Совершенствовали положение поля привязки.

  • Вероятность класса — Предсказывает метку класса, присвоенную каждому полю привязки.

Этот рисунок показывает предопределенные поля привязки (пунктирные линии) в каждом местоположении в карте функции и усовершенствованном местоположении после того, как смещения будут применены. Совпадающие поля с классом находятся в синем и оранжевом цвете.

Передача обучения

С передачей обучения можно использовать предварительно обученный CNN в качестве экстрактора функции в сети обнаружения SSD. Используйте ssdLayers функция, чтобы создать сеть обнаружения SSD из любого предварительно обученного CNN, такого как MobileNet v2. Для списка предварительно обученного CNNs смотрите Предварительно обученные Глубокие нейронные сети (Deep Learning Toolbox).

Можно также спроектировать пользовательское основанное на модели на предварительно обученном CNN классификации изображений. Для получения дополнительной информации см. Проект Сеть Обнаружения SSD.

Спроектируйте сеть обнаружения SSD

Можно спроектировать пользовательскую модель SSD программно или использовать приложение Deep Network Designer (Deep Learning Toolbox), чтобы вручную создать сеть. Приложение включает функции SSD Computer Vision Toolbox™.

Чтобы спроектировать сеть обнаружения Мультиполя SSD, выполните эти шаги.

  1. Начните модель с сети экстрактора функции, которая может быть инициализирована от предварительно обученного CNN или обучена с нуля.

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

  3. Задайте поля привязки к слою предсказания путем присоединения anchorBoxLayer к каждому из слоев.

  4. Соедините выходные параметры anchorBoxLayer объекты к классификации переходят и к ветви регрессии. Ветвь классификации имеет по крайней мере один слой свертки, который предсказывает класс для каждого мозаичного поля привязки. Ветвь регрессии имеет по крайней мере один слой свертки, который предсказывает смещения поля привязки. Можно добавить больше слоев в классификации и ветвях регрессии, однако, итоговый слой свертки (перед слоем слияния) должен иметь количество фильтров согласно этой таблице.

    ВетвьКоличество фильтров
    КлассификацияКоличество полей привязки + 1 (для фонового класса)
    РегрессияЧетыре раза количество полей привязки

  5. Для всех слоев предсказания объедините выходные параметры ветвей классификации при помощи ssdMergeLayer объект. Соедините ssdMergeLayer возразите против softmaxLayer Объект (Deep Learning Toolbox), сопровождаемый focalLossLayer объект. Соберите все выходные параметры ветвей регрессии при помощи ssdMergeLayer возразите снова. Соедините ssdMergeLayer выведите к rcnnBoxRegressionLayer объект.

Для получения дополнительной информации о создании этого типа сети смотрите, Создают Сеть Обнаружения объектов SSD

Обучите детектор объектов и обнаружьте объекты с моделью SSD

Чтобы изучить, как обучить детектор объектов при помощи метода глубокого обучения SSD, смотрите, что Обнаружение объектов Использует пример Глубокого обучения SSD.

Генерация кода

Изучить, как сгенерировать код CUDA® с помощью детектора объектов SSD (созданное использование ssdObjectDetector объект), смотрите Генерацию кода для Обнаружения объектов при помощи Одного Детектора Мультиполя Выстрела.

Маркируйте Training Data for Deep Learning

Можно использовать Image Labeler, Video Labeler или приложения Ground Truth Labeler (Automated Driving Toolbox), чтобы интерактивно помечать пиксели и экспортировать данные о метке для обучения. Приложения могут также использоваться, чтобы пометить прямоугольные видимые области (ROIs) для обнаружения объектов, метки сцены для классификации изображений и пиксели для семантической сегментации. Создать обучающие данные из любой из этикетировочных машин экспортировало объект основной истины, можно использовать objectDetectorTrainingData или pixelLabelTrainingData функции. Для получения дополнительной информации смотрите Обучающие данные для Обнаружения объектов и Семантической Сегментации.

Ссылки

[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.

Смотрите также

Приложения

Объекты

Функции

Связанные примеры

Больше о

Для просмотра документации необходимо авторизоваться на сайте