本发明涉及图像处理领域及深度学习领域,特别涉及肿瘤半自动分割网络的搭建以及训练推理方法,属于基于深度学习的医学影像分析领域。
背景技术:
神经纤维瘤病是一种常染色体的显性遗传病,主要症状为皮肤牛奶咖啡斑和周围多发性神经纤维瘤,患病率为十万分之三,常见病症遍布全身,有颅内听神经瘤,脊髓瘤,视神经胶质瘤等,如不及时治疗,会恶化引发严重的并发症。基于mri等医学影像精确分析肿瘤体积、形状等信息,能辅助医生制定治疗方案。传统上,医学影像需要放射医师一片一片地标注器官和肿瘤区域,这十分耗时,而且不同医师判别准则也有差异。因此,计算机辅助肿瘤分割成为了一个强烈需求。相较于器官分割,神经纤维瘤分割的难度有:1)不同样本之间肿瘤形状、大小、位置、数量差异极大;2)很多肿瘤边界不清晰,限制了许多基于边缘分割的方法;3)不同mri扫描的采样协议各不相同,清晰度、对比度也有差异,各向异性大,z轴方向间距变化大。
为了准确找到每个肿瘤,往往需要借助医生的勾画,而传统半自动方法往往需要医生对于每个肿瘤给出一定量的信息,甚至需要大量繁琐的用户标注,而且分割结果也不太平滑。近年来,基于深度神经网络的全自动医学影像分割方法取得了突破,其中nnu-net(一种基于u-net的自适应医学图像分割框架)可以对于任何给定的医学数据集进行分析,自适应搭建模型,进行训练分割。但是神经纤维瘤有着分布范围遍及全身、数量多、结构复杂多变、边界模糊等难题,基于深度神经网络的方法表现欠佳,往往出现大量的假阳(falsepositive,fp)和假阴(falsenegative,fn)区域,查全率(recall)也比较低。
技术实现要素:
为了克服全自动与半自动分割方法在神经纤维瘤分割问题上难度大、效率低下、准确率低等不足,本发明基于nnu-net框架,结合空间引导,提出一种新的深度交互网络模型,通过模拟交互训练,不仅可以自动给出分割结果,还能接受用户的勾画来修正输出结果。
本发明所采用的技术方案是:
一种结合空间引导的神经纤维瘤分割方法,包括以下步骤:
步骤一,基于nnu-net的数据集分析策略,对训练样本图像及标签进行数据预处理,包括裁剪,数据集分析,重采样和归一化;
步骤二,根据步骤一数据集分析得到的网络超参数构建网络实例,以nnu-net为主干网络并增加空间引导分支(spatialguidebranch);
步骤三,基于块的训练(patch-basedtraining),由训练标签生成空间引导模拟用户交互信息,空间引导随机置零,让网络不仅能学会响应引导信息,也能在无引导下自动分割;
步骤四,首先对测试数据预处理,其次空间引导分支传入零张量,进行自动推理。然后用户对于假阳和假阴区域进行点击,生成空间引导,与测试数据一同传入网络,再次得到分割结果,循环此操作,直到用户满意为止;
优选的,所述步骤一中,对原始数据预处理的过程为:
步骤1.1裁剪:将mri数据集非零区域裁剪出来,减少数据尺寸大小;
步骤1.2数据集分析:分析训练样本体素间距(voxelspacing),前景及背景类对应坐标、体素量、连通类信息等来确定重采样与归一化的超参数。通过给定资源(gpu显存,默认12g)和数据信息自适应计算合理的网络超参数,如下采样次数,卷积核尺寸,池化核尺寸,块大小(patchsize),批大小(batchsize)等;
步骤1.3重采样:由于数据可能来自不同机构的不同设备,因此体素间距不统一,需要进行重采样。根据步骤1.2分析确定体素间距等信息,对数据进行重采样,若体素间距各向同性(isotropic),则用三次样条插值;若体素间距各向异性(anisotropic),为了防止插值伪影(interpolationartifact),则改为xy平面内用三次样条插值,z方向用近邻插值,对应的标签用线性插值;
步骤1.4归一化:mri数据集对于每个样本非零区域进行z-score归一化,公式为:
优选的,所述步骤二中,网络结构如下:
步骤2.1空间引导分支是一系列池化、卷积、归一化、非线性操作排列,此处卷积核为1,输入大小为1x块大小,每个非线性输出为nxfeaturesize的空间引导张量,其中n和featuresize分别是所对应主干网络每个阶段的卷积层数量和卷积层输出张量大小;
步骤2.2主干网络是nnu-net,输入为图像通道x块大小的样本块,输出为类别数x块大小的张量,经过softmax映射之后再二值化得到独热编码(one-hotencoding)的分割结果;
步骤2.3加入空间引导。除了nnu-net编码器的第一阶段和最后一阶段,对于其他阶段的每个卷积、归一化、非线性层,将空间引导直接加到归一化输出上。
优选的,所述步骤三中,神经网络基于块的训练的过程为:
步骤3.1随机分5折验证;
步骤3.2数据读取及批(batch)制作:设置过采样率为1/3,即规定每个批至少有1/3的样本有前景类。随机取n(batchsize)个图像,按照块大小(patchsize)在数据上随机裁下数据和对应标签,作适当的填充;对于后1/3的图像强制裁前景类,随机选一个前景点为中心裁下来,若无前景类,则随机裁;
步骤3.3对数据进行放缩变换,弹性形变,旋转变换,gamma校正,按各轴镜像翻转等数据增强。如果块大小各边长差距过大即各向异性,则将3d样本转化为2d(把数据的某根轴与通道合并)进行数据增强,然后再转化回3d数据送入网络;
步骤3.4使用数据增强之后的标签计算生成空间引导,模拟用户交互;
步骤3.5损失函数定义为交叉熵损失与dice损失之和,表达式为:
其中,
步骤3.6在线验证度量:定义为前景类全局dice的平均值:
优选的,所述步骤四中,自动与半自动推理过程为:
步骤4.1对测试数据预处理;先裁剪,然后用训练数据的超参数进行重采样和归一化;
步骤4.2基于块的推理(patch-basedinference)。对于每个测试数据,采用滑窗方式推理,从顶点开始截取一个块大小(patchsize)数据进行推理,接着移动
步骤4.3测试时数据增强(testtimeaugmentation,tta)。对于每个块(patch)关于xyz轴镜像翻转8次推理得到的softmax求平均,作为这个块的推理输出;
步骤4.4加入用户引导;首先是不提供空间引导网络进行自动分割,即空间引导分支传入一个零张量,得到粗分割结果,根据用户需要进行后处理,保留最大前景连通类去掉背景误分割;对于粗分割的结果,用户只需要在假阳和假阴区域点击,则根据用户交互生成一张空间引导标签,并根据空间引导标签可以生成空间引导张量,传入模型,进行再次推理。直到用户满意为止。
本发明结合了空间引导进行神经纤维瘤的分割,通过模拟交互训练使网络不仅能给出较好的自动分割结果,而且允许用户交互对分割进行修正。与现有方法相比,其有益效果在于:
1.经过模拟交互训练的网络,在推理中可以加入用户勾画信息,使之相比普通全自动肿瘤分割方法,在肿瘤分割结果上dice和查全率都能提高。
2.网络经过训练仍具有极好的全自动分割效果,给出一个合理的粗分割,用户只需要在此基础上进行点击微调,相比于传统半自动分割,这样可以大幅减轻使用者的勾画负担;其次,神经网络的预测结果相比传统半自动方法更平滑。
附图说明
图1是分割方法的流程图。
图2是数据预处理的示意图。
图3是网络结构的示意图。
图4是网络训练过程示意图。
图5是推理过程示意图。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1-图5,一种结合空间引导的神经纤维瘤分割方法,包括以下步骤:
步骤一,本步骤基于nnu-net的数据集分析策略,对训练样本图像及标签进行数据预处理,包括裁剪,数据集分析,重采样和归一化;
步骤二,根据第一步数据集分析得到的网络超参数构建网络实例,以nnu-net为主干网络并增加空间引导分支(spatialguidebranch);
步骤三,基于块的训练(patch-basedtraining),由训练标签生成空间引导模拟用户交互信息,空间引导随机置零,让网络不仅能学会响应引导信息,也能在无引导下自动分割;
步骤四,首先对测试数据预处理,其次空间引导分支传入零张量,进行自动推理。然后用户对于假阳和假阴区域进行点击,生成空间引导,与测试数据一同传入网络,再次得到分割结果,循环此操作,直到用户满意为止;
进一步,所述步骤一中,对原始数据预处理的过程如图2所示,具体为:
步骤1.1将mri数据集非零区域裁剪出来;
步骤1.2数据集分析。分析训练样本体素间距(voxelspacing),前景及背景类对应坐标、体素量、连通类信息等来确定重采样与归一化的超参数。通过给定资源(gpu显存,默认12g)和数据信息自适应计算合理的网络超参数,如下采样次数,卷积核尺寸,池化核尺寸,块大小(patchsize),批大小(batchsize)等;
步骤1.3重采样。根据步骤1.2分析确定体素间距等信息,对数据进行重采样,若体素间距各向同性(isotropic),则用三次样条插值;若体素间距各向异性(anisotropic),即z轴间距比上xy平面间距大于3,为了防止插值伪影(interpolationartifact),则改为xy平面内用三次样条插值,z方向用近邻插值,对应的标签用线性插值;
步骤1.4归一化。mri数据集对于每个样本非零区域进行z-score归一化,公式为:
所述步骤二中,网络结构如图3所示,具体为:
步骤2.1空间引导分支是一系列池化、卷积、归一化、非线性操作排列,此处卷积核为1,输入大小为1x块大小,每个非线性输出的大小为nxfeaturesize的空间引导张量,其中n和featuresize分别是所对应主干网络每个阶段的卷积层数量和卷积层输出张量大小;
步骤2.2主干网络是nnu-net,输入大小为图像通道x块大小的样本块,输出为类别数x块大小的张量,经过softmax映射之后再二值化得到独热编码(one-hotencoding)的分割;
步骤2.3加入空间引导。除了nnu-net编码器的第一阶段和最后一阶段,对于其他阶段的每个卷积、归一化、非线性层,我们将空间引导直接加到归一化输出上。
空间引导输入的计算如下:
假设用户点击了
其中,
同理,
则体素
显然,空间引导取值
所述步骤三中,神经网络基于块的训练的过程如图4所示,具体过程如下:
步骤3.1随机分5折验证;
步骤3.2数据读取及批(batch)制作:设置过采样率为1/3,即规定每个批至少有1/3的样本有前景类。具体操作为,随机取n(batchsize)个图像,按照块大小(patchsize)在数据上随机裁下数据和对应标签,作适当的填充。对于后1/3的图像强制裁前景类,随机选一个前景点为中心裁下来,若无前景类,则随机裁;
步骤3.3数据增强,包括放缩变换,弹性形变,旋转变换,gamma校正,按各轴镜像等操作。如果块大小(patchsize)各边长差距过大即各向异性,则数据增强只能将3d样本转化为2d(把数据的某根轴与通道合并)进行数据增强,然后再转化回3d数据送入网络;
步骤3.4空间引导。训练时使用数据增强之后的标签计算生成空间引导,模拟用户交互,具体操作为:对于每个标签找连通类,每个连通类寻找中心,中心的坐标定义为连通类坐标的中位数。
步骤3.5训练损失函数定义为交叉熵损失与dice损失之和,表达式为:
其中,
步骤3.6在线验证度量。定义为前景类全局dice(globaldice)的平均值:
其中,第
所述步骤四中,自动与半自动推理过程如图5所示,其过程为:
步骤4.1对测试数据预处理:首先裁剪;其次重采样和归一化用的是训练数据的超参数;
步骤4.2基于块的推理(patch-basedinference):对于每个测试数据,采用滑窗方式推理,从顶点开始截取一个块大小(patchsize)数据进行推理,接着移动
步骤4.3测试时数据增强(testtimeaugmentation,tta):对于每个块(patch)关于xyz轴镜像翻转8次推理得到的softmax求平均,作为这个块的推理输出;
步骤4.4加入用户引导:首先是不提供空间引导网络进行自动分割,即空间引导分支传入一个零张量,得到粗分割结果,根据用户需要进行后处理,保留最大前景连通类去掉背景误分割;对于粗分割的结果,用户只需要在假阳和假阴区域点击,则根据用户交互生成一张空间引导标签,并根据空间引导标签可以生成空间引导张量,传入模型,进行再次推理。直到用户满意为止。
以下为本发明在具体使用过程中的一个应用举例:本案例中使用的神经纤维瘤mri影像只有一个前景类,即肿瘤。总共125例样本,选取80例样本作为训练集,20例验证集,25例样本作为测试集,重采样的体素间距为(10.0,1.5,1.5),样本大小的中位数为
步骤一,构造过程,分割网络的结构如图3所示,具体构建过程为:
步骤1.1分割网络主要包含主干基础网络和空间引导分路两大部分,本实施例中,主干基础网络选择了nnu-net的三维全分辨率(3dfullres)网络,根据数据集的分析,产生的网络结构超参数为:
编码部分:一共8个阶段,每个阶段2个卷积层,每个卷积层为卷积、归一化、非线性结构,其中归一化采用实例归一化(instancenormalization),非线性函数采用leakyrelu;输入块大小(patchsize)为
解码部分:使用反卷积上采样,每次上采样后接着2个卷积层;
空间引导分支:使用连续6个池化、卷积、归一化、非线性结构,其中池化采用平均池化,卷积采用(1,1,1)卷积核,归一化采用实例归一化,非线性函数采用leakyrelu,每个非线性的输出直接加到主干网络2~7阶段的每个卷积、归一化、非线性层的归一化的输出上;
步骤二,神经网络模型训练过程如图4所示,具体训练过程如下:
步骤2.1卷积核所有参数权重权重正则化方式为l2正则,偏置值初始化为0;
步骤2.2本实例采用python语言编程,利用pytorch框架搭建网络。模型采用基于块的训练的方式,通过批随机梯度下降法进行训练。训练集生成器每批样本数批大小(batchsize)均为2,其余配置不变;
步骤三,神经网络自动与半自动推理过程如图5,具体如下:
步骤3.1载入模型,将预处理完毕的影像测试集样本和零张量输入模型,得到自动分割结果;
步骤3.2用户根据分割结果,对假阳和假阴区域进行点击,生成引导标签,根据引导标签生成空间引导,和测试样本一起再次传入网络,进行预测;重复此步,直到用户满意为止;
经过上述步骤的操作,即可实现用于神经纤维瘤的神经网络的构建、训练与测试。
本发明通过采用了基于nnu-net框架,结合空间引导,提出一种新的深度交互网络模型,通过模拟交互训练,不仅可以自动给出分割结果,还能接受用户的勾画来修正输出结果;相较于现在的全自动肿瘤分割方法,在肿瘤分割结果上dice和查全率达到了有效的提高;相比于传统半自动分割,该方法用户只需要这样可以大幅减轻使用者的勾画负担;用户只需要在假阳和假阴区域点击即可,操作方便,可以完成自动分割,也可以接受用户引导修正分割,在神经纤维瘤上取得较好结果。
以上所述的具体描述,对发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例,用于解释本发明,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
1.一种结合空间引导的神经纤维瘤分割方法,其特征在于:所述方法包括以下步骤:
步骤一,本步骤基于nnu-net的数据集分析策略,对训练样本图像及标签进行数据预处理;
步骤二,根据第一步数据预处理得到的网络超参数构建网络实例,以nnu-net为主干网络并增加空间引导分支(spatialguidebranch);
步骤三,基于块的训练(patch-basedtraining),由训练标签生成空间引导模拟用户交互信息,空间引导随机置零,让网络不仅能学会响应引导信息,也能在无引导下自动分割;
步骤四,根据测试数据进行自动推理以及结合空间引导的半全自动推理。
2.根据权利要求1所述的一种结合空间引导的神经纤维瘤分割方法,其特征在于:所述的步骤一中数据预处理包括裁剪,数据集分析,重采样,归一化。
3.根据权利要求1所述的一种结合空间引导的神经纤维瘤分割方法,其特征在于:所述步骤二中,网络结构如下:
步骤2.1空间引导分支是一系列池化、卷积、归一化、非线性操作排列,此处卷积核为1,输入大小为1x块大小,每个非线性输出为nxfeaturesize的空间引导张量,其中n和featuresize分别是所对应主干网络每个阶段的卷积层数量和卷积层输出张量大小;
步骤2.2主干网络是nnu-net,输入大小为图像通道x块大小的样本块,输出为类别数x块大小的张量,经过softmax映射之后再二值化得到独热编码(one-hotencoding)的分割;
步骤2.3加入空间引导;除nnu-net编码器(encoder)的第一阶段(stage)和最后一阶段,对于其他阶段的每个卷积、归一化、非线性层,将空间引导直接加到归一化输出上。
4.根据权利要求1所述的一种结合空间引导的神经纤维瘤分割方法,其特征在于:所述步骤三中,神经网络基于块的训练过程为:
步骤3.1随机分5折验证;
步骤3.2数据读取及批(batch)制作:设置过采样率1/3,即规定每个批至少有1/3的样本有前景类;
步骤3.3数据增强;
步骤3.4空间引导;训练时使用数据增强之后的标签计算生成空间引导,模拟用户交互;
步骤3.5训练损失函数定义为交叉熵损失与dice损失之和,表达式为:
其中,
步骤3.6在线验证度量:定义为前景类全局dice(globaldice)的平均值:
5.根据权利要求4所述的一种结合空间引导的神经纤维瘤分割方法,其特征在于:所述的步骤3.2中具体操作为随机取n(batchsize)个图像,按照块大小在数据上随机裁下数据和对应标签,作适当的填充;对于后1/3的图像强制裁前景类,随机选一个前景点为中心裁下来,若无前景类,则随机裁。
6.根据权利要求4所述的一种结合空间引导的神经纤维瘤分割方法,其特征在于:所述的步骤3.3中数据增强包括对数据进行放缩变换,弹性形变,旋转变换,gamma校正,按各轴镜像翻转等。
7.根据权利要求4所述的一种结合空间引导的神经纤维瘤分割方法,其特征在于:所述的步骤3.3中如果块大小各边长差距过大即各向异性,则将3d样本转化为2d(把数据的某根轴与通道合并)进行数据增强,然后再转化回3d数据送入网络。
8.根据权利要求1所述的一种结合空间引导的神经纤维瘤分割方法,其特征在于:所述步骤四中,自动与半自动推理过程为:
步骤4.1对测试数据预处理:首先裁剪;其次重采样和归一化用的是训练数据的超参数;
步骤4.2进行自动推理;首先是不提供空间引导网络进行自动分割,即空间引导分支传入一个零张量,得到粗分割结果,根据用户需要进行后处理,保留最大前景连通类去掉背景误分割;
步骤4.3加入用户引导:对于粗分割的结果,用户只需要在假阳和假阴区域点击,则根据用户交互生成一张空间引导标签,并根据空间引导标签可以生成空间引导张量,传入模型,进行再次推理;并进行循环处理;直至最终结果。
9.根据权利要求8所述的一种结合空间引导的神经纤维瘤分割方法,其特征在于,所述的推理过程中包括基于块的推理(patch-basedinference):对于每个测试数据,采用滑窗方式推理,从顶点开始截取一个块大小(patchsize)数据进行推理,接着移动
10.根据权利要求8所述的一种结合空间引导的神经纤维瘤分割方法,其特征在于,所述的推理过程中需要对测试数据增强(testtimeaugmentation,tta):对于每个块(patch)关于xyz轴镜像翻转8次推理得到的softmax求平均,作为这个块的推理输出。
技术总结