一种基于深度学习实现医学影像多任务辅助诊断的方法与流程

文档序号:18458390发布日期:2019-08-17 01:48阅读:1349来源:国知局
一种基于深度学习实现医学影像多任务辅助诊断的方法与流程

本发明涉及医学影像计算机辅助诊断技术领域,尤其涉及一种基于深度学习实现医学影像多任务辅助诊断的方法。



背景技术:

当前智能诊断系统中绝大多数算法模块都为单一任务模型,虽然能在一定程度上为医生提供辅助信息,但是对于复杂的医疗病情,单任务模块为医生提供的少量信息显然是不够的。而开发多个模块去协同合作为医生提供多方面的辅助信息虽然在一定程度上能给予医生更多有用的信息,然而面对不同模块之间开发往往是相对独立的,这就带来了诸多问题。首先是开发成本过高,多个模块独立开发,其成本就是单模块的数倍;此外,若给到医生的不同任务的辅助诊断系统来自不同的出处,而无法整合到一起。那么医生在使用辅助诊断系统过程中会花费更多的时间,大大削弱辅助诊断是为医生提供便利的这一优势。在现实医疗诊断过程中,医生在观察病人医疗影像时通常需要从多个角度去查看和分析影像中所表现的情况,而这些情况往往又是相互关联发生的。

近两年随着深度学习图像算法的进一步发展,多任务学习成为其研究的重要方向之一。不同任务之间存在某种关联,那么多个任务之间就可以共享一些特征提取的过程,它们可以在学习训练中,共享它们所学到的信息,这是单任务学习所不具备的。相关联的多任务学习比单任务学习能取得更好的泛化效果。本发明正是利用了这一特点,发明了一种基于深度学习实现医学影像多任务辅助诊断的方法。即将深度学习中的多任务学习用在医疗影像辅助诊断中,为医生诊断提供更多、更可靠的信息,方便医生更好的从定位、定量、定性多角度的分析病情。



技术实现要素:

本发明的目的在于,提供一种基于深度学习实现医学影像多任务辅助诊断的方法,旨在解决一般医疗影像辅助诊断系统功能单一,往往只能从一个方面为医生的诊断提供辅助信息的问题。即采用多标签多任务的训练方法,用深度学习算法训练单数据输入多任务输出的模型,实现对医疗影像多任务辅助诊断功能(包括分割、分类、回归等),能够为医生的诊断多方位提供更全面的辅助信息。

为实现上述目的,本发明所提供的技术方案为:一种基于深度学习实现医学影像多任务辅助诊断的方法,其特征在于,主要步骤包括:(1)提取医学影像病灶区域数据,构建对应的多任务辅助诊断的多标签数据集;(2)搭建单模型多任务深度学习网络实现同时多任务模型初步训练;(3)调整学习策略,选择某一单任务进行训练,直至收敛;(4)固定已训练完成的单任务,及主干网络编码中的网络参数,逐个训练其他分支任务。

进一步地,所述(1)中,提取医学影像病灶区域数据,即在已知病灶位置的情况下,在图像上进行数据截取,截取方式为略大于病灶区域的矩形(2d数据)或者立方体(3d数据)数据块,并对数据做归一化处理。

进一步地,所述(1)中,构建对应的多任务辅助诊断的多标签数据集。在收集病灶区域数据块之后,制定不同任务评判及记标签金标准,并对病灶数据块进行记标签处理;所制定的标准和数据记标签的结果,均需得到多位该医学领域多为资深主治医生的认可。另外,对收集好的多标签的数据块进行定量定性统计,按一定比例选取训练集。根据训练集的数据分布情况,做一定的数据处理;若出现样本类别分布不均匀,则对较少样本类别的数据进行一些数据增广处理。

进一步地,所述(2)中,搭建单模型多任务深度学习网络结构。所搭建的网络模型编码部分公用卷积层,再接多个分支网络。其中主干网络尽量采用先进的网络结构,利用在庞大数据集上已经训练过的编码网络参数进行参数初始化。所接的分支网络按多任务需求进行设计,可以是分类分支、分割分支、回归分支重建分支等类型。另外,对于单任务辅助诊断模型,增加图像重建分支作为正则辅助训练,随即可转为多任务模型。

进一步地,所述(2)中,准备训练多任务模型时,不同的任务采用其相对应的损失函数,对所有的损失函数进行加权求和,形成整体损失函数。然后进行多任务网络模型初步训练训练,采用整体损失函数,训练到函数收敛到一定程度后,停止训练。

