R-CNN 논문 리뷰(요약)

윤정덕·2022년 12월 15일
0

논문리뷰

목록 보기
2/5

R-CNN

여러가지 블로그, 유튜브, 논문을 읽고, 제가 느낀대로 써보았습니다. 틀린점이 있다면 댓글로 알려주세요!

::논문::

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

특징

  • FC Layer이후 softmax가 아닌 SVM를 사용해서 분류한다.

Abstract

우리는 CNN을 사용했고 결과는 놀라웠다. VOC 2007에서 최종 mAP 48% 달성. 우리의 프레임워크는 상향식 영역 제안을 생성하기 위한 강력한 컴퓨터 비전 기술과 고용량 컨볼루션 신경망 학습의 최근 발전을 결합합니다.

(표는 나중에 나온다. 몇몇 클래스를 제외하고 압도적으 성능이 좋다는 걸 알 수 있다.)

1. Introduction

R-CNN 이전에는 SIFT, HOG를 썼다. 그리고 이 둘은 bottle neck 현상으로 정확도가 늘어나지 못했다.

R-CNN은 다음과 같은 과정을 거친다.

  1. 이미지를 넣는다.
  2. region proposals를 이용해 이미지 1개 당 최대 2,000개의 이미지를 추출한다.
  3. 추출된 이미지를 동일한 크기로 맞춘(warped region) 후 CNN(합성곱, 여기서는 Alex Net 모델 사용)을 사용한다.
  4. SVMs를 사용해서 클래스를 맞춘다.

CNN은 sliding window를 사용했다. 그러나 이는 너무 많은 계산을 해야해서 시간과 비용이 많이 든다. 그래서 우리는 region proposals를 사용했다. 이는 sliding window보다 1/2 적은 이미지window를 쓴다.

참고

window란? 위의 그림 2번에 노란색 box를 뜻한다.

2. Object detection

  • 우리는 3가지 모듈을 사용한다.
  1. region proposals
  2. CNN(합성곱)으로 고정 길이 특징 벡터를 추출(FC layer)
  3. 클래스별 선형 SVM 세트입니다

Feature extraction.

  • 4096차원 특징 벡터를 추출합니다 .
  • 224 X 224로 resize하고 5개의 컨벌루션 레이어(CNN layer)와 2개의 완전 연결 레이어(FC layer)로 구성했다.

Training

  • pre-training(사전학습)을 하였다.
  • fine-tuning은 pre-training동안 lr(학습률)을 1/10로 세 번 줄였다.
  • optimizer는 SGD, lr은 0.01로 시작했다.
  • region proposal한 이미지가 0.5 >= IoU라면 맞고 아니면 틀림으로 했다.
  • 약 2,000개의 region proposal 이미지 중 64개를 뽑고, 배치사이즈를 128로 했다.

위의 사진은 결과이다.

3 Visualization, ablation, and modes of error

쓰고 싶었지만 제대로 해석할 수 없었다.

  • 일단 색깔(color)에서 흑백(gray)로 바꾸어서 실험한 결과 mAP가 43.4%에서 40.1%로 감소했다.
  • fine-tuning을 했더니 mAP가 4.6포인트 증가하여 48.0%가 됩니다.

4. Semantic segmentation

R-CNN이 CNN을 이용한 object detection의 시초라는 말은 많이 들었지만 segmentation이 가능할 줄은 처음 알았다. 나는 Mask R-CNN(Instance Segmentation)후로 segmentation이 가능한 줄 알았다.

5. Discussion

  • 성공의 열쇠 중 하나는 대규모의 데이터 셋을 활용하는 것이다.

    기존의 기술과 현대의 기술(CNN, 딥러닝)을 사용해서 이러한 결과를 얻었다.

    기존의 기술과 현대의 기술은 대립하는 별개의 것이 아니다. 자연스러운 파트너다.

0개의 댓글