Paper Review

[Paper Review] R-CNN

조상현 2022. 11. 10. 12:30

뜬금없이 오래된 R-CNN을 리뷰하는 이유는 블로그에 기초부터 정리하기 위해서이다.

 

읽는 순서는 서베이 논문인 Object Detection in 20 Years: A Survey 를 참고하여 읽을 것이다.

 

서베이 논문 : https://arxiv.org/pdf/1905.05055.pdf%C2%A0%EF%BC%88PS

 


논문 : https://arxiv.org/pdf/1311.2524.pdf

 

첫 번째로 리뷰할 논문은 ILSVRC 2013 대회 Object Detection 분야에서 AlexNet을 기반으로 높은 성능을 보인 R-CNN 논문이다.

 

R-CNN은 지금 보면 굉장히 비효율적이지만 Object Detection 분야에서 딥러닝 모델의 시작을 알렸다는 점에서 굉장히 큰 의미가 있는 논문이다.

 

논문에서 얘기하는 R-CNN의 2가지 key insights는 다음과 같다.

 

  • 객체의 분할과 지역화를 위한 region proposals에의 high-capacity convolution neural network 적용
  • 학습 데이터가 부족할 경우 pre-trained 모델을 fine-tuning 함으로써 성능을 향상시킬 수 있다.

 

오늘날 대부분의 네트워크는 one-stage로 좌표부터 클래스까지 분류하지만 R-CNN의 경우 region proposal을 통해 후보 영역을 추출하고, SVM을 이용해 후보 영역의 클래스를, 마지막으로 regressor를 이용해 좌표 정보를 추출한다.

 


 

Architecture

 

 

R-CNN은 다음과 같은 과정을 통해 동작한다.

 

1. 입력받은 이미지에 대해 selective search를 사용해 2,000개 가량의 후보 영역을 추출한다.

 

2. 추출한 후보 영역을 227 x 227 사이즈로 조정하고 네트워크를 통과시켜 4,096 차원을 갖는 feature vector를 추출한다.

 

3. feature vector는 사전학습된 SVM를 사용하여 클래스가 분류된다.

 


Inference

 

Inference는 위와 같은 과정으로 진행되며 점수가 매겨진 모든 region들에 대해서 *greedy non-maximum suppression을 진행하여 객체의 bbox를 얻어낸다.

 

 

*greedy non-maximum suppression : 동일한 class를 나타내는 region들의 IoU가 threshold 값을 넘어설 경우 가장 confidence가 높은 region만 남기는 방식이다. 이러한 방식은 위 사진처럼 겹치는 객체들에 대한 검출률이 떨어진다는 문제점이 있다.

 


Training

 

R-CNN 모델의 학습은 ILSVRC2012 classification에 대해 사전학습된 모델을 사용하였으며 네트워크를 detection task와 wapred proposal window (region)에 적용시키기 위해 확률적 경사하강법을 이용해 학습하였다고 한다.

 

CNN의 구조는 최종 출력층의 구조를 기존 이미지넷을 위한 1,000개의 출력에서 N+1개(배경을 포함)의 출력으로 변경하여 사용하는 것 외에는 변경하지 않았고 learning rate는 0.001을 사용하였다고 한다.

 

논문에서는 Domain-specific fine-tuning을 위해 SGD의 매 이터레이션마다 32개의 positive windows를 생성하고 96개의 background windows를 생성하여 128개의 mini-batch를 구성하였다고 한다. positive windows가 더 적기 때문에 bias를 주어서 샘플링 하였다고 한다.

 


Limitations

 

위와 같은 구조는 몇 가지 문제점을 안고 있다.

 

  • 후보 영역을 추출하는 selective search,  feature vector를 추출하는 CNN, class를 분류하는 SVM을 각각 학습시켜야 하기 때문에 end-to-end 방식의 학습이 불가능하다.
  • 2,000개에 가까운 후보 영역을 추출하는 selective search 알고리즘은 'fast mode'를 사용하더라도 계산에 높은 비용을 요구한다.
  • 위와 같은 문제로 인해 테스트에도 많은 시간이 소모되어 real-time을 요구하는 문제에는 사용할 수 없다는 문제점이 있다.

 


Results

 

 

R-CNN은 VOC 2010 테스트 데이터셋에서 기존에 사용되던 전통적인 방식의 알고리즘 들을 엄청난 차이로 따돌린 것을 볼 수 있다. 비록 서로 다른 데이터셋을 사용하여 측정하긴 하지만 최신의 객체 검출 논문들의 AP가 50-60% 대인걸 생각하면 굉장히 높은 수치인걸 알 수 있다.

 

 

또한 ILSVRC2013 detection 분야에서도 압도적인 성능의 차이를 보이며 1등으로 선정된 것을 확인할 수 있다.

 


References

greedy nms 사진 : https://openaccess.thecvf.com/content_ICCV_2017/papers/Bodla_Soft-NMS_--_Improving_ICCV_2017_paper.pdf

 


다음글에서는 R-CNN의 속도 문제를 개선한 Fast R-CNN 논문을 리뷰하겠습니다.

'Paper Review' 카테고리의 다른 글

[Paper Review] YOLO  (0) 2022.11.22
[Paper Review] Faster R-CNN  (0) 2022.11.18
[Paper Review] Fast R-CNN  (0) 2022.11.16
[Paper Review] SPP-Net  (0) 2022.11.11
[Paper Review] Revisiting Skeleton-based Action Recognition  (0) 2022.11.08