Two-Stage Object Detectors
영역 제안과 분류를 중심으로 2단계 객체 검출기의 작동 원리를 살펴봅니다. Ultralytics YOLO26과 같은 최신 모델이 현재 선도적인 이유를 알아봅니다.
2단계 객체 탐지기는 이미지 내 항목을 식별하고 위치를 찾기 위해 컴퓨터 비전에서 사용되는 정교한 딥 러닝 (DL) 아키텍처입니다. 단일 패스로 탐지를 수행하는 1단계 객체 탐지기와 달리, 이러한 모델은 작업을 영역 제안과 객체 분류라는 두 가지 구분되는 단계로 나눕니다. 이러한 이중화된 접근 방식은 높은 위치 정확도를 우선시하기 위해 개척되었으며, 인공지능 (AI)의 발전 과정에서 이러한 탐지기들이 역사적으로 중요한 역할을 하게 했습니다. 2단계 탐지기는 "어디에 있는가"와 "무엇인가"를 분리함으로써 특히 작거나 가려진 객체에서 더 높은 정밀도를 달성하는 경우가 많지만, 일반적으로 더 많은 컴퓨팅 리소스와 더 느린 추론 지연 시간을 감수해야 합니다.
2단계 프로세스#
2단계 탐지기의 아키텍처는 사람이 장면을 주의 깊게 살펴보는 방식을 모방한 순차적 워크플로를 기반으로 합니다.
-
영역 제안: 첫 번째 단계에서 모델은 입력 이미지를 스캔하여 객체가 존재할 가능성이 있는 영역을 식별합니다. 영역 제안 네트워크 (RPN)라는 구성 요소가 후보 박스의 희소한 집합을 생성하며, 이를 관심 영역(Regions of Interest, RoIs)이라고 부르는 경우가 많습니다. 이 단계에서는 배경의 대부분을 필터링하여 네트워크가 관련 영역에 처리 능력을 집중할 수 있도록 합니다.
-
분류 및 정제: 두 번째 단계에서 모델은 합성곱 신경망 (CNN)을 사용하여 이러한 후보 영역에서 특징을 추출합니다. 그런 다음 각 영역에 특정 클래스 레이블(예: "사람", "차량")을 할당하고, 객체를 정확하게 둘러싸도록 바운딩 박스의 좌표를 정제합니다.
이 아키텍처의 대표적인 예로는 R-CNN 계열, 특히 Faster R-CNN과 Mask R-CNN이 있으며, 이들은 수년 동안 학술 벤치마크의 기준을 세웠습니다.
1단계 탐지기와의 비교#
2단계 모델과 Single Shot MultiBox Detector (SSD) 및 Ultralytics YOLO 시리즈와 같은 1단계 객체 탐지기를 구분하는 것이 도움이 됩니다. 2단계 모델은 영역을 পৃথ পৃথ하게 처리하여 정확도를 우선시하는 반면, 1단계 모델은 탐지를 단일 회귀 문제로 정의하여 이미지 픽셀을 바운딩 박스 좌표와 클래스 확률에 직접 매핑합니다.
역사적으로 이는 트레이드오프를 만들었습니다. 2단계 모델은 더 정확하지만 느렸고, 1단계 모델은 더 빠르지만 정밀도가 낮았습니다. 그러나 최신 기술의 발전으로 이러한 차이는 모호해졌습니다. YOLO26과 같은 최첨단 모델은 이제 2단계 탐지기에 필적하는 정확도를 제공하는 엔드투엔드 아키텍처를 활용하면서 실시간 추론에 필요한 속도를 유지합니다.
실제 적용 사례#
정밀도와 재현율을 중시하기 때문에 2단계 탐지기는 원시 처리 속도보다 안전성과 세부 정보가 더 중요한 시나리오에서 선호되는 경우가 많습니다.
- 의료 진단 영상: 헬스케어 분야의 AI에서는 진단을 놓치는 것이 치명적일 수 있습니다. 2단계 아키텍처는 X선 또는 MRI 스캔에서 종양과 같은 이상을 탐지하기 위한 의료 영상 분석에 자주 사용됩니다. 여러 단계로 구성된 프로세스는 복잡한 조직 배경 속에서 작은 병변을 놓치지 않도록 지원하며, 영상의학 전문의에게 높은 신뢰도의 자동화 지원을 제공합니다.
- 고정밀 산업 검사: 스마트 제조에서 자동화된 비전 검사 시스템은 이러한 모델을 사용하여 조립 라인의 미세한 결함을 식별합니다. 예를 들어 터빈 블레이드의 미세한 균열을 탐지하려면 2단계 탐지기가 제공하는 높은 IoU(Intersection over Union) 정확도가 필요하며, 이를 통해 결함이 전혀 없는 부품만 생산의 다음 단계로 진행되도록 합니다.
최신 탐지 구현#
2단계 탐지기는 고정밀 비전의 기반을 마련했지만, 현대의 개발자는 배포 워크플로가 훨씬 간단하면서도 비슷한 성능을 제공하는 고급 1단계 모델을 자주 사용합니다. Ultralytics Platform은 이러한 모델의 학습과 배포를 간소화하고 데이터셋과 컴퓨팅 리소스를 효율적으로 관리합니다.
다음 Python 예제에서는 ultralytics을 사용하여 최신 객체 탐지 워크플로에서 모델을 로드하고 추론을 실행하는 방법을 보여줍니다. 이를 통해 기존 2단계 접근 방식과 유사한 높은 정확도의 결과를 더 효율적으로 얻을 수 있습니다.
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








