基于三维全卷积神经网络的肝脏血管分割

2022-11-07 10:49:26付美涵
计算机应用与软件 2022年10期
关键词:体素分辨率卷积

胡 英 付美涵,2

1(大连海事大学船舶电气工程学院 辽宁 大连 116000) 2(东北大学医学影像智能计算教育部重点实验室 辽宁 沈阳 110000)

0 引 言

近几年来,肝癌已成为严重威胁人类健康的疾病之一且有较高的患病率和复发率[1]。目前,肝脏的计算机辅助诊断和肝介入手术是诊断和治疗肝脏肿瘤的有效方法,因此,掌握肝脏和肝脏血管的形态结构是诊断和治疗肝癌的关键步骤。由于肝脏血管与周围组织对比度低、形状不规则、CT影像中含有高噪声等原因,使得肝脏血管的分割十分困难[2],而通过人工手动分割肝脏血管费时费力,且比较依靠专家的经验与技能,不同专家之间分割结果差异较大。因此,临床上急需一种自动、准确、高效的肝脏血管分割算法。

传统的肝脏血管分割主要方法有阈值法、图像滤波法、形变算法、跟踪算法和机器学习算法等。符晓珠等[3]提出基于分水岭自适应阈值算法,该算法可以自动选取肝脏血管的阈值进行分割,但由于不同CT影像之间阈值差别较大,所以很难使用统一阈值分割。图像滤波法,主要用Hessian滤波器对呈现树状结构的肝脏血管进行特征提取,进而对肝脏血管进行多尺度增强[4-8],但该算法往往需要结合区域生长、图割和形态学等方法,对具有高噪声的图像分割效果较差,且需要调整大量的参数,较为烦琐。形变算法中如水平集方法[9-10],需选取初始种子点,若初始种子点定位不准确,则会出现欠分割或者过分割的问题。跟踪算法基于预定的血管模型进行分割,通常与管状结构测量[11]、匹配滤波器[12]和形态学重建[13]等方法相结合。上述算法往往需要用户进行交互,无法实现自动分割。Zeng等[14]提出了基于机器学习的肝脏血管分割算法,通过三个典型滤波器提取肝脏血管的结构特征,再应用机器学习的相关知识对血管分类。此方法中,需要详尽地设计肝血管的特征,平衡不同的参数。

近几年,深度卷积网络在医学图像分割方面取得了令人瞩目的成就,这些网络可以自动地学习图像中复杂的特征,并对目标进行分类。Kitrungrotsakul等[15]利用三个具有共享核的深度卷积网络(DNN),从CT影像数据的不同平面上提取肝血管特征,但该网络无法分割差异较大数据。由于肝脏血管形状不规则、分支形态细小,且开源标注数据有限,数据集中前景与背景像素比例失衡,导致训练容易陷入局部最优值,这使得常规深度卷积网络分割肝脏血管很困难。文献[16]提出了一种对称的全卷积网络U-Net,该网络包含编码器-解码器,在医学图像分割方面取得了良好的效果。3DU-Net[17]和V-Net[18]是针对三维生物医学影像分割而设计的一种密集全卷积网络。Yu等[19]将ResNet[20]网络中的残差结构块引入到3DU-Net中,构建了一种新的残差3DU-Net,用于从CT影像中分割肝脏血管。

V-Net相比于3D-Unet在网络上增加了残差结构并且使用卷积层代替池化层,该网络能够在训练样本少、标注不完全的情况下,实现端到端分割。V-Net网络结构可分为解码器和编码器两部分,通过跳跃连接结构,将编码器的特征映射到解码器中,弥补解码器上采样过程中丢失的空间信息,尽管该种结构在一定程度上保留了损失的空间特征,但由于肝脏血管与周围的组织相似度较高,若想准确分割,仍需加强网络的定位能力。V-Net使用了一种基于骰子系数的新损失函数[18](Dice Loss),用以减少前景和背景比例失衡带来的影响,分割结果虽有改善,但仍无法准确分割小目标。

为了实现肝脏血管的准确分割,本文将V-Net作为肝脏血管分割的基础网络结构,并在此基础上进行了优化,改进如下:(1) 更改网络结构,并在跳跃连接过程中引入金字塔卷积块,用于融合局部和全局图像内容,减少信息丢失。(2) 在网络中引入多分辨率深度监督,将肝脏血管分割为多分辨率特征图,即视为多任务学习,不同监督路径参数独立更新互不干扰,使每条路径的训练更加有效,进而提高模型鲁棒性,并将不同分辨率特征图组合,用于输出最终的预测结果。(3) 为了解决前景与背景体素高度不平衡的问题,采用Tversky损失函数[21]。

