Обнаружение объектов является методом компьютерного зрения для определения местоположения образцов объектов в изображениях или видео. Алгоритмы обнаружения объектов обычно используют машинное обучение или глубокое обучение, чтобы получить значимые результаты. При просмотре изображений или видео люди могут распознавать и обнаруживать объекты интереса в считанные моменты. Цель обнаружения объектов состоит в том, чтобы реплицировать этот интеллект с помощью компьютера. Лучший подход к обнаружению объектов зависит от вашего приложения и задачи, которую вы пытаетесь решить.
Методы глубокого обучения требуют большого количества маркированных обучающих изображений, поэтому использование графический процессор рекомендуется для уменьшения времени, необходимого для обучения модели. Основанные на глубоком обучении подходы к обнаружению объектов используют сверточные нейронные сети (CNNs или ConvNets), такие как R-CNN и YOLO v2, или используют обнаружение с одним выстрелом (SSD). Можно обучить пользовательский детектор объектов или использовать предварительно обученный детектор объектов, используя передачу обучения, подход, который позволяет вам начать с предварительно обученной сети и затем настроить его для вашего приложения. Сверточные нейронные сети требуют Toolbox™ Deep Learning. Обучение и предсказание поддерживаются на CUDA®-capable GPU. Использование графического процессора рекомендуется и требует Parallel Computing Toolbox™. Для получения дополнительной информации смотрите Настройки Computer Vision Toolbox и Поддержка параллельных вычислений в Продуктах Mathworks (Parallel Computing Toolbox).
Методы машинного обучения для обнаружения объектов включают совокупные функции канала (ACF), классификацию машин опорных векторов (SVM) с помощью гистограмм ориентированных градиентных (HOG) функций и алгоритм Виолы-Джонса для обнаружения лица человека или верхней части тела. Можно принять решение начать с предварительно обученного детектора объектов или создать пользовательский детектор объектов, соответствующий вашему приложению.
Image Labeler | Маркируйте изображения для приложений компьютерного зрения |
Video Labeler | Маркируйте видео для приложений компьютерного зрения |
Начало работы с обнаружением объектов с помощью глубокого обучения
Обнаружение объектов с помощью глубоких нейронных сетей.
Выберите функции, которые возвращают и принимают объекты точек для нескольких типов функций
Задайте индексы пикселей, пространственные координаты и 3-D системы координат
Узнайте преимущества и приложения обнаружения и извлечения локального признака
Классификация изображений с сумкой визуальных слов
Используйте функции Computer Vision Toolbox™ для классификации категорий изображений путем создания пакета визуальных слов.
Запуск с каскадным детектором объектов
Обучите пользовательский классификатор
Выберите функцию для визуализации обнаруженных объектов
Сравните функции визуализации.
Интерактивно помечайте прямоугольные ROI для обнаружения объектов, пиксели для семантической сегментации, многоугольников для образца сегментации и сцены для классификации изображений.
Интерактивно помечайте прямоугольные ROI для обнаружения объектов, пиксели для семантической сегментации, многоугольники, например, сегментация и сцены для классификации изображений в последовательности видео или изображений.
Datastores для глубокого обучения (Deep Learning Toolbox)
Узнайте, как использовать хранилища данных в применениях глубокого обучения.
Начало работы с Mask R-CNN для сегментации образца
Выполните многоклассовую сегментацию образца с помощью Mask R-CNN и глубокого обучения.
Обучающие данные для обнаружения объектов и семантической сегментации
Создайте обучающие данные для обнаружения объектов или семантической сегментации с помощью Image Labeler или Video Labeler.
Deep Network Designer (Deep Learning Toolbox)
Список слоев глубокого обучения (Deep Learning Toolbox)
Узнайте все слои глубокого обучения в MATLAB®.
Глубокое обучение в MATLAB (Deep Learning Toolbox)
Узнайте о возможностях глубокого обучения в MATLAB, используя сверточные нейронные сети для классификации и регрессии, включая предварительно обученные сети и передачу обучения, и обучение на графических процессорах, центральных процессорах, кластерах и облаках.
Предварительно обученные глубокие нейронные сети (Deep Learning Toolbox)
Узнать, как загрузить и использовать предварительно обученные сверточные нейронные сети для классификации, передачи обучения и редукции данных.