exponenta event banner

Начало работы с R-CNN, Fast R-CNN и более быстрым R-CNN

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

Обнаружение объектов с помощью алгоритмов R-CNN

Модели обнаружения объектов с использованием областей с CNN основаны на следующих трех процессах:

  • Найдите в изображении области, которые могут содержать объект. Эти регионы называются областными предложениями.

  • Извлеките функции CNN из предложений региона.

  • Классифицируйте объекты, используя извлеченные элементы.

Существует три варианта R-CNN. Каждый вариант пытается оптимизировать, ускорить или улучшить результаты одного или нескольких из этих процессов.

R-CNN

Детектор R-CNN [2] сначала генерирует предложения области, используя алгоритм, такой как Edge Boxes [1]. Области предложения обрезаются из изображения и изменяются. Затем CNN классифицирует обрезанные и измененные области. Наконец, ограничивающие рамки предложения области уточняются с помощью опорной векторной машины (SVM), которая обучается с использованием функций CNN.

Используйте trainRCNNObjectDetector функция для обучения детектора объекта R-CNN. Функция возвращает rcnnObjectDetector объект, обнаруживающий объекты в изображении.

Быстрый R-CNN

Как и в детекторе 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 который обнаруживает объекты из изображения.

Более быстрый R-CNN

Детектор Faster R-CNN [4] добавляет сеть предложений области (RPN) для генерации предложений области непосредственно в сети вместо использования внешнего алгоритма, такого как Edge Boxes. RPN использует ящики привязки для обнаружения объектов. Создание предложений по регионам в сети выполняется быстрее и лучше настраивается на ваши данные.

Используйте trainFasterRCNNObjectDetector функция для обучения более быстрого детектора объектов R-CNN. Функция возвращает fasterRCNNObjectDetector который обнаруживает объекты из изображения.

Сравнение детекторов объектов R-CNN

Это семейство детекторов объектов использует предложения по областям для обнаружения объектов в изображениях. Количество предлагаемых областей определяет время обнаружения объектов на изображении. Детекторы 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, Fast R-CNN и более быстрой модели R-CNN

Можно проектировать пользовательские модели R-CNN на основе предварительно подготовленной классификации изображений CNN. Можно также использовать Deep Network Designer (Deep Learning Toolbox) для создания, визуализации и редактирования сети глубокого обучения.

  1. Базовая модель R-CNN начинается с предварительно обученной сети. Последние три слоя классификации заменяются новыми слоями, специфичными для классов объектов, которые требуется обнаружить.

    Пример создания сети обнаружения объектов R-CNN см. в разделе Создание сети обнаружения объектов R-CNN

  2. Модель Fast R-CNN основана на базовой модели R-CNN. Слой регрессии прямоугольника добавляется для улучшения положения объекта на изображении путем изучения набора смещений прямоугольника. Уровень объединения ROI вставляется в сеть для объединения функций CNN для каждого предложения региона.

    Пример создания сети обнаружения объектов Fast R-CNN см. в разделе Создание сети обнаружения объектов Fast R-CNN

  3. Более быстрая модель 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.

См. также

Приложения

Функции

Связанные примеры

Подробнее