Что такое R-CNN? Краткий обзор

Абирами Вина

6 минут чтения

7 июня 2024 г.

Узнайте о RCNN и его влиянии на обнаружение объектов. Мы рассмотрим ее ключевые компоненты, области применения и роль в развитии таких методов, как Fast RCNN и YOLO.

Обнаружение объектов - это задача компьютерного зрения, которая позволяет распознавать и находить объекты на изображениях или видео для таких приложений, как автономное вождение, наблюдение и медицинская визуализация. Ранние методы обнаружения объектов, такие как детектор Виолы-Джонса и гистограмма ориентированных градиентов (HOG) с использованием машин с опорными векторами (SVM), основывались на ручном создании признаков и скользящих окнах. Эти методы часто не справлялись с точным обнаружением объектов в сложных сценах с множеством объектов различных форм и размеров.

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

Созданная Россом Гиршиком и его командой архитектура модели R-CNN генерирует предложения регионов, извлекает признаки с помощью предварительно обученной конволюционной нейронной сети (CNN), классифицирует объекты и уточняет ограничительные рамки. Хотя это может показаться сложным, к концу этой статьи вы будете иметь четкое представление о том, как работает R-CNN и почему она так важна. Давайте посмотрим!

Как работает R-CNN?

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

__wf_reserved_inherit
Рис. 1. Принцип работы R-CNN.

Предложения по регионам: Основа RCNN

На первом этапе модель R-CNN сканирует изображение, чтобы создать множество предложений регионов. Предложения регионов - это потенциальные области, в которых могут находиться объекты. Такие методы, как селективный поиск, используются для изучения различных аспектов изображения, таких как цвет, текстура и форма, разбивая его на различные части. Выборочный поиск начинается с разделения изображения на более мелкие части, а затем объединяет похожие части, чтобы сформировать более крупные области интереса. Этот процесс продолжается до тех пор, пока не будет сгенерировано около 2 000 предложений регионов.

__wf_reserved_inherit
Рис. 2. Принцип работы селективного поиска.

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

Извлечение признаков изображения: Улавливание деталей

Следующим шагом в процессе обнаружения объектов в модели R-CNN является извлечение признаков из предложений регионов. Каждое предложение региона изменяется до размера, который ожидает CNN (например, 224x224 пикселя). Изменение размера помогает CNN эффективно обрабатывать каждое предложение. Перед деформацией размер каждого предложения региона немного увеличивается, чтобы включить 16 пикселей дополнительного контекста вокруг региона, чтобы предоставить больше информации об окружении для лучшего извлечения признаков.

После изменения размера эти предложения регионов поступают в CNN, например AlexNet, который обычно предварительно обучен на большом наборе данных, например ImageNet. CNN обрабатывает каждый регион для извлечения высокоразмерных векторов признаков, которые фиксируют важные детали, такие как края, текстуры и узоры. Эти векторы признаков сгущают важную информацию из регионов. Они преобразуют необработанные данные изображения в формат, который модель может использовать для дальнейшего анализа. Точная классификация и определение местоположения объектов на следующих этапах зависят от этого важнейшего преобразования визуальной информации в осмысленные данные.

__wf_reserved_inherit
Рис. 3. Извлечение признаков из предложения региона с помощью AlexNet.

Классификация объектов: Идентификация обнаруженных объектов

Третий шаг - классификация объектов в этих регионах. Это означает определение категории или класса каждого объекта, найденного в предложениях. Затем извлеченные векторы признаков пропускаются через классификатор машинного обучения.

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

В процессе обучения классификаторам предоставляются помеченные данные с положительными и отрицательными образцами:

  • Положительные образцы: Области, содержащие целевой объект.
  • Отрицательные образцы: Регионы без объекта.

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

__wf_reserved_inherit
Рис. 4. Пример регрессии по ограничивающим полям. (источник: towardsdatascience.com)

Собираем все вместе: Уточнение обнаружений с помощью NMS

После этапов классификации и регрессии ограничительных рамок модель часто генерирует несколько перекрывающихся ограничительных рамок для одного и того же объекта. Для уточнения этих обнаружений применяется метод немаксимального подавления (NMS), в результате которого сохраняются наиболее точные рамки. Применяя NMS, модель устраняет избыточные и перекрывающиеся рамки и сохраняет только наиболее достоверные обнаружения. 

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

