Начало работы с обнаружением объектов с помощью глубокого обучения

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

Приложения для обнаружения объектов включают:

  • Классификация изображений

  • Понимание сцены

  • Беспилотные транспортные средства

  • Наблюдение

Создайте обучающие данные для обнаружения объектов

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

Увеличение и предварительная обработка данных

Использование увеличения данных предоставляет способ использования ограниченных наборов данных для обучения. Незначительные изменения, такие как перевод, обрезка или преобразование изображения, обеспечивают, новые, различные и уникальные изображения, которые можно использовать для обучения устойчивого детектора. Datastores - это удобный способ чтения и увеличения наборов данных. Использование imageDatastore и boxLabelDatastore для создания хранилищ данных для изображений и маркированных данных ограничивающего прямоугольника.

Для получения дополнительной информации об увеличении обучающих данных с помощью хранилищ данных смотрите Datastores for Глубокое Обучение (Deep Learning Toolbox) и Выполните дополнительные операции обработки изображений с помощью встроенных хранилищ данных (Deep Learning Toolbox).

Создайте сеть обнаружения объектов

Каждый детектор объектов содержит уникальную сетевую архитектуру. Например, детектор Faster R-CNN использует двухэтапную сеть для обнаружения, в то время как детектор YOLO v2 использует одну ступень. Используйте такие функции, как fasterRCNNLayers или yolov2Layers для создания сети. Вы также можете проектировать сетевой слой за слоем, используя Deep Network Designer (Deep Learning Toolbox).

Обучите детектор и оцените результаты

Используйте trainFasterRCNNObjectDetector, trainYOLOv2ObjectDetector, trainSSDObjectDetector функции для обучения детектора объектов. Используйте evaluateDetectionMissRate и evaluateDetectionPrecision функции для оценки результатов обучения.

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

Обнаружение объектов в изображении с помощью обученного детектора. Для примера в частичном коде, показанном ниже, используется обученная detector на изображении I. Используйте detect функция объекта на fasterRCNNObjectDetector, yolov2ObjectDetector, yolov3ObjectDetector, или ssdObjectDetector объекты для возврата ограничивающих рамок, счетов обнаружения и категориальных меток, присвоенных ограничивающим рамкам.

I = imread(input_image)
[bboxes,scores,labels] = detect(detector,I)

См. также

Приложения

Похожие темы