segmentation task에서 주로 사용하는 metric으로 Jaccard Index(IoU)와 F-score가 있다. 본 글에서는 각각을 이해하고 특징을 살펴본다.
Jaccard Index
Jaccard index는 [1]에서 처음 정의되어 사용되었으며, Intersection over Union(IoU)로도 불린다. 이는 다음과 같이 정의된다:
$$ \frac{TP}{TP+FP+FN}$$
즉 Jaccard index는 다음과 같이 이해될 수도 있다:
$$\frac {A\cap B}{A\cup B}$$
만약 $A$와 $B$와 완전히 겹쳐져 있으면 1이 나오고, intersect하는 구역이 전혀 없을 경우 0이 나올 것이다.
F1 / Dice score
F1 score는 [2]에서 정의되었으며, 다음과 같이 정의된다:
$$ \frac{2TP}{2TP+FP+FN}$$
true positive의 coefficient가 2배가 된 것을 제외하고는 Jaccard index와 동일하며, 역시 $[0, 1]$의 값을 갖는다.
이는 다음과 같이 이해될 수도 있다:
$$ \frac{2 A\cap B}{A+B} \text{ or } \frac{2⋅IoU}{1+IoU}$$
또는 다음처럼 계산될 수도 있다:
$$ 2×\frac{Precision × Recall}{Precision + Recall}$$
두 값의 이해
[3]에 따르면, 이 두 값은 fixed GT에 대해서 언제나 positively related되어 있다. 따라서 하나의 model이 한 metric에서 더 좋다면 그 model은 나머지 metric에서도 더 좋다. 그러나 IoU metric은 F1보다 틀린 classification에 더 가혹한 경향이 있다. 실제로 GT와 pred의 영역의 크기가 같다고 가정하고 그래프를 그려보면 더 정확히 볼 수 있는데,
F1 score graph가 아래로 convex하고 intersection이 적을 때 좀 더 가혹하다. 반면 F1 score는 intersection된 공간을 그대로 갖는 값이 된다.
F1 score는 average performance를 보여주는 것에 가깝고, Jaccard index는 error penalty를 "sqaring"하는 효과가 있다.
Contour Accuracy
video segmentation에서 활용하는 F-score는 [4]에서 처음 제안된 방법으로, F1 score에 기반하나 segmentation mask의 contour accuracy를 측정하기 위해 제안되었다.
gt mask $G$와 predicted segmentation mask $M$에 대해서 closed contour $c(M)$을 mask의 spatial extent를 delimit하는 a set of closed contour로 정의할 수 있다. 그럼 GT와 pred의 contour points $c(M)$과 $c(G)$에 대해서, bipartite graph matching으로 F1 score를 측정한다:
$$\mathcal{F} = \frac{2P_cR_c}{P_c+R_c}$$
해당 실험에서는 bipartite graph matching을 morphology operator를 통해서 approximate했다.
사실 이걸 글로만 봐서는 이해가 잘 안 되어서 코드를 찾았다:
https://github.com/davisvideochallenge/davis/blob/master/python/lib/davis/measures/f_boundary.py
이 코드를 보면, boundary pixel들을 map으로 뽑아낸 다음에 morphological operation 중 하나인 dilation으로 경계를 두껍게 만든다. 그럼 각 object의 contour line이 몇 픽셀 정도로 두꺼워지는데, 이를 이용해 pixel-wise로 F score를 계산한다.
References
[1] Paul Jaccard. The distribution of the flora in the alpine zone. 1. New phytologist, 11(2):37–50, 1912.
[2] Lee R Dice. Measures of the amount of ecologic association between species. Ecology, 26(3): 297–302, 1945.
[3] https://stats.stackexchange.com/questions/273537/f1-dice-score-vs-iou
[4] Perazzi, Federico, et al. "A benchmark dataset and evaluation methodology for video object segmentation." Proceedings of the IEEE conference on computer vision and pattern recognition. 2016.
Footnotes
'DL·ML > Study' 카테고리의 다른 글
GIoU, CIoU metrics (0) | 2025.01.06 |
---|---|
Reinforcement Learning Basics (0) | 2024.08.20 |