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

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

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

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

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

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

Computer Vision Toolbox™ обеспечивает детекторы объектов для R-CNN, Быстрого R-CNN и алгоритмов Faster 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 функция, чтобы обучить Быстрый детектор объектов R-CNN. Функция возвращает fastRCNNObjectDetector это обнаруживает объекты от изображения.

Faster R-CNN

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

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

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

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

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

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

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

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

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

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

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

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

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

Ссылки

[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. "Faster R-CNN: к обнаружению объектов в реальном времени с сетями предложения по области". Усовершенствования в нейронных системах обработки информации. Издание 28, 2015.

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

Приложения

Функции

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

Больше о