- 1-stage detector
- 2-stage detector
- Image를 입력받는다.
- Selective search알고리즘에 의해 regional proposal output 약 2000개를 추출한다.
추출한 regional proposal output을 모두 동일 input size로 만들어주기 위해 warp해준다.- 2000개의 warped image를 각각 CNN 모델에 넣는다.
- 각각의 Convolution 결과에 대해 classification을 진행하여 결과를 얻는다.
- Regional Proposal : Localization
- CNN : Feature vector Extract
- SVM : Classification (supervised learning)
물체가 있을 법한 영역
을 찾는다.
- 색상, 질감, 영역크기 등.. 을 이용해 non-object-based segmentation을 수행한다.
- Bottom-up 방식으로 small segmented areas들을 합쳐서 더 큰 segmented areas들을 만든다.
- (2)작업을 반복하여 최종적으로 2000개의 region proposal을 생성한다.
- R-CNN은 selective search를 통해 region proposal을 먼저 뽑아낸 후 CNN 모델에 들어간다.
- CNN모델에 들어가 feature vector를 뽑고 각각의 class마다 SVM로 classification을 수행한다.
- localization error를 줄이기 위해 CNN feature를 이용하여 bounding box regression model을 수정한다.
- 여기서 selective search로 2000개의 region proposal을 뽑고 각 영역마다 CNN을 수행하기 때문에 CNN연산 * 2000 만큼의 시간이 걸려 수행시간이 매우 느리다.
- CNN, SVM, Bounding Box Regression 총 세가지의 모델이 multi-stage pipelines으로 한 번에 학습되지 않는다. 각 region proposal 에 대해 ConvNet forward pass를 실행할때 연산을 공유하지 않기에 end-to-end 로 학습할 수 없다.