RNNs
Object Detection
One Stage vs Two Stage
- One Stage
- Region Proposals → Feature Extractor → Classification & Regression
- Two Stage
- Feature Extractor → Classification & Regression
- Region Proposals
- 이미지 내 사물이 존재할 법한 위치를 모두 찾아 나열
- 위치 정보 제안
- Feature Extractor
- Classification
- Regression
- 추출된 Feature를 토대로 위치 정보를 세밀하게 조정
- bbox 예측
R-CNN Families
R-CNN vs Fast R-CNN vs Faster R-CNN
- R-CNN
- CPU 상에서 Selective Search 진행
- 찾은 위치를 모두 개별적으로 CNN을 통해 Feature Extraction
- 추출한 Feature를 SVM과 Regressor를 통해 bbox와 class prediction
- Fast R-CNN
- 이미지를 통째로 CNN을 통과시켜 Feature Map을 형성
- 속도 측면에서의 향상
- 찾은 위치를 crop해 모두 CNN에 입력하던 R-CNN과의 차이점
- Feature Map에서
RoI Pooling
을 통해 각 Region들에 대해 Feature 정보 추출
- Feature Map은 어느정도 위치 정보 보존
- FC Layer를 통과해야 하기 때문에 고정된 크기의 벡터 필수
- 이후 FC layer를 통해 classification과 regressor 입력을 생성해 bbox prediction
- 위치 정보 왜곡되는 단점
- Faster R-CNN
- Region Proposal Network (RPN)을 도입
- Selective Search의 대체
- 모든 연산이 GPU에서 작동
- Feature map을 보고 어느 곳에 물체가 있을지를 예측
- End-to-End로 진화
- Sliding Window 방식
- 다양한 형태의 윈도우를 슬라이딩하며 물체가 존재하는지 확인
- 단점: 너무 많은 부분을 확인해야 하여 속도가 느림
Mask R-CNN
- Faster R-CNN + Fully Convolution Network (FCN)
- BBox Classification + Segmentation Classification
- Instance Segmentation task 수행 가능
RoI Align
으로 RoI Pooling
대체
- bilinear interpolation 활용
- 소숫점 위치를 정확하게 표현
- Branch에 Binary Mask Prediction 추가 적용