Настраивайтесь на YOLO Vision 2025!
25 сентября 2025 г.
10:00 — 18:00 BST
Гибридное мероприятие
Yolo Vision 2024

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

Рис. 1. Как работает R-CNN.

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

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

Рис. 2. Как работает выборочный поиск.

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

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

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

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

Рис. 3. Извлечение признаков из предложенной области с использованием AlexNet.

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

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

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

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

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

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

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

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

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

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

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

Вот разбор шагов в NMS:

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

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

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

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

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

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

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

Рис. 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 добавляет сегментацию на уровне пикселей для более детального обнаружения.

Рис. 7. Сравнение R-CNN, fast R-CNN, faster R-CNN и mask R-CNN.

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

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

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

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

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

Давайте строить будущее
ИИ вместе!

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

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