李霄霄分享嘉宾

图神经网络在医学影像中的应用

本期分享的嘉宾是来自耶鲁大学图像处理分析实验室(IPAG)的博士生李霄霄,她师从 Dr. James Duncan 教授,目前研究深度学习算法用于医学影像的分析。5 篇论文录入医学影像学和神经科学领域顶级会议(均为一作),获得 Best Abstract AWard , Student Travel Award , IPMI Scholarship 等奖项。曾在日本索尼,日本国立信息学研究所,美国西门子医疗事业部, JPM AI Research 从事深度学习算法的研发。

就医学影像来说,GNN 的应用非常的广泛,有数十种,所以今天我们就通过举例的方式来为大家介绍。

为什么要用 GNN 来研究医学影像?因为很多医学影像可以用天然的图结构来建模。用于血管的分割、手术图像的分析、多模态融合、 疾病预测、大脑的分割、大脑连接的一些研究。今天分享的主要内容根据上面提到的应用的文章,和大家做一些讨论。

图像分割

首先来看一篇图像分割的工作:

Interactive 3D Segmentation Editing and Refinement via Gated Graph Neural Networks 

这篇文章提出的图卷积模型并没有从头去做图像分割,而是在粗分割结果的基础上进行改善。这个工作的输入是粗糙分割好的图片,边缘不是那么光滑,会有一些多边形的结构。该工作的目的是想通过图学习知道,当得到这些粗糙的多边形结构之后,如何做一些点的运动的预测,使得最后的分割图像更加光滑,或者是达到更好的分割效果。该文章表示,通过他们提出的这种方法,在 IOU 的测量上,效果有高达 10% 的提升。

他们对分割图像进行建模的方法是:首先会有一个比较粗糙的分割结果,粗糙分割结果的轮廓是一个多边形,多边形的测量是对于每一个 3D 图像的slice计算出来的。粗糙的分割结果是用一些现有的算法得到的,本文提出的 GNN 的侧重点还是在后期的改善。建模过程如下图所示:

绿色框将多边形的每一个顶点作为图上的节点。然后有三种连接关系,绿色箭头代表连接紧密的两个节点之间的连接;蓝色箭头表示相距较远的节点的连接;橙色箭头表示相邻的两个 slice 之间的比较近的两个节点的连接。

另外,在该研究中的图是有向图,然后从上图可以看到邻接矩阵分为了输入和输出两部分,输入表示指向该节点,输出表示从该节点指向其他节点。图中每个节点的特征,是用 ResNet-50 得到的。最后,将这样的图结构输入到 使用GRU的gated GNN 中。输出模型有两部分,一个是预测点是否到了边上,另外一个就是该点要移动到下一个点的方向。图中的movement prediction 部分是一个 M*M 的矩阵,意思是,以该点为中心的移动范围。

图像检索

Linking Convolutional Neural Networks with Graph Convolutional Networks: Application in Pulmonary Artery-Vein Separation 

这篇工作的任务是从肺部的血管 CT 图像中分出动脉和静脉。首先输入的图是使用了一些传统的血管分割以及枝干提取方式来得到所有的节点,边是只考虑了一阶邻居的连接。所以这是一个具有非常多节点又非常稀疏的图。那他们是如何定义图中节点的特征的呢?他们提取了每个顶点包裹着的 3D 小patch,通过提取 patch 的特征。

他们工作的一个特色是想将 CNN 和 GNN 端对端的连接起来,那这就涉及到输入图的时候要占用很大的内存。

如下图所示,右边的网络就是提取节点特征的网络。涉及到的 GCN 的运算也是比较传统的 GCN 的运算。

下图展示了两个结果,左边是比较好的,右边是比较差的。我想强调的一点是这篇文章比较了三个模型的表现,一个是 3D 的CNN ,一个是 CNN-GCN 模型,最后还有 CNN-GCNt 模型,这个 t 代表的是这个 CNN 模型是用预训练的模型 transform learning 过来的,而 CNN-GCNt 的效果最好。

