Dice系数与Jaccard系数关系

本文探讨了Dice系数和Jaccard指数在医学图像分割中的应用,比较了它们作为损失函数的效果,并揭示两者之间的转换关系。通过实例说明,这两个指标常用于评估模型性能,但选择其中一个即可,因为全对全错时两者等价。作者提供了计算代码,有助于理解与实践。
摘要由CSDN通过智能技术生成

对于文章论文阅读(12)-优化医学图像分割的Dice 得分和Jaccard 指数: 理论与实践_peacefairy的博客-CSDN博客_jaccard和dice

与其在开篇提出的问题与结尾结论:

引出问题:一个损失函数对图像的分割质量有什么影响?

经过试验证明,指标损失函数的优化效果要优于逐像素的交叉熵损失函数,并且指标损失函数类Dice和Jaccard没有统计上的差别。

进一步地讨论与证明Dice系数与Jaccard系数关系,文章内容简单易懂,主要是证明两个问题:

1、Dice与Jaccard可相互转化,对于同一篇论文,使用Dice与Jaccard验证模型好坏是重复的,且可以通过Dice与Jaccard的关系验证论文数据是否造假。

2、同一图像,Dice >= Jaccard。

3、最后简单实现Dice与Jaccard的计算方法。

图像分割常用指标:Dice与Jaccard。

计算公式如下:

Dice = \frac{2\left | x\bigcap y \right |}{\left | x \right | + \left | y \right |}

Jaccard = \frac{\left | x \bigcap y \right |}{\left | x\bigcup y \right |} =\frac{\left | x\bigcap y \right |}{\left | x \right | + \left | y \right |-\left | x\bigcap y \right |}

其中 x,y分别为标签(GroundTruth)和预测(Predict)结果。

不难得出:

Dice = \frac{2Jaccard}{1+Jaccard}

Jaccard = \frac{Dice}{2-Dice}

此外,根据糖水不等式,不难看出,同一分割结果下的 Dice >= Jaccard,当且仅当分割结果为全对(1)和全错(0)的时候,等号成立。

对于分割结果,Dice系数和Jaccard系数越高,证明分割效果越好。

所以,对于Dice与Jaccard,反应分割效果是近似的。

下面是Dice系数与Jaccard系数的代码实现。主要思路是,使用numpy自带的库,分别计算label与predict的和,再使用np.bitwise_and计算label与predict的交集,最后计算Dice系数或Jaccard系数。(代码有限制,计算的系数只能为2分类问题,也就是单任务分割)

Dice代码段:

predict_score = np.sum(predict_num)
label_score = np.sum (label_num)
and_score = np.sum(np.bitwise_and(predict_num,label_num))
if predict_score+label_score == 0:
    return 1
dice_score = 2*and_score/(predict_score+label_score)
return dice_score

Jaccard代码段:

predict_score = np.sum(predict_num)
label_score = np.sum (label_num)
and_score = np.sum(np.bitwise_and(predict_num,label_num))
if predict_score+label_score == 0:
    return 1
jaccard_score = and_score/((predict_score+label_score)-and_score)
return jaccard_score
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值