ICDAR 2015에서 어떤 metric을 사용했는지 알아보았다.
Tightness-Aware Evaluation Protocol for Scene Text Detection 에서는 다음과 같이 ICDAR 2015에서는 Pascal VOC와 같은 metric을 사용하였다고 나온다.
Foundational Concepts
Pascal VOC metric을 알아보기전에 몇 가지 기본 개념들을 보자.
- Confidence score: anchor box안에 object가 포함되어있을 확률
- Intersection over Union (IoU): intersection / union 으로 계산된다.
- Confusion Matrix: 다음 표를 확인
- Precision
- Recall
Recall과 Precision을 각각 X축, Y축에 놓고 그려보면 다음과 같이 두 metirc간의 연관성을 알 수 있다.
보는 것처럼 Confidence score의 threshold가 감소할수록 recall은 단조롭게 증가한다. 하지만 precision은 감소한다.
또 한가지 recall-IoU 그래프를 그려볼 수 있는데 다음과 같이 IoU가 0.5~1.0으로 증가할 수록 recall이 감소하는 것을 확인할 수 있다.
Pascal VOC Metric
이제 Pascal VOC에서 사용한 mAP metric을 알아보자. mAP는 Pascal VOC 뿐만아니라 COCO Object Detection Challenge, Open Images Challenge에서도 사용하는 metirc이라고 한다. 그러나 각 challenge에서 약간 다르게 정의하거나 구현되는 변형이 있다고한다.
Interpolation
우선 위에서 보았었던 precision-recall curve를 보면 선이 너무 왔다갔다하는데 이를 감소시키기위해 interpolation을한다. 어떤 recall 값 $r$에서의 interpolation된 $p_interp$은 $r$이상의 recall 값 중 가장 큰 precision을 가진다. 예를 들어 현재 r이 0.5에서의 $p_intrep$ 값을 얻는다고하면 r 이상의 recall 값 [0.5, 0.6, 0.7, 0.8, 0.9, 1.0]에 대한 precision 중 가장 높은 precision을 얻는다는 것이다. 수식으로는 다음과 같다.
이전에는 11개의 동일한 간격으로 recall(0.0, 0.1, 0.2, … 1.0)을 선택하여 interpolation을 진행 (11 point interpolation method라고 한다.)했지만 Pascal VOC에서는 data에서 나오는 모든 recall 들을 선택하여 interpolation을 한다.
interpolation을 진행한 결과는 다음과 같이 그려진다.
mAP
AP는 interpolation된 Precision-Recall(PR) curve의 면적을 계산한 값이다. 그리고 mean Average Precision(mAP)는 모두 더한 AP에 class의 수로 나눈 값이다. 수식은 다음과 같다.
Average Recall(AR)
AR은 AP처럼 detector 성능을 비교하는 metric으로 모든 $IoU \in [0.5, 1.0]$에 대한 averaged recall이고 recall-IoU 그래프에서의 면적을 두 배한 값이다.
mean Average Recall(mAR)
mAR도 mAP처럼 class로 나눈 값이다.
Pascal VOC challenge와 COCO challenge metric 비교
Pascal VOC challenge에서의 mAP metirc은 하나의 IoU threshold 0.5를 사용했다. 하지만 COCO challenge는 여러 다른 threshold를 사용하여 mAP를 다음과 같이 정의했다.
[Reference]
https://learnopencv.com/mean-average-precision-map-object-detection-model-evaluation-metric/