Object Detection Architectures
Изучи архитектуры обнаружения объектов — от магистральных сетей до голов. Узнай, как Ultralytics YOLO26 обеспечивает выдающиеся скорость и точность для компьютерного зрения в реальном времени.
Архитектуры обнаружения объектов — это структурные схемы нейронных сетей, используемых для идентификации и определения местоположения объектов в визуальных данных. В более широкой области компьютерного зрения (CV) эти архитектуры определяют, как машина «видит», преобразуя необработанные данные о пикселях в осмысленные выводы. В отличие от обычных моделей классификации, которые просто присваивают изображению метку, архитектура обнаружения объектов предназначена для вывода ограничивающей рамки, метки класса и оценки уверенности для каждого найденного отдельного объекта. Эта структурная схема определяет скорость, точность и вычислительную эффективность модели, что делает её ключевым фактором при выборе модели для вывода в реальном времени или высокоточного анализа.
Основные компоненты архитектуры#
Хотя конкретные конструкции различаются, большинство современных архитектур имеют три фундаментальных компонента: backbone, neck и head. Backbone выступает в роли основного экстрактора признаков. Обычно это предварительно обученная на большом наборе данных, таком как ImageNet, сверточная нейронная сеть (CNN), отвечающая за выявление базовых форм, границ и текстур. Среди популярных вариантов backbone — ResNet и CSPDarknet.
Neck соединяет backbone с финальными выходными слоями. Его задача — смешивать и объединять признаки с разных этапов backbone, чтобы модель могла обнаруживать объекты различных размеров — концепция, известная как многоштабное объединение признаков. В этом компоненте архитектуры часто используется сеть пирамиды признаков (FPN) или сеть агрегации путей (PANet), чтобы обогатить семантическую информацию, передаваемую в слои предсказания. Наконец, голова обнаружения обрабатывает эти объединённые признаки, чтобы предсказать конкретный класс и координаты местоположения каждого объекта.
Эволюция: двухэтапные и одноэтапные архитектуры#
Исторически архитектуры делились на две основные категории. Двухэтапные детекторы, такие как семейство R-CNN, сначала предлагают области интереса (RoIs), в которых могут находиться объекты, а затем классифицируют эти области на втором этапе. Хотя обычно они отличаются высокой точностью, для периферийных устройств они часто слишком требовательны к вычислительным ресурсам.
В отличие от них, одноэтапные детекторы рассматривают обнаружение как простую задачу регрессии, напрямую сопоставляя пиксели изображения с координатами ограничивающих рамок и вероятностями классов за один проход. Этот подход, впервые реализованный семейством YOLO (смотришь только один раз), произвёл революцию в отрасли, обеспечив работу в реальном времени. Современные достижения привели к появлению таких моделей, как YOLO26, которые не только обеспечивают более высокую скорость, но и используют сквозные архитектуры без NMS. Устранение необходимости в постобработке подавления немаксимумов (NMS) снижает вариативность задержки в этих новых архитектурах, что крайне важно для критически важных с точки зрения безопасности систем.
Практические применения#
Выбор архитектуры напрямую влияет на успешность решений на основе AI в различных отраслях.
- Автоматизация розничной торговли: В умных супермаркетах эффективные одноэтапные архитектуры обеспечивают работу автоматизированных касс, которые мгновенно распознают товары на конвейерной ленте или в корзине, сокращая время ожидания и количество ошибок, связанных с человеческим фактором.
- Медицинская диагностика: Высокоточные архитектуры используются в анализе медицинских изображений для обнаружения аномалий, таких как опухоли, на рентгеновских снимках или МРТ-сканах. В этом случае способность архитектуры сохранять мелкие детали важнее, чем исходная скорость обработки.
Различия между связанными терминами#
Важно отличать архитектуры обнаружения от похожих задач компьютерного зрения:
- По сравнению с классификацией изображений: Архитектура классификации изображений (например, VGG или EfficientNet) присваивает единственную метку всему изображению (например, «кошка»). Она не сообщает, где находится кошка и есть ли на изображении несколько кошек, что является основной функцией архитектур обнаружения.
- По сравнению с сегментацией экземпляров: Если обнаружение помещает объект в рамку, сегментация экземпляров определяет точный контур каждого объекта на уровне пикселей (маску). Архитектуры сегментации часто являются расширениями архитектур обнаружения (например, за счёт добавления ветви маски в head обнаружения).
Реализация с Ultralytics#
Современные фреймворки абстрагируют сложность этих архитектур, позволяя разработчикам использовать передовые конструкции с минимальным объёмом кода. С помощью пакета ultralytics ты можешь загрузить предварительно обученную модель YOLO26 и сразу запустить вывод. Команды, которым нужно управлять наборами данных и обучать пользовательские архитектуры в облаке, могут использовать Ultralytics Platform, которая упрощает весь конвейер MLOps.
from ultralytics import YOLO
# Load the YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")
# Run inference on an image source
# This uses the model's architecture to detect objects
results = model("https://ultralytics.com/images/bus.jpg")
# Display the results
results[0].show()








