基于轻量化3D卷积神经网络的颅内动脉瘤自动分割系统

文档序号:29165405发布日期:2022-03-09 02:19阅读:392来源:国知局
基于轻量化3D卷积神经网络的颅内动脉瘤自动分割系统
基于轻量化3d卷积神经网络的颅内动脉瘤自动分割系统
技术领域
1.本发明涉及医学影像领域,特别是涉及一种基于轻量化3d卷积神经网络的颅内动脉瘤自动分割系统。


背景技术:

2.颅内动脉瘤(intracranial aneurysms,ias)是一种常见的具有高致残和致死性的颅内血管疾病。及时的诊断和治疗能有效的降低ias患者的致残率/死亡率。准确的分割能提供包括ias的体积、形态和位置等信息,可以帮助医生做出准确的病情评估和后期的治疗计划。目前ias的分割主要依赖于人工标注。标注过程枯燥、费时费力并且标注的结果容易收到人员内在因素的影响(例如标注者的经验、心情等)。因此临床急需一种快速、稳定和准确的ias分割方法。
3.近年来,受益于深度学习特别是卷积神经网络技术的快速发展(例如unet,resnet,densenet,attention等),基于深度学习的方法已经在多个医学图像处理任务中取得了突破性进展,例如肺结节的检测、肺部管脉系统的分割(支气管、肺静脉、肺动脉等)、虚拟超声等。目前基于深度学习的方法凭借其强大的特征提取能力已经取代传统方法(例如水平集,阈值分割等)成为医学图像分析的主流。目前对于ias的准确分割仍然是一个富有挑战性的任务,这主要由于以下几个方面造成:
4.1)ias体积很小。如图1所示,ias只占据整个图像很小的一部分(《0.05

),这意味着模型训练过程中将面临严重的前景-背景不平衡,如果不能得到有效的处理,会导致网络精度降低,更严重者会干扰模型优化导致网络完全失效;
5.2)不同ias之间的形态、位置、和大小差异很大,这在一定程度上阻碍了ias的自动分割;
6.3)ias和周围的血管在形态上差异度很小,在分割过程中常常会造成错误分割或者遗漏,这在很大程度上干扰了模型对ias的准确分割,如图1所示。
7.根据网络输入的不同可以大致将深度学习的方法分为两类:2d cnns和3d cnns,这两种方法各有优缺点。2d cnns利用二维图像切片(slice)的组合作为网络的输入,因此通常情况下拥有更多的训练样本。此外,2d cnns结构简单,有很成熟的研究体系,一些突破性的进展往往是在2d cnns实现的然后再拓展到3d cnns网络,因此利用2d cnns进行医学图像分割有很多可借鉴的地方,同时可以利用预训练模型进行网络初始化提高分割效果。但是前期利用2d cnns进行ias分割时我们发现,分割的结果会出现严重的过分割,即将部分动脉也分割为动脉瘤,且分割边缘精度较差,三维轮廓不平滑,难以满足临床评估的需求,这主要由于——尽管利用多角度(矢状位、冠状位和横断位进行ias)分割能再一定程度上缓解上述现象,但仍存在一定程度的过分割和遗漏现象。3d cnns以体数据块组合的patch作为网络额输入能很好的利用医学图像的空间特征信息,提高整体的分割效果,但是直接对整个颅内图像采用3d cnn网络进行训练,硬件上需要大显存gpu,算法上由于样本不平衡问题很难收敛。3d cnns往往参数较大,会增大整体分割系统的复杂性和存储负担。此
外3d cnns测试过程往往耗时较长,这在一定程度上干扰了其临床应用。


技术实现要素:

