Attention please

AP(Average Precision) & mAP(mean Average Precision)의 개념 본문

딥러닝/CNN

AP(Average Precision) & mAP(mean Average Precision)의 개념

Seongmin.C 2022. 12. 30. 20:00

AP와 mAP는 CNN 모델의 성능을 평가하기 위한 평가지표이다. 하지만 AP와 mAP를 이해하기 위해서는 precision, recall에 대해 이해해야한다.

 

 

 

 

 

 

Precision & Recall

정밀도(precision)과 재현율(recall)은 Computer vision 분야의 classification task에서 자주 사용하는 평가지표이다.

 

 

T(True)는 예측과 실제 값이 동일한 경우를 의미하며, F(False)는 예측과 실제 값이 다른 경우이다.

 

 

Object Detection의 경우 모델이 예측한 것과 실제 값을 비교하는 기준은 IoU로 한다.

 

 

위와 같이 모델이 예측한 box에 대해 IoU score가 나올 것이고 이때 IoU의 값이 0.5 이상이면 제대로 검출되었다고 인식하고(TP) IoU값이 0.5 미만이라면 잘못 검출되었다고 인식(FP)할 것이다.

 

 

 

 

 

 

Precision (정밀도)

precision은 정확도를 의미한다. 즉, 모든 검출 결과들 중 옳게 검출한 비율을 의미한다.

 

 

precision의 수식은 다음과 같다.

 

 

만약 모델이 검출한 object가 10개이고, 옳게 검출한 것이 6개라면 Precision은 6/10=0.6 이 된다.

 

 

 

 

 

 

Recall (재현율)

recall은 검출율을 의미한다. 즉, 검출해내야 하는 물제들 중 제대로 검출된 비율이다.

 

 

recall의 수식은 다음과 같다.

 

 

만약 옳게 검출해야하는 object의 개수가 10인데 4개만 옳다고 예측했으면 recall은 4/10=0.4 가 된다.

 

 

 

 

 

 

Precision-recall 그래프

예를 들어 총 15개의 object가 검출되어야 하는 image에서 총 10개의 object에 대해서만 검출했다고 하자. 이때 TP는 7개, FP는 3개라고 하자.

 

 

이때 Confidence threshold를 0으로 하여 10개 모두 검출된다고 판단하였을 때 표로 나타내면 다음과 같은 결과가 나온다.

 

 

● Precission : TP / (TP + FP) = 7 / 10 = 0.7

 Recall : TP / (TP + FN) = 7 / 15 = 0.47

 

 

 

반대로 Confidence threshold를 95%로 아주 엄격하게 적용하게 되면 검출된 물체는 1개 뿐이게 된다. 이를 표로 나타내면 다음과 같은 결과가 나온다.

 

 

● Precission : TP / (TP + FP) = 1 / 1 = 1

 Recall : TP / (TP + FN) = 1 / 15 = 0.067

 

 

 

그 다음 각 Confidence Threshold를 따른 Precision과 Recall을 표로 나타내면 다음과 같은 결과가 나온다.

 

 

그 후에 X축은 Recall, y축은 Precision으로 그래프를 그리자.

 

 

 

 

 

 

 

AP(Average Precision)

precision-recall 그래프는 해당 알고리즘의 성능을 전반적으로 파악하기에는 분명 좋다. 하지만 2개 이상의 알고리즘을 정량적으로 비교하기에는 어려운 점이 있다. 그래서 성능을 비교하고자 나온 개념이 바로 Average Precision 이다. 

 

Average Precision은 알고리즘의 성능을 하나의 값으로 표현한 것으로 precision-recall 그래프의 아래쪽 면적을 AP라 한다. 즉, AP는 Recall을 0부터 1까지 0.1씩 바꾸어가면서 그 때의 Precision을 계산하고 그들을 평균낸 값이다.

 

computer vision 분야에서 object detection이나 classification 알고리즘의 성능은 대부분 AP로 평가한다.

 

 

 

 

 

 

mAP(mean Average Precision)

만약 물체 class가 여러 개인 경우 각 class에 대해 AP를 구한 후 모두 더한 값을 class의 개수로 나눠 평균을 구하고 그 값으로 해당 알고리즘의 성능을 평가하는데 이를 mAP라고 한다.

 

 

 

 

 

 

 

 

Comments