首页 > 其他分享 >各种 Dice Loss 变体

各种 Dice Loss 变体

时间:2022-12-14 13:01:06浏览次数:67  
标签:Loss dice distance score 变体 类别 wasserstein soft Dice


各种 Dice Loss 变体_人工智能

各种 Dice Loss 变体

语雀文档:​​https://www.yuque.com/lart/idh721/gpix1i​

Dice Loss也是图像分割任务中非常常见的一个损失函数。本文基于 ​​Generalised Wasserstein Dice Score for Imbalanced Multi-class Segmentation using Holistic Convolutional Networks​​ 中的内容进行了整理。

hard dice score for binary segmentation

dice score 被广泛使用的针对二值分割图 S 和 G 之间成对比较的重叠度量方式。

其可以表示为集合操作或统计性度量的形式:

各种 Dice Loss 变体_计算机视觉_02

这里涉及到几项,具体含义如下:

  • 各种 Dice Loss 变体_图像分割_03:待评估图像和参考图像
  • 各种 Dice Loss 变体_计算机视觉_04:正阳性样本的数量,即 各种 Dice Loss 变体_人工智能_05各种 Dice Loss 变体_人工智能_06
  • 各种 Dice Loss 变体_图像分割_07各种 Dice Loss 变体_人工智能_05 中真而 各种 Dice Loss 变体_人工智能_06
  • 各种 Dice Loss 变体_人工智能_10各种 Dice Loss 变体_人工智能_05 中假而 各种 Dice Loss 变体_人工智能_06
  • 各种 Dice Loss 变体_人工智能_13各种 Dice Loss 变体_人工智能_05各种 Dice Loss 变体_人工智能_06

soft dice score for binary segmentation

对于软二值分割的扩展依赖于概率分类对的不一致概念。

对于 各种 Dice Loss 变体_计算机视觉_16各种 Dice Loss 变体_机器学习_17 中的位置 各种 Dice Loss 变体_深度学习_18 对应的类别 各种 Dice Loss 变体_计算机视觉_19各种 Dice Loss 变体_图像分割_20 可以被定义为标签空间 各种 Dice Loss 变体_人工智能_21

概率分割可以被表示为标签概率图,其中 各种 Dice Loss 变体_机器学习_22

  • 各种 Dice Loss 变体_深度学习_23
  • 各种 Dice Loss 变体_人工智能_24

由此可以将前面的关于数据的统计量 各种 Dice Loss 变体_机器学习_25

  • 各种 Dice Loss 变体_图像分割_26
  • 各种 Dice Loss 变体_深度学习_27

对于一般情形中的 各种 Dice Loss 变体_深度学习_28,即 各种 Dice Loss 变体_人工智能_29,此时有:

  • 各种 Dice Loss 变体_人工智能_30
  • 各种 Dice Loss 变体_深度学习_31

对应的 soft dice score 可以表示为:

各种 Dice Loss 变体_图像分割_32

当然,也有引入平方形式的变体。

soft multi-class dice score

前面直接讨论的是二值分割的情形,而对于多分类情况则需要考虑不同类别计算的整合方式。

最简单的方式就是直接考虑所有类别的平均。

可以称为 mean dice score,这里对应包含 各种 Dice Loss 变体_深度学习_33

各种 Dice Loss 变体_人工智能_34

上式的推广形式可以通过引入类别权重参数 各种 Dice Loss 变体_深度学习_35

最终可以表示为:

各种 Dice Loss 变体_人工智能_36

soft multi-class wasserstein dice score

前面的 dice score 的形式中,对于 各种 Dice Loss 变体_图像分割_37各种 Dice Loss 变体_人工智能_38

这里首先介绍 wasserstein distance。

wasserstein distance

这也被称为 earth mover’s distance。用于表示将一个概率向量 各种 Dice Loss 变体_机器学习_39 变换为另一个概率向量 各种 Dice Loss 变体_计算机视觉_40

对于所有的 各种 Dice Loss 变体_机器学习_41,从 各种 Dice Loss 变体_机器学习_42 移动到 各种 Dice Loss 变体_计算机视觉_43 的距离的集合定义为 各种 Dice Loss 变体_机器学习_42各种 Dice Loss 变体_计算机视觉_43 之间的距离矩阵 各种 Dice Loss 变体_人工智能_46,这一矩阵是固定的,可以认为是已知的。

这是一种将 各种 Dice Loss 变体_计算机视觉_47 上的距离矩阵 各种 Dice Loss 变体_深度学习_48(通常亦可以称为 ground distance matrix)映射为 各种 Dice Loss 变体_机器学习_22 上的距离的方式,这里用了关于 各种 Dice Loss 变体_计算机视觉_47

各种 Dice Loss 变体_计算机视觉_47 为有限集合的情况下,对于 各种 Dice Loss 变体_图像分割_52,二者关于 各种 Dice Loss 变体_深度学习_48

