논문 링크 : Rich feature hierarchies for accurate object detection and semantic segmentation
Object Detection 성능 평가를 위한 데이터셋 VOC 2012 에서 당시 모델 성능을 30% 향상
Key Insights
Region Proposal + CNN
라벨 데이터가 부족한 부분 → pre-training, fine-tuning 을 통해 성능 향상
OverFeat (sliding-window detecter 을 제시) 보다 성능이 좋다고 함 (200-class ILSVRC2013 detection dataset 기준)
기존 Visual Recognition 분야에서는 SIFT, HOG, ensemble를 이용 → 발전 속도 느림
이후 back propagation을 통한 SGD로 CNN을 효율적으로 학습 가능
→ ILSVRC image classification 에서 CNN을 이용하여 큰 성능 향상
→ PASCAL VOC 에서 CNN 을 활용한 Object Detecttion 성능 향상 도전
1. Deep Network 를 이용해 객체를 Localizing
2. 적은 양의 annotated detection data 로 높은 수용성을 가진 모델을 학습
Region proposals
CNN을 이용하여 각 Region 에서 feature vector 을 추출
linear SVM 을 이용하여 분류
: 주어진 이미지에서 물체가 있을법한 위치를 찾는 것
Selective Search
주변 픽셀 간의 유사도를 기준으로 Segmentation을 만들고, 이를 기준으로 물체가 있을법한 2000개의 region 후보를 선정
Selective Search를 통해서 찾아낸 region 후보들을 227 x 227 크기로 wrap → 이 과정에서 정보 손실, 왜곡 많이 일어남
CNN 구조(Alex-Net)를 사용해서 각 region 에서 4096 차원의 feature vector 를 추출
추출한 feature 벡터를 linear SVM 를 이용해 class 별 어떤 물체일 확률 값 score 를 계산
왜 softmax 말고 linear SVM ? → SVM을 이용했을때 mAP 성능이 더 좋게 나와서
Non-Maximum Suppression
: 동일한 물체에 여러 개의 region이 겹쳐있을때, 가장 score가 높은 region만 남기고 나머지는 제거하는 과정
→ 이때, Score 가 가장 높은 region 을 기준으로 IoU 가 threshold(여기서는 0.5) 보다 크면 동일 물체로 판단
크게 3가지 부분으로 나눠서 학습
Supervised pre-training
ILSNRC2021 classification dataset 을 이용해 pre-training
Object category classifiers
class 별로 Linear SVM 을 구성해서 학습 → training data 가 너무 크기 때문
class 별로 training 을 하기 위해서 IoU threshold 값을 0.3으로 지정
→ Ground truth box를 positive sample , 0.3 미만이면 negative sample
앞에서 얻은 fine-tuned CNN 으로 얻은 피처 벡터로 학습
Bounding Box Regression