基于深度学习的医学图像分割方法已经成为了医学图像处理领域的强大工具。由于医学图像的特殊性质,基于深度学习的图像分割算法面临样本不平衡、边缘模糊、假阳性、假阴性等问题,针对这些问题,研究人员大多对网络结构进行改进,而很少从非结构化方面做出改进。损失函数是基于深度学习的分割方法中重要的组成部分,对损失函数的改进可以从根源上提高网络的分割效果,并且损失函数与网络结构无关,可以即插即用地运用在各种网络模型和分割任务中。本文从医学图像分割任务中的困难出发,首先介绍了解决样本不平衡、边缘模糊、假阳性、假阴性问题的损失函数及改进策略;然后对目前损失函数改进过程中所遇到的困难进行分析;最后对未来的研究方向进行了展望。本文将为损失函数的合理选择、改进或创新提供参考,并为损失函数的后续研究指引方向。
引用本文: 陈英, 张伟, 林洪平, 郑铖, 周滔辉, 冯龙锋, 易珍, 刘岚. 医学图像分割算法的损失函数综述. 生物医学工程学杂志, 2023, 40(2): 392-400. doi: 10.7507/1001-5515.202206038 复制
0 引言
医学图像分割是医学图像处理领域的一个重要分支,它旨在辅助临床医生将器官和病变部位与图像背景分割开来,使医生能够直观地了解病患内部信息,以协助医生进行客观决策[1]。随着社会医疗水平的发展及全民健康意识的提高,医疗数据指数增长,海量的医学图像增加了医生阅片诊断的负担,同时也推动了智能医疗技术的发展[2]。
21世纪以来,随着信息技术理论的进步和硬件设备性能的提升,人工智能技术得以迅猛发展,并在图像处理任务中展现出强大的性能[3]。在医学图像分割领域,研究人员提出了各种基于人工智能技术的医学图像自动分割方法并取得了很好的效果[4]。然而,传统的机器学习方法,例如区域生长、模糊均值聚类、边缘检测过滤器等,需要较多的人工参与,特征提取、种子点标注等环节繁琐且难以实现自动化[5]。自2012年以来,基于卷积神经网络的深度学习方法开始崭露头角,各种网络模型层出不穷,其中以U型网络(U-Net)为代表的卷积神经网络模型在医学图像分割任务中表现最好[6],并且支持端到端的特征提取和像素分类。虽然深度学习方法在医疗影像分割任务中大显身手,但由于医学图像与普通图像相比较,具有低对比度、不均匀性等特点,另外人体的解剖组织结构复杂且具有较大差异性,因此还有很多问题有待解决[7]。为了解决这些问题,研究人员对网络模型进行了各种改进,但其中大多数的改进方法都是基于结构方面的改进,例如:编解码器的改进、跳跃连接的改进、网络级联或并联的改进等,而对于数据预处理、数据集扩充、激活函数、损失函数、梯度下降等非结构方面的改进却很少[8]。
神经网络模型中这些非结构性的部分是网络模型学习性能的基础,其中损失函数又是神经网络模型中的重要组成部分[9],它用来衡量网络模型的预测值和真实值之间的差异,指导网络模型做出更准确的预测,同时决定了网络模型如何权衡错误。在基于深度学习的图像分割任务中,损失函数的合理选择、改进或创新,可以强化神经网络模型学习的过程,从而取得更好的分割效果。此外,损失函数是神经网络模型中低耦合的模块,可以在不同网络模型中实现即插即用,因此对损失函数的研究尤为重要。
近年来,越来越多的研究者开始注意到损失函数的重要性,并对其做出了各种改进,这些改进可以解决医学图像分割任务中样本不平衡[10]、边缘模糊、假阳性、假阴性等问题,并取得更好的分割结果[11]。然而很少有文献对各类损失函数做具体的分析和总结,对于医学图像分割任务中遇到的各种困难没有统一的结论来指导如何选择或改进损失函数。本文将从目前医学图像分割任务中常见的问题出发,对解决这些问题的损失函数进行具体的分析和总结,并对未来的发展方向进行了展望。本文将为损失函数的合理选择、改进或创新提供参考,并为损失函数的后续研究指引方向。
1 解决样本不平衡问题的损失函数
在医学图像分割任务中,器官或病变部位往往只占据图像的很小一部分,例如,在美国的前列腺、肺、结直肠、卵巢癌筛查试验(prostate, lung, colorectal,and ovarian cancer screening trial,PLCO)数据集和美国国家肺癌筛选试验(national lung cancer screening trial,NLST)的数据集中,其不平衡比率(少数类样本占总体样本的比率)分别为24.7%和25.0%[12]。这种样本不平衡问题是天然存在的,也是医学图像分割任务最主要的挑战之一[13]。医学图像中的样本不平衡大致可以分为两类,即前景和背景像素(病变区域和无病变区域的像素)之间的不平衡,简单和困难像素(像素被正确分类的难易程度)之间的不平衡[14]。研究表明,机器学习方法在处理样本不平衡的数据集时存在缺陷,数据集的高度不平衡可能会扭曲机器学习算法的性能,并使模型预测结果偏向多数(背景)类[15]。解决类不平衡的问题,有数据级和算法级两种方法[16]。前者主要通过对多数类进行欠采样和对少数类进行过采样来缓解类不平衡,然而欠采样限制了可用于训练的数据的信息,过采样可能导致过拟合;后者则是通过改进训练算法来解决类不平衡问题,最常见的方法是改进损失函数,主要的改进思路有两种:① 对原有的损失函数进行重新加权从而提高少数类在训练过程中的重要性;② 基于更加合理的评估指标来构建新的损失函数。目前已有多种针对数据集不平衡而改进的损失函数,本节将从数据集不平衡的两类问题出发,对相应的损失函数改进方法进行论述。
1.1 前景和背景像素的不平衡
在医学图像分割模型中,最常见的是基于分布的损失函数,如交叉熵(cross entropy,CE)损失函数(CE loss function,CE Loss),在国际医学图像计算和计算机辅助干预协会(medical image computing and computer assisted intervention society,MICCAI)于2018年举办的竞赛(MICCAI 2018)进程中,77篇基于卷积神经网络的分割论文中有47篇选择了CE Loss运用在分割模型中[17]。CE Loss是对所有像素的预测进行评估,但是当数据集极度不平衡时,容易使模型陷入局部最优解,从而使预测值极易偏向背景。例如,当90%的像素属于背景时,模型只需简单地将每个像素预测为背景即可实现90%的整体分类准确率,但这显然是不符合实际情况的。
为了改善这个问题,常见的做法是对不同类别的像素分配不同的权重。例如,Ben Naceur等[18]在分割胶质母细胞瘤脑肿瘤任务中,在模型中使用加权CE Loss(weighted CE Loss,WCE Loss),该函数在CE Loss中加入权重Wc(采用的是逆频率加权策略)。当前景像素数量少时,权重项变大,从而迫使网络训练时关注少数类别。在2018年脑肿瘤分割挑战赛(brain tumor segmentation,BRATS)的数据集(BRATS 2018)(网址为:https://grand-challenge.org/challenges/)上的实验结果表明,使用基于WCE Loss和重叠补丁的网络模型在对全肿瘤、肿瘤核心预测的骰子相似性系数(dice similarity coefficient,DSC)中位数分别为90%和83%,高于放射科医师分割结果(74%~85%)。虽然WCE Loss能缓解类别不平衡问题,但是针对不同的数据集,为WCE Loss选择合适的权重并非易事,不恰当的权重选择有可能会降低模型的性能[19]。即使通过引入适当的权重参数,WCE Loss解决数据集不平衡的能力也很有限,因为基于分布的CE Loss是对全部像素点的累加计算,而前景和背景的不平衡也恰恰体现在像素点数量的不平衡,所以基于CE的损失函数对这一问题有着天生的劣势。
基于区域的损失函数,如骰子损失函数(dice loss function,Dice Loss)在处理类别不平衡问题时效果更好。DSC是医学图像分割任务中最常用的评估指标,用来衡量预测值与真实值之间的重叠区域。DSC反映了分割结果与实际情况大小和定位一致性,与像素级评价指标相比,更符合感知质量。Milletari等[20]在分割前列腺的磁共振成像(magnetic resonance imaging,MRI)任务中,基于DSC提出了Dice Loss,该函数直接利用DSC作为损失函数来监督网络。相比WCE Loss,Dice Loss不需要加入权重项来平衡前景和背景,而是在计算交集和比值时忽略大量的背景像素,从而解决前景和背景不平衡的问题,同时提高了收敛速度。在2012年前列腺MRI分割大赛(prostate MRI segmentation 2012,PROMISE 2012)的数据集(网址为:https://promise12.grand-challenge.org/)上的实验结果表明,在相同的网络结构下,使用Dice Loss的模型比使用WCE Loss的模型分割结果要好得多。
为了进一步加强模型对极度不平衡数据集的训练效果,Sudre等[21]基于Dice Loss,提出了广义Dice Loss(generalized Dice Loss,GD Loss),该函数在Dice Loss的基础上对每个类别加入权重项,其中权重值和类别频率成反比,实验表明在二维(two dimension,2D)和三维(three dimension,3D)分割任务中标签不平衡的情况下,GD Loss比Dice Loss、CE Loss更稳健和准确。然而,Dice Loss本质上是不稳定的,在梯度计算涉及小分母的高度不平衡数据中最为明显[22]。
杰卡德(Jaccard)相似系数与DSC类似,可满足度量的所有属性,例如非负性、不可辨认的同一性、对称性和三角形不等式。值得注意的是Jaccard相似系数对尺度是不变的,这意味着两个任意形状之间的相似性与它们的空间尺度无关[23]。基于上述这些特性,Jaccard相似系数已被广泛用作计算机视觉中许多任务的评估指标,例如像素级或实例级图像分割、2D/3D对象检测等。Cai等[24]在计算机断层扫描成像(computed tomography,CT)和MRI图像的胰腺深部分割任务中,基于Jaccard相似系数,提出了Jaccard损失函数(Jaccard loss function,Jaccard Loss),该函数在形式上与Dice Loss类似;不同的是,Jaccard Loss在计算交并比时省略了一个交集区域,使其形式上更加简洁、计算的效率更高。此外,Jaccard Loss不仅可以解决前景和背景不平衡问题,且无需校准最佳概率阈值即可从网络模型的概率输出中获得最佳的分割结果。在对美国国立卫生研究院的CT-82(national institutes of health-CT-82,NIH-CT-82)(网址为:https://wiki.cancerimagingarchive.net/display/Public/Pancreas-CT)数据集的分割实验中,分别使用CE Loss、二元CE损失函数(binary CE Loss,BCE Loss)和Jaccard Loss进行对照实验,并使用四折交叉验证。实验结果表明,无论分割阈值如何设置,Jaccard Loss的平均DSC都最高。CE Loss对前景像素和背景像素分配相同的权重,因此概率阈值应该在0.5左右。而BCE Loss(WCE Loss的二分类版本)在前景像素上分配了更高权重,使得产生的最佳阈值处于相对较高的值。相比之下,Jaccard Loss可以将前景像素推到1的概率,同时仍然对背景像素具有很强的辨别力。
总而言之,对于前景和背景像素的不平衡问题,基于DSC的损失函数要比基于CE的损失函数效果要好。究其原因,一方面是因为CE Loss是对全部像素的预测值进行累加,函数中对前景和背景的预测分为独立的两项,当前景和背景像素数量不平衡时,模型容易陷入局部最优解,从而使预测值极易偏向背景。另一方面,Dice Loss是直接利用分割效果评价指标作为损失函数来监督网络,在计算交集和比值时忽略大量的背景像素,从而解决前景和背景不平衡的问题。虽然Dice Loss能缓解前景和背景的不平衡问题,而且收敛速度较快,但是由于它粗暴地忽略背景像素的计算,这在一定程度上或造成对图像资源的浪费。当正负样本数量接近时,负样本可以增强正样本的特征强度。总之,图像的背景信息可以促进特征学习,类似于人类的感知,计算中涉及的一些背景信息可以使网络学习到的特征更加全面。因此,为了缓解Dice Loss的极端问题,Su等[25]将BCE Loss作为正则项引入,提出了Dice Loss和BCE Loss的组合损失函数(Dice-BCE loss function,D-BCE Loss),函数定义如式(1)所示:
![]() |
其中,LDB代表D-BCE Loss,LD代表Dice Loss,LB代表BCE Loss,γ为正则项系数,用于调整样本类别比例的平衡。Dice Loss和BCE Loss的结合使得网络在专注于前景像素学习的过程中不会完全忽略与背景像素的关联。因此,网络的训练不会以背景像素为主,学习较小物体的特征也很简单。
黄泳嘉等[26]在肝部医学影像分割任务中,结合多种损失函数的优点,提出了一种加权混合损失函数,函数定义如式(2)所示:
![]() |
其中,LH代表加权混合损失函数,LB代表BCE Loss,LI代表交并比损失函数,LS代表结构相似性损失函数,W1、W2和W3是各个损失函数的权重项。通过这三个损失函数的加权求和,可以综合利用它们的优点,不仅可以使所有像素保持平滑的梯度、更加关注相似度同时可以优化分割细节。基于2017年MICCAI竞赛(MICCAI 2017)的肝脏肿瘤分割基准(liver tumor segmentation benchmark,LiTS)数据集(网址为:https://competitions.codalab.org/competitions/17094)的实验结果表明,肝脏图像和肝脏肿瘤图像的DSC分别为96.26%和83.32%,相比传统的U-Net,进一步了提高对肝脏和肝肿瘤图像的分割精度。
1.2 简单和困难像素的不平衡
医学图像样本不平衡的另一类型是简单像素和困难像素之间的不平衡,这也严重影响了深度学习模型的训练过程。从经验上讲,一个简单的像素通常比一个困难的像素对整体损失的贡献要小。在实践中,医学图像中的简单像素(如器官内部对比度高的像素,器官中形状相对规则的结构等)占比较大时,将会主导训练模型,导致训练次优或更差。为了解决简单像素和困难像素之间的不平衡问题,研究人员在CE Loss的基础上提出了前百分之K损失函数(top K% loss function,TopK Loss),通过设定阈值保留分类困难的像素点,迫使网络在训练期间专注于分类困难像素点。该函数有两种实现,一种是Wu等[27]提出的保留预测值低于阈值的像素,当像素点的实际类别为前景(或背景)且模型预测该类别的概率值小于设定阈值时,则保留该像素点。另一种TopK Loss的实现是,只保留分类准确率最差的K%的像素点,并对其进行训练,这两种TopK Loss的核心思想都是一样,即将容易分类的像素点忽略,使模型训练时专注于困难像素,TopK Loss虽然在一定程度上可以缓解简单像素和困难像素之间的不平衡问题,但是由于部分样本被删除,容易导致模型泛化能力不足。
相比TopK Loss的一刀切的做法,Lin等[28]提出了更加柔和的焦点损失函数(focal loss function,Focal Loss),该函数也是基于CE Loss的改进,函数定义如式(3)所示:
![]() |
其中,LF代表Focal Loss,N为像素点的总数量,C为像素点的类别,Wc为类别c的权重,pic为像素点i属于类别c的概率值,gic为像素点i属于类别c的真实值,(1 − pic)γ为调节因子。Focal Loss通过引入调节因子(1 − pic)γ来减少简单像素的损失贡献,从而迫使网络关注于困难像素的训练,并通过改变聚焦参数γ来调整简单像素权重被降低的程度。而且调节因子(1 − pic)γ是动态变化的,如果分类困难的像素逐渐变得好分,则调节因子也会逐渐的下降。实验表明,当γ = 2、Wc = 0 = 0.25、Wc = 1 = 0.75时,模型能获得最佳性能。
Abraham等[29]受到Focal Loss的启发,在特沃斯基损失函数(Tversky loss function,Tversky Loss)[30]的基础上加入了一个聚焦参数γ,提出了焦点Tversky Loss(focal Tversky loss function,Focal Tversky Loss),该函数定义如式(4)所示:
![]() |
其中,LFT代表Focal Tversky Loss,LT代表Tversky Loss,γ∈[1, 3]代表焦点参数。Focal Tversky Loss非线性地将训练过程集中在困难像素上(Tversky指数 < 0.5)并抑制简单像素对损失函数的贡献。当像素点被错误地分类为高Tversky指数时,Focal Tversky Loss影响不大;如果Tversky指数较小且像素分类错误时,Focal Tversky Loss会降低。当聚焦参数γ逐渐增大时,损失函数对简单像素的抑制程度也逐渐增大,而过大的γ值会使得函数对简单像素过度抑制。论文中的焦点参数最佳值是γ = 4/3。在病变占图像区域的4.84%和21.4%的乳腺超声数据集B(breast ultrasound dataset B,BUS)(网址为:http://www2.docm.mmu.ac.uk/STAFF/m.yap/dataset.php)和2018年国际皮肤影像协会(international skin imaging collaboration 2018,ISIC 2018)的数据集(网址为:https://challenge.isic-archive.com/data/)上进行实验,与标准U-Net相比,使用Focal Tversky Loss并通过合并图像金字塔来改进注意力U-Net的模型可以使分割精度分别提高25.7%和3.6%。
在对脑部MRI图像中的肿瘤进行分割时,极端的类别不平衡不仅存在于前景和背景之间,而且存在于肿瘤的不同子区域之间。Wang等[31]受到Focal Loss的启发,在Dice Loss的基础上运用Focal Loss的思想,提出了焦点Dice Loss(focal Dice Loss,Focal Dice Loss),用来解决病变区域中结构之间的不平衡问题,函数定义如公式(5)所示:
![]() |
其中,LFD为Focal Dice Loss,Dc为类别c的Dice Loss值,据此来优化网络,可以缓解前景和背景之间的不平衡。Wc是类别c的权重项,当类别c数量较大时,权重Wc则减小,1/β为调节因子,使网络在关注少数类别的同时,增加对困难像素的关注度。在2018年BRATS 挑战赛数据集(BRATS 2015)(网址为:https://grand-challenge.org/challenges/)中验证了Focal Dice Loss。实验表明,其分割效果明显比使用Dice Loss的模型更好,且当β = 2时,效果最好。Focal Dice Loss在解决类别分类难易程度不平衡的同时,通过Dice Loss部分解决前景和背景的不平衡。
单一的损失函数在处理类别不平衡问题时,很难同时处理前景与背景的不平衡和简单像素与困难像素的不平衡,在不考虑运算复杂度的情况下,组合损失函数对类别不平衡的处理更加全面。Zhu等[32]将由Dice Loss和Focal Loss组成的混合损失函数运用在头颈部解剖结构的分割任务中,该函数可以缓解不平衡的器官分割问题并迫使模型更好地从分割不良的像素中学习,实验结果表明,与之前2015年MICCAI竞赛(MICCAI 2015)的最先进结果相比,使用混合损失函数的网络模型将DSC平均提高了3.3%,并且分割尺寸为178 × 302 × 225的头颈部CT图像大约需要0.12 s,明显快于以前的方法。
2 损失函数在其他方面的运用
损失函数的改进不仅能够缓解医学图像分割任务中的样本不平衡问题,还能用于改进其他一些常见问题,例如,分割结果中存在假阴性和假阳性,医学图像边界模糊难以准确分割等。通过对损失函数的改进,可以使神经网络分割模型更好地处理这些问题。
2.1 权衡分割结果的精确率和召回率
在医学图像分割任务中,神经网络模型不可避免地会出现分割误差,这些误差包括错误地将前景识别为背景(即假阴性),或者错误地将背景识别为前景(即假阳性)。两种误差在医学图像分析及临床诊断时都影响重大,假阳性可能导致更大的放射野或过度的手术切割,假阴性可能导致放射区域不足或手术切除不完全。然而两种误差在不同的病情中所造成的影响不同,例如,在前列腺肥大的老年男性患者的大量随机样本中,由于样本中仅有少数人患前列腺癌,使用不平衡样本训练的模型偏向于将结果预测为少数类(即不会患前列腺癌),在这种情况下,假阴性是一个可能危及生命的错误[33]。因此,如何权衡模型预测的精确率和召回率尤为重要。
基于分布的损失函数(如CE Loss)可以通过引入权重项应对样本不平衡的问题,但它不能针对假阳性或者假阴性进行校准,并且对高度不平衡的数据表现不佳。基于区域的损失函数(如Dice Loss)可以通过给DSC中的假阳性和假阴性分配不同的权重系数进而调节网络模型对假阳性和假阴性的关注度,例如Tversky Loss,该函数通过调整超参数α和β控制假阳性和假阴性之间的权衡,其定义如式(6)所示:
![]() |
其中,LT为Tversky Loss,N为像素点的总数量,C为像素点的类别,pic为像素点i属于类别c的概率值,gic为像素点i属于类别c的真实值,α和β分别为假阳性和假阴性的权重参数。较大的β可以让网络更加关注假阳性,从而提高召回率。在多发性硬化症病变分割挑战赛(multiple sclerosis segmentation challenge,MSSEG)的数据集(网址为:https://portal.fli-iam.irisa.fr/msseg-challenge/english-msseg-data/)上进行实验,结果表明,当β=0.7时,所训练的全卷积神经网络(fully convolutional networks,FCN)能获得最佳结果。
为了进一步权衡精确度和召回率,Hashemi等[34]提出了非对称性损失函数(asymmetric similarity loss function,Asym Loss),其定义如式(7)所示:
![]() |
其中,LA为Asym Loss,N为像素点的总数量,C为像素点的类别,pic为像素点i属于类别c的概率值,gic为像素点i属于类别c的真实值,β为调节假阳性和假阴性的权重参数。调整β取值可以让Asym Loss转变为Dice Loss或Jaccard Loss,超参数β的取值可以根据类别不平衡比例来定义,较大β使模型更加关注假阴性,从而使召回率的权重高于精准率。上述两种损失函数都是基于DSC的改进,虽然在一定程度上可以权衡精准率和召回率,但是不能很好地应对类别不平衡问题。加入基于类频率权重项的GD Loss相对于DSC在处理类别不平衡时有更好的效果,Yang等[35]提出一种惩罚GD Loss(penalty GD Loss,pGD Loss),该函数在GD Loss中增加一个惩罚假阴性和假阳性的系数,函数定义如式(8)所示:
![]() |
其中,Lp代表pGD Loss,LG代表GD Loss,k为惩罚系数。当k = 0,pGD Loss等价于GD Loss;当k > 0,pGD Loss为假阴性和假阳性赋予额外的权重。实验表明,k = 2.5对应最佳性能,基于pGD Loss的密集连接的卷积网络(dense convolutional network,DenseNet)121模型分别实现了最高平均DSC为(91.9 ± 8.7)%、精确度为(91.3 ± 8.8)%、召回率为(92.6 ± 9.6)%,并且比GD Loss模型显示出更好的分割性能。
Zhu等[36]在葡萄胎水肿病变分割任务中,提出了一种新颖的混合损失函数,其定义如式(9)所示:
![]() |
其中,LC代表混合损失函数,LF代表Focal Loss,LP代表像素级损失函数,LI代表病灶级损失函数,α是权重因子。该混合损失函数结合了像素级和病灶级损失值,可以同时提高两个层面的分割效果。病变级别损失值的计算基于单个病变的连通域,其中大小病变区域具有相同的权重。通过添加α和β,复合损失函数可以根据不同的情况定制模型。当α < 0.5时,训练的模型具有更好的召回率,模型将会侧重于找出图像中所有病变部位以减少漏检,但也可能将正常部位误检。当α = 0.5时,模型兼顾了召回率和精确率,性能更全面。在实际应用中,两个模型的交集代表水肿病变概率较大的区域,它们的差值代表有一定概率水肿病变的区域。
2.2 解决边缘模糊问题的损失函数
由于医学图像成像技术固有的物理特性,如CT成像中的衰减系数和MRI成像中的弛豫时间等,医学影像相较于自然图像往往有对比度低、噪声较大的特点[37],此外,由于人体器官形状特殊,医疗影像通常会出现组织特征变化频繁、区域和边界特征模糊等现象[38]。传统的基于图像处理的边界检测方法,例如坎尼(Canny)算子[39]和索伯(Sobel)算子[40],对于具有大量噪声的图像表现出较差的边界检测性能。深度学习算法对图像分割有较好的性能但对器官边缘模糊的问题仍然存在缺陷。
Caliva等[41]提出了距离图惩罚CE Loss(distance map penalized CE Loss,DPCE Loss),该函数与WCE Loss类似,其中权重项由真实标签掩码派生的距离图构建。函数定义如式(10)所示:
![]() |
其中,LD代表DPCE Loss,N为像素点总数,C为像素点的类别,pic为像素点i属于类别c的概率值,gic为像素点i属于类别c的真实值,Dc是类别c的距离惩罚项,符号“∘”是哈达玛积[42]。DPCE Loss为边界上的像素分配更大的权重,从而引导网络将注意力集中在难以分割的边界区域。实验表明,运用该损失函数的模型分割质量显著提高,更好地保留骨骼边界的形状以及受部分像素影响的区域。
Kim等[43]提出一种通用的边界感知损失函数,以促进有效识别医学图像中器官和病变区域的边界,该损失函数的定义如式(11)所示:
![]() |
其中,LBN代表边界感知损失函数,LB代表边界区域的损失值,LN代表非边界区域的损失值,p1和p2表示每个区域的权重。一般将位于边界区域的像素的损失值分配比非边界区域的损失值更高的权重,以迫使深度学习模型关注边界区域中分割不佳的像素。使用结肠息肉数据集(网址为:https://paperswithcode.com/dataset/cvc-clinicdb)、皮肤病变数据集(网址为:https://challenge.isic-archive.com/data/)和胸部X射线数据集(网址为:http://db.jsrt.or.jp/eng-01.php)进行的实验结果表明,标准损失函数(例如CE Loss和Dice Loss)与提出的边界感知损失函数相结合,可使模型分割效果比没有使用边界感知损失函数的模型分割效果更好。但是该损失函数也存在局限性,如果边界不是确定的,如皮肤损伤导致边界不清的情况,则该模型对分割性能的改进可能微不足道。另一方面,使用该损失函数的深度学习模型的性能根据权重和边界区域的范围而变化,所以权重项的最佳值是不确定的,需要凭经验确定。
3 总结与展望
本文从医学图像分割领域所面临的主要困难出发,介绍了解决样本不平衡、边缘模糊、假阳性、假阴性问题的损失函数及改进方法。这些损失函数从广义上可以分为基于分布、基于区域、基于边界的损失函数和混合损失函数,其中大部分是CE Loss和Dice Loss的变体,它们在解决不同问题时各有优点。解决样本不平衡问题的一般思路是对损失函数重新加权或使用基于DSC的损失函数:如WCE Loss是基于CE Loss的改进,对不同类别的像素进行重新加权,使模型训练时关注类别较少的前景像素;Dice Loss则是对DSC的直接优化,在计算交集和比值时忽略大量的背景像素,从而解决前景和背景不平衡的问题。一般来讲,在解决前景和背景不平衡的问题时,基于DSC的损失函数要优于基于CE的损失函数。但在实际中常用的做法是将两种思路结合,在Dice Loss的基础上中引入权重项或者将基于DSC和CE的损失函数加权,形成混合损失函数。对于像素点分类难易程度的不平衡问题常用的改进方法是:忽略分类简单的样本或者减少简单样本的权重,例如,TopK Loss和Focal Loss,前者是粗暴地将分类简单的像素点丢弃,后者则是通过引入调节因子,间接地减小分类简单像素点的权重。受Focal Loss的启发,研究人员提出了多种加入聚焦因子的损失函数,其本质都是通过降低简单样本的权重,从而迫使网络模型在训练中关注于困难样本。为了权衡分割结果的精确率和召回率,常用的解决方法是:对基于DSC的损失函数中的假阳性和假阴性分配不同的权重,如Asym Loss和Tversky Loss。然而这些基于DSC的损失函数本质上是不稳定的,在梯度计算涉及小分母的高度不平衡数据中最为明显,使用这类损失函数的模型在训练过程中容易发生震荡。对于边界模糊问题,常用基于边界的损失函数,该函数是通过最小化两个边界之间的距离来计算的,在公式上与Dice Loss有相似之处,因为它们都是以基于区域的方式计算的,关键区别在于不匹配区域的方式是加权的。综合考虑,这些损失函数都各有特点,单一损失函数能解决的问题有限,在不考虑计算成本的情况下,由多种损失函数组成的混合损失函数训练效果会更好,能解决的问题也更加全面。
损失函数是神经网络模型中重要模块,对损失函数的改进可以解决医学图像分割任务中的多种问题,基于目前学者们提出的改进损失函数的实验结果表明,分割效果确实有所提升,但是分割性能的提升有可能是神经网络中其他模块的引入、数据集的扩充或者是模型网络结构的改进造成的,对于损失函数的改进效果还不能定量分析。此外,由于各种损失函数的改进是基于不同的模型和分类任务的,没有控制变量,所以没有统一的标准来评判对于特定的分类任务不同损失函数的表现差异,且对现有的损失函数改进效果的评估研究也不够全面,也很难通过理论分析找到每个函数的超参数的最佳值。
总体而言,针对损失函数进行改进,在医学图像分割模型性能的提升上有广阔的前景,可以从以下几个方面寻求突破:① 在控制变量的基础上,对目前所有的损失函数的分割效果做定量的评估,为不同数据集找到最适合的损失函数类型。② 建立统一的数据集、网络模型和模型评估标准,为后续的损失函数研究和改进提供统一的平台,使改进后的损失函数的效果有更加直观的定量结果。③ 混合损失函数结合了多种损失函数的优点,但是如何选择最佳的损失函数的组合以及不同损失函数的权重并非易事,此外,如何权衡好混合损失函数带来的效果提升和计算成本的增加也是值得探讨的问题。④ 目前对于损失函数的改进方法中,主要是根据不同类别和难易程度进行简单的逆频率加权。此外还可以对加权策略做改进,例如逆中值频率加权、焦点加权、距离变换映射加权和距离惩罚项等。⑤ 目前的损失函数的改进大多数是针对分类任务结果的不平衡的改进,如基于DSC的损失函数,然而这种函数在求导时容易出现分母极小的情况,如何在改进分割效果的情况下同时改进损失函数求导的特性是值得探讨的方向。⑥ 现有的损失函数大部分都是基于医学图像分割评价指标DSC来构建的,而医学图像分割评价指标还有豪斯多夫距离、体素重叠误差、最大表面距离等,这些指标对医学图像分割结果的评估侧重点不同且各有优势,基于这些评价指标构建新的损失函数能获得不同侧重点的分割结果。⑦ 目前大多数研究和应用都集中在解决分割的唯一性问题(每个输入图像只有一个标准分割结果)。然而在实际场景中可能有非唯一的分割标注,因为不同的外科医生可能以不同的方式为同一患者进行手术。现有的损失函数大多数情况下不能增强同一输入的非唯一分割输出的共同特征,对损失函数的改进可能使模型更好地学习分割的非唯一问题。
重要声明
利益冲突声明:本文全体作者均声明不存在利益冲突。
作者贡献声明:陈英、张伟负责方法设计和文章撰写、文章修改;林洪平、郑铖、冯龙锋、周滔辉、易珍负责数据收集、整理;刘岚参与论文的指导与审校。
0 引言
医学图像分割是医学图像处理领域的一个重要分支,它旨在辅助临床医生将器官和病变部位与图像背景分割开来,使医生能够直观地了解病患内部信息,以协助医生进行客观决策[1]。随着社会医疗水平的发展及全民健康意识的提高,医疗数据指数增长,海量的医学图像增加了医生阅片诊断的负担,同时也推动了智能医疗技术的发展[2]。
21世纪以来,随着信息技术理论的进步和硬件设备性能的提升,人工智能技术得以迅猛发展,并在图像处理任务中展现出强大的性能[3]。在医学图像分割领域,研究人员提出了各种基于人工智能技术的医学图像自动分割方法并取得了很好的效果[4]。然而,传统的机器学习方法,例如区域生长、模糊均值聚类、边缘检测过滤器等,需要较多的人工参与,特征提取、种子点标注等环节繁琐且难以实现自动化[5]。自2012年以来,基于卷积神经网络的深度学习方法开始崭露头角,各种网络模型层出不穷,其中以U型网络(U-Net)为代表的卷积神经网络模型在医学图像分割任务中表现最好[6],并且支持端到端的特征提取和像素分类。虽然深度学习方法在医疗影像分割任务中大显身手,但由于医学图像与普通图像相比较,具有低对比度、不均匀性等特点,另外人体的解剖组织结构复杂且具有较大差异性,因此还有很多问题有待解决[7]。为了解决这些问题,研究人员对网络模型进行了各种改进,但其中大多数的改进方法都是基于结构方面的改进,例如:编解码器的改进、跳跃连接的改进、网络级联或并联的改进等,而对于数据预处理、数据集扩充、激活函数、损失函数、梯度下降等非结构方面的改进却很少[8]。
神经网络模型中这些非结构性的部分是网络模型学习性能的基础,其中损失函数又是神经网络模型中的重要组成部分[9],它用来衡量网络模型的预测值和真实值之间的差异,指导网络模型做出更准确的预测,同时决定了网络模型如何权衡错误。在基于深度学习的图像分割任务中,损失函数的合理选择、改进或创新,可以强化神经网络模型学习的过程,从而取得更好的分割效果。此外,损失函数是神经网络模型中低耦合的模块,可以在不同网络模型中实现即插即用,因此对损失函数的研究尤为重要。
近年来,越来越多的研究者开始注意到损失函数的重要性,并对其做出了各种改进,这些改进可以解决医学图像分割任务中样本不平衡[10]、边缘模糊、假阳性、假阴性等问题,并取得更好的分割结果[11]。然而很少有文献对各类损失函数做具体的分析和总结,对于医学图像分割任务中遇到的各种困难没有统一的结论来指导如何选择或改进损失函数。本文将从目前医学图像分割任务中常见的问题出发,对解决这些问题的损失函数进行具体的分析和总结,并对未来的发展方向进行了展望。本文将为损失函数的合理选择、改进或创新提供参考,并为损失函数的后续研究指引方向。
1 解决样本不平衡问题的损失函数
在医学图像分割任务中,器官或病变部位往往只占据图像的很小一部分,例如,在美国的前列腺、肺、结直肠、卵巢癌筛查试验(prostate, lung, colorectal,and ovarian cancer screening trial,PLCO)数据集和美国国家肺癌筛选试验(national lung cancer screening trial,NLST)的数据集中,其不平衡比率(少数类样本占总体样本的比率)分别为24.7%和25.0%[12]。这种样本不平衡问题是天然存在的,也是医学图像分割任务最主要的挑战之一[13]。医学图像中的样本不平衡大致可以分为两类,即前景和背景像素(病变区域和无病变区域的像素)之间的不平衡,简单和困难像素(像素被正确分类的难易程度)之间的不平衡[14]。研究表明,机器学习方法在处理样本不平衡的数据集时存在缺陷,数据集的高度不平衡可能会扭曲机器学习算法的性能,并使模型预测结果偏向多数(背景)类[15]。解决类不平衡的问题,有数据级和算法级两种方法[16]。前者主要通过对多数类进行欠采样和对少数类进行过采样来缓解类不平衡,然而欠采样限制了可用于训练的数据的信息,过采样可能导致过拟合;后者则是通过改进训练算法来解决类不平衡问题,最常见的方法是改进损失函数,主要的改进思路有两种:① 对原有的损失函数进行重新加权从而提高少数类在训练过程中的重要性;② 基于更加合理的评估指标来构建新的损失函数。目前已有多种针对数据集不平衡而改进的损失函数,本节将从数据集不平衡的两类问题出发,对相应的损失函数改进方法进行论述。
1.1 前景和背景像素的不平衡
在医学图像分割模型中,最常见的是基于分布的损失函数,如交叉熵(cross entropy,CE)损失函数(CE loss function,CE Loss),在国际医学图像计算和计算机辅助干预协会(medical image computing and computer assisted intervention society,MICCAI)于2018年举办的竞赛(MICCAI 2018)进程中,77篇基于卷积神经网络的分割论文中有47篇选择了CE Loss运用在分割模型中[17]。CE Loss是对所有像素的预测进行评估,但是当数据集极度不平衡时,容易使模型陷入局部最优解,从而使预测值极易偏向背景。例如,当90%的像素属于背景时,模型只需简单地将每个像素预测为背景即可实现90%的整体分类准确率,但这显然是不符合实际情况的。
为了改善这个问题,常见的做法是对不同类别的像素分配不同的权重。例如,Ben Naceur等[18]在分割胶质母细胞瘤脑肿瘤任务中,在模型中使用加权CE Loss(weighted CE Loss,WCE Loss),该函数在CE Loss中加入权重Wc(采用的是逆频率加权策略)。当前景像素数量少时,权重项变大,从而迫使网络训练时关注少数类别。在2018年脑肿瘤分割挑战赛(brain tumor segmentation,BRATS)的数据集(BRATS 2018)(网址为:https://grand-challenge.org/challenges/)上的实验结果表明,使用基于WCE Loss和重叠补丁的网络模型在对全肿瘤、肿瘤核心预测的骰子相似性系数(dice similarity coefficient,DSC)中位数分别为90%和83%,高于放射科医师分割结果(74%~85%)。虽然WCE Loss能缓解类别不平衡问题,但是针对不同的数据集,为WCE Loss选择合适的权重并非易事,不恰当的权重选择有可能会降低模型的性能[19]。即使通过引入适当的权重参数,WCE Loss解决数据集不平衡的能力也很有限,因为基于分布的CE Loss是对全部像素点的累加计算,而前景和背景的不平衡也恰恰体现在像素点数量的不平衡,所以基于CE的损失函数对这一问题有着天生的劣势。
基于区域的损失函数,如骰子损失函数(dice loss function,Dice Loss)在处理类别不平衡问题时效果更好。DSC是医学图像分割任务中最常用的评估指标,用来衡量预测值与真实值之间的重叠区域。DSC反映了分割结果与实际情况大小和定位一致性,与像素级评价指标相比,更符合感知质量。Milletari等[20]在分割前列腺的磁共振成像(magnetic resonance imaging,MRI)任务中,基于DSC提出了Dice Loss,该函数直接利用DSC作为损失函数来监督网络。相比WCE Loss,Dice Loss不需要加入权重项来平衡前景和背景,而是在计算交集和比值时忽略大量的背景像素,从而解决前景和背景不平衡的问题,同时提高了收敛速度。在2012年前列腺MRI分割大赛(prostate MRI segmentation 2012,PROMISE 2012)的数据集(网址为:https://promise12.grand-challenge.org/)上的实验结果表明,在相同的网络结构下,使用Dice Loss的模型比使用WCE Loss的模型分割结果要好得多。
为了进一步加强模型对极度不平衡数据集的训练效果,Sudre等[21]基于Dice Loss,提出了广义Dice Loss(generalized Dice Loss,GD Loss),该函数在Dice Loss的基础上对每个类别加入权重项,其中权重值和类别频率成反比,实验表明在二维(two dimension,2D)和三维(three dimension,3D)分割任务中标签不平衡的情况下,GD Loss比Dice Loss、CE Loss更稳健和准确。然而,Dice Loss本质上是不稳定的,在梯度计算涉及小分母的高度不平衡数据中最为明显[22]。
杰卡德(Jaccard)相似系数与DSC类似,可满足度量的所有属性,例如非负性、不可辨认的同一性、对称性和三角形不等式。值得注意的是Jaccard相似系数对尺度是不变的,这意味着两个任意形状之间的相似性与它们的空间尺度无关[23]。基于上述这些特性,Jaccard相似系数已被广泛用作计算机视觉中许多任务的评估指标,例如像素级或实例级图像分割、2D/3D对象检测等。Cai等[24]在计算机断层扫描成像(computed tomography,CT)和MRI图像的胰腺深部分割任务中,基于Jaccard相似系数,提出了Jaccard损失函数(Jaccard loss function,Jaccard Loss),该函数在形式上与Dice Loss类似;不同的是,Jaccard Loss在计算交并比时省略了一个交集区域,使其形式上更加简洁、计算的效率更高。此外,Jaccard Loss不仅可以解决前景和背景不平衡问题,且无需校准最佳概率阈值即可从网络模型的概率输出中获得最佳的分割结果。在对美国国立卫生研究院的CT-82(national institutes of health-CT-82,NIH-CT-82)(网址为:https://wiki.cancerimagingarchive.net/display/Public/Pancreas-CT)数据集的分割实验中,分别使用CE Loss、二元CE损失函数(binary CE Loss,BCE Loss)和Jaccard Loss进行对照实验,并使用四折交叉验证。实验结果表明,无论分割阈值如何设置,Jaccard Loss的平均DSC都最高。CE Loss对前景像素和背景像素分配相同的权重,因此概率阈值应该在0.5左右。而BCE Loss(WCE Loss的二分类版本)在前景像素上分配了更高权重,使得产生的最佳阈值处于相对较高的值。相比之下,Jaccard Loss可以将前景像素推到1的概率,同时仍然对背景像素具有很强的辨别力。
总而言之,对于前景和背景像素的不平衡问题,基于DSC的损失函数要比基于CE的损失函数效果要好。究其原因,一方面是因为CE Loss是对全部像素的预测值进行累加,函数中对前景和背景的预测分为独立的两项,当前景和背景像素数量不平衡时,模型容易陷入局部最优解,从而使预测值极易偏向背景。另一方面,Dice Loss是直接利用分割效果评价指标作为损失函数来监督网络,在计算交集和比值时忽略大量的背景像素,从而解决前景和背景不平衡的问题。虽然Dice Loss能缓解前景和背景的不平衡问题,而且收敛速度较快,但是由于它粗暴地忽略背景像素的计算,这在一定程度上或造成对图像资源的浪费。当正负样本数量接近时,负样本可以增强正样本的特征强度。总之,图像的背景信息可以促进特征学习,类似于人类的感知,计算中涉及的一些背景信息可以使网络学习到的特征更加全面。因此,为了缓解Dice Loss的极端问题,Su等[25]将BCE Loss作为正则项引入,提出了Dice Loss和BCE Loss的组合损失函数(Dice-BCE loss function,D-BCE Loss),函数定义如式(1)所示:
![]() |
其中,LDB代表D-BCE Loss,LD代表Dice Loss,LB代表BCE Loss,γ为正则项系数,用于调整样本类别比例的平衡。Dice Loss和BCE Loss的结合使得网络在专注于前景像素学习的过程中不会完全忽略与背景像素的关联。因此,网络的训练不会以背景像素为主,学习较小物体的特征也很简单。
黄泳嘉等[26]在肝部医学影像分割任务中,结合多种损失函数的优点,提出了一种加权混合损失函数,函数定义如式(2)所示:
![]() |
其中,LH代表加权混合损失函数,LB代表BCE Loss,LI代表交并比损失函数,LS代表结构相似性损失函数,W1、W2和W3是各个损失函数的权重项。通过这三个损失函数的加权求和,可以综合利用它们的优点,不仅可以使所有像素保持平滑的梯度、更加关注相似度同时可以优化分割细节。基于2017年MICCAI竞赛(MICCAI 2017)的肝脏肿瘤分割基准(liver tumor segmentation benchmark,LiTS)数据集(网址为:https://competitions.codalab.org/competitions/17094)的实验结果表明,肝脏图像和肝脏肿瘤图像的DSC分别为96.26%和83.32%,相比传统的U-Net,进一步了提高对肝脏和肝肿瘤图像的分割精度。
1.2 简单和困难像素的不平衡
医学图像样本不平衡的另一类型是简单像素和困难像素之间的不平衡,这也严重影响了深度学习模型的训练过程。从经验上讲,一个简单的像素通常比一个困难的像素对整体损失的贡献要小。在实践中,医学图像中的简单像素(如器官内部对比度高的像素,器官中形状相对规则的结构等)占比较大时,将会主导训练模型,导致训练次优或更差。为了解决简单像素和困难像素之间的不平衡问题,研究人员在CE Loss的基础上提出了前百分之K损失函数(top K% loss function,TopK Loss),通过设定阈值保留分类困难的像素点,迫使网络在训练期间专注于分类困难像素点。该函数有两种实现,一种是Wu等[27]提出的保留预测值低于阈值的像素,当像素点的实际类别为前景(或背景)且模型预测该类别的概率值小于设定阈值时,则保留该像素点。另一种TopK Loss的实现是,只保留分类准确率最差的K%的像素点,并对其进行训练,这两种TopK Loss的核心思想都是一样,即将容易分类的像素点忽略,使模型训练时专注于困难像素,TopK Loss虽然在一定程度上可以缓解简单像素和困难像素之间的不平衡问题,但是由于部分样本被删除,容易导致模型泛化能力不足。
相比TopK Loss的一刀切的做法,Lin等[28]提出了更加柔和的焦点损失函数(focal loss function,Focal Loss),该函数也是基于CE Loss的改进,函数定义如式(3)所示:
![]() |
其中,LF代表Focal Loss,N为像素点的总数量,C为像素点的类别,Wc为类别c的权重,pic为像素点i属于类别c的概率值,gic为像素点i属于类别c的真实值,(1 − pic)γ为调节因子。Focal Loss通过引入调节因子(1 − pic)γ来减少简单像素的损失贡献,从而迫使网络关注于困难像素的训练,并通过改变聚焦参数γ来调整简单像素权重被降低的程度。而且调节因子(1 − pic)γ是动态变化的,如果分类困难的像素逐渐变得好分,则调节因子也会逐渐的下降。实验表明,当γ = 2、Wc = 0 = 0.25、Wc = 1 = 0.75时,模型能获得最佳性能。
Abraham等[29]受到Focal Loss的启发,在特沃斯基损失函数(Tversky loss function,Tversky Loss)[30]的基础上加入了一个聚焦参数γ,提出了焦点Tversky Loss(focal Tversky loss function,Focal Tversky Loss),该函数定义如式(4)所示:
![]() |
其中,LFT代表Focal Tversky Loss,LT代表Tversky Loss,γ∈[1, 3]代表焦点参数。Focal Tversky Loss非线性地将训练过程集中在困难像素上(Tversky指数 < 0.5)并抑制简单像素对损失函数的贡献。当像素点被错误地分类为高Tversky指数时,Focal Tversky Loss影响不大;如果Tversky指数较小且像素分类错误时,Focal Tversky Loss会降低。当聚焦参数γ逐渐增大时,损失函数对简单像素的抑制程度也逐渐增大,而过大的γ值会使得函数对简单像素过度抑制。论文中的焦点参数最佳值是γ = 4/3。在病变占图像区域的4.84%和21.4%的乳腺超声数据集B(breast ultrasound dataset B,BUS)(网址为:http://www2.docm.mmu.ac.uk/STAFF/m.yap/dataset.php)和2018年国际皮肤影像协会(international skin imaging collaboration 2018,ISIC 2018)的数据集(网址为:https://challenge.isic-archive.com/data/)上进行实验,与标准U-Net相比,使用Focal Tversky Loss并通过合并图像金字塔来改进注意力U-Net的模型可以使分割精度分别提高25.7%和3.6%。
在对脑部MRI图像中的肿瘤进行分割时,极端的类别不平衡不仅存在于前景和背景之间,而且存在于肿瘤的不同子区域之间。Wang等[31]受到Focal Loss的启发,在Dice Loss的基础上运用Focal Loss的思想,提出了焦点Dice Loss(focal Dice Loss,Focal Dice Loss),用来解决病变区域中结构之间的不平衡问题,函数定义如公式(5)所示:
![]() |
其中,LFD为Focal Dice Loss,Dc为类别c的Dice Loss值,据此来优化网络,可以缓解前景和背景之间的不平衡。Wc是类别c的权重项,当类别c数量较大时,权重Wc则减小,1/β为调节因子,使网络在关注少数类别的同时,增加对困难像素的关注度。在2018年BRATS 挑战赛数据集(BRATS 2015)(网址为:https://grand-challenge.org/challenges/)中验证了Focal Dice Loss。实验表明,其分割效果明显比使用Dice Loss的模型更好,且当β = 2时,效果最好。Focal Dice Loss在解决类别分类难易程度不平衡的同时,通过Dice Loss部分解决前景和背景的不平衡。
单一的损失函数在处理类别不平衡问题时,很难同时处理前景与背景的不平衡和简单像素与困难像素的不平衡,在不考虑运算复杂度的情况下,组合损失函数对类别不平衡的处理更加全面。Zhu等[32]将由Dice Loss和Focal Loss组成的混合损失函数运用在头颈部解剖结构的分割任务中,该函数可以缓解不平衡的器官分割问题并迫使模型更好地从分割不良的像素中学习,实验结果表明,与之前2015年MICCAI竞赛(MICCAI 2015)的最先进结果相比,使用混合损失函数的网络模型将DSC平均提高了3.3%,并且分割尺寸为178 × 302 × 225的头颈部CT图像大约需要0.12 s,明显快于以前的方法。
2 损失函数在其他方面的运用
损失函数的改进不仅能够缓解医学图像分割任务中的样本不平衡问题,还能用于改进其他一些常见问题,例如,分割结果中存在假阴性和假阳性,医学图像边界模糊难以准确分割等。通过对损失函数的改进,可以使神经网络分割模型更好地处理这些问题。
2.1 权衡分割结果的精确率和召回率
在医学图像分割任务中,神经网络模型不可避免地会出现分割误差,这些误差包括错误地将前景识别为背景(即假阴性),或者错误地将背景识别为前景(即假阳性)。两种误差在医学图像分析及临床诊断时都影响重大,假阳性可能导致更大的放射野或过度的手术切割,假阴性可能导致放射区域不足或手术切除不完全。然而两种误差在不同的病情中所造成的影响不同,例如,在前列腺肥大的老年男性患者的大量随机样本中,由于样本中仅有少数人患前列腺癌,使用不平衡样本训练的模型偏向于将结果预测为少数类(即不会患前列腺癌),在这种情况下,假阴性是一个可能危及生命的错误[33]。因此,如何权衡模型预测的精确率和召回率尤为重要。
基于分布的损失函数(如CE Loss)可以通过引入权重项应对样本不平衡的问题,但它不能针对假阳性或者假阴性进行校准,并且对高度不平衡的数据表现不佳。基于区域的损失函数(如Dice Loss)可以通过给DSC中的假阳性和假阴性分配不同的权重系数进而调节网络模型对假阳性和假阴性的关注度,例如Tversky Loss,该函数通过调整超参数α和β控制假阳性和假阴性之间的权衡,其定义如式(6)所示:
![]() |
其中,LT为Tversky Loss,N为像素点的总数量,C为像素点的类别,pic为像素点i属于类别c的概率值,gic为像素点i属于类别c的真实值,α和β分别为假阳性和假阴性的权重参数。较大的β可以让网络更加关注假阳性,从而提高召回率。在多发性硬化症病变分割挑战赛(multiple sclerosis segmentation challenge,MSSEG)的数据集(网址为:https://portal.fli-iam.irisa.fr/msseg-challenge/english-msseg-data/)上进行实验,结果表明,当β=0.7时,所训练的全卷积神经网络(fully convolutional networks,FCN)能获得最佳结果。
为了进一步权衡精确度和召回率,Hashemi等[34]提出了非对称性损失函数(asymmetric similarity loss function,Asym Loss),其定义如式(7)所示:
![]() |
其中,LA为Asym Loss,N为像素点的总数量,C为像素点的类别,pic为像素点i属于类别c的概率值,gic为像素点i属于类别c的真实值,β为调节假阳性和假阴性的权重参数。调整β取值可以让Asym Loss转变为Dice Loss或Jaccard Loss,超参数β的取值可以根据类别不平衡比例来定义,较大β使模型更加关注假阴性,从而使召回率的权重高于精准率。上述两种损失函数都是基于DSC的改进,虽然在一定程度上可以权衡精准率和召回率,但是不能很好地应对类别不平衡问题。加入基于类频率权重项的GD Loss相对于DSC在处理类别不平衡时有更好的效果,Yang等[35]提出一种惩罚GD Loss(penalty GD Loss,pGD Loss),该函数在GD Loss中增加一个惩罚假阴性和假阳性的系数,函数定义如式(8)所示:
![]() |
其中,Lp代表pGD Loss,LG代表GD Loss,k为惩罚系数。当k = 0,pGD Loss等价于GD Loss;当k > 0,pGD Loss为假阴性和假阳性赋予额外的权重。实验表明,k = 2.5对应最佳性能,基于pGD Loss的密集连接的卷积网络(dense convolutional network,DenseNet)121模型分别实现了最高平均DSC为(91.9 ± 8.7)%、精确度为(91.3 ± 8.8)%、召回率为(92.6 ± 9.6)%,并且比GD Loss模型显示出更好的分割性能。
Zhu等[36]在葡萄胎水肿病变分割任务中,提出了一种新颖的混合损失函数,其定义如式(9)所示:
![]() |
其中,LC代表混合损失函数,LF代表Focal Loss,LP代表像素级损失函数,LI代表病灶级损失函数,α是权重因子。该混合损失函数结合了像素级和病灶级损失值,可以同时提高两个层面的分割效果。病变级别损失值的计算基于单个病变的连通域,其中大小病变区域具有相同的权重。通过添加α和β,复合损失函数可以根据不同的情况定制模型。当α < 0.5时,训练的模型具有更好的召回率,模型将会侧重于找出图像中所有病变部位以减少漏检,但也可能将正常部位误检。当α = 0.5时,模型兼顾了召回率和精确率,性能更全面。在实际应用中,两个模型的交集代表水肿病变概率较大的区域,它们的差值代表有一定概率水肿病变的区域。
2.2 解决边缘模糊问题的损失函数
由于医学图像成像技术固有的物理特性,如CT成像中的衰减系数和MRI成像中的弛豫时间等,医学影像相较于自然图像往往有对比度低、噪声较大的特点[37],此外,由于人体器官形状特殊,医疗影像通常会出现组织特征变化频繁、区域和边界特征模糊等现象[38]。传统的基于图像处理的边界检测方法,例如坎尼(Canny)算子[39]和索伯(Sobel)算子[40],对于具有大量噪声的图像表现出较差的边界检测性能。深度学习算法对图像分割有较好的性能但对器官边缘模糊的问题仍然存在缺陷。
Caliva等[41]提出了距离图惩罚CE Loss(distance map penalized CE Loss,DPCE Loss),该函数与WCE Loss类似,其中权重项由真实标签掩码派生的距离图构建。函数定义如式(10)所示:
![]() |
其中,LD代表DPCE Loss,N为像素点总数,C为像素点的类别,pic为像素点i属于类别c的概率值,gic为像素点i属于类别c的真实值,Dc是类别c的距离惩罚项,符号“∘”是哈达玛积[42]。DPCE Loss为边界上的像素分配更大的权重,从而引导网络将注意力集中在难以分割的边界区域。实验表明,运用该损失函数的模型分割质量显著提高,更好地保留骨骼边界的形状以及受部分像素影响的区域。
Kim等[43]提出一种通用的边界感知损失函数,以促进有效识别医学图像中器官和病变区域的边界,该损失函数的定义如式(11)所示:
![]() |
其中,LBN代表边界感知损失函数,LB代表边界区域的损失值,LN代表非边界区域的损失值,p1和p2表示每个区域的权重。一般将位于边界区域的像素的损失值分配比非边界区域的损失值更高的权重,以迫使深度学习模型关注边界区域中分割不佳的像素。使用结肠息肉数据集(网址为:https://paperswithcode.com/dataset/cvc-clinicdb)、皮肤病变数据集(网址为:https://challenge.isic-archive.com/data/)和胸部X射线数据集(网址为:http://db.jsrt.or.jp/eng-01.php)进行的实验结果表明,标准损失函数(例如CE Loss和Dice Loss)与提出的边界感知损失函数相结合,可使模型分割效果比没有使用边界感知损失函数的模型分割效果更好。但是该损失函数也存在局限性,如果边界不是确定的,如皮肤损伤导致边界不清的情况,则该模型对分割性能的改进可能微不足道。另一方面,使用该损失函数的深度学习模型的性能根据权重和边界区域的范围而变化,所以权重项的最佳值是不确定的,需要凭经验确定。
3 总结与展望
本文从医学图像分割领域所面临的主要困难出发,介绍了解决样本不平衡、边缘模糊、假阳性、假阴性问题的损失函数及改进方法。这些损失函数从广义上可以分为基于分布、基于区域、基于边界的损失函数和混合损失函数,其中大部分是CE Loss和Dice Loss的变体,它们在解决不同问题时各有优点。解决样本不平衡问题的一般思路是对损失函数重新加权或使用基于DSC的损失函数:如WCE Loss是基于CE Loss的改进,对不同类别的像素进行重新加权,使模型训练时关注类别较少的前景像素;Dice Loss则是对DSC的直接优化,在计算交集和比值时忽略大量的背景像素,从而解决前景和背景不平衡的问题。一般来讲,在解决前景和背景不平衡的问题时,基于DSC的损失函数要优于基于CE的损失函数。但在实际中常用的做法是将两种思路结合,在Dice Loss的基础上中引入权重项或者将基于DSC和CE的损失函数加权,形成混合损失函数。对于像素点分类难易程度的不平衡问题常用的改进方法是:忽略分类简单的样本或者减少简单样本的权重,例如,TopK Loss和Focal Loss,前者是粗暴地将分类简单的像素点丢弃,后者则是通过引入调节因子,间接地减小分类简单像素点的权重。受Focal Loss的启发,研究人员提出了多种加入聚焦因子的损失函数,其本质都是通过降低简单样本的权重,从而迫使网络模型在训练中关注于困难样本。为了权衡分割结果的精确率和召回率,常用的解决方法是:对基于DSC的损失函数中的假阳性和假阴性分配不同的权重,如Asym Loss和Tversky Loss。然而这些基于DSC的损失函数本质上是不稳定的,在梯度计算涉及小分母的高度不平衡数据中最为明显,使用这类损失函数的模型在训练过程中容易发生震荡。对于边界模糊问题,常用基于边界的损失函数,该函数是通过最小化两个边界之间的距离来计算的,在公式上与Dice Loss有相似之处,因为它们都是以基于区域的方式计算的,关键区别在于不匹配区域的方式是加权的。综合考虑,这些损失函数都各有特点,单一损失函数能解决的问题有限,在不考虑计算成本的情况下,由多种损失函数组成的混合损失函数训练效果会更好,能解决的问题也更加全面。
损失函数是神经网络模型中重要模块,对损失函数的改进可以解决医学图像分割任务中的多种问题,基于目前学者们提出的改进损失函数的实验结果表明,分割效果确实有所提升,但是分割性能的提升有可能是神经网络中其他模块的引入、数据集的扩充或者是模型网络结构的改进造成的,对于损失函数的改进效果还不能定量分析。此外,由于各种损失函数的改进是基于不同的模型和分类任务的,没有控制变量,所以没有统一的标准来评判对于特定的分类任务不同损失函数的表现差异,且对现有的损失函数改进效果的评估研究也不够全面,也很难通过理论分析找到每个函数的超参数的最佳值。
总体而言,针对损失函数进行改进,在医学图像分割模型性能的提升上有广阔的前景,可以从以下几个方面寻求突破:① 在控制变量的基础上,对目前所有的损失函数的分割效果做定量的评估,为不同数据集找到最适合的损失函数类型。② 建立统一的数据集、网络模型和模型评估标准,为后续的损失函数研究和改进提供统一的平台,使改进后的损失函数的效果有更加直观的定量结果。③ 混合损失函数结合了多种损失函数的优点,但是如何选择最佳的损失函数的组合以及不同损失函数的权重并非易事,此外,如何权衡好混合损失函数带来的效果提升和计算成本的增加也是值得探讨的问题。④ 目前对于损失函数的改进方法中,主要是根据不同类别和难易程度进行简单的逆频率加权。此外还可以对加权策略做改进,例如逆中值频率加权、焦点加权、距离变换映射加权和距离惩罚项等。⑤ 目前的损失函数的改进大多数是针对分类任务结果的不平衡的改进,如基于DSC的损失函数,然而这种函数在求导时容易出现分母极小的情况,如何在改进分割效果的情况下同时改进损失函数求导的特性是值得探讨的方向。⑥ 现有的损失函数大部分都是基于医学图像分割评价指标DSC来构建的,而医学图像分割评价指标还有豪斯多夫距离、体素重叠误差、最大表面距离等,这些指标对医学图像分割结果的评估侧重点不同且各有优势,基于这些评价指标构建新的损失函数能获得不同侧重点的分割结果。⑦ 目前大多数研究和应用都集中在解决分割的唯一性问题(每个输入图像只有一个标准分割结果)。然而在实际场景中可能有非唯一的分割标注,因为不同的外科医生可能以不同的方式为同一患者进行手术。现有的损失函数大多数情况下不能增强同一输入的非唯一分割输出的共同特征,对损失函数的改进可能使模型更好地学习分割的非唯一问题。
重要声明
利益冲突声明:本文全体作者均声明不存在利益冲突。
作者贡献声明:陈英、张伟负责方法设计和文章撰写、文章修改;林洪平、郑铖、冯龙锋、周滔辉、易珍负责数据收集、整理;刘岚参与论文的指导与审校。