APP下载

结合血管拓扑和Non-local CNN-GCN的肺动静脉分离方法

2022-01-21黄立勤陈柳清潘林郑斌郑绍华

福州大学学报(自然科学版) 2022年1期
关键词:拓扑图子图中心线

黄立勤,陈柳清,潘林,郑斌,郑绍华

(1.福州大学物理与信息工程学院, 福建 福州 350108; 2.福建医科大学附属协和医院胸外科, 福建 福州 350001)

0 引言

我国恶性肿瘤发病率每年保持约3.9%的增幅,其中肺癌居首位[1].部分肺癌改变了局部血管的走向及血流模式,且不同肺癌对动脉血管和静脉血管的影响程度并不相同,例如周围型肺癌侵犯肺静脉数量明显多于肺动脉[2].通过观察周围型肺癌对肺静脉的侵犯程度和侵犯的部位可以帮助诊断肿瘤性质、肿瘤分期、手术的可行性以及可切除的部位.因此,对肺动脉血管和肺静脉血管进行独立分析可以更好地得到动脉、静脉和病变组织之间复杂的解剖关系,有利于提高肺部疾病诊断的准确性.然而,动静脉在CT图像上灰度和形态十分相近,仅利用灰度特征难以区分二者,并且部分动静脉分支相互黏连,致使血管动静脉的分离操作十分复杂,而且一例肺部CT影像序列可包含数百层影像,熟练的医师重建一例患者动静脉一般需要耗时数个小时,过程繁琐且容易出错.通过计算机辅助的方式准确分离出动静脉血管树,可以减轻医生的工作量,更好地评估疾病对血管的影响,发现可能存在的病变.

近几年来,基于体素的方法以及基于深度学习的方法在动静脉分离上应用较普遍.在基于体素的方法中,一些研究利用局部或全局连接信息标记动静脉体素.Payer等[3]利用整数规划提取血管路径图中的多个子树.接着通过最大限度地扩大动静脉子树在Voronoi图中的接触面,并根据其与支气管的相邻程度来确定每棵树是动脉或静脉.然而该方法对参数高度敏感,整数规划参数的选取对分类结果影响很大.Charbonnier等[4]将血管树表示为一个既能反映血管拓扑结构又能反映血管空间分布的图,并使用局部信息提取动脉或静脉的子图.将子图与周边血管进行匹配,通过血管子树体积差异进行分类.但该方法仅考虑到动静脉子树间的体积差异,对于一些对动脉和静脉体积有不同影响的特定疾病的患者CT图像,该方法分类效果不佳.Jimenez-Carretero等[5]利用气管信息和局部信息对血管粒子进行粗分类,接着使用图割(graph-cuts)结合粒子连通信息和空间一致性优化分类结果.在气管分割较差的情况下,该方法分类效果不佳.

由于深度学习方法更具有鲁棒性和稳定性,不少研究也开始尝试利用深度网络来分离动静脉.Nardelli等[6-7]基于血管粒子提取三维图像块放入卷积神经网络(convolutional neural network,CNN)分类器训练,再使用图割来优化分类.该方法只在右上和右下叶的血管上进行训练,未能拓展至全肺进行训练.Zhai等[8]通过血管分割和骨架化构建血管节点图,将以每个节点为中心的三维图像块和节点图放入卷积神经网络和图卷积网络(graph convolutional network,GCN)分类器中训练,每个节点被分类为动脉或静脉.CNN-GCN网络虽然分类效果比CNN网络好,但由于缺少有效的后处理策略,最终动静脉分离效果有待改善.

本研究在提取血管中心线的基础上,通过分析血管中心线的邻域特点,构造血管拓扑图,该方法能克服动静脉黏连对分离的影响.针对动静脉灰度和形态相似,难以区分的问题,引入图卷积网络(GCN)模块[9-11]和Non-local(非局部)模块[12-14].GCN网络模块从输入图中构建局部连接的邻域,学习拓扑图连接信息.Non-local 模块以输入特征图中所有位置特征的加权和来计算某一位置的响应,直接获取远程依赖关系,加强网络上下文建模能力.将Non-local 模块嵌入到CNN网络中,接着和GCN网络相连接,将图像局部信息、非局部信息和拓扑图连接信息结合起来,提高网络分类能力.采用该方法对福建医科大学附属协和医院16例肺部CT图像进行定量评估,并与现有的动静脉分类网络进行性能对比.

