개요
mAP란 Object Detection 모델의 성능을 평가하기 위해 사용되는 지표이다. mAP를 구하기 위해서 필요한 정밀도(Precision)과 재현율(Recall) 개념에 대해서 먼저 알아본 후, mAP를 구하는 방법을 알아본다.
정밀도(Precision)과 재현율(Recall)
- 정밀도(Precision) : (실제 class&bbox = 예측 class&bbox 개수) / (모델이 예측한 class&bbox 개수)
- 재현율(Recall) : (실제 class&bbox = 예측 class&bbox 개수 ) / ( 실제 class&bbox 개수)
여기서 " 실제 class&bbox = 예측 class&bbox" 는 "실제 class = 예측 class And 실제 bbox = 예측 bbox" 이다." 실제 bbox = 예측 bbox" 는 IoU를 통해 판별한다. [(실제 bbox ∩ 예측 bbox)면적] / [ (실제 bbox ∪ 예측 bbox)면적] 이 설정해 놓은 IoU threshold 보다 크다면
" 실제 bbox = 예측 bbox" 라고 판단합니다.
정밀도와 재현율 개념은 오차행렬을 통해서 더 명확히 수식화 할 수 있다.
TP : 1. 예측 존재함 2. 실제 object 존재함 3. 예측 class&bbox = 실제 object의 class&bbox
FN : 1. 예측 존재 안 함 2. 실제 object 존재함
FP : 1. 예측 존재함 2. 예측 틀림( 예측 class&bbox ≠ 실제 object의 class&bbox OR 실제 object 존재 안 함)
정밀도와 재현율 중 한마리 토끼만 쫓으면 문제가 발생한다
정밀도가 중요한 분야(스팸 메일 판별)가 있고, 재현율이 중요한 분야(암 진단, 금융사기 판별)가 있다.
스팸 메일 판별에서 정밀도만 무작정 올리면, 정말 확실한 스팸메일 몇 개를 제외한 나머지 스팸메일은 걸러내지 못 해 수신자가 시간낭비하는 문제가 발생할 것이다.
암 진단에서 재현율을 무작정 올리면, 실제 암이 아닌 사람도 암으로 진단되어 비싼 치료비를 낭비할 수 있다.
따라서 정밀도와 재현율을 적당한 수준에서 유지해야 한다.
Confidence 임곗값에 따른 정밀도-재현율 변화
confidence 임곗값이 낮아지면 => 더 많은 예측 bbox를 만들게 됨 => 정밀도↓ 재현율↑
confidence 임곗값이 높아지면 => 예측 bbox를 만드는데 매우 신중하게 됨 => 정밀도↑ 재현율↓
즉 정밀도와 재현율을 동시에 올릴 수는 없는데 이를 정밀도/재현율의 트레이드오프(Trade-off)라고 한다.
따라서 모델이 사용되는 분야에 맞는 Confidence 임계값을 찾아야 한다.
mAP(mean Average Precision) 계산하기
모델의 성능을 측정하기 위해 여러 장의 이미지 데이터를 사용하는데, 이 이미지들 안에는 다양한 class(사과, 새, 강아지 등등)가 존재한다. AP는 모든 이미지들을 대상(한 개의 이미지 내에서가 아니다!)으로 한 개의 class에 대한 성능 수치이고, 여러 개의 class에 대한 각각의 AP 값들을 평균한 값이 mAP이다. mAP를 구하기 위해서 먼저 AP 구하는 방법을 알아본다.
AP 계산하기
1. 정밀도-재현율 곡선(Precision-Recall curve) 그리기
confidence에 따른 Precison과 Recall의 값 | 정밀도-재현율 곡선 그리기 |
2. 오른쪽 최대 Precison값 연결 후 그래프 밑의 면적 구하기
mAP구하기
각각의 class에 대해 위의 방식으로 AP를 구한 후 평균한다. 예를 들어 사람, 강아지, 새를 탐지하는 모델이 있다면 사람에 대한 AP, 강아지에 대한 AP, 새에 대한 AP를 구해서 더한 후 3으로 나누면 해당 모델의 mAP이다.
COCO Challenge에서의 mAP
예측 성공을 위한 IOU를 0.5 이상으로 고정한 PASCAL VOC와 달리 COCO Challenge는 IOU 를 다양한 범위로 설정하여 예측 성공 기준을 정함.
IOU 0.5 부터 0.05 씩 값을 증가 시켜 0.95까지 해당하는 IOU별로 mAP를 계산
또한 크기의 유형(대/중/소)에 따른 mAP도 측정
<IOU 에 따른 Precision-Recall curve 변화>
IOU가 높아질수록 AP가 감소하고 있다. IOU가 높아지면 모델의 예상을 정답으로 보는 기준이 엄격해지므로 성능(AP)가 떨어지는 것이다.
데이터 세트와 알고리즘 별 mAP 수치 예시
AP50 : IOU = 0.5 일 때의 AP 값
AP75 : IOU = 0.75 일 때의 AP 값
AP : IOU 0.5 ~ 0.95까지 0.05씩 증가할 때 각각의 AP 값의 평균
Reference
https://www.inflearn.com/course/딥러닝-컴퓨터비전-완벽가이드/dashboard
'컴퓨터비전' 카테고리의 다른 글
Pascal VOC 데이터 세트 탐색하기 (0) | 2024.02.20 |
---|---|
Object Detection 주요 데이터 세트 소개 및 Pascal VOC 데이터 세트의 이해 (0) | 2024.02.20 |
NMS(Non Max Supression)의 이해 (0) | 2024.02.17 |
IoU(Intersection over Union)의 이해와 구현 실습 (0) | 2024.02.14 |
Region Proposal(영역 추정) - Selective Search 기법 (0) | 2024.02.14 |