一种用于颅内CTA图像中动脉瘤区域的处理方法及装置
技术领域
本申请涉及图像处理、医疗领域,具体而言,涉及一种自动检测与分割CTA图像中动脉瘤区域的方法及装置。
背景技术
颅内动脉瘤多为发生在颅内动脉管壁上的异常膨出,是造成蛛网膜下腔出血的首位病因,在脑血管意外中,仅次于脑血栓和高血压脑出血,位居第三。颅内动脉瘤发病率高达7%,引起SAH致死率和致残率高。CT血管成像(英文全称Computed TomographyAngiography,简称CTA)用于显示感兴趣区内血管,常用于冠脉检查,血管的狭窄、动脉瘤等检查。因此从CTA图像自动检查和分割动脉瘤区域具有十分重要的临床价值。
同时,卷积神经网络(英文全称:Convolutional Neural NetWork,简称:CNN)的应用大大提高了CT扫描图像中病灶分割的准确性,而CNN能够在大量训练数据里挖掘出一些有用的高层次语义信息来完成分类和分割任务。
发明人发现,CTA数据一般都是薄层数据,分辨率比较高,因此很难将整个CTA数据都送到网络里进行训练和测试。而动脉瘤区域在CTA空间的占比又非常小,对于三维图像块数据,单个分割网络的CNN可能会分割出一些假阳性,因此,需要训练一个分类网络来消除假阳性。
发明内容
本申请的主要目的在于提供一种用于颅内CTA图像中动脉瘤区域的处理方法及装置,以解决动脉瘤的快速检测与精准分割问题,用以辅助医生对颅内动脉瘤的诊断需求。
为了实现上述目的,根据本申请的一个方面,提供了一种用于颅内CTA图像中动脉瘤区域的处理方法。
根据本申请的用于用于自动检测与分割颅内CTA图像中动脉瘤区域的分割方法包括:接收待处理的颅内CTA图像数据和医生标注好的训练集上颅内CTA图像上的动脉瘤区域;通过CTA剪影技术去除颅内骨性组织结构;在去骨后的CTA图像根据标注好的CTA动脉瘤区域采集正、负样本的三维图像块数据;在采集好的正、负样本数据上训练3D分类网络来检测三维图像块里是否包含动脉瘤;在训练好的动脉瘤检测网络的基础上,增加动脉瘤分割网络分支并同时训练3D分类网络和3D分割网络,用来检测三维图像块里是否包含动脉瘤且同时分割出三维图像块里的动脉瘤区域。
进一步地,通过CTA剪影技术去除颅内CTA图像中的颅骨,包括:利用骨窗的窗宽窗位判断颅骨的大致CT值范围以及将增强数据逐层减去平扫数据及像素一对一的CT值相减获得CT值变化较小的颅骨区域,进而去除CTA图像中的颅骨,避免对后续动脉瘤的检查与分割产生影响。
进一步地,通过在CTA图像冠状位、横状位、矢状位层面上选取三维图像块,正样本的Patch包含动脉瘤,负样本区域不包含动脉瘤。
进一步地,通过多个阶段选取负样本,包括:在CTA图像冠状位、横状位、矢状位层面上随机选取不包含动脉瘤区域的3D Pacth;利用训练好的动脉瘤分割网络分割出CTA图像中假阳性动脉瘤区域的三维图像块。
进一步地,通过采样较为均衡的正、负样本训练动脉瘤检测网络,包括:对三维图像块样本进行数据增强;采用3D Resnet结构用于捕获多尺度特征信息后训练并执行动脉瘤检测任务。
进一步地,通过利用预训练好的分类网络增加分割网络分支对动脉瘤进行分割,包括:对三维图像块进行数据增强;在分类网络的基础上增加动脉瘤分割网络分支。
进一步地,对三维图像块样本进行数据增强,包括:在X,Y,Z轴三个方向随机旋转角度α,β,γ;在X,Y,Z轴三个方向随机进行翻转操作;在变换后的空间随机crop固定大小的Patch。
进一步地,通过共享分类网络提取特征模块,增加分割网络分支来分割动脉瘤,包括:采用3D UNet结构用于捕获多尺度信息后训练并执行动脉瘤区域分割任务。
进一步地,通过同时训练分类和分割网络来提高动脉瘤的检测和分割准确性,包括:分类网络和分割网络共享特征提取模块,通过优化Patch分类损失函数以及Patch分割损失函数的加权和共同学习神经网络中的权重参数。
为了实现上述目的,根据本申请的另一方面,提供了一种自动检测与分割颅内CTA图像中动脉瘤区域的装置。
根据本申请的用于自动检测与分割颅内CTA图像中动脉瘤区域的装置包括:接收模块,用于接收待处理的颅内CTA图像;分割模块,用动脉瘤分割网络在CTA图像中采样的三维图像块执行动脉瘤分割;重采样模块,用于通过分割模块分割出的动脉瘤区域进行合并,并基于连通域重采样三维图像块;以及检测模块,用动脉瘤分类网络对所述重采样的三维图像块进行分类,判定是否存在动脉瘤。
进一步地,所述分割模块中的所述分割网络为3D卷积神经网络,包括多尺度模块,所述多尺度模块,采用3D UNet结构用于捕获多尺度信息后训练并执行动脉瘤区域分割任务。
进一步地,所述检测模块中所述分类网络为3D卷积神经网络,包括:多尺度模块,所述多尺度模块,采用3D Resnet结构用于捕获多尺度特征信息训练并执行动脉瘤分类任务。
在本申请实施例中,采用在CTA图像冠状位、横状位、矢状位不同层面上选取三维图像块、多个阶段选取负样本Patch的方式以及数据增强的方式,通过分类网络和分割网络共享特征提取模块以及分类网络和分割网络同时训练的方式,达到了在CTA图像上自动检测和分割动脉瘤区域的目的,通过分割模块的动脉瘤区域分割、重采样模块的重采样三维图像块以及检测模块地进一步验证,进行解决了颅内动脉瘤的精准检测与分割。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的用于自动检测和分割颅内CTA图像上动脉瘤区域方法示意图;
图2是根据本申请实施例的用于自动检测和分割颅内CTA图像上动脉瘤区域分割装置示意图;
图3是根据本申请实施例的整体网络结构示意图;
图4是根据本申请实施例的分类网络结构示意图;
图5是根据本申请实施例的分割网络结构示意图;以及
图6是根据本申请实施例的分类和分割网络共用的特征提取模块结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请基于3D CNN的框架,用于检测和分割在颅内CTA图像上的动脉瘤区域。所提出的方法包括两个网络结构:分类网络和分割网格,且分类网络和分割网络共用特征提取模块。分类网络主要是用来检测输入CTA图像的三维图像块里是否存在动脉瘤。分割网络试图从输入CTA图像的三维图像块块里分割出具体动脉瘤区域的轮廓。为了使得网络能够更好地捕获三维图像块中动脉瘤包含的特征,需在训练集中采集正、负样本较为均衡的三维图像块,用来训练分类网络。由于在第一阶段,负样本是随机选择的并不具备针对性,分类网络能够较容易地训练且较好地区分采样的正、负样本,其中3D ResNet结构用于捕获多尺度下的特征信息。分割网络在共享分类网络提取特征模块的参数,在已有的正、负样本上学习对三维图像块的分割,其中3D UNet结构用于捕获多尺度信息。在训练好分类和分割网络后,先利用分割网络去训练集上整个CTA图像上去做分割,得到一些潜在动脉瘤的联通区域,再在这些联通区域上重新采样三维图像块,通过分类网络来验证是否是真的动脉瘤区域。如果网络预测是为动脉瘤而实际医生未标注这些区域,则视为这些区域为假阳性。然后基于这些假阳性区域去重新采集负样本Patch,因此在第二阶段采集的负样本Patch包括:随机采样的Patch和假阳性区域的Patch。通过新采样的正、负样本重新训练分类和分割网络,同时优化分类损失函数和分割损失函数的加权来共同学习两个网络模块的权重。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
如图1所示,该方法包括如下的步骤1至步骤6:
步骤1,接收待处理的CTA图像数据和医生标注好的在训练集CTA图像上的动脉瘤区域;
对于接收的待处理的CTA图像数据分为训练集和验证集,训练集用来训练动脉瘤的检测网络和分割网络,验证集用来验证动脉瘤检测和分割效果的好坏。
步骤2,CTA剪影技术去除颅内骨性组织结构;
利用骨窗的窗宽窗位判断颅骨的大致CT值范围以及将增强数据逐层减去平扫数据及像素一对一的CT值相减获得CT值变化较小的颅骨区域,进而去除CTA图像中的颅骨,避免对后续动脉瘤的检查与分割产生影响。
步骤3,采集动脉瘤正、负样本的三维图像块数据;
在训练集CTA图像中,根据医生标注的动脉瘤区域,从冠状位、横状位、矢状位层面上选取包含动脉瘤区域某个层面的正样本三维图像块以及不包含任何动脉瘤区域的负样本Patch。
步骤4,利用采集好的正、负样本训练动脉瘤分类网络;
对三维图像块进行数据增强,扩充样本的丰富性。使用3D ResNet网络结构学习多尺度的特征信息用于分类。同时3D ResNet结构也是目前3D图像分类任务中表现最好的方法之一。
步骤5,利用采集好的正、负样本训练动脉瘤分割网络;
对三维图像块进行数据增强,扩充样本的丰富性。分割网络共用分类网络提取特征的模块,并使用3D UNet结构,可以捕获多尺度的信息。同时3D UNet结构也是目前3D图像分割任务中表现最好的方法之一。
步骤6,重新采样正、负样本同时训练动脉瘤分类和分割网络;
利用步骤4和步骤5中训练好的分类网络和分割网络去训练集CTA图像上做分割并根据分割结果重采样三维图像块做分类,得到假阳性Patch,并根据假阳性Patch重新采样负样本;分类和分割网络共享特征提取模块,同时训练分类和分割网络。
从以上的描述中,可以看出,本申请实现了如下技术效果:
在本申请实施例中,通过采集均衡的正、负样本预训练动脉瘤分类网络,继而在分类网络的基础上增加分割网络分支,训练分割网络,再根据预训练好的分类、分割网络分割和检测出动脉瘤潜在的假阳性区域并重新采样负样本训练集,最后优化Patch分类损失函数及Patch分割损失函数的加权和共同学习神经网络中的权重参数,达到同时训练分类和分割网络的效果,进行解决颅内CTA图像上动脉瘤的检测和分割。
优选地,在上述步骤中,正样本的采集涉及到冠状位、横状位、矢状位等多个层面包括:根据动脉瘤区域在冠状位的每个层面上的质心为中心采样三维图像块;根据动脉瘤区域在横状位的每个层面上的质心为中心采样三维图像块;根据动脉瘤区域在矢状位的每个层面上的质心为中心采样三维图像块。
优选地,在上述步骤中,负样本的采集可分为多个阶段包括:随机采样不包括医生标注的动脉瘤区域的三维图像块来预训练动脉瘤分类和分割网络;以及利用预训练好的分类、分割网络分割和检测出动脉瘤潜在的假阳性区域并重新采样负样本训练集;其中第二阶段可重复多次进行。
优选地,在上述步骤中,数据增强多个多个部分:在X,Y,Z轴三个方向随机旋转角度α,β,γ;在X,Y,Z轴三个方向随机进行翻转操作;在变换后的空间随机crop固定大小的Patch。
优选地,在上述步骤中分类过程包括,采用3D ResNet结构用于捕获多尺度特征信息后训练并执行动脉瘤检测任务。
优选地,在上述步骤中分割过程包括,采用3D UNet结构用于捕获多尺度信息后训练并执行动脉瘤分割任务。
优选地,在上述步骤中动脉瘤的检测和分割过程包括,分类网络和分割网络共用多尺度特征提取模块,通过优化Patch分类损失函数及Patch分割损失函数的加权和共同学习神经网络中的权重参数,达到同时训练分类和分割网络的效果。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本申请实施例,还提供了一种用于用于自动检测与分割颅内CTA图像中动脉瘤区域的装置,如图2所示,该装置包括:接收模块,用于接收待处理的颅内CTA图像;分割模块,用动脉瘤分割网络在CTA图像中采样的三维图像块执行动脉瘤分割;重采样模块,用于通过分割模块分割出的动脉瘤区域进行合并,并基于连通域重采样三维图像块;以及检测模块,用动脉瘤分类网络对所述重采样的三维图像块进行分类,判定是否存在动脉瘤。
本申请实施例的接收模块中对于每个颅内CTA图像,使用CTA剪影技术去除图像中骨性组织,利用骨窗的窗宽窗位判断颅骨的大致CT值范围以及将增强数据逐层减去平扫数据及像素一对一的CT值相减获得CT值变化较小的颅骨区域,进而去除CTA图像中的颅骨,避免对后续动脉瘤的检查与分割产生影响。
本申请实施例的分割模块中动脉瘤分割任务在整个颅内CTA图像上进行。使用了基于Patch的3D UNet结构,可以捕获多尺度信息。同时3D UNet结构也是目前3D图像分割任务中表现最好的方法之一。
本申请实施例的重采样模块是基于分割模块计算联通域,并基于联通域的质心在CTA图像上重采样三维图像块;如果存在多个联通域,则对每个联通域均采样三维图像块。
本申请实施例的检测模块中动脉瘤分类任务在重采样模块的三维图像块上进行。使用了基于Patch的3D ResNet结构,可以获取多尺度特征信息。同时3D ResNet也是目前3D图像分类任务中表现最好的方法之一。
作为本实施例中的优选,所述分割模块包括:多尺度模块,所述多尺度模块,用于采用3D UNet结构用于捕获多尺度信息后训练并执行动脉瘤区域分割任务。
作为本实施例中的优选,所述检测模块包括:多尺度模块,所述多尺度模块,用于采用3D ResNet结构用于捕获多尺度特征信息后训练并执行动脉瘤检测任务。
作为本实施例中的优选,所述分割模块和检测模块,均为卷积神经网络,且共用特征提取模块,特征提取模块为多尺度卷积神经网络。
作为本实施例中的优选,执行动脉瘤的检测和分割,并不一定完全按照图2所示的顺序,也可以先执行检测模块,再执行分割模块,甚至检测模块和分割模块可以进行多次组合。
请参考图3至图6,本申请的实现原理如下:
本申请中的方法包括三个模块:采样模块,数据增强模块,检测模块和分割模块。采样模块试图为检测模块和分割模块提供较为均衡的三维图像块。数据增强模块试图增加样本的丰富性,有意分类和分割网络的训练。在检测模块中,使用3D ResNet结构捕获多尺度特征信息,用来判断Patch中是否存在动脉瘤,如图4所示。在分割模块中,使用3D UNet结构捕获多尺度信息,用来分割Patch中动脉瘤的轮廓,如图5所示。其中检测模块和分割模块共用多尺度特征提取模块,如图6所示。
(1)采样模块
由于颅内CTA图像一般都是薄层数据,层厚一般小于1mm,将整个CTA图像(3D数据)作为网络的输入学习动脉瘤的检测和分割存在以下问题:受限于显存,网络不会过于复杂;动脉瘤在整个颅内CTA图像占比非常小,存在严重的数据不均衡问题;小物体分割也比较困难。因此本申请采用基于patch的方式来做动脉瘤的检测和分割。为了降低检测网络的学习难度,本申请会在整个训练集的CTA图像上采集较为均衡的正、负样本三维图像块,正样本为包含医生标注的动脉瘤区域的Patch,负样本为不包含任何医生标注动脉瘤区域的三维图像块。
正样本的采集:正样本的采集会在冠状位、横状位、矢状位等多个层面上采集。对于医生标注的动脉瘤区域在CTA上是一个三维的联通域,将其投影到冠状位层面上,会存在多个动脉瘤在冠状位横截面,每个横截面可近似认为是一个多边形的区域。假设存在nx个横截面,对第i个多边形计算其中心点以为中心在CTA图像空间上采样三维图像块。横状位和矢状位同冠状位类似,假设分别产生了ny和nz个横截面,这样对于一个标注的动脉瘤,就采样了nx+ny+nz个正样本Patch。
负样本的采集:负样本的采集分为多个阶段,首先随机采样不包含任何医生标注的动脉瘤区域的三维图像块,即在CTA图像空间随机选择一个点cx,并以其为中心在CTA图像空间上采样三维图像块,如果该Patch不与医生标注的区域有重合,则视为负样本,否则舍弃。利用该阶段采样的负样本预训练分类和分割网络,再利用训练好的分类和分割网络分割和检测出动脉瘤潜在的假阳性区域,所谓假阳性区域指的是分类和分割网络均认为是动脉瘤的区域却同医生标注的区域没有重合的区域。最后根据这些假阳性区域,利用正样本采集的方法采集负样本。
(2)数据增强模块
由于动脉瘤的数据获取比较困难,因此训练集里动脉瘤的数量有限,为了提高样本的丰富性,本申请利用数据增强模块来模拟其它动脉瘤潜在的形状信息等。数据增强分为多个部分:旋转、翻转和平移。所谓旋转,即在X,Y,Z轴三个方向上随机旋转一定的角度α,β,γ,例如[-10,10]。所谓翻转,即在X,Y,Z轴三个方向随机进行翻转操作,以X轴为例,翻转是指将图像的YZ平面绕X轴旋转180度。所谓平移,由于采样模块中采样的正样本里,动脉瘤所在区域都比较接近Patch的中央部分,而在实际检测和分割CTA图像时,这一条件很难保证,因此需要对Patch数据进行随机crop,即动脉瘤可能存在Patch中的任何区域。
(3)检测模块
使用基于Patch的3D ResNet结构,可以捕获多尺度特征信息,是目前3D图像分类任务中表现最好的方法之一。
如图4所示,具体地,多尺度特征提取模块存在4种分辨率的特征图,再每一种分辨率中,编码部分都是有多个残差网络结构组成,每个残差网络结构里包含多个卷积、BatchNormlization以及ReLU激活函数的组合,之后通过最大池化进行下采样。再最后一层特征,会接一个全局池化层,然后利用全连接网络进行分类。
本申请定义分割模块的输出为f(.),通过图像与对应的标签(x,y),本申请可以定义检测模块的损失函数:
其中xk表示第k个Patch的图像,yk表示第k个Patch是否包含动脉瘤,N为所有Patch的数量。
(4)分割模块
使用基于Patch的3D UNet结构,可以捕获多尺度信息,是目前3D图像分割任务中表现最好的方法之一。
如图5所示,具体地,在分割模块包括编码部分和解码部分。每个部分都包括四种分辨率的特征图,在每一种分辨率中,编码部分都是有多个残差网络结构组成,每个残差网络结构里包含多个卷积、Batch Normlization以及ReLU激活函数的组合,之后通过最大池化进行下采样;而解码部分是一个反卷积用于上采样,接多个残差网络结构,解码部分每一层的输入是上一层的输出以及对应相同分辨率的编码部分的特征图。
本申请定义分割模块的输出为g(.),通过图像与对应的标签(x,y),本申请可以定义检测模块的损失函数:
其中,xk表示第k个Patch的图像,yk表示第k个Patch图像中动脉瘤的mask。
(5)分割和检测联合优化如图6所示,检测模块和分割模块共享多尺度特征提取模块,包括四种分辨率的特征图,在每一种分辨率中,编码部分都是有多个残差网络结构组成。通过优化L=Lcls+LSeg来共同学习检测模块和分割模块的参数。
(6)实验结果
本申请使用颅内CTA图像数据集来验证提出的方法。数据集包含训练集T和验证集V,T包含334个数据,V包含100个数据。CTA数据的大小为512x512x(200-500),用于模型训练的patch从颅内区域中得到,大小为96x96x96,数据增强模块random crop的大小为64x64x64。在测试集V上目前取得的效果是动脉瘤检测的召回是98.02%,101个动脉瘤检出99个,分割的Dice值为0.7881,每个CTA图像数据里检出了0.65个假阳性区域。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。