手术介入

Graph Convolutional Nets for Tool Presence Detection in Surgical Videos 

这篇工作是研究各种手术器材的检测。他们认为,对于这些外科视频来说,标签的帧是很少的,并且这样的视频也很短,很多传统的目标检测只考虑了单个帧的信息,所以他们想用 GCN 来把 spatial 和 temporal 的信息同时考虑进来。因为标记的帧的长度很短,使用 RNN 很难把时域上的依赖性连接起来,所以就使用了 GCN 。这篇文章是在两个大型公开数据集上进行研究的。

我们来看一下它大致的框架:

如上图所示,将几个连续帧的视频输入到 Inflated 3D DenseNet-121 中,文章对 DenseNet 就行了改良,详细内容可以查看原文。

具体的一些计算过程如下:

其中提到的 Temporal Pooling 其实和我们平常使用的 Pooling 核心是没有两样的,只不过是因为输入的graph 是通过时间上的一些帧构成的,所以文章将它叫做 temporal pooling。

图像配准

Learning Deformable Point Set Registration with Regularized Dynamic Graph CNNs for Large Lung Motion in COPD Patients

传统的图像配准都是在图像域中去做的,这篇文章就提出这样做会有很大的计算消耗和很长的计算时间。图像表面会有一些特征点,可以看作是两个点集之间的 registration。所以可以使用 GNN 来做。

registration 一般来说是计算得到一个空间转换,将两张图或者两组特征点 align 起来。像我自己做得比较多的关于大脑图像的研究中,registration 通常是第一步。如果得到这些点集,我们可以通过点对点的 registration 来计算转换矩阵。

这篇文章的主要贡献在于上图中 DGCNN 的模块。对应该模块的输入是两组点集,蓝色框是固定点集,橙色的框是移动点集。

简单的看一下运算需要的输入:

其中 PFPM就是前面提到的 fixed 点和moving的点。(PF)和(PM)是通过DGCNN 模块得到的。DGCNN 的框架如上图中的网络图所示。每个点集有 4096 个点和每个点有 3D 的特征,通过包括 EdgeConv、Linear等的层之后,得到每个点的 16 维的向量表示,就是 (PF)和(PM)。下面是结果:
多模态融合

多模态融合研究的是如何将不同模态的医学影像利用图卷积结合在一起分析。

Interpretable Multimodality Embedding of Cerebral Cortex Using Attention Graph Network for Identifying Bipolar Disorder 

这是我们的一个工作。是将大脑的结构核磁共振成像(sMRI)和功能核磁共振成像(fMRI)信息结合起来,做双相情感障碍(bipolar disorder)和正常人的分类。在我们这个工作中,是根据功能性MRI在不同脑区之间的相关性来构图的。定义每个大脑分区为图上的一个顶点,它们之间的相关性系数作为边的权重。结合 sMRI 和 fMRI 的方法是把它们堆叠到每个节点的特征上。

在该工作中另一点比较有意思的是采用了带权重的EGAT(weighted graph attention neural network),如上图中的注意力层,因为我们想要了解哪个脑功能分区对双相情感障碍的影响更大。池化方法是采用的是 DIFFPOOL。

上图左边是关于注意力 map 和节点特征的可视化结果。右边是一些参数和对比实验设计的结果,总的来说将 fMRI 和 sMRI 结合起来的结果是最好的。

疾病预测

Disease prediction using graph convolutional networks: Application to Autism Spectrum Disorder and Alzheimer’s disease 

这是早期将 GCN 应用到医学图像领域的工作之一,主要的工作是将人当作图中的节点,根据人的一些表型数据,比如像基因、性别、年龄等,利用它们的相似性来构造边。本文利用大脑图像提取出来的特征向量作为每个节点的特征表示。这是个半监督学习的问题,图中的一部分节点是有标签的(有无疾病),还有一部分节点没有标签,主要任务就是预测没有标签的这部分人有无疾病。

