图像分割损失函数概括

1,引言

对于图像分割,通过模型的优化提高准确率一直是大家推进的重点,目标损失函数作为算法求解重要的一部分,在帮助模型快速收敛方面发挥着重要的作用。
文章参考:
image.png
图像分割可以定义为像素级别的分类任务。图像由各种像素组成,这些像素组合在一起定义了图像中的不同元素,因此将这些像素分类为一类元素的方法称为语义图像分割。在设计基于复杂图像分割的深度学习架构时,通常会遇到了一个至关重要的选择,即选择哪个损失/目标函数,因为它们会激发算法的学习过程。损失函数的选择对于任何架构学习正确的目标都是至关重要的。
image.png

这是一篇关于图像分割损失函数的总结,一共总结了14种用于分割的损失函数。并将他们分成4类
基于分布的损失函数,基于区域的损失函数,基于边界的损失函数和基于复合的损失函数( Distribution-based,Region-based, Boundary-based, and Compounded)。
image.png
论文地址:https://arxiv.org/pdf/2006.14822.pdf
代码地址https://github.com/shruti-jadon/Semantic-Segmentation-Loss-Functions
项目推荐:https://github.com/JunMa11/SegLoss

2,基于分布

2.1 二进制交叉熵损失函数 Binary Cross-Entropy

交叉熵定义为对给定随机变量或事件集的两个概率分布之间的差异的度量。它被广泛用于分类任务,并且由于分割是像素级分类,因此效果很好。在多分类任务中,经常采用 softmax 激活函数+交叉熵损失函数,因为交叉熵描述了两个概率分布的差异,然而神经网络输出的是向量,并不是概率分布的形式。所以需要 softmax激活函数将一个向量进行“归一化”成概率分布的形式,再采用交叉熵损失函数计算 loss。

交叉熵的损失函数单独评估每个像素矢量的类预测,然后对所有像素求平均值,所以我们可以认为图像中的像素被平等的学习了。但是,医学图像中常出现类别不均衡(class imbalance)的问题,由此导致训练会被像素较多的类主导,对于较小的物体很难学习到其特征,从而降低网络的有效性。
最好的使用场景是不同的类别间有均匀分布的数据,是基于伯努利分布的损失函数。

2.2 加权二元交叉熵Weighted Binary Cross-Entropy

**加权二元交叉熵(WCE)**是二元交叉熵变量的一个变种。在这个例子中,正的例子被一些系数加权。它广泛用于倾斜数据的情况。
加入的权值用于调整假阴性和假阳性。如果你想减少假阴性的数量就设置权值大于1,同样地,如果想要减少假阳性的数量就设置权值小于1.权值是用于正例的系数。
应用场景:广泛应用于偏斜数据集,通过系数来衡量

2.3 平衡交叉熵 Balanced Cross-Entropy

平衡交叉熵(BCE)类似于加权交叉熵。唯一的区别是,除了正例子,我们还对负示例进行了加权
应用场景:与加权交叉熵类似,广泛应用于倾斜数据集,它分别对正样本和负样本进行加权。

2.4 焦点损失Focal Loss

焦损(FL)也可以看作二元交叉熵的变化。它降低了简单示例的贡献,并使模型能够更加关注学习难用的示例。它适用于高度不平衡的类场景。
焦点损失提出去减少权重来减轻模型并且使用一个调制系数来聚焦训练难负例。当一个样本被分错的时候,调制系数就趋于1,也就是说相比原来的loss是没有什么大的改变。当分类正确而且是易分类样本,调制系数趋于0,也就是对总的loss贡献很小。
应用场景:对于高度不平衡的数据集最有效地降低了简单示例的贡献,使模型能够学习难的示例。

2.5 距离图得出的损失惩罚项 Distance map derived loss penalty term

可以将距离图定义为ground truth与预测图之间的距离(欧几里得距离、绝对距离等)。合并映射的方法有2种,一种是创建神经网络架构,在该算法中有一个用于分割的重建head,或者将其引入损失函数。遵循相同的理论,可以从GT mask得出的距离图,并创建了一个基于惩罚的自定义损失函数。使用这种方法,可以很容易地将网络引导到难以分割的边界区域。损失函数定义为:
image.png
应用场景:用于难以分割边界的交叉熵变量

3,基于区域

3.1 Dice Loss

Dice系数是计算机视觉界广泛使用的度量标准用于计算两个图像之间的相似度。在2016年的时候,它也被改编为损失函数,称为Dice损失。
Dice系数:是用来度量集合相似度的度量函数,通常用于计算两个样本之间的像素之间的相似度,公式如下:
image.png
分子中之所以有一个系数2是因为分母中有重复计x和y的原因,取值范围是[0.1]。而针对分割任务来说x表示的就是Ground Truth分割图像,而y代表的就是预测的分割图像。
Dice Loss:
image.png
此处,在分子和分母中添加1以确保函数在诸如 的极端情况下的确定性。Dice Loss使用与样本极度不均衡的情况,如果一般情况下使用Dice Loss会回反向传播有不利的影响,使得训练不稳定。
应用场景:灵感来自骰子系数,一种评估分割结果的指标。由于骰子系数本质上是非凸的,所以对其进行了修改,使其更易于处理.

