基于眼底图像的高血压分类方法及设备
技术领域
本发明涉及医疗图像分析领域,具体涉及一种基于眼底图像的高血压分类方法及设备。
背景技术
近年来机器学习技术在医学领域得到了广泛的应用,尤其以深度学习为代表的机器学习技术在医疗影像领域被广泛关注。在眼底图像检测方面,深度学习技术可以较为准确的检测出眼底图像某一特征,如利用大量糖尿病患者的眼底图像样本对深度学习模型进行训练,利用训练后的模型即可对眼底图像进行糖尿病检测。
申请号201810387302.7的中国专利公开了一种基于机器学习的眼底图像检测方法,该方法先对眼底图像的整体区域进行显著度较高的特征检测,由此完成明显的疾病特征识别,再对特定区域进行显著度较低的特征检测,完成进一步的疾病特征识别。该方法将特征种类繁多的眼底图像先进行大分类,对于不存在明显特征的图像中再进行分区的精细检测,分步串联检测,独立输出检测结果,可以实现同时精确的检测明显的特征和微小的特征。该方案适用于同时对多个病种进行识别,比如检测眼底图像是否具有青光眼、黄斑裂孔、糖尿病等多个可能不相关的疾病特征而得到相应的分类,并不适合单一疾病的分类。
发明内容
有鉴于此,本发明提供一种高血压分类模型构建方法,包括:
获取样本数据,包括眼底图像、多种高血压相关信息和高血压类型信息;利用大量所述样本数据对机器学习模型进行训练,使其输出评估结果,所述评估结果至少包括对应于所述高血压类型信息的高血压分类结果,所述机器学习模型包括特征提取网络和至少一个输出网络,其中所述特征提取网络用于从所述眼底图像中提取特征信息,所述至少一个输出网络用于分别根据所述特征信息输出所述评估结果;所述机器学习模型根据输出的所述评估结果与样本数据中的多种高血压相关信息和高血压类型信息调整自身的参数。
可选地,所述机器学习模型只有一个输出网络,用于根据所述特征信息和所述高血压相关信息输出所述高血压分类结果。
可选地,所述输出网络有多个,其中一个输出网络用于输出所述高血压分类结果,其它输出网络用于分别输出与所述多种高血压相关信息相应的识别结果;
所述机器学习模型根据输出的所述评估结果与样本数据中的多种高血压相关信息和高血压类型信息调整自身的参数,包括:
根据所述高血压分类结果与样本数据中的高血压类型信息的差异确定第二损失值;
根据所述识别结果与样本数据中的高血压相关信息的差异确定第三损失值;
根据所述第二损失值和所述第三损失值确定第一损失值;
所述机器学习模型根据所述第一损失值调整自身参数。
可选地,所述其它输出网络包括分类网络和/或回归网络;
所述分类网络输出的识别结果为分类结果,所述分类结果与所述样本数据中相应的高血压相关信息的差异通过交叉熵函数进行表示;
所述回归网络输出的识别结果为数值,所述回归结果与所述样本数据中相应的高血压相关信息的差异通过误差函数进行表示。
可选地,所述机器学习模型至少根据所述第一损失值调整所述特征提取网络的参数。
可选地,所述机器学习模型还根据所述第二损失值调整相应的输出网络的参数,以及分别根据所述第三损失值调整相应的输出网络的参数。
可选地,所述高血压相关信息包括收缩压和/或舒张压。
可选地,所述高血压相关信息还包括年龄、性别、BMI中的部分或者全部。
本发明还提供一种高血压分类方法,其特征在于,包括:获取用户的眼底图像;利用上述构建方法训练的机器学习模型对所述眼底图像进行识别,至少输出高血压分类结果。
可选地,所述机器学习模型还根据所述眼底图像输出多种高血压相关信息。
可选地,所述高血压相关信息包括收缩压和/或舒张压。
可选地,所述高血压相关信息还包括年龄、性别、BMI中的部分或者全部。
相应地,本发明还提供一种高血压分类模型构建设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行上述高血压分类模型构建方法。
相应地,本发明还提供一种高血压分类设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行上述高血压分类方法。
根据本发明提供的高血压分类模型构建方法,通过获取眼底图像、多种高血压相关信息和高血压类型信息组成的样本数据,对由神经网络组成的具有学习能力的模型进行训练,训练过程中将模型输出的评估结果与样本数据的标签进行比对,根据差异优化模型的参数,使模型能够学习高血压相关信息、高血压类型信息与眼底图像所呈现内容的关系,由此构建出的模型可以通过眼底图像得到高血压的分类结果。
根据本发明提供的高血压分类方法,通过获取用户的眼底图像,并利用机器学习模型提取眼底图像的特征,根据该特征即可输出用于表示用户高血压类型的分类结果。本方案不需要采集用户的血样或者其它身体指标,只需要采集眼底图像,实现无创的分类过程,由于模型在训练过程中引入多种高血压相关信息对分类性能进行优化,由此使其输出的分类结果更加准确。用户利用如电脑、智能手机和服务器等电子设备即可在短时间内确定高血压类型,具有很强的便利性和稳定性;并且本方案不需要引入如血样采集设备等专业医疗设备,也不需要医生或专业研究人员参与,由此可以降低高血压分类的成本,为医生提供可靠的参考信息。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中的一种机器学习模型训练示意图;
图2为本发明实施例中的另一种机器学习模型训练示意图;
图3为本发明实施例中的一种机器学习模型执行高血压分类的示意图;
图4为本发明实施例中的另一种机器学习模型执行高血压分类的示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
本发明的一个实施例提供一种高血压分类模型构建方法,本方法涉及机器学习模型,如图1所示该模型包括特征提取网络11和多个输出网络12。本申请所述的网络是指神经网络,尤其是指卷积神经网络。下面所描述的分类网络和回归网络都需要具备卷积层、池化层、激活层组成的特征提取结构。一个或者多个特征提取结构可以构成一个特征提取网络,该网络提取的特征会输入到后续的输出网络中。网络具有初始化的参数,在本实施例中使用样本数据对这些网络进行训练以优化这些参数,从而使网络能够输出高血压分类结果。
首先获取样本数据,其中包括眼底图像、多种高血压相关信息和高血压类型信息。作为举例,高血压相关信息例如是收缩压和/或舒张压。
高血压类型信息至少可以是有高血压或无高血压这两种类型信息,也可以进一步包括高血压的具体种类,例如是基于病因的分类-原发性高血压、继发性高血压等,或者是基于血压值的分类-1级高血压、2级高血压、3级高血压。
样本数据应当取自真实受试者,比如可以通过读取体检数据或者病例数据获得某个人的高血压相关信息,或者可以通过调查问卷的方式采集这些信息。眼底图像是通过眼底照相机所拍的图像,其中具有黄斑、视盘、血管等器官的影像。眼底的视网膜血管是人体中可看见的血管,被视为了解其它脏器血管情况的窗口。因此,眼底血管的特征在一定程度上反映了一些器官的状态,眼底图像与高血压高血压存在非常紧密的联系。
在实际应用时可以对眼底图像进行一些预处理,例如可以剪裁边缘、调整尺寸、增强对比度等等来规范数据内容和提高图像质量。
一条样本数据中的眼底图像、多种高血压相关信息和高血压类型信息应当来自同一个受试者。为了训练机器学习模型,应当获取大量的样本数据,并将其划分为训练数据和测试数据。
然后,利用大量样本数据对机器学习模型进行训练,使其输出评估结果。在本实施例中,模型输出的评估结果包括对应于高血压类型信息的高血压分类结果以及对应于各个高血压相关信息的识别结果,也即将样本数据中的高血压相关信息和高血压类型信息作为标签,模型的输出内容与标签相对应。作为举例,比如一个样本数据包括眼底图像P和高血压相关信息A、高血压相关信息B、高血压类型信息X,则眼底图像P具有A、B、X三个标签,模型对眼底图像P进行识别而输出与A相应的识别结果A’、输出与B相应的识别结果B’,以及输出与X相应的分类结果X’。
如图1所示的特征提取网络11用于从眼底图像中提取特征信息,多个输出网络12用于分别根据特征信息输出与所述高血压相关信息、高血压类型信息相应的评估结果。这些输出网络共用同一个特征提取网络提取的特征,输出与标签相应的结果。例如特征提取网络11对眼底图像P进行提取,得到特征信息featurep,而第一个输出网络根据featurep输出与标签A相应的评估结果A’、第二个输出网络根据featurep输出与标签B相应的评估结果B’、第三个输出网络根据featurep输出与标签X相应的评估结果X’。
机器学习模型根据输出的评估结果与样本数据中的高血压相关信息和高血压类型信息的差异调整自身的参数。根据神经网络的特点,模型需要根据上述差异确定损失值(loss),通过反向传递来优化自身的参数,从而减小上述差异。
根据本发明实施例提供的高血压分类模型构建方法,通过获取眼底图像、多种高血压相关信息和高血压类型信息组成的样本数据,对由神经网络组成的具有学习能力的模型进行训练,训练过程中将模型输出的评估结果与样本数据的标签进行比对,根据差异优化模型的参数,使模型能够学习高血压相关信息、高血压类型信息与眼底图像所呈现内容的关系,由此构建出的模型可以通过眼底图像得到高血压的分类结果。
对于不同种类的评估结果和标签而言,差异的表达方式可以是不同或者相同的。在一个实施例中,评估结果全部属于分类结果,包括二分类或者多分类,也即多个输出网络可以全部为分类网络。分类网络的输出网络(或输出结构)一般包含Softmax或者Sigmoid函数的输出层,输出一般为0-1的置信度或者概率,来描述输入属于某一个或者多个类别的概率或者置信度。比如一个高血压相关信息是“性别”的信息,分别用0和1表示男和女,那么输出网络将根据特征信息执行二分类,其输出0-1的数值来表示分类结果,多分类问题与此类似。
作为优选方案,分类结果与标签的差异可使用交叉熵函数来表示,比如
由此,可以得到各个分类结果与相应的标签的损失值。在其它可能的实施方案中,也可以使用对数似然函数、指数损失函数或者平方损失函数来表示分类结果与标签的差异。在一个实施例中,评估结果全部属于回归预测结果,也即多个输出网络可以全部为回归预测网络,此网络输出的结果为数值。回归网络的输出是对某一具体指标的数值预测值,比如:年龄、性别、收缩压等。该网络的输出网络至少包含全连接层,用于对输入进行加权并输出,并且也可以添加激活层改变对输入的响应值,比如使用Relu为激活函数,将小于0的数值输出0,大于0的数值不变。比如一个高血压相关信息是年龄,即一个标签是年龄值,那么输出网络将根据特征信息执行回归预测,输出一个数值,即预测的年龄。
回归预测结果与标签的差异可使用误差函数进行表示,比如均方误差函数(MeanSquare Error,MSE)、平均绝对误差函数(Mean Absolute Error,MAE)、平均绝对百分误差函数(Mean Absolute Percentage Error,MAPE)等。由此,可以得到各个回归预测结果与相应的标签的损失值。
在一个优选的实施例中,评估结果同时包括分类结果和回归预测结果,多个输出网络中既包括分类网络也包括回归预测网络,这两种结果分别采用上述方式表达其与标签的差异,从而确定各个损失值。根据上述优选方案,针对各种类型的标签和输出分别采用合适类型的网络,结合分类网络和回归网络两方面的优势提高训练结果的准确性。
所使用的样本数据中的多种高血压相关信息至少包括收缩压和/或舒张压,此外还可以包括年龄、性别、BMI(Body Mass Index,身体质量指数)中的部分或者全部。
高血压模型输出的评估结果是与标签相应的各个结果,可以把这些识别目标转换成分类问题或者回归预测问题,比如年龄既可以是回归预测结果,也可以将年龄分段从而转变为分类结果。
根据本实施例中的模型结构可知,每一种评估结果和其对应的标签的差异都可以计算一个损失值,比如年龄的损失值Lage、收缩压的损失值LSBP、舒张压的损失值LDBP、性别的损失值Lgender等等,可以将这些与高血压相关信息对应的损失值称为第三损失值,第三损失值有多个;将高血压分类结果的损失值LDB称为第二损失值。在模型根据这些损失值调整参数时,可根据这些损失值计算一个总的损失值(第一损失值)Ltot,即Ltot=f(Lage,LSBP,LDBP,Lgender,LDB,…),而且这些第三损失值和第二损失值对总的损失值的影响程度可以是不同的,比如可以设定各个损失值的影响权重,通过线性或非线性加权计算总的损失值。最终模型根据计算出的总的损失值调整参数。
进一步地,机器学习模型至少根据第一损失值调整特征提取网络11的参数,从而优化特征提取性能,使其得到特征信息更加准确,从而提高输出网络的准确性。各个输出网络12的参数也可以根据第一损失值进行调整,或者分别根据多个第三损失值和第二损失值调整相应的输出网络的参数。比如对于年龄的输出网络而言,可根据年龄的损失值Lage调整该网络的参数、对于高血压分类结果的输出网络而言,根据高血压分类结果的损失值LDB调整该网络的参数。
上述优选实施方式通过总的损失值优化特征提取网络的参数,通过各种评估结果相应的损失值优化相应输出网络的参数,由此可以提高模型训练的效率和性能。
本发明的另一个实施例中提供一种机器学习模型,如图2所示,该模型包括特征提取网络11和唯一的输出网络12,其用于根据征提取网络11提取的特征信息和收缩压、舒张压等多种高血压相关信息输出高血压分类结果,并根据损失值LDB调整自身的参数。
本实施例的机器学习模型具有唯一的输出网络,将多种高血压相关信息作为辅助信息,使模型结合辅助信息学习高血压分类信息与眼底图像的关系,由此可以提高分类效率和准确性。
本发明的一个实施例提供一种高血压分类方法,本方法涉及机器学习模型,该模型可以使用上述实施例介绍的方法进行训练而得到。参照图3,本实施例的方法包括:获取用户的眼底图像20,利用机器学习模型21对眼底图像20进行识别,输出多种高血压相关信息和高血压分类结果。机器学习模型21包括特征提取网络211和多个输出网络212,其中特征提取网络211用于从眼底图像中提取特征信息,一个输出网络212用于输出高血压分类信息,其它输出网络用于分别根据特征信息输出高血压相关信息。眼底图像20是通过眼底照相机所拍的图像,其中具有黄斑、视盘、血管等器官的影像。所述输出网络包括分类网络和/或回归网络。
高血压相关信息至少可以包括收缩压和/或舒张压,此外还可以包括年龄、性别、BMI(Body Mass Index,身体质量指数)中的部分或者全部。
高血压类型信息至少可以是有高血压或无高血压这两种类型信息,也可以进一步包括高血压的具体种类,例如是基于病因的分类-原发性高血压、继发性高血压等,或者是基于血压值的分类-1级高血压、2级高血压、3级高血压。
根据本发明实施例提供的高血压分类方法,通过获取用户的眼底图像,并利用机器学习模型提取眼底图像的特征,根据该特征即可输出用于表示用户高血压类型的分类结果,同时还可以得到一些与高血压相关的其它信息。本方案不需要采集用户的血样或者其它身体指标,只需要采集眼底图像,实现无创的分类过程,由于模型在训练过程中引入多种高血压相关信息对分类性能进行优化,使其输出的分类结果更加准确。利用如电脑、智能手机和服务器等电子设备即可在短时间内确定受试者的高血压类型,具有很强的便利性和稳定性;并且本方案不需要医生或专业研究人员参与,由此可以降低高血压分类的成本,为医生提供可靠的参考信息。
本发明的一个实施例提供一种高血压分类方法,本方法中涉及机器学习模型,该模型可以使用上述实施例介绍的方法进行训练而得到。本实施例的方法包括:获取用户的眼底图像,参照图4所示,眼底图像20是通过眼底照相机所拍的图像,其中具有黄斑、视盘、血管等器官的影像。
利用机器学习模型对眼底图像进行识别,输出高血压分类结果。本实施例中的机器学习模型包括特征提取网络211和唯一的输出网络212。其中特征提取网络211用于从眼底图像中提取特征信息,输出网络212用于根据特征信息输出高血压分类结果。或者,用户可以提供一种或多种容易采集的高血压相关信息,比如一些无创采集的信息,输出网络212可结合特征信息和多种高血压相关信息输出高血压分类结果。
由于此模型不具备其它输出网络,分类时不呈现其它相关信息,但是在模型训练时根据多种高血压相关信息对性能进行了优化,使其输出的分类结果更加准确,结果简洁且直观,适合快速评估的应用场景。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。