CNN Object Detection

1. Object Detection

1.1 Object Detection이란?

사물 각각의 Bounding Box (Bbox)위치와 Category를 예측한다.

Bounding Box : {$x_0,y_0,x_1,y_1$}

Category : 사울의 class label

구조 : Backbone(CNN) + Decoder (Detection Head)


Image Classification vs. Object Detection

  • 이미지 분류 : 이미지 내에 어떤 물체가 있는지 분류
  • 객체 인식 : 이미지 내의 Bbox마다 객체의 class 분류 및 Bbox 위치 추론

Localization

(=Bbox regression)

각 Bbox의 {$x_0,y_0,x_1,y_1$} 예측

이때, 정답과의 차이를 비교하면서 회귀 문제를 풀듯이 학습하게 된다.

1.2 2-stage Detector vs. 1-stage Detector

  • 2-stage Detecto
    Region Proposals 및 Feature Extractor를 거치면서 Object Detection을 수행
    Region Proposals : 다양한 크기와 모양의 Bbox로 물체의 위치를 제안
    Feature Extractor : 제안한 Region (Bounding Box)에 대하여 물체의 특성추출
  • 1-stage Detector
    Region Proposal없이, Feature Extractor만 이용해서 object detection 수행

1.3 Object Detection Dataset

COCO

Common Object in COntext

91개의 클래스로 이루어진 사물 및 동물 모음

최대 640x480 RGB 이미지

330k 이미지

Pascal VOC

20개의 클래스로 이루어진 사물 및 동물 모음

500x375 RGB이미지

11k 이미지 데이터

KITTI

8개의 클래스로 이루어진 자동차 및 사물 모음

1248x384 RGB 이미지

15k 이미지 데이터

1.4 성능 평가 방법

Intersection of Union (IoU)

우리가 예측한 Bbox와 실제 Bbox 값의 차이를 어떻게 비교할 수 있을까

정답 구역과 예측 구역의 교집합 부분의 비율이 높으면 정답에 가깝다

$\therefore \; IOU = \displaystyle \frac{Area\;of\;Intersection}{Area\;of\;Union}$

Area of Intersection : 교집합 구역
Area of Union : 합집합 구역

임계점을 선택해서, 어느 수준에서 구역이 일치하는지를 선택할 수 있다.

Average Precision (AP)

IoU 임계점을 통해 박스의 일치 여부를 판단해서 TP, FP, TN, FN을 구할 수 있고, 이를 이용해서 Precision, Recall을 계산할 수 있다.

이때 AP는 Precision, Recall curve의 넓이를 계산한 값이 된다.

Precision과 Recall은 서로 Trade-off 관계이므로, 둘다 적절히 좋아야 AP가 높다는 것을 알 수 있다.