【问题标题】:Why Dice Coefficient and not IOU for segmentation tasks?为什么 Dice Coefficient 而不是 IOU 用于分割任务?
【发布时间】:2020-06-01 18:08:41
【问题描述】:

我见过有人使用IOU 作为detection 任务的指标,而Dice Coeff 则作为segmentation 任务的指标。这两个指标在方程方面看起来非常相似,只是骰子给相交部分的权重是两倍。如果我是对的,那么

Dice: (2 x (A*B) / (A + B))
IOU : (A * B) / (A + B) 

有什么特别的原因让我更喜欢用骰子来分割和用 IOU 来检测吗?

【问题讨论】:

  • 这个问题是题外话。这似乎不是一个编程问题,而是一个关于机器学习方法的问题。您可能应该将其发布在堆栈交换上以进行机器学习或统计。

标签: machine-learning deep-learning computer-vision metrics


【解决方案1】:

这并不完全正确。

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

Dice = 2 |A∩B| / (|A|+|B|) = 2 TP / (2 TP + FP + FN)

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

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

Jaccard = |A∩B| / |A∪B| = TP / (TP + FP + FN)

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

使用哪一个取决于每个领域的个人喜好和习惯。您看到一个在一个领域中使用得更多的人与机会有关,而不是其他任何事情。有人开始使用 Dice 系数进行分割,其他人也跟着跟进。有人开始使用 IOU 进行检测,其他人也跟着跟进。

【讨论】:

  • 感谢您的澄清。如果有人在接受答案之前要添加更多积分,我将等待更多时间
【解决方案2】:

在分割任务中,Dice Coeff (Dice loss = 1-Dice coeff) 被用作损失函数,因为它是可微的,而 IoU 不可微。

两者都可以用作评估模型性能的指标,但作为损失函数,仅使用 Dice Coeff/loss

【讨论】:

    猜你喜欢
    • 2021-08-17
    • 2021-05-04
    • 2020-04-16
    • 2021-07-05
    • 2017-10-17
    • 2021-05-12
    • 2018-06-23
    • 2018-12-09
    • 1970-01-01
    相关资源
    最近更新 更多