Segmentation이나 Object Detection에서 종종 사용되는 평가 지표인 IoU(Intersection over Union)와 Dice Coefficient를
알아보겠습니다.
IoU와 Dice Coefficient는 0~1 사이의 값을 가지며 실제 영역(Ground truth)과 예측 영역(Prediction)에 대한 수식으로 이뤄지며 느낌은 비슷한 듯하면서도 식은 서로 다릅니다.
위 그림에서 IoU의 분모는 Dice Coef.의 분모처럼 생기는 경우도 있는데 합집합이라는 것을 명확히 하고자 위와 같이 나타냈습니다. 이와 달리 Dice Coef.의 분모는 A와 B를 각각 더한 것입니다.
1. IoU
분모는 실제와 예측의 합집합, 분자는 실제와 예측의 교집합으로 이뤄집니다.
2. Dice Coefficient
2-1. Dice Coefficient Score
분모는 2TP + FP + FN으로 이뤄집니다. (TP + FP)와 (TP + FN)으로 나눠져 있는 이유는 위의 Figure 1 그림을 보면서
이해하는 것이 쉽습니다.
(TP + FP) : TP(맞다고 판단한 것이 실제로 맞음) + FP(맞다고 판단한 것이 실제로 틀림)
(TP + FN) : TP(맞다고 판단한 것이 실제로 맞음) + FN(틀렸다고 판단한 것이 실제로 맞음)
2-2. Dice Loss
위의 Dice Coefficient는 score를 뽑기 위한 지표입니다. 위의 Dice Coef.를 활용하여 loss function(손실 함수)을 만들 수도 있습니다. 이를 간단히 나타내면 아래와 같습니다.
Dice Coef.가 1에 가까워질수록 실제와 예측이 더 근접하고 그 때의 Dice Loss는 0에 가까워집니다.
loss는 0에 근접하기 위해 최적화 학습을 하기 때문에 1 - Dice Coef.로 수식이 이뤄져 있습니다.
정확히 일치하면 loss는 0이 될 것입니다.
3. 그래서 IoU와 Dice Coefficient의 직관적인 차이는 무엇일까?
위 수식에서 TP에만 주목해서 보면 된다. Dice가 TP 값이 커질수록 상대적으로 IoU의 TP 값이 커질 때보다 큰 값을 가집니다.(= 가중치가 더 붙습니다) 굳이 수식 살짝 바꿔서 뭐하나 싶겠지만 이 가중치 차이를 통해 medical image에서 병변 찾는 일에 score를 더 주는 것이 Dice의 목적입니다.
2개의 원으로 생기는 교집합인 TP에 따라 IoU와 Dice의 값이 변화하는 상황을 보여줍니다. TP가 높을수록 Dice의 값이 IoU보다 상대적으로 큽니다. 이에 따라 TP에 가중치가 더 붙은 Dice가 당연히 더 높은 score를 가집니다.