논문 리뷰/CV

R-CNN 논문 리뷰

manfromearth1 2025. 8. 9. 17:10

Rich feature hierarchies for accurate object detection and semantic segmentation

또 시간이 좀 된(2014년) 논문이다. 이번에는 객체 탐지를 리뷰해보고 싶었는데, YOLO를 먼저 하기에는 버릇이 없는 것 같아 딥러닝 기반 객체 탐지 논문인 R-CNN 논문을 리뷰하도록 하겠다.

따라서 이번 논문 리뷰는 가볍게 가도록 하자(평소에 그렇게 깊지는 않기는 하다)


Method

어떻게 CNN을 기반으로 객체 탐지 테스크를 수행할 수 있는지에 대해서, 4가지를 핵심적으로 짚고 넘어가면 되겠다:

Region Proposals

우선 당시 CNN은 CV에서 객체를 분류하는 모델이지 사진 속에서 객체들을 탐지하고, 그 영역만을 추출해서 분류하는 모델은 아니었다. 따라서 본 논문은 CNN 모델이 객체를 분류하기 이전에, 객체를 우선 탐지해서 그 부분만 추출하여 모델에 넣어주는, selective search  알고리즘을 사용하였다.

 

Selective Search는 이미지를 여러 영역으로 나누어 물체가 있을 법한 후보 영역(region proposals)을 추출하는 알고리즘이다. 동작 과정은 크게 초기 세분화 → 영역 병합 → 후보 박스 생성 세 단계로 볼 수 있는데,

  1. 초기 세분화 (Inital Segmentation): 이미지에서 색상, 질감, 밝기 등의 기준으로 비슷한 픽셀끼리 묶어 작은 조각(subpixel)으로 분리
  2. 영역 병함 (Region Merging): 인접한 subpixel 영역들을 비교하여 유사도를 기반으로 병합
  3. 후보 영역 생성 (Region Proposal) 병합 과정에서 나오는 다양한 크기 및 비율의 박스를 후보 영역으로 저장

이다.

 

다만 CNN은 고정된 input을 받기 때문에, 본 논문은 warp를 통해 만들어진 후보 영역의 크기를 조정하였다. Warp란 bounding box 안의 모든 픽셀을 정해진 (Input width) × (Input height)로 비율 유지 없이 맞추는 것이다.

Feature Extraction

만들어진 region proposal은 CNN 모델을 거쳐 4096 차원의 벡터로 반환된다. Caffe 알고리즘을 거쳐서 임베딩 변환이 된다고 하는데, FC-layer에서 softmax를 적용하기 이전의 벡터를 사용한다고 생각하면 된다.

 

이러한 임베딩을 바탕으로 SVM 분류기(1 vs all)을 사용하여 객체 분류를 진행한다.

여기서 궁금한 점으로 생길 수 있는 것이, 왜 SVM을 쓰느냐는 것이다. 그냥 softmax를 사용하면 되지 않나? 맞다. 그러나 그 당시에는 softmax를 사용하기에는 데이터가 부족했다고 한다.

Overcoming Scarce Data

당시에는 객체 탐지 관련 데이터셋이 너무 적어서, 깡통 CNN 모델에 학습을 적용하는 것은 어려웠다. 이제는 많이 아는 학습 방법이지만, 본 논문은 CNN을 미리 ImageNet Dataset으로 훈련하여 모델의 Vision 인식 능력을 늘려놓았다.

Bounding Box Regression

Selective Search는 아무래도 알고리즘 기반이다보니 100% 정확하지 못한 경우가 있었다. 따라서 이를 보정하기 위해서 본 논문은 bounding-box regression을 제안한다.

G의 경우 ground-truth box이며, x, y는 좌표를 의미하며 w, h는 너비와 높이, 그리고 d는 변화량을 의미한다.

CNN의 Pool5 레이어에 대한 feature embedding $\phi_5(P)$를 사용하였는데, 이는 pool layer가 의미 정보 뿐 아니라 객체 형태, 경계 위치와 같은 공간적 정보 또한 다루고 있기 때문이다.

 

학습 가능한 패러미터 $w_{*}$를 두고, 이를 pool5 feature와 dot product를 한 후 원하는 실제 오차 $t$와 일치해지도록 $w$를 학습한다. 즉 $w$를 학습하는 경우 정확하게 얼마나 벗어났는지(변화량)을 학습할 수 있고, 이후 $d_{*}(P) \approx w_{*}^T\phi_5(P)$을 계산해줌으로써 실제 위치로 보정해줄 수 있는 것이다.


Conclusion

 

Experiment chapter은 굳이 두지 않고 넘어가겠다. R-CNN이 어떻게 VOC test에서 우수한 성능을 거두었는지 확인하는 시간을 가졌고, 이후 Fast R-CNN와 YOLO에 대해서 다루도록 하겠다. 끝!

'논문 리뷰 > CV' 카테고리의 다른 글

YOLO 논문 리뷰  (5) 2025.08.11
Faster R-CNN 논문 리뷰  (0) 2025.08.10
CLIP 논문 리뷰  (1) 2025.08.05
EfficientNet 논문 리뷰  (3) 2025.08.04
ViT 논문 리뷰  (1) 2025.08.01