exponenta event banner

Начало работы с YOLO v2

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

Модель YOLO v2 выполняет глубокое обучение CNN на входном изображении для получения сетевых прогнозов. Детектор объекта декодирует предсказания и генерирует ограничивающие рамки.

Прогнозирование объектов на изображении

YOLO v2 использует поля привязки для обнаружения классов объектов в изображении. Дополнительные сведения см. в разделе Ящики привязки для обнаружения объектов. В YOLO v2 для каждого ящика привязки прогнозируются следующие три атрибута:

  • Пересечение через объединение (IoU) - предсказывает показатель объективности каждого якорного ящика.

  • Смещения анкерного ящика - уточнение положения анкерного ящика

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

На рисунке показаны предварительно определенные рамки привязки (пунктирные линии) в каждом расположении на карте элементов и уточненное расположение после применения смещений. Соответствующие поля с классом имеют цвет.

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

С помощью обучения передаче можно использовать предварительно обученный CNN в качестве экстрактора функций в сети обнаружения YOLO v2. Используйте yolov2Layers создание сети обнаружения YOLO v2 из любого предварительно обученного CNN, например MobileNet v2. Список предварительно обученных CNN см. в разделе Предварительно обученные нейронные сети (набор инструментов для глубокого обучения)

Можно также создать пользовательскую модель на основе предварительно подготовленной классификации изображений CNN. Дополнительные сведения см. в разделе Проектирование сети обнаружения YOLO v2.

Проектирование сети обнаружения YOLO v2

Пользовательскую модель YOLO v2 можно проектировать по слоям. Модель начинается с сети экстрактора функций, которая может быть инициализирована из предварительно обученного CNN или обучена с нуля. Подсеть обнаружения содержит ряд Conv, Batch norm, и ReLu слои, за которыми следуют слои преобразования и вывода, yolov2TransformLayer и yolov2OutputLayer соответственно. yolov2TransformLayer преобразует необработанные выходные данные CNN в форму, необходимую для получения обнаруженных объектов. yolov2OutputLayer определяет параметры блока привязки и реализует функцию потерь, используемую для обучения детектора.

Для создания сети вручную можно также использовать приложение Deep Network Designer (Deep Learning Toolbox). Конструктор включает в себя функции Computer Vision Toolbox™ YOLO v2.

Проектирование сети обнаружения YOLO v2 с уровнем Reorg

Уровень реорганизации (созданный с помощью spaceToDepthLayer объект) и слой конкатенации глубины (созданный с помощью depthConcatenationLayer (Deep Learning Toolbox)) используются для объединения низкоуровневых и высокоуровневых функций. Эти слои улучшают обнаружение, добавляя низкоуровневую информацию об изображении и повышая точность обнаружения для небольших объектов. Как правило, уровень реорганизации присоединен к слою в сети извлечения элементов, выходная карта которого больше, чем выходная карта слоя извлечения элементов.

Совет

  • Отрегулируйте 'BlockSize' имущества spaceToDepthLayer объект таким образом, чтобы его выходной размер соответствовал входному размеру depthConcatenationLayer(Панель инструментов глубокого обучения).

  • Для упрощения проектирования сети используйте интерактивное приложение Deep Network Designer (Deep Learning Toolbox) и analyzeNetwork (Deep Learning Toolbox).

Дополнительные сведения о создании такого типа сети см. в разделе Создание сети обнаружения объектов YOLO v2.

Обучение детектора объектов и обнаружение объектов с помощью модели YOLO v2

Чтобы узнать, как обучить детектор объектов с помощью метода глубокого обучения YOLO с CNN, см. пример обнаружения объектов с помощью глубокого обучения YOLO v2.

Создание кода

Как создать код CUDA ® с помощью детектора объектов YOLO v2 (созданного с помощью yolov2ObjectDetector object) см. Создание кода для обнаружения объектов с помощью YOLO v2.

Маркировка данных обучения для глубокого обучения

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

Ссылки

[1] Редмон, Джозеф и Али Фархади. «YOLO9000: лучше, быстрее, сильнее». В 2017 году Конференция IEEE по компьютерному зрению и распознаванию образов (CVPR), 6517-25. Гонолулу, HI: IEEE, 2017. https://doi.org/10.1109/CVPR.2017.690.

[2] Редмон, Джозеф, Сантош Диввала, Росс Гиршик и Али Фархади. «Вы смотрите только один раз: унифицированное обнаружение объектов в реальном времени». Материалы Конференции IEEE по компьютерному зрению и распознаванию образов (CVPR), 779-788. Лас-Вегас, NV: CVPR, 2016.

См. также

Приложения

Объекты

Функции

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

Подробнее