Two-Stage Object Detectors
Изучи принципы работы двухэтапных детекторов объектов, уделив внимание предложениям регионов и классификации. Узнай, почему современные модели, такие как Ultralytics YOLO26, теперь лидируют.
Двухэтапные детекторы объектов — это сложный класс архитектур глубокого обучения (DL), используемых в компьютерном зрении для идентификации и локализации объектов на изображении. В отличие от одностадийных аналогов, выполняющих детекцию за один проход, эти модели разделяют задачу на два отдельных этапа: генерацию предложений регионов и классификацию объектов. Такой двухэтапный подход был разработан для приоритизации высокой точности локализации, благодаря чему эти детекторы сыграли исторически важную роль в развитии искусственного интеллекта (AI). Разделяя «где» и «что», двухэтапные детекторы часто обеспечивают более высокую точность, особенно для небольших или частично закрытых объектов, однако обычно это требует больше вычислительных ресурсов и приводит к увеличению задержки инференса.
Двухэтапный процесс#
Архитектура двухэтапного детектора основана на последовательном рабочем процессе, имитирующем то, как человек может внимательно изучать сцену.
-
Генерация предложений регионов: На первом этапе модель сканирует входное изображение, чтобы определить потенциальные области, в которых могут находиться объекты. Компонент, известный как сеть предложений регионов (RPN), генерирует разреженный набор рамок-кандидатов, которые часто называют регионами интереса (RoIs). На этом этапе отфильтровывается большая часть фона, что позволяет сети сосредоточить вычислительные ресурсы на релевантных областях.
-
Классификация и уточнение: На втором этапе модель извлекает признаки из этих регионов-кандидатов с помощью сверточных нейронных сетей (CNNs). Затем она присваивает каждому региону определенную метку класса (например, «человек» или «транспортное средство») и уточняет координаты ограничивающей рамки, чтобы она плотно охватывала объект.
К известным примерам этой архитектуры относится семейство R-CNN, в частности Faster R-CNN и Mask R-CNN, которые на протяжении нескольких лет задавали стандарт для академических бенчмарков.
Сравнение с одностадийными детекторами#
Полезно отличать двухэтапные модели от одностадийных детекторов объектов, таких как однокадровый детектор MultiBox (SSD) и серия Ultralytics YOLO. Двухэтапные модели повышают точность, обрабатывая регионы отдельно, тогда как одностадийные модели рассматривают детекцию как единую задачу регрессии, напрямую сопоставляя пиксели изображения с координатами ограничивающих рамок и вероятностями классов.
Исторически это создавало компромисс: двухэтапные модели были точнее, но медленнее, а одностадийные — быстрее, но менее точными. Однако современные достижения стерли эту границу. Передовые модели, такие как YOLO26, теперь используют сквозные архитектуры, сопоставимые по точности с двухэтапными детекторами и при этом сохраняющие скорость, необходимую для инференса в реальном времени.
Практические применения#
Благодаря акценту на точности и полноте двухэтапные детекторы часто предпочитают в сценариях, где безопасность и детализация важнее чистой скорости обработки.
- Медицинская диагностическая визуализация: В области AI в здравоохранении пропуск диагноза может иметь критические последствия. Двухэтапные архитектуры часто применяются для анализа медицинских изображений, чтобы обнаруживать аномалии, такие как опухоли, на рентгеновских снимках или МРТ-сканах. Многоэтапный процесс помогает не пропустить небольшие поражения на фоне сложной структуры тканей, предоставляя рентгенологам автоматизированную помощь с высокой степенью уверенности.
- Промышленный контроль с высокой точностью: В сфере умного производства автоматизированные системы визуального контроля используют эти модели для выявления микроскопических дефектов на сборочных линиях. Например, обнаружение трещины толщиной с волос в лопатке турбины требует высокой точности пересечения над объединением (IoU), которую обеспечивают двухэтапные детекторы, гарантируя, что на следующий этап производства поступят только безупречные компоненты.
Внедрение современных методов детекции#
Хотя двухэтапные детекторы заложили основу для высокоточного компьютерного зрения, современные разработчики часто используют передовые одностадийные модели, которые обеспечивают сопоставимую производительность и значительно упрощают процессы развертывания. Платформа Ultralytics упрощает обучение и развертывание этих моделей, эффективно управляя наборами данных и вычислительными ресурсами.
В следующем примере на Python показано, как загрузить модель и запустить инференс с использованием современного рабочего процесса детекции объектов с ultralytics, получая результаты высокой точности, сопоставимые с традиционными двухэтапными подходами, но с большей эффективностью:
from ultralytics import YOLO
# Load the YOLO26 model, a modern high-accuracy detector
model = YOLO("yolo26n.pt")
# Run inference on an image to detect objects
results = model("https://ultralytics.com/images/bus.jpg")
# Process results (bounding boxes, classes, and confidence scores)
for result in results:
result.show() # Display the detection outcomes
print(result.boxes.conf) # Print confidence scores