1 肺动静脉分离算法

本方法框架如图1所示.首先,从肺部CT图像中分割血管树,并利用尺度空间粒子采样方法将血管树表示为中心线体素粒子的集合.接着,将体素粒子转化为拓扑图,拓扑图基于局部信息被分割成一组分支子图,每个子图属于动脉或静脉子图,动静脉分类的任务简化为对分支子图的分类.对拓扑图和以拓扑图节点为中心的局部图像块进行Non-local CNN-GCN网络训练,分类动静脉得到初步分类结果.最后,利用分支拓扑子图优化初步分类结果.

图1 方法流程图Fig.1 Flow chart of proposed method

1.1 预处理

预处理从血管树分割开始,使用正交融合U-Net++网络[15]从CT图片中提取血管树,然后使用尺度空间粒子采样法[16]将血管树提取成一组中心线体素粒子.尺度空间粒子采样法将三维血管图像看成四维图像f(X,s),其中:X为血管中心线X={xi},s为中心线点的尺度. 尺度空间粒子采样法通过下式最小化粒子能量ε:

(1)

图2 血管中心线Fig.2 Vessel centerline

其中:Ei为粒子图像能量,由图像在(xi,si)处的局部性质决定, 对于肺血管图像,采用Hessian矩阵分析图像的局部性质[17-18];Eij为对称粒子间能量;α为平衡参数. 尺度空间粒子采样法得到的血管中心线X如图2所示.

1.2 血管中心线拓扑图构造

肺CT图像动脉树和静脉树之间相互耦合,部分动静脉分支相互黏连,若不去除黏连部分直接分离动静脉易导致动静脉分离错误.采用邻域检索的方法,提取血管中心线的拓扑结构,同时断开动静脉黏连点.在血管中心线中,可以把中心线点分为终端点、曲线点和分叉点(或黏连点) 三类.因此,一种中心线体素点分类方法定义如下: 对于中心线X上的一点xi,令Ω26(xi)为中心线体素点xi沿26邻域内相邻的体素个数. 若Ω26(xi)=1,该中心线点是终端点;若Ω26(xi)=2,该中心线点是曲线点;若Ω26(xi)>2,该中心线点可能是分叉点,也可能是动静脉黏连点. 基于这种规则,重新定义为一个由节点X={xi}和边{ei, j}组成的图G={X,ε}. 边定义为

ei, j=1, 当Ω(xi)=2;ei, j=0,当Ω(xi)≠2

(2)

此时动静脉黏连点不与相邻节点连接,动静脉黏连点被断开.为了一致性,每个节点总是连接到自身,即ei, j=1. 由此得到由终端点、曲线点和分叉点形成的血管拓扑图G.

1.3 拓扑分支子图提取

在断开动静脉黏连点的基础上,通过搜索血管拓扑图G提取只包含动脉或静脉的拓扑分支子图T,T={tk,k=1, 2, …,n}.tk为同一子图上节点的集合. 将G中的所有终端点表示为集合B={bk,k=1, 2, …,n}. 子图tk从终端点bk出发,搜索血管拓扑图G,将同一子图上的节点添加到tk中,具体步骤如下:

1) 令xk=bk;

2) 提取xk的相邻边ek, l和ek, j;

3) 若ek, l=1且xl不在tk中,将xl添加到tk中,xk=xl, 返回步骤2);

4) 若ek, j=1且xj不在tk中,将xj添加到tk中,xk=xj,返回步骤2).

1.4 Non-local CNN-GCN网络模型

动静脉在CT图像上的灰度和形态十分相近,仅利用图像信息特征很难将二者区分.传统CNN模型仅利用局部图像信息特征进行动静脉分类,分类精度不高[6-7].Non-local模块克服传统CNN难以捕捉全局信息的缺点,学习全局图像特征.GCN网络从中心线拓扑图中构建局部连接的邻域,作为图卷积架构的接受域,提取拓扑图的空间连接特征.所以本研究提出融合血管拓扑结构和图像信息特征的Non-local CNN-GCN网络对拓扑图中的中心线骨架节点进行二分类.

