출처 : R-CNN 설명 및 정리, 1-Stage detector와 2-Stage detector란?, R-CNN 구조
컴퓨터비전에서의 문제들은 크게 4가지로 분류할 수 있다.
- Classification
- Object Detection
- Image Segmentation
- Visual relationship

- Classification : Single object에 대해서 object의 클래스를 분류하는 문제이다.
- Classification + Localization : Single object에 대해서 object의 위치를 bounding box로 찾고 (Localization) + 클래스를 분류하는 문제이다. (Classification)
- Object Detection : Multiple objects에서 각각의 object에 대해 Classification + Localization을 수행하는 것이다.
- Instance Segmentation : Object Detection과 유사하지만, 다른점은 object의 위치를
bounding box가 아닌 실제 edge로 찾는 것이다.
Object detection에는 1-stage detector, 2-stage detector가 있다.
- 2-stage detector (정확도 🔺 / 속도🔻)
- RoI(Region of Interest / object가 있을만한 영역)을 우선 뽑아낸다.
- 각 영역들을 convolution network를 통해 classification, box regression(localization)을 수행한다.

- 1-stage detector (정확도 🔻 / 속도🔺)
전체 image에 대해서 convolution network로 classification, box regression(localization)을 수행한다.


R-CNN
CNN(Image classification을 수행) + regional proposal 알고리즘(localization)

R-CNN 프로세스
- Image를 입력받는다.
- Selective search알고리즘에 의해 regional proposal output 약 2000개를 추출한다.
추출한 regional proposal output을 모두 동일 input size로 만들어주기 위해 warp해준다.
- 2000개의 warped image를 각각 CNN 모델에 넣는다.
- 각각의 Convolution 결과에 대해 classification을 진행하여 결과를 얻는다.
- Region Proposal : "Object가 있을법한 영역"을 찾는 모듈 (기존의 Sliding window방식의 비효율성 극복)
- CNN : 각각의 영역으로부터 고정된 크기의 Feature Vector를 뽑아낸다. 여기서 사용하는 CNN 모델은 227x227 컬러 이미지를 입력으로 받아서 5개의 컨볼루션 층과 2개의 fully-connected 층을 거쳐서 특성을 도출해주는 역할을 한다.
(고정된 크기의 output을 얻기위해 warp 작업을 통해 크기를 찌그러뜨려서 동일 input size로 만들고 CNN에 넣는다.)
- SVM : Classification을 위한 선형 지도학습 모델
컴퓨터비전에서의 문제들은 크게 4가지로 분류할 수 있다.
bounding box가 아닌 실제 edge로 찾는 것이다.
Object detection에는 1-stage detector, 2-stage detector가 있다.
전체 image에 대해서 convolution network로 classification, box regression(localization)을 수행한다.
R-CNN
CNN(Image classification을 수행) + regional proposal 알고리즘(localization)R-CNN 프로세스
추출한 regional proposal output을 모두 동일 input size로 만들어주기 위해 warp해준다.
(고정된 크기의 output을 얻기위해 warp 작업을 통해 크기를 찌그러뜨려서 동일 input size로 만들고 CNN에 넣는다.)