__wf_reserved_inherit
Рис. 5. Пример не максимального подавления. (источник: towardsdatascience.com)

Вот описание этапов работы с NMS:

  • Сортировка: Ограничительные рамки сортируются по степени достоверности в порядке убывания.
  • Выбор: Выбирается ящик с наивысшим баллом, а все ящики, которые значительно пересекаются с ним (на основе Intersection over Union, IoU), удаляются.
  • Итерация: Этот процесс повторяется для следующего ящика с наибольшим количеством баллов и продолжается до тех пор, пока не будут обработаны все ящики.

Модель R-CNN обнаруживает объекты путем генерации предложений регионов, извлечения признаков с помощью CNN, классификации объектов и уточнения их положения с помощью регрессии ограничительных рамок, а также с помощью немаксимального подавления (NMS), сохраняя только самые точные обнаружения.

R-CNN - важная веха в обнаружении объектов

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

R-CNN проложила путь для таких моделей, как Fast R-CNN, Faster R-CNN и Mask R-CNN, которые еще больше повысили эффективность и точность. Объединив глубокое обучение с анализом на основе регионов, R-CNN установила новый стандарт в этой области и открыла возможности для различных реальных приложений.

Преобразование медицинской визуализации с помощью R-CNN

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

__wf_reserved_inherit
Рис. 6. Обнаружение опухолей головного мозга с помощью RCNN.

Модель R-CNN может применяться не только для обнаружения опухолей, но и для решения других задач медицинской визуализации. Например, она может выявлять переломы, обнаруживать заболевания сетчатки на снимках глаз и анализировать изображения легких на предмет таких заболеваний, как пневмония и COVID-19. Независимо от медицинской проблемы, раннее обнаружение может привести к улучшению состояния пациентов. Применяя точность R-CNN в выявлении и локализации аномалий, медицинские работ ники могут повысить надежность и скорость медицинской диагностики. Благодаря обнаружению объектов, упрощающему процесс диагностики, пациенты могут получить своевременные и точные планы лечения.

Ограничения R-CNN и его преемников

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

За прошедшие годы появились различные модели обнаружения объектов, решающие эти проблемы. Fast R-CNN объединяет предложения регионов и извлечение признаков CNN в один шаг, ускоряя процесс. Faster R-CNN использует сеть предложений регионов (RPN) для упрощения генерации предложений, а Mask R-CNN добавляет сегментацию на уровне пикселей для более детального обнаружения.

__wf_reserved_inherit
Рис. 7. Сравнение R-CNN, быстрого R-CNN, более быстрого R-CNN и R-CNN с маской.

Примерно в то же время, что и Faster R-CNN, серия YOLO (You Only Look Once) начала продвигать обнаружение объектов в реальном времени. Модели YOLO предсказывают ограничительные рамки и вероятности классов за один проход по сети. Например, Ultralytics YOLOv8 предлагает повышенную точность и скорость с расширенными возможностями для многих задач компьютерного зрения.

Основные выводы

RCNN изменил игру в компьютерном зрении, показав, как глубокое обучение может изменить обнаружение объектов. Его успех вдохновил множество новых идей в этой области. Несмотря на то, что новые модели, такие как Faster R-CNN и YOLO, уже исправили недостатки RCNN, ее вклад - это огромная веха, о которой важно помнить.

По мере продолжения исследований мы увидим еще более совершенные и быстрые модели обнаружения объектов. Эти достижения не только улучшат понимание мира машинами, но и приведут к прогрессу во многих отраслях. Будущее распознавания объектов выглядит захватывающе!

Хотите узнать больше об искусственном интеллекте? Станьте частью сообщества Ultralytics! Изучите наш репозиторий GitHub, чтобы ознакомиться с нашими последними инновациями в области искусственного интеллекта. Ознакомьтесь с нашими решениями в области искусственного интеллекта для различных отраслей, таких как сельское хозяйство и производство. Присоединяйтесь к нам, чтобы учиться и развиваться!

Давайте вместе построим будущее
искусственного интеллекта!

Начните свое путешествие в будущее машинного обучения

Начните бесплатно
Ссылка копируется в буфер обмена