Обнаружение объектов - это процесс поиска и классификации объектов в изображении. Один подход глубокого обучения, области со сверточными нейронными сетями (R-CNN), объединяет предложения прямоугольных областей с особенностями сверточной нейронной сети. R-CNN - двухступенчатый алгоритм обнаружения. На первом этапе определяется подмножество областей в изображении, которое может содержать объект. На втором этапе объект классифицируется в каждой области.
Приложения для детекторов объектов R-CNN включают в себя:
Автономное вождение
Умные системы наблюдения
Распознавание лица
Computer Vision Toolbox™ предоставляет детекторы объектов для алгоритмов R-CNN, Fast R-CNN и Faster R-CNN.
Сегментация экземпляров расширяется при обнаружении объектов для обеспечения сегментации отдельных обнаруженных объектов на уровне пикселей. Computer Vision Toolbox предоставляет слои, которые поддерживают подход глубокого обучения, например сегментацию под названием Mask R-CNN. Дополнительные сведения см. в разделе Начало работы с маской R-CNN для сегментации экземпляров.
Модели обнаружения объектов с использованием областей с CNN основаны на следующих трех процессах:
Найдите в изображении области, которые могут содержать объект. Эти регионы называются областными предложениями.
Извлеките функции CNN из предложений региона.
Классифицируйте объекты, используя извлеченные элементы.
Существует три варианта R-CNN. Каждый вариант пытается оптимизировать, ускорить или улучшить результаты одного или нескольких из этих процессов.
Детектор R-CNN [2] сначала генерирует предложения области, используя алгоритм, такой как Edge Boxes [1]. Области предложения обрезаются из изображения и изменяются. Затем CNN классифицирует обрезанные и измененные области. Наконец, ограничивающие рамки предложения области уточняются с помощью опорной векторной машины (SVM), которая обучается с использованием функций CNN.
Используйте trainRCNNObjectDetector
функция для обучения детектора объекта R-CNN. Функция возвращает rcnnObjectDetector
объект, обнаруживающий объекты в изображении.
Как и в детекторе R-CNN, детектор Fast R-CNN [3] также использует алгоритм, подобный Edge Boxes, для генерации предложений области. В отличие от детектора R-CNN, который накапливает и изменяет размеры предложений по областям, детектор Fast R-CNN обрабатывает все изображение. В то время как детектор R-CNN должен классифицировать каждую область, быстрый R-CNN объединяет функции CNN, соответствующие каждому предложению области. Быстрый R-CNN более эффективен, чем R-CNN, поскольку в детекторе Fast R-CNN вычисления для перекрывающихся областей совместно используются.
Используйте trainFastRCNNObjectDetector
функция для обучения детектора объекта Fast R-CNN. Функция возвращает fastRCNNObjectDetector
который обнаруживает объекты из изображения.
Детектор Faster R-CNN [4] добавляет сеть предложений области (RPN) для генерации предложений области непосредственно в сети вместо использования внешнего алгоритма, такого как Edge Boxes. RPN использует ящики привязки для обнаружения объектов. Создание предложений по регионам в сети выполняется быстрее и лучше настраивается на ваши данные.
Используйте trainFasterRCNNObjectDetector
функция для обучения более быстрого детектора объектов R-CNN. Функция возвращает fasterRCNNObjectDetector
который обнаруживает объекты из изображения.
Это семейство детекторов объектов использует предложения по областям для обнаружения объектов в изображениях. Количество предлагаемых областей определяет время обнаружения объектов на изображении. Детекторы Fast R-CNN и Faster R-CNN предназначены для улучшения характеристик обнаружения в большом количестве областей.
Детектор R-CNN | Описание |
---|---|
trainRCNNObjectDetector |
|
trainFastRCNNObjectDetector |
|
trainFasterRCNNObjectDetector |
|
Можно использовать предварительно обученную сверточную нейронную сеть (CNN) в качестве основы для R-CNN детектора, также называемого обучением передаче. См. Предварительно обученные нейронные сети (Deep Learning Toolbox). Используйте одну из следующих сетей с trainRCNNObjectDetector
, trainFasterRCNNObjectDetector
, или trainFastRCNNObjectDetector
функции. Для использования любой из этих сетей необходимо установить соответствующую модель Deep Learning Toolbox™:
'alexnet
(Инструментарий глубокого обучения) '
'vgg16
(Инструментарий глубокого обучения) '
'vgg19
(Инструментарий глубокого обучения) '
'resnet50
(Инструментарий глубокого обучения) '
'resnet101
(Инструментарий глубокого обучения) '
'inceptionv3
(Инструментарий глубокого обучения) '
'googlenet
(Инструментарий глубокого обучения) '
'inceptionresnetv2
(Инструментарий глубокого обучения) '
'squeezenet
(Инструментарий глубокого обучения) '
Можно также создать пользовательскую модель на основе предварительно подготовленной классификации изображений CNN. См. раздел Проектирование R-CNN, Fast R-CNN и более быстрая модель R-CNN и приложение Deep Network Designer (Deep Learning Toolbox).
Можно проектировать пользовательские модели R-CNN на основе предварительно подготовленной классификации изображений CNN. Можно также использовать Deep Network Designer (Deep Learning Toolbox) для создания, визуализации и редактирования сети глубокого обучения.
Базовая модель R-CNN начинается с предварительно обученной сети. Последние три слоя классификации заменяются новыми слоями, специфичными для классов объектов, которые требуется обнаружить.
Пример создания сети обнаружения объектов R-CNN см. в разделе Создание сети обнаружения объектов R-CNN
Модель Fast R-CNN основана на базовой модели R-CNN. Слой регрессии прямоугольника добавляется для улучшения положения объекта на изображении путем изучения набора смещений прямоугольника. Уровень объединения ROI вставляется в сеть для объединения функций CNN для каждого предложения региона.
Пример создания сети обнаружения объектов Fast R-CNN см. в разделе Создание сети обнаружения объектов Fast R-CNN
Более быстрая модель R-CNN основана на быстрой модели R-CNN. Вместо получения предложений из внешнего алгоритма добавляется сеть предложений по региону для создания предложений по региону.
Пример создания более быстрой сети обнаружения объектов R-CNN см. в разделе Создание более быстрой сети обнаружения объектов R-CNN
Приложения Image Labeler, Video Labeler или Ground Truth Labeler (Automated Driving Toolbox) можно использовать для интерактивной маркировки пикселей и экспорта данных меток для обучения. Приложения могут также использоваться для маркировки представляющих интерес прямоугольных областей (ROI) для обнаружения объектов, меток сцен для классификации изображений и пикселей для семантической сегментации. Для создания обучающих данных из любого из экспортированных маркировщиками основных объектов истинности можно использовать objectDetectorTrainingData
или pixelLabelTrainingData
функции. Дополнительные сведения см. в разделе Обучающие данные для обнаружения объектов и семантической сегментации.
[1] Цитник, К. Лоуренс и П. Доллар. «Поля ребер: поиск предложений объектов из ребер». Компьютерное зрение-ECCV. Springer International Publishing. Страницы 391-4050. 2014.
[2] Гиршик, Р., Дж. Донахью, Т. Даррелл и Дж. Малик. «Богатые иерархии элементов для точного обнаружения объектов и семантической сегментации». CVPR '14 Материалы Конференции IEEE 2014 по компьютерному зрению и распознаванию образов. Страницы 580-587. 2014
[3] Гиршик, Росс. «Быстрый r-cnn». Материалы Международной конференции IEEE по компьютерному зрению. 2015
[4] Рен, Шаоцин, Каймин Хэ, Росс Гиршик и Цзянь Сун. «Более быстрый R-CNN: на пути к обнаружению объектов в реальном времени с помощью региональных сетей предложений». Достижения в системах обработки нейронной информации. Том 28, 2015.
fasterRCNNObjectDetector
| fastRCNNObjectDetector
| rcnnObjectDetector
| trainFasterRCNNObjectDetector
| trainFastRCNNObjectDetector
| trainRCNNObjectDetector