[Object Detection] 1-Stage vs. 2-Stage Object Detection 아키텍처 비교
Object Detection detector
객체 탐지(Object Detection) 시스템에서 이미지나 비디오 내의 객체를 식별하고 위치를 추정하는 알고리즘 또는 모델을 의미합니다. 객체 탐지에서 detector는 특정 객체가 이미지에 존재하는지 여부를 판단하고, 그 객체의 위치를 나타내는 bounding box를 생성하는 역할을 합니다. 이 과정은 크게 두 가지로 나눠집니다:
- Classification (분류): 객체가 어떤 종류인지를 예측하는 단계입니다. 예를 들어, 이미지 내의 어떤 객체가 사람인지, 고양이인지, 자동차인지 분류하는 작업을 수행합니다.
- Localization (위치 추정): 객체가 이미지 내의 어느 위치에 존재하는지를 판단합니다. 이때 각 객체에 대해 bounding box를 생성하여, 해당 객체가 포함된 영역을 사각형으로 나타냅니다.
객체 탐지 모델은 이 두 가지 작업을 동시에 수행하는 방식으로, 분류와 위치 추정을 모두 처리합니다. 객체 탐지 모델이 생성한 bounding box는 객체의 위치를 정의하며, 모델은 각 박스가 어떤 객체에 해당하는지를 예측합니다.
2-Stage vs. 1-Stage Detector
객체 탐지(Object Detection) 모델은 크게 1-stage detector와 2-stage detector로 구분됩니다. 이 두 방식은 객체 탐지의 처리 방식과 속도, 성능에서 차이를 보이며 각각의 장단점이 있습니다. 2-stage와 1-stage detector는 이 객체 탐지를 처리하는 방식에서 차이를 보입니다.
- 2-Stage Detector는 먼저 이미지 내에서 객체가 있을 법한 후보 영역을 추출한 후, 그 영역에 대해 분류를 수행하는 방식입니다. 이 방식은 정확도는 높지만 처리 시간이 상대적으로 많이 걸립니다.
- 1-Stage Detector는 anchor box와 CNN을 통한 동시 처리 방식으로, 이미지를 한 번에 처리하여 객체를 탐지합니다. 이 방식은 속도가 빠르지만 정확도는 상대적으로 낮을 수 있습니다.
객체 탐지에서 detector는 객체를 찾아내고, 그 위치와 종류를 예측하는 핵심적인 역할을 합니다.
2-Stage Object Detector
2-stage detector는 객체 검출을 두 단계로 나누어 처리합니다.
- Region Proposal 단계에서, 이미지에서 객체가 있을 법한 영역(ROI)을 찾습니다. 이때 사용되는 대표적인 기법은 Selective Search와 Sliding Window입니다.
- Selective Search: 영역의 질감, 색, 강도 등을 이용해 물체가 있을 법한 박스나 영역을 찾아냅니다.
- Sliding Window: 정해진 크기의 bounding box를 이미지에 슬라이딩 방식으로 적용하여 객체를 찾습니다. 이 방법은 비효율적이며 시간이 많이 소요됩니다.
- Classification 단계에서는 후보 영역을 기반으로 실제 객체가 무엇인지 분류합니다. 이 과정은 시간이 걸리지만, 정확도가 높습니다.
Selective Search
2024.04.19 - [CV/논문 리뷰] - [논문 리뷰] Selective Search for Object Recognition (선택적 탐색)
[논문 리뷰] Selective Search for Object Recognition (선택적 탐색)
이 리뷰는 오직 학습과 참고 목적으로 작성되었으며, 해당 논문을 통해 얻은 통찰력과 지식을 공유하고자 하는 의도에서 작성된 것입니다. 본 리뷰를 통해 수익을 창출하는 것이 아니라, 제 학
c0mputermaster.tistory.com
대표적인 2-stage 모델:
- R-CNN, Fast R-CNN, Faster R-CNN
장점:
- 높은 검출 성능을 제공
- 비교적 정확한 객체 탐지
단점:
- 속도가 느림
- 실시간 객체 탐지에는 적합하지 않음
1-Stage Object Detector
1-stage detector는 객체 탐지에서 속도를 우선시하는 방식입니다. 이 방식은 이미지를 한 번에 처리하여 객체를 찾고, 그 위치와 종류를 예측하는 과정을 동시에 진행합니다. 이때 사용되는 방법 중 하나는 Anchor Box를 활용하는 방식입니다.
Anchor Box는 사전 정의된 크기와 비율을 가진 박스로, 다양한 크기와 비율을 갖는 객체를 탐지하기 위해 설계됩니다. 이 방식은 K-means 알고리즘을 사용하여 생성된 여러 개의 박스를 사용하고, 각 박스는 특정 영역에서 객체를 탐지하는 역할을 합니다. 학습을 통해 Anchor Box의 위치나 크기를 최적화하여 객체를 탐지합니다.
이 방식은 슬라이딩 윈도우 기법을 대체하며, 이미지의 모든 잠재적인 위치에서 예측을 계산할 필요 없이 빠르게 처리할 수 있습니다.
대표적인 1-stage 모델은 RetinaNet, SSD, EfficientDet, YOLO 등이 있습니다.
장점:
- 빠른 속도로 실시간 객체 탐지가 가능
- 각 객체에 대해 별도의 후보 영역을 생성할 필요가 없어 속도가 빠름
단점:
- 정확도가 2-stage 모델에 비해 낮을 수 있음
- 복잡한 객체 탐지에서는 정확도가 떨어질 가능성 있음
2-Stage vs 1-Stage Object Detector 정리
처리 방식 | 후보 영역(Region Proposal) 추출 후, 분류 | Anchor Box를 통해 동시에 처리 |
속도 | 느림 | 빠름 |
정확도 | 높음 | 상대적으로 낮음 |
실시간 탐지 | 어려움 | 가능 |
대표 모델 | R-CNN, Fast R-CNN, Faster R-CNN | RetinaNet, SSD, EfficientDet, YOLO |