Abstract

State-of-the-art object detection networks depend on region proposal algorithms to hypothesize object locations. Advances like SPPnet [1] and Fast R-CNN [2] have reduced the running time of these detection networks, exposing region proposal computation as a bottleneck. In this work, we introduce a Region Proposal Network (RPN) that shares full-image convolutional features with the detection network, thus enabling nearly cost-free region proposals. An RPN is a fully convolutional network that simultaneously predicts object bounds and objectness scores at each position. The RPN is trained end-to-end to generate high-quality region proposals, which are used by Fast R-CNN for detection. We further merge RPN and Fast R-CNN into a single network by sharing their convolutional features—using the recently popular terminology of neural networks with “attention” mechanisms, the RPN component tells the unified network where to look. For the very deep VGG-16 model [3], our detection system has a frame rate of 5fps (including all steps) on a GPU, while achieving state-of-the-art object detection accuracy on PASCAL VOC 2007, 2012, and MS COCO datasets with only 300 proposals per image. In ILSVRC and COCO 2015 competitions, Faster R-CNN and RPN are the foundations of the 1st-place winning entries in several tracks. Code has been made publicly available.


SOTA object detection 기법은 주로 객체의 위치를 추정하는 region proposal 알고리즘에 의존해오고 있다. 

SPPnet과 Fast R-CNN과 같은 진전은 네트워크의 속도를 감소시켜 왔고, bottleneck이 주로 region proposal에 존재한다는 것을 증명했다.

이 논문에서는 region proposal의 속도를 상당히 감축시킬 수 있고, 네트워크와 cnn features를 공유할 수 있는 RPN(Region Proposal Network)를 소개한다.

RPN은 각 위치의 objectness score, object bound를 동시에 예측하는 fully convolutional network이다.

RPN은 Fast R-CNN에서 사용된 high-quality region proposal을 생성하는 것을 end-to-end방식으로 학습한다.

우리는 RPN의 요소가 어느 부분을 관찰해야하는지에 대해 attention 메커니즘을 활용하여 convolutional features를 공유하는 단일 네트워크로 이뤄진 Fast R-CNN과 RPN을 통합했다.

다수의 이미지 데이터셋에서 이미지당 300 proposal만 수행하여 SOTA를 달성했고 5fps의 프레임율을 가진다.

ILSVRC, COCO 2015 competition에서 1위를 차지하였으며 코드는 오픈되어있다.


요약

  • RCN -> Fast R-CNN -> Faster R-CNN(2015) / Mask R-CNN(2017)
  • Region Proposal에 사용되는 Selective Search는 segmentation을 위한 방법이며, 동일한 group끼리 mere시켜준다. 
  • R-CNN의 가장 큰 문제는 느리다는 점과 training pipeline이 너무 길고 복잡하다.
  • Fast R-CNN은 위의 문제를 어느 정도 해결하였으며 핵심은 ROI Pooling이다. 
  • Fast R-CNN은 test time에서 Region Proposal이 병목현상을 일으켜 문제가 된다.
  • 이 문제를 해결하기 위해(Selective Search를 통한 RP(Region Proposal)은 CPU에서 돌기 때문에 느리다) RPN을 만들어서 GPU를 활용해보자는 것이 Faster R-CNN이다.
  • CNN의 마지막 단에서 1x1 CNN을 사용하여 cls layer와 reg layer를 정의하고 Objectness scores(cls layer)에서는 객체의 존재여부, Bounding Box Regression(reg layer)에서는 좌표점을 추론하게 된다. 이때, anchor를 활용하는데 image size, aspect ratio에 따라 갯수가 달라지며, 이를 통해 결과값을 도출하게 된다. 

 

Reference

Ren, S., He, K., Girshick, R., & Sun, J. (2015). Faster r-cnn: Towards real-time object detection with region proposal networks. In Advances in neural information processing systems (pp. 91-99).