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

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

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

  • Отобразите классификацию

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

  • Самоходные транспортные средства

  • Наблюдение

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

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

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

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

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

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

Каждый детектор объектов содержит уникальную сетевую архитектуру. Например, детектор Faster R-CNN использует сеть 2D этапа для обнаружения, тогда как детектор 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)

Обнаружьте объекты Используя предварительно обученные модели обнаружения объектов

MathWorks® Репозиторий GitHub обеспечивает реализации последних предварительно обученных нейронных сетей для глубокого обучения обнаружения объектов, чтобы загрузить и использовать для выполнения вывода поля. Предварительно обученные сети обнаружения объектов уже обучены на стандартных наборах данных, таких как COCO и Паскаль наборы данных VOC. Можно использовать эти предварительно обученные модели непосредственно, чтобы обнаружить различные объекты в тестовом изображении.

Например:

Поскольку список всего последнего MathWorks предварительно обучил модели и примеры, смотрите Глубокое обучение MATLAB (GitHub).

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

Приложения

Похожие темы