*RPN(Region Proposal Network)

 

*Selective Search

- Uijlings의 논문에서 제안 (http://www.huppelen.nl/publications/selectiveSearchDraft.pdf)

- image에서 object의 candidate를 찾기 위한 알고리즘

- Color space 정보와 다양한 similarity measure를 활용해서 복잡한 segmentation 결과를 grouping

- R-CNN의 처음 단계에서 실행되는 알고리즘

 

*Hard Negative Mining

- positive example과 negative example을 균형적으로 학습하기 위한 방법

- 단순히 random하게 뽑은 것이 아니라 confidence score가 가장 높은 순으로 뽑은 negative example을 (random하게 뽑은 positive example과 함께) training set에 넣어 training

 

*Non Maximum Suppression

- Non Maximum Suppression은 edge thinning 기법으로, 여러 box가 겹치게 되면 가장 확실한 것만 고르는 방법

 

*Bound Box Regression

- Bound box의 parameter를 찾는 regression

- 초기의 region proposal이 CNN이 예측한 결과와 맞지 않을 수 있기 때문

- Bounding Box Regressor는 CNN의 마지막 pooling layer에서 얻은 feature 정보를 사용해 region proposal의 regression을 계산

 

*R-CNN의 단점

- Test 속도가 느림 (모든 region proposal에 대해 전체 CNN path를 다시 계산)

 

*Faster R-CNN (RPN)

- Fast R-CNN을 개선하기 위해 Region Proposal Network (RPN)을 도입

- RPN은 region proposal을 만들기 위한 network

- 즉, Faster R-CNN에서는 외부의 느린 selective search (CPU로 계산) 대신, 내부의 빠른 RPN (GPU로 계산)을 사용

- RPN은 마지막 convolutional layer 다음에 위치하고, 그 뒤에 Fast R-CNN과 마찬가지로 RoI pooling과 classifier, bounding box regressor가 위치

- RPN은 sliding window에 3×33×3 convolution을 적용해 input feature map을 256 (ZF) 또는 512 (VGG) 크기의 feature로 mapping

- 그 출력은 box classification layer (cls)와 box regression layer (reg)으로 들어간다.

- box classification layer와 box regression layer는 각각 1×11×1 convolution으로 구현

- box regression을 위한 초기 값으로 anchor라는 pre-defined reference box를 사용

- 논문에서는 3개의 크기와 3개의 aspect ratio를 가진 총 9개의 anchor를 각 sliding position마다 적용

 

*Faster R-CNN (정리)

- RPN + Fast CNN

- Region proposal을 network 내부에서 계산

- RPN은 fully convolutional 하다.

- RPN은 end-to-end로 train 된다.

- RPN은 detection network와 convolutional feature map을 공유

 

*ROI pooing

- RPN이후, 서로 다른 크기의 proposed regions값을 output으로 받는다.

- 서로 다른 크기라는 말은 CNN에서 output으로 나온 feature maps들이 제각각 다른 크기라는 뜻

- 특히 일반적으로 feature maps을 flatten시켜서 딥러닝을 태워서 추후 classification을 할 때, 더더욱 어렵게 된다.

- 이때 사용하는 기법이 Region of Interest Pooling(ROI)

- ROI를 사용하게 되면 서로 다른 크기의 feature maps을 동일한 크기로 변환

 

반응형

'스타트업 > AI' 카테고리의 다른 글

[AI] radam  (0) 2020.02.03
[AI] 상대 경로, 절대 경로  (0) 2020.01.31
[Pytorch] DataLoader 의 num_workers  (0) 2020.01.30
[TensorFlow] GPU 배분(분배, 할당) 방식  (0) 2020.01.28
[AI] Spatio-Temporal  (0) 2020.01.12

+ Recent posts