疾病预测方法、疾病预测模型训练方法及装置、存储介质与流程

文档序号:23896064发布日期:2021-02-09 12:20阅读:156来源:国知局
疾病预测方法、疾病预测模型训练方法及装置、存储介质与流程

[0001]
本发明涉及深度学习技术领域,具体地,涉及一种疾病预测方法、疾病预测模型训练方法及装置、存储介质。


背景技术:

[0002]
目前,随着深度学习技术的发展,深度学习模型已经逐步应用到疾病预测中,例如,基于疾病预测深度学习模型对肺部等器官的ct照片进行疾病预测等。现有技术中,通常采用经过标注的ct照片等直接作为训练样本,对建立的深度学习模型进行训练;然而,现有技术中训练得到的疾病预测深度学习模型往往仅能对疾病情况进行分类,难以对具体的病灶位置等内容进行预测,进而导致疾病预测效果较差。


技术实现要素:

[0003]
针对现有技术中的缺陷,本发明的目的是提供一种疾病预测方法、疾病预测模型训练方法及装置、存储介质,用以解决现有技术难以对具体的病灶位置等内容进行预测,疾病预测效果较差的问题。
[0004]
根据本发明提供的疾病预测模型训练方法,包括:
[0005]
建立初始疾病预测模型,所述初始疾病预测模型包括初始病灶分割网络与初始疾病等级预测网络,其中,所述初始病灶分割网络的输出端连接所述初始疾病等级预测网络的输入端;
[0006]
依据第一训练数据以及针对所述第一训练数据进行病灶分割标注得到的第一标注数据,对所述初始病灶分割网络进行训练,获得目标病灶分割模块;
[0007]
依据第二训练数据以及针对所述第二训练数据进行疾病等级标注得到的第二标注数据,对所述初始疾病等级预测网络进行训练,获得目标疾病等级预测模块;
[0008]
依据所述目标病灶分割模块与所述目标疾病等级预测模块,得到疾病预测模型。
[0009]
本发明实施例还提供了一种疾病预测方法,包括:
[0010]
获取待预测数据;
[0011]
将所述待预测数据输入至疾病预测模型中,得到疾病预测结果,所述疾病预测模型为通过上述的疾病预测模型训练方法训练得到的。
[0012]
本发明实施例还提供了一种疾病预测模型训练装置,包括:
[0013]
建立单元,用于建立初始疾病预测模型,所述初始疾病预测模型包括初始病灶分割网络与初始疾病等级预测网络,其中,所述初始病灶分割网络的输出端连接所述初始疾病等级预测网络的输入端;
[0014]
第一训练单元,用于依据第一训练数据以及针对所述第一训练数据进行病灶分割标注得到的第一标注数据,对所述初始病灶分割网络进行训练,获得目标病灶分割模块;
[0015]
第二训练单元,用于依据第二训练数据以及针对所述第二训练数据进行疾病等级标注得到的第二标注数据,对所述初始疾病等级预测网络进行训练,获得目标疾病等级预
测模块;
[0016]
第一获取单元,用于依据所述目标病灶分割模块与所述目标疾病等级预测模块,得到疾病预测模型。
[0017]
本发明实施例还提供了一种疾病预测装置,包括:
[0018]
第二获取单元,用于获取待预测数据;
[0019]
预测单元,用于将所述待预测数据输入至疾病预测模型中,得到疾病预测结果,所述疾病预测模型为基于上述的疾病预测模型训练装置训练得到的。
[0020]
本发明实施例还提供了一种智能终端,包括健康提示装置与上述的疾病预测装置;
[0021]
所述健康提示装置用于获取来自所述疾病预测装置的疾病预测结果,并根据所述疾病预测结果发布健康提示信息。
[0022]
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述的疾病预测模型训练方法的步骤,或者实现上述的疾病预测方法。
[0023]
本发明实施例提供的疾病预测模型训练方法,建立由初始病灶分割网络与初始疾病等级预测网络连接形成的初始疾病预测模型,使用第一训练数据以及针对所述第一训练数据进行病灶分割标注得到的第一标注数据,对初始病灶分割网络进行训练,获得目标病灶分割模块,使用第二训练数据以及针对所述第二训练数据进行疾病等级标注得到的第二标注数据,对初始疾病等级预测网络进行训练,获得目标疾病等级预测模块,并依据目标病灶分割模块与目标疾病等级预测模块,得到疾病预测模型。本发明实施例通过目标病灶分割模块与目标疾病等级预测模块的获取,有助于使得疾病预测模型能够从多病种病灶分割以及各个病种疾病严重性预测两个角度对疾病进行预测,可以有效提高疾病预测的准确性,提升疾病预测效果。
附图说明
[0024]
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0025]
图1为本发明实施例提供的疾病预测模型训练方法的流程图;
[0026]
图2为本发明一个示例中针对疾病预测模型构建的网络框架示意图;
[0027]
图3为本发明一个示例中基于unet的多分支病灶分割网络架构示意图;
[0028]
图4为本发明实施例提供的疾病预测方法的流程图;
[0029]
图5为本发明实施例提供的疾病预测模型训练装置的结构示意图;
[0030]
图6为本发明实施例提供的疾病预测装置的结构示意图;
具体实施方式
[0031]
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
[0032]
在本发明的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
[0033]
如图1所示,本发明实施例提供的疾病预测模型训练方法,包括:
[0034]
步骤101,建立初始疾病预测模型,所述初始疾病预测模型包括初始病灶分割网络与初始疾病等级预测网络,其中,所述初始病灶分割网络的输出端连接所述初始疾病等级预测网络的输入端;
[0035]
步骤102,依据第一训练数据以及针对所述第一训练数据进行病灶分割标注得到的第一标注数据,对所述初始病灶分割网络进行训练,获得目标病灶分割模块;
[0036]
步骤103,依据第二训练数据以及针对所述第二训练数据进行疾病等级标注得到的第二标注数据,对所述初始疾病等级预测网络进行训练,获得目标疾病等级预测模块;
[0037]
步骤104,依据所述目标病灶分割模块与所述目标疾病等级预测模块,得到疾病预测模型。
[0038]
本实施例中,上述初始病灶分割网络与初始疾病等级预测网络均可以是基于深度卷积神经网络搭建的初始网络,初始疾病预测模型可以认为是尚未经过训练的网络模型。
[0039]
本实施例的目的可以简单理解为通过训练数据对初始疾病预测模型进行训练,以得到一疾病预测模型。因此,在训练前,通常需要准备相应的训练样本。本实施例中,训练样本可以分为两部分,一是用于对初始病灶分割网络进行训练的训练样本,二是用于对初始疾病等级预测网络进行训练的训练样本。这两部分训练样本的主要差异可以是在于标注的方式不同,至于用于进行标注的原始数据,也就是上述的第一训练数据与第二训练数据,可以是完全相同、部分相同或者完全不同的,此处不做具体限定。
[0040]
为便于理解,下文实施例中将主要结合一应用场景的示例进行介绍,在该应用场景示例中,上述原始数据可以认为是胸部ct的nifti格式文件,或者称为胸部ct图像。针对第一训练数据进行病灶分割标注得到的第一标注数据,可以认为是根据多种疾病的病灶区域,对胸部ct图像进行病灶分割及标注得到的;相应地,针对所述第二训练数据进行疾病等级标注得到的第二标注数据,可以认为是根据多种疾病的中的一种或多种疾病的患病情况,对ct图像进行标注得到的。
[0041]
值得说明的是,上述疾病的患病情况,可以是指是否患病。例如,针对任一种疾病的分类标签可以是0或1,其中,0可以表示未患病,为1可以表示患病。当然,基于目标疾病等级预测模块还可以得到患病的严重程度,具体可以根据预测得到的患病的概率值进行确定,概率越高,病情越严重。
[0042]
当然,值得强调的是,上述第一训练数据与第二训练数据具体到应用层面,不仅仅可以是胸部ct图像,也可以是脑部或者其他部位的ct图像,也这些影像的具体格式也可以根据实际需要进行选取。
[0043]
在训练样本准备完毕的情况下,可以针对初始病灶分割网络与初始疾病等级预测网络进行训练,从而分别得到目标病灶分割模块与目标疾病等级预测模块。容易理解的是,本发明实施例中,初始病灶分割网络的输出端连接初始疾病等级预测网络的输入端,在这种网络框架下,得到的目标病灶分割模块的输出端也会连接目标疾病等级预测模块的输入
端。
[0044]
对于目标病灶分割模块,其输出可以是预测得到的若干个病灶的分割区域,在实际应用中,病灶的分割区域可以通过掩码的方式进行表示,换而言之,目标病灶分割模块的输出可以是各病灶的预测分割掩码,而目标疾病等级预测模块则可以针对这若干个病灶对应的疾病的严重等级进行预测,得到关于疾病严重程度的输出结果。
[0045]
结合以上描述,本实施例中,可以是在对初始病灶分割网络训练得到获得目标病灶分割模块后,再将第二训练数据与第二标注数据输入到目标病灶分割模块与初始疾病等级预测网络连接形成的模型中,以对初始疾病等级预测网络进行训练;也可以是对初始病灶分割网络与初始疾病等级预测网络进行异步训练等,此处不做具体限定。
[0046]
针对步骤104,在一个示例中,疾病预测模型包括目标病灶分割模块与目标疾病等级预测模块,换而言之,在得到目标病灶分割模块与目标疾病等级预测模块后,实际上可以认为是已经得到了疾病预测模型;而在一个示例中,也可以进一步使用额外的训练样本或者验证样本对目标病灶分割模块与目标疾病等级预测模块连接形成的模型进行进一步的训练与验证。
[0047]
本发明实施例提供的疾病预测模型训练方法,建立由初始病灶分割网络与初始疾病等级预测网络连接形成的初始疾病预测模型,使用第一训练数据以及针对所述第一训练数据进行病灶分割标注得到的第一标注数据,对初始病灶分割网络进行训练,获得目标病灶分割模块,使用第二训练数据以及针对所述第二训练数据进行疾病等级标注得到的第二标注数据,对初始疾病等级预测网络进行训练,获得目标疾病等级预测模块,并依据目标病灶分割模块与目标疾病等级预测模块,得到疾病预测模型。本发明实施例通过目标病灶分割模块与目标疾病等级预测模块的获取,有助于使得疾病预测模型能够从多病种病灶分割以及各个病种疾病严重性预测两个角度对疾病进行预测,可以有效提高疾病预测的准确性,提升疾病预测效果。
[0048]
可选地,所述初始病灶分割网络包括n个输出端,所述初始疾病等级预测网络的数量为n个,其中,所述初始病灶分割网络所包括的n个输出端,与n个所述初始疾病等级预测网络的输入端一一对应连接,n为大于1的整数。
[0049]
本实施例中,在搭建初始疾病预测模型的网络框架时,可以使得初始病灶分割网络具有多个输出端,每一输出端可以用于输出一种疾病的病灶区域或者是一种疾病对应的分割掩码,该分割掩码可以用于对输入的例如ct图像的数据进行分割,以对病灶区域进行提取。容易理解的是,结合肺部ct图像的举例,这些病灶区域可以是指肺叶、左右支气管等等区域。
[0050]
初始病灶分割网络的每一输出端均相应连接有一初始疾病等级预测网络,在实际应用中,一个初始疾病等级预测网络可以主要用于对一个病灶区域的疾病等级进行预测,通过这种方式,使得各初始疾病等级预测网络在训练中可以比较快速地拟合而得到相应的目标疾病等级预测模块,同时也提高了对对应的一个病灶区域的疾病等级的预测准确性。
[0051]
结合图2,在一个示例中,初始病灶分割网络可以是基于unet的多分支病灶分割网络s(x),其中s(x)包括unet主干网络与n个病灶分支网络,n个病灶分支网络分别记为病灶1分支网络、病灶2分支网络
……
病灶n分支网络;unet主干网络的输入可以是ct图像,每一个病灶分支网络可以具有相应的病灶分割输出,这里的输出可以是分割掩码,将分割掩码与
ct图像进行哈达玛积(hadamard product)的计算,可以对各个病灶区域进行提取。各个病灶区域的图像可以输入到相应的初始疾病等级预测网络,记为疾病严重性分级网络d
n
(x),其中,下标n代表疾病种类的编号,换而言之,疾病严重性分级网络的数量为n个,为示区别,针对每一疾病严重性分级网络进行了编号。d
n
(x)的输出则可以是第n种疾病严重性分级。
[0052]
当然,以上仅仅是对初始疾病预测模型的输入输出进行了说明,容易理解的是,对于训练得到的疾病预测模型,其输入输出也与之相似,此次不再赘述。
[0053]
本实施例中采用了一个多分支和多任务的深度网络框架,有助于解决肺部ct图像多病种病灶分割和疾病严重性判断的问题。
[0054]
可选地,所述步骤102,依据第一训练数据以及针对所述第一训练数据进行病灶分割标注得到的第一标注数据,对所述初始病灶分割网络进行训练,获得目标病灶分割模块,包括:
[0055]
获取第一训练数据,以及针对所述第一训练数据进行病灶分割标注得到的第一标注数据;
[0056]
依据所述第一标注数据对所述第一训练数据进行预处理,得到第一预处理数据;
[0057]
将所述第一预处理数据输入至所述初始病灶分割网络,输出n个病灶分割预测掩码;
[0058]
依据所述n个病灶分割预测掩码与所述第一标注数据,求取所述初始病灶分割网络中构建的第一损失函数的损失值;
[0059]
在所述第一损失函数的损失值满足第一损失阈值时,获得目标病灶分割模块。
[0060]
以下结合一个具体应用例对本实施例进行说明,在本应用例中,获得目标病灶分割模块的过程可以包括以下步骤:
[0061]
步骤2.1:统计所有胸部ct的nifti文件的像素间距(spacing),确定spacing的中位数,将所有胸部ct的nifti文件及其对应病灶标注的nifti文件进行空间尺寸调整,调整到spacing的中位数大小,得到调整空间尺寸后的三维数组对集合其中为第i个胸部ct的nifti文件调整空间尺寸后的三维数组,为对应病灶标注的nifti文件调整空间尺寸后的三维数组;
[0062]
换而言之,可以对应上述的第一训练数据,或者是对应了上述第一训练数据的母数据,即第一训练数据可以根据进行处理得到,具体处理方式可参见下文中的步骤2.4;同理,可以对应上述的第一标注数据,或者是对应了上述第一标注数据的母数据。
[0063]
步骤2.2:统计中前景区域(即的区域)的最大值v
max
、最小值v
min
、均值v
mean
和标准差v
std
,按如下公式对进行处理得到
[0064]
[0065][0066]
得到预处理后的三维数组对集合
[0067]
其中,为中坐标为(z,y,x)的像素点的数值,或者理解为中任一像素点的数值,这里的数值可以是ct值,单位为hu;可以认为是对进行取值范围限定处理后得到的一中间数值,相应地,则可以认为是对进行标准化处理得到的数值,全部的组成了经预处理得到的三维数组即对应了上述的第一预处理数据;对于可以认为是为了保持与下标符号统一;
[0068]
步骤2.3:从三维数组对集合中采样每种病种的数据,或者说划分每一病灶的区域,使得采样出的每种病种数据占比相等;
[0069]
本步骤的目的在于使得不同病灶对应的训练数据能够保持平均,解决在模型训练过程中数据不均衡的问题。
[0070]
步骤2.4:从采样出的每种病种数据中分别提取目标大小的图像块,例如长、宽、高为224
×
224
×
28的图像块,对图像块随机进行缩放、旋转和翻转的任意一种和多种变换进行数据增强,用经过变化后的图像块构成mini-batch;
[0071]
mini-batch可以理解为将待训练数据分割成若干份,一次学习一份;同时,“洗牌”是mini-batch的一个附加选项,因为我们是将训练数据分割成若干份的,分割前将图片的顺序打乱就是所谓的“洗牌”了,这样每一次mini-batch学习的图片都不一样为网络中增加了一些随机的因素,有效避免初始病灶分割网络训练过程中出现过拟合现象。
[0072]
步骤2.5:将mini-batch作为训练数据,使用adam优化器,以最小化损失函数为目标,训练上文中提及的s(x),其中x
b
和y
b
为mini-batch中的每一对训练数据,x
b
和y
b
分别为大小为d
×
h
×
w的ct图像块和分割标注图像块,s(x)有n个输出,设为第n种病灶预测分割掩码,则损失函数为:
[0073][0074]
其中,(χ1,


n
,


n
)
t
为独热向量,当y
b
为第n种病灶的分割标注时,χ
n
为1,其余为0;用表示中的任一个病灶预测分割掩码时,相对于y
b
的损失值可表示为:
[0075][0076]
[0077][0078]
可以认为是病灶分割损失函数,由bce损失与dice损失相加得到;在此处,i、j、k分别为在d、h、w三个维度上的序号,换而言之,(i,j,k)可以用于在ct图像块和分割标注图像块中的坐标。
[0079]
当的值小于一个损失阈值时,可以认为完成了对初始病灶分割网络的训练,获得目标病灶分割模块。
[0080]
在一个示例中,s(x)可以使用unet作为主干网络,并在其后连接了n个并行的分支网络分别预测每种病灶的分割掩码;图3示出了基于unet的多分支病灶分割网络架构的一个举例,当然,实际应用中,该网络框架中的各类参数可以根据实际需要进行调整。
[0081]
在一个示例中,在步骤2.5之后,还包括步骤2.6:将s(x)输出的224
×
224
×
28的预测分割图像块拼接回对应的区域,即可得到的每种病灶的分割预测掩码。
[0082]
可选地,所述依据第二训练数据以及针对所述第二训练数据进行疾病等级标注得到的第二标注数据,对所述初始疾病等级预测网络进行训练,获得目标疾病等级预测模块,包括:
[0083]
针对所述第二初始数据进行疾病等级标注得到第二标注数据;
[0084]
将所述第二初始数据输入到所述目标病灶分割模块中,得到病灶分割预测掩码;
[0085]
依据所述第二初始数据与所述病灶分割预测掩码,得到病灶数据;
[0086]
依据所述第二标注数据与所述病灶数据,对所述初始疾病等级预测网络进行训练,获得目标疾病等级预测模块。
[0087]
本实施例中,根据病灶分割预测掩码和第二初始数据得到病灶数据作为初始疾病等级预测网络的输入,将目标病灶分割模块和初始疾病等级预测网络级联在一起,来对初始疾病等级预测网络进行训练,相较于使用第二初始数据直接作为初始疾病等级预测网络的输入的方式,本实施例能够提高得到的目标疾病等级预测模块对疾病等级,或者说疾病严重性的预测准确性。
[0088]
可选地,所述依据所述第二标注数据与所述病灶数据,对所述初始疾病等级预测网络进行训练,获得目标疾病等级预测模块,包括:
[0089]
对所述病灶数据进行预处理得到第二预处理数据;
[0090]
将所述第二预处理数据输入至所述初始疾病等级预测网络,输出预测疾病等级;
[0091]
依据所述预测疾病等级与所述第二标注数据,求取所述初始疾病等级预测网络中构建的第二损失函数的损失值;
[0092]
在所述第二损失函数的损失值满足第二损失阈值时,获得目标疾病等级预测模块。
[0093]
以下同样结合一个具体应用例对本实施例进行说明,在本应用例中,获取目标疾病等级预测模块的过程可以包括以下步骤:
[0094]
步骤3.1:将第n种疾病的病情分类的训练ct的三维数组输入训练好的s(x)
得到对应病灶的分割预测掩码其中,上标i表示第i个训练ct;
[0095]
这里的可以对应上述的第二训练数据,或者是对应了上述第二训练数据的母数据,即第二训练数据可以根据进行处理得到,具体处理方式可参见下文中的步骤3.4;
[0096]
步骤3.2:将病情分类的训练ct和对应的病灶分割预测掩码相乘,得到多病灶病情严重程度分类的训练数据集即其中,

