유튜브 동빈나님의 '객체 검출(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)라고 한다.Box Regression 방식
이란 이미지 내에 사물이 존재하는 Bounding Box의 좌표를 예측하는 문제라고 이해하면 된다. ㄴ. 1-Stage Detector
: 1-Stage는 RoI영역을 먼저 추출하지 않고 전체 이미지에 대해서 Convolution Network로 Classification과 Box Regression(Localization)을 수행한다.
즉, 물체의 위치를 찾는 문제와 분류 문제를 한 번에
해결한다.
ㄷ. Selective Search
: 인접한 영역(Region)끼리 유사성을 측정해 큰 영역으로 차례대로 통합해 나가는 과정이다.
(R-CNN / Fast R-CNN에서 사용됨)
물체가 있을 법한 위치를 찾는 Region Proposal
방식이다.
ㄹ. IoU (Intersection over Union)
: 두 Bounding Box가 겹치는 비율을 의미한다.
ㅁ. Bounding Box Regression
여기까지가 R-CNN 관련 논문을 읽기 전 알면 좋은 내용들이었습니다! 기존 논문 리뷰랑은 사뭇 다른 느낌으로 리뷰할 예정이니 재밌게 봐주세요~!
OverFeat Model
이 있었는데, 이는 Bounding Box가 불정확하고, 모든 Sliding Window에 CNN을 적용하기 때문에 연산량이 커진다는 문제를 갖고 있다. 그래서 지금은 사용되지 않고 있다.R-CNN 두 가지 핵심 Insight
- 객체를 Localizae & Segment 하기 위해 Bottom up 방식의 region proposal에 CNN을 적용
- Labeled training data가 부족하면 보조 task에게 Domain specific fine tuning을 통해 supervised pretraining을 적용
R-CNN은 두 가지 핵심 목표를 제시
- Selective Search를 이용해 2000개의 RoI(Region of Interest)를 추출
- 각 RoI에 대하여 Warping을 수행하여 동일한 크기의 입력 이미지로 변경
- Warped Image를 CNN에 넣어서 이미지 Feature Extractor한다.
- 해당 Feature를 SVM에 넣으면 class 분류를 한다.
- 해당 Feature를 regressor에 넣어 Bounding Box를 예측한다.
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% 향상된 성능을 보였다.
- 객체를 Localizae & Segment 하기 위해 Bottom up 방식의 region proposal에
CNN을 적용
- Labeled training data가 부족하면 보조 task에게
Domain specific fine tuning
을 통해supervised pretraining
을 적용
Computer Vision과 심층학습를 조합하여 좋은 성능을 달성한 것이 중요한 점을 지적하면서 이 논문은 마무리 된다.
저자가 뭘 해내고 싶어 했는가?
이 연구의 접근 방식에서 중요한 요소는 무엇인가?
스스로 이 논문, 연구 결과를 이용할 수 있는가?
참고하고 싶은 다른 레퍼런스에는 어떤 것이 있는가?