对于一个基于图G={X,ε}的GCN网络模型,X为N个顶点组成的顶点集合,X={Xi,i=1, 2, …,N},ε=(aij)N×N是图的邻接矩阵. 如果节点εi和εj连接,则aij=1,否则aij=0. 为了一致性,每个节点始终连接到自己,即aii=1. GCN网络[9-11]定义如下:

H(l+1)=σ(WH(1)Θ(l))

(3)

其中:W为节点X的权重矩阵;Θ(l)为一个分层的训练参数矩阵;σ(·)为一个激活函数,例如ReLU函数;第(l+1)层的输入H(l+1)是第l层的输出.

Non-local模块[12-14]通过聚合其他位置的信息来增强查询位置的特征.令xi为索引位置i的输入特征,Non-local模块的输出特征zi可表示为:

(4)

其中:C(X)为标准化因子;WZ和Wg均为要网络学习的线性变换矩阵;f(xi,xj)为对偶函数,表示位置i和j的关联关系.

本研究在传统的CNN架构[19-20]中插入Non-local模块,组成Non-local CNN网络.在Non-local CNN网络中,输入以中心线为中心,垂直血管方向的局部图像块P,每个图像块根据中心体素标签标记为动脉或静脉,大小为S=[32, 32, 3],网络的输出为图像特征矩阵Y,

Y=Φ(P|θ)

(5)

其中:Φ(·)是通用CNN网络;θ为CNN网络训练参数.

为了将Non-local CNN网络与GCN网络相连,将Non-local CNN网络输出图像特征矩阵Y作为GCN层的输入, 即H(0)=Y,组成Non-local CNN-GCN网络.本研究所提出的网络结构如图3所示.其中,C为卷积层,MP为max-pooling层; DO为dropout层; FC为全连通层; GCN为图卷积网络层; Non-local Block为Non-local 模块.

图3 Non-local CNN-GCN网络模型Fig.3 Non-local CNN-GCN network model

对血管拓扑图G,随机选取拓扑图中的n个节点及其对应的局部图像块作为网络输入.由于使用GCN网络,因此同时也需要获取这些节点的M个邻域节点的局部图像块.由此,节点和邻域节点及其对应的局部图像块作为Non-local CNN-GCN网络的输入.本研究取M=3.通过Non-local CNN-GCN网络得到初始分类结果后,应用拓扑分支子图T来优化分类.对每个节点,由训练好的Non-local CNN-GCN分类器给出初始概率.若节点概率大于0.5,则该节点为动脉,否则为静脉.每个分支子图属于动脉或静脉子图由每个分支子图中动脉和静脉的节点数量决定.如果分支子图中动脉节点数量多于静脉节点数量,该子图属于动脉子图,反之属于静脉子图.

2 实验部分

本节比较和讨论所提出的网络与现有的动静脉分类网络的实验结果, 以及拓扑分支子图后处理策略对网络的提升效果.四个网络均在处理器为Intel(R)Core(TM) i7-7500 3.60 GHz,内存为16 GB的主机上,使用NVIDIA GeForce RTX 2080Ti GPU运行.

2.1 数据集

为有效地评估所提方法的性能,研究选用16例肺部CT影像数据.这16例肺部CT影像来自福建医科大学附属协和医院.每例CT 影像均有超过 300 张图像,分辨率为 512 px × 512 px,切片层厚为 1.00 mm.为量化评估算法分割结果,研究采用人工标注结果作为金标准,人工标注工作主要由两位经验丰富的胸外科医师完成.

2.2 实验参数设置及评估指标

本研究使用TensorFlow框架[21-22]来实现提出的网络模型,框架版本为1.12.0.在训练阶段,采用随机梯度下降法(stochastic gradient descent,SGD)作为优化器,学习率设置为1.0 × 10-3,训练批量设置为128, 迭代次数设置为150.采用交叉熵作为损失函数,在动静脉二分类情况下,模型最后需要预测的结果只有两种情况,对于每个类别预测得到的概率为p和1-p.此时表达式为:

(6)

其中:N为样本个数;yi为样本i标签,动脉为1,静脉为0;pi为样本i预测为1的概率.

以准确性、敏感性和特异性作为估计动静脉分离的评价指标.设TP 和 TN 分别是正确判别为动脉和静脉体素数量,FP 和 FN 分别是错误判别为动脉和静脉体素数量.

