Region Proposal에서 CNN으로 가는 길목에서 RoI 풀링을 통해 아주 많은 시간을 절약했지만, 여전히 Region Proposal을 생성해내는 것 자체는 많은 시간이 소요된다.
-> Fster R-CNN에서 이를 합성곱 신경망을 활용해 CPU에서 GPU영역으로 전환시켰다.
selective search를 수행하는 region proposal 부분이 외부에 존재하기 때문에 inference에서 bottleneck을 일으킨다.
RPN(Region Proposal Network)은 end to end로 학습이 가능하며 obejct여부와 bounding box를 regress하는 하나의 FCN(fully connected network)이다.
-> 쉽게 설명하면 RPN 자체를 학습해 버린다. 즉, Faster R-CNN의 목표는 selective search 없이 RPN을 학습하는 구조로 모델을 만드는 것이다. RPN은 feature map을 input으로, RP를 output으로 하는 네트워크라고 할 수 있고, selective search의 역할을 온전히 대체한다.
RPN 정리 : https://velog.io/@suminwooo/RPNRegion-Proposal-Network-%EC%A0%95%EB%A6%AC
1x1 conv :
https://velog.io/@suminwooo/1x1-conv-%EC%A0%95%EB%A6%AC
Pre-trained CNN(ImageNet)을 사용하여 RPN만을 학습한다. 우선적으로 RP를 만들어내는 능력만을 학습하는 것이다.
앞의 결과로 나온 RP를 이용하여 RPN을 제외한 Faster R-CNN 네트워크를 학습시킨다. 이를 통해 shared CNN, fc layers, detector 부분이 학습된다.
앞의 결과로 나온 모델에서 다시 한 번 1과 같은 절차로 학습한다. 이때 Conv layer은 고정시키고 RPN에만 연결된 층만 학습한다.
앞의 결과로 나온 모델에서 공유된 conv layer을 고정시키고 Fast R-CNN의 학습을 진행한다.
논문 링크 : https://arxiv.org/abs/1506.01497
참고 링크 :
1. https://yamalab.tistory.com/113
2. https://ganghee-lee.tistory.com/37
3. https://www.youtube.com/watch?v=Jo32zrxr6l8&t=1483s