본문 바로가기
논문 정리

[R-CNN] Rich feature hierarchies for accurate object detection and semantic segmentation Tech report(v5)

by Alan_Kim 2023. 11. 10.
728x90
반응형

 

R-CNN에 대한 논문으로 Ross. Girshick이 1저자로 CVPR 2014년도에 게재된 논문이다.

https://arxiv.org/abs/1311.2524

 

Rich feature hierarchies for accurate object detection and semantic segmentation

Object detection performance, as measured on the canonical PASCAL VOC dataset, has plateaued in the last few years. The best-performing methods are complex ensemble systems that typically combine multiple low-level image features with high-level context. I

arxiv.org

R-CNN은 Combining region proposals with CNNs 로 기존에 CNN을 더 깊게 만들고 더 크게 만들려고 주력했던 것에서

Object detection 중 region proposals를 이용해서 object를 추출해내서 feature들을 추출하여 분류하는 모델이다.

 

Object Detection

Object detection의 예

object detection은 여러 객체의 위치를 잡고(region proposals) 각 객체를 분류하는 것을 의미한다. 객체의 위치를 잡은 것을 바운디 박스(bounding box)를 이용해서 나타낸다.

 

R-CNN 이전

R-CNN은 당시 깊게 쌓을려고만 하는 것에서 여러 스킬을 써볼 것을 생각하게 만들었다.

R-CNN 이전에 가장 좋았던 모델들은 복잡하고 앙상블 시스템을 이용해서 보통성능을 발휘한 모델들이었다.

 

R-CNN은

  • 간단한(simple) 알고리즘으로 구성되었다.
  • 분류되는 클래스가 더 커져도 정확도나 판단 속도가 크게 영향을 가지지 않는다.(scalable detection algorithm)
  • PASCAL VOC 2012에서 이전 모델의 30%정도 앞선 성능을 보여준다.

이전 모델 segDPM보다 30% 높은 성능을 보여주는 R-CNN BB

 

R-CNN의 2가지 중점

  • 심층 네트워크(deep neural network)와 함께 객체 위치 찾기
    • Selective Search를 이용해서 bottom-up을 적용하여 객체 위치를 찾는다.
  • labled 된 데이터가 적을 때 모델의 학습 효능을 높이는 방법
    • Supervised pretraining data로 ILSVRC를 사용하고 Domain-specific fine-tuning으로 PASCAL VOC를 사용한다.

Selective search

Selective search는 sementic segmentation을 이용해 이미지를 잘게 쪼갠 후 비슷한 영역끼리 merge하면서 candidate object를 찾을 때 가지 계속 진행하면서 bottom up 형식으로 객체의 위치를 찾는 방식이다.

 

1. 이미지를 넣는다.

2. Selective search를 이용해서 2000여개의 후보 지역을 찾아 추출한다.

3. 이미지를 227*227크기로 warped 시킨다.

4. CNN모델인 AlexNet에 fine-tunning 시킨 후 크기가 2000*4096인 feature-vector을 추출한다.

5. 각 지형을 support vector machine들을 이용해 분류한다.

6. bounding box 포인트를 잡고 bounding box regressor model을 만든다.

7. Non maximum suppression 알고리즘을 이용해 최적의 bounding obx를 얻는다.

 

Region proposal

Sliding window를 이용한 OverFeat 모델에서 Selective search를 이용한 R-CNN 모델이 SOTA가 되었다.

Feature extraction

이미지 크기를 227*227로 맞추는 방법은 여러 방법이 있다. 그러나 Warped를 시키고 16 픽셀의 context padding이 있는 것이 가장 성능이 좋았다.

 

Warped training samples from VOC 2007 train

Linear SVMs

소프트 맥스(softmax)를 안쓰고 서포트 벡터 머신(Supprot Vector Machine, SVM)을 쓴 것은 둘 다 써봤는데 SVM이 더 성능이 뛰어나서이다.

각 클래스별로 훈련을 시킨 SVM을 사용하여 CNN에서 추출한 feature vector을 추출 했을 때 가장 높은 점수를 받는 것을 확인하여 분류시킨다.

Greedy non-maximum suppression을 활용하여 최적의 bounding box까지 얻어낸다.

 

Greedy non-maximum suppression

Greedy non-maximum suppression은 예측된 bounding boxes에서 선별해서 최적의 bounding boxes만 추출하는 object detector 기술이다.

Greedy non-maximum suppression을 사용하기 전과 후

 

R-CNN의 한계

1. 2000여개의 region proposals를 추출하고 각각 CNN에 넣어서 결과값을 가져오는 것은 너무 긴 시간이 걸린다.

2. CNN, SVM, Bounding Box Regression이 모두 각각의 파이프라인으로 되어있어 각각의 파라미터를 저장하고 계산해야하므로 메모리도 많이 들고 성능도 비효율적이라고 할 수 있다.

 

728x90
반응형

댓글