최근 Yolo논문을 봤는데, mAP로 모델 성능을 평가하고 다른 모델과 비교하는 내용이 포함되어 있습니다. mAP는 R-CNN, Yolo와 같은 객체 감지 모델의 성능을 분석하는데 사용됩니다. 그렇다면, 의문이 생깁니다.
"mAP는 뭐하는 녀석이지? mAP는 큰 값이 좋은 건가? 작은 값이 좋은 건가?"
mAP
mAP를 이해하기 위해서는 Confusion Matrix와 Precision, Recall에 대한 지식이 있어야 합니다. 이에 대한 자세한 내용은 다음에 기회에 정리하겠습니다. (사실, 작성하다가 자료가 사라졌습니다.)
mAP에서 중요한 것은 PR Curve와 AP입니다.
PR Curve (Precision-Recall Curve)
Confusion Matrix에서 Precision과 Recall를 계산하면서 threshold에 따라 각각의 값들이 변합니다. 이러한 변화를 보여주는 것이 PR Curve 입니다.
AP(Average Precision) vs AUC(Area Under Curve)
AP의 계산식은 다음과 같습니다.
$$ AP = \sum_{n}(R_n - R_{n-1})P_n$$
이를 해석하면, 곡선 아래 면적이라고 생각하면 될 것 같습니다.
"어? 곡선 아래 면적?"
맞습니다. 일반적으로 알고 있는 PR 곡선 아래의 면적은 AUC(Area Under Curve)입니다.
AUC의 계산식은 다음과 같습니다.
$$ PR-AUC = \int_{1}^{0} prec(rec)d(rec) $$
결국, 정확한 면적은 AUC이지만, AP와 AUC 모두 곡선 아래의 면적을 나타낸다는 점에서는 같습니다.
mAP(mean Average Precision)
객체 감지 모델은 여러 개의 class를 가지고 있습니다. 이때 각 class에 대한 AP를 계산한 후, 이를 모두 더하고 class의 수로 나누면 mAP를 얻을 수 있습니다. 계산식은 다음과 같습니다.
$$ mAP = {1 \over n} \sum_{k=1}^{n}AP_k $$
여기서, n는 class의 수를 의미합니다.
mAP도 AUC와 마찬가지로, 값이 1에 가까울수록 좋은 결과로 평가됩니다.
마지막으로 중요한 점이 하나 남았습니다. 바로 객체 감지 모델에서는 IoU(Intersection over Union)의 임계값(Threshold)에 따라 mAP 결과가 달라집니다.
IoU의 임계값을 엄격하게 할 경우(1에 가까울 경우), mAP 값이 줄어듭니다. 반대로, 임계값을 낮추면 mAP값이 커지게 됩니다.
결론
mAP는 값이 1에 가까울수록 좋다.
객체 감지 모델인 경우, IoU 임계값이 1에 가까울수록 mAP값이 줄어든다. 그런데도 높은 수치를 유지하면, 해당 객체 감지 모델은 우수한 모델로 평가할 수 있다.
참고자료
31.07 Mean Average Precision (mAP) Explained
https://www.v7labs.com/blog/mean-average-precision#h1 # Mean Average Precision (mAP) Explained: E…
wikidocs.net
'딥러닝 머신러닝 > 정리' 카테고리의 다른 글
LSTM(Long Short-Term Memory) (2) | 2023.09.16 |
---|---|
RNN(Recurrent Neural Network) (0) | 2023.09.12 |
평균 제곱 오차(Mean Squared Error, MSE) (0) | 2023.09.11 |
오차제곱합(Sum of Squares for Error, SSE) (0) | 2023.09.10 |
교차 엔트로피 오차(Cross Entropy Error, CEE) (0) | 2023.09.08 |