表示求取哈达玛积,表示第i个训练ct患有第n种疾病的真值标签,取值{0,1},1表示该ct患有第n种疾病,0反之;
[0097]
步骤3.3:使用肺窗(-1200hu~300hu)对进行如下处理:
[0098][0099][0100]
式中,h
(i)
(z,y,x)可以代表中任一像素的值,=可以认为是更新,例如,在第一步对h
(i)
(z,y,x)的取值范围进行限定的过程中,当h
(i)
(z,y,x)原来的值为310,则可以将其更新为300;同理,在第二步对h
(i)
(z,y,x)进行归一化处理的过程中,将h
(i)
(z,y,x)的值更新为归一化后的值。
[0101]
当然,上述肺窗的数值选择,或者是根据其他具体部位对数值进行选择。
[0102]
步骤3.4:对随机进行缩放、旋转和翻转的任意一种和多种变换进行数据增强;
[0103]
步骤3.5:以经过数据增强后的为训练数据集,使用adam优化器,以最小化分类损失函数为目标,分别训练n个二分类网络d1(x),

,d
n
(x),其中x为二分类网络的输入(即h
(i)
,h
(i)
代表步骤3.4后得到的中的任一个元素),为二分类网络的预测标签(即预测的是否患病的结果变迁),y
c
为输入x对应的真值标签(即g
(i)
,代表中的任一个元素),
[0104]
在一个示例中,d1(x),