3.2 Tversky Loss

公式:
image.png
Tversky系数是Dice系数和 Jaccard 系数的一种推广。当设置 α = β = 0.5 \alpha = \beta =0.5 α=β=0.5, 此时Tversky系数就是Dice系数。而当设置 α = β = 1 \alpha = \beta = 1 α=β=1时,此时Tversky系数就是Jaccard系数。 α , β \alpha , \beta α,β分别控制假阴性和假阳性。通过调整 α , β \alpha , \beta α,β 可以控制假阳性和假阴性之间的平衡。
Tversky指数(TI)也可以看作是骰子系数的推广。它通过系数的作用,将一个权重添加到FP(假阳性)和FN(假负)。
应用场景:骰子系数的变种增加了假阳性和假阴性的权重

3,3 Focal Tversky Loss

与“Focal loss”相似,后者着重于通过降低易用/常见损失的权重来说明困难的例子。Focal Tversky Loss还尝试借助γ系数来学习诸如在ROI(感兴趣区域)较小的情况下的困难示例,如下所示:
image.png
与Focal Loss类似
应用场景:Tversky的变体,集中在难例上

3.4 Sensitivity Specificity Loss

首先敏感性就是召回率,检测出确实有病的能力:

image.png
特异性, 检测出确实没病的能力:
image.png
Sensitivity Specificity Loss为:
image.png
其中左边为病烃像素的错误率即,1-Sensitivity,而不是正确率,所以设置 λ \lambda λ为 0.05 。其中 ( r n − p n ) 2 (r_n - p_n)^2 (rnpn)2 是为了得到平滑的梯度。
与Dice系数相似,灵敏度和特异性是评价分割预测的常用指标。在这个损失函数中,我们可以用参数来解决类不平衡问题。

3.5 Log-Cosh Dice Loss**(本文提出的损失函数)**

Dice系数是一种用于评估分割输出的度量标准。它也已修改为损失函数,因为它可以实现分割目标的数学表示。但是由于其非凸性,它多次都无法获得最佳结果。Lovsz-softmax损失旨在通过添加使用Lovsz扩展的平滑来解决非凸损失函数的问题。同时,Log-Cosh方法已广泛用于基于回归的问题中,以平滑曲线。
相当于是对DIce系数的改进,由于Dice的非凸性,所以可能无法获得最优结果。

4,基于边界

4.1 形状感知损失Shape-aware Loss

形状感知损失顾名思义,Shape-aware Loss考虑到形状。一般情况下,所有损失函数都在像素级工作,但是形状感知损失计算预测分割曲线周围点与地面真实度的点到曲线的平均欧氏距离,并将其作为交叉熵损失函数的系数。
在边界难以分割的情况下,通过增加基于形状的系数来改变交叉熵损失。

4.2 **Hausdorff距离损失 **Hausdorff Distance Loss

Hausdorff Distance Loss(HD)是分割方法用来跟踪模型性能的度量。它定义为:
image.png
任何分割模型的目的都是为了最大化Hausdorff距离,但是由于其非凸性,因此并未广泛用作损失函数。有研究者提出了基于Hausdorff距离的损失函数的3个变量,它们都结合了度量用例,并确保损失函数易于处理。
受Hausdorff距离度量用于评估分割损失的启发,通过添加一些变量来处理距离度量的非凸性

5,组合损失

5.1 组合损失 Combo Loss

组合损失定义为** Dice loss修正的交叉嫡的加权和**。它试图利用Dice损失解决类不平衡问题的灵活性,**同时使用交叉嫡进行曲线平滑。**定义为: (DL指Dice Loss)
image.png
组合损失是Dice损失和改进的交叉熵的加权和。它试图利用类不平衡的骰子损失的灵活性,同时利用交叉熵进行曲线平滑。

5.2 指数对数损失Exponential Logarithmic Loss

指数对数损失函数集中于使用骰子损失交叉熵损失的组合公式来预测不那么精确的结构。对骰子损失和熵损失进行指数和对数转换,以合并更精细的分割边界和准确的数据分布的好处。它定义为:
image.png
应用场景:骰子损失和二进制交叉熵的组合函数集中在预测精度较低的情况。

参考:
【用于医学图像分割的损失函数 - 黑化的猪的文章 - 知乎】
https://zhuanlan.zhihu.com/p/267128903
【图像分割模型调优技巧,loss函数大盘点】
https://zhuanlan.zhihu.com/p/393496742

猜你喜欢

转载自blog.csdn.net/Alexa_/article/details/131819586