R-CNN, быстрый R-CNN и более быстрые основы R-CNN

Object detection является процессом нахождения и классификации объектов в изображении. Один подход глубокого обучения, области со сверточными нейронными сетями (R-CNN), комбинирует прямоугольные предложения по области со сверточными функциями нейронной сети. R-CNN является алгоритмом обнаружения 2D этапа. Первая стадия идентифицирует подмножество областей в изображении, которое может содержать объект. Второй этап классифицирует объект на каждую область.

Приложения для детекторов объекта R-CNN включают:

  • Автономное управление

  • Умные системы наблюдения

  • Распознавание лиц

Computer Vision Toolbox™ обеспечивает объектные детекторы для R-CNN, Быстрого R-CNN и Более быстрых алгоритмов R-CNN.

Обнаружение объектов Используя алгоритмы R-CNN

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

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

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

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

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

R-CNN

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

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

Быстрый R-CNN

Как в детекторе R-CNN, Быстрый детектор R-CNN [3] также использует алгоритм как Поля Ребра, чтобы сгенерировать предложения по области. В отличие от детектора R-CNN, какие обрезки и изменяют размер предложений по области, Быстрый детектор R-CNN обрабатывает целое изображение. Принимая во внимание, что детектор R-CNN должен классифицировать каждую область, Быстрый R-CNN объединяет функции CNN, соответствующие каждому предложению по области. Быстрый R-CNN более эффективен, чем R-CNN, потому что в Быстром детекторе R-CNN, вычисления для перекрывающихся областей совместно используются.

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

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

Более быстрый детектор R-CNN [4]. Вместо того, чтобы использовать внешний алгоритм как Поля Ребра, Более быстрый R-CNN добавляет сеть предложения по области (RPN), чтобы сгенерировать предложения по области непосредственно в сети. RPN использует Поля Привязки для Обнаружения объектов. Генерация предложений по области в сети быстрее и лучше настраивается на ваши данные.

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

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

Это семейство объектных детекторов использует предложения по области обнаружить объекты в изображениях. Количество предложенных областей диктует время, которое требуется, чтобы обнаружить объекты в изображении. Быстрый R-CNN и Более быстрые детекторы R-CNN разработаны, чтобы улучшать производительность обнаружения с большим количеством областей.

Детектор R-CNNОписание
trainRCNNObjectDetector
  • Меньше времени, чтобы обучить объектный детектор, но время обнаружения является медленным.

  • Позволяет пользовательское предложение по области

trainFastRCNNObjectDetector
  • Позволяет пользовательское предложение по области

trainFasterRCNNObjectDetector
  • Оптимальная производительность во время выполнения

  • Не поддерживает пользовательское предложение по области

Передайте изучение

Можно использовать предварительно обученную нейронную сеть свертки (CNN) в качестве основания для детектора R-CNN, также называемого transfer learning. Смотрите Предварительно обученные Глубокие нейронные сети (Deep Learning Toolbox). Используйте одну из следующих сетей с trainRCNNObjectDetector, trainFasterRCNNObjectDetector или функциями trainFastRCNNObjectDetector. Чтобы использовать любую из этих сетей, необходимо установить соответствующую модель Deep Learning Toolbox™:

Можно также разработать пользовательское основанное на модели на предварительно обученном CNN классификации изображений. См. Проект R-CNN, Быстрый R-CNN, и раздел Faster R-CNN Model и приложение Deep Network Designer.

Разработайте R-CNN, быстрый R-CNN и более быструю модель R-CNN

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

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

    Для примера того, как создать сеть обнаружения объектов R-CNN, смотрите, Создают Сеть Обнаружения объектов R-CNN

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

    Для примера того, как создать Быструю сеть обнаружения объектов R-CNN, смотрите, Создают Быструю Сеть Обнаружения объектов R-CNN

  3. Более быстрые сборки модели R-CNN на модели Fast R-CNN. Сеть предложения по области добавляется, чтобы произвести предложения по области вместо того, чтобы получить предложения из внешнего алгоритма.

    Для примера того, как создать Более быструю сеть обнаружения объектов R-CNN, смотрите, Создают Более быструю Сеть Обнаружения объектов R-CNN

Маркируйте Training Data for Deep Learning

Можно использовать Image Labeler, Video Labeler или Ground Truth Labeler (доступный в Automated Driving Toolbox™) приложения, чтобы в интерактивном режиме маркировать пиксели и экспортировать данные о метке для обучения. Приложения могут также использоваться, чтобы маркировать прямоугольные видимые области (КОРОЛИ) для обнаружения объектов, метки сцены для классификации изображений и пиксели для семантической сегментации.

Ссылки

[1] Zitnick, К. Лоуренс и П. Доллэр. "Поля ребра: Определение местоположения объектных предложений от ребер". Компьютерное-зрение-ECCV. Springer International Publishing. Страницы 391-4050. 2014.

[2] Girshick, R., Дж. Донахью, Т. Даррелл и Дж. Малик. "Богатые иерархии функции для точного обнаружения объектов и семантической сегментации". CVPR '14 продолжений 2 014 конференций по IEEE по компьютерному зрению и распознаванию образов. Страницы 580-587. 2014

[3] Girshick, Росс. "Быстрое r-cnn". Продолжения Международной конференции IEEE по вопросам Компьютерного зрения. 2015

[4] Жэнь, Shaoqing, Kaiming он, Росс Джиршик и Цзянь Sun. "Более быстрый R-CNN: к обнаружению объектов в реальном времени с сетями предложения по области". Усовершенствования в нейронных системах обработки информации. Издание 28, 2015.

Смотрите также

Приложения

Функции

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

Больше о

Для просмотра документации необходимо авторизоваться на сайте