mAP(mean Average Precision)는 객체 탐지(Object Detection) 모델의 성능을 평가하는 가장 표준적이고 중요한 지표입니다. 간단히 말해, 모델이 이미지 내의 여러 객체들을 '얼마나 정확하게(Precision)' 그리고 '얼마나 빠짐없이(Recall)' 찾아내는지를 하나의 숫자로 요약한 값입니다.
mAP를 이해하기 위해서는 네 가지 구성 요소(IoU, Precision/Recall, AP, mAP)를 순서대로 이해해야 합니다.
1. IoU (Intersection over Union)
가장 기본이 되는 개념입니다. 모델이 예측한 박스(Predicted Box)가 실제 정답 박스(Ground Truth Box)와 얼마나 겹치는지를 측정합니다.
- 계산식: 두 박스의 교집합 영역을 합집합 영역으로 나눈 값입니다.
$$IoU = \frac{\text{교집합 영역 (Intersection Area)}}{\text{합집합 영역 (Union Area)}}$$
- 용도: IoU 값(0에서 1 사이)이 미리 정한 임계값(Threshold)(예: 0.5)보다 크면 '올바른 탐지(True Positive)'로, 작으면 '잘못된 탐지(False Positive)'로 판단합니다.
2. 정밀도(Precision)와 재현율(Recall)
IoU 임계값을 기준으로, 모델의 모든 예측은 TP(True Positive), FP(False Positive), FN(False Negative)으로 분류됩니다.
- TP (True Positive): $IoU \ge \text{Threshold}$ 이고, 클래스도 올바르게 예측한 경우. (제대로 찾음)
- FP (False Positive): $IoU < \text{Threshold}$ 이거나, 클래스를 틀리게 예측한 경우. (헛다리 짚음)
- FN (False Negative): 실제 객체가 존재하지만, 모델이 탐지하지 못한 경우. (놓침)
이를 바탕으로 정밀도와 재현율을 계산합니다.
- 정밀도 (Precision): 모델이 "탐지했다"고 예측한 것들($TP+FP$) 중에서, 실제로 "정답"($TP$)인 비율입니다. (헛스윙을 얼마나 안 하는가)
$$Precision = \frac{TP}{TP + FP}$$ - 재현율 (Recall): 실제 "모든 정답"($TP+FN$) 중에서, 모델이 "탐지해낸"($TP$) 비율입니다. (빠뜨린 것 없이 얼마나 잘 찾는가)
$$Recall = \frac{TP}{TP + FN}$$
3. AP (Average Precision)
정밀도와 재현율은 '상충 관계(Trade-off)'에 있습니다. 모델의 탐지 신뢰도(Confidence Score) 임계값을 낮추면 더 많은 객체를 탐지하게 되어 재현율(Recall)은 올라가지만, 잘못된 탐지(FP)도 늘어나 정밀도(Precision)는 떨어집니다.
- P-R 곡선 (Precision-Recall Curve): 신뢰도 임계값을 0에서 1까지 변화시키면서 모든 지점의 (Recall, Precision) 쌍을 그래프로 그린 것입니다. X축이 Recall, Y축이 Precision입니다.
- AP (Average Precision): 이 P-R 곡선의 아래쪽 면적(Area Under the Curve, AUC)입니다.
AP는 하나의 클래스(예: '자동차' 클래스)에 대한 모델의 종합 성능을 0과 1 사이의 값으로 나타냅니다. AP가 1에 가까울수록 모든 재현율 수준에서 높은 정밀도를 유지하는, 즉 빠짐없이 정확하게 탐지하는 이상적인 모델입니다.
4. mAP (mean Average Precision)
mAP는 이름 그대로 모든 클래스에 대해 계산된 AP 값들의 평균입니다.
$$mAP = \frac{1}{N_{\text{classes}}} \sum_{i=1}^{N_{\text{classes}}} AP_i$$
(여기서 $AP_i$는 $i$번째 클래스의 Average Precision, $N_{\text{classes}}$는 총 클래스의 수입니다.)
예를 들어 데이터셋에 '자동차', '사람', '자전거' 3개의 클래스가 있다면, $AP_{\text{자동차}}$, $AP_{\text{사람}}$, $AP_{\text{자전거}}$를 각각 구한 뒤, 이 세 값의 평균을 낸 것이 mAP입니다.
※ (중요) $mAP_{50}$ 과 $mAP@[.5:.95]$
논문이나 모델 성능을 볼 때 mAP는 종종 두 가지 다른 기준으로 제시됩니다. 이는 1단계에서 사용한 IoU 임계값을 어떻게 설정하느냐에 따라 달라집니다.
- $mAP_{50}$ (또는 mAP@.5): IoU 임계값을 0.5로 고정하고 계산한 mAP입니다. PASCAL VOC 데이터셋에서 사용하던 전통적인 방식입니다. 즉, 예측 박스와 정답 박스가 50%만 겹쳐도 '올바른 탐지(TP)'로 인정합니다.
- $mAP@[.5:.95]$ (COCO 표준): 현재 가장 널리 사용되는 표준입니다. IoU 임계값을 0.5부터 0.95까지 0.05 단위로 변화시키며(0.5, 0.55, 0.6, ..., 0.95) 총 10개의 mAP를 각각 계산한 뒤, 이 10개의 mAP를 다시 평균 낸 값입니다.
이 COCO 방식($mAP@[.5:.95]$)은 모델이 객체의 위치를 '대충' 맞추는 것($IoU=0.5$)뿐만 아니라, '매우 정확하게'($IoU=0.95$) 맞추는지까지 종합적으로 평가하므로, 모델의 위치 정확도(Localization) 성능까지 훨씬 엄격하게 측정할 수 있습니다.
'인공지능 > 평가지표' 카테고리의 다른 글
| 혼동 행렬과 성능 평가 지표 (0) | 2025.10.30 |
|---|---|
| 혼란도(Perplexity, PPL) (0) | 2025.10.29 |