,d
n
(x)均使用resnet-34网络,损失函数为
[0105][0106]
当的值小于一个损失阈值时,可以认为完成了对初始疾病等级预测网络的训练,获得目标疾病等级预测模块。
[0107]
容易理解的是,在实际应用中,d1(x),

,d
n
(x)最终输出的可以是预测标签为1的概率,根据此处的概率可以得到疾病等级,即疾病的严重性。
[0108]
如图4所示,本发明实施例还提供了一种疾病预测方法,包括:
[0109]
步骤401,获取待预测数据;
[0110]
步骤402,将所述待预测数据输入至疾病预测模型中,得到疾病预测结果,所述疾病预测模型为通过上述的疾病预测模型训练方法训练得到的。
[0111]
同样结合上文针对肺部ct图像的应用场景,本实施例中,待预测数据可以是胸部ct的nifti格式文件,将待预测数据输入到疾病预测模型,首先经过目标病灶分割模块进行预测,得到病灶分割预测掩码,病灶分割预测掩码可以是一个或多个;然后根据待预测数据与任一病灶分割预测掩码得到病灶数据,并将该病灶数据输入到与该病灶分割预测掩码所对应的目标疾病等级预测模块,得到一种病灶所对应疾病的疾病预测结果;
[0112]
容易理解的是,当病灶分割预测掩码是多个时,上述疾病预测结果包括了多个病灶对应疾病的疾病预测结果。对于疾病预测模型,输出的疾病预测结果可以包括疾病的病种以及患病的概率值,基于概率值可以对疾病的严重性进行分级,换而言之,本实施例提供的疾病预测方法,通过将待预测数据输入到疾病预测模型中,可以实现对多病种病灶分割和疾病严重性判断的功能,实现对不同病种的严重性预测,提高疾病预测效果。
[0113]
可选地,所述疾病预测结果包括n种预设疾病中每一所述预设疾病的疾病等级;
[0114]
所述将所述待预测数据输入至疾病预测模型中,得到疾病预测结果之后,所述方法还包括:
[0115]
根据每一所述预设疾病的疾病等级,以及每一所述预设疾病在所述待预测数据中对应的区域,生成疾病区域热力图。
[0116]
以下同样结合针对肺部ct图像的疾病预测场景,对上述疾病预测结果的获取以及本实施例中疾病区域热力图生成的过程进行说明,具体包括:
[0117]
步骤4.1:将待预测的ct图像i经过类似上述步骤2.2的处理过程进行预处理,随后输入到s(x)中得到每种病灶的分割掩码m1,

