computer vision/object detection

mAP(mean Average Precision)

loosiu 2024. 5. 17. 14:30

- Confusion Matrix

ex) 이진분류 기준: 실제 object는 car라고 가정 

TP: 실제 car를 car라고 예측해서 올바르게 detection함

TN: 실제 car가 아닌 것을 car가 아닌 것으로 예측해서 올바르게 detection함

FP: 실제 car가 아니였지만 car라고 예측해서 틀리게 detection함

FN: 실제 car였지만 car가 아니라고 예측해서 틀리게 detection함

 

ex) 다중 분류 기준: class = Apple, Banana, Cherry

TP: 실제 apple을 apple로 예측해서 올바르게 detection함

TN: 실제 apple이 아닌 것(banana, cherry)을 apple가 아닌 것으로 예측해서 올바르게 detection함

FP: 실제 apple가 아니였지만 apple라고 예측해서 틀리게 detection함

FN: 실제 apple였지만 apple가 아니라고 예측해서 틀리게 detection함

 

모든 class의 TP, TN, FP, FN을 계산하고 평균을 구해주면 전체 class의 TP, TN, FP, FN을 추출할 수 있다.

 

- Intersection over Union(IoU)

빨간 boundning box: 정답(ground truth), 초록 bounding box: 예측

IoU는 정답과 예측의 bounding box의 전체 면적에 예측값이 얼마나 중첩되는 지를 측정하는 값이다.

IoU가 0.5이상이면 제대로 detection했다고 판단함

 

- Precision

정확도(예측된 detection 중 맞게 detection된 비율)

 

 

ex) 사람 10명을 detection했는데 4명을 옳게 detection

Precision = 4/10 = 0.4

 

- Recall

 재현율(검출율, 정답 detection 중 맞게 detection된 비율)

 

 

ex) 사람 10명을 옳게 detection해야하는데 5명만 옳게 예측됨

Recall = 5/10 = 0.5

 

일반적으로 precision과 recall은 반비례 관계

 

그래서 precision과 recall의 성능 변화를 확인해야한다

-> precision-recall 그래프 이용

 

- Precision-recall 곡선

confidence score: bounding box 안에 object가 존재할 확률(0과 1사이 값)

특정 class일 확률 * IoU

 

confidence: detection한 것에 대한 알고리즘이 얼마나 정확한지 알려주는 값

 

confidence threshold 값의 변화에 따라 precision과 recall 값이 달라짐

 

 

Average Precision(AP)

PR Curve 면적

 

AP가 높을수록 알고리즘의 성능이 좋다는 의미

 

 

해당 그래프로 변경한 뒤 면적을 구하면 AP가 나옴

 

mean Average Precision(mAP): class가 여러 개인 경우 각 class의 AP를 구해서 합하고 class 개수로 나누는 것

 

 

출처: https://ctkim.tistory.com/entry/mAPMean-Average-Precision-%EC%A0%95%EB%A6%AC

https://cn-c.tistory.com/67

 

이진 분류 및 멀티 클래스 분류에서 TP, TN, FP, FN, Recall, Precision, Accuracy 계산하기(Binary Classification &

`혼동 행렬(Confusion matrix)`을 사용하면 분류(Classification) 문제에서 모델의 성능을 평가할 수 있다. TP, TN, FP, FN와 같은 개념들은 이진 분류에서 유명하지만, 멀티 클래스 분류에서도 사용되는 성능

cn-c.tistory.com

 

 

mAP(Mean Average Precision) 정리

mAP 합성곱 신경망(Convolutional Neural Network CNN)의 모델 성능 평가는 아래 그림과 같이 mAP를 이용하여 평가하는 것을 볼 수 있다. mAP를 이해하기 위해서는 우선 precision, recall , AP(Average Precision)에 대해

ctkim.tistory.com