Обнаружение объектов

Выполните классификацию, обнаружение объектов, передачу обучения с помощью сверточных нейронных сетей (CNNs, или ConvNets), создайте настраиваемые детекторы

Обнаружение объектов является методом компьютерного зрения для определения местоположения образцов объектов в изображениях или видео. Алгоритмы обнаружения объектов обычно используют машинное обучение или глубокое обучение, чтобы получить значимые результаты. При просмотре изображений или видео люди могут распознавать и обнаруживать объекты интереса в считанные моменты. Цель обнаружения объектов состоит в том, чтобы реплицировать этот интеллект с помощью компьютера. Лучший подход к обнаружению объектов зависит от вашего приложения и задачи, которую вы пытаетесь решить.

Методы глубокого обучения требуют большого количества маркированных обучающих изображений, поэтому использование графический процессор рекомендуется для уменьшения времени, необходимого для обучения модели. Основанные на глубоком обучении подходы к обнаружению объектов используют сверточные нейронные сети (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) функций и алгоритм Виолы-Джонса для обнаружения лица человека или верхней части тела. Можно принять решение начать с предварительно обученного детектора объектов или создать пользовательский детектор объектов, соответствующий вашему приложению.

Object detection, neural network

Приложения

Image LabelerМаркируйте изображения для приложений компьютерного зрения
Video LabelerМаркируйте видео для приложений компьютерного зрения

Функции

расширить все

Детекторы глубокого обучения

rcnnObjectDetectorОбнаружение объектов с помощью детектора глубокого обучения R-CNN
fastRCNNObjectDetectorОбнаружение объектов с помощью детектора глубокого обучения Fast R-CNN
fasterRCNNObjectDetectorОбнаружение объектов с помощью детектора глубокого обучения Faster R-CNN
ssdObjectDetectorОбнаружение объектов с помощью детектора глубокого обучения SSD
yolov2ObjectDetectorОбнаружение объектов с помощью детектора объектов YOLO v2
yolov3ObjectDetectorСоздайте детектор объектов YOLO v3

Функциональные детекторы

ocrРаспознавание текста с помощью оптического распознавания символов
readAprilTagОбнаружите и оцените положение для AprilTag в изображении
readBarcodeОбнаружение и декодирование 1-D или 2-D штрих-кода в изображении
acfObjectDetectorОбнаружение объектов с помощью совокупных функций канала
peopleDetectorACFОбнаружение людей с помощью совокупных функций канала
vision.CascadeObjectDetectorОбнаружение объектов с помощью алгоритма Виолы-Джонса
vision.ForegroundDetectorОбнаружение переднего плана с использованием Смешанных гауссовских моделей
vision.PeopleDetectorОбнаружение вертикальных людей с использованием функций HOG
vision.BlobAnalysisСвойства связанных областей

Обнаружение объектов с помощью функций точки

detectBRISKFeaturesОбнаружение функций BRISK и возврат BRISKPoints объект
detectFASTFeaturesОбнаружение углов с помощью алгоритма FAST и возврат cornerPoints объект
detectHarrisFeaturesОбнаружение углов с помощью алгоритма Харриса-Стефенса и возврат cornerPoints объект
detectKAZEFeaturesОбнаружение функций KAZE и возврат KAZEPoints объект
detectMinEigenFeaturesОбнаружение углов с помощью алгоритма минимального собственного значения и возврат cornerPoints объект
detectMSERFeaturesОбнаружение функций MSER и возврат MSERRegions объект
detectORBFeaturesОбнаружение ключевых точек ORB и возврат ORBPoints объект
detectSURFFeaturesОбнаружение функций SURF и возврат SURFPoints объект
extractFeaturesИзвлечение дескрипторов процентных точек
matchFeaturesПоиск соответствующих функций

Выбор обнаруженных объектов

selectStrongestBboxВыберите самые сильные ограничительные рамки из перекрывающихся кластеров
selectStrongestBboxMulticlassВыберите самые сильные многоклассовые ограничительные рамки из перекрывающихся кластеров

Загрузка обучающих данных

boxLabelDatastoreDatastore для данных метки ограничивающего прямоугольника
groundTruthОсновные истины
imageDatastoreDatastore для данных изображений
objectDetectorTrainingDataСоздайте обучающие данные для детектора объектов
combineОбъедините данные из нескольких хранилищ данных

Обучите детекторы объектов на основе признаков

trainACFObjectDetectorОбучите детектор объектов ACF
trainCascadeObjectDetectorTrain каскад детектора объектов модель
trainImageCategoryClassifierОбучите классификатор категорий изображений

Обучите детекторы объектов на основе глубокого обучения

