Узнай о RCNN и его влиянии на обнаружение объектов. Мы расскажем о его ключевых компонентах, применении и роли в развитии таких методов, как Fast RCNN и YOLO.
Обнаружение объектов - это задача компьютерного зрения, которая позволяет распознавать и находить объекты на изображениях или видео для таких приложений, как автономное вождение, наблюдение и медицинская визуализация. Более ранние методы обнаружения объектов, такие как детектор Виолы-Джонса и гистограмма ориентированных градиентов (HOG) с поддержкой векторных машин (SVM), опирались на ручные признаки и скользящие окна. Эти методы часто не справлялись с точным обнаружением объектов в сложных сценах с множеством объектов разных форм и размеров.
Конволюционные нейронные сети на основе регионов (R-CNN) изменили наши представления об обнаружении объектов. Это важная веха в истории компьютерного зрения. Чтобы понять, как появились такие модели, как YOLOv8 появились, нам нужно сначала понять модели, подобные R-CNN.
Созданная Россом Гиршиком и его командой архитектура модели R-CNN генерирует предложения регионов, извлекает признаки с помощью предварительно обученной конволюционной нейронной сети (CNN), классифицирует объекты и уточняет ограничительные рамки. Хотя это может показаться пугающим, к концу этой статьи ты будешь иметь четкое представление о том, как работает R-CNN и почему она так влиятельна. Давай посмотрим!
Процесс обнаружения объектов в модели R-CNN включает в себя три основных этапа: генерация предложений регионов, извлечение признаков и классификация объектов с уточнением их ограничительных рамок. Давай пройдемся по каждому шагу.
На первом этапе модель R-CNN сканирует изображение, чтобы создать множество предложений регионов. Предложения регионов - это потенциальные области, в которых могут находиться объекты. Такие методы, как селективный поиск, используются для изучения различных аспектов изображения, таких как цвет, текстура и форма, разбивая его на различные части. Селективный поиск начинается с разделения изображения на более мелкие части, затем объединяет похожие части, чтобы сформировать более крупные области интереса. Этот процесс продолжается до тех пор, пока не будет сгенерировано около 2 000 предложений регионов.
Эти предложения регионов помогают определить все возможные места, где может находиться объект. На следующих этапах модель может эффективно обрабатывать наиболее значимые области, фокусируясь на них, а не на всем изображении. Использование предложений по регионам позволяет сбалансировать тщательность и вычислительную эффективность.
Следующим шагом в процессе обнаружения объектов в модели R-CNN является извлечение признаков из предложений регионов. Каждое предложение региона изменяется до размера, который ожидает CNN (например, 224х224 пикселя). Изменение размера помогает CNN эффективно обрабатывать каждое предложение. Перед деформацией размер каждого предложения региона немного увеличивается, чтобы включить 16 пикселей дополнительного контекста вокруг региона, чтобы предоставить больше окружающей информации для лучшего извлечения признаков.
После изменения размера эти предложения регионов поступают в CNN вроде AlexNet, который обычно предварительно обучается на большом наборе данных вроде ImageNet. CNN обрабатывает каждый регион для извлечения высокоразмерных векторов признаков, которые фиксируют важные детали, такие как края, текстуры и узоры. Эти векторы признаков сгущают важную информацию из регионов. Они преобразуют необработанные данные изображения в формат, который модель может использовать для дальнейшего анализа. От этого важнейшего преобразования визуальной информации в осмысленные данные зависит точная классификация и определение местоположения объектов на следующих этапах.
Третий шаг - классификация объектов в этих регионах. Это означает определение категории или класса каждого объекта, найденного в пределах предложений. Затем извлеченные векторы признаков пропускаются через классификатор машинного обучения.
В случае R-CNN для этой цели обычно используются машины опорных векторов (SVM). Каждая SVM обучается распознавать определенный класс объектов, анализируя векторы признаков и решая, содержит ли конкретный регион экземпляр этого класса. По сути, для каждой категории объектов существует свой классификатор, проверяющий каждое предложение региона для этого конкретного объекта.
Во время обучения классификаторам выдаются помеченные данные с положительными и отрицательными образцами:
Классификаторы учатся различать эти образцы. Регрессия ограничительных рамок дополнительно уточняет положение и размер обнаруженных объектов, корректируя первоначально предложенные ограничительные рамки, чтобы они лучше соответствовали реальным границам объектов. Модель R-CNN может идентифицировать и точно определять местоположение объектов, сочетая классификацию и регрессию ограничительных рамок.
После этапов классификации и регрессии ограничительных рамок модель часто генерирует несколько перекрывающихся ограничительных рамок для одного и того же объекта. Немаксимальное подавление (НМП) применяется для уточнения этих обнаружений, сохраняя наиболее точные боксы. Применяя NMS, модель устраняет лишние и перекрывающиеся боксы и сохраняет только самые уверенные обнаружения.
NMS работает, оценивая баллы доверия (показывающие, насколько вероятно, что обнаруженный объект действительно присутствует) всех ограничивающих боксов и подавляя те, которые значительно пересекаются с боксами с более высоким баллом.
Вот разбивка на этапы в NMS:
Чтобы собрать все это воедино, модель R-CNN обнаруживает объекты, генерируя предложения регионов, извлекая признаки с помощью CNN, классифицируя объекты и уточняя их положение с помощью регрессии ограничительных рамок, а также используя немаксимальное подавление (NMS), сохраняя только самые точные обнаружения.
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 можно применять и для других задач медицинской визуализации, помимо обнаружения опухолей. Например, она может выявлять переломы, обнаруживать заболевания сетчатки на снимках глаз и анализировать изображения легких на предмет таких заболеваний, как пневмония и COVID-19. Независимо от медицинской проблемы, раннее обнаружение может привести к улучшению состояния пациента. Применяя точность R-CNN в выявлении и локализации аномалий, медицинские работ ники могут повысить надежность и скорость медицинской диагностики. Благодаря тому, что обнаружение объектов упрощает процесс диагностики, пациенты могут получить пользу от своевременных и точных планов лечения.
Несмотря на впечатляющие результаты, R-CNN имеет определенные недостатки, такие как высокая вычислительная сложность и медленное время вывода. Эти недостатки делают модель R-CNN неподходящей для приложений реального времени. Разделение предложений и классификации регионов на отдельные шаги может привести к менее эффективной работе.
За прошедшие годы появились различные модели обнаружения объектов, которые решали эти проблемы. Fast R-CNN объединяет предложения регионов и извлечение признаков CNN в один шаг, ускоряя процесс. Faster R-CNN вводит сеть предложений регионов (RPN), чтобы упростить генерацию предложений, а Mask R-CNN добавляет сегментацию на уровне пикселей для более детального обнаружения.
Примерно в то же время, что и Faster R-CNN, серия YOLO (You Only Look Once) начала продвигать обнаружение объектов в реальном времени. Модели YOLO предсказывают граничные поля и вероятности классов за один проход по сети. Например. Ultralytics YOLOv8 предлагает повышенную точность и скорость с расширенными возможностями для многих задач компьютерного зрения.
RCNN изменил игру в компьютерном зрении, показав, как глубокое обучение может изменить обнаружение объектов. Его успех вдохновил множество новых идей в этой области. Несмотря на то что появились более новые модели, такие как Faster R-CNN и YOLO , которые исправили недостатки RCNN, его вклад - это огромная веха, о которой важно помнить.
По мере того как исследования будут продолжаться, мы увидим еще более совершенные и быстрые модели обнаружения объектов. Эти достижения не только улучшат то, как машины понимают мир, но и приведут к прогрессу во многих отраслях. Будущее обнаружения объектов выглядит захватывающе!
Хочешь и дальше узнавать об искусственном интеллекте? Стань частьюсообщества Ultralytics ! Изучи наш репозиторий GitHub, чтобы увидеть наши последние инновации в области искусственного интеллекта. Ознакомься с нашими решениями в области ИИ, охватывающими различные отрасли, такие как сельское хозяйство и производство. Присоединяйся к нам, чтобы учиться и развиваться!
Начни свое путешествие с будущим машинного обучения