[논문리뷰 | CV] Rich feature hierarchies for accurate object detection and semantic segmentation Tech report (v5) (2014) Summary

9e0na·2023년 6월 21일
1

[논문리뷰]

목록 보기
9/41
post-thumbnail

Title

  • Rich feature hierarchies for accurate object detection and semantic segmentation Tech report (v5)


0. R-CNN 관련 논문을 읽기 전 알면 좋은 것들

유튜브 동빈나님의 '객체 검출(Object Detection) 딥러닝 기술: R-CNN, Fast R-CNN, Faster R-CNN 발전 과정 핵심 요약' 영상을 참고하며 작성하였습니다.

첫번째, Object Detection 방식에는 2-Stage 방식과 1-Stage 방식이 있는데

ㄱ. 2-Stage Detector

: 물체의 1번 위치를 찾는 문제(Localization)와 2번 분류(Classification) 문제를 순차적으로 해결한다.

  • 어떤 이미지가 존재할 때, 그 물체가 있을 법한 위치를 찾은(Region proposals) 다음에 각각의 위치에 대해 Feature Extractor한다. 이 영역을 RoI(Region of Interest)라고 한다.
    이를 토대로 Classification, Box Regression(Localization)을 수행한다.
  • 여기에서 Box Regression 방식이란 이미지 내에 사물이 존재하는 Bounding Box의 좌표를 예측하는 문제라고 이해하면 된다.
  • 대표적인 예시: R-CNN, Fast R-CNN, Faster-R-CNN


ㄴ. 1-Stage Detector

: 1-Stage는 RoI영역을 먼저 추출하지 않고 전체 이미지에 대해서 Convolution Network로 Classification과 Box Regression(Localization)을 수행한다.
즉, 물체의 위치를 찾는 문제와 분류 문제를 한 번에 해결한다.

  • 일반적으로 2-Stage 방식보다 빠르지만 정확도는 더 낮다
  • 대표적인 예시: YOLO


: 인접한 영역(Region)끼리 유사성을 측정해 큰 영역으로 차례대로 통합해 나가는 과정이다.
(R-CNN / Fast R-CNN에서 사용됨)

물체가 있을 법한 위치를 찾는 Region Proposal 방식이다.


ㄹ. IoU (Intersection over Union)

: 두 Bounding Box가 겹치는 비율을 의미한다.

  • IoU = 교집합 / 합집합


  • ㅁ. Bounding Box Regression

여기까지가 R-CNN 관련 논문을 읽기 전 알면 좋은 내용들이었습니다! 기존 논문 리뷰랑은 사뭇 다른 느낌으로 리뷰할 예정이니 재밌게 봐주세요~!


Abstract

  • CNN을 이용해서 Classification 말고 Object Detection으로 확장할 수 있지 않을까라는 Idea로 R-CNN이 탄생된다.
  • Object Detection 성능은 지난 몇 년 동안(2014년 기준) 정체 상태였다.
  • 본 논문에서는 간단하고, scalable한 Object Detection 알고리즘인 R-CNN을 소개한다.
  • 이는 mAP를 30% 이상 개선하였고, 53.3%의 mAP를 달성하였다.
  • R-CNN 이전에 Sliding Window Detection에 CNN을 적용한 OverFeat Model이 있었는데, 이는 Bounding Box가 불정확하고, 모든 Sliding Window에 CNN을 적용하기 때문에 연산량이 커진다는 문제를 갖고 있다. 그래서 지금은 사용되지 않고 있다.

R-CNN 두 가지 핵심 Insight

  1. 객체를 Localizae & Segment 하기 위해 Bottom up 방식의 region proposal에 CNN을 적용
  2. Labeled training data가 부족하면 보조 task에게 Domain specific fine tuning을 통해 supervised pretraining을 적용
  • Sliding-Window를 기반으로 한 OverFeat 모델과 비교했을 때에도 더 좋은 성능

1. Introduction

R-CNN은 두 가지 핵심 목표를 제시

  • 먼저 Selective Search를 통해 2000개의 Region Proposal을 생성한다. 이때 Region Proposal을 일일이 CNN에 넣을 때 동일한 크기와 너비로 넣고, 결과를 계산한다.

2. Algorithm

  1. Selective Search를 이용해 2000개의 RoI(Region of Interest)를 추출
  2. 각 RoI에 대하여 Warping을 수행하여 동일한 크기의 입력 이미지로 변경
  3. Warped Image를 CNN에 넣어서 이미지 Feature Extractor한다.
  4. 해당 Feature를 SVM에 넣으면 class 분류를 한다.
  5. 해당 Feature를 regressor에 넣어 Bounding Box를 예측한다.

3. Object Detection with R-CNN


4. Visualization, ablation, and modes of error


5. The ILSVRC2013 detection dataset


6. Conclusion

R-CNN 장점 및 한계점

👍 장점
1) CNN을 이용해 각 Region의 클래스를 분류할 수 있다.

2) mAP기준 약 30% 가량 성능을 끌어올린 모델이고, 신경망을 이용해 Object Detection task를 해결하고자 한 첫 시도가 된 모델이다.

👎 한계점
1) Input 이미지에 대해 CPU 기반의 Selective Search를 진행하기 때문에 많은 시간이 소요됨

2) 전체 아키텍처에서 SVM, Regressor 모듈이 CNN과 분리
-> CNN은 고정되어 있기 때문에 SVM & Bounding Box Regression 결과로 CNN을 업데이트할 수 없음
-> 즉, end-to-end 방식으로 학습할 수 없음 + Global Optimal Solution을 찾기 어려움

3) 모든 RoI(Region of Interest)를 CNN에 넣어야 하기 때문에 2000번의 CNN 연산이 필요하다. 즉, 학습과 평가 과정에서 많은 시간이 소요된다.


이 논문은 아래 두 가지 Insight를 통해서 30% 향상된 성능을 보였다.

  1. 객체를 Localizae & Segment 하기 위해 Bottom up 방식의 region proposal에 CNN을 적용
  2. Labeled training data가 부족하면 보조 task에게 Domain specific fine tuning을 통해 supervised pretraining을 적용

Computer Vision과 심층학습를 조합하여 좋은 성능을 달성한 것이 중요한 점을 지적하면서 이 논문은 마무리 된다.


🎯 Summary

  1. 저자가 뭘 해내고 싶어 했는가?

  2. 이 연구의 접근 방식에서 중요한 요소는 무엇인가?

  3. 스스로 이 논문, 연구 결과를 이용할 수 있는가?

  4. 참고하고 싶은 다른 레퍼런스에는 어떤 것이 있는가?

  • OverFeat Model

📚 References

profile
데이터사이언티스트가 되기 위해 [a-zA-Z]까지 정리하는 거나입니다 😊

0개의 댓글