trainRCNNObjectDetectorОбучите детектор объектов глубокого обучения R-CNN
trainFastRCNNObjectDetectorОбучите детектор объектов глубокого обучения Fast R-CNN
trainFasterRCNNObjectDetectorОбучите детектор объектов глубокого обучения Faster R-CNN
trainSSDObjectDetectorОбучите детектор объектов глубокого обучения SSD
trainYOLOv2ObjectDetectorОбучите детектор объектов YOLO v2

Увеличение и предварительная обработка обучающих данных для глубокого обучения

balanceBoxLabelsБалансировка меток ограничивающих прямоугольников для обнаружения объектов
bboxcropОбрезка ограничивающих рамок
bboxeraseУдалите ограничительные рамки
bboxresizeИзменение размера ограничивающих рамок
bboxwarpПрименить геометрическое преобразование к ограничивающим прямоугольникам
bbox2pointsПреобразуйте прямоугольник в список угловых точек
imwarpПрименить геометрическое преобразование к изображению
imcropОбрезка изображения
imresizeИзменение размера изображения
randomAffine2dСоздайте рандомизированное 2-D аффинное преобразование
centerCropWindow2dСоздайте прямоугольное центральное окно обрезки
randomWindow2dСлучайным образом выберите прямоугольную область на изображении
integralImageВычислите 2-D интегральное изображение

R-CNN (области со сверточными нейронными сетями)

rcnnBoxRegressionLayerСлой регрессии коробки для быстрого и быстрого R-CNN
fasterRCNNLayersСоздайте более быструю сеть обнаружения объектов R-CNN
rpnSoftmaxLayerSoftmax слоя для области сети предложений (RPN)
rpnClassificationLayerКлассификационные слои для сетей области предложений (RPN)
regionProposalLayerОбласть слоя предложения для Faster R-CNN
roiAlignLayerНеквантованный слой объединения ROI для Mask-CNN
roiInputLayerИнформация только для чтения входной слой для Fast R-CNN
roiMaxPooling2dLayerСлой сети для вывода карты функций фиксированного размера для прямоугольных областей интереса (ROI)

YOLO (только один раз)

yolov2LayersСоздайте сеть обнаружения объектов YOLO v2
yolov2TransformLayerСоздайте слой преобразования для сети обнаружения объектов YOLO v2
yolov2OutputLayerСоздайте выходной слой для сети обнаружения объектов YOLO v2
yolov2ReorgLayer(Не рекомендуемый) Создать слой реорганизации для сети обнаружения объектов YOLO v2
spaceToDepthLayerПространство на слой глубины

Слои очаговых потерь

focalLossLayerСоздайте слой фокальных потерь с помощью функции фокальных потерь
focalCrossEntropyВычислите фокусные потери перекрестной энтропии

Твердотельный накопитель (Single Shot Detector)

ssdMergeLayerСоздайте слой слияния твердотельных накопителей для обнаружения объектов
ssdLayersСеть обнаружения объектов SSD multibox

Анкерные коробки

anchorBoxLayerСоздайте слой якоря для обнаружения объектов
estimateAnchorBoxesОцените якорные коробки для детекторов объектов глубокого обучения
insertObjectAnnotationАннотировать труколор или полутоновое изображение или видеопоток
insertObjectMask Вставка масок в изображение или видеопоток
insertShapeВставка фигур в изображение или видео
showShapeОтображение фигур на изображении, видео или облаке точек
evaluateDetectionAOSОцените метрику подобия средней ориентации для обнаружения объектов
evaluateDetectionMissRateОцените метрику скорости промаха для обнаружения объектов
evaluateDetectionPrecisionОцените точность метрики для обнаружения объектов
bboxOverlapRatioВычисление коэффициента перекрытия ограничивающего прямоугольника
bboxPrecisionRecallВычислите точность ограничивающего прямоугольника и отзыв против основной истины

Темы

Запуск

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

Обнаружение объектов с помощью глубоких нейронных сетей.

Типы функций точки

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

Системы координат

Задайте индексы пикселей, пространственные координаты и 3-D системы координат

Локальный признак

Узнайте преимущества и приложения обнаружения и извлечения локального признака

Классификация изображений с сумкой визуальных слов

Используйте функции Computer Vision Toolbox™ для классификации категорий изображений путем создания пакета визуальных слов.

Запуск с каскадным детектором объектов

Обучите пользовательский классификатор

Выберите функцию для визуализации обнаруженных объектов

Сравните функции визуализации.

Обучающие данные для обнаружения объектов и семантической сегментации

Запуск с Image Labeler

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

Запуск с Video Labeler

Интерактивно помечайте прямоугольные 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)

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

Рекомендуемые примеры