Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Визуальный ИИ

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

Узнай, как работает R-CNN: от выборочного поиска и извлечения признаков с помощью CNN до классификации SVM и NMS, а также как эта модель подготовила почву для Fast R-CNN и YOLO.

Абирами ВинаAbirami Vina7 мин. чтения
Как R-CNN обнаруживает объекты на основе регионов

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

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

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

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

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

Схема работы R-CNN

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

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

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

Схема работы Selective Search

Рис. 2. Принцип работы Selective Search.

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

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

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

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

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

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

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

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

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

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

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

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

Модель 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 предсказывают ограничивающие рамки и вероятности классов за один проход по сети. Например, Ultralytics YOLOv8 обеспечивает более высокую точность и скорость и поддерживает передовые функции для множества задач компьютерного зрения, а более новые модели, такие как Ultralytics YOLO26, идут еще дальше, полностью отказываясь от NMS.

Главные выводы#

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

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

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

Автор

Abirami Vina
Abirami Vina

Создатель контента · Ultralytics

Начав карьеру инженером по компьютерному зрению, Абирами Вина заложила прочную основу в области ИИ для компьютерного зрения и машинного обучения. Она создает контент для Ultralytics и является основательницей и главным автором Scribe of AI, где готовит качественные технические материалы для компаний, работающих в сфере ИИ. Стремясь сделать ИИ понятным и увлекательным, она помогает связать передовые технологии с их практическим применением.

Комментарии

Задай вопрос, поделись результатами или помоги кому-нибудь.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

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

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

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

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