Yolo 비전 선전
선전
지금 참여하기
용어집

2단계 객체 탐지기

2단계 객체 탐지기의 작동 원리를 탐구하며, 영역 제안과 분류에 중점을 둡니다. Ultralytics 같은 현대적 모델이 현재 선두를 달리는 이유를 알아보세요.

2단계 객체 탐지기는 컴퓨터 비전에서 이미지 내 항목을 식별하고 위치를 파악하는 데 사용되는 정교한 딥러닝(DL) 아키텍처의 한 종류입니다. 단일 단계 탐지기가 한 번의 통과로 탐지를 수행하는 것과 달리, 이 모델들은 작업을 영역 제안과 객체 분류라는 두 가지 별개의 단계로 나눕니다. 이 분할 접근법은 높은 위치 정확도를 우선시하기 위해 개발되었으며, 이로 인해 이 탐지기는 인공지능(AI) 발전 과정에서 역사적으로 중요한 위치를 차지합니다. "어디에"와 "무엇"을 분리함으로써, 2단계 탐지기는 특히 작거나 가려진 객체에서 종종 우수한 정밀도를 달성하지만, 이는 일반적으로 증가된 계산 자원과 느린 추론 지연 시간이라는 대가를 수반한다.

2단계 프로세스

2단계 검출기의 구조는 인간이 신중하게 장면을 살피는 방식을 모방한 순차적 워크플로우에 기반한다.

  1. 영역 제안: 첫 번째 단계에서 모델은 입력 이미지를 스캔하여 객체가 존재할 가능성이 있는 영역을 식별합니다. 영역 제안 네트워크(RPN) 로 알려진 구성 요소가 후보 박스 집합(관심 영역(RoI)으로 흔히 지칭됨)을 생성합니다. 이 단계는 배경의 대부분을 걸러내어 네트워크가 관련 영역에 처리 능력을 집중할 수 있도록 합니다.
  2. 분류 및 정밀화: 두 번째 단계에서 모델은 컨볼루션 신경망(CNN)을 사용하여 이러한 후보 영역들로부터 특징을 추출합니다. 그런 다음 각 영역에 특정 클래스 라벨(예: "사람", "차량")을 할당하고 경계 상자의 좌표를 정밀하게 조정하여 물체를 밀착하여 감쌉니다.

이 아키텍처의 대표적인 예로는 R-CNN 계열, 특히 Faster R-CNN과 Mask R-CNN이 있으며, 이들은 수년간 학술적 벤치마크의 기준을 제시해왔다.

단일 단계 검출기와의 비교

2단계 모델을 단일 단계 객체 탐지기 (예: Single Shot MultiBox Detector(SSD) 및 Ultralytics YOLO )와 구분하는 것이 유용합니다. 2단계 모델은 영역을 별도로 처리하여 정확도를 우선시하는 반면, 단일 단계 모델은 탐지를 단일 회귀 문제로 구성하여 이미지 픽셀을 경계 상자 좌표 및 클래스 확률에 직접 매핑합니다.

역사적으로 이는 상충 관계를 초래했습니다: 2단계 모델은 정확도는 높았으나 속도가 느렸고, 1단계 모델은 속도는 빠르지만 정확도는 낮았습니다. 그러나 현대적 발전으로 이 경계가 모호해졌습니다. YOLO26과 같은 최신 모델들은 이제 실시간 추론에 필요한 속도를 유지하면서도 2단계 탐지기의 정확도에 필적하는 엔드투엔드 아키텍처를 활용합니다.

실제 애플리케이션

정밀도와 재현율에 중점을 두기 때문에, 순수 처리 속도보다 안전성과 세부 사항이 더 중요한 시나리오에서는 2단계 검출기가 종종 선호됩니다.

  • 의료 진단 영상: 의료 분야 인공지능에서 진단을 놓치는 것은 치명적일 수 있습니다. 의료 영상 분석에서는 종양과 같은 detect 위해 X선이나 MRI 스캔에서 2단계 구조가 자주 사용됩니다. 이 다단계 과정은 복잡한 조직 배경 속에서 작은 병변이 간과되지 않도록 하여 방사선과 의사에게 높은 신뢰도의 자동화된 지원을 제공합니다.
  • 고정밀 산업 검사: 스마트 제조에서 자동화된 시각 검사 시스템은 이러한 모델을 활용해 조립 라인상의 미세 결함을 식별합니다. 예를 들어 터빈 블레이드의 미세 균열을 탐지하려면 2단계 검출기가 제공하는 높은 교차점 오버 유니온(IoU)정확도가 필요하며, 이를 통해 결함 없는 부품만 다음 생산 단계로 진행되도록 보장합니다.

현대적 탐지 구현

2단계 감지기가 고정밀 비전의 기반을 마련했지만, 현대 개발자들은 종종 동등한 성능을 제공하면서도 배포 워크플로우가 훨씬 간편한 고급 1단계 모델을 활용합니다. Ultralytics 이러한 모델의 훈련 및 배포를 간소화하며, 데이터셋과 컴퓨팅 리소스를 효율적으로 관리합니다.

다음 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

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기