Вы только смотрите однажды (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 слоем. Модель запускается с сети экстрактора функции, которая может быть инициализирована от предварительно обученного 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 Learning Toolbox).
Чтобы упростить разработку сети, используйте интерактивное приложение Deep Network Designer (Deep Learning Toolbox) и analyzeNetwork
(Deep Learning Toolbox) функция.
Для получения дополнительной информации о том, как создать этот вид сети, смотрите, Создают Сеть обнаружения объектов YOLO v2.
Чтобы изучить, как обучить детектор объектов при помощи метода глубокого обучения YOLO с CNN, смотрите, что Обнаружение объектов Использует пример YOLO v2 Глубокого обучения.
Изучить, как сгенерировать CUDA® код с помощью детектора объектов YOLO v2 (созданное использование yolov2ObjectDetector
объект), смотрите Генерацию кода для Обнаружения объектов при помощи YOLO v2.
Можно использовать 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.
yolov2TransformLayer
| yolov2OutputLayer
| spaceToDepthLayer
| yolov2ObjectDetector
| depthConcatenationLayer
(Deep Learning Toolbox)trainYOLOv2ObjectDetector
| analyzeNetwork
(Deep Learning Toolbox)