One-Stage Detector:
정의: One-stage detector는 객체의 위치와 클래스를 동시에 한 번의 단계에서 예측합니다.
특징:
- 속도: One-stage 방식은 빠른 속도로 객체를 탐지하는데 초점을 맞추고 있습니다.
- Simplicity: 훈련과 추론 과정이 비교적 간단합니다.
대표 모델:
- YOLO (You Only Look Once):
그리드 기반의 방식을 사용하여 각 셀에서 여러 객체를 예측
- SSD (Single Shot MultiBox Detector):
다양한 스케일의 feature map에서 예측을 수행하여 다양한 크기의 객체를 탐지
one stage detector 에서의 anchor box
- 요약: One-stage에서는 dense하게 anchor box를 샘플링하여 빠른 객체 탐지를 목표
- Dense Anchor Sampling
- One-stage 모델에서는 이미지 전체에 대해 균일하게 anchor box를 샘플링
- 특히, SSD에서는 여러 feature map 레벨에서 anchor box를 생성하여 다양한 크기의 객체를 탐지합니다.
- 다양한 크기와 비율
- One-stage 모델은 다양한 크기와 비율의 anchor box를 사용하여 다양한 형태의 객체를 탐지하는 데 중점
- 모든 Anchor를 대상으로 분류 및 회귀
- 각 anchor box에 대해
객체의 존재 여부
와 클래스
, 그리고 바운딩 박스의 오프셋(offset)
을 동시에 예측
Two-Stage Detector:
정의: Two-stage detector는 객체 탐지를 두 단계로 분리하여 수행합니다. 첫 번째 단계에서는 객체가 있을만한 영역을 추천(Region Proposal)
하고, 두 번째 단계에서는 해당 영역들을 세부적으로 분석하여 객체의 위치와 클래스를 예측
합니다.
특징:
- 정확성: Two-stage 방식은 보통 one-stage 방식보다 높은 정확도를 보입니다.
- Complexity: 훈련과 추론 과정이 one-stage 방식보다 복잡할 수 있습니다.
대표 모델:
- Faster R-CNN: 첫 번째 단계에서 RPN(Region Proposal Network)을 사용하여 영역을 추천하고, 두 번째 단계에서는 추천된 영역들을 분류하고 바운딩 박스를 조정합니다.
- R-FCN (Region-based Fully Convolutional Network): Faster R-CNN의 변형으로, 계산 효율을 높이기 위해 완전 합성곱 연산을 사용합니다.
two stage detector 에서의 anchor box
- 요약: selective하게 anchor box를 샘플링하여 정확도를 높이는 데 중점
- Selective Anchor Sampling
- Faster R-CNN과 같은 Two-stage 모델에서는 첫 번째 단계인 RPN(Region Proposal Network)에서 anchor box를 사용하여 영역 제안을 생성합니다.
- 이 제안들 중에서 높은 점수를 받은 것들만 두 번째 단계로 넘어갑니다.
- 다양한 크기와 비율
- Two-stage 모델도 다양한 크기와 비율의 anchor box를 사용합니다.
- 그러나 이 모델들은 주로 중간 크기의 feature map에서 anchor box를 생성하는 데 중점을 둡니다.
- 두 단계의 예측
- RPN: 각 anchor box가 객체를 포함하는지의 확률과 바운딩 박스의 오프셋을 예측
- 두 번째 단계: RPN에서 생성된 제안들을 기반으로 객체의 실제 클래스와 바운딩 박스를 세부적으로 예측
요약:
- One-Stage Detector는 빠르고 간단하지만, 정확도가 떨어질 수 있습니다.
- Two-Stage Detector는 높은 정확도를 제공하지만, 연산이 복잡하고 속도가 느릴 수 있습니다.
두 접근법 간의 trade-off는 사용 사례와 필요한 리소스에 따라 선택해야 합니다. 실시간 탐지가 필요한 경우에는 one-stage가 적합하며, 높은 정확도가 필요한 연구나 프로젝트에서는 two-stage가 적합합니다.