Jaccard 相似系数和 Dice 系数都是度量两个集合相似度的方法,在计算机视觉图像分割上有应用。本篇介绍它们的区别与联系。

Jaccard 相似系数

Jaccard 相似系数(Jaccard similarity coefficient)又称为 Jaccard 指数(Jaccard index)、交并比(Intersection over Union),它能够度量有限样本集合的相似度,定义为两个集合交集大小与并集大小之间的比例:
$$
J(A,B)=\frac{|A\cap{B}|}{|A\cup{B}|}=\frac{|A\cap{B}|}{|A|+|B|-|A\cap{B}|}
$$
从上式可以看出,只有当 $A\cap{B}=\varnothing$ 时,$J(A, B)=0$;当 $A\cap{B}=A=B$ 时,$J(A, B) = 1$。即有:$0 \leq J(A, B) \leq 1$.

在计算机视觉分割、检测中常用的 IoU 就是 Jaccard 相似系数。

Jaccard 距离

对于 Jaccard 相似系数,可以定义 Jaccard 距离(Jaccard distance),用于度量样本集之间的不相似度。定义为 1 减去 Jaccard 相似系数,即:
$$
d_J(A, B) = 1 - J(A, B) = \frac{|A\cup{B}| - |A\cap{B}|}{|A\cup{B}|}.
$$

Dice 系数

Dice 系数(Dice coefficient)又称为 Sørensen–Dice coefficient,取名于Thorvald Sørensen 和 Lee Raymond Dice,也是一种集合相似度的度量:
$$
s(A, B) = \frac{2|A\cap{B}|}{|A|+|B|} = \frac{|A\cap{B}| + |A\cap{B}|}{|A| + |B| - |A\cap{B}| + |A\cap{B}|} = \frac{|A\cap{B}| + |A\cap{B}|}{|A\cup{B}| + |A\cap{B}|} .
$$
可以看出,Dice 系数是 Jaccard 相似系数分子和分母同时增加上非负数 $|A\cap{B}|$,因此,经过简单的数学推导可以发现,$J(A,B)\leq s(A,B)$. 该结论另一方面也可以得到该结论,因为 Dice 系数的分母是 $\frac{|A|+|B|}{2}$ 小于等于 Jaccard 系数的分母 $|A\cup{B}|$.

注意,Dice 系数的取值范围和 Jaccard 相同,只有当 $A\cap{B}=\varnothing$ 时,$s(A, B)=0$;当 $A\cap{B}=A=B$ 时,$s(A, B) = 1$。即有:$0 \leq s(A, B) \leq 1$.

Dice 损失

和 Jaccard 类似,可定义 “Dice 距离”,这里称为 Dice 损失:
$$
d_D(A, B) = 1 - \frac{2|A\cap{B}|}{|A|+|B|} = \frac{|A\cup{B}| - |A\cap{B}|}{|A\cup{B}| + |A\cap{B}|}.
$$
与 Jaccard 距离不同的是分母减去了一个非负数 $|A\cap{B}|$,这导致 Dice 损失不再是一个距离,因为其不满足三角不等式,如 $A={a}, B={b}, C={a, b}$,有 $d_D(A, C) + d_D(B, C) \geq d_D(A, B)$ 不成立。

然而,Dice 损失在医学图像分割中确有重要应用,如 V-Net,它能够一定程度上解决正负样本不均衡问题。

实际使用 Dice 损失时,还会在 Dice 系数的分子分母上同时增加一个正的常量 $\epsilon$:
$$
l_D = 1 - \frac{2|A\cap{B}| + \epsilon}{|A| + |B| + \epsilon} = \frac{|A\cup{B}| - |A\cap{B}|}{|A\cup{B}| + |A\cap{B}| + \epsilon}.
$$

Jaccard 相似系数与 Dice 系数关系

Jaccard 相似系数与 Dice 系数关系前面给出了一个大小关系,那就是 $J(A,B)\leq s(A,B)$.

除此之外,两者也能够互相表示:

  1. $s = \frac{2J}{1 + J}$;
  2. $J = \frac{s}{2-s}$.

参考文献

  1. 图像分割必备知识点 | Dice损失 理论+代码
  2. 语义分割之dice loss深度分析(梯度可视化)