Rich feature hierarchies for accurate object detection and semantic segmentation(R-CNN)

Ross Girshick, Jeff Donahue, Trevor Darrell, Jitendra Malik (2014)


53.3% mAP를 달성하는 간단하고 확장 가능한 detection 알고리즘을 제안.
object의 localize와 segment를 위해 high-capacity의 CNN사용.
라벨링 된 훈련 데이터가 부족할 때 보조적인 task에 대한 사전 훈련을 감독하고 domain별 fine tuning을 통해 성능 향상. OverFeat네트워크보다 향상된 성능을 보여줌

image R-CNN의 작동원리는 다음과같다.

  1. 이미지를 입력한다.
  2. 약 2000개의 region proposals을 추출한다
  3. CNN을 이용해 각 region proposal의 feature를 계산한다. (이 때, CNN에 넣어주기 위해 크기를 맞추는 warped region작업이 필요하다)
  4. region을 분류한다.

R-CNN의 작동원리를 3가지 모듈로 설명하면 다음과 같다.

  • Region Proposal : 검출기에 사용할 수 있는 후보 탐지 세트를 정의
  • CNN : 각 region으로부터 고정된 길이의 특징 벡터를 추출하는 대형 Convolution Neural Network
  • Linear SVMs : 분류를 위한 Support Vector Machine

먼저 Region ProposalsObject가 있을 것으로 추정되는 지역을 제안하는 것이다.
예시)

  • objectness
  • selective search
  • category-independent object proposals
  • constrained parametric min-cuts(CPMC)
  • multi-scale combinatorial grouping

R-CNN은 Selective search방식을 사용한다.(이후 발표된 Faster R-CNN에선 이 selective search를 대체하는 Region Proposal Network를 제안했다.)
selective search의 작동원리는 다음과 같다.

  1. Efficient GraphBased Image Segmentation방법을 이용해 초기 region을 지정한다.
  2. 지정된 박스와 주변의 다른 박스 사이의 유사도를 계산한다
  3. 유사도가 높은 영역끼리 합쳐짐을 반복한다.
  4. 박스가 겹치기 않고 single region될 때까지 반복한다. image 첫 번째가 가능성있는 2000여개의 박스를 그린 것이고, 유사도가 높은 것끼리 점점 합쳐가는 과정을 거친 후 최종적으로 겹치는 부분없이 single region이 된다.