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

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

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

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

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

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

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

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

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

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

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

Можно также спроектировать пользовательское основанное на модели на предварительно обученном 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 Learning Toolbox).

  • Чтобы упростить разработку сети, используйте интерактивное приложение Deep Network Designer (Deep Learning Toolbox) и analyzeNetwork (Deep Learning Toolbox) функция.

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

Обучите Детектор объектов и Обнаружьте Объекты с Моделью YOLO v2

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

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

Изучить, как сгенерировать CUDA® код с помощью детектора объектов YOLO v2 (созданное использование yolov2ObjectDetector объект), смотрите Генерацию кода для Обнаружения объектов при помощи YOLO v2.

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

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

Ссылки

[1] Redmon, Джозеф и Али Фархади. “YOLO9000: Лучше, Быстрее, Более сильный”. На 2 017 Конференциях по IEEE по Компьютерному зрению и Распознаванию образов (CVPR), 6517–25. Гонолулу, HI: IEEE, 2017. https://doi.org/10.1109/CVPR.2017.690.

[2] Redmon, Джозеф, Santosh Divvala, Росс Джиршик и Али Фархади. "Вы только смотрите однажды: Объединенное, обнаружение объектов в реальном времени". Продолжения Конференции по IEEE по Компьютерному зрению и Распознаванию образов (CVPR), 779–788. Лас-Вегас, NV: CVPR, 2016.

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

Приложения

Объекты

Функции

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

Больше о