1 相关工作

1.1 V-Net网络框架的改进

原始V-Net是一种含有五个分辨率层的密集型对称网络,左侧的编码器用于从图像中提取特征,右侧的解码器通过跳跃连接将编码路径的信息与上采样的多尺度特征图信息结合,最终还原到原始分辨率,并在此基础上进行逐像素分类。为防止训练过程出现过拟合现象,并降低计算量,本文使用3×3×3的卷积核替换原始网络中5×5×5的卷积核,PReLU激活函数应用于整个网络。为了防止网络过拟合,在每层的残差结构末端添加dropout层。

本文改进后的网络结构如图1所示,左侧编码器和右侧解码器各包含四层网络结构,原始V-Net网络在编码器中多次使用步长为2的2×2×2卷积核对特征图进行下采样。下采样虽然可以增加感受野,但同时也降低了空间分辨率,从而导致特征图细节信息丢失。因此本文删除原始V-Net编码器中最后一层,并在编码器的第四层中引入空洞卷积,用以弥补因下采样层减少而造成的特征图感受野降低的问题。扩充后的卷积核计算如下:

kd=k+(k-1)(r-1)

(1)

式中:k为原卷积核大小;r为膨胀率,三个空洞卷积中膨胀率分别为3、4、5。空洞卷积操作可在不使用下采样缩小特征图的情况下,增加感受野,且通过调整空洞卷积中的膨胀率值,可提取特征图中不同尺度的特征信息。沿编码路径中每个连续层将特征通道的数量加倍,以便更准确和充分地学习深度特征。在解码路径中每一层都使用将特征通道数量减半、步长为2的2×2×2反卷积进行上采样。最后,在输出层使用1×1×1卷积来调整特征映射的通道数目。

1.2 金字塔卷积块

语义分割是像素级别的分类,需要逐像素定位再分类。肝脏血管错综复杂且与周围组织对比度低,从而需要增强网络的分类与定位能力。文献[22]指出,大核卷积除了具有固有的空间定位能力外,还可以提高网络的体素分类能力。为了防止在网络主体中使用大卷积核造成网络参数过多而导致网络过拟合,本文在每层水平连接过程中引入金字塔卷积块,连接位置如图2所示。金字塔卷积块具体结构如图3所示,采用3×3×3、5×5×5和7×7×7卷积块并行构造。同时加入残差结构,并在残差结构后添加1×1×1卷积,残差结构公式如下:

(2)

从编码器输出的特征经过金字塔卷积块传播到解码器中,有助于网络从不同尺度捕获肝脏血管的空间特征信息,以产生更多的鉴别特征。不同尺度的卷积可有效融合局部和全局图像内容,并减少信息丢失,进而加强网络的定位能力。

1.3 多分辨率深度监督

文献[23]中指出深度监督机制可以有效缓解梯度爆炸或消失现象,加快网络收敛速度,此外,还可以作为早期隐藏层的特征正则化方法,防止过拟合,增加网络泛化能力。

本文中的深度监督可以被看作为在网络从低层到高层的不同隐藏层中输出不同分辨率特征图,即将肝脏血管的分割任务视为多任务学习过程。最终的预测结果为每层输出的特征图融合后的结果,经多尺度特征图融合后的预测结果包含更多隐藏层的细节信息,从而提高网络整体的分割精度。如图2所示,与常规的深度监督不同,多任务深度监督可对多条路径不同分辨率的特征图进行监督:在4层网络结构中解码器每层特征图通过1×1×1卷积降维,除最下层外,其余三层每层特征图经过Softmax后输出的结果,将与通过三线性插值下采样得到的相同分辨率的标签计算损失值,即多条路径各自计算损失值并更新权重,互不干扰。除第一层的输出层外,再将降维的特征图进行三线性插值上采样与上一层降维后的特征图融合,以此类推,生成最终特征图,经过Softmax层后生成最终预测结果。引入多分辨率深度监督总损失函数表示如下:

(3)

式中:Lall为融合后的损失函数;Ld为第d层损失函数。因为多分辨率深度监督使肝脏血管分割成为多任务学习过程,每条路径的参数更新同等重要,所以不同监督路径的损失权重应相等。

