图像分割中的损失函数

文章介绍了图像分割中常用的几种损失函数,包括交叉熵损失(BCELoss和多分类CE)、DiceLoss(用于处理类别不平衡问题,特别是医疗图像分割)、Focalloss(解决one-stage目标检测中的类别不平衡问题)以及IOU损失函数。这些损失函数在衡量预测值与真实值的误差中起关键作用,影响模型的训练和优化。
部署运行你感兴趣的模型镜像

图像分割中的损失函数


前言

  在深度学习中,所有算法都依赖于最小化或最大化一个函数,称之为损失函数。
  损失函数用于衡量预测值与真实值之间的误差。训练模型时,根据计算损失函数,更新模型参数,从而逐渐减小误差。


一、交叉熵损失

   逐像素的交叉熵损失广泛应用于图像分割中,先看二分类的交叉熵损失,专门给了其一个名称:BCE Loss,用于像显著性分割这样的二值分割中,其公式:
         L = − y l o g ( P ) + ( 1 − y ) l o g ( 1 − P ) ) L=- ylog(P)+(1-y)log(1-P)) L=ylog(P)+(1y)log(1P)
其中y是一个one-hot变量,取值只为0或1;P表示预测为正类的概率。

   再来看多分类,也就是语义分割的情况
         L = − ∑ i = 1 n y ( i ) l o g ( P ( i ) ) L=-\sum_{i=1}^{n} y(i)log(P(i)) L=i=1ny(i)log(P(i))
其中n表示类别的数量,y(i)和P(i)则为样本(i)的one-hot值和预测概率。

通常,BCEloss之前采用sigmoid函数,多分类的CE采用softmax
不足之处:
(1)在像显著性目标检测这种二值分割场景(只分割前景和背景)中,当前景像素的数量远远小于背景像素的数量时,损失函数中y=0的成分就会占据主导,使得模型严重偏向背景。
(2)交叉熵损失只是像素的整体概率分布,对于图像分割任务,目标的整体结构并未考虑。

二、Dice loss

   Dice Loss最先由V-Net文章中被提出,目的是为了增强网络对于医学影像中细小结构的分割能力,解决在学习过程中损失函数陷入局部最小值,导致前景区域特征丢失的问题。
   Dice系数是一种度量集合相似度的函数,通常用于计算两个样本的相似度,取值范围在[0, 1]:
s = 2 ∣ X ∩ Y ∣ ∣ X ∣ + ∣ Y ∣ s=\frac{2\left | X\cap Y \right |}{\left | X \right |+\left | Y \right |} s=X+Y2XY

在这里插入图片描述
其中, 分子中有一个系数2是因为分母中有重复计算X和Y的原因。
对于分割任务来说,X表示的就是Ground Truth分割图像,而Y代表的就是预测的分割图像。
在这里插入图片描述
在图像分割中,DIce loss常用来解决类别不平衡的问题?(dice和交叉熵通常结合使用
   图像分割任务中,交叉熵损失是对每一个像素点进行类别预测,然后平均所有的像素点. 其本质上仍是对图片的每个像素进行平等的学习,这就导致如果图像上的多种类别存在不平衡时,模型的训练会由最主流的类别所主导. 网络更偏向于对主流类别的学习,而降低了对非主流类别的特征提取能力。
   而Dice loss 通过预测图和GT的交集除以它们的总体像素进行计算,将一个类别的所有像素作为一个整体进行考量,而且计算交集在总体中的比例,所以不会受大量主流像素的影响,能够提取更好的效果。

三、Focal loss

   focal loss是为了解决one-stage目标检测中类别不平衡的问题而提出的。类别不平衡问题是指在对一张图像进行目标检测时,需要评估10^4 至10^5个侯选位置,但是其中只有少数位置包含目标对象。这导致了两个问题:
(1)训练效率低。将样本分为positive和negative两类,由于大部分位置都是negative样本,使用交叉熵损失函数进行计算时,negative样本的贡献远大于positive样本,从而不利于整个目标函数的收敛。
(2)大部分negative样本位于背景区,只有极少的negative样本位于前景和背景的过渡区。位于背景区的negative样本分类相对容易,称为easy negative样本。easy negative样本在训练时对应的score很大,loss很小。在梯度下降法对模型参数进行更新时,easy negative样本对参数收敛作用有限。从而导致hard negative样本很难得到更新,效果不佳。

   focal loss主要是通过在交叉熵中引入参数进行调节,focal loss可以和dice loss结合使用,focal loss一般在初始化参数的时候,会让最后一层分类层每个类别服从等概分布,但是由于negative样本非常多,等概之后明显增加了negative样本在训练时的loss,导致训练初期不稳定。好的做法是让最后一层的分布符合正样本相对负样本的分布。

四、IOU损失函数

IOU损失函数又称Jaccard指数,和Dice loss类似,通过计算预测图和GT之间的重叠率来衡量的,
L = 1 − A ∩ B A ∪ B L=1-\frac{A\cap B}{A\cup B} L=1ABAB

一般将其作为辅助损失函数与其他损失函数结合使用,对整体结构和小目标分割中能起到效果

总结

未完待续…

参考文章1
参考文章2

您可能感兴趣的与本文相关的镜像

GPT-oss:20b

GPT-oss:20b

图文对话
Gpt-oss

GPT OSS 是OpenAI 推出的重量级开放模型,面向强推理、智能体任务以及多样化开发场景

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想要躺平的一枚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值