1. mAP (mean Average Precision)란?
객체 인식 모델의 성능을 평가하기 위한 대표적인 지표
- 객체 인식 모델이 “무엇을, 어디서, 얼마나 잘” 찾았는지를 하나의 점수로 나타낸 지표
객체 인식에서는 단순히 정답 / 오답만 있는 것이 아니라,
- 물체의 종류를 맞췄는지
- 물체의 위치를 정확히 찾았는지
- 괜히 없는 물체를 잘못 찾지는 않았는지
까지 함께 평가해야 하기 때문에 이러한 지표가 필요하다.
mAP는 이 모든 요소를 종합해서 평가한다.
모든 클래스 AP의 평균을 내는데, 자세한 건 밑에 기록하였다.
2. 언제, 어디서, 왜 쓰이나?
2-1. 언제 쓰이나?
객체 인식(Object Detection) 문제에서 모델 성능을 평가할 때 사용한다.
객체 인식은 단순 분류와 달리,
“이 이미지에 고양이가 있다” 가 아니라,
“이 위치에 고양이가 있다”
까지 맞춰야 하기 때문에 일반적인 정확도(accuracy) 로는 위치 정보를 반영하지 못하기 때문에 부족하여,
모델 학습 후 성능을 정량적으로 평가할 때 mAP를 사용한다.
2-2. 어디서 쓰이나?
- 객체 인식 분야의 사실상 표준 평가 지표
- 거의 모든 객체 인식 논문과 실험 결과에 등장
예: YOLO, Faster R-CNN, SSD, COCO, PASCAL VOC 데이터셋 등
2-3. 왜 쓰이나?
객체 인식의 상황은 다양하다.
| 상황 | 설명 |
|---|
| 잘 맞춘 경우 | 물체 종류도 맞고, 위치도 정확 |
| 반만 맞춘 경우 | 물체 종류는 맞지만 위치가 부정확 |
| 잘못 찾은 경우 | 없는 물체를 있다고 예측 |
| 놓친 경우 | 실제 물체가 있는데 못 찾음 |
mAP는 이런 경우들을 모두 반영해서 점수화하기 때문에 객체 인식 모델 비교에 적합하다.
3. 객체 인식에서는 어떻게 활용되나?
3-1. IoU를 이용한 위치 정확도 판단
IoU (Intersection over Union)란?
예측한 박스와 실제 정답 박스가 얼마나 겹치는지를 0~1 사이 값으로 나타낸 지표
쉽게 말해,
1에 가까울수록 위치를 거의 정확히 맞춘 것이고,
0에 가까울수록 엉뚱한 위치인 것이다.
IoU 임계값 (threshold)
이 정도로 겹치면 맞았다고 할까? 를 정하는 기준
-
mAP@0.5
- IoU가 0.5 이상이면 정답으로 인정
- 비교적 느슨한 기준
-
mAP@0.5:0.95
- IoU 0.5부터 0.95까지 여러 기준에서 평가 후 평균
- 위치까지 매우 엄격하게 평가
- COCO 데이터셋의 공식 기준
3-2. Precision과 Recall (검출의 질 평가)
Precision (정밀도)
모델이 찾았다고 한 것 중, 진짜 맞은 비율
- 괜히 없는 물체를 많이 찾으면 Precision이 낮아짐
- 오검출 (False Positive) 을 얼마나 줄였는지 보는 지표
Recall (재현율)
실제 있는 물체 중, 모델이 얼마나 찾아냈는지
- 물체를 많이 놓치면 Recall이 낮아짐
- 미검출 (False Negative) 을 얼마나 줄였는지 보는 지표
3-3. Precision–Recall 곡선과 AP
- 모델은 각 박스에 confidence score(확신도) 를 함께 출력
- 이 점수를 기준으로 기준을 바꾸면 Precision과 Recall이 달라짐
- 이를 그래프로 그린 것이 Precision–Recall 곡선
이 곡선 아래 면적이 해당 클래스에 대한 AP (Average Precision)인 것이다.
3-4. mAP의 실제 활용
-
모델 비교
- YOLOv5 vs YOLOv8
- Backbone 변경 전/후
-
학습 상태 확인
- mAP가 계속 증가 → 학습 잘 됨
- mAP가 정체/하락 → 과적합 가능성
-
튜닝 기준
- 입력 해상도, 데이터 증강, 하이퍼파라미터 조정 시 기준 지표
간단 핵심 정리
- mAP : 객체 인식 모델의 종합 점수
- 왜 필요? 무엇을 + 어디를 + 얼마나 정확히 찾았는지 한 번에 보기 위해
- 어떻게 계산? 클래스별로 잘 찾았는지(AP)를 구해서 평균을 냄