Learning tree-structured representation for 3D coronary artery segmentation(2019.8)

摘要

冠状动脉的分割已经进行了广泛的研究,然而,由于其复杂的解剖结构,从三维冠状动脉ct血管造影(CCTA)中自动分割冠状动脉具有极大的挑战性。受近年来利用树状结构的长短期记忆(LSTM)来模拟具有树状结构的NLP任务的启发,我们提出了一种新的树状结构卷积门控递归单元(ConvGRU)模型来学习冠状动脉的解剖结构。然而,与针对自然语言处理中的语义关联和情感分类而提出的树结构LSTM不同,我们的树结构ConvGRU模型考虑了输入数据中的局部空间相关性,因为卷积适用于输入到端以及端到端的转换,因此更适合于图像分析。为了进行体素分割,我们提出了一种树状结构的分割框架。它由用于多尺度不同特征的提取和最终预测的全卷积网络(FCN),以及用于解剖结构建模的树状ConvGRU层组成。在四个大规模的三维CCTA数据集(据我们所知是最大的)上对所提出的框架进行了广泛的评估,实验表明,与其他冠状动脉分割方法相比,我们的方法更加准确和有效。

相关工作

1. Vessel segmentation

第一类方法需要在起点和终点之间建立一条最小成本路径,这是手动或自动预定义的( 3d MRA
coronary axis determination using a minimum cost path approach)。得益于利用更高层次的信息,它们往往会产生更符合解剖学的结果。然而,准确分割冠状动脉需要一个精心设计的成本函数来控制分割过程的迭代。

第二类方法的基本策略是产生一个预分割,然后恢复缺失的结构并去除假阳性分割( Automatic centerline extraction of coronary arteries in coronary computed tomographic angiography)。然而,它们需要相对准确的预分割来初始化细化过程。

第三类方法通过跟踪来实现血管的分割。他们反复决定下一个位置和血管的几何结构(如方位和半径)。这将显著降低计算成本,因为只需要探索图像体积的一小部分。不幸的是,这些技术对噪音、伪影和其他局部扰动也很敏感,因为它们只依赖于局部信息。

图1. 从左到右:三维CCTA容积,相应的冠状动脉分段,以及冠状动脉的三个纵向视图。冠状动脉分段用红色表示。

2. Convolutional RNN models

到目前为止,过去的研究大多使用长短期记忆(LSTM)来处理梯度消失或爆炸的臭名昭著的问题,这是训练普通RNN模型时的一个重要问题。通过合并几个精心设计的门函数,LSTM减轻了这个问题。然而,输入到端和端到端的变化是基于LSTM中的完全连接层,忽略了输入数据中的局部空间相关性,因此,它不适合于图像序列的分析。最新提出的卷积LSTM(convlstm)用卷积运算代替了LSTM中的矢量乘法,它保留了输入的空间拓扑结构,同时在LSTM中引入稀疏性和局部性,以减少过参数化和过拟合。不幸的是,具有高度分支化和管状结构的血管是极其复杂的,而最初设计用于图像序列分析的convlstm不能处理这种复杂的树结构。虽然树结构LSTM被提出用于分析树结构数据(特别是在自然语言处理中的语义关联和情感分类),但是树结构LSTM单元中使用的向量乘法不适合于图像分析。相反,我们的树结构ConvGRU设计解决了这两个问题,即没有考虑复杂的树结构和输入数据中的局部空间相关性(图2)。

Methodology

1.1 LSTM & GRU


1.2 ConvLSTM

2. Tree-structured ConvGRU

Sequential ConvRNNs无法处理树状结构的数据。为此,我们提出了一种新的树状结构的ConvRNN网络来提取树状结构的解剖学信息,其中父节点从其所有子节点选择性地聚集特征。例如,希望强调当存在较细动脉与主干动脉合并时,主动脉的几何结构和方向。


图2. 从左至右:sequential ConvLSTM和提出的树结构ConvGRU。在ConvLSTM中,包括输入Xt、先前隐藏状态Ht-1和先前存储器Ct-1的信息按顺序传递(从t-1到t,然后到t+1)。与树结构的ConvGRU一样,它没有内存单元。信息从所有子节点传递到父节点。例如,此图中的节点j合并信息(来自其子节点l1和l2以及当前输入Xj的隐藏状态hl1和hl2)以生成当前隐藏状态Hj。节点k合并信息(来自其子j的隐藏状态hj及其输入Xk)以生成当前隐藏状态Hk。注意,尽管我们只显示树结构ConvGRU模型的一个或两个子节点,但它能够处理两个以上的子节点。

3. Artery centerline extraction