,m
n

[0118]
步骤4.2:对于任意第n种病灶的分割掩码,将i

m
n
经过类似上述步骤3.3的处理过程进行预处理,随后输入到d
n
(x)得到预测的第n种疾病分类为“患病”时的概率p
n

[0119]
步骤4.3:基于类激活可视化方法grad-cam进行热力图生成,具体地,在计算grad-cam时,设d
n
(x)最后一个卷积层的输出特征图为张量f,其大小为c
×
d
×
h
×
w,计算f的梯度则加权向量的计算公式为:
[0120][0121]
则对应的cam图c为:
[0122][0123]
随后对c进行归一化:
[0124]
[0125][0126]
并将归一化后的c缩放到分割掩码m
n
的大小,得到最终的热力图。在热力图中,数值越大表示对应区域可能患病严重。值得说明的是,针对c进行归一化的公式中,=可以认为是赋值的含义;上文中的p,可以认为是任一种疾病分类为“患病”时的概率;可以认为是张量f中任一点处对应的梯度。
[0127]
本发明实施例通过生成病灶分割结果和病变严重程度热力图,能够帮助医生理解疾病严重性分类的依据,解决了深度网络输出结果不易解释的问题。
[0128]
在一些实际应用场景中,疾病区域热力图也可以是通过其他方式生成的,可以根据实际需要进行选择。
[0129]
如图5所示,本发明实施例还提供了一种疾病预测模型训练装置,包括:
[0130]
建立单元501,用于建立初始疾病预测模型,所述初始疾病预测模型包括初始病灶分割网络与初始疾病等级预测网络,其中,所述初始病灶分割网络的输出端连接所述初始疾病等级预测网络的输入端;
[0131]
第一训练单元502,用于依据第一训练数据以及针对所述第一训练数据进行病灶分割标注得到的第一标注数据,对所述初始病灶分割网络进行训练,获得目标病灶分割模块;
[0132]
第二训练单元503,用于依据第二训练数据以及针对所述第二训练数据进行疾病等级标注得到的第二标注数据,对所述初始疾病等级预测网络进行训练,获得目标疾病等级预测模块;
[0133]
第一获取单元504,用于依据所述目标病灶分割模块与所述目标疾病等级预测模块,得到疾病预测模型。
[0134]
可选地,所述初始病灶分割网络包括n个输出端,所述初始疾病等级预测网络的数量为n个,其中,所述初始病灶分割网络所包括的n个输出端,与n个所述初始疾病等级预测网络的输入端一一对应连接,n为大于1的整数。
[0135]
可选地,所述第一训练单元502,包括:
[0136]
第一获取子单元,用于获取第一训练数据,以及针对所述第一训练数据进行病灶分割标注得到的第一标注数据;
[0137]
第二获取子单元,用于依据所述第一标注数据对所述第一训练数据进行预处理,得到第一预处理数据;
[0138]
输出子单元,用于将所述第一预处理数据输入至所述初始病灶分割网络,输出n个病灶分割预测掩码;
[0139]
求取子单元,用于依据所述n个病灶分割预测掩码与所述第一标注数据,求取所述初始病灶分割网络中构建的第一损失函数的损失值;
[0140]
第三获取子单元,用于在所述第一损失函数的损失值满足第一损失阈值时,获得目标病灶分割模块。
[0141]
可选地,所述第二训练单元503,包括:
[0142]
第四获取子单元,用于针对所述第二初始数据进行疾病等级标注得到第二标注数
据;
[0143]
第五获取子单元,用于将所述第二初始数据输入到所述目标病灶分割模块中,得到病灶分割预测掩码;
[0144]
第六获取子单元,用于依据所述第二初始数据与所述病灶分割预测掩码,得到病灶数据;
[0145]
第七获取子单元,用于依据所述第二标注数据与所述病灶数据,对所述初始疾病等级预测网络进行训练,获得目标疾病等级预测模块。
[0146]
可选地,所述第七获取子单元,具体用于:
[0147]
对所述病灶数据进行预处理得到第二预处理数据;
[0148]
将所述第二预处理数据输入至所述初始疾病等级预测网络,输出预测疾病等级;
[0149]
依据所述预测疾病等级与所述第二标注数据,求取所述初始疾病等级预测网络中构建的第二损失函数的损失值;
[0150]
在所述第二损失函数的损失值满足第二损失阈值时,获得目标疾病等级预测模块。
[0151]
需要说明的是,本发明实施例提供的疾病预测模型训练装置是能够执行上述疾病预测模型训练方法的装置,故上述疾病预测模型训练方法的所有实施例均适用于该疾病预测模型训练装置,且均能达到相同或相似的有益效果。
[0152]
如图6所示,本发明实施例还提供了一种疾病预测装置,包括:
[0153]
第二获取单元601,用于获取待预测数据;
[0154]
预测单元602,用于将所述待预测数据输入至疾病预测模型中,得到疾病预测结果,所述疾病预测模型为通过上述的疾病预测模型训练方法训练得到的。
[0155]
可选地,所述疾病预测结果包括n种预设疾病中每一所述预设疾病的疾病等级;
[0156]
相应地,上述疾病预测装置还包括:
[0157]
生成单元,用于根据每一所述预设疾病的疾病等级,以及每一所述预设疾病在所述待预测数据中对应的区域,生成疾病区域热力图。
[0158]
需要说明的是,本发明实施例提供的疾病预测装置是能够执行上述疾病预测方法的装置,故上述疾病预测方法的所有实施例均适用于该疾病预测装置,且均能达到相同或相似的有益效果。
[0159]
本发明实施例还提供了一种智能终端,包括健康提示装置与上述的疾病预测装置;
[0160]
所述健康提示装置用于获取来自所述疾病预测装置的疾病预测结果,并根据所述疾病预测结果发布健康提示信息。
[0161]
本实施例中,智能终端可以是例如移动终端、智能手表、个人电脑等类型的终端,此处不做具体限定。
[0162]
以智能手表为例,若来自疾病预测装置的疾病预测结果表征肺部存在病变,则智能手表可以进一步根据检测到的心率过高的信息,发布语音或者文字等形式的健康提示信息,提醒用户注意休息;再例如,将智能手表根据获取到的气温信息,判断外部气温较低时,可以提示用户出门佩戴口罩;或者,智能手表还可能发布例如“黑木耳有助于食补”等类型的媒体消息。
[0163]
可见,本实施例提供的智能终端中,健康提示装置根据疾病预测装置得到的疾病预测结果,发布健康提示信息,有助于帮忙用户获取对疾病缓解或治疗存在价值的信息,提升了智能终端的实用性。
[0164]
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述的疾病预测模型训练方法的步骤,或者实现上述的疾病预测方法。
[0165]
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1