Two-Stage Object Detectors
Исследуй механику двухэтапных детекторов объектов, фокусируясь на предложениях областей и классификации. Узнай, почему современные модели, такие как Ultralytics YOLO26, теперь лидируют.
Двухэтапные детекторы объектов — это сложный класс архитектур deep learning (DL), используемых в computer vision для поиска и определения локализации объектов на изображении. В отличие от одноэтапных аналогов, выполняющих детектирование за один проход, эти модели делят задачу на два отдельных этапа: предложение регионов и классификация объектов. Этот разделенный подход был разработан для обеспечения высокой точности локализации, что делает такие детекторы исторически важными в эволюции artificial intelligence (AI). Разделяя понятия «где» и «что», двухэтапные детекторы часто обеспечивают превосходную точность, особенно для мелких или перекрытых объектов, хотя обычно это происходит за счет увеличения вычислительных ресурсов и замедления inference latency.
Двухстадийный процесс#
Архитектура двухстадийного детектора основана на последовательном рабочем процессе, имитирующем то, как человек может внимательно изучать сцену.
-
Предложение регионов: На первом этапе модель сканирует входное изображение для поиска потенциальных областей, где могут находиться объекты. Компонент, известный как Region Proposal Network (RPN), создает разреженный набор кандидатных рамок, часто называемых областями интереса (RoIs). Этот этап отсеивает большую часть фона, позволяя сети сосредоточить вычислительную мощность на релевантных областях.
-
Классификация и уточнение: На втором этапе модель извлекает признаки из этих кандидатных областей с помощью Convolutional Neural Networks (CNNs). Затем она присваивает каждой области определенную метку класса (например, «человек», «транспортное средство») и уточняет координаты bounding box, чтобы точно обвести объект.
Яркими примерами такой архитектуры являются семейство R-CNN, в частности Faster R-CNN и Mask R-CNN, которые в течение нескольких лет задавали стандарты для академических бенчмарков.
Сравнение с одностадийными детекторами#
Полезно отличать двухэтапные модели от one-stage object detectors, таких как Single Shot MultiBox Detector (SSD) и серия Ultralytics YOLO. В то время как двухэтапные модели уделяют первоочередное внимание accuracy за счет раздельной обработки регионов, одноэтапные модели представляют задачу детектирования как единую задачу регрессии, сопоставляя пиксели изображения напрямую с координатами ограничивающих рамок и вероятностями классов.
Исторически это приводило к компромиссу: двухэтапные модели были точнее, но медленнее, в то время как одноэтапные — быстрее, но менее точны. Однако современные достижения стерли эту грань. Передовые модели, такие как YOLO26, теперь используют сквозные архитектуры, которые соперничают по точности с двухэтапными детекторами, сохраняя при этом скорость, необходимую для real-time inference.
Реальные приложения#
Из-за упора на precision и recall двухэтапные детекторы часто предпочитают в сценариях, где безопасность и детализация важнее чистой скорости обработки.
- Медицинская диагностическая визуализация: В сфере AI in healthcare пропуск диагноза может иметь критические последствия. Двухэтапные архитектуры часто применяются в medical image analysis для обнаружения аномалий, таких как опухоли на рентгенограммах или МРТ-сканах. Многоэтапный процесс помогает гарантировать, что мелкие новообразования не будут пропущены на фоне сложных тканей, предоставляя радиологом надежную автоматизированную помощь.
- Высокоточный промышленный контроль: В smart manufacturing автоматизированные системы визуального контроля используют эти модели для поиска микродефектов на сборочных линиях. Например, обнаружение микротрещины в лопатке турбины требует высокой точности Intersection over Union (IoU), которую обеспечивают двухэтапные детекторы, гарантируя, что на следующий этап производства попадут только безупречные компоненты.
Реализация современного обнаружения#
Хотя двухэтапные детекторы заложили основу для высокоточного компьютерного зрения, современные разработчики часто используют продвинутые одноэтапные модели, которые обеспечивают сопоставимую производительность при значительно более простых рабочих процессах развертывания. Ultralytics Platform упрощает обучение и развертывание таких моделей, эффективно управляя наборами данных и вычислительными ресурсами.
Следующий пример на 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





