YOLO Vision 2026:
Vision AI

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

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

ABAbirami Vina6 min read
Как R-CNN выполняет детекцию объектов на основе регионов

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

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

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

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

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

Диаграмма работы R-CNN

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

Региональные предложения: основа R-CNN#

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

Диаграмма работы избирательного поиска

Рис. 2. Принцип работы избирательного поиска (Selective Search).

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

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

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

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

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

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

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

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

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

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

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

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

Пример регрессии ограничивающих рамок

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

Подводим итоги: уточнение результатов с помощью NMS#

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

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

Пример подавления не максимальных значений

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

Вот основные шаги NMS:

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

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

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

Сравнение R-CNN, Fast R-CNN, Faster R-CNN и Mask R-CNN

Рис. 7. Сравнение R-CNN, Fast R-CNN, Faster R-CNN и Mask R-CNN.

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

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

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

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

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

Explore solutions

Real-time AI that works with your team

ИИ в робототехнике

Делай свои машины умнее с помощью моделей Ultralytics YOLO. ИИ машинного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Узнать больше
Real-time AI that works with your team

ИИ в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI позволяет инспектировать посылки, сортировать их, отслеживать транспортные средства и контролировать безопасность на складе в реальном времени.
Узнать больше
Real-time AI that works with your team

ИИ в розничной торговле

Переосмысли ритейл с помощью моделей Ultralytics YOLO. Vision AI расширяет возможности отслеживания запасов, мониторинга полок, управления очередями и более глубокого понимания клиентов.
Узнать больше
Real-time AI that works with your team

ИИ в здравоохранении

Создавай решения для здравоохранения с помощью моделей Ultralytics YOLO. ИИ для зрения в медицине ускоряет анализ медицинских изображений, делает диагностику более точной, а мониторинг пациентов — эффективнее.
Узнать больше
Real-time AI that works with your team

ИИ в производстве

Оптимизируй производство с помощью моделей Ultralytics YOLO. Vision AI управляет контролем качества, обнаружением дефектов, соблюдением СИЗ и автоматизацией сборочных линий.
Узнать больше
Real-time AI that works with your operation

ИИ в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. ИИ для зрения повышает безопасность дорожного движения, помогает водителю и способствует автоматизации транспортных средств для создания более «умных» дорог.
Узнать больше
Real-time AI tailored to your operation

ИИ в сельском хозяйстве

Внедряй ИИ в «умное» сельское хозяйство с помощью моделей Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание скота и точное земледелие для получения более высоких и «умных» урожаев.
Узнать больше
Real-time AI that works with your team

ИИ в робототехнике

Делай свои машины умнее с помощью моделей Ultralytics YOLO. ИИ машинного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Узнать больше
Real-time AI that works with your team

ИИ в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI позволяет инспектировать посылки, сортировать их, отслеживать транспортные средства и контролировать безопасность на складе в реальном времени.
Узнать больше
Real-time AI that works with your team

ИИ в розничной торговле

Переосмысли ритейл с помощью моделей Ultralytics YOLO. Vision AI расширяет возможности отслеживания запасов, мониторинга полок, управления очередями и более глубокого понимания клиентов.
Узнать больше
Real-time AI that works with your team

ИИ в здравоохранении

Создавай решения для здравоохранения с помощью моделей Ultralytics YOLO. ИИ для зрения в медицине ускоряет анализ медицинских изображений, делает диагностику более точной, а мониторинг пациентов — эффективнее.
Узнать больше
Real-time AI that works with your team

ИИ в производстве

Оптимизируй производство с помощью моделей Ultralytics YOLO. Vision AI управляет контролем качества, обнаружением дефектов, соблюдением СИЗ и автоматизацией сборочных линий.
Узнать больше
Real-time AI that works with your operation

ИИ в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. ИИ для зрения повышает безопасность дорожного движения, помогает водителю и способствует автоматизации транспортных средств для создания более «умных» дорог.
Узнать больше
Real-time AI tailored to your operation

ИИ в сельском хозяйстве

Внедряй ИИ в «умное» сельское хозяйство с помощью моделей Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание скота и точное земледелие для получения более высоких и «умных» урожаев.
Узнать больше
Real-time AI that works with your team

ИИ в робототехнике

Делай свои машины умнее с помощью моделей Ultralytics YOLO. ИИ машинного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Узнать больше
Real-time AI that works with your team

ИИ в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI позволяет инспектировать посылки, сортировать их, отслеживать транспортные средства и контролировать безопасность на складе в реальном времени.
Узнать больше
Real-time AI that works with your team

ИИ в розничной торговле

Переосмысли ритейл с помощью моделей Ultralytics YOLO. Vision AI расширяет возможности отслеживания запасов, мониторинга полок, управления очередями и более глубокого понимания клиентов.
Узнать больше
Real-time AI that works with your team

ИИ в здравоохранении

Создавай решения для здравоохранения с помощью моделей Ultralytics YOLO. ИИ для зрения в медицине ускоряет анализ медицинских изображений, делает диагностику более точной, а мониторинг пациентов — эффективнее.
Узнать больше
Real-time AI that works with your team

ИИ в производстве

Оптимизируй производство с помощью моделей Ultralytics YOLO. Vision AI управляет контролем качества, обнаружением дефектов, соблюдением СИЗ и автоматизацией сборочных линий.
Узнать больше
Real-time AI that works with your operation

ИИ в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. ИИ для зрения повышает безопасность дорожного движения, помогает водителю и способствует автоматизации транспортных средств для создания более «умных» дорог.
Узнать больше
Real-time AI tailored to your operation

ИИ в сельском хозяйстве

Внедряй ИИ в «умное» сельское хозяйство с помощью моделей Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание скота и точное земледелие для получения более высоких и «умных» урожаев.
Узнать больше

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

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