Computer Vision Toolbox™ предоставляет детекторы объектов для поиска и классификации объектов в изображении или видео. Обучите детектор, используя функцию детектора объекта, затем используйте его с машинным обучением и глубоким обучением, чтобы быстро и точно предсказать местоположение объекта на изображении.
Выбирая детектор, подумайте, нужны ли вам следующие функции:
Приложения и производительность
Single vs Multiple classes - для нескольких классов требуются различные классификаторы, используемые в нескольких местоположениях и масштабах изображения или видео.
Производительность во время выполнения - детекторы различаются по производительности в зависимости от времени обнаружения объектов в изображении. Детектор, обученный для одного класса, или детектор, обученный обнаруживать объекты, похожие по позе и форме, будет иметь более высокую производительность во время выполнения, чем детектор глубокого обучения, обученный на нескольких объектах. Более важно то, что глубокое обучение происходит медленнее, поскольку требует большего количества вычислений, чем машинное обучение или подходы к обнаружению на основе особенностей.
Машинное обучение - машинное обучение использует два типа методов: контролируемое обучение, которое обучает модель известным входным и выходным данным, чтобы она могла прогнозировать будущие выходы, и неконтролируемое обучение, которое находит скрытые шаблоны или внутренние структуры во входных данных. Дополнительные сведения см. в разделе Машинное обучение в MATLAB (Statistics and Machine Learning Toolbox)
Глубокое обучение - реализует глубокие нейронные сети с алгоритмами, предварительно обученными моделями и аппликациями. Вы можете использовать сверточные нейронные сети для выполнения классификации и регрессии на изображениях. Дополнительные сведения см. в разделе Начало работы с обнаружением объектов с помощью глубокого обучения.
Развертывание
Генерация кода C/C + + - SSD, YOLO, ACF и системные объектные детекторы поддерживают генерацию кода MATLAB ® Coder™ C и C++ для различных аппаратных платформ, от настольных систем до встраиваемого оборудования. Дополнительные сведения см. в разделе Кодер MATLAB. Детекторы на основе R-CNN не поддерживают генерацию кода.
Генерация кода GPU - детекторы на основе глубокого обучения поддерживают генерацию кода GPU с оптимизированной CUDA ® от GPU Coder™ для встроенного зрения и автономных систем. Дополнительные сведения см. в разделе Кодер графического процессора.
Таблица используется для просмотра и сравнения функций детектора объектов.
| Датчик | Поддержка нескольких классов | Поддержка глубокого обучения | Поддержка создания кода | Поддержка графического процессора | Пример | Описание |
|---|---|---|---|---|---|---|
fasterRCNNObjectDetector | Да | Да | Нет | Да | Обнаружение объектов с помощью более быстрого глубокого обучения R-CNN |
Более быстрый R-CNN - это двухступенчатая сеть. На втором этапе уточняются предложения по обнаружению, сделанные на первом этапе, что помогает улучшить локализацию за счет производительности среды выполнения. |
fastRCNNObjectDetector | Да | Да | Нет | Да | Детектор знаков остановки Train Fast R-CNN |
|
rcnnObjectDetector | Да | Да | Нет | Да | Детектор обучаемых объектов с помощью глубокого обучения R-CNN |
Этот алгоритм объединяет предложения прямоугольной области с особенностями сверточной нейронной сети. Это двухэтапный алгоритм обнаружения. На первом этапе определяется подмножество областей в изображении, которое может содержать объект. На втором этапе объект классифицируется в каждой области. |
yolov2ObjectDetector | Да | Да | Да | Да | Обнаружение объектов с помощью глубокого обучения YOLO v2 |
YOLO v2 использует однокаскадную сеть для обнаружения объектов. |
ssdObjectDetector | Да | Да | Да | Да | Обнаружение объектов с помощью глубокого обучения твердотельных накопителей |
Однокадровый детектор (SSD) использует одноэтапную сеть обнаружения для обнаружения объектов с помощью многомасштабных функций. |
acfObjectDetector | Нет | Нет | Да | Нет | Детектор знака остановки на базе ACF поезда |
ACF хорошо работает для одного класса, который можно легко классифицировать независимо от позы. Например, хорошо было бы обнаружить человека, которого можно распознать в нескольких позах, таких как сидение, стояние или езда на лошади. ACF не подходит для обнаружения транспортных средств с различных точек зрения, таких как спереди, сбоку и сзади. |
peopleDetectorACF | Предварительно обученный | Нет | Да | Нет | Отслеживание пешеходов из движущегося автомобиля | Используйте этот предварительно обученный детектор для обнаружения людей, расположенных вертикально. |
vision.PeopleDetector | Предварительно обученный | Нет | Да | Нет | Оценка глубины по стерео-видео | Используйте этот предварительно обученный каскадный детектор объектов для обнаружения людей, расположенных вертикально. |
vision.CascadeObjectDetector | Нет | Нет | Да | Нет | Обнаружение граней на изображении с помощью модели классификации фронтальных граней |
|
| Маска R-CNN | Да | Да | Нет | Да | Начало работы с маской R-CNN для сегментации экземпляров | Этот детектор используется при необходимости сегментирования отдельных объектов. |
| ЙОЛО v3 | Да | Да | Да | Да | Обнаружение объектов с помощью глубокого обучения YOLO v3 | YOLO v3 - одноступенчатая сеть, использующая многомасштабные функции для лучшей обработки обнаружения объектов различного размера. |
vehicleDetectorACF (Автоматизированная панель инструментов вождения) | Предварительно обученный | Нет | Да | Нет | Отслеживание нескольких транспортных средств с помощью камеры (автоматизированная панель инструментов вождения) | Предварительно обученный детектор ACF |
vehicleDetectorFasterRCNN (Автоматизированная панель инструментов вождения) | Предварительно обученный | Да | Нет | Да | Обучение детектору автомобиля для глубокого обучения (автоматизированная панель инструментов вождения) | Предварительно обученный более быстрый детектор R-CNN |
vehicleDetectorYOLOv2 (Автоматизированная панель инструментов вождения) | Предварительно обученный | Да | Да | Да | Обнаружение транспортных средств с помощью монокулярной камеры и YOLO v2 (автоматизированная панель инструментов вождения) | Предварительно обученный извещатель YOLO v2 |
acfObjectDetector | fasterRCNNObjectDetector | fastRCNNObjectDetector | rcnnObjectDetector | ssdObjectDetector | vision.CascadeObjectDetector | yolov2ObjectDetector | acfObjectDetectorMonoCamera (Автоматизированная панель инструментов вождения) | vehicleDetectorACF (Автоматизированная панель инструментов вождения) | vehicleDetectorFasterRCNN (Автоматизированная панель инструментов вождения) | vehicleDetectorYOLOv2 (Автоматизированная панель инструментов вождения)trainACFObjectDetector | trainCascadeObjectDetector | trainFasterRCNNObjectDetector | trainFastRCNNObjectDetector | trainRCNNObjectDetector | trainSSDObjectDetector | trainYOLOv2ObjectDetector