R-CNN

3-step 으로 이루어짐
1. selective search를 이용한 region proposal
2. CNN을 이용한 fixed length feature extraction
3. SVM
------
4. SVM을 통해 각 class 별로 score가 매겨진 bounding boxes들이 나오는데 이를 greedy non-maximum suppression을 통해 필요한 것만 간추려냄.
5. bounding box을 정답에 더 가깝게 살짝 조정해주는 Bounding-box regression 실행. CNN이 positional invariant 하기 때문에 이런 과정으로 정확도 올릴 수 있음

R-CNN은 region proposal method에 agnostic하기 때문에 현존하는 region proposal methods 중에서 아무거나 갖다 씀.
region proposal에서 2000개의 proposals를 만듦. 전부 fixed size(227x227 RGB)로 warp함.
CNN은 imagenet pretrained model 을 이용함.
pretrained model을 fine tuning 하기 위해 각 class 별로 ground-truth box와 IOU가 0.5가 넘으면 positive sample로 그렇지 않으면 negative sample로 이용.
SVM을 학습할때는 ground-truth box을 positive sample로, 0.3보다 작은 걸 negative sample로 이용함
CNN을 학습할 때와 SVM을 학습할 때 positive & negative sample을 뽑는 방법이 다른 이유는 그렇게 해보니 더 잘됐기 때문

greedy non-maximum suppression: 결과로 [Pc, bx, by, bx, bx] 가 나오면 , Pc < 0.6인건 다 제거. 남은 것중 Pc 가 가장 큰걸 선택 선택된 박스와 IOU가 0.5인 박스를 모두 제거. 이를 계속 반복

댓글

가장 많이 본 글