Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

NISSO

[개념정리] IOU (Intersection Over Union)와 mAP (mean Average Precision) 본문

Computer Vision

[개념정리] IOU (Intersection Over Union)와 mAP (mean Average Precision)

oniss 2021. 10. 12. 16:14

IOU

Intersection over Union

Ground-truth bounding box : 실제 객체 위치

Predicted bounding box : 내가 찾은 객체 위치

 

Intersection : 교집합. predicted bounding box와 ground-truth bounding box가 겹치는 부분 (overlap된 부분)

Union : 합집합. predicted bounding box와 ground-truth bounding box를 모두 둘러싼 부분

Intersection Over Union (IOU) : Intersection을 Union으로 나눈 비율

 

즉, IOU는 모델이 얼마나 object detection을 정확히 했는지 정확도를 측정할 수 있는 지표다.

HOG + 선형 SVM 객체 검출기와 CNN 검출기인 R-CNN, Faster R-CNN, YOLO 등에서 주로 사용된다.

이진분류와 같은 경우 맞다/아니다 로 나뉘기 때문에 정확도를 계산하기 쉽지만,

object detection에서 실제 객체 위치와 예측 위치가 정확히 일치하기 어렵기 때문에 정확도를 간단히 평가하기가 어렵다.

이 때 object detection 모델의 정확도를 측정하는 것이 IOU다.

 

보통 IOU값이 0.5 이상이면 'good' prediction, 잘 예측한 것으로 보기 때문에 threshold를 0.5로 설정하는 경우가 많다.

IOU는 object detection 성능 평가 지표 mAP에서 사용된다.

 

mAP

mean Average Precision

object detection 모델 성능 평가지표

ex) RCNN 모델 mAP가 35.1%에서 53.7%로 향상되었다. / SSD 모델 mAP=0.34

먼저 Precision이 뭔지 알기 위해 위의 표(Confusion Matrix)를 이해해야 한다.

 

환자의 암을 예측하는 모델이 있다고 할 때,

True Class는 실제 정답값, 실제 암환자(Positive)와 암이 아닌 사람(Negative)

Predicted Class는 예측한 값, 모델이 암이라고(Positive) 혹은 암이 아니라고(Negative) 예측한 환자

 

TP : 실제 암환자에게 암을 예측 (True Positive)

FN : 실제 암환자에게 암이 아니라고 예측 (False Negative)

FP : 암이 아닌 사람에게 암을 예측 (False Positive)

TN : 암이 아닌 사람에게 암이 아니라고 예측 (True Negative)

 

classification에서는 간단하게 TP와 FP를 구분할 수 있지만, object detection은 구분하기 어렵다.
이 때 IOU로 True Positive와 False Positive를 구분하는 것이다.
예측한 객체 위치가 실제 객체 위치와 맞는지(TP) 아닌지(FP) 구별한다.

 

앞글자는 예측이 맞았는지 아닌지, 뒷글자는 실제 정답값을 나타낸다고 생각하면 쉽다.

이 표로 계산할 수 있는 지표는 Recall, Accuracy, Precision이 있다.

 

Recall

실제 정답값 True 중 True라고 예측한 비율 (한글로 재현율)

위 예시에서 실제 암환자에게 암이라고 예측한 비율을 의미한다.

 

Precision

True라고 예측한 것 중 실제 True인 비율 (Recall과 반대 개념, 한글로 정밀도)

위 예시에서 암이라고 예측한 사람 중 실제 암환자의 비율을 의미한다.

Recall과 Precision 둘 중 하나만 높아선 안 된다.

일반적으로 둘은 반비례 관계이므로 하나로만 성능 평가를 하지 않고, 둘을 같이 평가하는데, 이 때 AP를 사용한다.

 

AP

Average Precision

Precision과 Recall을 함께 나타낸 Precision-Recall curve (PR곡선)

이 곡선의 아래 면적이 AP (Average Precision) 이다.

 

보통 그래프를 단조함수 형태로 바꾼 후 AP를 계산한다.

mAP는 AP의 평균, 즉 객체 class가 여러 개인 경우 class당 AP를 모두 합한 값을 class 개수로 나눈 평균값이다.

 


  • 참고자료

https://www.pyimagesearch.com/2016/11/07/intersection-over-union-iou-for-object-detection/

https://towardsdatascience.com/confusion-matrix-for-your-multi-class-machine-learning-model-ff9aa3bf7826

https://ctkim.tistory.com/79

Comments