上面这篇工作在这里就不细讲了,来看一下另一篇相关工作:

InceptionGCN: Receptive Field Aware Graph Convolutional Network for Disease Prediction

这篇工作和上一篇一样,也是将人看作图中的节点,用半监督学习方式预测没有标签的那部分人有无疾病。这篇文章值得一提的是它在算法上的创新,提出了 InceptionGCN,通常我们在做图卷积的时候考虑的 K-hop 邻域都是固定的,比如 graphsage 只考虑 one-hop 邻域。而在这篇文章提出把不同感受野卷积核合在一起。比如下图中的第一个虚线框中,k1到 ks,代表着这些卷积核考虑了不同维度的感受野,然后将它们合在一起。然后通过一个聚合器,该文章的聚合器有两种尝试,第一个是 connection 将所有的卷积核得到的特征 Concat 起来,另外一种是最大池化

比较有趣的是,他们在实验中发现了比较矛盾的结论。他们在 TAPOLE 和 ABIDE 两个数据集上进行了尝试,发现在 TAPOLE 数据集上 Inception GCN 的结果是优于基准模型的,但是在 ABIDE 数据集上,结果却不如基准模型。

于是他们通过 TSNE 将输入数据的特征可视化出来,发现 TADPOLE 数据集的数据可视化出来,不同节点的特征更加可分。但是 ABIDE 则不那么可分。

那么是不是 InceptionGCN 对于这种节点特征不是那么现行可分的图不适用呢?所以他们又做了一些仿真工作。如下图所示:

最左边这个图是比较好的情况,不同组之间的节点特征区分明显。中间这个图则是不太好区分的。

结果显示,InceptionGCN 确实在第二种情况下,效果不太好。所以这是一个很有趣的探究,当我们选择使用模型的时候,要首先对数据进行一定的考量,选择合适的模型。

大型医学图像分析

大型医学图像主要还是组织学医学图像,通常一张组织学图像至少有几个 G 的大小。传统的基于 GNN 的算法不能把整张图作为输入,所以大家会用 patch-based 的方法来分析,但是这很容易忽略图像空间中的联系。这也是使用 GCN 来分析大型图像的初衷。

Cgc-net: Cell graph convolutional network for grading of colorectal cancer histology images. 

要讲的第一份工作是来自 19年 CVPR,使用 GCN 来对组织学图像进行分类。

它的构图方式是用 detection 的方式来得到每个节点。

这是这篇工作整体的框架。大家对细节感兴趣的话,可以看看原文。

另一篇GNN 应用于大型医学图像分析的工作是:

Weakly-and Semi-supervised Graph CNN for Identifying Basal Cell Carcinoma on Pathological Images 

任务是病理检测,检测病理影像中的基底细胞癌。我们一起看一下他们做的一些事情

最上面一行是 ground truth,就是想检测一些病理模式。主要思想是想通过 patch-based 的分析方法加 GNN得到相似的检测。网络框架如下图:

先将图像的小 patch 的特征输入到预训练好的 CNN 模型中,得到每个 patch 的向量表示。得到patch 的向量表征之后有两个设置,一个是弱监督设置,一个是半监督设置。

讲的都比较简单,大家可以看文章的具体内容。

脑分割

Graph convolutions on spectral embeddings for cortical surface parcellation. 

这篇工作跟我们直接应用已有的GNN不一样,他们提出了谱域的卷积。如下图所示:

输入的图经过几个谱域卷积层 之后,得到了大脑的分割结果。右边的小图是他们的方法和其他的方法结果的比较。可以看到,他们的分割方法可以保留很多的细节,并且是相对比较光滑的。

这个谱域卷积有什么特别之处呢?文中提到了传统的谱嵌入只能在左边这种正交的栅格空间中实现,如果想要实现在右边这种谱嵌入,就要把所有的基向量转换到同样的参考坐标中。最后的谱卷积公式就是 z。

看下图会更加直观的理解谱卷积是如何操作的。

