Выбор детектора объектов

Computer Vision Toolbox™ предоставляет детекторы объектов для поиска и классификации объектов в изображении или видео. Обучите детектор с помощью функции детектора объектов, затем используйте его с машинным обучением и глубоким обучением, чтобы быстро и точно предсказать местоположение объекта в изображении.

При выборе детектора учитывайте, нужны ли вам следующие функции::

Приложения и эффективность

  • Single vs Multiple classes - несколько классов требуют изменения различных классификаторов, используемых в нескольких местоположениях и шкалах на изображении или видео.

  • Эффективность во время выполнения - детекторы варьируются по эффективности в зависимости от времени, необходимого для обнаружения объектов в изображении. Детектор, обученный для одного класса, или детектор, обученный обнаруживать объекты, которые аналогичны по положению и форме, будет иметь более высокую эффективность во время выполнения, чем детектор глубокого обучения, обученный на нескольких объектах. Что более важно, глубокое обучение медленнее, потому что оно требует большего количества расчетов, чем машинное обучение или основанные на функциях подходы к обнаружению.

  • Машинное обучение - Машинное обучение использует два типа методов: управляемое обучение, которое обучает модель на известных входных и выходных данных, чтобы она могла предсказывать будущие выходы, и неконтролируемое обучение, которое находит скрытые шаблоны или внутренние структуры во входных данных. Для получения дополнительной информации смотрите Машинное Обучение в MATLAB (Statistics and Machine Learning Toolbox)

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

Развертывание

  • Генерация кода C/C + + - SSD, YOLO, ACF и системные объектные детекторы поддерживают MATLAB® Coder™ генерацию C и Код С++ для различных аппаратных платформ, от настольных систем до встроенного оборудования. Для получения дополнительной информации см. MATLAB Coder. Детекторы на основе R-CNN не поддерживают генерацию кода.

  • Генерация кода GPU - детекторы на основе глубокого обучения поддерживают генерацию кода GPU с оптимизированным CUDA® графическим GPU Coder™ для компьютерного зрения и автономных систем. Для получения дополнительной информации смотрите GPU Coder.

Используйте таблицу, чтобы просмотреть и сравнить функции детектора объектов.

Датчик Поддержка нескольких классов Поддержка глубокого обучения Поддержка генерации кода Поддержка графического процессораПримерОписание
fasterRCNNObjectDetectorДаДаНетДаОбнаружение объектов с использованием Faster R-CNN глубокого обучения

  • Для оптимальной эффективность требуется графический процессор.

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

  • Лучшая эффективность семейства R-CNN, но медленнее, чем YOLO v2 и SSD.

Faster R-CNN - двухэтапная сеть. Второй этап уточняет предложения по обнаружению, подготовленные первым этапом, что помогает улучшить локализацию за счет эффективности во время выполнения.

Сравнение детекторов объектов R-CNN

fastRCNNObjectDetectorДаДаНетДаОбучите Fast R-CNN Stop Sign Detector

  • Рассмотрите начало с fasterRCNNObjectDetector.

  • Для оптимальной эффективность требуется графический процессор.

  • Используйте этот детектор, если у вас есть собственный метод для создания областей объектов.

  • Быстрее, чем R-CNN, но медленнее, чем Faster R-CNN.

Сравнение детекторов объектов R-CNN

rcnnObjectDetectorДаДаНетДаОбучите детектор объектов с помощью глубокого обучения R-CNN

  • Рассмотрите начало с fasterRCNNObjectDetector.

  • Для оптимальной эффективность требуется графический процессор.

  • Самый медленный из детекторов на базе R-CNN.

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

Сравнение детекторов объектов R-CNN

yolov2ObjectDetectorДаДаДаДаОбнаружение объектов с использованием глубокого обучения YOLO v2

  • Рассмотрите использование SSD или YOLO v3 для повышения эффективности при различных размерах.

  • Для оптимальной эффективность требуется графический процессор.

  • Используйте этот детектор, когда требуется лучшая эффективность во время выполнения, и у вас есть объекты, которые не изменяются в размере или являются маленькими в изображении.

  • Лучшая эффективность во время выполнения по сравнению с Faster R-CNN.

YOLO v2 использует одноэтапную сеть для выполнения обнаружения объектов.

ssdObjectDetectorДаДаДаДаОбнаружение объектов с использованием твердотельного накопителя Глубокое обучение

  • Для оптимальной эффективность требуется графический процессор.

  • Используйте этот детектор, когда необходимо обнаружить объекты различных размеров и желательна лучшая эффективность во время выполнения.

  • Лучшая эффективность во время выполнения, чем Faster R-CNN и YOLO v2.

Single shot detector (SSD) использует сеть одноэтапного обнаружения для обнаружения объектов с использованием многомасштабных функций.

acfObjectDetectorНетНетДаНетОбучите датчик стоп-знака на основе ACF

  • Твердый детектор объектов, который подходит для обнаружения объектов одного класса.

  • Рассмотрите использование детектора объектов глубокого обучения, если вам нужно обнаружить несколько классов объектов или есть объекты, которые относятся к одному классу, но находятся в различных строениях или положениях.

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

  • Лучшая эффективность во время выполнения, чем детекторы на базе глубокого обучения на центральном процессоре.

ACF хорошо работает для одного класса, который можно легко классифицировать независимо от положения. Например, хорошо бы обнаружить человека, который может быть распознан в нескольких положениях, таких как сидя, стоя или езда на лошади.

ACF не будет хорошо работать для обнаружения транспортных средств с различных точек зрения, таких как спереди, сбоку и сзади.

peopleDetectorACFПредварительно обученныйНетДаНетОтслеживание пешеходов из движущегося автомобиля

Используйте этот предварительно обученный детектор, чтобы обнаружить вертикально расположенных людей.

vision.PeopleDetectorПредварительно обученныйНетДаНетОценка глубины из стерео видеоИспользуйте этот предварительно обученный каскадный детектор объектов, чтобы обнаружить вертикально расположенных людей.
vision.CascadeObjectDetectorНетНетДаНетОбнаружение граней в изображении с помощью модели классификации фронтальных граней

  • Детектор объектов Виола-Джонс, подходящий для твердого обнаружения объектов. Использует функции HAAR, HOG или LBP.

  • Если настройка нового детектора, рассмотрите начало с ACF для повышения эффективности.

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

Маска R-CNNДаДаНетДаНачало работы с Mask R-CNN для сегментации образца

Используйте этот детектор, когда необходимо сегментировать отдельные объекты.

YOLO v3ДаДаДаДаОбнаружение объектов с использованием глубокого обучения YOLO v3

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

vehicleDetectorACF (Automated Driving Toolbox)Предварительно обученныйНетДаНетОтслеживайте несколько транспортных средств с помощью камеры (Automated Driving Toolbox)Предварительно обученный детектор ACF
vehicleDetectorFasterRCNN (Automated Driving Toolbox)Предварительно обученныйДаНетДаОбучите детектор глубокого обучения (Automated Driving Toolbox)Предварительно обученный детектор Faster R-CNN
vehicleDetectorYOLOv2 (Automated Driving Toolbox)Предварительно обученныйДаДаДаОбнаружение транспортных средств с помощью монокулярной камеры и YOLO v2 (Automated Driving Toolbox)Предварительно обученный детектор YOLO v2

См. также

Приложения

Объекты

Функции

Похожие темы