基于水平集和形状描述符的腹部CT 序列肝脏自动分割
2021-04-18李阳赵于前廖苗廖胜辉杨振
李阳 赵于前 廖苗廖胜辉杨振
我国是肝脏疾病大国,世界范围内约有一半以上的肝脏疾病新病例和因罹患肝脏疾病而死亡的案例发生在中国[1].目前主要的肝脏疾病治疗方法包括肝脏切除、活体肝移植和立体定向放疗等.计算机辅助诊断和手术规划是肝脏疾病治疗的重要环节.腹部CT(Computed Tomography,CT)图像肝脏的准确分割是计算机辅助诊断和手术规划的基础,可为肝脏病灶分析、肝脏血管疾病诊断[2]、手术导航和放疗计划制定等提供技术支持.由于腹部CT序列图像切片数量大[3],专家手动勾画肝脏区域耗时且存在主观性,因此,研究腹部CT序列图像肝脏的自动分割方法具有重大意义.
由于肝脏解剖结构的复杂性,不同个体肝脏的多样性,以及成像时受噪声、造影剂等影响,腹部CT序列肝脏分割面临巨大挑战.目前,许多文献提出了不同的腹部CT序列肝脏分割方法.文献[4]提出了一种基于图割和边缘行进的腹部CT图像肝脏分割方法.首先,基于肝脏的先验知识建立肝脏的亮度模型和外观模型,并利用图割算法分割肝脏初始切片,然后,综合肝脏的位置特征以迭代方式分割整个腹部CT序列,并采用边缘行进法对欠分割的肝脏主血管进行补偿.由于成像过程中各种因素造成的灰度异质影响医学图像分割精度,文献[5]提出一种融合灰度偏移场的水平集方法,该方法可有效提高当图像存在灰度异质时的分割精度,且抗噪性强.文献[6]首先对原始腹部CT图像进行非线性映射并设置肝脏感兴趣区域,然后根据拟蒙特卡罗(Quasi-monte carlo)方法选取肝脏种子点,基于图像的梯度信息构建区域生长准则,实现肝脏粗分割,最后,应用数学形态学方法优化肝脏分割结果.文献[7]首先应用快速行进水平集获取肝脏的初始区域,然后采用阈值水平集方法对肝脏区域进行精确分割.该方法在获取肝脏初始区域前需手动选取肝脏种子点,不同的种子点选取方式会对分割结果造成一定的影响.针对因病态肝脏导致的欠分割和由于灰度相似性导致的过分割,文献[8]提出了一种基于稀疏表示的肝脏形状模型.首先,根据正常的标准肝脏数据建立肝脏字典,然后基于标准肝脏数据的稀疏表示校正肝脏三维形状,实现肝脏分割.该方法要求字典中的肝脏原子均为标准肝脏形状,且所需原子数量越大分割结果越准确.文献[9]提出一种基于判别字典学习的腹部CT图像多器官分割方法,该方法首先基于多器官训练图谱获得具有重构能力的字典及分类器,根据目标体素的概率标签生成多器官的概率图谱,然后将概率图谱融入图割能量函数,实现肝脏等腹部器官的分割.该方法需要大量的数据建立训练图谱,耗时较长,对于形状异常的器官分割效果不理想.文献[10]综合深度监督机制与全卷积神经网络(Full convolution network,FCN),提出了一种基于深度监督网络(Deeply supervised network,DSN)的肝脏分割方法.在训练过程中,基于深度监督层对FCN第一次和第二次池化后的结果进行反卷积,得到肝脏区域的概率预测,并根据其预测误差和FCN 预测误差训练DSN;在测试过程中,将待分割CT图像输入DSN,利用全连接条件随机场对肝脏分割结果进行优化.基于神经网络的肝脏分割方法需要大量肝脏数据进行网络训练,训练时间长,分割结果易受训练数据质量的影响[11−12].
本文提出了一种新的基于水平集和形状描述符的腹部CT序列肝脏分割方法.首先,对CT图像进行预处理;然后,引入灰度偏移场构建水平集能量函数,在进行序列分割时,将相邻切片肝脏分割结果作为位置约束;最后,基于形状描述符和瓶颈率优化肝脏边缘.预处理及位置约束可减小与肝脏不相关的脊椎、肋骨、肌肉、脾脏和胰腺等对肝脏分割的影响;灰度偏移场可减少噪声和灰度异质对分割准确性和鲁棒性的影响;边缘优化可去除因灰度重叠造成的肝脏过分割区域,进一步提高分割精度.
1 算法描述
首先通过预处理去除脊柱、肋骨和肌肉等组织,然后选取肝脏初始切片,利用灰度偏移场构建水平集能量函数,基于梯度下降法最小化水平集能量函数,获得初始切片肝脏粗分割结果,最后,以初始切片为起点,利用相邻切片分割结果作为位置约束,分别向上、向下对整个腹部CT序列进行迭代分割.对于非肝裂的切片,保留水平集演化的最大连通域作为肝脏粗分割结果;对于肝裂切片,对水平集演化结果进行面积滤波以获得肝脏粗分割结果.考虑到灰度重叠会造成肝脏过分割,为避免在整个序列迭代分割时造成分割误差累积,在每次完成肝脏粗分割后优化肝脏边缘,去除过分割区域.具体算法流程如图1所示.
图1 算法流程图Fig.1 Flowchart of the proposed method
1.1 预处理
由于腹部CT图像复杂,肋骨、脊柱和肌肉等不相关器官和组织会对肝脏分割精度产生影响[4].为提高分割的准确性,本文首先基于腹部序列图像先验知识,根据脊柱和肋骨的灰度和位置信息构建最小凸多边形掩模,并结合形态学重构去除肋骨和脊椎.然后,根据肝脏灰度的高斯分布选取阈值,去除肌肉及其他灰度低于肝脏的组织和器官,完成预处理.肝脏CT图像预处理结果如图2所示,其中第一行为原始腹部CT图像,第二行为相应的预处理结果.
1.2 基于水平集的肝脏粗分割
经预处理去除肋骨、脊椎以及与肝脏相邻且灰度略低于肝脏灰度的肌肉等器官和组织后,首先对肝脏初始切片进行分割,该切片为肝脏面积相对较大且与其他器官和组织尽可能分离的切片.
由于腹部CT图像普遍存在受噪声干扰严重且灰度不均匀现象,它们对分割精度造成了一定的影响.本文引入一种灰度偏移场水平集方法[5],初始切片的能量函数可构建为:
其中,L(φ)=|∇H(φ)|dx,φ为水平集函数,H(·)为Heaviside函数,L(φ)为水平集函数的零水 平集曲线长度,即能量函数的周长项;Rp(φ)=为距离正则化项;ε(φ,c,b)为数据项,其定义如下所述.
考虑到腹部CT图像中存在噪声且灰度分布不均,CT图像I(x)可用衡量I(x)灰度不均匀性的偏移场b(x)与其真实的灰度J(x)以及噪声n(x)表示,即I(x)=b(x)J(x)+n(x).由于偏移场b(x)变化缓慢,且图像被分为目标和背景两个独立的区域,即Ω1和Ω2,每个区域中的真实平均灰度可用常数ccc=(c1,c2)近似代替.设yyy为CT图像的像素点,以y为圆心,以ρ为半径的区域为像素点y的邻域,即Oy={x:|y−x|≤ρ},对于在该邻域中的像素点x,有J(x)=ci(i=1,2),b(x)=b(y),即在该圆形邻域中,CT图像I(x)可近似为b(y)ci(i=1,2).
根据聚类思想,以b(yyy)ci为聚类中心,定义局部灰度能量函数,|I(x)−b(y)ci|2dx,其中,G(y−x)为截断高斯函数,当x/∈Oy时,G(y−x)=0,当x∈Oy时,σ为高斯函数方差,a为归一化常数,且G(y−x)dx=1.εy值越小,说明在圆形邻域Oy中,分割效果越好.为了分割整幅图像,需使图像Ω中所有y对应的局部灰度能量函数εy均达到最小,即Ωεydy达到最小.为解决该问题,利用水平集函数进行能量泛函求解,即利用零水平集的内外区域M1(φ(x))=H(φ)和M2(φ(x))=1−H(φ)表示Ω1和Ω2.综上所述,ε(φ,c,b)可定义为:
图2 肝脏CT图像预处理.第一行:原始腹部CT图像;第二行:预处理结果图像Fig.2 Pre-processing for liver CT image.First row:Original CT images;Second row:Results of pre-processing
应用梯度下降法,通过迭代更新φ、c和b,实现水平集能量函数F(φ,c,b)的最小化,获得肝脏粗分割结果.具体算法流程为:
1)以相邻切片分割结果为位置约束,基于阈值分割和形态学腐蚀获得水平集初始轮廓;初始化ccc及偏移场b.
2)更新变量c=(c1,c2);
其中,ui=Mi(φ(y)).
3)根据梯度下降法求解水平集函数φ,实现水平集能量函数最小化;
4)更新灰度偏移场b:
5)判断水平集能量函数是否最小化或达到最大迭代次数.是,输出第3)步水平集演化结果,作为肝脏候选区域;否,返回第2)步.
考虑到初始切片水平集演化结果可能包含与肝脏灰度接近的其他组织或器官,本文保留水平集演化得到的最大连通域作为初始切片的肝脏粗分割结果,再进行边缘优化得到最终分割结果.
初始切片分割完毕后,以初始切片为起点,分别向上、向下迭代分割剩余CT序列切片.考虑到腹部CT序列图像中,相邻切片肝脏位置及大小不会发生显著变化,为避免肾脏等与肝脏灰度相似的器官和组织对肝脏分割精度的影响,在水平集能量函数的数据项中引入相邻切片分割结果作为位置约束,此时,水平集能量函数可表示为:
其中,flj为第j幅腹部CT图像肝脏分割位置约束,Ij−1和Ij+1为相邻切片肝脏分割结果.
针对腹部CT序列中的非肝裂图像,保留水平集演化所得的最大连通域作为肝脏粗分割结果;对于腹部CT序列中的肝裂图像,对水平集演化结果进行面积滤波,保留面积大于200像素的区域作为肝脏粗分割结果.
由于腹部CT图像普遍存在噪声干扰,肝脏血管及病变组织会导致肝脏灰度分布不均,对肝脏分割精度造成一定的影响.本文采用偏移场估计模型,可有效克服图像噪声和灰度分布不均现象,如图3所示.其中,图3(a)为随机选取的两幅腹部CT图像,图3(b)为以相邻切片肝脏分割结果作为位置约束获得的肝脏候选区域,图3(c)为偏移场,图3(d)为经偏移场校正后的图像.可以看出,经偏移场校正后,可有效减少由于病变肝脏和血管组织导致的灰度分布不均造成的影响.
图4为基于水平集的肝脏粗分割过程,其中图4(a)为预处理后的CT图像,图4(b)和图4(c)中的白色闭合轮廓分别为水平集演化初始轮廓及肝脏粗分割结果.从图4(c)可以看出,若肝脏与相邻器官或组织存在灰度重叠,会导致肝脏边界泄露,造成过分割.为避免在迭代分割时分割误差的累积,在获得每张切片肝脏粗分割结果后需要对肝脏边缘进行优化以去除过分割.
1.3 基于形状描述符和瓶颈率的边缘优化
为解决由于肝脏边界泄露造成的过分割问题,本文提出一种基于形状描述符[13]和瓶颈率的肝脏边缘优化方法.
首先,提取肝脏分割结果的边缘并进行多边形近似[4],得到肝脏边缘特征点集P={p1,p2,···,pk};然后,以特征点pi(i=1,2,···,k)为圆心,以r为半径画圆oi,根据圆oi构建局部形状描述符S1(pi)和S2(pi):
图3 基于偏移场的灰度校正.(a)预处理后的腹部CT图像;(b)位置约束掩模中的肝脏切片;(c)偏移场;(d)偏移场校正后的切片图像Fig.3 Bias field based intensity correction.(a)Pre-processed abdominal CT images;(b)Liver slices within masks generated by location constraints;(c)Bias fields;(d)Liver slices corrected by bias felds
图4 基于水平集的肝脏粗分割.(a)预处理后的腹部CT原始图像;(b)水平集演化初始轮廓(白色曲线);(c)肝脏粗分割结果(白色曲线)Fig.4 Initial liver segmentation based on level set.(a)Preprocessed CT image;(b)Initial contour of level set evolution(white curve);(c)Initial segmentation result(white curve)
考虑到候选关键点集pj(j=1,2,···,n)中的点并非全为过分割关键点,如图6(a)中白色点所示.为了筛选出正确的过分割关键点对,本文计算欧氏距离小于40的任意两个候选关键点的瓶颈率r(pu,pv)[4].根据过分割的几何特征,若r(pu,pv)小于阈值Tr,则(pu,pv)为一对过分割关键点对,以直线将其连接,去除过分割.
其中,dis(pu,pv)为点pu和pv的欧氏距离;min{length(pu,pv),length(pv,pu)}为pu和pv的最短路径距离.实验中,通过多次尝试归纳,选取Tr=0.6.图6(b)中白色点表示关键点对,图6(c)为去除过分割完成边缘优化后的结果.图7 为随机选取的三张肝脏CT切片粗分割结果及其边缘优化结果.
图5 形状描述符示意图Fig.5 Schematic diagram of shape descriptor
2 实验结果与分析
2.1 实验数据
本文利用中南大学湘雅医院提供的XHCSU14数据库[4]和Sliver07 数据库[11]中的训练集进行实验.其中,XHCSU14数据库中包含20个腹部CT序列,序列的层间距为1.0 mm和1.5 mm;Sliver07数据库训练集包含20个腹部CT序列,序列层间距分布在0.5 mm至3.0 mm的范围内,该数据集中还包含一个存在严重病变的肝脏.此外,利用3Dircadb数据库和LiTS数据库中十个较为健康的肝脏序列验证本文边缘优化方法的泛化能力.
2.2 结果比较与分析
图8为从XHCSU14数据库和Sliver07 数据库不同腹部CT序列中随机挑选的8张切片的分割结果,其中,第一行来自XHCSU14数据库,第三行来自Sliver07 数据库.图中黑色曲线为本文算法肝脏分割结果,白色曲线为专家手动标定的肝脏区域.从图8可以看出,本文方法可准确分割受噪声污染严重且灰度分布不均匀的肝脏,对出现肝裂且形状不规则的肝脏也可获得很好的分割结果.此外,本文方法还保留了肝脏边缘的主血管区域,有利于后续肝脏血管的分割和医师术前规划.
图6 肝脏边缘优化.(a)过分割候选关键点(白色点);(b)过分割关键点对(白色点);(c)边缘优化结果Fig.6 Liver boundary ref inement.(a)Candidate points of over-segmented region(white points);(b)Right key points of over-segmented region(white points);(c)The ref ined liver boundary
图7 基于形状描述符和瓶颈率的边缘优化.第一行:肝脏粗分割结果;第二行:肝脏边缘优化结果Fig.7 Examples of boundary ref inement based on shape descriptor and bottleneck rate.First row:Initial liver segmentation results;Second row:Results of liver boundary ref inement
图8 部分切片肝脏分割结果.第一行:XHCSU14 数据库肝脏分割结果;第三行:Sliver07 数据库肝脏分割果;第二和第四行:肝脏分割果局部放大图.(白色曲线表示专家标记肝脏区域,黑色曲线表示本文算法肝脏分割结果)Fig.8 Some examples of liver segmentation results.First and third rows:Examples of liver segmentation results on XHCSU14 and Sliver07 databases,respectively;Second and fourth rows:Partial enlarged liver segmentation results(The white and black curves are segmentation results of experts and the proposed method,respectively)
本文基于形状描述符的边缘优化所用相关参数TS1、TS2和Tr均为多次实验归纳所得,为验证边缘优化方法的泛化能力,本文在LiTS数据库和3Dircadb数据库中各选取五个无严重病变腹部CT肝脏序列对边缘优化参数进行测试,并统计了以上十个序列边缘优化前后的Dice系数,其计算公式如式(11)所示,其中,S为算法分割结果,G为专家标定结果.边缘优化前后的Dice系数均值由0.942提高至0.950,可以看出,采用实验归纳所得参数进行边缘优化后,肝脏分割精度得到了提高.
为分析每个序列中各个切片的分割结果,计算腹部CT序列图像肝脏分割结果的假阳性率(FPR)、假阴性率(FNR)和Dice系数.FPR 为将背景误分为肝脏的像素数目与专家手动分割的标准肝脏区域像素数目的比值,FNR 为将肝脏误分为背景的像素数目与专家手动分割的标准肝脏区域像素数目的比值,Dice系数反映算法分割结果与专家标定结果的重叠率.FPR 和FNR 的值越小,同时Dice值越大,则算法的分割性能越好.
为显示各个序列图像分割结果FPR、FNR 和Dice系数的中位数、最大值和最小值,我们给出了FPR、FNR 和Dice系数的箱形图.图9和10分别显示了XHCSU14数据库和Sliver07 数据库肝脏分割结果FPR 和FNR 的分布情况.从图9和10可以看出,除Sliver07 中第16个存在严重肝脏病变的序列外,其余39个序列肝脏分割结果的FPR 和FNR 均分布在较窄范围内,且它们的最大值都不超过0.2,最小值都接近于0,上四分位和下四分位之间的距离较小,且中位数偏向下四分位,说明以上39个序列肝脏分割结果的FPR 和FNR 分布较为集中,且分布更偏向于FPR 和FNR 数值较小的下四分位.图11显示了XHCSU14和Sliver07 数据库分割结果的Dice系数分布,除Sliver07 数据库第16个腹部CT序列外,其他序列的Dice系数都分布在较窄范围内,上四分位和下四分位之间的距离较小,且中位数偏向上四分位,说明以上39个序列肝脏分割结果的Dice系数分布集中,且分布更偏向于Dice值较大的上四分位.以上分析表明本文算法对非严重病变肝脏具有较高的分割精度,鲁棒性强.
从图10(b)和图11(b)还可以看出Sliver07 数据库中第16个腹部CT序列的FNR 和Dice分布范围较宽,上四分位和下四分位之间的距离较大,且其FNR 最大值大于0.5,Dice系数最小值小于0.7,说明该序列肝脏分割结果的FNR 和Dice分布较为分散,主要是因为本文算法对该序列部分切片存在较为严重的欠分割,如图12所示.
为进一步分析本文方法的分割性能,采用文献[14]中提出的体积重叠误差(Volumetric overlap error,VOE)、相对体积差(Relative volume dif ference,RVD)、平均对称表面距离(Average symmetric surface distance,ASD)、均方根对称表面距离(Root mean square symmetric surface distance,RMSD)以及最大对称表面距离(Maximum symmetric surface distance,MSD)对XHCSU14数据库中的20个腹部CT序列和Sliver07 数据库中的20个腹部CT序列肝脏分割结果进行量化评估,并与其他方法进行比较,结果如表1∼表3所示.其中,文献[4,6−7]为传统的肝脏分割方法,文献[10,15−16]为基于深度学习的肝脏分割方法.文献>[15]利用3D CNN获得肝脏概率图谱,并利用其构建图割能量函数完成肝脏分割;文献[16]利用三维卷积神经网络(3D Convolutional Neural Network,3D CNN)获得肝脏初分割结果,将其作为形状先验构建能量函数,优化肝脏分割结果.
从表1和表2可以看出,相较于传统肝脏分割方法[4,6−7],本文分割方法所得肝脏分割结果的以上各项评价指标均具有较小的均值,说明本文算法分割性能好,准确率高.对于XHCSU14数据库,本文方法肝脏分割结果的各项评价指标标准差都较小,说明该算法鲁棒性强.同时,Sliver07 数据库分割结果的标准差比XHCSU14数据库略大,主要原因是Sliver07 数据库中第16个序列为严重病变肝脏,本文方法分割误差较大,其VOE、RVD、ASD、RMSD和MSD值分别达到16.3、−11.6、2.7、6.8和54.9,远远高于其他序列.从表3可以看出本文方法获得的VOE 和RVD平均值小于文献[15],主要由于文献[15]利用肝脏概率图谱构建图割函数,对于肝脏血管造成的灰度异质具有局限性,而本文分割结果可有效保留肝脏血管;相较于文献[10,16],本文各项误差指标略高,主要由于文献[10,16]可有效分割病变肝脏,而本文对于严重病变肝脏存在欠分割,如图12所示.另外,基于深度学习的方法对训练数据及硬件要求较高,网络训练的优劣会直接影响肝脏分割结果.
图9 XHCSU14 数据库肝脏分割结果的FPR 和FNR 分布图.(a)FPR 分布图;(b)FNR 分布图Fig.9 FPR and FNR distributions of segmentation results for XHCSU14 database.(a)FPR distribution;(b)FNR distribution
图10 Sliver07 数据库肝脏分割结果的FPR 和FNR 分布图.(a)FPR 分布图;(b)FNR 分布图Fig.10 FPR and FNR distributions of segmentation results for Sliver07 database.(a)FPR distribution;(b)FNR distribution
图11 XHCSU14数据库和Sliver07 数据库Dice 系数分布图.(a)XHCSU14 数据库肝脏分割结果Dice系数分布图;(b)Sliver07 数据库肝脏分割结果Dice系数分布图Fig.11 Dice coef cients distributions for XHCSU14 and Sliver07 databases,respectively.(a)The Dice similar coef cients distribution of XHCSU14 database;(b)The Dice similar coef ficients distribution of Sliver07 database
图12 Sliver07 数据库病变肝脏切片分割结果.黑色曲线表示本文算法分割结果,白色曲线表示专家手工标记结果Fig.12 Liver segmentation results of slices with severe hepatic lesions.The black and white curve represents segmentation results by the proposed method and experts,respectively
表1 XHCSU14数据库分割性能比较(均值±标准差)Table 1 Segmentation performance comparison on XHCSU14 database(mean±std)
表2 Sliver07 数据库分割性能比较(均值±标准差)Table 2 Segmentation performance comparison on Sliver07 database(mean±std)
表3 Sliver07 数据库分割性能比较(均值)Table 3 Segmentation performance comparison on Sliver07 database(mean)
3 总结与展望
本文提出了一种基于水平集和形状描述符的腹部CT序列图像肝脏自动分割方法.本文通过预处理及位置约束能有效减小肌肉、胰腺、脾脏等组织和器官对分割结果的影响;由于将灰度偏移场引入水平集能量函数,在水平集演化时对原始腹部CT序列图像进行灰度校正,可减小噪声和肝脏灰度分布不均对分割准确性和鲁棒性的影响,且能避免位于肝脏边缘肝脏主血管的欠分割;进行肝脏边缘优化可解决由于灰度重叠导致的被分割肝脏形状异常问题.以XHCSU14和Sliver07 数据库中的40个腹部CT序列图像为实验对象,并与其他算法进行比较,通过分析分割结果的FPR、FNR 值和Dice系数,以及VOE、RVD、ASD、RMSD、MSD等评价指标,表明了本文算法分割准精度高,鲁棒性强.针对存在严重病变的肝脏,由于本文算法在预处理过程中会丢失部分病变组织信息,易造成病变部位欠分割,为解决该问题,未来考虑基于字典学习构建肝脏结构模型,将其融入能量函数中以解决肝脏欠分割问题.