由于每个路径有各自分辨率的训练目标,不同监督路径的参数随机初始化,参数单独更新而不互相干扰,防止网络陷入相同的局部最优值,使每条路径的训练都有助于网络更好的语义表达。同时,网络对不同分辨率的特征图融合可以学习到多级上下文信息,有助于细分预测结果,使网络具有分割细小肝脏血管的潜力。

1.4 损失函数

为了应对类别不均衡情况,本文选择Tversky损失函数。Tversky定义为:

(4)

式中:P是预测标签;G是注释标签;|P∩G|表示正确分类的前景体素数量;|P-G|表示假阳性即过度分割体素数量;|G-P|表示假阴性即欠分割体素数量;|P-G|+|G-P|代表所有错误分类体素数量。其中,通过调整α和β可以控制假阳性和假阴性之间的权衡。Tversky损失函数定义公式如下:

(5)

式中:在Softmax层的输出中,p0i代表体素i属于前景(肝血管)的概率;p1i代表体素i属于背景(非肝脏血管)的概率;g0i和g1i分别代表标签中前景和背景体素i的标记,其值分别为1和0。式(5)中关于p0i和p1i的损失梯度可计算为:

(6)

(7)

Tversky损失函数不需要平衡训练的权重,通过调整超参数α和β,可以控制假阳性和假阴性之间的权衡。经实验验证,α=0.3、β=0.7时效果最佳,分割精度最高。

1.5 后处理

后处理即对网络预测出的肝脏血管的进一步处理。计算每个连通域的体积,为了防止不连通的血管被剔除,通过体积判断除去小体积噪声(小于180 mm3)。通过上述操作可以有效减少分割中的错误分类。经后处理操作前后的对比如图4所示。

2 实 验

2.1 实验环境与数据集

本文算法基于Python3.7和PyTorch实现。PC硬件配置为Intel(R) Xeon(R) Silver 4110 CPU @ 2.10 GHz和NVIDIA Tesla T4 GPU(16 GB内存)。

实验数据选用公开的CT影像数据集3Dircadb,该数据集共包含20例不同肝脏血管结构的增强CT影像。每例数据像素间距0.56~0.87 mm,切片厚度为1~4 mm,切片数目从64到502层不等。在20例数据中选取12例作为训练数据,8例作为测试数据。所选的训练集具有清晰、多样的肝血管结构,同时与肝脏具有不同强度的对比度。

2.2 数据预处理

在训练开始前,需对数据进行预处理操作,本文预处理包括以下三步:(1) 将CT值限于[-200,200]HU,以集中肝脏强度范围。(2) 通过样条插值方式将切片厚度统一为1.6 mm,并保持输入图像分辨率,保持图像原始分辨率可避免因重采样而产生的伪影误差。(3) 从CT图像中裁剪出肝脏区域,并将其统一裁剪为256×256×48大小,只采用包含血管的切片。(4) 为了充分利用现有标签数据,通过旋转和镜像操作增加数据量,同时以5为滑动步长一组数据连续取多个48片进行训练。

2.3 参数设置

本文在V-Net网络训练中选择典型的Adam优化器,因为训练样本较少,为了防止过拟合提高模型的泛化能力,除了数据增强外本文还在网络中每层的残差结构末端加入了dropout层,参数设置为0.5。初始学习率为0.000 1,考虑到计算资源,输入网络的批量大小设置为1。模型训练时长约为20 h,8个测试数据的测试时间在8.38~24.67 s之间,所有测试集的平均测试时间为12.31 s。

2.4 评价指标

本文共使用了四种评价标准[24]作为检验算法性能的评价指标。这些指标包括用于整体分割准确性评估的骰子系数(DSC)、体素分割准确性(Acc)、敏感性(Sen)和特异性(Spe),公式如下:

(8)

(9)

(10)

(11)

式中:NTP为正确分割为血管的体素数量(真阳性);NTN为正确分割为背景的体素数量(真阴性);NFP为错误分割为血管的体素数量(假阳性)和NFN为错误分割为背景的体素数量(假阴性)。

2.5 结果分析

经对比实验发现基于V-Net网络的所有改进部分均可提高算法分割性能,如表1所示,网络使用Tversky损失函数,平均骰子值和灵敏度分别为68.1%和72.5%,而使用Dice损失函数(α=β=0.5)平均骰子值和灵敏度分别为66.8%和71.4%,前者相较后者指标提升较大。使用两种损失函数最后的预测结果如图5所示,可以看出,使用Tversky相比于使用Dice损失函数可以更准确地分割出更加细小的血管,但相比于专家分割的结果还存在一定差距。

表1 改进算法在3Dircadb测试数据集上的分割性能对比(%)