脑连接

这是最后一个应用,这是我自己的一个工作,研究如何用 GNN 做脑连接的一些分析。这个工作有两个目标,一个是如何对不同的脑连接进行分类,一般是病人和非病人。另外还想探究,是怎样的脑连接子网络和疾病有关系。

整体的框架分为两部分,第一部分就是构造脑网络,并且对脑网络进行分类。构图的方法是将大脑分为一些区间,每个区间作为一个节点,节点之间的边是每个大脑区间之间的 fMRI 时间信号的相关性构造的。通过手工提取的方式提取了一些节点的特征。在完成第一步图分类后,第二部,我们想解释哪些子图/节点是具有 predition power的。于是我们讲划分好的子图在已训练好的GNN中去测试,找到对分类重要的子图/节点。

另外一个脑连接的工作是:

Graph Embedding Using Infomax for ASD Classification and Brain Functional Difference Detection 

这个工作结合了最近提出的 deep graph infomax 的方法去加强卷积层之后的embedding部分。

除了利用从数据中真实构造好的图进行图分类以外,我们有另一个分支去获得更好的节点特征嵌入效果。在这个分支中,我们构造了一些假的图,然后将真图和假图的一些表示同时放入 discriminator 中区分这些表示来自真图还是假图。

这里给出了 148 大脑区域中的 24个大脑区域 embedding的可视化结果,患者是红色,正常人是绿色,加上 graph infomax 的损失之后,正常人和患者的有些大脑区域更加线性可分。

在大脑的 148个区域中,我们发现了 31个比较线性可分的大脑区间,在上图中的标记为红色。

总结

医学图像中存在着图结构,所以可以使用 GNN 完成上面提到的这些任务。通过阅读这些paper,我的启发是根据医学影像构造图结构是很重要的,不同的构造方法对实验的结果有很大的影响。另外一点是如何设计合适的 GNN 来做特定的任务。

回放链接:

https://m.qlchat.com/topic/details?topicId=2000007157083237&sourceNo=&fromOld=

极验
极验

极验是全球顶尖的交互安全技术服务商,于2012年在武汉成立。全球首创 “行为式验证技术” ,利用生物特征与人工智能技术解决交互安全问题,为企业抵御恶意攻击防止资产损失提供一站式解决方案。

理论应用医学影像图神经网络
4
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

图像分割技术

图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。它是由图像处理到图像分析的关键步骤。现有的图像分割方法主要分以下几类:基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等。从数学角度来看,图像分割是将数字图像划分成互不相交的区域的过程。图像分割的过程也是一个标记过程,即把属于同一区域的像索赋予相同的编号。

池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

半监督学习技术

半监督学习属于无监督学习(没有任何标记的训练数据)和监督学习(完全标记的训练数据)之间。许多机器学习研究人员发现,将未标记数据与少量标记数据结合使用可以显着提高学习准确性。对于学习问题的标记数据的获取通常需要熟练的人类代理(例如转录音频片段)或物理实验(例如,确定蛋白质的3D结构或确定在特定位置处是否存在油)。因此与标签处理相关的成本可能使得完全标注的训练集不可行,而获取未标记的数据相对便宜。在这种情况下,半监督学习可能具有很大的实用价值。半监督学习对机器学习也是理论上的兴趣,也是人类学习的典范。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

图像检索技术

图像检索系统是用于从大型数字图像数据库浏览、搜索和检索图像的计算机系统。 大多数传统和常见的图像检索方法利用向图像添加诸如字幕、关键字或描述之类的元数据的一些方法,以便可以对注释词执行检索。 手动图像注释耗时,费力且昂贵; 为了解决这个问题,人们已经对自动图像标注进行了大量研究。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

神经科学技术

神经科学,又称神经生物学,是专门研究神经系统的结构、功能、发育、演化、遗传学、生物化学、生理学、药理学及病理学的一门科学。对行为及学习的研究都是神经科学的分支。 对人脑研究是个跨领域的范畴,当中涉及分子层面、细胞层面、神经小组、大型神经系统,如视觉神经系统、脑干、脑皮层。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

