mAP(mean average precision)

JInwoo·2022년 9월 25일
0

그냥 스터디

목록 보기
1/2
post-thumbnail

mAP

object detection에 관한 공부를 진행하다보면 모델의 평가 지표로 mAP가 등장한다. 이전까지는 mAP가 등장하면 그저 모델이 좋은 정도를 나타내는구나 생각하고 넘어갔는데, 이번 기회에 mAP에 대해 공부하고 정리하고자 한다.

mAP란?

mAP는 mean Average Precision의 약자이다. 해석하면 평균 정확도의 평균이다. 평균이 두 번 등장해 매우 이상하다. 좀 더 자세히 풀어보면, mAP는 AP(Average Precision)의 평균이고 AP는 Precision의 평균이다. 따라서 mAP를 이해하기 위해서는 Precision부터 알아야한다.

Precision

머신러닝을 처음 공부하고, classification을 공부한 사람이라면 한 번쯤은 precision과 recall이라는 말을 들어봤을 것이다. precision은 한국말로하면 정밀도로 모델이 True로 예측한 것들 중에서 실제 True인 비율을 의미한다. recall은 재현율로 실제 True label 중 모델이 True로 예측한 비율을 의미한다.

  • Precision Recall
    출처 : 위키백과


    이를 object detection 문제에 적용해보면, precision 모델이 검출한 object 중 ground truth object의 비율을 의미할 것이고, recall은 전체 ground truth object 중 모델이 검출에 성공한 object를 의미할 것이다. 여기서 모델이 검출한 object가 검출에 성공했는지를 판단하는데 문제가 발생한다. 검출 성공 여부의 기준을 ground truth의 bounding box와 동일한 것으로 두면 모델 입장에서 꽤나 억울한 상황이 발생할 것이다.

    위와 같은 상황에서 모델은 검출에 성공한 것일까 실패한 것일까? 위에서 말한 것 처럼 ground truth box와 동일한 것을 기준으로 잡는다면 모델은 검출에 실패한 것으로 분류된다. 그러나 예측된 box를 보면 box 내에 object가 모두 담겨있고 ground truth box와 상당부분 겹쳐있다. 따라서 위와 같은 경우에 모델은 검출에 성공했다고 봐야할 것이다. 이러한 모델의 검출 성공 여부에 대한 기준을 잡기 위해 IoU를 사용한다.

IoU

IoU는 Intersection over Union의 약자로 한국말로 하면 전체 영역 중 겹치는 영역 정도가 되겠다.

즉, 모델이 검출한 bounding box가 ground truth box와 얼마만큼 겹치는지를 나타내는 지표가 된다. 특정 threshold 값을 넘긴 predict bounding box에 대해서 TP로 판단한다.

PR Curve

PR Curve는 confidence score에 대한 threshold 값이 변화함에 따른 Precision과 Recall의 변화량을 나타낸 그래프이다. object detection에서 confidence score는 IoU가 된다.

AP

드디어 AP가 등장한다. 쉽게 설명하면 AP는 PR Curve의 아래 영역이 된다. AUC가 ROC curve의 아래 영역을 의미하는 것과 동일하다. Curve의 아래영역을 계산하기 쉽게 하기 위해서 PR Curve가 단조적으로 감소하도록 수정한 후 AP를 계산한다.

  • PR Curve 변환 예시

mAP

object detection task에서는 강아지, 고양이, 자동차, 비행기 등 탐지하고자 하는 물체(class)가 다양하다. mAP란 각 class 별 AP의 평균을 나타낸 값으로 모델의 정확도를 측정하는 평가 지표가 된다.

Reference

1) 물체 검출 알고리즘 성능 평가방법 AP(Average Precision)의 이해
2) mAP (mean Average Precision) for Object Detection
3) 정밀도와 재현율-위키백과
4) Precision-Recall - scikit-learn

profile
Jr. AI Engineer / Researcher

0개의 댓글