浦秀丽,刘翔,汤显,宋家琳
1.上海工程技术大学电子电气工程学院,上海 201620;2.中国人民解放军第二军医大学长征医院超声诊疗科,上海 200003
在我国,每年约有38万人死于慢性病毒性肝炎,其中,肝炎引发的肝硬化是主要原因之一。肝硬化由早期的肝纤维化发展形成,具体被定义为慢性肝损伤引起的再生结节周围纤维带的组织学发展[1]。如果肝硬化病情未能得到有效的控制与治疗,肝硬化进一步恶化,很可能造成肝功能严重损伤且难以恢复,甚至造成死亡。对早期轻度肝纤维化进行准确诊断并采取有效措施是降低严重肝疾病发病风险的有效手段之一[2]。然而,当前的肝硬化影像分析主要还是以人工判读为主,主观判断造成的误判难以避免。随着人工智能技术的发展,许多学者将机器学习、深度学习技术运用到肝纤维化、肝硬化的诊断中,这促进计算机辅助医学诊断的进一步发展。
目前,用于评估肝脏疾病的医学成像技术主要包括核磁共振成像(MRI)[3]、计算机断层成像(CT)[4]以及超声成像[5]等,超声技术因无创无辐射、便捷、成本低等优势成为肝脏疾病影像学筛查的第一选择[6]。当肝脏出现弥漫性病变之后,病变部位的声抗也会随之发生改变,并在超声图像中反映出来[7]。如图1所示,在超声图像中,正常肝脏的包膜呈现连续、光滑且厚度均匀的状态,而正常的肝实质则表现为均匀一致的弥漫细小点状中等回声。对于存在慢性肝炎等病变的肝脏,肝实质组织会逐渐老化,这将导致肝包膜形态结构异常,往往表现为不平滑的状态,如波浪状、阶梯状或锯齿状[8],在影像学上甚至会呈现出断裂形态。因此,肝包膜的精确分割对于肝纤维化、肝硬化的后续分析诊断具有重要意义。
传统医学图像分割方法主要包括基于阈值的算法、基于边缘的方法、基于区域的方法、基于能量泛函的方法、基于图论的分割方法[9]等,通过传统的机器学习算法研究肝包膜的分割已经取得了一定的进展,Liu 等[10]根据肝部超声图像的组成特点,设计了一个滑动窗口检测器,结合动态规划,实现对肝包膜的自动分割,Zhao 等[11]首先通过多尺度边缘检测器来定位所有曲线,然后利用高频超声图像中肝包膜上下的特点,通过能量函数分析过滤掉不相干的曲线,从而得到肝包膜。Liu 等[12]根据肝脏结构,首先检测肝脏是否有腹水,然后分别设计遍历搜索算法,实现肝包膜的分割。然而,当超声图像更加复杂时,传统算法所分割的肝包膜的精确性还有待提高。随着2014年全卷积神经网络(Fully Convolutional Networks,FCN)的提出,深度学习算法开始广泛应用于图像分割领域,而针对数据少,语义简单的医学图像分割任务,Ronneberger 等[13]提出的UNet网络的分割性能更加优越,它所设计的跳层连接结构,将深层特征和浅层特征相结合,便于更加精确学习图像细节信息。后续的许多研究如3D UNet[14]、TernausNet[15]、Dense UNet[16]、Res-UNet[17]等都是在此基础上发展而来的。
本文模型ES-UNet 以常用分割网络UNet 为基础,引入空洞卷积,扩大感受野;同时,添加了边缘监督模块,从而将特征学习主要聚焦在图像梯度较大的部分;此外,还设计了混合加权损失函数,来平衡肝包膜部分与其他区域之间的极度不平衡情况。实验结果表明,改进后的模型,可以有效提高肝包膜区域的分割精度。
本文整体模型ES-UNet结构如图2所示,以UNet的编解码结构为基础,在编码部分添加空洞卷积和边缘监督模块。各模块的具体情况在以下几节中详细介绍。
UNet 是一种U 型的编解码网络,最初由Ronneberger 在2015年提出,初衷是用来解决医学图像分割问题,如图2所示,UNet 的编码部分包括4 个下采样模块,解码部分包括4个上采样模块。每个下采样模块由两个带有RELU 激活层的3×3 的卷积层和一个2×2的最大池化层组成,每个上采样模块则是由一个反卷积和两个带有RELU 激活层的3×3 的卷积层组成。此外,编码部分和解码部分采用拼接的方式作特征图的融合,这相比于同为编解码结构的FCN网络,UNet采用拼接作为特征图的融合方式,从而形成更宽的特征。
近年来,UNet广泛应用于医疗图像分割领域,由于医疗影像语义较为简单,结构相对固定,信息量单一,浅层特征和高级语义特征都很重要,因此U 型结构的跳层连接很适用,此外,医学影像的数据较少,获取难度大,因此用大型复杂网络训练反而容易造成过拟合,轻量的UNet网络更有优势。
空洞卷积(Atrous Convolution)又叫扩张卷积(Dilated Convolution),相比于正常的卷积,空洞卷积就是向卷积层引入了一个称为“扩张率(Dilation Rate)”的新参数[18],这个参数定义了卷积核处理数据时各值的间距,从而在标准的卷积核里注入空洞。普通卷积和空洞卷积图示见图3(以3×3卷积为例)。
在UNet的编码操作中,普通下采样模块池化层及池化间隔的存在,虽然可以扩大感受野,但同时也导致内部数据结构和空间层级化的信息丢失,这对于存在于图像边缘细节处的肝包膜分割是十分不利的,因此本文添加了空洞卷积模块,在保证模型参数不增加,细节信息不损失的情况下,扩大感受野,获得更加密集的数据,从而提高分割任务中细节部分的分割效果。本文采用扩张率= 2的空洞卷积,在编码部分,每一层都将输入经过常规卷积与空洞卷积并行处理后,拼接起来下采样后作为下一层的输入。
观察肝部超声图像发现,肝包膜部分处于梯度较大的区域,因此我们将通过Canny算法提取的边缘信息作为辅助监督标签[19],设计边缘监督模块(见图2灰色部分),引导网络的学习边缘细节信息。由于只有浅层的特征保留了足够的边缘信息,因此我们只在编码模块的前两层采用边缘监督[20],如图2所示,通过对第二个编码卷积模块的输出进行上采样,使其与第一个编码卷积模块的输出具有相同的分辨率,再经过一个1×1 和3×3 的卷积层后,与第一个模块输出经过1×1和3×3的卷积层后拼接,然后通过1×1 卷积后作为边缘监督模块的输出,通过计算其于边缘标签的损失Ledge(式4),反向传输后用于监督浅层卷积层的学习并引导编码部分的分割。此外,我们将经过边缘引导后的特征图与UNet网络的特征图做拼接融合,再经过3×3 和1×1 的卷积处理后作为模型的输出。
本文中,肝包膜所代表的正样本相对其他区域(负样本)的占比严重不平衡。如果使用普通的交叉熵损失,网络会倾向于将多数像素预测为负样本,极端情况下甚至全部预测为负样本也能得到较高的分类精度[21]。为避免这一问题,本文基于Dice 系数设计了一种log-Dice 损失函数[22]。Dice 系数是一种度量两个集合相似度的函数,通常用于计算两个样本的相似度,是语义分割最常用的评价指标之一,其计算公式如下:
由于Dice 系数在模型训练时,波动过大,容易造成训练不稳定,不利于反向传播,我们添加了一个平滑常量smooth(通常设为1),并添加对数函数,使损失波动更加平稳,其表达方式如下:
在本文的边缘监督模块中,考虑到边缘标签中也存在类别不平衡情况,而不严重的类别不平衡问题不适合用Dice 损失,笔者采用加权交叉熵(weighted cross entropy)来设计损失函数Ledge[23]:
其中,β表示正样本权重,当β<1 时,可以减少假负样本的比例,当β>1 时,可以降低假正样本的比例。一般情况下,β与正样本所占比例呈负相关。在边缘标签中,图像边缘所代表的正样本相对其他区域(负样本)的占比较小,多次对比分析后,将β设为5,以增加模型正样本的分割准确率。
最后,为平衡两输出损失的贡献度,经过反复实验调试,我们将边缘输出损失与分割损失分别赋予0.165 和0.5 的权重,作为模型的整体损失,表达方式如下:
本文采用的实验数据是由第二军医大学附属长征医院超声科提供的肝部超声图像数据集,采集设备是美国GE 医疗系统公司的VolusonE8 超声设备。采集频率为4~10 MHz,当患者处于仰卧位或左卧位时,分别从剑突和右肋间间隙扫描肝组织,从而获取左右肝叶的二维浅表切面超声图像。数据集包括乙型肝炎肝硬化患者47 例,其中,男性35 例,女性12例,年龄为28~77 岁,平均(51.6±11.6)岁;此外,还包括随机选择的无肝脏疾病者20 例(对照组),其中男性15例,女性5例,年龄26~76岁,平均(51.5±13.2)岁。根据Child-Pugh 改良分级标准,将患者的肝硬化程度分为轻、中、重度3 个分期[24],其中,轻度肝硬化患者18 例,中度肝硬化患者16 例,重度肝硬化患者13例。上述肝硬化患者的诊断经实验室(包括血液检查)、超声及其他影像学检查、病理学分析,确认无合并脂肪肝、血吸虫肝病及其他器质性肝脏疾病。各类分期患者在年龄、性别、体质量上均无显著差异。
由于原始数据中,不同分期的肝脏图像数据量差异较大,为避免样本不均衡,防止模型过拟合,提高模型泛化能力,笔者通过采用几种常用的数据增强方法,如左右翻转(上下翻转不符合肝部超声图像结构特性)、旋转(15°~25°)、仿射变换、错切等,生成1 949 个图像作为训练集,175 个图像作为验证集,并将图像尺寸批处理为256×256的大小。
本文实验基于Python 3.6 和Tensorflow 2.1 实现,操作系统为Windows10,实验环境为2 块Nvida-1080Ti 显卡,为提高模型收敛速度,batch size 设置为16,预设200个epochs,并采用基于动量的Adam 算法来对网络进行优化。设置初始学习率为1× 10-4,损失函数由式(5)确定。每个epoch 后,在验证集上对模型进行评估,确保最终选择的用于测试集评估的最佳模型在验证集上具有最佳的分割评估效果。设置早停(early stopping),防止训练过拟合,模型在第90 个epoch 后已经趋于收敛,在第130 个epoch 后,模型训练停止,训练时间约为2.5 h。
由于肝包膜数据集中包膜只占图像的极小部分面积,类别分布严重不平衡,所以简单的准确率指标不足以评价实验结果,为定量评估网络的分割性能,采用准确率、精准率、召回率、Dice 系数、平均交并比(Mean Intersection-over-Union,MIoU)等多项评价指标,各类指标均可通过混淆矩阵计算得出。混淆矩阵(Confusion Matrix)又称误差矩阵,是机器学习中总结分类模型预测结果的情形分析表,矩阵表现形式见图4。
其中,TP 表示图像中肝包膜区域被分割模型预测为肝包膜的像素点总量,FN 表示图像中肝包膜区域被分割模型预测为背景的像素点总量,FP 表示图像中背景区域被分割模型预测为肝包膜的像素点总量,TN 表示图像中背景区域被分割模型预测为背景的像素点总量。
准确率(Accuracy,Acc),是指对于给定的测试数据集,分类器正确分类的样本数与总样本数之比:
平均像素精确度(Mean Pixel Accuracy,MPA),这是在准确率基础上做的提升,是指类别内像素正确分类概率的平均值[25],在本文中可以表示为:
精准率(Precision,P)又叫查准率,是指在所有被预测为正的样本中实际为正的样本的概率,公式如下:
召回率(Recall,R)又叫查全率,是指实际为正的样本中被预测为正样本的概率,其公式如下:
精准率和召回率是一对矛盾的度量,精准率和召回率相互制约,为了能够综合考虑这两个指标,我们需要找到二者之间的一个平衡,精准率和召回率的加权调和平均F-measure(F1)被提出:
Dice 系数用于评价预测掩膜图像与金标准掩膜图像之间的相似度,是语义分割最常用的评价指标之一,在本文中,可以用混淆矩阵来表达(式2)。
MIoU 是一个衡量图像分割精度的重要指标,在评价图像中各目标类别不均衡的语义分割网络时,简单的交并比并不能合理反映模型的分割效果,采用MIoU则更加客观,用混淆矩阵表示如下:
为验证本文引入的空洞卷积、边缘监督模块以及损失函数对模型的改进效果,笔者采用消融实验来作对比分析,图5是各种情况下对应的效果图,第1行分别为正常健康人,轻度、中度、重度肝硬化患者的肝包膜超声图像,第2 行是对应的辅助监督的边缘,第3 行是对应的肝包膜金标准图像(由医学专家标注),第4~8行分别为UNet+bce模型、UNet+bce-dil模型、UNet+bce-edge 模型、UNet+bce-dil-edge 模型、UNet+L-dil-edge(即本文算法ES-UNet)模型对应的分割效果图。
从图5可以发现,本文模型ES-UNet 分割结果所保留的细节最为完整,基本UNet 模型已经可以较好的体现肝包膜的大致轮廓,空洞卷积与边缘监督的加入使得肝包膜的分割精度大幅提升,损失函数的改进则在确保良好的分割精度的情况下更加完整的保留了肝包膜的细节特征。
表1展示了上述不同网络在整个测试集上的分割结果。表2展示了上述不同网络在4 个不同分期肝包膜图像上的分割结果定量比较。观察表1可以发现,随着模型在UNet基础上的一步步改进,分割效果在几项指标值上都随之提高,尤其是引入空洞卷积后的UNet+bce-dil 模型相比于原本的UNet+bce 模型,其分割量化指标均提升显著,可见空洞卷积可以在不提高模型复杂度的情况下,有效提升网络训练效果,此外,边缘监督模块的加入也对模型分割性能有着不可忽视的作用。尽管混合损失函数加入后,最终模型UNet+L-dil-edge 分割结果在精准率上有轻微下滑,但在其他指标如F1、Dice、MIoU 等相对更客观的指标上,有更加突出的表现。
表1 不同网络在整个测试集上的各类指标均值Table 1 Mean values of indicators of different networks on the entire test dataset
从表2的各项数据中可以看出,本文的ES-UNet(UNet+L-dil-edge)模型在正常人以及不同分期肝硬化患者的肝包膜图像上都有更好的分割效果,且不受重度患者可能存在的腹水的影响。综上,从量化角度分析,本文算法的各个组件对改进模型分割性能都有一定的贡献。
表2 不同网络在4个不同分期的肝包膜图像上的定量比较Table 2 Quantitative comparison of different networks for liver capsule images at 4 different stages
目前,基于超声图像的肝纤维化、肝硬化计算机辅助诊断系统中,主要的研究聚焦在肝包膜和肝实质的特征提取和分析上,肝包膜的精确分割对于肝纤维化、肝硬化的后续分析诊断具有重要意义。因此,本文提出了一种基于边缘监督的肝部超声图像包膜分割网络(ES-UNet),引入空洞卷积,扩大感受野;同时,添加了边缘监督模块,从而将特征学习主要聚焦在图像梯度较大的部分,提高模型对肝包膜细节处的分割准确性;此外,针对肝包膜部分与其他区域之间的极度不平衡情况,设计了混合加权损失函数,对各个模块进行约束。实验结果表明:本文方法可以更好的从肝部超声图像中精确分割出肝包膜,能够反映肝包膜细节部分的真实位置和趋势,有助于后续进一步分析诊断,并为其他领域的分析提供可靠的设计思路。在未来的工作中,我们考虑将分割的肝包膜定位到肝部图像中,分析肝包膜的形态及纹理特征,并结合肝实质的特征,全面地描述肝硬化各个阶段的变化,实现肝硬化各阶段的准确分类。