为什么分割任务使用 Dice Coefficient 而不是 IOU?

mlR*_*cks 1 metrics machine-learning computer-vision deep-learning

我一直在使用见过的人IOU作为度量detection任务,Dice Coeffsegmentation任务。除了骰子赋予相交部分两倍的权重之外,这两个指标在等式方面看起来非常相似。如果我是对的,那么

Dice: (2 x (A*B) / (A + B))
IOU : (A * B) / (A + B) 
Run Code Online (Sandbox Code Playgroud)

更喜欢用骰子进行分割和使用 IOU 进行检测有什么特别的原因吗?

Cri*_*ngo 9

这并不完全正确。

Dice 系数(也称为 Sørensen-Dice 系数和 F1 分数)定义为 A 和 B 交集面积的两倍除以 A 和 B 的面积总和:

Dice = 2 |A?B| / (|A|+|B|) = 2 TP / (2 TP + FP + FN)
Run Code Online (Sandbox Code Playgroud)

(TP=真阳性,FP=假阳性,FN=假阴性)

IOU(Intersection Over Union,也称为Jaccard Index)定义为交集面积除以并集面积:

Jaccard = |A?B| / |A?B| = TP / (TP + FP + FN)
Run Code Online (Sandbox Code Playgroud)

注意A和B的面积之和与A和B的并集面积不同。特别是如果有100%的重叠,那么一个是另一个的两倍。这就是 Dice 系数中“两次”的原因:它们都被定义为,100% 重叠时,值为 1,0% 重叠时,值为 0。

使用哪一种取决于个人喜好和每个领域的习惯。你看到一个领域更多地使用一个人与机会比其他任何事情都更相关。有人开始使用 Dice 系数进行分割,其他人也紧随其后。有人开始使用 IOU 进行检测,其他人也紧随其后。