首先,我们从CCTA数据中提取冠状动脉中心线,它捕获冠状动脉的解剖结构。我们使用先前公布的方法(DeepCenterline)提取中心线。它是一种基于深度学习的方法,能够产生精确的(误差在单个体素内)中心线。这里总结了简短的流程。

  • 我们使用3D U-Net预分割冠状动脉。解剖结构是通过预分割获得的。尽管如此,仍然存在许多错误的预测。由于所提出的树型结构分割框架对不完全分割具有较强的抵抗力,因此本研究不需要精确的预分割。
  • 我们使用之前发表的基于深度学习的方法(DeepCenterline)进行中心线提取。更具体地说,通过训练的多任务FCN网络同时预测中心线的端点和距离图。
  • 最终的动脉中心线由最小路径算法生成。生成的中心线可以用树结构G=(V,E)表示,其中节点(表示中心线点)和邻接矩阵(表示中心线点之间的连接)分别用V和E表示。

4. Tree-structured segmentation network architecture

本文将冠状动脉分割问题描述为一个树状结构的分割问题,其中训练集是冠状动脉树的集合,预测值也被构建成树状结构。此工作中的输入树如下所示。对于动脉树G中的每个节点j,从中心线垂直方向的CCTA体积裁剪横断面图,我们进一步用主动脉强度和钙化阈值分别使这个小斑块标准化,以突出这两个重要区域。最后,将标准化的切片与原始切片连接起来,结果是一个与节点j相关联的树状通道图像xj。形式上,目标是学习一个非线性函数(H1,..,HJ)=σW(x1,...,xJ)(H_1,.. ,H_J)=\sigma_W(x_1,... ,x_J)(H1​,..,HJ​)=σW​(x1​,...,xJ​),将树状结构输入映射到树状结构输出,其中J和W表示树中的节点数和要学习的参数。图3示出了所提出的树结构分割框架的概述。

在我们的网络中,我们将结构化信息建立在一个统一的神经网络中,该网络可以端到端地进行训练。它有三个模块:编码器、树结构的ConvGRU和解码器。编码器ϕ\phiϕ从输入数据中提取鉴别特征,得到每个节点j的多尺度表示xj。树结构ConvGRU模块ψ\psiψ建模冠状动脉的解剖结构,生成特征图Hj,编码新提取的解剖相关特征。基于由编码器和树结构ConvGRU生成的特征映射,解码器φ\varphiφ生成最终预测Pj。


图3. 对提出的树结构分割网络进行了综述。系统的输入是一个输入树V,即图像组织为树结构。输出P也被组织为树结构。树形分割网络由两部分组成:带编码器的FCN主干网ϕ\phiϕ用于判别特征学习和用于预测的解码器φ\varphiφ,以及用于解剖结构建模的树结构ConvGRU层ψ\psiψ。FCN骨干网络和树结构的ConvGRU层由所有树节点共享。详细信息如图4所示。

4.1 Discriminative feature learning & tree-structured output generation

图4示出了用于特征提取和最终预测的骨干网络。它基于U-Net(Ronneberger等人,2015)架构。编码器,解码器将整个分割过程分为三个阶段:鉴别特征学习、解剖结构建模和树结构输出生成。

说明是用的2D U-Net

在鉴别特征学习阶段,输入与每个节点j相关联的图像xj进入编码器,其中包括几个3×3卷积层(每个卷积层后面跟着一个ReLU层)。两个2×2层也被用来对特征地图进行下采样。编码器能够从输入中提取鉴别特征χj=ϕ(xj)\chi_j=\phi(x_j)χj​=ϕ(xj​)。在解剖结构建模阶段之后,由树状结构的ConvGRU层生成隐藏状态Hj,解码器使用反卷积逐步将特征映射重新缩放到原始维度,同时合并从编码器传递的信息,得出最终预测Pj=φ\varphiφ(Xj,Hj)。编码器和解码器的细节如图4所示。

图4. 详细介绍了提出的树型分割网络。编码器和解码器都由多个卷积层组成(每个卷积层后面跟着一个ReLU层,为了简单起见,该层被忽略)。对于与节点j相关联的输入图像Xj,它被传递到多个卷积层中,并由编码器中的池层逐步降采样,生成特征映射Xj。树结构的ConvGRU层接受输入Xj并生成隐藏状态Hj。在解码器中,来自树结构ConvGRU层的Hj逐渐向上采样到原始维度,同时合并来自编码器的信息,产生最终的预测Pj。

4.2 Anatomical structure modeling

树状结构ConvGRU的引入是由于冠状动脉树状结构中存在固有的解剖结构。例如,肾小管动脉由近端向远端逐渐变化,各节段的伸长和半径变化平稳。在我们的系统中使用树结构的ConvGRU有两个好处。首先,通过将编码器提取的特征反馈给树结构的ConvGRU,在树节点之间传播上下文信息。因此,最终的编码器不仅可以根据一个节点的特征进行预测,而且还可以考虑到沿冠状动脉树的拓扑变化。其次,如第3.2节所述,每个树节点可能存在多个分支,在这些特殊的位置,我们的系统能够对这些转换进行建模。树结构的ConvGRU层接受输入Xj并生成隐藏状态Hj=ψ(χj)H_j=\psi(\chi_j)Hj​=ψ(χj​)。

4.3 Loss function

即所有节点的平均Dice系数

