DeepCenterline: a Multi-task Fully Convolutional Network for Centerline Extraction
提出了一种新的中心线提取框架,该框架将可端到端训练的多任务全卷积网络(FCN)与最小路径提取器相结合。FCN同时计算中心线距离映射并检测分支端点。该方法生成的中心线为单像素宽,没有伪分支。它处理任意树结构的对象,不需要事先假定树的深度或分支模式。它还对目标对象不同部分的大量尺度变化和对象分割掩码的微小缺陷具有鲁棒性。据我们所知,这是第一种基于深度学习的中心线提取方法,它保证了复杂树结构对象的单像素宽中心线。该方法在620例(其中400例作为测试集)的冠状动脉中心线提取中得到了验证。由于冠状动脉分支数目多、分支弯曲、长度、厚度、形状等变化大,该方法具有一定的挑战性。该方法可以生成位置良好的中心线,显示较少的缺失分支,并且在对象分割掩模存在微小缺陷的情况下更具鲁棒性。根据独立的人类专家评估,与最先进的传统最小路径方法相比,我们的方法将患者水平的中心线提取成功率从54.3%提高到88.8%。
这是一种理想的中心线提取算法,可以在截面上生成离目标中心足够近的中心线点,捕获所有的“分支”,并且没有假阳性假分支。
该方法包括两个主要步骤(图1):一个多任务FCN同时计算局部标准化的中心线距离图和端点列表;一个最小代价的路径提取器,以FCN的输出生成一组路径作为中心线。
多任务FCN完成了两个任务:计算normalized centerline distance map 和检测branch endpoints。
Suppose a volumetric segmentation mask is I X × Y × Z I^{X×Y ×Z} IX×Y×Z, and I = { ( x , y , z ) ∣ x ∈ 1 , . . . , X , y ∈ 1 , . . . , Y , z ∈ 1 , . . . , Z } I = \begin{Bmatrix}(x, y, z)|x ∈ {1,...,X},y ∈ {1,...,Y },z ∈ {1,...,Z}\end{Bmatrix} I={(x,y,z)∣x∈1,...,X,y∈1,...,Y,z∈1,...,Z} denotes the set of all voxel locations in the image.
中心线距离图定义为其体素强度的图像,显示每个体素与最近的中心线点的距离。由于分支半径的变化较大(冠状动脉近端半径可能比远端半径大5倍),直接的欧氏距离变换计算可生成在分支不同部分具有很大可变值范围的中心线距离图。要获得一条始终位于“中心”位置的中心线,需要在厚截面和薄截面之间巧妙地平衡成本图像对比度。
为了获得所需的尺度不变性,我们建议使用FCN生成局部标准化的中心线距离映射。更具体地说,在训练期间,在每个中心线点处获得垂直于中心线切线方向的分割掩码的局部横截面图。假设横截面视图中所有前景体素的集合为S,然后计算体素索引 i = ( x , y , z ) ∈ S i=(x,y,z)∈S i=(x,y,z)∈S的局部标准化距离映射值为
其中 d i E u c d^{Euc}_i diEuc是体素i到视图中心点的欧几里德距离。为了进一步突出中心线附近部分的对比度,应用对数变换生成参考中心线距离图
其中 D c = { d i ∣ i ∈ I } Dc=\begin{Bmatrix}di | i∈I\end{Bmatrix} Dc={di∣i∈I}是整个分割掩模图像I的局部标准化中心线距离图,δ是一个小的正常数以避免数值问题。请注意,距离计算在等式中。(1)(2)仅在生成训练参考标准时执行。在测试阶段,FCN将直接预测中心线距离图 Y c ^ \hat{Y_c} Yc^。
传统上,在不同的空间位置和信道上的卷积特征被之后的网络平等地对待。然而,中心线提取本质上是一个局部任务。具体地说,围绕潜在中心线的狭窄区域需要最大的注意以获得最佳的区分对比度。因此,提出了一种空间注意模块来加权不同空间位置处的特征图。
不同于中心线距离图在整个分割掩模内由连续值组成,分支端点只是几个孤立点。由于极端的类不平衡,使用体素分类或分割框架直接预测这些点是不可行的。为了解决类不平衡问题,通过在每个端点周围构造一个高斯分布,在空间上占据一定的区域,生成一个基于体素的端点置信图。然后训练FCN以预测端点置信度图,该端点置信度图在非零和零体素之间具有更平衡的比率。
在测试阶段,预测的端点置信图的阈值为最大可能值的一半,即 0.5 / 2 π Δ 0.5/\sqrt{2πΔ} 0.5/2πΔ。然后,每个连接组件的质心作为分支端点返回。(The centroid of each connected component is then returned as branch endpoints.)
式(10)所示的损失函数由两项组成,一项用于中心线距离图预测,另一项用于分支端点检测。我们强制损失函数只考虑分割掩码内的区域。假设分割掩模是 Λ ∈ { 0 , 1 } X × Y × Z \Lambda∈\begin{Bmatrix}0,1\end{Bmatrix}^{X×Y×Z} Λ∈{0,1}X×Y×Z。对于分割掩模内的每个体素 Λ ( x , y , z ) \Lambda(x,y,z) Λ(x,y,z)是1,否则为0。
给定根点、分支端点列表和基础中心线距离映射,使用最小路径算法提取树结构对象的中心线。我们构造了一个无向图G=(V,E),其中集合V包含与分割遮罩中的体素相对应的所有顶点,集合E包含集合V中连接两个相邻顶点的所有边,在26邻域设置下。在每个顶点vi上,权重 ω v i = e x p ( Y c ^ ( i ) ) \omega_{v_i}=exp(\hat{Y_c}(i)) ωvi=exp(Yc^(i))根据中心线距离图设置。请注意,每个顶点所承载的权重在相应体素靠近中心线位置时较小,而在远离中心线位置时更大。给定起始顶点s∈V和结束顶点t∈V,两者之间的最小路径定义为p=(p1,p2,…,p k),pK∈V,k={1,2,…,k}这样(1)p1=s,pK=t;(2)路径中的每两个相邻顶点由一条边连接起来;(3)沿该路径的顶点权重之和最小化。
从s到t的最小路径对应于两点之间所需的中心线。要提取树状结构对象(如冠状动脉树)的中心线,一个根点通常对应于多个分支端点t1、t2、…、tT。在这种情况下,分别计算根点s和每个端点T i,i∈{1,2,…,T}之间的最小路径。然后我们按顺序从终点到起点跟踪每条路径。一旦当前路径与某些先前跟踪的路径相交,它将合并到先前跟踪的路径中。中心线点最终在小窗口中通过迭代平均滤波进行平滑,以获得更平滑的外观。
为评价该方法的有效性,对620例患者进行了620次冠状动脉容积CTA扫描。首先将图像间距归一化为0.4×0.4×0.4mm3。冠状动脉和升主动脉是由一个半自动的软件进行分割,手工审查和编辑。冠状动脉和升主动脉的分割模板作为实验输入。由于冠状动脉起源于升主动脉,每一根冠状动脉树的根点都很容易作为连接到主动脉的动脉体素。为了简化符号,我们使用CL作为“中心线”的简写。由于血管的复杂三维结构和单像素宽的要求,人工标注中心线是很难实现的。因此,在训练过程中,由最先进的传统方法(称为基线)提取的中心线作为DeepCL的训练参考真理。在测试过程中,DeepCL和基线之间的匹配度首先作为一个健全性检查来研究。然后利用中心线到分割掩模Hausdorff距离等不需要“真值”中心线的各种度量,以及独立的人类专家评审,对DeepCL和基线方法进行评价。
我们将620个扫描随机分成三个数据集:200个扫描用于训练,20个扫描用于验证,400个扫描用于测试。在训练集上,以基线法提取的中心线作为参考真理。虽然参考真值是由强基线方法生成的,但仍然存在分支缺失、分割掩模不完善时出现错误分支等错误。基于参考真值生成局部标准化中心线距离图和分支端点置信图。该方法的参数根据验证集进行调整。将优化后的模型应用于400个测试扫描,以评估性能。输入patch大小为64×64×64体素。公式(9)中高斯场的标准偏差设为3 mm。式(10)中的损失加权系数γ为0.5。采用随机梯度下降法对多任务FCN网络进行优化,批量为3。共有20个时期。初始学习率为10-2,每5个阶段除以2。
两种方法的可视化比较及Hausdorff距离分布。(a) 红色是DeepCL的中心线。青色是基线法的中心线。绿色表示两条中心线的重叠。第一行:DeepCL查找基线方法丢失的分支。第二行:DeepCL避免了由基线生成的错误分支。第三行:DeepCL生成位于中心位置的中心线,避免在复杂的分叉区域或曲折的线段上走直线捷径。最后一个带有红色边框的图显示了DeepCL和baseline的失败案例。(b) 两种方法从体素到最近中心点的Hausdorff距离分布。(在线彩色图)
图6比较了使用和不使用注意模块生成的中心线距离图。如图6(e)所示,通过使用注意,中心线距离图在中心位置周围有一个清晰的峰值。相比之下,由模型生成的不需要注意的中心线距离图会导致大面积的“平原”。如果这种情况发生在具有高曲率的区域,那么最小路径提取器可以很容易地选择通过非中心平台点的直线捷径作为生成的中心线。利用注意模块提高真实中心点周围中心线距离图的对比度,大大缓解了这一问题。