Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

Two-Stage Object Detectors

2단계 객체 탐지기는 후보 영역을 제안한 다음 각 영역을 분류하고 정제합니다. Faster R-CNN의 작동 방식, R-CNN 계열, 장단점을 살펴봅니다.

2단계 객체 탐지기는 작업을 두 단계로 나누는 객체 탐지 모델입니다. 첫 단계에서는 이미지에 객체가 있을 만한 영역을 제안하고, 두 번째 단계에서는 각 영역을 분류한 다음 바운딩 박스를 보정합니다. R-CNN 계열은 2014년부터 2018년까지 이 설계를 정립했으며, 수년간 객체 탐지 및 인스턴스 분할 벤치마크를 선도했습니다. 1단계 객체 탐지기는 제안 단계를 건너뛰고 조밀한 그리드에서 한 번에 모든 박스를 예측합니다. 따라서 대부분의 실시간 시스템은 1단계 객체 탐지기를 사용합니다.

2단계 탐지기의 작동 방식#

백본 합성곱 신경망은 전체 이미지의 특징 맵을 한 번 계산하며, 대개 그 위에 특징 피라미드 네트워크(FPN)를 추가합니다. 첫 단계의 영역 제안 네트워크(RPN)는 특징 맵의 각 위치에서 앵커 박스 집합의 객체 여부 점수를 계산하고, 앵커의 형태를 조정하는 오프셋을 회귀합니다. Faster R-CNN은 위치마다 앵커 9개, 즉 크기 3개와 종횡비 3개를 사용합니다. 비최대 억제(NMS)는 겹치는 제안을 제거하며, 원 논문에서는 테스트 시 이미지당 점수가 가장 높은 영역 300개를 두 번째 단계로 전달했습니다. 두 번째 단계에서는 RoI 풀링 또는 더 정밀한 후속 기법인 RoIAlign이 각 제안 영역의 특징을 고정 크기 그리드로 자릅니다. 그런 다음 작은 헤드가 배경 클래스를 포함한 클래스를 예측하고, 각 크롭에 대해 클래스별 박스 오프셋을 예측합니다.

torchvision의 Faster R-CNN에서 RPN의 순전파 훅을 사용하면 두 번째 단계에 전달되는 작업량을 확인할 수 있습니다.

import urllib.request

from PIL import Image
from torchvision.models.detection import FasterRCNN_ResNet50_FPN_V2_Weights, fasterrcnn_resnet50_fpn_v2

# Load Faster R-CNN with a ResNet-50 FPN backbone, pretrained on COCO
weights = FasterRCNN_ResNet50_FPN_V2_Weights.DEFAULT
model = fasterrcnn_resnet50_fpn_v2(weights=weights).eval()
image = Image.open(urllib.request.urlopen("https://ultralytics.com/images/bus.jpg"))

# Report how many regions the first stage, the region proposal network, passes on
model.rpn.register_forward_hook(lambda module, inputs, output: print(f"Stage 1: {len(output[0][0])} proposals"))

# The second stage classifies and refines every proposal
detections = model([weights.transforms()(image)])[0]
labels = detections["labels"][detections["scores"] > 0.5]
print(f"Stage 2: {len(labels)} objects {[weights.meta['categories'][i] for i in labels]}")

다음 결과가 출력됩니다: Stage 1: 1000 proposals 및 Stage 2: 6 objects ['person', 'bus', 'person', 'person', 'person', 'tie']. torchvision은 추론 시 이미지당 제안 영역 1,000개를 유지하며, 두 번째 단계는 이 영역에서 신뢰도 높은 탐지 결과 6개를 생성합니다.

R-CNN 계열#

  • R-CNN(2014): 선택적 탐색으로 약 2,000개의 영역을 제안하고, 각 영역의 크기를 조정해 CNN에 개별 입력한 다음 서포트 벡터 머신으로 특징을 분류했습니다. 그 결과 VGG-16 백본을 사용한 탐지는 GPU에서 이미지당 47초가 걸렸습니다.
  • Fast R-CNN(2015): 특징 맵을 한 번 계산하고 RoI 풀링으로 각 제안 영역의 특징을 추출해 풀링함으로써, VGG-16의 학습 속도를 R-CNN보다 9배, 테스트 속도를 213배 높였습니다.
  • Faster R-CNN(2015): RPN이 선택적 탐색을 대체하고 백본의 특징을 공유하므로 제안 생성 비용이 거의 들지 않았으며, 전체 탐지기는 초당 5프레임으로 실행됐습니다.
  • Mask R-CNN(2017): 세 번째 분기가 각 영역의 픽셀 마스크를 예측해 탐지기를 인스턴스 분할 모델로 확장합니다. 또한 RoIAlign은 RoI 풀링이 반올림하던 위치에서 정확한 소수점 좌표의 특징을 샘플링합니다.
  • Cascade R-CNN(2018): IoU 임계값을 0.5, 0.6, 0.7로 높이며 학습한 두 번째 단계의 헤드 3개가 각각 앞 단계의 박스를 보정해 위치를 더 정밀하게 추정합니다.

2단계 탐지기와 1단계 탐지기 비교#

RPN은 분류기가 보기 전에 대부분의 배경을 제거하므로, 두 번째 단계는 객체가 일정 비율을 차지하도록 샘플링한 영역을 학습합니다. Fast R-CNN의 경우 그 비율은 25%이며, 각 영역을 정확한 위치에서 풀링한 특징으로 분류합니다. 1단계 탐지기는 조밀한 그리드의 모든 위치에 점수를 매기며, RetinaNet의 경우 이미지당 후보가 약 100,000개에 이릅니다. 2017년 초점 손실이 쉬운 배경 후보의 가중치를 낮추기 전까지 1단계 탐지기의 정확도는 2단계 탐지기보다 낮았습니다. 현재 1단계 모델은 훨씬 낮은 지연 시간으로 2단계 모델과 같거나 더 높은 정확도를 달성합니다. 단일 네트워크는 엣지 하드웨어로 내보내기도 더 간단하므로, 이제 2단계 모델은 주로 연구 기준 모델이나 Detectron2와 같은 라이브러리에서 사용됩니다. Ultralytics의 auto_annotate은 데이터 주석에 두 모델을 사용하는 동일한 제안 후 보정 방식을 적용합니다. YOLO26 탐지기가 박스를 제안하고, 각 박스를 프롬프트로 받은 Meta의 Segment Anything Model(SAM)이 박스 내부의 객체를 분할해 분할 라벨을 작성합니다.

실제 적용 사례#

  • 의료 영상: Mask R-CNN 변형 모델은 현미경 이미지와 CT 스캔에서 개별 세포, 세포핵, 병변을 탐지하고 윤곽을 표시합니다. 계수와 측정을 위해 각 인스턴스마다 별도의 마스크가 필요합니다.
  • 문서 레이아웃 분석: 360,000개가 넘는 페이지 이미지가 포함된 PubLayNet 벤치마크로 Faster R-CNN 및 Mask R-CNN 모델을 학습해 텍스트 인식에 앞서 텍스트 블록, 제목, 목록, 표, 그림을 찾았습니다.
  • 항공 이미지: Oriented R-CNN은 RPN을 확장해 회전된 영역을 제안하므로, 두 번째 단계에서 DOTA 데이터 세트의 선박, 비행기, 차량에 대한 회전 경계 상자를 출력합니다.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 보전, 지리 공간 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO를 활용해 항공기 검사, 활주로 FOD 감지, 공항 지상 운영, 복합재 결함 감지 등 항공우주 분야에 컴퓨터 비전을 적용하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요