[객체 검출] Region proposal 기법
Region Proposal은 이미지 내에서 객체가 존재할 가능성이 높은 후보 영역(Regions of Interest, ROIs)을 추출하는 과정을 의미합니다.
이는 객체 탐지(Object Detection) 파이프라인에서 매우 중요한 단계이며, 전체 이미지에서 무작위로 객체를 찾기보다는 객체가 있을 법한 위치를 좁혀주는 역할을 담당합니다.
기본적인 개념은 다음과 같습니다.
Region Proposal은 “객체가 있을 가능성이 높은 영역만 미리 골라주는 단계”입니다.
그 후 이 후보 영역들만 정교하게 분류(Classification)와 경계 상자 보정(Bounding Box Regression)을 수행합니다.
Region Proposal이 필요한 이유
전통적인 객체 탐지 방식은 슬라이딩 윈도우(sliding window)처럼 이미지 전체를 다양한 크기와 위치에 걸쳐 검사하였습니다.
하지만 이 방식은 계산량이 매우 크고, 많은 불필요한 영역을 검사해야 하며, 속도가 매우 느리다는 단점이 있습니다.
이를 해결하기 위해 “객체가 있을 법한 영역만 골라내자”라는 아이디어가 등장하였고, 그것이 바로 Region Proposal입니다.
Region Proposal을 사용하면 연산량이 크게 줄어들고, 탐지 정확도와 속도 모두 향상되는 장점이 있습니다.
대표적인 Region Proposal 방법
1) Selective Search (대표적으로 RCNN)
Selective Search는 R-CNN 계열에서 널리 사용되었던 알고리즘입니다. 이 방식은 이미지를 작은 영역(슈퍼픽셀)으로 먼저 분할한 뒤, 색(color), 질감(texture), 크기(size), 경계(enclosure) 등의 특징이 비슷한 영역들을 bottom-up 방식으로 통합하여 다양한 크기의 후보 영역을 생성합니다.
Selective Search의 특징은 다음과 같습니다.
- 평균 약 2,000개의 후보 영역을 생성합니다.
- 비교적 높은 품질의 후보 박스를 제공하지만
- 계산량이 많아 속도가 느립니다.
2) Edge Boxes
객체는 일반적으로 엣지가 많은 특징을 갖는다는 점에 착안하여, 엣지 정보를 기반으로 경계 상자를 제안하는 방법입니다.
Selective Search보다 빠르지만 정확도는 상대적으로 낮을 수 있습니다.
3) Region Proposal Network (RPN) (대표적으로 Faster R-CNN)
Faster R-CNN 이후부터는 region proposal이 딥러닝 모델 내부로 통합된 형태로 발전하였습니다. RPN은 CNN의 feature map을 입력받아 앵커 박스(anchor box) 개념을 기반으로 각 위치에서 여러 크기와 비율의 박스를 예측하고, 그중 객체일 가능성이 높은 박스만 선택합니다.
RPN의 특징은 다음과 같습니다.
- Selective Search 대비 매우 빠름
- End-to-end 학습 가능
- 정확도 또한 우수함
Region Proposal의 역할 요약
Region Proposal 단계는 다음과 같은 목적을 갖습니다.
- 이미지 내 후보 영역을 생성하여 탐지 범위를 제한합니다.
- 탐지할 영역 수를 줄여 전체 계산량을 감소시킵니다.
- 후속 분류/회귀 네트워크가 더 정확한 예측을 할 수 있도록 도와줍니다.
- 객체 탐지 모델의 효율성과 속도를 크게 향상시킵니다.
정리
Region Proposal은 객체 탐지를 구성하는 핵심 과정 중 하나로, 이미지 전체를 무차별적으로 검토하는 대신, 객체가 있을 가능성이 높은 후보 영역만을 선택하여 이후의 정교한 분석 과정을 수행할 수 있도록 만드는 효율적인 방법입니다.
Selective Search와 같은 고전적 방식부터 RPN과 같은 딥러닝 기반 방식까지 발전해오며, 오늘날 대부분의 Two-stage Detector가 이 기술을 사용하고 있습니다.