8.本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种基于轻量化3d卷积神经网络的颅内动脉瘤自动分割系统。
9.为了实现本发明的上述目的,本发明提供了一种基于轻量化3d卷积神经网络的颅内动脉瘤自动分割系统,包括:
10.样本预处理模块:提取范围为[a,b]的hu值,然后归一化到[0,1];a优选为1900,b优选为2500。
[0011]
样本生成模块:采用滑动窗口的方法得到样本,然后采用训练样本平衡法对样本进行训练;
[0012]
网络训练模块:将样本输入到网络中进行训练;
[0013]
识别模块:采用由粗到细的分割策略,获得分割结果;
[0014]
样本预处理模块的输出端与样本生成模块的输入端相连,样本生成模块的输出端与样本生成模块的输入端相连,样本生成模块的输出端与网络训练模块的输入端相连,网络训练模块的输出端与识别模块的输入端相连。
[0015]
进一步地,所述样本生成模块中的采用滑动窗口的方法包括:
[0016]
将目标调整到样本的不同位置,同时在目标区域降低采样距离。
[0017]
进一步地,所述样本生成模块中的采用训练样本平衡法包括:
[0018]
s-1,第一轮的训练样本采用全部的正样本进行网络的优化,之后的轮次随机选择一部分负样本和全部的正样本进行组合作为训练集,其中正样本与负样本的之比为1:1;
[0019]
s-2,随机生成patch进行网络的优化。
[0020]
进一步地,所述网络训练模块中的网络包括:
[0021]
分割网络采用encoder-decoder模式,包括encoder模块和decoder模块,其中encoder模块采用可分离卷积和传统卷积块的堆叠进行特征提取,利用步长为2的最大池化操作降低特征的空间分辨率;decoder模块利用转置卷积将encoder模块提取的特征图谱恢复到原始图像大小,并对图像中的每一个像素进行分类。
[0022]
进一步地,所述网络训练模块的损失函数为:
[0023][0024]
表示主损失函数;
[0025]
表示第一辅助损失函数;
[0026]
表示第二辅助损失函数;
[0027]
β1表示第一权重;
[0028]
β2表示第二权重;
[0029]
y表示标注的标签;
[0030]
表示网络最后一层的输出;
[0031]
表示网络倒数第二层的输出;
[0032]
表示网络倒数第三层的输出。
[0033]
进一步地,所述网络训练模块还包括:
[0034]
训练过程中根据以下公式逐渐降低学习速率:
[0035][0036]
其中,lr表示学习速率;
[0037]
lr
initial
表示初始学习速率;
[0038]
iterations表示迭代次数;
[0039]
totaliterations表示总的迭代次数。
[0040]
进一步地,所述由粗到细的分割策略包括:
[0041]
在粗分割阶段,利用通道和输入的3dpatch大小不同的模型对目标进行分割,完成目标的粗定位;
[0042]
然后将不同模型的分割结果进行融合得到粗分割结果,利用粗分割结果获取目标区域,再对目标区域计算最大包围框,把包围框内的图像剪切出来,最后对剪切的图像进行精细分割。
[0043]
进一步地,所述精细分割包括:
[0044]
通过dice系数评价标准选择粗分割中效果最好的网络作为精细分割的模型。
[0045]
综上所述,由于采用了上述技术方案,本发明能够快速、稳定和准确的分割颅内动脉瘤。
[0046]
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
[0047]
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0048]
图1是本发明的动脉瘤示意图。
[0049]
图2是本发明的样本平衡方法示意图。
[0050]
图3是本发明基于空间调整和密集采样的动脉瘤正样本增强示意图。
[0051]
图4是本发明基于多模型融合的由粗到细颅内动脉瘤分割示意图。
[0052]
图5是本发明网络主要卷积结构示意图。
[0053]
图6是本发明网络结构示意图。
[0054]
图7是本发明动脉瘤分割结果示意图。
具体实施方式
[0055]
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0056]
针对现有方法存在的问题,本发明提出了一种基于轻量化3d卷积神经网络的颅内
动脉瘤自动分割体系,以解决ias分割过程中的样本不平衡问题、过分割和遗漏问题、模型参数大部署困难、测试耗时长以及整体分割效果差等问题。
[0057]
本发明提出了一种基于采样技术的训练样本平衡方法。采用滑动窗口的方法进行训练样本的生成。统计正样本的数目(包含目标的样本)和负样本的数目(不包含目标的样本)。在训练的过程中,我们第一轮(epoch)的训练样本采用全部的正样本进行网络的优化即热激活(对网络进行快速训练,使得网络快速收敛),在随后的轮次中我们随机选择一部分负样本(可重复选择)和全部的正样本进行组合作为训练集,即训练集的正负样本的比例为1:1;然后随机生成patch进行网络的优化,如图2所示。这样处理能有效地避免极端正负样本不平衡导致模型无法收敛的情况出现。
[0058]
迭代这个过程直到训练结束,而不是通过控制训练patch中正负样本的比例,这样处理有以下好处:
[0059]
a)能有效的利用负样本的特征信息又能有效的避免过多负样本造成的数据不平衡问题;
[0060]
b)增加了训练样本patch的组合,能有效的缓解3d cnn网络优化过程中的过拟合问题;
[0061]
c)缓解训练过程中和测试过程中数据分布鸿沟问题。优选地在训练过程中我们设置正负样本的比例为1:1。
[0062]
本发明提出了一种有效的正样本增强方法。在样本生成过程中我们根据目标位置信息的调整和采样距离的调整来实现正样本的增强。如图3所示,根据标签信息,在采样的过程中我们分别根据滑动窗口采样的结果对每个正样本进行扩增,将目标调整到样本的不同位置(上、下、左、右、中等)。此外我们在目标区域通过降低采样距离实现密集采样主要通过调控滑动窗口的步长。这样处理既能有效的增加正样本的数目,又能有效地缓解在训练过程和测试过程中的数据分布鸿沟问题,进而提高分割效果。
[0063]
本发明提出了一种轻量化的3d cnns构建方法。轻量化网络的整体框架采用encoder-decoder结构,其中encoder模块负责提取丰富的语义特征信息,decoder模块则通过逐层的上卷来将语义特征恢复到原始图像大小,并对图像中的每一个像素进行分类。轻量化网络encoder阶段的构建基于shuffnet,moblienet等2d轻量化网络,将其中的2d可分离卷积替换成对应的3d可分离卷积;decoder阶段的构建则利用3d unet的decoder结构,并将其中的卷积块替换成可分离卷积。
[0064]
本发明提出了一种两阶段的由粗到细的训练方法。如图4所示分割体系整体上采用由粗到细的策略,在粗分割阶段实现目标的粗定位,在精细分割阶段实现目标的精细分割。在医学图像分割中单一的分割模型很难达到理想的分割效果,采用多模型融合能有效的提高分割的结果。前期的研究中我们发现目标的准确定位是动脉瘤分割的关键,因此与其他研究不同,我们在粗分割阶段而不是在精细分割阶段采用多模型融合策略,利用不同的配置的模型(通道和输入的3dpatch大小不同)即3d cnn1,3d cnn2,3d cnn3对目标进行分割,完成目标的粗定位。然后将3个分割的结果进行融合后,得到粗分割结果,然后利用粗分割结果获取目标区域,再对目标区域计算最大外接矩(包围框),然后把包围框内的图像剪切出来,再对剪切的图像进行精细分割。
[0065]
在精细分割阶段可以采用多个网络模型进行训练也可以采用单个模型进行训练。
[0066]
若采用单个模型进行训练,则通过dice系数评价标准选择粗分割中效果最好的网络作为精细分割的模型,然后剪切,再进行动脉瘤的精细分割。
[0067]
具体的实施例如下:
[0068]
本发明用x和y分别表示原始医学图像和其对应的手工标准结果,x和y的大小均为w
×h×
d,w、h和d分别表示从矢状面、冠状面和横断面观察到的slice的数目。用g(η,x,z)表示训练样本生成函数,其中z表示分割结果,η表示采样参数。本发明采用滑动窗口的方法进行样本的采样,因此η={s,r},其中s表示样本的大小,r表示相邻样本之间的重合大小。用p=f(x,θ)表示分割模型,其中θ表示网络参数,p表示预测结果的概率图谱。如图4所示,ias的分割整体上采用由粗到细的分割策略。
[0069]
1、样本预处理
[0070]
首先采用阈值分析的方法来去除原始图像中的骨骼等组织,提取范围为[1900,2500]的hu值,然后再归一化到[0,1]。其中hu值的定义为:计算机断层扫描ct中普遍使用的无量纲单位,用于标准、便捷的表达ct数值。
[0071]
2、训练样本生成
[0072]
以3d cnn2的模型训练为例,在训练和测试过程均采用滑动窗口的方法进行样本的生成,样本的大小s=[32,64,64]。在训练阶段首先采用r=[8,16,16]在整个原始图像上进行采样。然后根据标签信息采用r=[16,32,32]对目标区域进行密集采样。同时采用位置调整的方法对正样本进行增强,对滑动窗口采样的结果进行有针对性的采样,改变目标在样本中的位置。在测试阶段采用同样的方法,只是在密集采样过程中是根据预测结果确定目标的位置。
[0073]
3、模型构建
[0074]
利用pytorch学习库进行3d cnn网络搭建,分割网络采用经典encoder-decoder模式。如图6所示,encoder模块采用可分离卷积和传统卷积块的堆叠进行特征提取,利用步长为2的最大池化操作来降低特征的空间分辨率;首先采用3
×3×
3的卷积块3d convblock进行特征的提取,然后采用3个3
×3×
3的3d shuffblock的堆叠进行高层语义特征的进一步提取。其中3d convblock、3d shuffblock的具体网络结构见图5。
[0075]
3d upblock的具体网络结构见图5,其作用是将语义信息更丰富的高层卷积特征层和细节信息丰富的低层卷积特征进行融合,降低网络在特征提取过程中的信息丢失。采用步长为2的3
×3×
3转置卷积(transconv)将高层卷积特征恢复到和低层特征相同的大小,利用步长为1的3
×3×
3卷积对低层语义特征进行处理,缓解高层特征和底层特征之间的语义鸿沟。将处理后的高层特征和低层特征进行拼接,然后利用3d shuffblock对拼接后的特征进行处理。
[0076]
decoder模块利用转置卷积将encoder模块提取的包含语义信息的特征图谱逐渐恢复到原始图像大小,并对图像中的每一个像素进行分类。网络结构如6所示。3个模型结构只是在通道上和模型输入3d patch大小上具有差异分别记为:3d cnn1,3d cnn2,3d cnn3,在encoder阶段的输入通道分别为[16,32,64,128],[32,64,128,256]和[64,128,256,512];输入3d patch大小分别是[32,96,96],[32,64,64]和[32,48,48]。在每个模型中均有2个辅助损失层和一个主要损失层。
[0077]
在encoder和decoder之间,利用可分离卷积块来进行底层信息与高层信息进行融
合,以增强边缘的分割效果。
[0078]
本发明采用的3d cnn网络的创新带点在于:
[0079]
a)将2d的轻量化网络技术应用于3d cnn网络中;
[0080]
b)采用的是浅层网络策略,我们的网络只有4个stage即只进行了4次下采样,这样处理能有效的缓解在特征提取和恢复过程中的细节丢失,提高网络的分割效果,同时浅层轻量化3d网络也能有效的缓解传统3d cnns预测耗时的问题。因为传统3d cnns采用的是传统的3d卷积且网络较深,这限制了模型输入图像的大小和batch,这意味处理同一个ct序列需要更多的迭代次数从而比较耗费时间。
[0081]
4、网络训练
[0082]
收集公开的cta数据109套,层厚1mm,大小为220
×
256
×
256。随机选取90套作为训练集,9套作为验证集,10套作为测试集。采用上述的数据处理方法和样本生成方法进行训练样本的生成,在pytorch环境下完成模型的训练。在粗分割阶段分别训练3个不同的3d cnns得到对应的粗分割模型p1=f(x,θ),p2=f(x,θ),p3=f(x,θ),完成目标的定位工作。在精细分割阶段将3个模型的分割结果进行融合得到粗分割结果,然后利用粗分割结果获取目标区域。利用滑动窗口的方法在目标区域上进行采样生成精分割的训练样本(以3d cnn2模型为例此阶段的r=[16,32,32],s=[32,64,64])进行精细分割。在精细分割阶段可以采用多个网络模型进行训练也可以采用单个模型进行训练。
[0083]
模型训练过程中采用adam优化器,利用加权dice系数作为网络的损失函数。
[0084]
总损失函数为其中其中分别代表主损失函数和2个辅助损失函数,β1、β2表示权重,在本案例中β1、β2、分别设置为0.8,0.6。所述损失函数为dice系数函数:
[0085]
初始学习速率设置为1
×
10-4
,训练过程中根据公式逐渐降低学习速率;使用早停机制终止模型训练,忍受范围设置为5个epoch,batch大小设置为6。其中,lr表示学习速率,lr
initial
表示初始学习速率,iterations表示迭代次数,totaliterations表示总的迭代次数。epoch表示将所有训练样本训练的次数,batch表示将整个训练样本分成若干个批样本。
[0086]
5、结果预测示意图
[0087]
采用上述的方法进行动脉瘤的分割,分割结果如图7和表1所示,采用轻量化的能有效的降低网络的参数,分割精度只有略微的降低。在粗分割阶段采用多个轻量级网络进行动脉瘤的定位能有效的提高动脉瘤的定位效果,降低漏分,然后通过精细分割阶段的优化能大幅度提高分割结果。
[0088]
表1动脉瘤分割结果
[0089][0090]
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1