基于多尺度UNet的肾脏CT图像分割
2023-09-04冯嘉钦邱卫根张立臣
冯嘉钦 邱卫根 张立臣
(广东工业大学 广东 广州 510000)
0 引 言
随着医学成像技术的不断发展,医学图像处理在非侵入式计算机辅助医学诊断具有重要的临床价值[1]。肾脏的主要功能是清除人体内的代谢产物和某些毒素,清晰的肾脏图像分析对肾脏器官疾病的正确诊断具有重要的临床价值。尤其是随着肾癌、肾结石等疾病微创介入治疗手术的广泛开展,准确的肾脏组织信息是微创手术术前计划、术中指引和术后评估的重要依据[2],肾脏图像的分割技术研究是肾脏医学图像处理研究的重要领域。
医学图像处理在一定程度上集中在疾病检测、图像分割、图像配准和图像融合四个方面。同时,医学图像分割任务中存在边界模糊、器官末端特征复杂等问题,使得医学图像分割任务在可行性和性能上都存在巨大的困难。其中,肾脏图像分割在肾脏疾病的评估和临床诊断中起着重要的作用。因此,肾脏图像分割在医学图像分割任务中具有举足轻重的地位。在肾脏图像分割中,肾皮质、肾盂等肾脏组织是解决肾脏图像分割问题的关键。另外,不同的人体可能会出现不同的肾脏病变,也增加了分割的难度。同时,与自然图像相比,医学图像层次特征更加不明确。人体的解剖组织结构和形状复杂,因个体差异,器官图像所呈现的尺度、纹理特征等都差异很大,对医学图像的精准分割的难度也有所增加。
本文在UNet[3]网络的基础上,构建基于多尺度UNet的CNN模型,并应用于肾脏图像的分割领域。多尺度UNet模型通过融合使用Inception模块和残差模块,在获取多尺度特征的同时,加快模型训练过程的收敛。为了获得更精准的分割结果,使用了数学形态学的方法,对模型分割结果进行优化,以得到更精准的分割结果。
1 相关内容
肾脏图像分割技术在国内外得到非常广泛的研究,其大致可以分成两类:基于标记点模型的方法和基于能量最小化的方法。
在基于标记点模型的方法方面,一种通过主动外观模型和live wire结合的方法[4],可更准确识别器官,实现腹部CT图像的多器官分割。另一种基于主动形状模型的肾脏超声图像分割算法,在主动形状模型中引入遗传优化算法[5],使模型获得更鲁棒的初始化,可加快收敛速度并提高准确率。另一方面,依据区域相似性和形状特征,文献[6]实现了一种可自动学习的区域生长法。更进一步,利用先验知识来定位肾脏组织[7],同样实现自适应的区域生长算法。基于标记点模型的方法在复杂性和计算效率方面具有一定的优势,其难点在于对种子点的选取较为敏感,容易受到粘连的影响,而且需要大量的训练样本建立统计模型。
在基于能量最小化的方法方面,结合测地活动轮廓模型和Chan-Vese模型综合形式的能量函数[8],使用图割方法优化能量函数,从而使轮廓趋于目标边界,实现CT图像中肾脏的整体分割。另一方面,文献[9]首先找出肾脏的候选区域,根据先验区域构建肾脏的概率形状,使用马尔可夫随机场构造能量函数,采用信念传播算法最小化能量函数,得到分割肾脏的最优解。基于能量最小化的图像分割方法应用非常广泛,尤其是可变形模型和图割的方法效果更加显著,受到了越来越多的关注。为了实现基于水平集的可变形模型[10],其加入速度函数受到形状先验、灰度特征和空间交互性的控制。文献[11]通过贝叶斯概率统计,构建了水平集分割框架来实现肾脏组织的容量分析。可变形模型通常采用变分技术,通过梯度下降法优化能量函数,结合图割方法,使能量函数能有效地全局最小化。另一方面,首次给定了估计活动轮廓长度的理论公式[12],并采用图割方法加以优化。文献[13]在窄带范围内使用图割方法,优化带有区域限制的测地活动轮廓模型[14],弥补了传统活动轮廓模型的算法缺陷。另外,文献[15]通过图割方法优化水平集能量函数的离散形式,提高了算法效率。文献[16]通过集成学习主动轮廓建模,检测肾脏内部初始化遮盖,不断拓展其边界,达到分割肾脏部位的效果。
近年来,深度卷积神经网络在图像分类[17-18]、目标检测[19]等方面获得广泛的应用,深度学习已经成为图像处理研究领域的主要方向。深度卷积神经网络利于提取语义丰富的图像特征,也是深度卷积神经网络在图像处理领域最大的优势。全卷积神经网络FCN-32s[20]通过其自身的多卷积层,自动提取图像上的多层特征,开创了使用端到端训练模型分割图像的先河。但由于FCN-32s设置了较大的卷积核和步长,所得到的肾脏图像分割结果仍然不够精细。对于FCN-32s进行改进,得到全卷积神经网络K-Net来上下采样获取图像特征[21],从而对图像每个像素点进行分类,得到肾脏整体图像的分割图,利用GrowCut算法[22]对肾脏图像中的肾皮质部分进行分割。文献[23]分别训练水平和垂直两个方向上的子模型,通过两个级联子模型,进行图像全局空间相关性的获取,丰富了语义信息,提高了肾脏分割效果。文献[24]利用了金字塔池化模型(PPM),添加到三维全卷积网络,提高对图像多尺度特征提取的能力,对CT图像进行整组处理,在三维图像上实现端到端的学习模型。文献[25]通过AlexNet对肾脏CT图像进行肾脏ROI的选取,使用UNet模型对肾脏ROI的进行有针对性的分割。文献[26]使用CNN检测出CT图像中的肾脏边界,结合边界信息和3D UNet对肾脏区域进行有效的分割,提高了分割准确率。文献[27]提出了SERU模型,利用ResNeXt机制为UNet模型添加了分组和深度可分割卷积,大大减少了模型参数量和加快了网络收敛速度,同时利用SE模块,提升了特征图中的空间相关性,从而改善了分割效果。
目前,绝大多数的肾脏分割算法只实现了肾脏基本的分割,对于肾脏CT图像中细节关键部位,包括:肾皮质、肾盂等存在较为复杂特征的组织还存在一定的分割难度。同时随着CT图像中每个横截面的变化,肾脏部位呈现出尺度上的变化,对于同一组CT图像会因为尺度上的明显变化而导致分割效果明显变差,因此这也是医学图像分割任务上的难点之一。随着临床医学领域对肾脏图像精准分割的需求越来越高,对于CT图像的分割要求也将越来越高。本文研究适于临床医学,提出肾脏图像的高精准分割模型,具有重要的现实意义。
2 本文算法
本文图像分割算法具体流程如下:第一,对图像进行提取以及数据增强;第二,根据所面临的难点,进行UNet网络模型的改进;第三,利用数据集,对多尺度UNet进行训练;最后,将图像输入到训练后的模型得到模型分割图,对于模型分割图,采用数学形态学上的优化来进行细微差异的优化,得到最终分割图。测试结果将在本文实验中提及。
2.1 数据增强
训练数据集数据增强。训练数据多样性是决定网络训练反向传播中收敛速度与效果的重要指标。为了提高网络在CT图像不同情况和噪声下的泛化能力,提高模型分割的准确率,采用一系列的数据增强方法来增加训练集的多样性。数据增强效果如图1所示,分别采用了:(1) 旋转:水平旋转,垂直旋转。图1中显示垂直旋转。(2) 加入高斯噪声,图1中为随机像素点加入了符合均值为5,方差为100的高斯分布的灰度值。(3) 改变亮度,图1为每个像素点的灰度值提高40。(4) 弹性变形,图1为经过弹性系数34,高斯过滤器尺度为7变形。
(a) 原图像 (b) 旋转 (c) 高斯噪声
2.2 多尺度UNet模型
2.2.1UNet图像分割模型
UNet图像分割模型结合了级联(skip connection)和对称采样的思想,分别通过四层的上采样和下采样操作来对图像进行特征的提取,同时每层对应的下采样输出特征图和上采样输出特征图进行级联,能够有效地提取各个层次的特征。因此UNet进行医学图像的分割能够结合低分辨率信息和高分辨率信息,分别提供物体分类识别和精准分割依据。最后将输出特征图由激活函数softmax进行每个像素的分类概率运算。
经过了概率运算,输出图像每个像素点的分类概率,使用分类概率对每个像素点进行分类。最后,预测值与真实值共同输入到交叉熵损失函数中得到每个像素的分类代价。
经过前向传播和代价运算之后,进行反向传播,需要对代价函数以及逐层参数往前求偏导数,更新每层神经网络的权重,从而对其代价函数求最小解。经过上述操作后的神经网络能够起到对图像分割进行学习。
2.2.2Inception模块提取多尺度特征
针对图像处理中物体不同尺度的问题,由文献[28]提出的Inception模块,首次运用在GoogleNet中,在大型图像分类数据集ImageNet[29]上得到很好的分类效果。其结构为卷积神经网络中一种结构上的组合,对于特征图分别进行1×1、3×3、5×5,以及最大池化,得到的四个结果进行通道上的融合,对于特征图中的不同尺度的特征能有效地提取,很大程度上解决了存在尺度差异的问题,从而提高了分割准确度。
2.2.3残差机制
文献[30]提出了能够有效解决神经网络中反向传播过程中梯度消失问题的残差机制。由于深度学习中一般网络参数量和传播层数十分庞大,在训练过程中,图像经过了深度庞大的网络来提取特征,通过反复多次卷积和池化运算,必然会导致特征的严重失真,导致反向传播过程中梯度消失。因此,提出了残差机制和ResNet,具体通过在卷积神经网络中加入残差块,为网络训练中正向传播提供更加细节的图像特征,从而提高传播效率,有效减少梯度消失,提高收敛速度。
2.3 多尺度UNet模型构造
UNet是采用了skip connection以及对称上下采样的全卷积神经网络模型。本文对UNet进行改进得到多尺度UNet网络模型,网络结构如图2所示。
图2 多尺度UNet模型构造图
在UNet网络模型基础上,根据2.2.2节所提到的Inception模块,本文将每一次进行下采样之前加入Inception块,对下采样前的特征图分别进行1×1、3×3、5×5,以及最大池化操作,其中,考虑到3×3和5×5卷积是对尺寸比较大的特征图进行,所以运算时会产生巨大的计算量和参数量,因此在3×3和5×5卷积之前,采用1×1卷积降低特征图的通道数,从而减少计算成本。注意的是,以上3×3和5×5卷积为了保持特征图尺寸,padding参数分别设置为1和2,将4个操作得到的特征图进行拼接融合。这样考虑到了不同范围的感受野,因此可以进行多尺度特征的提取,解决CT图像中尺度差异问题。
根据2.2.3节所提到的残差机制,本文为多尺度UNet网络结构添加了残差块。首先,每层下采样层中进行下采样操作,即进行步长核尺寸为2、步长为2的最大池化,得到下采样块,作为下一层的下采样层的输入(最后一层下采样块作为第一层上采样层输入),同时也作为残差块。其次,当前下采样块和下一层下采样层进行下采样操作之间的特征图进行特征图融合操作,完成本文的残差机制。因此这样将失真程度小的特征图和失真程度大的特征图进行融合,改善深度卷积神经网络中特征图失真问题,为经过多层卷积网络的特征图提供更加低层次,更加细节的特征,同时也加快网络收敛速度。
除此之外,在每个卷积操作后面都进行BatchNormalization[31]操作,称为BN,因为深度神经网络在做非线性转换前的激活输入值的分布,随着不断的训练会逐渐发生偏移,使得原特征空间和目标特征空间分布不一致,影响泛化能力。再者,整体分布会逐渐往非线性函数的取值区间的上下两端移动,所以收敛速度变慢,甚至梯度消失。为了解决上述两个原因,BatchNormalization通过规范化手段将每层网络的神经元输入值分布拉回到均值为0方差为1的标准正态分布,即输入图像所规范化后的分布,其规范化公式如下:
(1)
同时,为了网络更好表达非线性,进行目标任务的拟合,神经网络中需要对每个神经元的输出进行激活操作,其中文献[32]提出了ReLU作为网络的激活函数能够有效防止梯度在反向传播中的消失问题,而LeakyReLU作为ReLU的一种变体,相比于ReLU其对负值输入具有很小的坡度,使得导数不总是为零,解决了ReLU函数接收到负输入时,神经元停止学习的问题。因此,多尺度UNet在每个BN操作之后选用LeakyReLU函数作为激活函数。LeakyReLU函数如下:
(2)
式中:x为输入值,a为一个较为小的实数,范围为(0,1)。
2.4 数学形态学算法优化分割图
经过多尺度UNet网络模型分割的图像,与真实分割图还存在一定的差异,这些差异一般存在分割目标的边缘位置,例如肾脏的肾皮质外围、肾盂等位置存在比较多的细节末梢,是影响分割效果的重点。为了减少这方面的误差,本文引入了数学形态学中的一系列运算以及分水岭算法[33]来对模型分割图像进行优化。其中,闭运算指的是先进行膨胀运算再腐蚀运算。其中,腐蚀运算可以使得目标图像的边界收缩,可以用来消除小且无意义的目标物,运算如下:
AθB={x,y|(B)xy⊆A}
(3)
式中:表示用结构B去腐蚀图像A,即B遍历滑动图像A下的横纵坐标,如果B在图像A的(x,y)处,完全被包含在图像A重叠的区域,则将图像A中(x,y)的值赋值为1,否则为0。
膨胀运算使目标边界向外部扩张,可以填充目标区域内细小的空洞。运算如下:
A⊕B={x,y|(B)xy∩A≠θ}
(4)
式中:表示用结构B去膨胀图像A,即B遍历滑动图像A下的横纵坐标,如果B在图像A的(x,y)处与A的交集不为空,则将图像A中(x,y)的值赋值为1,否则为0。
后处理优化的具体步骤为:(1) 通过阈值处理,将模型分割图由灰度图转化为二值图像。(2) 由于目标区域中可能存在噪声,通过闭合运算,消除目标区域中的噪声。(3) 对图像进行膨胀运算,来增加目标区域,使得分离的目标区域连接在一起,目标区域之外的区域确定为背景区域。(4) 计算目标区域中每个像素点与背景区域的距离。(5) 确定目标区域,在(4)的距离中选出最大的距离与给定的超参数相乘,得到阈值,遍历(4)中的距离,如果超过阈值的像素点视为非目标区域,进一步筛选出目标区域。(6) 使用(3)中的目标区域减去(5)中的目标区域,得到目标区域的边缘区域,即为未知区域。(7) 因为在肾脏CT图像切片中可能存在两边的肾脏,所以对两个分割区域作不同的标记。(8) 对于(7)中标记不同的两个分割区域运用分水岭算法,将标记传入的轮廓作为注水点,对模型分割图像的其他像素点根据分水岭算法规则进行判断,并对每个像素点的区域归属进行划定,直到图像上所有的像素点都被划分为止,从而进行最后的划分修正,提高划分效果。
3 实 验
3.1 实验数据集采集
实验采用grand-challenge中KITS19比赛提供的数据集。KITS19肾脏CT图像数据集是由University of Minnesota在对300例肾癌患者进行部分或者完全切除肾脏肿瘤的过程中,CT扫描所生成的肾脏CT图像以及标准分割图像。由于切片的厚度不同所以会得到CT图像数量不同的图像组,同时考虑到图像组中还存在一定量的全背景图像(即不包含肾脏区域的图像),因此,去除此类图像,减少负例在数据集中的占比,加快对肾脏图像分割的拟合。KITS19数据集总共有210组CT图像,经过图像的提取和上述的负样本筛除,得到6 893幅CT图像,其中,训练集有6 485幅CT图像,测试集有408幅CT图像。
3.2 实验参数配置
在训练多尺度UNet模型过程中,选择mini_batch数目为:2。训练轮次设置为200次,选择初始学习率为0.000 1,其中,在优化器方面,选择Adam优化器,其中优化器的参数为:β1=0.9;β2=0.999;ε=10-8。
实验基于64位的Linux系统ubuntu 16.04版本和NVIDIA GTX Geforce 1080 Ti GPU,采用PyCharm编辑软件以及编译器为Python 3.6版本,采用深度学习框架为PyTorch。
3.3 实验结果及分析
3.3.1实验效果展示
图3给出了CT图像、标准图像、测试集经过模型分割后的模型分割图像,以及对模型分割图像进行数学形态学优化后的最终分割图像。可以看出最终分割图能够得到比较满意的分割结果。
图3 肾脏CT分割图像结果
3.3.2评估指标
Intersection over Union(IoU,均交并比)是语义分割中的标准度量,同时是度量分割任务有效性的标准。其表示目标分割区域正确预测的占比,计算值越大代表分割效果越好。
(5)
式中:TP为正确预测的目标区域;FN为错误预测的非目标区域;FP为错误预测的目标区域。
DSC[34]是一种计算两个集合相似度的函数,同时也是医学图像分割中的常用的量度标准。其计算值越大代表预测结果和真实结果越相似。
(6)
式中:TP为正确预测的目标区域;FN为错误预测的非目标区域;FP为错误预测的目标区域。
需要注意,目标区域在肾脏CT分割任务中为肾脏部分,而非目标区域是非肾脏部分,即背景部分。
3.3.3实验结果分析
为了能够定量分析实验结果以及实现效果,进行消融实验,通过UNet、多尺度UNet以及多尺度UNet+后处理优化三个算法进行测试集的预测。图4直观展示了多尺度UNet和后处理优化算法对原来模型在分割效果上的提升,其中,经过原来模型改造的多尺度UNet,在分割效果上得到了实质的改善,其次,后处理优化在效果上也能提供一定的帮助。
(a) Unet分割图 (b) 多尺度Unet分割图 (c) 多尺度Unet分割图+后处理分割图 (d) 标准分割图图4 消融实验效果对比图
图4中每一行表示对同一图像的不同分割图,矩形框标示出了UNet和多尺度UNet所产生的比较明显的分割误差。由于CT图像的每个横截面存在明显尺度差异的特性,同时UNet模型欠缺解决尺度差异的能力。因此对比图4中(a)、(b)和(d)可以看出UNet分割图呈现出了较大的误差,而在多尺度UNet分割图中正是减少了这一方面的误差,因此多尺度UNet能够解决UNet模型所分割的图像绝大部分的误差。再者,对比图4中(b)、(c)和(d)可以看出多尺度UNet分割图还存在一些细节末端上的噪声或者误差,因此,针对图4中(b)存在非目标区域的小区域噪声,以及目标区域边缘的细节误差,加入了一系列数学形态学方法和基于分水岭的后处理优化,对多尺度UNet中一定的误差进行纠正。
为了进行更好的定量分析,根据预测分割图和真实分割图,分别计算IoU、DSC两个比较广泛应用的模型评估指标,同时计算出对于整个测试集的IoU平均值,DSC平均值,简称MIoU、MDSC。表1给出了UNet、多尺度UNet以及多尺度UNet+后处理优化三个方法的MIoU以及MDSC评估指标的比较。可以看出,多尺度UNet模型的改良对图像分割效果在很大程度上有所帮助。同时,在多尺度UNet模型基础上,加入后处理优化,能够为模型分割图去除噪声,对最后的分割结果起到一定的改善作用。
表1 消融实验结果对比(%)
将本论文方法与其他6种方法进行对比,包括:2.5D Residual UNet[35]、边界3D UNet[26]、Hyper Vision Net[36]、AlexNet+UNet[25]、SERU[27]、3D UNet[37]。表2给出了包含后本文算法在内的7种方法的准确率比较。本文在多尺度UNet模型基础上能够有效地对肾脏CT图像进行分割,同时在和其他方法比较中也有一定的优势。
表2 CT图像分割结果对比(%)
4 结 语
随着医学技术的发展,尤其是肾癌、肾结石等疾病微创介入治疗手术的广泛开展,临床医学对准确的肾脏组织分割的精准性要求越来越高,肾脏图像的精准分割越来越具有强大的市场价值。近年来,随着深度学习技术的发展,由于网络与机器硬件的速度越来越快普及,以及越来越多的医学图像数据集的出现,这些极大地推动了深度学习在医学图像处理的快速发展。本文在UNet模型的基础上提出了基于语义分割的多尺度UNet模型,通过对图像进行像素级的分类,模型很好地适应了肾脏CT图像不同尺度和不同细节特征的特点,有效地实现了对肾脏图像完整的语义分割。同时为了得到更精准的肾脏组织细节图像,本文模型最后更结合了数学形态学和分水岭方法,有效地减少了肾脏图像边缘位置和关键部位的噪声干扰。本文使用KITS19竞赛中的肾脏CT图像对模型进行训练并测试,实验结果表明,本文算法能完整地对图像肾脏部位精准分割,在精确度上优于现在主流的一些算法,说明本文算法能为临床肾脏疾病诊断提供依据。接下来的工作包括:进一步优化算法,使其适应更多环境下采集到的肾脏图像的精准分割;更进一步地优化CNN网络结构,使后部的数学形态学功能融进CNN网络,从而实现端对端模型。