Детектор объектов 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 можно проектировать по слоям. Модель начинается с сети экстрактора функций, которая может быть инициализирована из предварительно обученного CNN или обучена с нуля. Подсеть обнаружения содержит ряд Conv, Batch norm, и ReLu слои, за которыми следуют слои преобразования и вывода, yolov2TransformLayer и yolov2OutputLayer соответственно. yolov2TransformLayer преобразует необработанные выходные данные CNN в форму, необходимую для получения обнаруженных объектов. yolov2OutputLayer определяет параметры блока привязки и реализует функцию потерь, используемую для обучения детектора.

Для создания сети вручную можно также использовать приложение Deep Network Designer (Deep Learning Toolbox). Конструктор включает в себя функции Computer Vision Toolbox™ YOLO v2.
Уровень реорганизации (созданный с помощью spaceToDepthLayer объект) и слой конкатенации глубины (созданный с помощью depthConcatenationLayer (Deep Learning Toolbox)) используются для объединения низкоуровневых и высокоуровневых функций. Эти слои улучшают обнаружение, добавляя низкоуровневую информацию об изображении и повышая точность обнаружения для небольших объектов. Как правило, уровень реорганизации присоединен к слою в сети извлечения элементов, выходная карта которого больше, чем выходная карта слоя извлечения элементов.
Совет
Отрегулируйте 'BlockSize' имущества spaceToDepthLayer объект таким образом, чтобы его выходной размер соответствовал входному размеру depthConcatenationLayer(Панель инструментов глубокого обучения).
Для упрощения проектирования сети используйте интерактивное приложение Deep Network Designer (Deep Learning Toolbox) и analyzeNetwork (Deep Learning Toolbox).

Дополнительные сведения о создании такого типа сети см. в разделе Создание сети обнаружения объектов 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.
spaceToDepthLayer | yolov2ObjectDetector | yolov2OutputLayer | yolov2TransformLayer | depthConcatenationLayer (инструментарий для глубокого обучения)trainYOLOv2ObjectDetector | analyzeNetwork (инструментарий для глубокого обучения)