各种 Dice Loss 变体_深度学习_54

这里的 各种 Dice Loss 变体_深度学习_55各种 Dice Loss 变体_深度学习_56 的联合概率分布,且有着边界分布 各种 Dice Loss 变体_机器学习_39各种 Dice Loss 变体_计算机视觉_40

上式最小的 各种 Dice Loss 变体_图像分割_59 被称作对于距离矩阵 各种 Dice Loss 变体_深度学习_48各种 Dice Loss 变体_机器学习_39 和之间 各种 Dice Loss 变体_计算机视觉_40

关于 wasserstein distance 的解释可以阅读:

soft multi-class wasserstein dice score

这里使用 wasserstein distance 来扩展标签概率向量对之间的差异性度量,从而得到如下扩展形式:

  • 各种 Dice Loss 变体_机器学习_63
  • 各种 Dice Loss 变体_人工智能_64

各种 Dice Loss 变体_深度学习_48 选择为使得背景类别 各种 Dice Loss 变体_计算机视觉_66

各种 Dice Loss 变体_人工智能_67

这里同样使用加权的方式对各个类别的统计结果进行了组合。

通过选择 各种 Dice Loss 变体_人工智能_68 来使得背景位置并不对 各种 Dice Loss 变体_深度学习_69

最终,关于 各种 Dice Loss 变体_深度学习_48

各种 Dice Loss 变体_机器学习_71

对于二值情况,可以设置:

各种 Dice Loss 变体_深度学习_72

由此有

各种 Dice Loss 变体_人工智能_73

此时 wasserstein dice score 就退化为了 soft binary dice score:

各种 Dice Loss 变体_人工智能_74

曾经的基于 wasserstein distance 的损失受限于其计算成本,然而,对于这里主要考虑的分割情形中,优化问题的闭式解存在。

对于 各种 Dice Loss 变体_深度学习_75,最优传输为 各种 Dice Loss 变体_机器学习_76,并且因此 wasserstein distance 可以简化成:

各种 Dice Loss 变体_机器学习_77

wasserstein dice loss

基于 各种 Dice Loss 变体_深度学习_48

各种 Dice Loss 变体_人工智能_79

参考


标签:Loss,dice,distance,score,变体,类别,wasserstein,soft,Dice
From: https://blog.51cto.com/u_14683970/5936604

相关文章

  • pytorch loss.backward()核心理解
    X=torch.ones(2,2,requires_grad=False)w=torch.ones(2,2,requires_grad=True)c1=X*wc1.backward()print(w.grad)#会报错c......
  • torch.nn.CrossEntropyLoss
    文章目录​​交叉熵损失函数`torch.nn.CrossEntropyLoss`​​​​F.cross_entropy​​​​F.nll_loss​​交叉熵损失函数​​torch.nn.CrossEntropyLoss​​weight(Tensor......
  • cs231n学习笔记——Lecture 3 Loss Functions and Optimiz
    该博客主要用于个人学习记录,部分内容参考自李飞飞笔记、cs231n第三章损失函数和最优化、超详细斯坦福CS231n课程笔记(第三课)——损失函数和优化损失函数、【cs231n】le......
  • [LeetCode] 2225. Find Players With Zero or One Losses
    Youaregivenanintegerarray matches where matches[i]=[winneri,loseri] indicatesthattheplayer winneri defeatedplayer loseri inamatch.Return......
  • PSO 算法的变体python实现
    上演化计算课的时候老师让我们实现EOPSO算法(一种精英反向的粒子群优化算法),下面是他的算法步骤: 首先我们需要知道一些基础知识:(1)基础PSO算法 (2)精英反向解 impo......
  • 关于newlib中的libgloss和libnosys
    关于newlib中的libgloss和libnosys​​Newlib的构成​​​​libgloss的作用​​​​提供启动代码​​​​提供底层I/O支持​​​​提供底层系统函数​​​​libnosys是什么......
  • 【PaddlePaddle】动手实现Focal Loss
    最近发现有人问Focalloss怎么实现,我这里分享一下代码,可以自行调节,进行少许的改进,比如给label加上weights,也可以直接使用。classFocalLoss(nn.Layer):def__init__(sel......
  • DE 算法的变体python实现
    上演化计算课的时候老师讲了一种DE算法的改进算法CoDE,于是看了下CoDE的论文中的算法步骤:算法中使用的三种交叉策略:根据不同的交叉策略采取不同的变异策略:超参数的三......
  • 7种你可能不知道的JavaScript循环变体
    英文| https://betterprogramming.pub/all-javascript-loops-f6424cabfcb6翻译|web前端开发每个程序员应该都了解循环,最有可能从while循环开始,最终进入for循环,甚至递归......
  • caffe 根据log画图 train-loss
    importmatplotlib.pyplotaspltimportnumpyasnppath_log="/media/algo/data_1/project/lenet/logs/logs/20221020-123.log"withopen(path_log,"r")asfr:......