코딩하는 해맑은 거북이

[컴퓨터비전] Object Detection, BBOX, Matrix 본문

AI

[컴퓨터비전] Object Detection, BBOX, Matrix

#CJE 2022. 7. 15.
해당 글은 아래의 3가지를 다룬다.
1. Object Detection
2. Boundary coordinates
3. Ground Truth와 비교 Matrix

- Object Detection

: 물체가 있는 영역의 위치 정보를 Bounding-Box로 찾고 Bounding-Box 내에 존재하는 사물들의 Label을 분류하는 문제 영역

 

 

 

- Boundary coordinates

x, y lines의 pixel coordinates를 사용하는 것.

Bounding-Box의 boundary coordinates는 (x_min, y_min, x_max, y_max)

 

 

하지만, image의 actual dimension을 모르는 경우 pixel values는 거의 쓸모 없다.

더 나은 방법은 모든 coordinates를 fractional form (0~1 normalize)으로 나타내는 것이다.

 

 

더 명확한 방법은 fractional form으로 나타낸 방식에서 Bounding-Box의 중심좌표와 width, height를 사용하는 것이다.

 

- Ground Truth

: Object Detection 문제 영역의 Ground Truth 데이터는 사람이 지정한 Bounding-Box와 Class Label이다.

정답 Ground Truth 데이터와 비교했을 때, 예측값의 성능을 비교하기 위한 Metrix가 필요하다.

 

1) Metrix 1 - Intersection over Union(IoU)

2개의 Bounding-Box를 얼마나 일치하는 지를 0.0~1.0 사이의 값으로 표현한다.

2개의 Bounding-Box가 일치할수록 1.0에 가까운 값이 되고, 일치하지 않을수록 0.0에 가까운 값이 나오게 된다.

 

cf) 2개의 Bounding-Box의 크기가 동일하다 가정하면, 적어도 2/3은 겹쳐줘야 0.5 값이 나오기 때문에, 여러 곳에서 IoU의 threshold 값을 0.5로 잡아서 사용하는 듯하다.

IoU = 교집합영역 / 합집합영역

 

 

2) Metrix 2 - Precision, Recall을 이용한 F1 Score, AP, mAP

- Precision(정밀도) : 모델이 True라고 예측한 것 중 정답도 True인 것의 비율

- Recall(재현율) : 실제 정답이 True인 것 중에서 모델이 True라고 예측한 것의 비율

 

* accuracy(정확도) : 전체 결과 중 실제 정답과 같은 판단이 나온 비율

* Positive 판단 기준 : 일정한 임계치(threshold)의 IoU를 넘기면 맞춘 것으로 간주

 

 

- F1-Score : Precision과 Recall의 조화 평균

(여기서 F1-Score가 높으면 성능이 좋다고 할 수 있다. 정밀도, 재현율, 정확도 중 하나만 높다고 해서 성능이 높은 것은 아니다!)

 

- AP(Average Precision)

: Recall 별 Precision의 평균, precision-recall 그래프에서 그래프 선 아래쪽의 면적으로 계산된다.

AP = 왼쪽 큰 사각형의 넓이 + 오른쪽 작은 사각형의 넓이 = 1*0.33 + 0.88*(0.47-0.33) = 0.4532

 

 

 

- mAP(mean Average Precision)

: Class가 여러 개인 경우 각 클래스당 AP를 구한 다음, 평균을 계산한다.

(각 AP를 모두 합한 것을 물체 Class 갯수로 나눠준다)

 

3) Metrix 3 - FPS, FLOPs

- FPS(Frames Per Second)

초당 프레임 수

 

- FLOPs(Floating Point Operations)

모델이 얼마나 빠르게 동작하는지 측정하는 metric 이며, 연산량의 횟수(곱하기, 더하기, 빼기 등)를 나타낸다.

FLOPs가 작을수록 더 빠르게 동작한다.

 

 

 

[참고자료]

https://better-tomorrow.tistory.com/entry/Tutorial-to-Object-Detection

 

Tutorial to Object Detection

Detection에 대해서 정리하다가 아래 링크에 좋은 내용들이 많아 공부할 겸 정리해보고자 한다. 아래 링크의 내용은 single shot detector(SSD) based로 정리하였다. https://github.com/sgrvinod/a-PyTorch-Tutor..

better-tomorrow.tistory.com

 

Comments