논문의 제목은 "Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks"이다. 저번에 읽었던 YOLO와 목적이 실시간 객체 감지로 같다. 하지만 뒤에 Region Proposal Networks라는 말이 붙어 있는것으로 보아 YOLO와는 많이 다를 것으로 예측이 된다. YOLOv1논문을 봤을 때 FPS는 YOLOv1이 높았지만 mAP는 Faster R-CNN이 높은 것으로 봐서 이부분도 중점적으로 살펴봐야겠다.
Faster R-CNN은 Region proposal algorithm을 통해 새로운 접근법을 제시한다. SPPNet이나 Fast R-CNN은 Region proposal에 많은 시간을 사용하여 병목현상을 일으키지만, Faster R-CNN은 detection network와 convolutional features를 공유하는 Region proposal network(RPN)을 제안한다고 한다. RPN은 end-to-end로 학습된다. Faster R-CNN은 GPU환경에서 5fps를 보여줬고, ILSVRC, COCO2015에서 1등을 차지했다고 한다.
Faster R-CNN은 다양한 규모와 크기를 다루기 위해 여러 체계를 사용한다. (a)는 이미지 및 feature map의 피라미드가 구축되고 분류기가 실행되고, (b)는 여러 크기를 가진 필터로 feature map을 만드는 것이고, (c)는 회귀 함수에 reference boxes의 피라미드를 사용한다.
Faster R-CNN은 YOLO와 마찬가지로 한 개의 통합적인 network로 이루어져있다. Fast R-CNN과 다른점은 RPN이 추가되었다는 정도이다. 그렇다면 RPN은 무엇인가?
위의 그림이 Region Proposal Network(RPN)의 구조이다. Conv layer를 통해 뽑아낸 feature map을 입력으로 받고, 이 받은 feature map에 3 * 3 convolution을 수행한다. 그리고 2번째 feature map을 통해 Classification과 box regression 예측 값을 계산한다.
RPN을 제시하여 Convolutional features와 Region proposal generation을 공유함으로써 cost가 거의 들지 않고, 이 Faster R-CNN은 실시간에 가까운 속도로 실행할 수 있다. 또한 RPN으로 Region proposal의 성능을 향상시켜 전체적인 객체 탐지 정확도를 향상한다.