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 глубокого обучения |
Faster R-CNN - двухэтапная сеть. Второй этап уточняет предложения по обнаружению, подготовленные первым этапом, что помогает улучшить локализацию за счет эффективности во время выполнения. |
fastRCNNObjectDetector | Да | Да | Нет | Да | Обучите Fast R-CNN Stop Sign Detector |
|
rcnnObjectDetector | Да | Да | Нет | Да | Обучите детектор объектов с помощью глубокого обучения R-CNN |
Этот алгоритм объединяет предложения прямоугольных областей с сверточной нейронной сетью функциями. Это двухэтапный алгоритм обнаружения. Первый этап идентифицирует подмножество областей в изображении, которое может содержать объект. Второй этап классифицирует объект в каждой области. |
yolov2ObjectDetector | Да | Да | Да | Да | Обнаружение объектов с использованием глубокого обучения YOLO v2 |
YOLO v2 использует одноэтапную сеть для выполнения обнаружения объектов. |
ssdObjectDetector | Да | Да | Да | Да | Обнаружение объектов с использованием твердотельного накопителя Глубокое обучение |
Single shot detector (SSD) использует сеть одноэтапного обнаружения для обнаружения объектов с использованием многомасштабных функций. |
acfObjectDetector | Нет | Нет | Да | Нет | Обучите датчик стоп-знака на основе ACF |
ACF хорошо работает для одного класса, который можно легко классифицировать независимо от положения. Например, хорошо бы обнаружить человека, который может быть распознан в нескольких положениях, таких как сидя, стоя или езда на лошади. ACF не будет хорошо работать для обнаружения транспортных средств с различных точек зрения, таких как спереди, сбоку и сзади. |
peopleDetectorACF | Предварительно обученный | Нет | Да | Нет | Отслеживание пешеходов из движущегося автомобиля | Используйте этот предварительно обученный детектор, чтобы обнаружить вертикально расположенных людей. |
vision.PeopleDetector | Предварительно обученный | Нет | Да | Нет | Оценка глубины из стерео видео | Используйте этот предварительно обученный каскадный детектор объектов, чтобы обнаружить вертикально расположенных людей. |
vision.CascadeObjectDetector | Нет | Нет | Да | Нет | Обнаружение граней в изображении с помощью модели классификации фронтальных граней |
|
Маска 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 |
acfObjectDetector
| fasterRCNNObjectDetector
| fastRCNNObjectDetector
| rcnnObjectDetector
| ssdObjectDetector
| vision.CascadeObjectDetector
| yolov2ObjectDetector
| acfObjectDetectorMonoCamera
(Automated Driving Toolbox) | vehicleDetectorACF
(Automated Driving Toolbox) | vehicleDetectorFasterRCNN
(Automated Driving Toolbox) | vehicleDetectorYOLOv2
(Automated Driving Toolbox)trainACFObjectDetector
| trainCascadeObjectDetector
| trainFasterRCNNObjectDetector
| trainFastRCNNObjectDetector
| trainRCNNObjectDetector
| trainSSDObjectDetector
| trainYOLOv2ObjectDetector