2-Stage Detector
R-CNN
- 2-stage Detector로 Region Proposals 단계를 수행
- R-CNN의 개선된 모델인 Fast R-CNN, Faster R-CNN 모델의 기반이 됨
- CVPR 2014에 출판된 논문으로, 2-Stage Detector 분야의 초기 모델
cc
- Input Image
- Region Proposals : 인풋된 이미지에 대한 Proposals (ROI)
- Warped Region : ROI 부분을 잘라서 고정된 사이즈로 리사이즈
- Backbone : 리사이즈된 이미지를 CNN backbone에 통과
5-1. SVM Classifier
5-2. Bbox Regressor
Region Proposals
- Selective Search 기법으로 2000개의 ROI(Region of Interests)를 추출
- 룰 기반의 CPU 연산 (GRAPHIC 연산이 아님)
Selective Search : 인접한 영역끼리의 유사성을 측정해 큰 영역으로 차례차례 통합
Warped Region
- 각 ROI에 대하여 동일한 크기의 이미지로 변환
Backbone
- Region Proposals마다 각각의 backbone (CNN)에 넣어서 결과를 계산
Output
- SVM : 각 Region Proposals 마다 SVM으로 CLASS 분류 결과 예측
- Bbox Regression : Backbone의 Feature를 Regression으로 Bounding Box 위치 예측
Limitation
- CPU 기반의 Selective Search기법으로 인해 많은 시간이 필요
- 2000개의 ROI로 인하여 2000번의 CNN 연산이 필요
Fast R-CNN
원본 이미지에 대해 딱 한번의 CNN 연산만 넣어서 Feature Map 생성
RoI Pooling
- 각 RoI영역에 대해 Max Pooling 이용
- 고정된 크기의 Vector 생성
Output
- Pooling Layer와 FC Layer를 거쳐, Feature Vector생성
- Softmax Classifier : 각 RoI의 Class를 추론
- Bbox Regressor : 각 RoI의 Bounding Box 크기 및 위치를 조정함
Limitation
- Selective Search 기법을 여전히 이용함, CPU 기반 연산으로 시간이 오래걸림
Faster R-CNN
Faster R-CNN(Region-based Convolutional Neural Networks)의 Region Proposal Network(RPN)에 대해서 설명하겠습니다. 중학생도 이해할 수 있도록 친절하고 자세히 설명할게요.
1. Faster R-CNN의 기본 개념
Faster R-CNN은 이미지를 보고 그 안에 어떤 객체가 있는지, 그리고 그 객체가 어디에 있는지 찾아내는 인공지능 모델입니다. Faster R-CNN은 두 가지 주요 부분으로 나뉩니다:
1. Region Proposal Network (RPN)
2. Object Detection Network
2. Region Proposal Network (RPN)
RPN은 이미지에서 물체가 있을 법한 후보 영역(region)을 찾아주는 역할을 합니다. RPN은 세 가지 주요 개념으로 설명할 수 있습니다: Anchor Box, Sliding Window, Feature Map.
2.1 Anchor Box
- Anchor Box: 이미지의 다양한 위치에 미리 정의된 여러 크기와 비율의 박스들입니다. 예를 들어, 작은 박스, 큰 박스, 세로로 긴 박스, 가로로 긴 박스 등 여러 종류의 박스가 있습니다. 각 위치마다 이런 다양한 모양의 박스들이 존재하게 됩니다.
2.2 Sliding Window
- Sliding Window: 이미지를 일정한 크기의 창(window)으로 나눠서 그 창을 일정한 간격으로 움직여가며 이미지 전체를 훑는 방식입니다. 각 창마다 Feature Map을 통해 얻어진 특성들을 분석하게 됩니다.
2.3 Feature Map
- Feature Map: 이미지에서 중요한 특성(feature)들을 뽑아낸 결과입니다. 이미지를 CNN(Convolutional Neural Network)으로 처리하면 Feature Map이 생성되는데, 이 Feature Map은 이미지의 중요한 특징들을 담고 있습니다.
3. RPN의 작동 과정
- 이미지 입력: 원본 이미지를 CNN에 입력합니다.
- Feature Map 생성: CNN은 원본 이미지를 여러 층(layer)을 통해 처리해서 Feature Map을 생성합니다.
- Sliding Window 적용: Feature Map 위에 일정한 크기의 창(window)을 일정 간격으로 이동시키면서 분석합니다.
- Anchor Box 적용: 각 창마다 미리 정의된 여러 크기와 비율의 Anchor Box를 배치합니다.
- Cls Layer: 각 Anchor Box가 물체를 포함하는지 여부를 판별하는 분류(classification) 층입니다. 여기서 각 Anchor Box가 물체인지 배경인지 분류합니다.
- Reg Layer: Anchor Box의 위치를 더 정확하게 조정하는 회귀(regression) 층입니다. 여기서 Anchor Box의 좌표를 조정하여 물체의 정확한 위치를 예측합니다.
4. 요약
- Anchor Box: 여러 크기와 비율로 미리 정의된 박스들입니다.
- Sliding Window: 이미지를 일정한 크기로 나누어 이동하면서 분석하는 방법입니다.
- Feature Map: 이미지의 중요한 특징을 추출한 결과입니다.
- Cls Layer: Anchor Box가 물체를 포함하는지 분류합니다.
- Reg Layer: Anchor Box의 위치를 정확하게 조정합니다.
Faster R-CNN의 RPN은 이렇게 작동하여 이미지에서 물체가 있을 법한 영역을 찾아내고, 그 영역들을 더 정확히 분류하고 조정하여 물체의 위치를 예측합니다. 이렇게 찾아낸 후보 영역들은 이후의 Object Detection Network에서 정확하게 어떤 물체인지 판별하는 데 사용됩니다.
Test Process
NMS : Non Maximum-Suppression
- 중복된 경계 Bbox를 제거하여 최종 객체 감지 결과를 정리하고 정확도를 높이는 기술
- 각 클래스 마다 Score가 가장 높은 박스와 IoU가 특정 기준이상 (e.g. 0.7)인 박스 제거