续表1

使用常规深度监督,仅仅加快了网络收敛速度,分割性能并未明显提高,而使用多分辨率深度监督可使平均骰子值和灵敏度相较原始网络显著提高3.1百分点和1.7百分点,平均准确性和特异性提高0.4百分点和0.2百分点。图6为部分改进后的实验效果图,其中:(a)为原始CT切片;(b)(e)和(c)(f)分别为使用深度监督和多分辨率深度监督网络训练得到的切片和三维可视化结果;(d)(g)为金标准。通过观察对比图结果可发现,使用多分辨率深度监督的网络可分割出更多与周围组织对比度低的薄壁血管。

为验证多分辨率监督机制的性能,本文分别使用传统深度监督方法以及多分辨率深度监督方法在改进的V-Net网络基础上进行实验,最终得到结果如表2所示,其中使用MRDS方法计算的不同分辨率特征图的DSC值均高于文献[25]使用的DS,这表明不同路径特定分辨率的深度监督促进网络学习到更多的语义特征,使每条路径的训练都有助于网络更好的语义表达。同时,每条路径的DSC值均低于不同路径特征图融合后的DSC值,证明网络通过对不同分辨率的特征图融合可以学习到多尺度上下文信息,有助于细分预测结果,提高整体分割性能。1/4分辨率的DSC值相比于其他路径的DSC值相差较大,表明低分辨率路径虽然具有较大的接收场和高级特征,但难以有助于边缘的分割,对总体分割性能贡献较小,证明了本文减少下采样层的合理性。

表2 多分辨率深度监督与文献[25]深度监督分割性能对比(%)

添加金字塔卷积块可以使平均骰子值提高1.8百分点,灵敏度提高1.3百分点,表明在每层跳跃连接过程中引入金字塔卷积块,在特征提取中保留了肝脏血管重要的特征,加强网络的定位能力。在网络中同时引入金字塔卷积块和多分辨率深度监督,测试集上最终平均骰子值、灵敏度、准确性和特异性分别为72.9%、75.4%、98.5%和99.5%,最终实验结果如图7所示,拥有较高的分割精度且提取出的狭窄血管更接近真实的血管轮廓。Kitrungrotsakul等[15]的报告指出,7个测试数据的平均骰子值为83%,而在其结果中,并未提取出未标记的肝脏血管,并且该算法对肝脏血管的强度变化较为敏感。经过实验发现,本文方法可以分割出标签中未标记的肝脏血管,更加接近临床结果。部分分割结果如图8所示。

经实验统计,本文算法以及其他4种算法的最终指标如表3所示,可以看出本文算法的分割结果除准确度低于文献[8](该算法属于半自动分割方法)以外,其他指标均高于其他算法,表明本文算法分割肝脏血管有更好的性能表现。

表3 本文算法与其他算法的分割性能对比(%)

3 结 语

本文提出一种基于改进的三维全卷积神经网络V-Net肝脏血管分割算法,在少量训练样本和注释不完整的情况下自动分割肝脏血管。在预处理阶段使用镜像、翻转等方式增加数据量。在网络编码器中引入空洞卷积,使网络在减少下采样的情况下增加感受野;通过利用金字塔卷积块,进一步提高网络的定位能力;在改进网络中引入多分辨率深度监督,将肝脏血管分割视为多任务学习,即将肝血管分割为多分辨率特征图,使每条路径在深度监督下有特定的训练目标且不互相干扰,从而增加分割鲁棒性;最后将不同多分辨率特征图融合预测整体分割结果。在预测阶段使用后处理操作进一步提高预测准确度,最终实现了肝脏血管的精确分割。本文算法可以准确快速地从CT影像中分割结构复杂的肝脏血管,最终分割结果更接近于临床结果,可用于替代临床中的肝血管手动分割,协助肝脏外科手术规划。

猜你喜欢
体素分辨率卷积
基于超体素聚合的流式细胞术自动门控方法
基于多级细分的彩色模型表面体素化算法
基于3D-Winograd的快速卷积算法设计及FPGA实现
运用边界状态约束的表面体素加密细分算法
EM算法的参数分辨率
从滤波器理解卷积
电子制作(2019年11期)2019-07-04 00:34:38
基于体素格尺度不变特征变换的快速点云配准方法
原生VS最大那些混淆视听的“分辨率”概念
基于傅里叶域卷积表示的目标跟踪算法
基于深度特征学习的图像超分辨率重建
自动化学报(2017年5期)2017-05-14 06:20:52