准确率(accuracy), 即动静脉预测正确的百分率:

(7)

敏感性(sensitivity),即指正确地判断为动脉的百分率:

(8)

特异性(specificity),即指正确地判断为静脉的百分率

(9)

2.3 实验结果与分析

为了验证Non-local模块和GCN网络的性能,本研究设计了三个对比网络验证 Non-local模块和GCN网络是否有助于提高动静脉分离的准确性.首先设计一个不含Non-local模块和GCN网络的基础CNN3D网络,这个架构由Nardelli等[7]提出.接着设计一个在基础CNN3D网络加入Non-local模块的Non-local CNN3D网络.最后设计一个在基础CNN3D网络加入GCN网络的CNN-GCN网络,这个架构由Zhai等[8]提出.这四个网络分别在同一数据集上进行了训练和测试,其中13例数据集用来训练,3例数据集用来测试.

四个网络模型在数据集上的结果如表1所示.本研究提出的Non-local CNN-GCN网络在数据集上的平均准确率为85.5%,在四个网络中准确率最高.CNN-GCN网络在没有Non-local模块的情况下,网络的平均准确率达到84.7%.可见Non-local模块方法通过学习图像全局信息,捕获远程依赖提高分类精度.另一方面,不加入GCN模块的网络精度较低.Non-local CNN3D网络在数据集上的平均准确率为78.5%,基础CNN3D网络的平均准确率达到76.8%.这是因为CNN3D网络没有学习到血管的拓扑信息,通过加入GCN网络,网络学习到节点之间的连接信息,提高了分类精度.由此可见,GCN模块能充分学习动静脉拓扑结构,提取拓扑图的空间特征.

表1 网络模型结果

为了进一步提高动静脉分类准确率,研究将网络分类得到的初始分类结果通过拓扑子图进行优化.不同网络模型拓扑分支子图后处理优化结果如表2所示.Non-local CNN-GCN网络和CNN-GCN网络拓扑分支子图优化在数据上的平均准确率分别为93.6%和92.9%.由于不加入GCN模块的网络精度较低,其拓扑分支子图提升效果也明显不如前面两个方法好.Non-local CNN3D网络和基础CNN3D网络拓扑分支子图优化在数据集上的平均准确率分别为87.7%和 85.6%.

表2 拓扑子图优化结果

从表1和表2的实验结果可以看出,拓扑子图后处理对于四个网络都有提升分类准确率的效果,且初始网络分类效果越好,拓扑子图提升的结果就越好.实验结果表明,本研究提出的Non-local CNN-GCN网络结合拓扑分支子图后处理优化方法与对比网络模型结合拓扑分支子图后处理优化方法相比有明显的优势.

图4为本研究方法动静脉分离结果与人工标注的对比示例,图中给出了两例患者CT数据的动静脉分离结果与人工标注的对比,其中左图为人工标注,右图为本研究提出的动静脉方法分离结果.

图4 本研究方法动脉、静脉分离结果与人工标注的对比Fig.4 Arteriesand veins separation results of proposed method in comparison to manual labeling

3 结语

本研究提出了一种有效的肺CT图像动静脉血管分离方法.该方法基于尺度空间粒子采样法和邻域检索方法构造血管中心线拓扑图,通过Non-local CNN-GCN网络结合全局图像信息和图连接信息,提高网络对于动静脉特征的学习能力,并利用拓扑分支子图后处理优化策略对分类网络精度进行提升.在未来工作中,将重点从血管子树分级入手优化血管拓扑,从而进一步提升动静脉分离的精度和鲁棒性.

猜你喜欢

拓扑图子图中心线
低压配网拓扑图自动成图关键技术的研究与设计
简单拓扑图及几乎交错链环补中的闭曲面
基于含圈非连通图优美性的拓扑图密码
临界完全图Ramsey数
基于频繁子图挖掘的数据服务Mashup推荐
第十讲 几何公差代号标注示例10
——目镜套筒
X线摄影中中心线对DR摄影质量的重要性
基于Meanshift和Hough变换的秧苗行中心线提取
不含2K1+K2和C4作为导出子图的图的色数
基于曲率计算血管中心线特征点的提取方法