Experiments

我们收集了四家医院的四个大数据集(共916次CT扫描)。这些合作医院是从不同地区挑选出来的,代表着医疗环境的多样性。80%、5%和15%的扫描分别用于训练、验证和测试。

论文分享 Learning tree-structured representation for 3D coronary artery segmentation相关推荐

  1. 【论文精读 | 细节分析 | 代码实现】PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation

    文章目录 声明 引文 1.点云数据格式 2. 点云的特点 2.1.1 点云的置换不变性 2.1.2 点云的相互关系 2.1.3 点云的旋转不变性 3. 传统处理方式 Abstract 点云数据的特性补 ...

  2. [LiteratureReview]PointNet Deep Learning on Point Sets for 3D Classification and Segmentation

    [LiteratureReview]PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation 出处:20 ...

  3. 点云网络的论文理解(一)-点云网络的提出 PointNet : Deep Learning on Point Sets for 3D Classification and Segmentation

    1.摘要 1.1逐句翻译 Point cloud is an important type of geometric data structure. 点云是一种重要的数据结构. Due to its ...

  4. PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation

    基本简介 论文下载地址:https://arxiv.org/abs/1612.00593 代码开源地址:https://github.com/charlesq34/pointnet 作者以及论文信息如 ...

  5. 【论文阅读】3D点云 -- PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation

    前言 本博客详解遵从论文讲述的顺序.但我们要明确该论文的要点,以更好的阅读论文:针对点云的3个特性,pointnet设计的应对方法,以及设计理念. 点云的无序性:网络使用了对称函数 (maxpooli ...

  6. PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation 中文翻译

    点云是一种重要的几何数据结构. 由于其不规则的格式,大多数研究人员将这些数据转换为常规3D体素网格或图像集合. 然而,这会使数据不必要地大量增加并导致问题. 在本文中,我们设计了一种直接消耗点云的新型 ...

  7. (NeurIPS 2019) Learning Object Bounding Boxes for 3D Instance Segmentation on Point Clouds

    Abstract 我们提出了一种新颖的.概念上简单的通用框架,用于在3D点云上进行实例分割.我们的方法称为3D-BoNet,遵循每点多层感知器(MLP)的简单设计理念.该框架直接回归点云中所有实例的3 ...

  8. 【论文阅读/翻译笔记】Deep Snake for Real-Time Instance Segmentation

    原论文标题:Deep Snake for Real-Time Instance Segmentation 原论文链接:https://arxiv.org/abs/2001.01629 翻译:张欢荣 用 ...

  9. [CVPR2020最佳论文详细解读] Unsupervised Learning of Probably Symmetric Deformable 3D Object

    本文是基于CVPR2020最佳论文,来自牛津VGG组的吴尚哲同学Unsup3D.除了中文的详细解析外,我在作者的代码基础上,将可微分渲染模块由原来的Neural Renderer替代为Soft Ras ...

最新文章

  1. 012_Redis的aof持久化方式
  2. 【Qt】数据库实战之QSqlQueryModel
  3. mvc3部署到mono上面遇到的问题
  4. opencv获得图片的像素宽度_使用OpenCV实现摄像头测距
  5. pdf覆盖图片 Java_Java 添加、替换、删除PDF中的图片的示例代码
  6. GPU版本的Keas安装
  7. Java for LeetCode 036 Valid Sudoku
  8. 系统集成项目管理工程师和网络工程师哪个好考?
  9. 多尺度地理加权回归(MGWR)软件官网下载
  10. 采样定理与奈奎斯特极限
  11. [Mailbox]SIM卡中Alpha Identifier域解析
  12. Amy Palladino 加入 BCW,担任企业运作执行副总裁兼董事总经理
  13. hdu2094 集合set
  14. 记应聘:华为 可信理论、技术与工程实验室 产品数据工程师
  15. 编程之美学习笔记(三):一摞烙饼的排序
  16. win7 修复计算机无法进入系统,win7系统下启动修复无法正常进入系统的解决方法...
  17. 域管理:windows server分发与分配软件
  18. 如何去除discuz的powered by discuz!代码
  19. java学习笔记——springmvc 之 数据自定义转换器 数据格式化 JSR303数据校验返回与接收JSON(@RequestBody 和 @ResponseBody)
  20. module ‘selenium.webdriver‘ has no attribute ‘PhantomJS‘

热门文章

  1. C# 丢弃运算符“_“
  2. Dell戴尔游匣7559黄屏解决办法
  3. c语言 随机函数详解
  4. 3D建模从入门到建模大师成功之路
  5. 深刻理解电源完整性PI,图文并茂,浅显易懂
  6. 关于树莓派(二):测试树莓派pi-camera
  7. 饼状图的实现方法html,D3.js实现饼状图的方法详解
  8. pyautoit 模拟操作windows软件
  9. ElasticSearch最新版(8.4.3) IK分词器基于mysql实现热更新词库
  10. JavaWeb前端开发注册表单验证