最大池化技术

最大池化(max-pooling)即取局部接受域中值最大的点。

图像提取技术

图像提取包括图像的特征检测和特征提取过程。 特征检测是计算机视觉和图像处理中的一个概念。它指的是使用计算机提取图像信息,决定每个图像的点是否属于一个图像特征。特征检测的结果是把图像上的点分为不同的子集,这些子集往往属于孤立的点、连续的曲线或者连续的区域。 特征被检测后它可以从图像中被提取出来。这个过程可能需要许多图像处理的计算机。其结果被称为特征描述或者特征向量。 低层次的特征提取方法包括:边缘检测、角检测、区域检测、脊检测等,还有曲度检测以及运动检测。 高层次的特征提取方法包括:1.固定形状匹配方法如阈值、模板匹配和霍夫变换等;2.灵活变形分析方法。 进一步特征提取与降维有关,常用的降维技术有主成分分析法、独立成分分析法、等距特征映射等。

相关性系数技术

相关系数是某种相关性的数字度量,意味着两个变量之间的统计关系。有问题的值可能是给定的观察数据集的两列,通常称为样本,或者是具有已知分布的多变量随机变量的两个分量。

图像处理技术

图像处理是指对图像进行分析、加工和处理,使其满足视觉、心理或其他要求的技术。 图像处理是信号处理在图像领域上的一个应用。 目前大多数的图像均是以数字形式存储,因而图像处理很多情况下指数字图像处理。

特征可视化技术

用于解决神经网络广受诟病的黑箱问题的方法之一,通过可视化的方法来理解神经网络的运算机理,以解决可解释性问题。

堆叠技术

堆叠泛化是一种用于最小化一个或多个泛化器的泛化误差率的方法。它通过推导泛化器相对于所提供的学习集的偏差来发挥其作用。这个推导的过程包括:在第二层中将第一层的原始泛化器对部分学习集的猜测进行泛化,以及尝试对学习集的剩余部分进行猜测,并且输出正确的结果。当与多个泛化器一起使用时,堆叠泛化可以被看作是一个交叉验证的复杂版本,利用比交叉验证更为复杂的策略来组合各个泛化器。当与单个泛化器一起使用时,堆叠泛化是一种用于估计(然后纠正)泛化器的错误的方法,该泛化器已经在特定学习集上进行了训练并被询问了特定问题。

数据可视化技术

数据可视化被许多学科视为现代视觉传达的等价物。为了清晰有效地传递信息,数据可视化使用统计图形、图表、信息图和其他工具。数字数据可以使用点、线或条编码,以视觉传达定量消息。有效的可视化帮助用户对数据进行分析和推理。它使复杂的数据更容易理解和使用。用户可以根据特定的分析任务进行数据可视化,例如进行比较或理解因果关系,并且图形的设计原则(即,显示比较或显示因果关系)来进行可视化。表通常用于用户查找特定测量的地方,而各种类型的图表用于显示一个或多个变量的数据中的模式或关系。

目标检测技术

一般目标检测(generic object detection)的目标是根据大量预定义的类别在自然图像中确定目标实例的位置,这是计算机视觉领域最基本和最有挑战性的问题之一。近些年兴起的深度学习技术是一种可从数据中直接学习特征表示的强大方法,并已经为一般目标检测领域带来了显著的突破性进展。

感受野技术

一个感觉神经元的感受野是指这个位置里适当的刺激能够引起该神经元反应的区域。感受野一词主要是指听觉系统、本体感觉系统和视觉系统中神经元的一些性质。

图分类技术

图分类是许多不同领域中实际应用的问题。为了解决这个问题,通常会计算某些图形统计数据(即图形特征),它们有助于区分不同类别的图形。在计算这些特征时,大多数现有方法会对全图进行处理。

暂无评论
暂无评论~