引言
医学图像分割是医学图像处理领域的一个重要分支,它旨在辅助临床医生将器官和病变部位与图像背景分割开来,使医生能够直观地了解病患内部信息,以协助医生进行客观决策。虽然深度学习方法在医疗影像分割任务中大显身手,但由于医学图像与普通图像相比较,具有低对比度、不均匀性等特点,另外人体的解剖组织结构复杂且具有较大差异性,因此还有很多问题有待解决。近年来,越来越多的研究者开始注意到损失函数的重要性,并对其做出了各种改进,这些改进可以解决医学图像分割任务中样本不平衡、边缘模糊、假阳性、假阴性等问题,并取得更好的分割结果。
解决样本不平衡问题的损失函数
解决类不平衡的问题,有数据级和算法级两种方法。前者主要通过对多数类进行欠采样和对少数类进行过采样来缓解类不平衡,然而欠采样限制了可用于训练的数据的信息,过采样可能导致过拟合;后者则是通过改进训练算法来解决类不平衡问题,最常见的方法是改进损失函数,主要的改进思路有两种:1.对原有的损失函数进行重新加权从而提高少数类在训练过程中的重要性;2.基于更加合理的评估指标来构建新的损失函数。
前景和背景像素的不平衡
CE Loss
在医学图像分割模型中,最常见的是基于分布的损失函数,如交叉熵(cross entropy,CE)损失函数(CE loss function,CE Loss)。CE Loss 是对所有像素的预测进行评估,但是当数据集极度不平衡时,容易使模型陷入局部最优解,从而使预测值极易偏向背景。因此无法解决数据不平衡的问题。
WCE Loss
为了改善CE Loss处理不平衡数的能力,常见的做法是对不同类别的像素分配不同的权重。该函数在 CE Loss 中加入权重 Wc(采用的是逆频率加权策略)。当前景像素数量少时,权重项变大,从而迫使网络训练时关注少数类别。
虽然 WCE Loss 能缓解类别不平衡问题,但是针对不同的数据集,为 WCE Loss 选择合适的权重并非易事,不恰当的权重选择有可能会降低模型的性能。即使通过引入适当的权重参数,WCE Loss 解决数据集不平衡的能力也很有限,因为基于分布的 CE Loss 是对全部像素点的累加计算,而前景和背景的不平衡也恰恰体现在像素点数量的不平衡,所以基于 CE 的损失函数对这一问题有着天生的劣势。
Dice Loss
DSC 是医学图像分割任务中最常用的评估指标,用来衡量预测值与真实值之间的重叠区域。DSC 反映了分割结果与实际情况大小和定位一致性,与像素级评价指标相比,更符合感知质量。Dice Loss直接利用 DSC 作为损失函数来监督网络。相比 WCE Loss,Dice Loss 不需要加入权重项来平衡前景和背景,而是在计算交集和比值时忽略大量的背景像素,从而解决前景和背景不平衡的问题,同时提高了收敛速度。看图直观理解一下
公式可以理解为:
Dice Loss公式定义为:
GD Loss
为了进一步加强模型对极度不平衡数据集的训练效果,提出了广义Dice Loss(generalized Dice Loss,GD Loss),该函数在 Dice Loss 的基础上对每个类别加入权重项,实验表明GD Loss 比 Dice Loss、CE Loss 更稳健和准确。然而,Dice Loss 本质上是不稳定的,在梯度计算涉及小分母的高度不平衡数据中最为明显。
D-BCE Loss
对于前景和背景像素的不平衡问题,基于 DSC 的损失函数要比基于 CE 的损失函数效果要好。究其原因,一方面是因为 CE Loss 是对全部像素的预测值进行累加,函数中对前景和背景的预测分为独立的两项,当前景和背景像素数量不平衡时,模型容易陷入局部最优解,从而使预测值极易偏向背景。另一方面,Dice Loss 是直接利用分割效果评价指标作为损失函数来监督网络,在计算交集和比值时忽略大量的背景像素,从而解决前景和背景不平衡的问题。虽然 Dice Loss 能缓解前景和背景的不平衡问题,而且收敛速度较快,但是由于它粗暴地忽略背景像素的计算,这在一定程度上或造成对图像资源的浪费。提出了 Dice Loss 和 BCE Loss 的组合损失函数(Dice BCE loss function,D-BCE Loss),函数定义如式:
简单和困难像素的不平衡
医学图像样本不平衡的另一类型是简单像素和困难像素之间的不平衡,这也严重影响了深度学习模型的训练过程。从经验上讲,一个简单的像素通常比一个困难的像素对整体损失的贡献要小。在实践中,医学图像中的简单像素(如器官内部对比度高的像素,器官中形状相对规则的结构等)占比较大时,将会主导训练模型,导致训练次优或更差。
TopK Loss
通过设定阈值保留分类困难的像素点,迫使网络在训练期间专注于分类困难像素点。该函数有两种实现。
保留预测值低于阈值的像素,当像素点的实际类别为前景(或背景)且模型预测该类别的概率值小于设定阈值时,则保留该像素点。
只保留分类准确率最差的 K% 的像素点,并对其进行训练。
这两种 TopK Loss 的核心思想都是一样,即将容易分类的像素点忽略,使模型训练时专注于困难像素,TopK Loss 虽然在一定程度上可以缓解简单像素和困难像素之间的不平衡问题,但是由于部分样本被删除,容易导致模型泛化能力不足。
Focal Loss
相比于TopK Loss的一刀切做法,Focal Loss更加柔和。函数定义如下:
其中,LF 代表 Focal Loss,N 为像素点的总数量,C 为像素点的类别,Wc 为类别 c 的权重,为像素点 i 属于类别 c 的概率值,
为像素点 i 属于类别 c 的真实值,
为调节因子。Focal Loss 通过引入调节因子
来减少简单像素的损失贡献,从而迫使网络关注于困难像素的训练,并通过改变聚焦参数 γ 来调整简单像素权重被降低的程度。而且调节因子
是动态变化的,如果分类困难的像素逐渐变得好分,则调节因子也会逐渐的下降。实验表明,当 γ = 2、Wc=0 = 0.25、Wc=1 =0.75 时,模型能获得最佳性能。
Focal Tversky Loss
Focal Tversky Loss结合了Focal Loss和Tversky指数的优点。使得模型在训练过程中不仅能够关注到难以分割的样本,还能够直接优化分割效果的评价指标。
其中,LFT 代表 Focal Tversky Loss,LT 代表Tversky Loss,γ∈[1, 3] 代表焦点参数。Focal Tversky Loss 非线性地将训练过程集中在困难像素上(Tversky 指数 < 0.5)并抑制简单像素对损失函数的贡献。当像素点被错误地分类为高 Tversky 指数时,Focal Tversky Loss 影响不大;如果 Tversky 指数较小且像素分类错误时,Focal Tversky Loss 会降低。当聚焦参数 γ 逐渐增大时,损失函数对简单像素的抑制程度也逐渐增大,而过大的 γ 值会使得函数对简单像素过度抑制。
Focal Dice Loss
受到Focal Loss 的启发,在 Dice Loss 的基础上运用 Focal Loss 的思想,提出了焦点 Dice Loss(focal Dice Loss,Focal Dice Loss),用来解决病变区域中结构之间的不平衡问题,公示如下:
其中,LFD 为 Focal Dice Loss,Dc 为类别 c 的Dice Loss 值,据此来优化网络,可以缓解前景和背景之间的不平衡。Wc 是类别 c 的权重项,当类别c 数量较大时,权重 Wc 则减小,1/β 为调节因子,使网络在关注少数类别的同时,增加对困难像素的关注度。
Dice Loss + Focal Loss
单一的损失函数在处理类别不平衡问题时,很难同时处理前景与背景的不平衡和简单像素与困难像素的不平衡,在不考虑运算复杂度的情况下,组合损失函数对类别不平衡的处理更加全面。将由 Dice Loss 和 Focal Loss 组成的混合,可以充分发挥两者的优势,既保证了分割结果的空间一致性和整体精度(来自 Dice Loss 的贡献),又能更好地处理类别不平衡问题,并提高对难分类样本和少数类的分割性能(来自 Focal Loss 的贡献)。
解决边缘模糊问题的损失函数
DPCE Loss
由于医学图像成像技术固有的物理特性,如CT 成像中的衰减系数和 MRI 成像中的弛豫时间等,医学影像相较于自然图像往往有对比度低、噪声较大的特点,此外,由于人体器官形状特殊,医疗影像通常会出现组织特征变化频繁、区域和边界特征模糊等现象。传统的基于图像处理的边界检测方法,例如坎尼(Canny)算子和索伯(Sobel)算子,对于具有大量噪声的图像表现出较差的边界检测性能。深度学习算法对图像分割有较好的性能但对器官边缘模糊的问题仍然存在缺陷。
Caliva 等提出了距离图惩罚 CE Loss(distance map penalized CE Loss,DPCE Loss),该函数与 WCE Loss 类似,其中权重项由真实标签掩码派生的距离图构建。函数定义
其中,LD 代表 DPCE Loss,N 为像素点总数,C 为像素点的类别,为像素点 i 属于类别 c 的概率值,
为像素点 i 属于类别 c 的真实值,
是类别 c 的距离惩罚项,符号“∘”是哈达玛积。DPCE Loss 为边界上的像素分配更大的权重,从而引导网络将注意力集中在难以分割的边界区域。
参考:
https://europepmc.org/article/med/37139774
https://zhuanlan.zhihu.com/p/267128903