프로그래밍/데이터 사이언스 공부

mAP란 무엇인가?

이자다 2024. 2. 16. 08:44
반응형

YOLO 모델을 훈련시킬 때 모델의 성능에 대해서 mAP로 표현하여 mAP 수치가 가장 높은 것을 가장 성능이 좋은 모델이라고 best.pt 파일로 저장하게 된다.

 

patience 매개변수는 인내, 인내심이라는 뜻을 가지고 있는데 이는 지정된 숫자의 에폭만큼 모델을 훈련시켰는데 mAP의 향상이 없으면 훈련을 중단하는 옵션이다.

 

이처럼 mAP는 모델의 성능과 거의 동일하게 사용되고 있는데 대체 이 mAP가 정확하게 무엇인지 제대로 몰라서 알아보기로 하였다.

 

https://artiiicy.tistory.com/25

 

[ML] 인공지능 Object Detection에서의 mAP란?

수많은 ML 분야 중에서도 Object Detection 분야의 논문에서 자주 등장하는 모델의 성능평가지표인 mAP. 아직은 계속 용어가 헷갈리고 의미가 불확실해 정리해보았다 mAP (mean Average Precision) AP는 precision

artiiicy.tistory.com

 

https://sumniya.tistory.com/26

 

분류성능평가지표 - Precision(정밀도), Recall(재현율) and Accuracy(정확도)

기계학습에서 모델이나 패턴의 분류 성능 평가에 사용되는 지표들을 다루겠습니다. 어느 모델이든 간에 발전을 위한 feedback은 현재 모델의 performance를 올바르게 평가하는 것에서부터 시작합니

sumniya.tistory.com

 

위 두 블로그 글을 참고하여서 내용을 정리한다.

 

 

 

mAP를 알기 위해서는 우선 confusion matrix(혼동 행렬)에 대해 이해하여야 한다.

 

confusion matrix란 다음과 같은 행렬을 뜻한다.

 

 

이는 알고리즘의 분류 성능을 시각화할 수 있는 표이다.

 

각 case별로 살펴보자면 다음과 같다.

  • True Positive(TP) : 실제 True인 정답을 True라고 예측 (정답)
  • False Positive(FP) : 실제 False인 정답을 True라고 예측 (오답)
  • False Negative(FN) : 실제 True인 정답을 False라고 예측 (오답)
  • True Negative(TN) : 실제 False인 정답을 False라고 예측 (정답)

 

위 행렬을 통해 여러가지 성능 지표를 표현할 수 있는데 그 중 mAP와 관련된 지표는 precision(정밀도)과 recall(재현율)이다.

 

precision : 모델이 정답이라고 답한것들(아래 그림의 파란 박스) 중, 실제로 맞은(TP) 비율

recall : 실제 정답들(아래 그림의 빨간 박스) 중에서 내가 정답이라고 말한 비율

 

 

위의 precision과 recall을 그래프로 나타내면 아래의 그래프가 나타나는데 해당 그래프의 면적을 AP(Average Precision)이라고 한다.

 

 

object detection 모델은 각 class마다 AP를 계산하고 그 값들의 평균을 취함으로써 모델의 성능을 요약한다.

 

따라서 mAP는 모든 클래스에 대한 평균 정확도를 나타내는 지표이다.

 

 

위 사진은 내가 산학협력 연구과제로 제작한 차종 분류 모델의 PR Curve이다.

 

해당 그래프의 면적이 곧 AP이고 각 클래스 별 AP의 평균이 mAP라고 할 수 있다.

반응형