进一步地,所述(3)中,调整策略,选择某一单任务进行训练。根据实际情况的需求,一般选择损失函数权重最大的任务进行训练;若不同任务之间的权重一致,则建议优先选择分类任务进行训练。加载步骤(2)初步训练得到的多任务模型,固定其他分支的所有参数,调整学习率,训练编码主干网络及所选的网络分支,进行单任务的训练,采用该任务对应的损失函数,直至收敛。若为单任务模型加重建分支转为多任务模型的情况,则选取图像重建分支优先训练。

进一步地,所述(4)中,固定已训练完成的分支网络及主干网络编码中的网络参数,逐个训练其他分支任务。即加载步骤(3)训练得到的模型,逐个分支网络训练。此过程中每次只放开需要训练的一个分支网络参数进行更新,其他参数均固定不更新,调整学习率,采用该任务对应的损失函数,训练至收敛后再进行下一分支训练,直至所有分支训练完成。

本发明与现有技术相比,具有如下优点:(1)本发明得到的实现单输入单模型的多任务辅助诊断,为医生诊断提供更多有效的信息;(2)本发明的算法思路适合任意的医疗影像辅助诊断任务,任何辅助任务均可在分支网络添加;(3)本发明采用单模型多任务学习的策略,采用加权损失函数以及分步训练的方式,使得模型更具有鲁棒性;(4)本发明对单任务辅助诊断情况,可采取增加重建分支网络,同样有较好的提升效果。

附图说明

图1所述为一种基于深度学习实现医学影像多任务辅助诊断的方法的流程图。

图2所述为单模型分类分割任务网络结构的案例图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

如图1所示,一种基于深度学习实现医学影像多任务辅助诊断的方法。其主要步骤包括:提取医学影像病灶区域数据构建对应的多任务辅助诊断的多标签数据集;搭建单模型多任务深度学习网络实现同时多任务模型初步训练;调整学习率,选择某一单任务进行训练,直至收敛;固定已训练完成的单任务,及主干网络编码中的网络参数,逐个训练其他分支任务。本发明能解决医疗图像算法功能单一问题,用单模型单输入同时实现病灶的多任务辅助诊断。本发明适用不同医疗图像数据多任务模型的开发,为方便理解发明中的各项细节,以肺结节良恶性分类及肺结节分割的单模型多任务网络训练为例,进行详细说明。另外,本发明不受下面公开的具体事实的限制。

(1)肺结节分割分类数据集,构建对应的多任务辅助诊断的多标签数据集。

在已有肺结节位置信息,结节良恶性属性以及结节mask的肺部ct医疗影像数据上,以肺结节中心为中心点截取32*32*32(顺序x,y,z;单位:像素)的立方体数据块,同时在对应mask图像上截取相应的同样大小的分割标签立方体数据块,并记录该肺结节属性的良恶性标签。收集完肺结节数据块及相应标签之后,对所有原数据立方体的hu值截取窗口范围为[-1200,600]并归一化到0-1值域范围,并对数据做多次乱序重排处理。按7比1比2的比例把数据集分成训练集,验证集和测试集。

(2)搭建单模型多任务深度学习网络实现同时多任务模型初步训练。

在tensorflow深度学习框架上搭建分类分割任务模型,主干网络采用类vgg结构的堆叠式卷积层,输入为32*32*32。分类任务分支在主干网络后面直接加三个全连接,输出分类结果,对应损失函数采用交叉熵损失函数;分割任务在主干网络后面加多次上采样和卷积等操作,与主干网络形成类vnet结构的分割网络,输出为32*32*32,对应损失函数采用dice损失函数。整体网络的损失函数为交叉熵和dice加权求和的形式。然后采用adam优化器,初始学习率为10-3,开始初步训练多任务模型,所有参数同时更新。直至整体损失函数在验证集上呈现小幅波动下降,停止训练。

(3)调整学习率,分类任务训练,直至收敛。

输入不变,以步骤(2)训练得到的模型参数作为此结算训练模型的初始化参数。损失函数变为交叉熵损失函数。只训练主干网络和分类分支网络的全连接层。同样采用adam优化器,初始学习率变为10-5,训练到网络在验证集上收敛为止。

(4)固定已训练完成的分类网络及主干网络编码中的网络参数,训练分割任务分支模型。

固定主干网络和分类网络的分支,以步骤(3)训练得到的模型参数作为此结算训练模型的初始化参数。损失函数变为dice损失函数。只训练分割任务分支的网络参数,采用adam优化器,学习率设为10-5,训练到网络在验证集上的dice值收敛为止。

以上所述例子细节只是本发明实施案例之一,并非以此限制本发明实施范围,因此,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围,这些改进和变型也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1