본문 바로가기

Computer Vision/3) Object Detection

0강 - Intro

일단 지금까지 해서

1) CNN의 기본 개념과

2) 과거 LeNet과 AlexNet을 시작으로 ImageNet 대회에서 주목받은 CNN 구조들을 살펴보았고

지금부터는 단지 classification이 아닌 더 심화된 Computer vision 기술을 배워본다.

1. Recognition

Recognition

1) classification

지금까지 배운 이미지 전체를 보고 class별 분류를 하는 과정입니다.

2) classification + localization

1> object의 위치를 직사각형으로 localize 하고

2> localize 된 이미지를 classification

(단, 이미지 내에 object는 1개라는 전제가 있다.)

3) object detection

1> 이미지 내부에 있는 모든 object를 찾고

2> localize 된 이미지 모두를 각각 classification 한다.

(object가 여러 개라는 점에서 2)와 다르다.)

4) Instance segmentation

직사각형이 아니라 object의 모든 점을 localize 한다.

2. ImageNet 대회

3. Background

1) IoU

1> 정의: Intersection over union (합집합 중 교집합)

2> 식: IoU=(교집합영역)/(합집합영역)​​

3> 식의 특성상 단순히 많이 겹치는 것만을 중요시 하는 것이 아니라

4> 겹치지 않는 영역을 최소화 하기 위한 metric

 

​cf> precision & recall

 

- precision : positive 판정이 맞을 확률

- recall : positive 사건이 맞을 확률

 

2) mAP (mean Average Precision)

(detection 관점에서 설명하겠습니다.)

0> TP (2가지 충족)

- class : confidence score가 기준 (쉽게 생각해서 softmax에서의 class별 확률값을 연상하면 됩니다.)

- bounding box : IoU가 기준 (보통 IoU = 0.5를 threshold로 설정)

1> precision : object-detector가 (특정 class라고) detect한 판정이 맞을 확률

- object-detector의 prediction 실제 ground-Truth과 일치하는 비율

- TP(모델이 특정 class로 올바르게 판정) / TP + FP(모델이 특정 class로 잘못 판정)

2> AP (Average Precision) : 여러 recall에 대응하는 precision 값들의 평균

- threshold가 변함에 따라 recall과 precision은 달라집니다.

- 그에 따라 구해지는 recall과 precision들로 AP를 구합니다.

- 하지만 더 정밀하게 구하기 위해 recall과 precison을 각각 x축, y축으로 하는 그래프를 그리고

- 내부의 면적(적분)이 AP가 됩니다. 

- 넓이를 구할 때 아래와 같이 약간의 전처리를 가합니다.

 

 

(class가 여러 개이기 때문에 각 class에 대한 AP이 여러 개 존재)

3> mAP : class별 AP들의 평균

 

 

 

참고:

1> https://bskyvision.com/465

2> http://blog.naver.com/sogangori/221224276320